diff --git a/.github/lock.yml b/.github/lock.yml deleted file mode 100644 index 282235ca2..000000000 --- a/.github/lock.yml +++ /dev/null @@ -1,34 +0,0 @@ -# Configuration for lock-threads - https://github.com/dessant/lock-threads - -# Number of days of inactivity before a closed issue or pull request is locked -daysUntilLock: 30 - -# Issues and pull requests with these labels will not be locked. Set to `[]` to disable -exemptLabels: [] - -# Label to add before locking, such as `outdated`. Set to `false` to disable -lockLabel: false - -# Comment to post before locking. Set to `false` to disable -lockComment: > - This thread has been automatically locked since there has not been - any recent activity after it was closed. Please open a new issue for - related bugs. - -# Assign `resolved` as the reason for locking. Set to `false` to disable -setLockReason: false - -# Limit to only `issues` or `pulls` -only: issues - -# Optionally, specify configuration settings just for `issues` or `pulls` -# issues: -# exemptLabels: -# - help-wanted -# lockLabel: outdated - -# pulls: -# daysUntilLock: 30 - -# Repository to extend settings from -# _extends: repo \ No newline at end of file diff --git a/nd4j/ADRs/0001-SameDiff_File_Format.md b/ADRs/0001-SameDiff_File_Format.md similarity index 100% rename from nd4j/ADRs/0001-SameDiff_File_Format.md rename to ADRs/0001-SameDiff_File_Format.md diff --git a/ADRs/0002-ONNX_Runtime.md b/ADRs/0002-ONNX_Runtime.md new file mode 100644 index 000000000..bb22d0cec --- /dev/null +++ b/ADRs/0002-ONNX_Runtime.md @@ -0,0 +1,58 @@ +# Onnx runtime module + +## Status +Proposed + +Proposed by: Adam Gibson (23-09-2020) + +Discussed with: saudet + +## Context + +We need a way of providing nd4j a way of running onnx modules +that is easily compatible with the onnx community. The gold standard for this +is is using [onnxruntime](https://github.com/microsoft/onnxruntime/blob/master/docs/Java_API.md). + + +## Decision + +We will use javacpp's onnxruntime bindings in a similar manner to [nd4j-tensorflow](../nd4j-tensorflow) +allowing nd4j to be used as an ndarray format that interops with onnxruntime. + +We will implement a simple api similar to the [GraphRunner](../nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/graphrunner/GraphRunner.java) +This will sit on top of javacpp's lower level onnxruntime bindings. + +This module will follow a similar structure to the nd4j-tensorflow module +focusing on INDArrays as a data interchange format, but otherwise pass execution +down to onnxruntime. + + +The main api to the graph runner works as follows: + +```java +try(GraphRunner runner = new GraphRunner(...)) { + Map inputs = new HashMap<>(); + // ..initialize inputs + Map outputs = runner.run(inputs); +// process outputs... +} +``` + +The core logic will contain the following components: + +1. Loading onnx pb files +2. A graph runner in similar nature to nd4j-tensorflow +3. Interop with onnxruntime's version of an ndarray/tensor + +Using different accelerators/backends +----------------------------------------- + +Similar to nd4j-tensorflow which uses javacpp for the specific version of +tensorflow to use, this module will rely on the user picking the right dependency +to link against. Different builds of cpu, gpu, .. exist [here](https://repo1.maven.org/maven2/org/bytedeco/tensorflow/1.15.3-1.5.4/) +The equivalent of this in onnxruntime can be found [here](https://repo1.maven.org/maven2/org/bytedeco/onnxruntime/1.4.0-1.5.4/) + +The user will need to include the version of onnxruntime they wish to use +similar to how you link against a particular implementation in a c library +or include a backend in nd4j. This will happen via maven. + diff --git a/ADRs/0003-Import_IR.md b/ADRs/0003-Import_IR.md new file mode 100644 index 000000000..eef7a789a --- /dev/null +++ b/ADRs/0003-Import_IR.md @@ -0,0 +1,251 @@ +# Import IR + +## Status + +Proposed + +Proposed by: Adam Gibson (28-09-2020) + +Discussed with: Paul Dubs + +## Context + +Currently, there is a gap in the way samediff/nd4j operations are implemented +vs. how other frameworks represent their models. + +Keras, Tensorflow, and Pytorch use an attribute based format with names. Interop +between Onnx ,Tensorflow, and Keras tends to follow the following formula: + +1. Map names to equivalent names in the other framework for each operation + configuration. Names being both op names and associated attributes of the + operations such as in Conv2D where you have strides, kernel sizes. +2. Map input/output tensors to the equivalent tensor type in each framework. +3. Setup the complete graph in the equivalent framework. Sometimes the + framework's concepts don't map 1 to 1. They should output equivalent results + regardless though. In order to do this, sometimes the framework needs to + add/remove operations in order to produce equivalent output in a different + graph. The [tensorflow onnx import](https://github.com/onnx/tensorflow-onnx#how-tf2onnx-works) + is a good example of this. + +Samediff/nd4j have their internal op representations as a set of ordered +arguments for execution in the form of: + +1. t arguments: floating point arguments (float, double,..) +2. integer arguments: integer arguments (long, integer) +3. boolean argument: boolean arguments +4. data type arguments: data types for input/output +5. input arguments: ndarrays for input +6. output arguments: often optional (dynamically created) output ndarray + arguments. If the user wants to pass in outputs to control memory, they are + allowed to do so. +7. axis arguments: Integer arguments that represent the dimension(s) for an + operation to be executed on. + +[Reference implementation](https://github.com/KonduitAI/deeplearning4j/blob/master/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/DynamicCustomOp.java#L58) + +This maps well enough for execution, but not for file formats. + +## Related Work +This may encourage future work to be done to the +[samediff file format](https://github.com/KonduitAI/deeplearning4j/blob/master/nd4j/ADRs/0001-SameDiff_File_Format.md). +Implementation of serialization of file format via flatbuffers can be found +[here](https://github.com/eclipse/deeplearning4j/blob/master/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiff.java#L4748) +Of note here for prior work is the +[current code generation] +(https://github.com/KonduitAI/dl4j-dev-tools/blob/master/codegen/src/main/ops/org/nd4j/codegen/ops/CNN.kt#L28) + +The definitions for the kotlin dsl can be found +[here](https://github.com/KonduitAI/dl4j-dev-tools/blob/master/codegen/src/main/kotlin/org/nd4j/codegen/dsl/OpBuilder.kt) + + +While it does have the intended description, +it’s kotlin specific and is only available for a very small subset +of the ops where pre-created objects were created +for specific operations. The goal of this ADR is to expand upon +that and make it language agnostic by providing this information in a + neutral file format that has code generation with it. + +Current code generation efforts can be augmented using this file format. +More on this decision making can be found [here](https://github.com/KonduitAI/dl4j-dev-tools/blob/master/codegen/adr/0007-configuration_objects.md) + + + +## Proposal + +We expose a symbol based mapping in libnd4j in protobuf format, similar to how +other frameworks are doing it, as a bridge/intermediary format. + +This makes it easier to implement interop with the other frameworks, because it +adds the necessary information that is needed to be able to define a direct +mapping. + +This could be a future file format depending on how the framework evolves. For +now, this is considered a work around for making writing import code easier/more +portable. + +Similar to [ONNX](https://onnx.ai/) and [Tensorflow](https://tensorflow.org/) +we use protobuf to express an attribute based file format and map +samediff/nd4j operations to this format. + +We use a translation layer that handles mapping from attributes to the ordered +arguments approach reflected in samediff/nd4j. + +For each operation, we define a mapping process to/from this attribute format to the +order based execution format. + +A separate but similar set of rules are used for mapping ndarrays. + +This attribute based format is an Intermediary Representation that we then +"compile" to the equivalent calls in libnd4j. + + +The format definitions for the IR can be found [here](./src/main/proto/nd4j/nd4j.proto) + +## Consequences + +Migration to an attribute based import format makes working with other deep +learning frameworks easier in the future. + + +### Drawbacks + +1. Yet another file format. +2. Risk migrating to new file format in the future. +3. A lot of up front manual work to index set of current operations. +4. Backwards compatibility: yet another thing to maintain. We wrote converters + for any forward compatibility. We address this by specifying an opset schema + scheme similar to onnx. + +### Advantages + +1. Easy to maintain. +2. Backwards compatible. +3. Easily interops with existing other deep learning frameworks. +4. No additional dependencies from what's already normal. +5. Protobuf allows easy code generation for other languages. +6. Industry standard conventions being used over proprietary tooling reducing + friction for adoption for people coming from other frameworks +7. Straightforward mapping of arguments for import +8. Provide an easy bridge to existing libnd4j +9. Allow automation of op descriptors in any language that would understand how + to pass data to the c++ library. + + +## Appendix A: Comparison with other Frameworks, implicit vs. explicit + +We can find the existing attributes from the conventions of the +libnd4j code base. The libnd4j [conv1d.cpp](https://github.com/KonduitAI/deeplearning4j/blob/master/libnd4j/include/ops/declarable/generic/nn/convo/conv1d.cpp#L104) +file contains the following declaration: + +``` +auto inputShapeInfo = inputShape->at(0); +auto weightsShapeInfo = inputShape->at(1); +Nd4jLong const* biasShapeInfo = block.width() > 2 ? inputShape->at(2) : nullptr; + +int kW = INT_ARG(0) > 0 ? INT_ARG(0) : static_cast(shape::sizeAt(weightsShapeInfo, 0)); // filter(kernel) width +int sW = INT_ARG(1); // strides width +int pW = INT_ARG(2); // paddings width +int dW = INT_ARG(3); // dilations width +int paddingMode = INT_ARG(4); // 0-VALID, 1-SAME +int isNCW = block.getIArguments()->size() > 5 ? !INT_ARG(5) : 1; // INT_ARG(4): 1-NWC, 0-NCW +int wFormat = block.getIArguments()->size() > 6 ? INT_ARG(6) : 0; // 0 - [kW, iC, oC], 1 - [oC, iC, kW], 2 - [oC, kW, iC] +``` + +We can see that there are macros in the libnd4j code base, which reflect how +each argument is accessed. Each list of arguments has an expected order, that we +need to explicitly map to a parseable structure. + +In comparison, the +[onnx Convolution operator](https://github.com/onnx/onnx/blob/master/docs/Operators.md#Conv) +has *explicit* attributes of various types such as lists of ints and named +tensors. + +As shown above, these concepts exist internally in the operations and layers +themselves in nd4j/samediff, but they are not exposed directly to the user. + + +A theoretical op descriptor from libnd4j is as follows: +```java + private String name; + private int nIn,nOut,tArgs,iArgs; + private boolean inplaceAble; + private List inArgNames; + private List outArgNames; + private List tArgNames; + private List iArgNames; + private List bArgNames; + private OpDeclarationType opDeclarationType; + + public enum OpDeclarationType { + CUSTOM_OP_IMPL, + BOOLEAN_OP_IMPL, + LIST_OP_IMPL, + LOGIC_OP_IMPL, + OP_IMPL, + DIVERGENT_OP_IMPL, + CONFIGURABLE_OP_IMPL, + REDUCTION_OP_IMPL, + BROADCASTABLE_OP_IMPL, + BROADCASTABLE_BOOL_OP_IMPL + } +``` + +It contains all the op declarations and fields associated with a descriptor. + +In the libnd4j code base, we represent the op descriptor types above +*implicitly* through validation as well as the different macros present in the +code base representing what an op execution looks like. + +Validation for what can be present in the various names can be found +[here](https://github.com/KonduitAI/deeplearning4j/blob/master/libnd4j/include/ops/declarable/impl/DeclarableOp.cpp#L734-L765) + +The set of macro declarations in libnd4j can be found +[here](https://github.com/eclipse/deeplearning4j/blob/master/libnd4j/include/system/op_boilerplate.h) + + +## Appendix B: Format Comparison to other frameworks + +An add op in tensorflow looks like: + +``` +op { + name: "Add" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_UINT8 + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + type: DT_STRING + } + } + } +} +``` + +Onnx’s add can be found here +https://github.com/onnx/onnx/blob/master/docs/Operators.md#Add + +Onnx and tensorflow are purely attribute based formats. diff --git a/ADRs/0003-NdArray_Strides_ArmCompute.md b/ADRs/0003-NdArray_Strides_ArmCompute.md new file mode 100644 index 000000000..02e3b2a34 --- /dev/null +++ b/ADRs/0003-NdArray_Strides_ArmCompute.md @@ -0,0 +1,196 @@ + + +# Libnd4j NdArray padded buffers, strides for Arm_Compute Library wrapper + +## Status +PROPOSED + +Proposed by: Abdelrauf (23/09/2020) + +Discussed with: + +## Context +During the integration process of our library with arm_compute, I faced that our NdArray strides are not flexible. (i.e it cant be set properly without **special and manual handling**). +Let's say our Nd Array shapes are `[3,4,2]` and the last index is moving faster (i.e C order). Then our strides will be `[ 8, 2, 1 ]`. +As far as I know, our last index stride can be different (called as ews), but overall strides should follow the cyclic strict rule of dependency.: + + strides[index-1] = strides[index] * shapes[index]; +On arm_compute besides strides there is also Padding `{top, right, bottom, left}` that can be used to increase strides and change offsets adn as well as total size. its mostly done for performance reasons. As from above we can see that **its just hosting NdArray shape in the buffer of the bigger NdArray shape**. In arm_compute those paddings applied to last 2 dimensions (on NCHW it will be H and W}. We can define it like this: + + newH = pad.top + H + pad.bottom; + newW = pad.left + W + pad.right; + +so strides will be calculated for the shape `{N,C, newH, newW}` and offset of the first element will be: + + offset = pad.left * strideOfNewW + pad.top * strideOfNewH + + +## Proposal +Introduce helper functions checking below case : + + strides[index-1] >= strides[index] * shapes[index]; + +Add **generic method for the padded buffer** ( we can simulate arm_compute 2d padding and more) + + int paddings[rank] = {...}; // total padding + int paddingOffsets[rank] = {...}; //offset indices of the first element + +This could be used to padd ndArray shapes and calculate strides based on it while keeping original shape, paddOffsets could be used to determine the beginning of the first element. Though this interface ismore generic its drawback is that on armcompute its possible to padd 1d into 2D while keeping rank but on this one we should supply 2d with one of its dimensions being 1. + + +## Consequences + + 1. All tests that were not tested **against subArray** could break. So they will require a fix + 2. Writing additional test cases + +### Advantages +- alignment possibility for CPUs where alignment is required for speed and vectorization. +- easier integration with libraries. in the case of arm_compute, the last two dimensions are sometimes padded. + + +### Disadvantages +- its advantage is not so big for modern CPUs where unaligned vector loads possible +- exposing it for users is not desirable: (excessive usage creates unnecessary memory spaces and performance problems) +- could result in unnecessary complications for some function implementations +- possibility of requiring additional tests and fixes + + +### Technical details about the addition of this functionality into NdArray +A little investigation showed that the current NdArray actually has constructors to specify strides. +Here is the constructor that could be used +[ShapeDescriptor.h](https://github.com/KonduitAI/deeplearning4j/blob/qwr_armcompute/libnd4j/include/array/ShapeDescriptor.h) +Here are additions into ShapeDescriptor: +- validate() //it willbe used for validation of strides and et cetera. This way we can create NdArray by just using ShapeDescriptor alone. And it will be more flexible with correctness +- allocLength() //returns minimal buffer size for the given strides and shapes. (this was missing on libnd4j side) +- paddedBufferDescriptor(..) //helper method for returning ShapeDescriptor for padded buffer. + + + +#### [NdArrayFactory](https://github.com/KonduitAI/deeplearning4j/blob/qwr_armcompute/libnd4j/include/array/impl/NDArrayFactory.cpp#L39-L80) +The method that is using ShapeDescriptor validation, and ShapeDescriptor paddedBuffer . + +Furthermore to indicate that shape of the NdArray is using paddedBuffer we will flag with `ARRAY_HAS_PADDED_BUFFER` . so it will be possible to know if NdArray is padded. + +Furthermore, it is still possible to recover Paddings from the allocation size of the padded NdArray. But its not an easy task to get PaddingOffsets from offset and recovered full shape. Thats why it requires storing them. Fortunately, for arm_compute tensors **manual padding** we just need to know **total size and the offset** of the first element. So we dont need to change internals that much + +As our padded Buffer follows the strict ews() rule instead of the loose one. Paddings will be obtained from this rule: + + strides[index-1] == strides[index] * shapes[index]; + +pseudo code for C order: + + for (int j = rank - 1; j >= 0; j--) { + shapesAfterPadding[j] = strides[j - 1] / strides[j] + } + shapesAfterPadding[0] = buffer.AllocSize / strides[0] + //Paddings for index in 0..rank-1 + paddings[index] = shapesAfterPadding[index] - shape[index] + + + + + +### Technical notes on arm_compute library + +The main drive for the above proposal to avoid unnecessary performance and memory allocation. And also we should keep on mind : +- in each newer version of arm_compute there are new implementations in which the padding requirements were removed. + +This **can diminish the necessity for the proposed changes** if such versions of the desired functions are implemented. + +##### Notes on arm_compute tensors +Arm_compute tensors are mostly 3d 4d with max 6d dimensions. +So lets show C order NdArray({2,2,5,5},) + + shapeInfo shapeInfo: [4, 2,2,5,5, 50,25,5,1, 8192,1,99] + +of float type and its arm_compute tensor equivalent : +- first of all, we map NdArray dataTypes into arm_compute [armcomputeUtils.cpp#L35-L75](https://github.com/KonduitAI/deeplearning4j/blob/qwr_armcompute/libnd4j/include/ops/declarable/platform/armcompute/armcomputeUtils.cpp#L35-L75) +- it will be with the reversed shape. **`NdArray{n,z,y,x} -> TensorShape{x,y,z,n}`** +- + + total length in bytes: 400 + shapes: 5,5,2,2,1,1, + strides in bytes: 4,20,100,200,0,0, + strides as elements: (1,5,25,50) + +Paddings in arm_compute Tensors. `Padding{left,right, top, bottom}` +As both OpenCL and NEON use vector loads and stores instructions to access the data in buffers, so in order to avoid having special cases to handle for the borders all the images and tensors used in this library must be padded +There are different ways padding can be calculated: + +- Accurate padding. + in this case it is importan to configure and then after that to allocate +- auto padding. + It guarantees that the allocation will have enough padding to run any of the provided functions +- no padding +- manual padding + +#### how padding affects strides offset and total size +in arm_compute Tensor: +it's 2d {Width Height} can be padded and thats why it affects strides. +Lets show it with the picture: + + \ top / + \ _____________________ / + left | ^ | right + | Width | + | <-Height | + | | + | | + ---------------------- + / bottom \ + / \ + +Here is the stride calculation pseudo code for Tensor {x,y,z} + + stride_x = element_size(); //float will be 4 + stride_y = (padding.left + _tensor_shape[0] + padding.right) * stride_x; + stride_z = (padding.top + _tensor_shape[1] + padding.bottom) * stride_y; + + required_offset_first_element = padding.left * stride_x + padding.top * stride_y; + + +For example: if arm_tensor had `padding: left 0, right 1, top 0, bottom 1` : + + total: 576 + shapes: 5,5,2,2,1,1, + strides in bytes: 4,24,144,288,0,0, + + + +### Notes on the current wrapper implementation + +This is a simple wrapper for arm functions with input and output tensors: +[armcomputeUtils.h#L95-L165](https://github.com/KonduitAI/deeplearning4j/blob/qwr_armcompute/libnd4j/include/ops/declarable/platform/armcompute/armcomputeUtils.h#L85-L133) + +From above we could see : +- we had to flag padded NdArrays so that we can use manual padding version of arm_compute Tensors +- when padding information is changed during configure process we **have to copy** our NdArray buffer into **new allocated** arm_tensor buffer. and the same with the output. +- for cases without padding , arm_tensor could use our buffer if its ews()==1. +- its desired to call configure and run separately to avoid multiple configure calls ( this is not discussed here, for now) + + +## arm_compute wrapper proposal + + +So from above we can conclude that we have two options: + +- creating our NdArray with auto_padding strides and modifying the current wrapper. Still configure will be called foreach run. But with auto padding it is using more memory for small ndarrays +- to be able to use accurate padding properly we should call configure before NdArray memory allocation so that we can import it. For that I should investigate graph, DeclarableOps and NdArrays usage lifecycle. + +Here is auto padding: + + // Some kernels compute 32 elements at the time, worst case scenario they + // will read 32 values after the last element + extra_pad_x = _tensor_shape.num_dimensions() < 1 ? 0 : 32; + pad_x = _tensor_shape.num_dimensions() < 1 ? 0 : 4; + pad_y = _tensor_shape.num_dimensions() < 2 ? 0 : 4; + + PaddingSize(pad_y, pad_x + extra_pad_x, pad_y, pad_x); + +## Discussion + + + + + + diff --git a/ADRs/0004-Mapping_IR.md b/ADRs/0004-Mapping_IR.md new file mode 100644 index 000000000..b62eba532 --- /dev/null +++ b/ADRs/0004-Mapping_IR.md @@ -0,0 +1,275 @@ +# Import IR + +## Status +Proposed + +Proposed by: Adam Gibson (28-09-2020) + +Discussed with: N/A + +## Context + + Generally, every neural network file format defines a sequence of operations + to execute mathematical operations that comprises a neural network. + + Each element in the sequence is a node that contains information such as the + desired operation, and a set of attributes that represent parameters + in to the mathematical function to execute. + +In order to write import/export for different frameworks, we need to adapt +an attribute based format from various popular deep learning frameworks. +Nd4j has a different list based format for operation execution arguments. +In the [previous ADR](./Import_IR.md), we added an IR which makes it easier to +interop with other frameworks. + +In this ADR, this work is extended to add a file format for +describing lists of operations as MappingRules which allow transformations +from one framework to another. + +These transformations manipulate protobuf as input and output Nd4j's +new OpDescriptor format as output. + + +##Related work + +See [the import IR](./0003-Import_IR.md) + +## Decision + +We implement a mapping process framework that defines transforms on an input file format. +A MappingProcess defines a list of MappingRules which represent a sequence of transformations +on each attribute of an op definition. + +To assist in mapping, a mapping context with needed information like rule arguments +for transformation, current node, and whole graph are used as input. + +The input is a protobuf file for a specific framework and the output is an op descriptor +described [here](./0003-Import_IR.md). + +A MappingRule converts 1 or more attributes in to 1 more or arg definitions. A potential definition +can be found in Appendix E. + +Attributes are named values supporting a wide variety of types from floats/doubles +to lists of the same primitive types. See Appendix C for a theoretical definition. + +Arg Definitions are the arguments for an OpDescriptor described in [the import IR ADR.](./0003-Import_IR.md) +See Appendix D for a potential definition of arg definitions. + +All of this together describes how to implement a framework agnostic +interface to convert between a target deep learning framework and the nd4j format. + + +## Implementation details + +In order to implement proper mapping functionality, a common interface is implemented. +Below are the needed common types for mapping: + +1. IRNodeDef: A node definition in a graph +2. IRTensor: A tensor type for mapping +3. IROpList: A list of operations +4. IRAttrDef: An attribute definition +5. IRAttrValue: An attribute value +6. IROpDef: An op definition for the IR +7. IRDataType: A data type +8. IRGraph: A graph abstraction + +Each one of these types is a wrapper around a specific framework's input types +of the equivalent concepts. + +Each of these wrappers knows how to convert the specific concepts +in to the nd4j equivalents for interpretation by a mapper which applies +the mapping rules for a particular framework. + +Doing this will allow us to share logic between mappers and making 1 implementation of +mapping possible by calling associated getter methods for concepts like data types and nodes. + +## Serialization + +In order to persist rules using protobuf, all rules will know how to serialize themselves. +A simple serialize() and load() methods are implemented which covers conversion using +interface methods up to the user to implement which describes how to persist the protobuf +representation. This applies to any of the relevant functionality such as rules and processes. + + + +## Custom types + +Some types will not map 1 to 1 or are directly applicable to nd4j. +In order to combat this, when an unknown type is discovered during mapping, +adapter functions for specific types must be specified. + +Supported types include: + +1. Long/Int +2. Double/Float +3. String +4. Boolean +5. Bytes +6. NDArrays + + +An example: + +A Dim in tensorflow can be mapped to a long in nd4j. + +Shape Information can be a list of longs or multiple lists depending on the +context. + +## Consequences +### Advantages +* Allows a language neutral way of describing a set of transforms necessary +for mapping an set of operations found in a graph from one framework to the nd4j format. + +* Allows a straightforward way of writing an interpreter as well as mappers +for different frameworks in nd4j in a standardized way. + +* Replaces the old import and makes maintenance of imports/mappers more straightforward. + +### Disadvantages + +* More complexity in the code base instead of a more straightforward java implementation. + +* Risks introducing new errors due to a rewrite + + +## Appendix A: Contrasting MappingRules with another implementation + +We map names and types to equivalent concepts in each framework. +Onnx tensorflow does this with an [attribute converter](https://github.com/onnx/onnx-tensorflow/blob/08e41de7b127a53d072a54730e4784fe50f8c7c3/onnx_tf/common/attr_converter.py) + +This is done by a handler (one for each op). +More can be found [here](https://github.com/onnx/onnx-tensorflow/tree/master/onnx_tf/handlers/backend) + + +## Appendix B: Challenges when mapping nd4j ops + +The above formats are vastly different. Onnx and tensorflow +are purely attribute based. Nd4j is index based. +This challenge is addressed by the IR by adding names to each property. + + +In order to actually map these properties, we need to define rules for doing so. +Examples of why these mapping rules are needed below: + +1. Different conventions for the same concept. One example that stands out from conv +is padding. Padding can be represented as a string or have a boolean that says what a string equals. +In nd4j, we represent this as a boolean: isSameMode. We need to do a conversion inline in order +to invoke nd4j correctly. + +2. Another issue is implicit concepts. Commonly, convolution requires you to configure a layout +of NWHC (Batch size, Height, Width, Channels) +or NCHW (Batch size, Channels,Height, Width). Tensorflow allows you to specify it, +nd4j also allows you to specify it. Onnx does not. + + A more in depth conversation on this specific issue relating to the + 2 frameworks can be found [here](https://github.com/onnx/onnx-tensorflow/issues/31) +In order to address these challenges, we introduce a MappingRule allowing +us to define a series of steps to map the input format to the nd4j format +in a language neutral way via a protobuf declaration. + + +## Appendix C: A theoretical attribute definition +```kotlin +enum class AttributeValueType { + FLOAT, + LIST_FLOAT, + BYTE, + LIST_BYTE, + INT, + LIST_INT, + BOOL, + LIST_BOOL, + STRING, + LIST_STRING +} + +interface IRAttribute { + + fun name(): String + + fun floatValue(): Double + + fun listFloatValue(): List + + fun byteValue(): Byte + + fun listByteValue(): List + + fun intValue(): Long + + fun listIntValue(): List + + fun boolValue(): Boolean + + fun listBoolValue(): List + + fun attributeValueType(): AttributeValueType + + fun internalAttributeDef(): ATTRIBUTE_TYPE + + fun internalAttributeValue(): ATTRIBUTE_VALUE_TYPE +} + +``` + +## Appendix D: A theoretical kotlin definition of argument descriptors and op descriptors can be found below: +```kotlin +interface IRArgDef { + fun name(): String + + fun description(): String + + fun dataType(): IRDataType + + fun internalValue(): T + + fun indexOf(): Integer +} + +interface IROpDef { + fun opName(): String + + fun internalValue(): T + + fun inputArgs(): List> + + fun outputArgs(): List> + + fun attributes(): List> + +} +``` + + +##Appendix E: A theoretical kotlin definition of Mapping Rules, MappingProcess and ArgDef can be found below: +```kotlin +interface MappingProcess { + fun opName(): String + + fun frameworkVersion(): String + + fun inputFramework(): String + + fun rules(): List> + + + fun applyProcess(inputNode: IRNode): OpDeclarationDescriptor + + fun applyProcessReverse(input: OpDeclarationDescriptor): IRNode + + fun createDescriptor(argDescriptors: List): OpDeclarationDescriptor +} + +interface MappingRule { + fun name(): String + + /** + * Convert 1 or more attributes in to a list of {@link ArgDescriptor} + */ + fun convert(inputs: List> ): List + + fun convertReverse(input: List): List> + +} + +``` \ No newline at end of file diff --git a/ADRs/0005-Interpreter.md b/ADRs/0005-Interpreter.md new file mode 100644 index 000000000..6e2cc44d1 --- /dev/null +++ b/ADRs/0005-Interpreter.md @@ -0,0 +1,81 @@ +# Interpreter + +## Status +Proposed + +Proposed by: Adam Gibson (28-09-2020) + +Discussed with: N/A + +## Context + + +## Decision + +An interpreter uses the [import IR](./0003-Import_IR.md) and the [mapping rule IR](./0004-Mapping_IR.md) +to execute and map operations from one framework to nd4j's file format and back. + +This also allows execution of different frameworks via conversion in the nd4j engine. + + +A combination of the 2 allows a uniform interface to be used for the interpreter. + +1 or more MappingRules will be used to transform 1 file format to another. + + +## Mapping Rules Execution + +Mapping Rules are named functions that contain the function signature +(input and outputs). These mapping rules are used by the interpreter +to know which functions to execute. + +The interpreter has built in implementations of the defined functions +for the desired transforms. + + +## Import process + +An import process is defined for an overall framework. +It maps input graphs to samediff graphs using +specified mapping processes for op names and frameworks. +An import process is all that is needed to create a graph. +Below are the needed concepts for an import process to implement. + + +## Graph creation + +In order for execution to happen, a graph needs to be built. +This happens in java via the samediff builder. + +The conversion happens as follows: +input node -> convert node to op descriptor via defined mapping rules -> add op descriptor to graph + +The op descriptor is converted to a CustomOp which is then added to the graph via +[addArgsFor](https://github.com/KonduitAI/deeplearning4j/blob/88d3c4867fb87ec760b445c6b9459ecf353cec47/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiff.java#L1078) + +This handles declarative graph creation setting dependencies up. Delegation of the graph structure +creation to the existing Samediff library enables the scope of this interpreter to be focused on +mapping operations. + +## Custom Sub graphs + +One common use case is mapping sub graphs to custom layers. A custom layer can be thought of as a sequence of operations. +In order to map this, a named process can be created. Generally, if you know what ops the sub graph is made of, +you only need to declare a set of rules based on the rules that map individual ops in the existing framework. + +## Consequences +### Advantages +* Uses a common interface across different frameworks making maintenance simple + +* Allows an easy to maintain abstraction for interop with different file formats + +* Allows an easy entry point in to the framework without knowing much about the framework. + +### Disadvantages + +* Need to ensure compatibility across different frameworks + +* Requires extensive testing to ensure proper compatibility + +* May not necessarily support all ops people are expecting. This will be addressed +in a new ADR. diff --git a/Jenkinsfile b/Jenkinsfile index a4a1c53ff..68e8e36aa 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,20 +1,22 @@ -#!groovy +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +#!groovy /* To redefine some job/run parameters, diff --git a/NOTICE.txt b/NOTICE.txt new file mode 100644 index 000000000..ae3fdc115 --- /dev/null +++ b/NOTICE.txt @@ -0,0 +1,20 @@ +Eclipse Deeplearning4j +Copyright 2021 Eclipse Deeplearning4j Contributors + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + +This product includes software developed at +* Skymind Inc (Apache 2.0). Copyright (C) 2015-2018 Skymind Inc . + +This product includes software developed at +* Konduit KK (Apache 2.0). Copyright (C) 2020. + + +This product includes software from the Tensorflow Project (Apache 2.0). +* Copyright (C) 2015-2018 Tensorflow Authors. + +# https://github.com/onnx/onnx + +This product includes software from the Onnx Project project (Apache 2.0). +* Copyright (C) 2020 Onnx Contributors (https://github.com/onnx/onnx) \ No newline at end of file diff --git a/arbiter/arbiter-core/pom.xml b/arbiter/arbiter-core/pom.xml deleted file mode 100644 index 7c65b2efb..000000000 --- a/arbiter/arbiter-core/pom.xml +++ /dev/null @@ -1,105 +0,0 @@ - - - - - arbiter - org.deeplearning4j - 1.0.0-SNAPSHOT - - 4.0.0 - - arbiter-core - jar - - arbiter-core - - - - org.nd4j - nd4j-api - ${nd4j.version} - - - com.google.code.findbugs - * - - - - - - org.apache.commons - commons-lang3 - ${commons.lang.version} - - - - org.apache.commons - commons-math3 - ${commons.math.version} - - - - junit - junit - ${junit.version} - test - - - - org.slf4j - slf4j-api - ${slf4j.version} - - - - ch.qos.logback - logback-classic - ${logback.version} - test - - - - joda-time - joda-time - ${jodatime.version} - - - - - org.nd4j - jackson - ${nd4j.version} - - - - org.deeplearning4j - deeplearning4j-common-tests - ${project.version} - test - - - - - - test-nd4j-native - - - test-nd4j-cuda-11.0 - - - diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/evaluation/ModelEvaluator.java b/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/evaluation/ModelEvaluator.java deleted file mode 100644 index e5dd31d6e..000000000 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/evaluation/ModelEvaluator.java +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.arbiter.optimize.api.evaluation; - -import org.deeplearning4j.arbiter.optimize.api.data.DataProvider; - -import java.io.Serializable; -import java.util.List; - -/** - * ModelEvaluator: Used to conduct additional evaluation. - * For example, this may be classification performance on a test set or similar - */ -public interface ModelEvaluator extends Serializable { - Object evaluateModel(Object model, DataProvider dataProvider); - - /** - * @return The model types supported by this class - */ - List> getSupportedModelTypes(); - - /** - * @return The datatypes supported by this class - */ - List> getSupportedDataTypes(); -} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/saving/ResultReference.java b/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/saving/ResultReference.java deleted file mode 100644 index 5396270f0..000000000 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/saving/ResultReference.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.arbiter.optimize.api.saving; - -import org.deeplearning4j.arbiter.optimize.api.OptimizationResult; -import org.nd4j.shade.jackson.annotation.JsonTypeInfo; - -import java.io.IOException; - -/** - * Idea: We can't store all results in memory in general (might have thousands of candidates with millions of - * parameters each) - * So instead: return a reference to the saved result. Idea is that the result may be saved to disk or a database, - * and we can easily load it back into memory (if/when required) using the getResult() method - */ -@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "@class") -public interface ResultReference { - - OptimizationResult getResult() throws IOException; - - Object getResultModel() throws IOException; - -} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/Chromosome.java b/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/Chromosome.java deleted file mode 100644 index 5d8d00f0f..000000000 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/Chromosome.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.arbiter.optimize.generator.genetic; - -import lombok.Data; - -/** - * Candidates are stored as Chromosome in the population model - * - * @author Alexandre Boulanger - */ -@Data -public class Chromosome { - /** - * The fitness score of the genes. - */ - protected final double fitness; - - /** - * The genes. - */ - protected final double[] genes; - - public Chromosome(double[] genes, double fitness) { - this.genes = genes; - this.fitness = fitness; - } -} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/CrossoverOperator.java b/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/CrossoverOperator.java deleted file mode 100644 index cfae61e09..000000000 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/CrossoverOperator.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.arbiter.optimize.generator.genetic.crossover; - -import org.deeplearning4j.arbiter.optimize.generator.genetic.population.PopulationModel; - -/** - * Abstract class for all crossover operators - * - * @author Alexandre Boulanger - */ -public abstract class CrossoverOperator { - protected PopulationModel populationModel; - - /** - * Will be called by the selection operator once the population model is instantiated. - */ - public void initializeInstance(PopulationModel populationModel) { - this.populationModel = populationModel; - } - - /** - * Performs the crossover - * - * @return The crossover result. See {@link CrossoverResult}. - */ - public abstract CrossoverResult crossover(); - - - -} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/CrossoverResult.java b/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/CrossoverResult.java deleted file mode 100644 index 68b7bdecb..000000000 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/CrossoverResult.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.arbiter.optimize.generator.genetic.crossover; - -import lombok.Data; - -/** - * Returned by a crossover operator - * - * @author Alexandre Boulanger - */ -@Data -public class CrossoverResult { - /** - * If false, there was no crossover and the operator simply returned the genes of a random parent. - * If true, the genes are the result of a crossover. - */ - private final boolean isModified; - - /** - * The genes returned by the operator. - */ - private final double[] genes; - - public CrossoverResult(boolean isModified, double[] genes) { - this.isModified = isModified; - this.genes = genes; - } -} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/parentselection/ParentSelection.java b/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/parentselection/ParentSelection.java deleted file mode 100644 index 4fa9ed17c..000000000 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/parentselection/ParentSelection.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.arbiter.optimize.generator.genetic.crossover.parentselection; - -import org.deeplearning4j.arbiter.optimize.generator.genetic.Chromosome; - -import java.util.List; - -/** - * Abstract class for all parent selection behaviors - * - * @author Alexandre Boulanger - */ -public abstract class ParentSelection { - protected List population; - - /** - * Will be called by the crossover operator once the population model is instantiated. - */ - public void initializeInstance(List population) { - this.population = population; - } - - /** - * Performs the parent selection - * - * @return An array of parents genes. The outer array are the parents, and the inner array are the genes. - */ - public abstract double[][] selectParents(); -} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/parentselection/TwoParentSelection.java b/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/parentselection/TwoParentSelection.java deleted file mode 100644 index b4b4f4843..000000000 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/parentselection/TwoParentSelection.java +++ /dev/null @@ -1,25 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.arbiter.optimize.generator.genetic.crossover.parentselection; - -/** - * Abstract class for all parent selection behaviors that selects two parents. - * - * @author Alexandre Boulanger - */ -public abstract class TwoParentSelection extends ParentSelection { -} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/culling/CullOperator.java b/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/culling/CullOperator.java deleted file mode 100644 index 95452a7eb..000000000 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/culling/CullOperator.java +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.arbiter.optimize.generator.genetic.culling; - -import org.deeplearning4j.arbiter.optimize.generator.genetic.population.PopulationModel; - -/** - * The cull operator will remove from the population the least desirables chromosomes. - * - * @author Alexandre Boulanger - */ -public interface CullOperator { - /** - * Will be called by the population model once created. - */ - void initializeInstance(PopulationModel populationModel); - - /** - * Cull the population to the culled size. - */ - void cullPopulation(); - - /** - * @return The target population size after culling. - */ - int getCulledSize(); -} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/exceptions/GeneticGenerationException.java b/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/exceptions/GeneticGenerationException.java deleted file mode 100644 index b0a9a42b3..000000000 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/exceptions/GeneticGenerationException.java +++ /dev/null @@ -1,23 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.arbiter.optimize.generator.genetic.exceptions; - -public class GeneticGenerationException extends RuntimeException { - public GeneticGenerationException(String message) { - super(message); - } -} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/mutation/MutationOperator.java b/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/mutation/MutationOperator.java deleted file mode 100644 index 56f459a73..000000000 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/mutation/MutationOperator.java +++ /dev/null @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.arbiter.optimize.generator.genetic.mutation; - -/** - * The mutation operator will apply a mutation to the given genes. - * - * @author Alexandre Boulanger - */ -public interface MutationOperator { - - /** - * Performs a mutation. - * - * @param genes The genes to be mutated - * @return True if the genes were mutated, otherwise false. - */ - boolean mutate(double[] genes); -} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/population/EmptyPopulationInitializer.java b/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/population/EmptyPopulationInitializer.java deleted file mode 100644 index 20c147385..000000000 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/population/EmptyPopulationInitializer.java +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.arbiter.optimize.generator.genetic.population; - -import org.deeplearning4j.arbiter.optimize.generator.genetic.Chromosome; - -import java.util.ArrayList; -import java.util.List; - -/** - * A population initializer that build an empty population. - * - * @author Alexandre Boulanger - */ -public class EmptyPopulationInitializer implements PopulationInitializer { - - /** - * Initialize an empty population - * - * @param size The maximum size of the population. - * @return The initialized population. - */ - @Override - public List getInitializedPopulation(int size) { - return new ArrayList<>(size); - } -} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/population/PopulationInitializer.java b/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/population/PopulationInitializer.java deleted file mode 100644 index 40dd4f438..000000000 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/population/PopulationInitializer.java +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.arbiter.optimize.generator.genetic.population; - -import org.deeplearning4j.arbiter.optimize.generator.genetic.Chromosome; - -import java.util.List; - -/** - * An initializer that construct the population used by the population model. - * - * @author Alexandre Boulanger - */ -public interface PopulationInitializer { - /** - * Called by the population model to construct the population - * - * @param size The maximum size of the population - * @return An initialized population - */ - List getInitializedPopulation(int size); -} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/population/PopulationListener.java b/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/population/PopulationListener.java deleted file mode 100644 index aca266b57..000000000 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/population/PopulationListener.java +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.arbiter.optimize.generator.genetic.population; - -import org.deeplearning4j.arbiter.optimize.generator.genetic.Chromosome; - -import java.util.List; - -/** - * A listener that is called when the population changes. - * - * @author Alexandre Boulanger - */ -public interface PopulationListener { - /** - * Called after the population has changed. - * - * @param population The population after it has changed. - */ - void onChanged(List population); -} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/CandidateInfo.java b/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/CandidateInfo.java deleted file mode 100644 index e8c7ccf25..000000000 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/CandidateInfo.java +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.arbiter.optimize.runner; - -import lombok.AllArgsConstructor; -import lombok.Data; - -/** - * Simple helper class to store status of a candidate that is/has been/will be executed - */ -@AllArgsConstructor -@Data -public class CandidateInfo { - - public CandidateInfo() { - //No arg constructor for Jackson - } - - private int index; - private CandidateStatus candidateStatus; - private Double score; - private long createdTime; - private Long startTime; - private Long endTime; - private double[] flatParams; //Same as parameters in Candidate class - private String exceptionStackTrace; -} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/CandidateStatus.java b/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/CandidateStatus.java deleted file mode 100644 index a19f89a52..000000000 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/CandidateStatus.java +++ /dev/null @@ -1,24 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.arbiter.optimize.runner; - -/** - * Status for candidates - */ -public enum CandidateStatus { - Created, Running, Complete, Failed, Cancelled -} diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestCrossoverOperator.java b/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestCrossoverOperator.java deleted file mode 100644 index 9297c3df7..000000000 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestCrossoverOperator.java +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.arbiter.optimize.genetic; - -import org.deeplearning4j.arbiter.optimize.generator.genetic.crossover.CrossoverOperator; -import org.deeplearning4j.arbiter.optimize.generator.genetic.crossover.CrossoverResult; -import org.deeplearning4j.arbiter.optimize.generator.genetic.population.PopulationModel; - -public class TestCrossoverOperator extends CrossoverOperator { - - private final CrossoverResult[] results; - private int resultIdx = 0; - - public PopulationModel getPopulationModel() { - return populationModel; - } - - public TestCrossoverOperator(CrossoverResult[] results) { - this.results = results; - } - - @Override - public CrossoverResult crossover() { - return results[resultIdx++]; - } -} diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestMutationOperator.java b/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestMutationOperator.java deleted file mode 100644 index 4718714d1..000000000 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestMutationOperator.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.arbiter.optimize.genetic; - -import org.deeplearning4j.arbiter.optimize.generator.genetic.mutation.MutationOperator; - -public class TestMutationOperator implements MutationOperator { - - private final boolean[] results; - private int resultIdx = 0; - - public TestMutationOperator(boolean[] results) { - this.results = results; - } - - @Override - public boolean mutate(double[] genes) { - return results[resultIdx++]; - } -} diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestPopulationInitializer.java b/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestPopulationInitializer.java deleted file mode 100644 index 926555f79..000000000 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestPopulationInitializer.java +++ /dev/null @@ -1,30 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.arbiter.optimize.genetic; - -import org.deeplearning4j.arbiter.optimize.generator.genetic.Chromosome; -import org.deeplearning4j.arbiter.optimize.generator.genetic.population.PopulationInitializer; - -import java.util.ArrayList; -import java.util.List; - -public class TestPopulationInitializer implements PopulationInitializer { - @Override - public List getInitializedPopulation(int size) { - return new ArrayList<>(); - } -} diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/ParentSelectionTests.java b/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/ParentSelectionTests.java deleted file mode 100644 index 6976d8dd4..000000000 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/ParentSelectionTests.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.arbiter.optimize.genetic.crossover; - -import org.deeplearning4j.BaseDL4JTest; -import org.deeplearning4j.arbiter.optimize.generator.genetic.Chromosome; -import org.deeplearning4j.arbiter.optimize.genetic.TestParentSelection; -import org.junit.Assert; -import org.junit.Test; - -import java.util.ArrayList; -import java.util.List; - -public class ParentSelectionTests extends BaseDL4JTest { - - @Test - public void ParentSelection_InitializeInstance_ShouldInitPopulation() { - TestParentSelection sut = new TestParentSelection(); - - List population = new ArrayList<>(); - sut.initializeInstance(population); - - Assert.assertSame(population, sut.getPopulation()); - } -} diff --git a/arbiter/arbiter-deeplearning4j/pom.xml b/arbiter/arbiter-deeplearning4j/pom.xml deleted file mode 100644 index 92e3fb7aa..000000000 --- a/arbiter/arbiter-deeplearning4j/pom.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - - arbiter - org.deeplearning4j - 1.0.0-SNAPSHOT - - 4.0.0 - - arbiter-deeplearning4j - - - - - org.deeplearning4j - arbiter-core - ${project.version} - - - - org.deeplearning4j - deeplearning4j-core - ${dl4j.version} - - - - junit - junit - ${junit.version} - test - - - - ch.qos.logback - logback-classic - ${logback.version} - test - - - - org.nd4j - jackson - ${nd4j.version} - - - - com.google.code.gson - gson - ${gson.version} - - - - org.deeplearning4j - deeplearning4j-common-tests - ${project.version} - test - - - - - - test-nd4j-native - - - test-nd4j-cuda-11.0 - - - diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/RegressionValue.java b/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/RegressionValue.java deleted file mode 100644 index 304750dc8..000000000 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/RegressionValue.java +++ /dev/null @@ -1,32 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.arbiter.scoring; - -/** - * Enumeration used to select the type of regression statistics to optimize on, with the various regression score functions - * - MSE: mean squared error
- * - MAE: mean absolute error
- * - RMSE: root mean squared error
- * - RSE: relative squared error
- * - CorrCoeff: correlation coefficient
- * - * @deprecated Use {@link org.deeplearning4j.eval.RegressionEvaluation.Metric} - */ -@Deprecated -public enum RegressionValue { - MSE, MAE, RMSE, RSE, CorrCoeff -} diff --git a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/MnistDataSetIteratorFactory.java b/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/MnistDataSetIteratorFactory.java deleted file mode 100644 index 55c2643a9..000000000 --- a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/MnistDataSetIteratorFactory.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.arbiter.multilayernetwork; - -import lombok.Data; -import org.deeplearning4j.datasets.iterator.impl.MnistDataSetIterator; -import org.nd4j.linalg.dataset.api.iterator.DataSetIterator; -import org.nd4j.linalg.dataset.api.iterator.DataSetIteratorFactory; - -import java.io.IOException; - -/** - * Created by agibsonccc on 3/13/17. - */ -@Data -public class MnistDataSetIteratorFactory implements DataSetIteratorFactory { - /** - * @return - */ - @Override - public DataSetIterator create() { - try { - return new MnistDataSetIterator(1000, 1000); - } catch (IOException e) { - throw new RuntimeException(e); - } - } -} diff --git a/arbiter/arbiter-server/pom.xml b/arbiter/arbiter-server/pom.xml deleted file mode 100644 index 26aa80b07..000000000 --- a/arbiter/arbiter-server/pom.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - arbiter - org.deeplearning4j - 1.0.0-SNAPSHOT - - 4.0.0 - - arbiter-server - jar - - arbiter-server - - - UTF-8 - - - - - com.beust - jcommander - 1.27 - - - org.deeplearning4j - arbiter-deeplearning4j - ${project.version} - - - junit - junit - ${junit.version} - test - - - - org.deeplearning4j - deeplearning4j-common-tests - ${project.version} - test - - - - - - test-nd4j-native - - - test-nd4j-cuda-11.0 - - - diff --git a/arbiter/arbiter-server/src/test/java/org/deeplearning4j/arbiter/server/MnistDataSetIteratorFactory.java b/arbiter/arbiter-server/src/test/java/org/deeplearning4j/arbiter/server/MnistDataSetIteratorFactory.java deleted file mode 100644 index 57bef758d..000000000 --- a/arbiter/arbiter-server/src/test/java/org/deeplearning4j/arbiter/server/MnistDataSetIteratorFactory.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.arbiter.server; - -import lombok.Data; -import org.deeplearning4j.BaseDL4JTest; -import org.deeplearning4j.datasets.iterator.impl.MnistDataSetIterator; -import org.nd4j.linalg.dataset.api.iterator.DataSetIterator; -import org.nd4j.linalg.dataset.api.iterator.DataSetIteratorFactory; - -import java.io.IOException; - -/** - * Created by agibsonccc on 3/13/17. - */ -@Data -public class MnistDataSetIteratorFactory extends BaseDL4JTest implements DataSetIteratorFactory { - /** - * @return - */ - @Override - public DataSetIterator create() { - try { - return new MnistDataSetIterator(1000,1000); - } catch (IOException e) { - throw new RuntimeException(e); - } - } -} diff --git a/arbiter/arbiter-ui/pom.xml b/arbiter/arbiter-ui/pom.xml deleted file mode 100644 index 88f39a310..000000000 --- a/arbiter/arbiter-ui/pom.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - arbiter - org.deeplearning4j - 1.0.0-SNAPSHOT - - - 4.0.0 - - arbiter-ui - arbiter-ui - - - 1.8 - - - - test-nd4j-native - - - test-nd4j-cuda-11.0 - - - - - - org.deeplearning4j - arbiter-core - ${project.version} - - - - org.deeplearning4j - deeplearning4j-ui - ${dl4j.version} - - - - org.deeplearning4j - deeplearning4j-common-tests - ${dl4j.version} - test - - - - ch.qos.logback - logback-classic - test - ${logback.version} - - - - org.deeplearning4j - arbiter-deeplearning4j - ${project.version} - - - - junit - junit - ${junit.version} - test - - - - - - - - maven-compiler-plugin - 3.5.1 - - ${java.compile.version} - ${java.compile.version} - - - - - - diff --git a/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/UpdateStatus.java b/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/UpdateStatus.java deleted file mode 100644 index a92b4f0e7..000000000 --- a/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/UpdateStatus.java +++ /dev/null @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.arbiter.ui; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; - -@AllArgsConstructor -@NoArgsConstructor -@EqualsAndHashCode -@Data -public class UpdateStatus { - - private long statusUpdateTime; - private long settingsUpdateTime; - private long resultsUpdateTime; -} diff --git a/arbiter/arbiter-ui/src/main/resources/META-INF/services/org.deeplearning4j.ui.api.UIModule b/arbiter/arbiter-ui/src/main/resources/META-INF/services/org.deeplearning4j.ui.api.UIModule deleted file mode 100644 index 083fd24c9..000000000 --- a/arbiter/arbiter-ui/src/main/resources/META-INF/services/org.deeplearning4j.ui.api.UIModule +++ /dev/null @@ -1,17 +0,0 @@ -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. -# -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ - -org.deeplearning4j.arbiter.ui.module.ArbiterModule \ No newline at end of file diff --git a/arbiter/pom.xml b/arbiter/pom.xml deleted file mode 100644 index 030650b56..000000000 --- a/arbiter/pom.xml +++ /dev/null @@ -1,353 +0,0 @@ - - - - - - - - org.deeplearning4j - deeplearning4j - 1.0.0-SNAPSHOT - - - 4.0.0 - - org.deeplearning4j - arbiter - pom - - Arbiter - Model Evaluation and Testing - - - - Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - - - - - arbiter-deeplearning4j - arbiter-core - arbiter-server - arbiter-ui - - - - - org.projectlombok - lombok - ${lombok.version} - provided - - - - - - - org.apache.maven.wagon - wagon-http - 2.9 - - - - - - maven-source-plugin - ${maven-source-plugin.version} - - - net.revelc.code.formatter - formatter-maven-plugin - 2.12.1 - - ${session.executionRootDirectory}/contrib/formatter.xml - - arbiter-deeplearning4j - arbiter-core - - - - - - pl.project13.maven - git-commit-id-plugin - ${maven-git-commit-plugin.version} - - - - revision - - generate-resources - - - - true - - ${project.basedir}/target/generated-sources/src/main/resources/ai/skymind/${project.groupId}-${project.artifactId}-git.properties - - - true - - - - - - org.codehaus.mojo - build-helper-maven-plugin - ${maven-build-helper-plugin.version} - - - add-resource - generate-resources - - add-resource - - - - - - ${project.basedir}/target/generated-sources/src/main/resources - - - - - - - - - - - - - org.apache.maven.plugins - maven-enforcer-plugin - ${maven-enforcer-plugin.version} - - - test - enforce-test-resources - - enforce - - - ${skipTestResourceEnforcement} - - - test-nd4j-native,test-nd4j-cuda-11.0 - false - - - true - - - - - - - maven-javadoc-plugin - ${maven-javadoc-plugin.version} - - -Xdoclint:none - - - - attach-javadocs - - jar - - - - - - maven-source-plugin - ${maven-source-plugin.version} - - - attach-sources - - jar - - - - - - maven-surefire-plugin - ${maven-surefire-plugin.version} - - -Ddtype=double -Dfile.encoding=UTF-8 -Xmx3024m -Xms3024m - - true - false - - - - maven-release-plugin - 2.5.3 - - forked-path - - -Psonatype-oss-release -DskipTests ${arguments} - true - false - - - - maven-gpg-plugin - 1.6 - - ${gpg.passphrase} - - - - sign-artifacts - verify - - sign - - - - - - maven-compiler-plugin - ${maven-compiler-plugin.version} - - 1.7 - 1.7 - - - - net.alchim31.maven - scala-maven-plugin - ${maven-scala-plugin.version} - - - -deprecation - -explaintypes - -nobootcp - - - - - scala-compile-first - process-resources - - add-source - compile - - - - scala-test-compile - process-test-resources - - add-source - testCompile - - - - - - org.eclipse.m2e - lifecycle-mapping - 1.0.0 - - - - - - com.lewisd - lint-maven-plugin - [0.0.11,) - - check - - - - - - - - - - - - - - - - - - maven-surefire-report-plugin - ${maven-surefire-plugin.version} - - - - org.codehaus.mojo - cobertura-maven-plugin - 2.7 - - - - - - - test-nd4j-native - - - org.nd4j - nd4j-native - ${nd4j.version} - test - - - org.deeplearning4j - dl4j-test-resources - ${nd4j.version} - test - - - - - - test-nd4j-cuda-11.0 - - - org.nd4j - nd4j-cuda-11.0 - ${nd4j.version} - test - - - org.deeplearning4j - dl4j-test-resources - ${nd4j.version} - test - - - - - diff --git a/change-cuda-versions.sh b/change-cuda-versions.sh index e57ace496..ac645570a 100755 --- a/change-cuda-versions.sh +++ b/change-cuda-versions.sh @@ -1,26 +1,28 @@ #!/usr/bin/env bash -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ # This shell script is adapted from Apache Flink (in turn, adapted from Apache Spark) some modifications. set -e -VALID_VERSIONS=( 9.2 10.0 10.1 10.2 11.0 ) +VALID_VERSIONS=( 9.2 10.0 10.1 10.2 11.0 11.1 ) usage() { echo "Usage: $(basename $0) [-h|--help] @@ -47,6 +49,10 @@ check_cuda_version() { check_cuda_version "$VERSION" case $VERSION in + 11.1) + VERSION2="8.0" + VERSION3="1.5.5-SNAPSHOT" + ;; 11.0) VERSION2="8.0" VERSION3="1.5.4" diff --git a/change-scala-versions.sh b/change-scala-versions.sh index aace1b05e..0738f25bc 100755 --- a/change-scala-versions.sh +++ b/change-scala-versions.sh @@ -1,20 +1,22 @@ #!/usr/bin/env bash -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ # This shell script is adapted from Apache Flink (in turn, adapted from Apache Spark) some modifications. diff --git a/contrib/README.md b/contrib/README.md new file mode 100644 index 000000000..fb00d24f9 --- /dev/null +++ b/contrib/README.md @@ -0,0 +1,9 @@ +Contrib folder +--------------------------- + +This folder contains supplementary and retired code for the Eclipse Deeplearning4j project. + +1. Attic: These are modules that are no longer maintained, but kept in this repository for posterity. + +2. Codegen tools: Supplementary code for generating op definitions, and unit testing utilities for deeplearning4j +proper. \ No newline at end of file diff --git a/arbiter/README.md b/contrib/attic/arbiter/README.md similarity index 100% rename from arbiter/README.md rename to contrib/attic/arbiter/README.md diff --git a/contrib/attic/arbiter/arbiter-core/pom.xml b/contrib/attic/arbiter/arbiter-core/pom.xml new file mode 100644 index 000000000..fe48d70f7 --- /dev/null +++ b/contrib/attic/arbiter/arbiter-core/pom.xml @@ -0,0 +1,87 @@ + + + + + + 4.0.0 + + + org.deeplearning4j + arbiter + 1.0.0-SNAPSHOT + + + arbiter-core + + arbiter-core + + + + org.nd4j + nd4j-api + + + com.google.code.findbugs + * + + + + + org.apache.commons + commons-lang3 + + + org.apache.commons + commons-math3 + + + org.slf4j + slf4j-api + + + joda-time + joda-time + + + + org.nd4j + jackson + + + org.nd4j + guava + + + commons-codec + commons-codec + ${commons-codec.version} + + + + + + test-nd4j-native + + + test-nd4j-cuda-11.0 + + + diff --git a/arbiter/arbiter-core/src/assembly/bin.xml b/contrib/attic/arbiter/arbiter-core/src/assembly/bin.xml similarity index 66% rename from arbiter/arbiter-core/src/assembly/bin.xml rename to contrib/attic/arbiter/arbiter-core/src/assembly/bin.xml index c99d6b144..4b8d9dd29 100644 --- a/arbiter/arbiter-core/src/assembly/bin.xml +++ b/contrib/attic/arbiter/arbiter-core/src/assembly/bin.xml @@ -1,18 +1,20 @@ - + bin diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/AbstractParameterSpace.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/AbstractParameterSpace.java similarity index 67% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/AbstractParameterSpace.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/AbstractParameterSpace.java index babc88238..6591349f7 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/AbstractParameterSpace.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/AbstractParameterSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.api; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/Candidate.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/Candidate.java similarity index 60% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/Candidate.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/Candidate.java index 4f00d92e7..7aa986768 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/Candidate.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/Candidate.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.api; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/CandidateGenerator.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/CandidateGenerator.java similarity index 65% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/CandidateGenerator.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/CandidateGenerator.java index 6a88b4e10..91dda0521 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/CandidateGenerator.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/CandidateGenerator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.api; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/OptimizationResult.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/OptimizationResult.java similarity index 65% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/OptimizationResult.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/OptimizationResult.java index 5cdcf68f0..9e0316bdf 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/OptimizationResult.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/OptimizationResult.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.api; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/ParameterSpace.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/ParameterSpace.java similarity index 74% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/ParameterSpace.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/ParameterSpace.java index 1d96a7700..ca3731cf4 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/ParameterSpace.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/ParameterSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.api; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/TaskCreator.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/TaskCreator.java similarity index 74% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/TaskCreator.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/TaskCreator.java index c6e58905d..6be295349 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/TaskCreator.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/TaskCreator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.api; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/TaskCreatorProvider.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/TaskCreatorProvider.java similarity index 55% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/TaskCreatorProvider.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/TaskCreatorProvider.java index ea0a4f283..b9b0c0cde 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/TaskCreatorProvider.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/TaskCreatorProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.api; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/adapter/ParameterSpaceAdapter.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/adapter/ParameterSpaceAdapter.java similarity index 67% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/adapter/ParameterSpaceAdapter.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/adapter/ParameterSpaceAdapter.java index 56bd51d69..5fb513f13 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/adapter/ParameterSpaceAdapter.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/adapter/ParameterSpaceAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.api.adapter; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/data/DataProvider.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/data/DataProvider.java similarity index 60% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/data/DataProvider.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/data/DataProvider.java index d38ea6176..60f4e7ed8 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/data/DataProvider.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/data/DataProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.api.data; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/data/DataSetIteratorFactoryProvider.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/data/DataSetIteratorFactoryProvider.java similarity index 76% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/data/DataSetIteratorFactoryProvider.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/data/DataSetIteratorFactoryProvider.java index 3766338a9..63f0de495 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/data/DataSetIteratorFactoryProvider.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/data/DataSetIteratorFactoryProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.api.data; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/data/DataSource.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/data/DataSource.java similarity index 63% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/data/DataSource.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/data/DataSource.java index 0afe7bb70..dc2b6effc 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/data/DataSource.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/data/DataSource.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.api.data; diff --git a/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/evaluation/ModelEvaluator.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/evaluation/ModelEvaluator.java new file mode 100644 index 000000000..108b2fb9f --- /dev/null +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/evaluation/ModelEvaluator.java @@ -0,0 +1,42 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.arbiter.optimize.api.evaluation; + +import org.deeplearning4j.arbiter.optimize.api.data.DataProvider; + +import java.io.Serializable; +import java.util.List; + +/** + * ModelEvaluator: Used to conduct additional evaluation. + * For example, this may be classification performance on a test set or similar + */ +public interface ModelEvaluator extends Serializable { + Object evaluateModel(Object model, DataProvider dataProvider); + + /** + * @return The model types supported by this class + */ + List> getSupportedModelTypes(); + + /** + * @return The datatypes supported by this class + */ + List> getSupportedDataTypes(); +} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/saving/InMemoryResultSaver.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/saving/InMemoryResultSaver.java similarity index 62% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/saving/InMemoryResultSaver.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/saving/InMemoryResultSaver.java index 43b914cb3..8f75d1196 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/saving/InMemoryResultSaver.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/saving/InMemoryResultSaver.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.api.saving; diff --git a/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/saving/ResultReference.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/saving/ResultReference.java new file mode 100644 index 000000000..d05c34baf --- /dev/null +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/saving/ResultReference.java @@ -0,0 +1,39 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.arbiter.optimize.api.saving; + +import org.deeplearning4j.arbiter.optimize.api.OptimizationResult; +import org.nd4j.shade.jackson.annotation.JsonTypeInfo; + +import java.io.IOException; + +/** + * Idea: We can't store all results in memory in general (might have thousands of candidates with millions of + * parameters each) + * So instead: return a reference to the saved result. Idea is that the result may be saved to disk or a database, + * and we can easily load it back into memory (if/when required) using the getResult() method + */ +@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "@class") +public interface ResultReference { + + OptimizationResult getResult() throws IOException; + + Object getResultModel() throws IOException; + +} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/saving/ResultSaver.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/saving/ResultSaver.java similarity index 62% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/saving/ResultSaver.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/saving/ResultSaver.java index 07ed1e687..66a430baf 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/saving/ResultSaver.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/saving/ResultSaver.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.api.saving; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/score/ScoreFunction.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/score/ScoreFunction.java similarity index 70% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/score/ScoreFunction.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/score/ScoreFunction.java index d3b0b4aaf..62b6f74fe 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/score/ScoreFunction.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/score/ScoreFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.api.score; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/termination/MaxCandidatesCondition.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/termination/MaxCandidatesCondition.java similarity index 56% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/termination/MaxCandidatesCondition.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/termination/MaxCandidatesCondition.java index 3bb903772..7c49e9ff3 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/termination/MaxCandidatesCondition.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/termination/MaxCandidatesCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.api.termination; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/termination/MaxTimeCondition.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/termination/MaxTimeCondition.java similarity index 72% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/termination/MaxTimeCondition.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/termination/MaxTimeCondition.java index 59beff898..05846ffc4 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/termination/MaxTimeCondition.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/termination/MaxTimeCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.api.termination; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/termination/TerminationCondition.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/termination/TerminationCondition.java similarity index 55% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/termination/TerminationCondition.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/termination/TerminationCondition.java index 40dafa6f2..fb3aa7487 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/termination/TerminationCondition.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/api/termination/TerminationCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.api.termination; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/config/OptimizationConfiguration.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/config/OptimizationConfiguration.java similarity index 89% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/config/OptimizationConfiguration.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/config/OptimizationConfiguration.java index 786a45fbc..db70ad318 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/config/OptimizationConfiguration.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/config/OptimizationConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.config; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/distribution/DegenerateIntegerDistribution.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/distribution/DegenerateIntegerDistribution.java similarity index 69% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/distribution/DegenerateIntegerDistribution.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/distribution/DegenerateIntegerDistribution.java index a1e3f359b..6a5551e35 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/distribution/DegenerateIntegerDistribution.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/distribution/DegenerateIntegerDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.distribution; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/distribution/DistributionUtils.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/distribution/DistributionUtils.java similarity index 90% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/distribution/DistributionUtils.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/distribution/DistributionUtils.java index 24dafc726..3edef5674 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/distribution/DistributionUtils.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/distribution/DistributionUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.distribution; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/distribution/LogUniformDistribution.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/distribution/LogUniformDistribution.java similarity index 81% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/distribution/LogUniformDistribution.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/distribution/LogUniformDistribution.java index a9c0933c4..018048a48 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/distribution/LogUniformDistribution.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/distribution/LogUniformDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.distribution; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/BaseCandidateGenerator.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/BaseCandidateGenerator.java similarity index 76% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/BaseCandidateGenerator.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/BaseCandidateGenerator.java index d6ef15ddd..f6f9acda2 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/BaseCandidateGenerator.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/BaseCandidateGenerator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.generator; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/GeneticSearchCandidateGenerator.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/GeneticSearchCandidateGenerator.java similarity index 88% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/GeneticSearchCandidateGenerator.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/GeneticSearchCandidateGenerator.java index 564c194ba..105a8cafb 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/GeneticSearchCandidateGenerator.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/GeneticSearchCandidateGenerator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.generator; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/GridSearchCandidateGenerator.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/GridSearchCandidateGenerator.java similarity index 91% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/GridSearchCandidateGenerator.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/GridSearchCandidateGenerator.java index c61b62d8b..adf04e389 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/GridSearchCandidateGenerator.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/GridSearchCandidateGenerator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.generator; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/RandomSearchGenerator.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/RandomSearchGenerator.java similarity index 76% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/RandomSearchGenerator.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/RandomSearchGenerator.java index ecbccbf17..a6774e69e 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/RandomSearchGenerator.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/RandomSearchGenerator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.generator; diff --git a/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/Chromosome.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/Chromosome.java new file mode 100644 index 000000000..d41bc9b2c --- /dev/null +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/Chromosome.java @@ -0,0 +1,44 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.arbiter.optimize.generator.genetic; + +import lombok.Data; + +/** + * Candidates are stored as Chromosome in the population model + * + * @author Alexandre Boulanger + */ +@Data +public class Chromosome { + /** + * The fitness score of the genes. + */ + protected final double fitness; + + /** + * The genes. + */ + protected final double[] genes; + + public Chromosome(double[] genes, double fitness) { + this.genes = genes; + this.fitness = fitness; + } +} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/ChromosomeFactory.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/ChromosomeFactory.java similarity index 52% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/ChromosomeFactory.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/ChromosomeFactory.java index ede86406a..b9b170b61 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/ChromosomeFactory.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/ChromosomeFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.generator.genetic; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/ArithmeticCrossover.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/ArithmeticCrossover.java similarity index 82% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/ArithmeticCrossover.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/ArithmeticCrossover.java index 978e7166b..509f69465 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/ArithmeticCrossover.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/ArithmeticCrossover.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.generator.genetic.crossover; diff --git a/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/CrossoverOperator.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/CrossoverOperator.java new file mode 100644 index 000000000..9b9e89ba5 --- /dev/null +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/CrossoverOperator.java @@ -0,0 +1,47 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.arbiter.optimize.generator.genetic.crossover; + +import org.deeplearning4j.arbiter.optimize.generator.genetic.population.PopulationModel; + +/** + * Abstract class for all crossover operators + * + * @author Alexandre Boulanger + */ +public abstract class CrossoverOperator { + protected PopulationModel populationModel; + + /** + * Will be called by the selection operator once the population model is instantiated. + */ + public void initializeInstance(PopulationModel populationModel) { + this.populationModel = populationModel; + } + + /** + * Performs the crossover + * + * @return The crossover result. See {@link CrossoverResult}. + */ + public abstract CrossoverResult crossover(); + + + +} diff --git a/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/CrossoverResult.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/CrossoverResult.java new file mode 100644 index 000000000..335841ae2 --- /dev/null +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/CrossoverResult.java @@ -0,0 +1,45 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.arbiter.optimize.generator.genetic.crossover; + +import lombok.Data; + +/** + * Returned by a crossover operator + * + * @author Alexandre Boulanger + */ +@Data +public class CrossoverResult { + /** + * If false, there was no crossover and the operator simply returned the genes of a random parent. + * If true, the genes are the result of a crossover. + */ + private final boolean isModified; + + /** + * The genes returned by the operator. + */ + private final double[] genes; + + public CrossoverResult(boolean isModified, double[] genes) { + this.isModified = isModified; + this.genes = genes; + } +} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/KPointCrossover.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/KPointCrossover.java similarity index 87% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/KPointCrossover.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/KPointCrossover.java index 8a7bb3a2a..4c6ed28fe 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/KPointCrossover.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/KPointCrossover.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.generator.genetic.crossover; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/SinglePointCrossover.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/SinglePointCrossover.java similarity index 82% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/SinglePointCrossover.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/SinglePointCrossover.java index cbeca1232..65f63deb2 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/SinglePointCrossover.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/SinglePointCrossover.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.generator.genetic.crossover; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/TwoParentsCrossoverOperator.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/TwoParentsCrossoverOperator.java similarity index 56% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/TwoParentsCrossoverOperator.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/TwoParentsCrossoverOperator.java index 69f1fb105..070bb06ad 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/TwoParentsCrossoverOperator.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/TwoParentsCrossoverOperator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.generator.genetic.crossover; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/UniformCrossover.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/UniformCrossover.java similarity index 84% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/UniformCrossover.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/UniformCrossover.java index 8912a1298..3831310b9 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/UniformCrossover.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/UniformCrossover.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.generator.genetic.crossover; diff --git a/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/parentselection/ParentSelection.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/parentselection/ParentSelection.java new file mode 100644 index 000000000..179de0184 --- /dev/null +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/parentselection/ParentSelection.java @@ -0,0 +1,46 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.arbiter.optimize.generator.genetic.crossover.parentselection; + +import org.deeplearning4j.arbiter.optimize.generator.genetic.Chromosome; + +import java.util.List; + +/** + * Abstract class for all parent selection behaviors + * + * @author Alexandre Boulanger + */ +public abstract class ParentSelection { + protected List population; + + /** + * Will be called by the crossover operator once the population model is instantiated. + */ + public void initializeInstance(List population) { + this.population = population; + } + + /** + * Performs the parent selection + * + * @return An array of parents genes. The outer array are the parents, and the inner array are the genes. + */ + public abstract double[][] selectParents(); +} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/parentselection/RandomTwoParentSelection.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/parentselection/RandomTwoParentSelection.java similarity index 63% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/parentselection/RandomTwoParentSelection.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/parentselection/RandomTwoParentSelection.java index 81baeb07c..465d2de4e 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/parentselection/RandomTwoParentSelection.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/parentselection/RandomTwoParentSelection.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.generator.genetic.crossover.parentselection; diff --git a/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/parentselection/TwoParentSelection.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/parentselection/TwoParentSelection.java new file mode 100644 index 000000000..0f274ec48 --- /dev/null +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/parentselection/TwoParentSelection.java @@ -0,0 +1,27 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.arbiter.optimize.generator.genetic.crossover.parentselection; + +/** + * Abstract class for all parent selection behaviors that selects two parents. + * + * @author Alexandre Boulanger + */ +public abstract class TwoParentSelection extends ParentSelection { +} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/utils/CrossoverPointsGenerator.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/utils/CrossoverPointsGenerator.java similarity index 70% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/utils/CrossoverPointsGenerator.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/utils/CrossoverPointsGenerator.java index 7e6e799e7..885d9281b 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/utils/CrossoverPointsGenerator.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/crossover/utils/CrossoverPointsGenerator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.generator.genetic.crossover.utils; diff --git a/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/culling/CullOperator.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/culling/CullOperator.java new file mode 100644 index 000000000..e18dd077b --- /dev/null +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/culling/CullOperator.java @@ -0,0 +1,43 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.arbiter.optimize.generator.genetic.culling; + +import org.deeplearning4j.arbiter.optimize.generator.genetic.population.PopulationModel; + +/** + * The cull operator will remove from the population the least desirables chromosomes. + * + * @author Alexandre Boulanger + */ +public interface CullOperator { + /** + * Will be called by the population model once created. + */ + void initializeInstance(PopulationModel populationModel); + + /** + * Cull the population to the culled size. + */ + void cullPopulation(); + + /** + * @return The target population size after culling. + */ + int getCulledSize(); +} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/culling/LeastFitCullOperator.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/culling/LeastFitCullOperator.java similarity index 55% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/culling/LeastFitCullOperator.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/culling/LeastFitCullOperator.java index 6ec5c64df..b8474eb18 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/culling/LeastFitCullOperator.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/culling/LeastFitCullOperator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.generator.genetic.culling; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/culling/RatioCullOperator.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/culling/RatioCullOperator.java similarity index 68% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/culling/RatioCullOperator.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/culling/RatioCullOperator.java index 9c838acc8..ac8722c6b 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/culling/RatioCullOperator.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/culling/RatioCullOperator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.generator.genetic.culling; diff --git a/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/exceptions/GeneticGenerationException.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/exceptions/GeneticGenerationException.java new file mode 100644 index 000000000..681473930 --- /dev/null +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/exceptions/GeneticGenerationException.java @@ -0,0 +1,25 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.arbiter.optimize.generator.genetic.exceptions; + +public class GeneticGenerationException extends RuntimeException { + public GeneticGenerationException(String message) { + super(message); + } +} diff --git a/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/mutation/MutationOperator.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/mutation/MutationOperator.java new file mode 100644 index 000000000..9b298cb4b --- /dev/null +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/mutation/MutationOperator.java @@ -0,0 +1,35 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.arbiter.optimize.generator.genetic.mutation; + +/** + * The mutation operator will apply a mutation to the given genes. + * + * @author Alexandre Boulanger + */ +public interface MutationOperator { + + /** + * Performs a mutation. + * + * @param genes The genes to be mutated + * @return True if the genes were mutated, otherwise false. + */ + boolean mutate(double[] genes); +} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/mutation/RandomMutationOperator.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/mutation/RandomMutationOperator.java similarity index 74% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/mutation/RandomMutationOperator.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/mutation/RandomMutationOperator.java index ba10676b6..69bdd791b 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/mutation/RandomMutationOperator.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/mutation/RandomMutationOperator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.generator.genetic.mutation; diff --git a/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/population/EmptyPopulationInitializer.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/population/EmptyPopulationInitializer.java new file mode 100644 index 000000000..363c34c17 --- /dev/null +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/population/EmptyPopulationInitializer.java @@ -0,0 +1,43 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.arbiter.optimize.generator.genetic.population; + +import org.deeplearning4j.arbiter.optimize.generator.genetic.Chromosome; + +import java.util.ArrayList; +import java.util.List; + +/** + * A population initializer that build an empty population. + * + * @author Alexandre Boulanger + */ +public class EmptyPopulationInitializer implements PopulationInitializer { + + /** + * Initialize an empty population + * + * @param size The maximum size of the population. + * @return The initialized population. + */ + @Override + public List getInitializedPopulation(int size) { + return new ArrayList<>(size); + } +} diff --git a/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/population/PopulationInitializer.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/population/PopulationInitializer.java new file mode 100644 index 000000000..41d3c7e63 --- /dev/null +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/population/PopulationInitializer.java @@ -0,0 +1,38 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.arbiter.optimize.generator.genetic.population; + +import org.deeplearning4j.arbiter.optimize.generator.genetic.Chromosome; + +import java.util.List; + +/** + * An initializer that construct the population used by the population model. + * + * @author Alexandre Boulanger + */ +public interface PopulationInitializer { + /** + * Called by the population model to construct the population + * + * @param size The maximum size of the population + * @return An initialized population + */ + List getInitializedPopulation(int size); +} diff --git a/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/population/PopulationListener.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/population/PopulationListener.java new file mode 100644 index 000000000..efd542944 --- /dev/null +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/population/PopulationListener.java @@ -0,0 +1,37 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.arbiter.optimize.generator.genetic.population; + +import org.deeplearning4j.arbiter.optimize.generator.genetic.Chromosome; + +import java.util.List; + +/** + * A listener that is called when the population changes. + * + * @author Alexandre Boulanger + */ +public interface PopulationListener { + /** + * Called after the population has changed. + * + * @param population The population after it has changed. + */ + void onChanged(List population); +} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/population/PopulationModel.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/population/PopulationModel.java similarity index 87% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/population/PopulationModel.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/population/PopulationModel.java index 9c5a4c7e1..4234dab58 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/population/PopulationModel.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/population/PopulationModel.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.generator.genetic.population; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/selection/GeneticSelectionOperator.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/selection/GeneticSelectionOperator.java similarity index 89% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/selection/GeneticSelectionOperator.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/selection/GeneticSelectionOperator.java index 40b6a49c8..b46a974ac 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/selection/GeneticSelectionOperator.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/selection/GeneticSelectionOperator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.generator.genetic.selection; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/selection/SelectionOperator.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/selection/SelectionOperator.java similarity index 53% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/selection/SelectionOperator.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/selection/SelectionOperator.java index 7be470ea6..082a759d2 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/selection/SelectionOperator.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/genetic/selection/SelectionOperator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.generator.genetic.selection; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/util/SerializedSupplier.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/util/SerializedSupplier.java similarity index 53% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/util/SerializedSupplier.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/util/SerializedSupplier.java index 81109816d..ad5aa8b5a 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/util/SerializedSupplier.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/generator/util/SerializedSupplier.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.generator.util; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/BooleanSpace.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/BooleanSpace.java similarity index 65% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/BooleanSpace.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/BooleanSpace.java index fd20afb47..8fccb25fa 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/BooleanSpace.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/BooleanSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.parameter; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/FixedValue.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/FixedValue.java similarity index 72% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/FixedValue.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/FixedValue.java index 6482003e5..9ee607956 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/FixedValue.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/FixedValue.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.parameter; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/continuous/ContinuousParameterSpace.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/continuous/ContinuousParameterSpace.java similarity index 83% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/continuous/ContinuousParameterSpace.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/continuous/ContinuousParameterSpace.java index 4a8dfab9c..4fa056744 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/continuous/ContinuousParameterSpace.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/continuous/ContinuousParameterSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.parameter.continuous; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/discrete/DiscreteParameterSpace.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/discrete/DiscreteParameterSpace.java similarity index 76% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/discrete/DiscreteParameterSpace.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/discrete/DiscreteParameterSpace.java index 9c37ae07d..5e113b371 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/discrete/DiscreteParameterSpace.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/discrete/DiscreteParameterSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.parameter.discrete; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/integer/IntegerParameterSpace.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/integer/IntegerParameterSpace.java similarity index 84% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/integer/IntegerParameterSpace.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/integer/IntegerParameterSpace.java index 2c6cd03ac..ea9a1f784 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/integer/IntegerParameterSpace.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/integer/IntegerParameterSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.parameter.integer; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/math/MathOp.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/math/MathOp.java similarity index 64% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/math/MathOp.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/math/MathOp.java index 2d567536f..632cf4bcf 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/math/MathOp.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/math/MathOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.parameter.math; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/math/Op.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/math/Op.java similarity index 74% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/math/Op.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/math/Op.java index 2102804ce..9faae0182 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/math/Op.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/math/Op.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.parameter.math; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/math/PairMathOp.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/math/PairMathOp.java similarity index 68% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/math/PairMathOp.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/math/PairMathOp.java index db0a9c98b..24a6afa26 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/math/PairMathOp.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/parameter/math/PairMathOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.parameter.math; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/BaseOptimizationRunner.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/BaseOptimizationRunner.java similarity index 94% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/BaseOptimizationRunner.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/BaseOptimizationRunner.java index 65c2de0dc..292c64467 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/BaseOptimizationRunner.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/BaseOptimizationRunner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.runner; diff --git a/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/CandidateInfo.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/CandidateInfo.java new file mode 100644 index 000000000..e179a61f3 --- /dev/null +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/CandidateInfo.java @@ -0,0 +1,43 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.arbiter.optimize.runner; + +import lombok.AllArgsConstructor; +import lombok.Data; + +/** + * Simple helper class to store status of a candidate that is/has been/will be executed + */ +@AllArgsConstructor +@Data +public class CandidateInfo { + + public CandidateInfo() { + //No arg constructor for Jackson + } + + private int index; + private CandidateStatus candidateStatus; + private Double score; + private long createdTime; + private Long startTime; + private Long endTime; + private double[] flatParams; //Same as parameters in Candidate class + private String exceptionStackTrace; +} diff --git a/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/CandidateStatus.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/CandidateStatus.java new file mode 100644 index 000000000..45d490a82 --- /dev/null +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/CandidateStatus.java @@ -0,0 +1,26 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.arbiter.optimize.runner; + +/** + * Status for candidates + */ +public enum CandidateStatus { + Created, Running, Complete, Failed, Cancelled +} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/IOptimizationRunner.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/IOptimizationRunner.java similarity index 66% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/IOptimizationRunner.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/IOptimizationRunner.java index 5f98d4460..9511720b1 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/IOptimizationRunner.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/IOptimizationRunner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.runner; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/LocalOptimizationRunner.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/LocalOptimizationRunner.java similarity index 87% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/LocalOptimizationRunner.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/LocalOptimizationRunner.java index 6982090f1..24a7546c5 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/LocalOptimizationRunner.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/LocalOptimizationRunner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.runner; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/listener/BaseStatusListener.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/listener/BaseStatusListener.java similarity index 57% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/listener/BaseStatusListener.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/listener/BaseStatusListener.java index aca25d95d..11c101483 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/listener/BaseStatusListener.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/listener/BaseStatusListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.runner.listener; diff --git a/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/listener/StatusChangeType.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/listener/StatusChangeType.java new file mode 100644 index 000000000..ea19d59dd --- /dev/null +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/listener/StatusChangeType.java @@ -0,0 +1,28 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.arbiter.optimize.runner.listener; + +/** + * Created by Alex on 20/07/2017. + */ +public enum StatusChangeType { + + CandidateCompleted, CandidateFailed, CandidateNewScheduled, CandidateNewBestScore + +} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/listener/StatusListener.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/listener/StatusListener.java similarity index 69% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/listener/StatusListener.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/listener/StatusListener.java index fa5ba25a2..256c8a2df 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/listener/StatusListener.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/listener/StatusListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.runner.listener; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/listener/impl/LoggingStatusListener.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/listener/impl/LoggingStatusListener.java similarity index 61% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/listener/impl/LoggingStatusListener.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/listener/impl/LoggingStatusListener.java index add0d4ff7..1b82b9b1a 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/listener/impl/LoggingStatusListener.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/listener/impl/LoggingStatusListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.runner.listener.impl; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/FixedValueDeserializer.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/FixedValueDeserializer.java similarity index 70% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/FixedValueDeserializer.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/FixedValueDeserializer.java index 24b76fd42..abb668cd4 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/FixedValueDeserializer.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/FixedValueDeserializer.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.arbiter.optimize.serde.jackson; import org.apache.commons.codec.binary.Base64; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/FixedValueSerializer.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/FixedValueSerializer.java similarity index 72% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/FixedValueSerializer.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/FixedValueSerializer.java index 349177595..ffb5c3524 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/FixedValueSerializer.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/FixedValueSerializer.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.arbiter.optimize.serde.jackson; import org.apache.commons.net.util.Base64; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/IntegerDistributionDeserializer.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/IntegerDistributionDeserializer.java similarity index 70% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/IntegerDistributionDeserializer.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/IntegerDistributionDeserializer.java index 7d40e0d3d..2c946e845 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/IntegerDistributionDeserializer.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/IntegerDistributionDeserializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.serde.jackson; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/IntegerDistributionSerializer.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/IntegerDistributionSerializer.java similarity index 76% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/IntegerDistributionSerializer.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/IntegerDistributionSerializer.java index 6e2defc1f..6ffe98b9e 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/IntegerDistributionSerializer.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/IntegerDistributionSerializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.serde.jackson; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/JsonMapper.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/JsonMapper.java similarity index 72% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/JsonMapper.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/JsonMapper.java index f30cab109..cd62244dc 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/JsonMapper.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/JsonMapper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.serde.jackson; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/RealDistributionDeserializer.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/RealDistributionDeserializer.java similarity index 79% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/RealDistributionDeserializer.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/RealDistributionDeserializer.java index 0474beadf..a69eb4eda 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/RealDistributionDeserializer.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/RealDistributionDeserializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.serde.jackson; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/RealDistributionSerializer.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/RealDistributionSerializer.java similarity index 84% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/RealDistributionSerializer.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/RealDistributionSerializer.java index fb637423b..c57d1e388 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/RealDistributionSerializer.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/RealDistributionSerializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.serde.jackson; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/YamlMapper.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/YamlMapper.java similarity index 61% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/YamlMapper.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/YamlMapper.java index 5b35220e9..435e97b59 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/YamlMapper.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/serde/jackson/YamlMapper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.serde.jackson; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/util/ClassPathResource.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/util/ClassPathResource.java similarity index 90% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/util/ClassPathResource.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/util/ClassPathResource.java index 9ec8c5f7e..5a3cf863b 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/util/ClassPathResource.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/util/ClassPathResource.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.util; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/util/CollectionUtils.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/util/CollectionUtils.java similarity index 50% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/util/CollectionUtils.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/util/CollectionUtils.java index eb9275d82..754547b4a 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/util/CollectionUtils.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/util/CollectionUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.util; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/util/LeafUtils.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/util/LeafUtils.java similarity index 67% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/util/LeafUtils.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/util/LeafUtils.java index 2a4abe79d..28155ff8d 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/util/LeafUtils.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/util/LeafUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.util; diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/util/ObjectUtils.java b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/util/ObjectUtils.java similarity index 64% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/util/ObjectUtils.java rename to contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/util/ObjectUtils.java index 9c3213430..a48a7900c 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/util/ObjectUtils.java +++ b/contrib/attic/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/util/ObjectUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.util; diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/AssertTestsExtendBaseClass.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/AssertTestsExtendBaseClass.java similarity index 54% rename from arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/AssertTestsExtendBaseClass.java rename to contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/AssertTestsExtendBaseClass.java index cfb5e2556..b65f58e71 100644 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/AssertTestsExtendBaseClass.java +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/AssertTestsExtendBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize; import lombok.extern.slf4j.Slf4j; diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/BraninFunction.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/BraninFunction.java similarity index 86% rename from arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/BraninFunction.java rename to contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/BraninFunction.java index 4d507ee7d..acabb2ab3 100644 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/BraninFunction.java +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/BraninFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize; diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/TestGeneticSearch.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/TestGeneticSearch.java similarity index 84% rename from arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/TestGeneticSearch.java rename to contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/TestGeneticSearch.java index abfedac5e..2fb8f8a67 100644 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/TestGeneticSearch.java +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/TestGeneticSearch.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize; diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/TestGridSearch.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/TestGridSearch.java similarity index 82% rename from arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/TestGridSearch.java rename to contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/TestGridSearch.java index 24f80bf23..1f7a2ad2b 100644 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/TestGridSearch.java +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/TestGridSearch.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize; diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/TestJson.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/TestJson.java similarity index 85% rename from arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/TestJson.java rename to contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/TestJson.java index cf5b1e1c7..38eb09a41 100644 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/TestJson.java +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/TestJson.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize; diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/TestRandomSearch.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/TestRandomSearch.java similarity index 69% rename from arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/TestRandomSearch.java rename to contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/TestRandomSearch.java index 99d2ad8d7..7cd79ccd7 100644 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/TestRandomSearch.java +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/TestRandomSearch.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize; diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/distribution/TestLogUniform.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/distribution/TestLogUniform.java similarity index 64% rename from arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/distribution/TestLogUniform.java rename to contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/distribution/TestLogUniform.java index 6ca842637..46c04f348 100644 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/distribution/TestLogUniform.java +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/distribution/TestLogUniform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.distribution; diff --git a/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestCrossoverOperator.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestCrossoverOperator.java new file mode 100644 index 000000000..972d80089 --- /dev/null +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestCrossoverOperator.java @@ -0,0 +1,42 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.arbiter.optimize.genetic; + +import org.deeplearning4j.arbiter.optimize.generator.genetic.crossover.CrossoverOperator; +import org.deeplearning4j.arbiter.optimize.generator.genetic.crossover.CrossoverResult; +import org.deeplearning4j.arbiter.optimize.generator.genetic.population.PopulationModel; + +public class TestCrossoverOperator extends CrossoverOperator { + + private final CrossoverResult[] results; + private int resultIdx = 0; + + public PopulationModel getPopulationModel() { + return populationModel; + } + + public TestCrossoverOperator(CrossoverResult[] results) { + this.results = results; + } + + @Override + public CrossoverResult crossover() { + return results[resultIdx++]; + } +} diff --git a/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestMutationOperator.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestMutationOperator.java new file mode 100644 index 000000000..c3f06201f --- /dev/null +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestMutationOperator.java @@ -0,0 +1,36 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.arbiter.optimize.genetic; + +import org.deeplearning4j.arbiter.optimize.generator.genetic.mutation.MutationOperator; + +public class TestMutationOperator implements MutationOperator { + + private final boolean[] results; + private int resultIdx = 0; + + public TestMutationOperator(boolean[] results) { + this.results = results; + } + + @Override + public boolean mutate(double[] genes) { + return results[resultIdx++]; + } +} diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestParentSelection.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestParentSelection.java similarity index 52% rename from arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestParentSelection.java rename to contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestParentSelection.java index 7f9c33b14..e4b8de284 100644 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestParentSelection.java +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestParentSelection.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.genetic; diff --git a/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestPopulationInitializer.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestPopulationInitializer.java new file mode 100644 index 000000000..30ec31646 --- /dev/null +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestPopulationInitializer.java @@ -0,0 +1,32 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.arbiter.optimize.genetic; + +import org.deeplearning4j.arbiter.optimize.generator.genetic.Chromosome; +import org.deeplearning4j.arbiter.optimize.generator.genetic.population.PopulationInitializer; + +import java.util.ArrayList; +import java.util.List; + +public class TestPopulationInitializer implements PopulationInitializer { + @Override + public List getInitializedPopulation(int size) { + return new ArrayList<>(); + } +} diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestRandomGenerator.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestRandomGenerator.java similarity index 66% rename from arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestRandomGenerator.java rename to contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestRandomGenerator.java index abeba96e8..11a8a4318 100644 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestRandomGenerator.java +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/TestRandomGenerator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.genetic; diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/ArithmeticCrossoverTests.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/ArithmeticCrossoverTests.java similarity index 72% rename from arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/ArithmeticCrossoverTests.java rename to contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/ArithmeticCrossoverTests.java index 252b4304f..d3b4a967c 100644 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/ArithmeticCrossoverTests.java +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/ArithmeticCrossoverTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.genetic.crossover; diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/CrossoverOperatorTests.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/CrossoverOperatorTests.java similarity index 57% rename from arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/CrossoverOperatorTests.java rename to contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/CrossoverOperatorTests.java index 50ae7f729..e04a311db 100644 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/CrossoverOperatorTests.java +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/CrossoverOperatorTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.genetic.crossover; diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/CrossoverPointsGeneratorTests.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/CrossoverPointsGeneratorTests.java similarity index 55% rename from arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/CrossoverPointsGeneratorTests.java rename to contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/CrossoverPointsGeneratorTests.java index 5c1bebb51..db6670fdd 100644 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/CrossoverPointsGeneratorTests.java +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/CrossoverPointsGeneratorTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.genetic.crossover; diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/KPointCrossoverTests.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/KPointCrossoverTests.java similarity index 73% rename from arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/KPointCrossoverTests.java rename to contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/KPointCrossoverTests.java index 2399d256a..9eedaaf29 100644 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/KPointCrossoverTests.java +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/KPointCrossoverTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.genetic.crossover; diff --git a/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/ParentSelectionTests.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/ParentSelectionTests.java new file mode 100644 index 000000000..9083fa908 --- /dev/null +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/ParentSelectionTests.java @@ -0,0 +1,41 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.arbiter.optimize.genetic.crossover; + +import org.deeplearning4j.BaseDL4JTest; +import org.deeplearning4j.arbiter.optimize.generator.genetic.Chromosome; +import org.deeplearning4j.arbiter.optimize.genetic.TestParentSelection; +import org.junit.Assert; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.List; + +public class ParentSelectionTests extends BaseDL4JTest { + + @Test + public void ParentSelection_InitializeInstance_ShouldInitPopulation() { + TestParentSelection sut = new TestParentSelection(); + + List population = new ArrayList<>(); + sut.initializeInstance(population); + + Assert.assertSame(population, sut.getPopulation()); + } +} diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/RandomTwoParentSelectionTests.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/RandomTwoParentSelectionTests.java similarity index 61% rename from arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/RandomTwoParentSelectionTests.java rename to contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/RandomTwoParentSelectionTests.java index 09b244ab3..04c40f606 100644 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/RandomTwoParentSelectionTests.java +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/RandomTwoParentSelectionTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.genetic.crossover; diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/SinglePointCrossoverTests.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/SinglePointCrossoverTests.java similarity index 72% rename from arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/SinglePointCrossoverTests.java rename to contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/SinglePointCrossoverTests.java index 32dfb136c..b2d438c11 100644 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/SinglePointCrossoverTests.java +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/SinglePointCrossoverTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.genetic.crossover; diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/TwoParentsCrossoverOperatorTests.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/TwoParentsCrossoverOperatorTests.java similarity index 74% rename from arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/TwoParentsCrossoverOperatorTests.java rename to contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/TwoParentsCrossoverOperatorTests.java index 9bde211f0..6330a7329 100644 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/TwoParentsCrossoverOperatorTests.java +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/TwoParentsCrossoverOperatorTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.genetic.crossover; diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/UniformCrossoverTests.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/UniformCrossoverTests.java similarity index 72% rename from arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/UniformCrossoverTests.java rename to contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/UniformCrossoverTests.java index 76a395c28..b95416cfa 100644 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/UniformCrossoverTests.java +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/crossover/UniformCrossoverTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.genetic.crossover; diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/culling/LeastFitCullOperatorTests.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/culling/LeastFitCullOperatorTests.java similarity index 67% rename from arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/culling/LeastFitCullOperatorTests.java rename to contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/culling/LeastFitCullOperatorTests.java index ccdb434e8..b7d42dcbf 100644 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/culling/LeastFitCullOperatorTests.java +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/culling/LeastFitCullOperatorTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.genetic.culling; diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/culling/RatioCullOperatorTests.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/culling/RatioCullOperatorTests.java similarity index 72% rename from arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/culling/RatioCullOperatorTests.java rename to contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/culling/RatioCullOperatorTests.java index c85022dca..6f46df124 100644 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/culling/RatioCullOperatorTests.java +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/culling/RatioCullOperatorTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.genetic.culling; diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/mutation/RandomMutationOperatorTests.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/mutation/RandomMutationOperatorTests.java similarity index 72% rename from arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/mutation/RandomMutationOperatorTests.java rename to contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/mutation/RandomMutationOperatorTests.java index 45ccaaa84..c7150469c 100644 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/mutation/RandomMutationOperatorTests.java +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/mutation/RandomMutationOperatorTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.genetic.mutation; diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/population/PopulationModelTests.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/population/PopulationModelTests.java similarity index 89% rename from arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/population/PopulationModelTests.java rename to contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/population/PopulationModelTests.java index e185b8164..2c0c5d14c 100644 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/population/PopulationModelTests.java +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/population/PopulationModelTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.genetic.population; diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/selection/GeneticSelectionOperatorTests.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/selection/GeneticSelectionOperatorTests.java similarity index 92% rename from arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/selection/GeneticSelectionOperatorTests.java rename to contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/selection/GeneticSelectionOperatorTests.java index ddd0ae91e..51d92496c 100644 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/selection/GeneticSelectionOperatorTests.java +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/selection/GeneticSelectionOperatorTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.genetic.selection; diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/selection/SelectionOperatorTests.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/selection/SelectionOperatorTests.java similarity index 68% rename from arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/selection/SelectionOperatorTests.java rename to contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/selection/SelectionOperatorTests.java index 5d8a8b361..daeb85e61 100644 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/selection/SelectionOperatorTests.java +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/genetic/selection/SelectionOperatorTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.genetic.selection; diff --git a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/parameter/TestParameterSpaces.java b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/parameter/TestParameterSpaces.java similarity index 80% rename from arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/parameter/TestParameterSpaces.java rename to contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/parameter/TestParameterSpaces.java index 93d8fc0d5..c10fbcdc3 100644 --- a/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/parameter/TestParameterSpaces.java +++ b/contrib/attic/arbiter/arbiter-core/src/test/java/org/deeplearning4j/arbiter/optimize/parameter/TestParameterSpaces.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize.parameter; diff --git a/arbiter/arbiter-core/src/test/resources/logback.xml b/contrib/attic/arbiter/arbiter-core/src/test/resources/logback.xml similarity index 57% rename from arbiter/arbiter-core/src/test/resources/logback.xml rename to contrib/attic/arbiter/arbiter-core/src/test/resources/logback.xml index 410bdaae9..142879124 100644 --- a/arbiter/arbiter-core/src/test/resources/logback.xml +++ b/contrib/attic/arbiter/arbiter-core/src/test/resources/logback.xml @@ -1,18 +1,20 @@ - + diff --git a/contrib/attic/arbiter/arbiter-deeplearning4j/pom.xml b/contrib/attic/arbiter/arbiter-deeplearning4j/pom.xml new file mode 100644 index 000000000..fb88e312e --- /dev/null +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/pom.xml @@ -0,0 +1,64 @@ + + + + + + 4.0.0 + + + org.deeplearning4j + arbiter + 1.0.0-SNAPSHOT + + + arbiter-deeplearning4j + + arbiter-deeplearning4j + + + + org.deeplearning4j + arbiter-core + ${project.version} + + + org.deeplearning4j + deeplearning4j-core + + + org.nd4j + jackson + + + com.google.code.gson + gson + + + + + + test-nd4j-native + + + test-nd4j-cuda-11.0 + + + diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/BaseNetworkSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/BaseNetworkSpace.java similarity index 96% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/BaseNetworkSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/BaseNetworkSpace.java index c7d8ccb05..a1e70bd67 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/BaseNetworkSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/BaseNetworkSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/ComputationGraphSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/ComputationGraphSpace.java similarity index 93% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/ComputationGraphSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/ComputationGraphSpace.java index c02165701..e15984910 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/ComputationGraphSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/ComputationGraphSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/DL4JConfiguration.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/DL4JConfiguration.java similarity index 67% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/DL4JConfiguration.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/DL4JConfiguration.java index 22bcdee37..3ec05e52b 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/DL4JConfiguration.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/DL4JConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/GraphConfiguration.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/GraphConfiguration.java similarity index 64% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/GraphConfiguration.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/GraphConfiguration.java index ab56d28c8..1f43884e5 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/GraphConfiguration.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/GraphConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/MultiLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/MultiLayerSpace.java similarity index 93% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/MultiLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/MultiLayerSpace.java index c9cd608dc..af1f919f7 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/MultiLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/MultiLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/adapter/ActivationParameterSpaceAdapter.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/adapter/ActivationParameterSpaceAdapter.java similarity index 60% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/adapter/ActivationParameterSpaceAdapter.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/adapter/ActivationParameterSpaceAdapter.java index 50489fd8e..0c59c3b44 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/adapter/ActivationParameterSpaceAdapter.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/adapter/ActivationParameterSpaceAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.adapter; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/adapter/LossFunctionParameterSpaceAdapter.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/adapter/LossFunctionParameterSpaceAdapter.java similarity index 63% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/adapter/LossFunctionParameterSpaceAdapter.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/adapter/LossFunctionParameterSpaceAdapter.java index d12992a89..40cb1d59c 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/adapter/LossFunctionParameterSpaceAdapter.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/adapter/LossFunctionParameterSpaceAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.adapter; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/dropout/DropoutSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/dropout/DropoutSpace.java similarity index 60% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/dropout/DropoutSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/dropout/DropoutSpace.java index 76443109e..fbd418fbc 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/dropout/DropoutSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/dropout/DropoutSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.conf.dropout; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/AdaGradSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/AdaGradSpace.java similarity index 64% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/AdaGradSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/AdaGradSpace.java index 3f33d1f03..8d1c0f7b1 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/AdaGradSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/AdaGradSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.conf.updater; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/AdaMaxSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/AdaMaxSpace.java similarity index 77% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/AdaMaxSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/AdaMaxSpace.java index 7d5e9fab1..def1e96a5 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/AdaMaxSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/AdaMaxSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.conf.updater; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/AdamSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/AdamSpace.java similarity index 77% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/AdamSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/AdamSpace.java index 622010c57..e502fd478 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/AdamSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/AdamSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.conf.updater; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/BaseUpdaterSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/BaseUpdaterSpace.java similarity index 63% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/BaseUpdaterSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/BaseUpdaterSpace.java index 90ea95c24..4c7e506d3 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/BaseUpdaterSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/BaseUpdaterSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.conf.updater; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/NadamSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/NadamSpace.java similarity index 77% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/NadamSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/NadamSpace.java index fe3dcf755..27877f4e0 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/NadamSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/NadamSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.conf.updater; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/NesterovsSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/NesterovsSpace.java similarity index 81% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/NesterovsSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/NesterovsSpace.java index 8049e9782..9580e8b18 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/NesterovsSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/NesterovsSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.conf.updater; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/RmsPropSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/RmsPropSpace.java similarity index 63% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/RmsPropSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/RmsPropSpace.java index f7364a913..f36a97edb 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/RmsPropSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/RmsPropSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.conf.updater; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/SgdSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/SgdSpace.java similarity index 62% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/SgdSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/SgdSpace.java index e34ce7d47..3ea4ff63c 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/SgdSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/SgdSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.conf.updater; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/ExponentialScheduleSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/ExponentialScheduleSpace.java similarity index 76% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/ExponentialScheduleSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/ExponentialScheduleSpace.java index e74dc7560..418ed6dfd 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/ExponentialScheduleSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/ExponentialScheduleSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.conf.updater.schedule; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/InverseScheduleSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/InverseScheduleSpace.java similarity index 79% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/InverseScheduleSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/InverseScheduleSpace.java index 40808318b..077208eee 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/InverseScheduleSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/InverseScheduleSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.conf.updater.schedule; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/PolyScheduleSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/PolyScheduleSpace.java similarity index 79% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/PolyScheduleSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/PolyScheduleSpace.java index f902bdb5d..886ff60fa 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/PolyScheduleSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/PolyScheduleSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.conf.updater.schedule; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/SigmoidScheduleSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/SigmoidScheduleSpace.java similarity index 80% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/SigmoidScheduleSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/SigmoidScheduleSpace.java index 336f5f32b..9476125eb 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/SigmoidScheduleSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/SigmoidScheduleSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.conf.updater.schedule; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/StepScheduleSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/StepScheduleSpace.java similarity index 80% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/StepScheduleSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/StepScheduleSpace.java index 104810d9b..925d1fc5e 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/StepScheduleSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/conf/updater/schedule/StepScheduleSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.conf.updater.schedule; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/data/DataSetIteratorFactoryProvider.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/data/DataSetIteratorFactoryProvider.java similarity index 75% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/data/DataSetIteratorFactoryProvider.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/data/DataSetIteratorFactoryProvider.java index e5443c0d3..6868eb022 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/data/DataSetIteratorFactoryProvider.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/data/DataSetIteratorFactoryProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.data; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/data/MnistDataProvider.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/data/MnistDataProvider.java similarity index 69% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/data/MnistDataProvider.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/data/MnistDataProvider.java index 2bce43e06..c7cb54602 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/data/MnistDataProvider.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/data/MnistDataProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.data; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/dropout/AlphaDropoutSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/dropout/AlphaDropoutSpace.java similarity index 62% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/dropout/AlphaDropoutSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/dropout/AlphaDropoutSpace.java index f4e3801f5..7acd8dd66 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/dropout/AlphaDropoutSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/dropout/AlphaDropoutSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.dropout; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/dropout/DropoutSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/dropout/DropoutSpace.java similarity index 62% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/dropout/DropoutSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/dropout/DropoutSpace.java index 52dea3155..57f859a6c 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/dropout/DropoutSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/dropout/DropoutSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.dropout; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/dropout/GaussianDropoutSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/dropout/GaussianDropoutSpace.java similarity index 61% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/dropout/GaussianDropoutSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/dropout/GaussianDropoutSpace.java index d694a383f..1f7e490c3 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/dropout/GaussianDropoutSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/dropout/GaussianDropoutSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.dropout; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/dropout/GaussianNoiseSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/dropout/GaussianNoiseSpace.java similarity index 61% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/dropout/GaussianNoiseSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/dropout/GaussianNoiseSpace.java index 706d389ee..11eae8dbe 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/dropout/GaussianNoiseSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/dropout/GaussianNoiseSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.dropout; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/evaluator/multilayer/ClassificationEvaluator.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/evaluator/multilayer/ClassificationEvaluator.java similarity index 69% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/evaluator/multilayer/ClassificationEvaluator.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/evaluator/multilayer/ClassificationEvaluator.java index 3d13ea2f1..63608a7b8 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/evaluator/multilayer/ClassificationEvaluator.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/evaluator/multilayer/ClassificationEvaluator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.evaluator.multilayer; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/evaluator/multilayer/RegressionDataEvaluator.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/evaluator/multilayer/RegressionDataEvaluator.java similarity index 68% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/evaluator/multilayer/RegressionDataEvaluator.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/evaluator/multilayer/RegressionDataEvaluator.java index 7973b11e0..c35976683 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/evaluator/multilayer/RegressionDataEvaluator.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/evaluator/multilayer/RegressionDataEvaluator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.evaluator.multilayer; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/AbstractLSTMLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/AbstractLSTMLayerSpace.java similarity index 80% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/AbstractLSTMLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/AbstractLSTMLayerSpace.java index d5b448f1e..cddc7c85c 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/AbstractLSTMLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/AbstractLSTMLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/ActivationLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/ActivationLayerSpace.java similarity index 75% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/ActivationLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/ActivationLayerSpace.java index 1d45d23c8..3d72090c3 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/ActivationLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/ActivationLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/AutoEncoderLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/AutoEncoderLayerSpace.java similarity index 78% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/AutoEncoderLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/AutoEncoderLayerSpace.java index bcbb94ec4..6682e6bc9 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/AutoEncoderLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/AutoEncoderLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BaseConvolutionLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BaseConvolutionLayerSpace.java similarity index 86% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BaseConvolutionLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BaseConvolutionLayerSpace.java index 11bf1f274..e8f23fbd3 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BaseConvolutionLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BaseConvolutionLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BaseLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BaseLayerSpace.java similarity index 92% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BaseLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BaseLayerSpace.java index 5f218faac..ad4bc2c32 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BaseLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BaseLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BaseOutputLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BaseOutputLayerSpace.java similarity index 75% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BaseOutputLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BaseOutputLayerSpace.java index 857f729ad..b63669115 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BaseOutputLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BaseOutputLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BasePretrainNetworkLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BasePretrainNetworkLayerSpace.java similarity index 63% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BasePretrainNetworkLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BasePretrainNetworkLayerSpace.java index b3431906a..ea183e33c 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BasePretrainNetworkLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BasePretrainNetworkLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BatchNormalizationSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BatchNormalizationSpace.java similarity index 89% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BatchNormalizationSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BatchNormalizationSpace.java index 09c1c071f..88bd10a59 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BatchNormalizationSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/BatchNormalizationSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/Bidirectional.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/Bidirectional.java similarity index 61% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/Bidirectional.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/Bidirectional.java index 64cdfd369..04ab1e6fb 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/Bidirectional.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/Bidirectional.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/CenterLossOutputLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/CenterLossOutputLayerSpace.java similarity index 73% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/CenterLossOutputLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/CenterLossOutputLayerSpace.java index ecba732c3..fa1c07058 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/CenterLossOutputLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/CenterLossOutputLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/ConvolutionLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/ConvolutionLayerSpace.java similarity index 86% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/ConvolutionLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/ConvolutionLayerSpace.java index 110e5b6e7..40b34e746 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/ConvolutionLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/ConvolutionLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/Deconvolution2DLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/Deconvolution2DLayerSpace.java similarity index 58% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/Deconvolution2DLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/Deconvolution2DLayerSpace.java index 72231f246..2fd219de3 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/Deconvolution2DLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/Deconvolution2DLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/DenseLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/DenseLayerSpace.java similarity index 72% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/DenseLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/DenseLayerSpace.java index 4a7ac3f28..ef88a7110 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/DenseLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/DenseLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/DropoutLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/DropoutLayerSpace.java similarity index 69% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/DropoutLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/DropoutLayerSpace.java index 1db5ec587..1208700ee 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/DropoutLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/DropoutLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/EmbeddingLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/EmbeddingLayerSpace.java similarity index 73% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/EmbeddingLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/EmbeddingLayerSpace.java index 7aa5c5444..e5ca4b391 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/EmbeddingLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/EmbeddingLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/FeedForwardLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/FeedForwardLayerSpace.java similarity index 85% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/FeedForwardLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/FeedForwardLayerSpace.java index 3715071a6..7966cc6b2 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/FeedForwardLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/FeedForwardLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/GlobalPoolingLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/GlobalPoolingLayerSpace.java similarity index 83% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/GlobalPoolingLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/GlobalPoolingLayerSpace.java index 17bd22103..d557b9596 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/GlobalPoolingLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/GlobalPoolingLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/GravesBidirectionalLSTMLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/GravesBidirectionalLSTMLayerSpace.java similarity index 76% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/GravesBidirectionalLSTMLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/GravesBidirectionalLSTMLayerSpace.java index e42deacbe..8f334585e 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/GravesBidirectionalLSTMLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/GravesBidirectionalLSTMLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/GravesLSTMLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/GravesLSTMLayerSpace.java similarity index 64% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/GravesLSTMLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/GravesLSTMLayerSpace.java index dd4a6d720..a68311747 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/GravesLSTMLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/GravesLSTMLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/LSTMLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/LSTMLayerSpace.java similarity index 63% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/LSTMLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/LSTMLayerSpace.java index 0037e7645..e71fe0a9a 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/LSTMLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/LSTMLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/LayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/LayerSpace.java similarity index 81% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/LayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/LayerSpace.java index c0de63756..2f79bbfc1 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/LayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/LayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/LocalResponseNormalizationLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/LocalResponseNormalizationLayerSpace.java similarity index 78% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/LocalResponseNormalizationLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/LocalResponseNormalizationLayerSpace.java index eeeb5837f..bb8144257 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/LocalResponseNormalizationLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/LocalResponseNormalizationLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/LossLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/LossLayerSpace.java similarity index 80% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/LossLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/LossLayerSpace.java index fc0b8c4d1..5e06d0209 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/LossLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/LossLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/OCNNLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/OCNNLayerSpace.java similarity index 84% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/OCNNLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/OCNNLayerSpace.java index d4fc9553b..e7c94b084 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/OCNNLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/OCNNLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/OutputLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/OutputLayerSpace.java similarity index 65% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/OutputLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/OutputLayerSpace.java index 5e6479fce..dc245ab14 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/OutputLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/OutputLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/RnnOutputLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/RnnOutputLayerSpace.java similarity index 65% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/RnnOutputLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/RnnOutputLayerSpace.java index 4fba80d81..c2323c79c 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/RnnOutputLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/RnnOutputLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/SeparableConvolution2DLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/SeparableConvolution2DLayerSpace.java similarity index 80% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/SeparableConvolution2DLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/SeparableConvolution2DLayerSpace.java index fd0f45dd3..e837b92fe 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/SeparableConvolution2DLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/SeparableConvolution2DLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/SubsamplingLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/SubsamplingLayerSpace.java similarity index 89% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/SubsamplingLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/SubsamplingLayerSpace.java index 5f1e32dab..a2ec4b1f6 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/SubsamplingLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/SubsamplingLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/VariationalAutoencoderLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/VariationalAutoencoderLayerSpace.java similarity index 89% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/VariationalAutoencoderLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/VariationalAutoencoderLayerSpace.java index 2138ea8ec..6095e5d43 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/VariationalAutoencoderLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/VariationalAutoencoderLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/fixed/FixedLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/fixed/FixedLayerSpace.java similarity index 61% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/fixed/FixedLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/fixed/FixedLayerSpace.java index fb1afc299..6fdf4d847 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/fixed/FixedLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/layers/fixed/FixedLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.layers.fixed; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/listener/DL4JArbiterStatusReportingListener.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/listener/DL4JArbiterStatusReportingListener.java similarity index 53% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/listener/DL4JArbiterStatusReportingListener.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/listener/DL4JArbiterStatusReportingListener.java index c6359822d..013bbec5b 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/listener/DL4JArbiterStatusReportingListener.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/listener/DL4JArbiterStatusReportingListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.listener; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/saver/local/FileModelSaver.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/saver/local/FileModelSaver.java similarity index 85% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/saver/local/FileModelSaver.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/saver/local/FileModelSaver.java index 740418b4c..82d2270be 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/saver/local/FileModelSaver.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/saver/local/FileModelSaver.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.saver.local; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/saver/local/LocalFileNetResultReference.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/saver/local/LocalFileNetResultReference.java similarity index 79% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/saver/local/LocalFileNetResultReference.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/saver/local/LocalFileNetResultReference.java index db46e011e..ce2ac443a 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/saver/local/LocalFileNetResultReference.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/saver/local/LocalFileNetResultReference.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.saver.local; diff --git a/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/RegressionValue.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/RegressionValue.java new file mode 100644 index 000000000..3828e0766 --- /dev/null +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/RegressionValue.java @@ -0,0 +1,34 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.arbiter.scoring; + +/** + * Enumeration used to select the type of regression statistics to optimize on, with the various regression score functions + * - MSE: mean squared error
+ * - MAE: mean absolute error
+ * - RMSE: root mean squared error
+ * - RSE: relative squared error
+ * - CorrCoeff: correlation coefficient
+ * + * @deprecated Use {@link org.deeplearning4j.eval.RegressionEvaluation.Metric} + */ +@Deprecated +public enum RegressionValue { + MSE, MAE, RMSE, RSE, CorrCoeff +} diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/ScoreFunctions.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/ScoreFunctions.java similarity index 65% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/ScoreFunctions.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/ScoreFunctions.java index f9e57a597..112a62fd1 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/ScoreFunctions.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/ScoreFunctions.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.scoring; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/BaseNetScoreFunction.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/BaseNetScoreFunction.java similarity index 81% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/BaseNetScoreFunction.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/BaseNetScoreFunction.java index 2de4d9ad1..b3c2a3de4 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/BaseNetScoreFunction.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/BaseNetScoreFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.scoring.impl; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/EvaluationScoreFunction.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/EvaluationScoreFunction.java similarity index 73% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/EvaluationScoreFunction.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/EvaluationScoreFunction.java index 7e71425d5..15fd9cf0b 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/EvaluationScoreFunction.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/EvaluationScoreFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.scoring.impl; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/ROCScoreFunction.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/ROCScoreFunction.java similarity index 83% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/ROCScoreFunction.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/ROCScoreFunction.java index 379cb9632..fd4609ea2 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/ROCScoreFunction.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/ROCScoreFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.scoring.impl; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/RegressionScoreFunction.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/RegressionScoreFunction.java similarity index 74% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/RegressionScoreFunction.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/RegressionScoreFunction.java index 51fcd9898..81618662f 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/RegressionScoreFunction.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/RegressionScoreFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.scoring.impl; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/TestSetAccuracyScoreFunction.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/TestSetAccuracyScoreFunction.java similarity index 66% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/TestSetAccuracyScoreFunction.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/TestSetAccuracyScoreFunction.java index 34b051663..b825f5432 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/TestSetAccuracyScoreFunction.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/TestSetAccuracyScoreFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.scoring.impl; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/TestSetF1ScoreFunction.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/TestSetF1ScoreFunction.java similarity index 66% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/TestSetF1ScoreFunction.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/TestSetF1ScoreFunction.java index 24516a1d7..36e4d25f4 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/TestSetF1ScoreFunction.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/TestSetF1ScoreFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.scoring.impl; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/TestSetLossScoreFunction.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/TestSetLossScoreFunction.java similarity index 68% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/TestSetLossScoreFunction.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/TestSetLossScoreFunction.java index 9a4f38541..1e4be0557 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/TestSetLossScoreFunction.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/TestSetLossScoreFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.scoring.impl; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/TestSetRegressionScoreFunction.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/TestSetRegressionScoreFunction.java similarity index 75% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/TestSetRegressionScoreFunction.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/TestSetRegressionScoreFunction.java index 0a27cea4e..7aa58fae6 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/TestSetRegressionScoreFunction.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/impl/TestSetRegressionScoreFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.scoring.impl; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/util/ScoreUtil.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/util/ScoreUtil.java similarity index 93% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/util/ScoreUtil.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/util/ScoreUtil.java index 303defe35..6d9646474 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/util/ScoreUtil.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/scoring/util/ScoreUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.scoring.util; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/task/ComputationGraphTaskCreator.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/task/ComputationGraphTaskCreator.java similarity index 93% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/task/ComputationGraphTaskCreator.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/task/ComputationGraphTaskCreator.java index 53a9fe0aa..f346db1fe 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/task/ComputationGraphTaskCreator.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/task/ComputationGraphTaskCreator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.task; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/task/MultiLayerNetworkTaskCreator.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/task/MultiLayerNetworkTaskCreator.java similarity index 93% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/task/MultiLayerNetworkTaskCreator.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/task/MultiLayerNetworkTaskCreator.java index 5c2fb0703..79e65946e 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/task/MultiLayerNetworkTaskCreator.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/task/MultiLayerNetworkTaskCreator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.task; diff --git a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/task/TaskListener.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/task/TaskListener.java similarity index 59% rename from arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/task/TaskListener.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/task/TaskListener.java index ecf262548..0b4886d6f 100644 --- a/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/task/TaskListener.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/main/java/org/deeplearning4j/arbiter/task/TaskListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.task; diff --git a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/AssertTestsExtendBaseClass.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/AssertTestsExtendBaseClass.java similarity index 54% rename from arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/AssertTestsExtendBaseClass.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/AssertTestsExtendBaseClass.java index 06e00219f..3a13e38da 100644 --- a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/AssertTestsExtendBaseClass.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/AssertTestsExtendBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter; import lombok.extern.slf4j.Slf4j; diff --git a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/TestUtils.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/TestUtils.java similarity index 90% rename from arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/TestUtils.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/TestUtils.java index 4300b3b32..0596d7c1b 100644 --- a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/TestUtils.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/TestUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter; diff --git a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/computationgraph/TestComputationGraphSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/computationgraph/TestComputationGraphSpace.java similarity index 89% rename from arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/computationgraph/TestComputationGraphSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/computationgraph/TestComputationGraphSpace.java index 54d73b775..4101a31eb 100644 --- a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/computationgraph/TestComputationGraphSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/computationgraph/TestComputationGraphSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.computationgraph; diff --git a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/computationgraph/TestGraphLocalExecution.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/computationgraph/TestGraphLocalExecution.java similarity index 95% rename from arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/computationgraph/TestGraphLocalExecution.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/computationgraph/TestGraphLocalExecution.java index 3566afd02..dbb2e61ce 100644 --- a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/computationgraph/TestGraphLocalExecution.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/computationgraph/TestGraphLocalExecution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.computationgraph; diff --git a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/computationgraph/TestGraphLocalExecutionGenetic.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/computationgraph/TestGraphLocalExecutionGenetic.java similarity index 91% rename from arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/computationgraph/TestGraphLocalExecutionGenetic.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/computationgraph/TestGraphLocalExecutionGenetic.java index 06dd2eefd..4b853db55 100644 --- a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/computationgraph/TestGraphLocalExecutionGenetic.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/computationgraph/TestGraphLocalExecutionGenetic.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.computationgraph; diff --git a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/json/TestJson.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/json/TestJson.java similarity index 94% rename from arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/json/TestJson.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/json/TestJson.java index c64c21814..da588d9dd 100644 --- a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/json/TestJson.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/json/TestJson.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.json; diff --git a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/MNISTOptimizationTest.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/MNISTOptimizationTest.java similarity index 91% rename from arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/MNISTOptimizationTest.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/MNISTOptimizationTest.java index ea754990a..ffc76c495 100644 --- a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/MNISTOptimizationTest.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/MNISTOptimizationTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.multilayernetwork; diff --git a/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/MnistDataSetIteratorFactory.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/MnistDataSetIteratorFactory.java new file mode 100644 index 000000000..563971930 --- /dev/null +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/MnistDataSetIteratorFactory.java @@ -0,0 +1,44 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.arbiter.multilayernetwork; + +import lombok.Data; +import org.deeplearning4j.datasets.iterator.impl.MnistDataSetIterator; +import org.nd4j.linalg.dataset.api.iterator.DataSetIterator; +import org.nd4j.linalg.dataset.api.iterator.DataSetIteratorFactory; + +import java.io.IOException; + +/** + * Created by agibsonccc on 3/13/17. + */ +@Data +public class MnistDataSetIteratorFactory implements DataSetIteratorFactory { + /** + * @return + */ + @Override + public DataSetIterator create() { + try { + return new MnistDataSetIterator(1000, 1000); + } catch (IOException e) { + throw new RuntimeException(e); + } + } +} diff --git a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestDL4JLocalExecution.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestDL4JLocalExecution.java similarity index 95% rename from arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestDL4JLocalExecution.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestDL4JLocalExecution.java index 6f1cc63cd..acd4a2c72 100644 --- a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestDL4JLocalExecution.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestDL4JLocalExecution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.multilayernetwork; diff --git a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestErrors.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestErrors.java similarity index 89% rename from arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestErrors.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestErrors.java index a62997a33..473adb488 100644 --- a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestErrors.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestErrors.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.multilayernetwork; diff --git a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestLayerSpace.java similarity index 93% rename from arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestLayerSpace.java index d331f1cda..609158e8c 100644 --- a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.multilayernetwork; diff --git a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestMultiLayerSpace.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestMultiLayerSpace.java similarity index 97% rename from arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestMultiLayerSpace.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestMultiLayerSpace.java index 78497ef8d..226d3a471 100644 --- a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestMultiLayerSpace.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestMultiLayerSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.multilayernetwork; diff --git a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestScoreFunctions.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestScoreFunctions.java similarity index 91% rename from arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestScoreFunctions.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestScoreFunctions.java index f2dc5d180..e3417f13b 100644 --- a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestScoreFunctions.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/multilayernetwork/TestScoreFunctions.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.multilayernetwork; diff --git a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/util/TestDataFactoryProviderMnist.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/util/TestDataFactoryProviderMnist.java similarity index 51% rename from arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/util/TestDataFactoryProviderMnist.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/util/TestDataFactoryProviderMnist.java index 35efdaf3c..bcf361f03 100644 --- a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/util/TestDataFactoryProviderMnist.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/util/TestDataFactoryProviderMnist.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.util; diff --git a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/util/TestDataProviderMnist.java b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/util/TestDataProviderMnist.java similarity index 61% rename from arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/util/TestDataProviderMnist.java rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/util/TestDataProviderMnist.java index c196d191c..a813e38d4 100644 --- a/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/util/TestDataProviderMnist.java +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/java/org/deeplearning4j/arbiter/util/TestDataProviderMnist.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.util; diff --git a/arbiter/arbiter-ui/src/test/resources/logback.xml b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/resources/logback.xml similarity index 57% rename from arbiter/arbiter-ui/src/test/resources/logback.xml rename to contrib/attic/arbiter/arbiter-deeplearning4j/src/test/resources/logback.xml index 410bdaae9..142879124 100644 --- a/arbiter/arbiter-ui/src/test/resources/logback.xml +++ b/contrib/attic/arbiter/arbiter-deeplearning4j/src/test/resources/logback.xml @@ -1,18 +1,20 @@ - + diff --git a/contrib/attic/arbiter/arbiter-server/pom.xml b/contrib/attic/arbiter/arbiter-server/pom.xml new file mode 100644 index 000000000..9ea962b1c --- /dev/null +++ b/contrib/attic/arbiter/arbiter-server/pom.xml @@ -0,0 +1,56 @@ + + + + + + 4.0.0 + + + org.deeplearning4j + arbiter + 1.0.0-SNAPSHOT + + + arbiter-server + + arbiter-server + + + + org.deeplearning4j + arbiter-deeplearning4j + ${project.version} + + + com.beust + jcommander + + + + + + test-nd4j-native + + + test-nd4j-cuda-11.0 + + + diff --git a/arbiter/arbiter-server/src/main/java/org/deeplearning4j/arbiter/server/ArbiterCliGenerator.java b/contrib/attic/arbiter/arbiter-server/src/main/java/org/deeplearning4j/arbiter/server/ArbiterCliGenerator.java similarity index 93% rename from arbiter/arbiter-server/src/main/java/org/deeplearning4j/arbiter/server/ArbiterCliGenerator.java rename to contrib/attic/arbiter/arbiter-server/src/main/java/org/deeplearning4j/arbiter/server/ArbiterCliGenerator.java index 4ed0a9623..d39eb28a6 100644 --- a/arbiter/arbiter-server/src/main/java/org/deeplearning4j/arbiter/server/ArbiterCliGenerator.java +++ b/contrib/attic/arbiter/arbiter-server/src/main/java/org/deeplearning4j/arbiter/server/ArbiterCliGenerator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.server; diff --git a/arbiter/arbiter-server/src/main/java/org/deeplearning4j/arbiter/server/ArbiterCliRunner.java b/contrib/attic/arbiter/arbiter-server/src/main/java/org/deeplearning4j/arbiter/server/ArbiterCliRunner.java similarity index 87% rename from arbiter/arbiter-server/src/main/java/org/deeplearning4j/arbiter/server/ArbiterCliRunner.java rename to contrib/attic/arbiter/arbiter-server/src/main/java/org/deeplearning4j/arbiter/server/ArbiterCliRunner.java index c845828cf..8fc57d77e 100644 --- a/arbiter/arbiter-server/src/main/java/org/deeplearning4j/arbiter/server/ArbiterCliRunner.java +++ b/contrib/attic/arbiter/arbiter-server/src/main/java/org/deeplearning4j/arbiter/server/ArbiterCliRunner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.server; diff --git a/arbiter/arbiter-server/src/main/java/org/deeplearning4j/arbiter/server/cli/NeuralNetTypeValidator.java b/contrib/attic/arbiter/arbiter-server/src/main/java/org/deeplearning4j/arbiter/server/cli/NeuralNetTypeValidator.java similarity index 54% rename from arbiter/arbiter-server/src/main/java/org/deeplearning4j/arbiter/server/cli/NeuralNetTypeValidator.java rename to contrib/attic/arbiter/arbiter-server/src/main/java/org/deeplearning4j/arbiter/server/cli/NeuralNetTypeValidator.java index 1a338bdc0..548def0fa 100644 --- a/arbiter/arbiter-server/src/main/java/org/deeplearning4j/arbiter/server/cli/NeuralNetTypeValidator.java +++ b/contrib/attic/arbiter/arbiter-server/src/main/java/org/deeplearning4j/arbiter/server/cli/NeuralNetTypeValidator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.server.cli; diff --git a/arbiter/arbiter-server/src/main/java/org/deeplearning4j/arbiter/server/cli/ProblemTypeValidator.java b/contrib/attic/arbiter/arbiter-server/src/main/java/org/deeplearning4j/arbiter/server/cli/ProblemTypeValidator.java similarity index 54% rename from arbiter/arbiter-server/src/main/java/org/deeplearning4j/arbiter/server/cli/ProblemTypeValidator.java rename to contrib/attic/arbiter/arbiter-server/src/main/java/org/deeplearning4j/arbiter/server/cli/ProblemTypeValidator.java index 3df2f6449..1bc04a5d0 100644 --- a/arbiter/arbiter-server/src/main/java/org/deeplearning4j/arbiter/server/cli/ProblemTypeValidator.java +++ b/contrib/attic/arbiter/arbiter-server/src/main/java/org/deeplearning4j/arbiter/server/cli/ProblemTypeValidator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.server.cli; diff --git a/arbiter/arbiter-server/src/test/java/org/deeplearning4j/arbiter/server/ArbiterCLIRunnerTest.java b/contrib/attic/arbiter/arbiter-server/src/test/java/org/deeplearning4j/arbiter/server/ArbiterCLIRunnerTest.java similarity index 85% rename from arbiter/arbiter-server/src/test/java/org/deeplearning4j/arbiter/server/ArbiterCLIRunnerTest.java rename to contrib/attic/arbiter/arbiter-server/src/test/java/org/deeplearning4j/arbiter/server/ArbiterCLIRunnerTest.java index b5dabe1d1..57abeb65e 100644 --- a/arbiter/arbiter-server/src/test/java/org/deeplearning4j/arbiter/server/ArbiterCLIRunnerTest.java +++ b/contrib/attic/arbiter/arbiter-server/src/test/java/org/deeplearning4j/arbiter/server/ArbiterCLIRunnerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.server; diff --git a/arbiter/arbiter-server/src/test/java/org/deeplearning4j/arbiter/server/AssertTestsExtendBaseClass.java b/contrib/attic/arbiter/arbiter-server/src/test/java/org/deeplearning4j/arbiter/server/AssertTestsExtendBaseClass.java similarity index 54% rename from arbiter/arbiter-server/src/test/java/org/deeplearning4j/arbiter/server/AssertTestsExtendBaseClass.java rename to contrib/attic/arbiter/arbiter-server/src/test/java/org/deeplearning4j/arbiter/server/AssertTestsExtendBaseClass.java index 256a8af9b..db422ba65 100644 --- a/arbiter/arbiter-server/src/test/java/org/deeplearning4j/arbiter/server/AssertTestsExtendBaseClass.java +++ b/contrib/attic/arbiter/arbiter-server/src/test/java/org/deeplearning4j/arbiter/server/AssertTestsExtendBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.server; import lombok.extern.slf4j.Slf4j; diff --git a/contrib/attic/arbiter/arbiter-server/src/test/java/org/deeplearning4j/arbiter/server/MnistDataSetIteratorFactory.java b/contrib/attic/arbiter/arbiter-server/src/test/java/org/deeplearning4j/arbiter/server/MnistDataSetIteratorFactory.java new file mode 100644 index 000000000..b6cc8618c --- /dev/null +++ b/contrib/attic/arbiter/arbiter-server/src/test/java/org/deeplearning4j/arbiter/server/MnistDataSetIteratorFactory.java @@ -0,0 +1,45 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.arbiter.server; + +import lombok.Data; +import org.deeplearning4j.BaseDL4JTest; +import org.deeplearning4j.datasets.iterator.impl.MnistDataSetIterator; +import org.nd4j.linalg.dataset.api.iterator.DataSetIterator; +import org.nd4j.linalg.dataset.api.iterator.DataSetIteratorFactory; + +import java.io.IOException; + +/** + * Created by agibsonccc on 3/13/17. + */ +@Data +public class MnistDataSetIteratorFactory extends BaseDL4JTest implements DataSetIteratorFactory { + /** + * @return + */ + @Override + public DataSetIterator create() { + try { + return new MnistDataSetIterator(1000,1000); + } catch (IOException e) { + throw new RuntimeException(e); + } + } +} diff --git a/arbiter/arbiter-server/src/test/java/org/deeplearning4j/arbiter/server/TestDataFactoryProviderMnist.java b/contrib/attic/arbiter/arbiter-server/src/test/java/org/deeplearning4j/arbiter/server/TestDataFactoryProviderMnist.java similarity index 53% rename from arbiter/arbiter-server/src/test/java/org/deeplearning4j/arbiter/server/TestDataFactoryProviderMnist.java rename to contrib/attic/arbiter/arbiter-server/src/test/java/org/deeplearning4j/arbiter/server/TestDataFactoryProviderMnist.java index c4a75ffb4..cfada444d 100644 --- a/arbiter/arbiter-server/src/test/java/org/deeplearning4j/arbiter/server/TestDataFactoryProviderMnist.java +++ b/contrib/attic/arbiter/arbiter-server/src/test/java/org/deeplearning4j/arbiter/server/TestDataFactoryProviderMnist.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.server; diff --git a/contrib/attic/arbiter/arbiter-ui/pom.xml b/contrib/attic/arbiter/arbiter-ui/pom.xml new file mode 100644 index 000000000..db755c55e --- /dev/null +++ b/contrib/attic/arbiter/arbiter-ui/pom.xml @@ -0,0 +1,66 @@ + + + + + + 4.0.0 + + + org.deeplearning4j + arbiter + 1.0.0-SNAPSHOT + + + arbiter-ui + + arbiter-ui + + + 1.8 + 1.8 + + + + + org.deeplearning4j + arbiter-core + ${project.version} + + + org.deeplearning4j + arbiter-deeplearning4j + ${project.version} + + + org.deeplearning4j + deeplearning4j-ui + + + + + + test-nd4j-native + + + test-nd4j-cuda-11.0 + + + diff --git a/contrib/attic/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/UpdateStatus.java b/contrib/attic/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/UpdateStatus.java new file mode 100644 index 000000000..c86f70903 --- /dev/null +++ b/contrib/attic/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/UpdateStatus.java @@ -0,0 +1,35 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.arbiter.ui; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +@AllArgsConstructor +@NoArgsConstructor +@EqualsAndHashCode +@Data +public class UpdateStatus { + + private long statusUpdateTime; + private long settingsUpdateTime; + private long resultsUpdateTime; +} diff --git a/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/data/BaseJavaPersistable.java b/contrib/attic/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/data/BaseJavaPersistable.java similarity index 83% rename from arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/data/BaseJavaPersistable.java rename to contrib/attic/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/data/BaseJavaPersistable.java index 1fb699e0b..33367d03e 100644 --- a/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/data/BaseJavaPersistable.java +++ b/contrib/attic/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/data/BaseJavaPersistable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.ui.data; diff --git a/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/data/GlobalConfigPersistable.java b/contrib/attic/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/data/GlobalConfigPersistable.java similarity index 78% rename from arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/data/GlobalConfigPersistable.java rename to contrib/attic/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/data/GlobalConfigPersistable.java index 9a6c3faa9..6087c30f1 100644 --- a/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/data/GlobalConfigPersistable.java +++ b/contrib/attic/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/data/GlobalConfigPersistable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.ui.data; diff --git a/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/data/ModelInfoPersistable.java b/contrib/attic/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/data/ModelInfoPersistable.java similarity index 84% rename from arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/data/ModelInfoPersistable.java rename to contrib/attic/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/data/ModelInfoPersistable.java index d7f6b0ba1..7929c55e5 100644 --- a/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/data/ModelInfoPersistable.java +++ b/contrib/attic/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/data/ModelInfoPersistable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.ui.data; diff --git a/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/listener/ArbiterStatusListener.java b/contrib/attic/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/listener/ArbiterStatusListener.java similarity index 91% rename from arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/listener/ArbiterStatusListener.java rename to contrib/attic/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/listener/ArbiterStatusListener.java index 51fd39a33..ca7249357 100644 --- a/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/listener/ArbiterStatusListener.java +++ b/contrib/attic/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/listener/ArbiterStatusListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.ui.listener; diff --git a/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/misc/JsonMapper.java b/contrib/attic/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/misc/JsonMapper.java similarity index 70% rename from arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/misc/JsonMapper.java rename to contrib/attic/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/misc/JsonMapper.java index 0ac5ad383..1038a7627 100644 --- a/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/misc/JsonMapper.java +++ b/contrib/attic/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/misc/JsonMapper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.ui.misc; diff --git a/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/misc/UIUtils.java b/contrib/attic/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/misc/UIUtils.java similarity index 77% rename from arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/misc/UIUtils.java rename to contrib/attic/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/misc/UIUtils.java index 8ea969c82..fb99c552a 100644 --- a/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/misc/UIUtils.java +++ b/contrib/attic/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/misc/UIUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.ui.misc; diff --git a/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/module/ArbiterModule.java b/contrib/attic/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/module/ArbiterModule.java similarity index 97% rename from arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/module/ArbiterModule.java rename to contrib/attic/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/module/ArbiterModule.java index 7a8d70387..29611e24f 100644 --- a/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/module/ArbiterModule.java +++ b/contrib/attic/arbiter/arbiter-ui/src/main/java/org/deeplearning4j/arbiter/ui/module/ArbiterModule.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.ui.module; diff --git a/contrib/attic/arbiter/arbiter-ui/src/main/resources/META-INF/services/org.deeplearning4j.ui.api.UIModule b/contrib/attic/arbiter/arbiter-ui/src/main/resources/META-INF/services/org.deeplearning4j.ui.api.UIModule new file mode 100644 index 000000000..5bf13a651 --- /dev/null +++ b/contrib/attic/arbiter/arbiter-ui/src/main/resources/META-INF/services/org.deeplearning4j.ui.api.UIModule @@ -0,0 +1,53 @@ +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +# +# /* ****************************************************************************** +# * Copyright (c) 2021 Deeplearning4j Contributors +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +################################################################################ +# Copyright (c) 2015-2018 Skymind, Inc. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License, Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0. +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# SPDX-License-Identifier: Apache-2.0 +################################################################################ + +org.deeplearning4j.arbiter.ui.module.ArbiterModule \ No newline at end of file diff --git a/arbiter/arbiter-ui/src/main/resources/deeplearning4jUiAssets/dl4j-ui.js b/contrib/attic/arbiter/arbiter-ui/src/main/resources/deeplearning4jUiAssets/dl4j-ui.js similarity index 98% rename from arbiter/arbiter-ui/src/main/resources/deeplearning4jUiAssets/dl4j-ui.js rename to contrib/attic/arbiter/arbiter-ui/src/main/resources/deeplearning4jUiAssets/dl4j-ui.js index 4c99517d0..2ec4198ba 100644 --- a/arbiter/arbiter-ui/src/main/resources/deeplearning4jUiAssets/dl4j-ui.js +++ b/contrib/attic/arbiter/arbiter-ui/src/main/resources/deeplearning4jUiAssets/dl4j-ui.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } diff --git a/arbiter/arbiter-ui/src/main/resources/deeplearning4jUiAssets/dl4j-ui.js.map b/contrib/attic/arbiter/arbiter-ui/src/main/resources/deeplearning4jUiAssets/dl4j-ui.js.map similarity index 100% rename from arbiter/arbiter-ui/src/main/resources/deeplearning4jUiAssets/dl4j-ui.js.map rename to contrib/attic/arbiter/arbiter-ui/src/main/resources/deeplearning4jUiAssets/dl4j-ui.js.map diff --git a/arbiter/arbiter-ui/src/main/resources/templates/ArbiterUI.html b/contrib/attic/arbiter/arbiter-ui/src/main/resources/templates/ArbiterUI.html similarity index 96% rename from arbiter/arbiter-ui/src/main/resources/templates/ArbiterUI.html rename to contrib/attic/arbiter/arbiter-ui/src/main/resources/templates/ArbiterUI.html index a1b4e92a0..fd2674409 100644 --- a/arbiter/arbiter-ui/src/main/resources/templates/ArbiterUI.html +++ b/contrib/attic/arbiter/arbiter-ui/src/main/resources/templates/ArbiterUI.html @@ -1,19 +1,20 @@ - + diff --git a/arbiter/arbiter-ui/src/test/java/org/deeplearning4j/arbiter/optimize/AssertTestsExtendBaseClass.java b/contrib/attic/arbiter/arbiter-ui/src/test/java/org/deeplearning4j/arbiter/optimize/AssertTestsExtendBaseClass.java similarity index 54% rename from arbiter/arbiter-ui/src/test/java/org/deeplearning4j/arbiter/optimize/AssertTestsExtendBaseClass.java rename to contrib/attic/arbiter/arbiter-ui/src/test/java/org/deeplearning4j/arbiter/optimize/AssertTestsExtendBaseClass.java index fcf3066e2..e78a99079 100644 --- a/arbiter/arbiter-ui/src/test/java/org/deeplearning4j/arbiter/optimize/AssertTestsExtendBaseClass.java +++ b/contrib/attic/arbiter/arbiter-ui/src/test/java/org/deeplearning4j/arbiter/optimize/AssertTestsExtendBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize; import lombok.extern.slf4j.Slf4j; diff --git a/arbiter/arbiter-ui/src/test/java/org/deeplearning4j/arbiter/optimize/TestBasic.java b/contrib/attic/arbiter/arbiter-ui/src/test/java/org/deeplearning4j/arbiter/optimize/TestBasic.java similarity index 97% rename from arbiter/arbiter-ui/src/test/java/org/deeplearning4j/arbiter/optimize/TestBasic.java rename to contrib/attic/arbiter/arbiter-ui/src/test/java/org/deeplearning4j/arbiter/optimize/TestBasic.java index 3ecefe0b3..82b06d7f4 100644 --- a/arbiter/arbiter-ui/src/test/java/org/deeplearning4j/arbiter/optimize/TestBasic.java +++ b/contrib/attic/arbiter/arbiter-ui/src/test/java/org/deeplearning4j/arbiter/optimize/TestBasic.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.arbiter.optimize; diff --git a/arbiter/arbiter-deeplearning4j/src/test/resources/logback.xml b/contrib/attic/arbiter/arbiter-ui/src/test/resources/logback.xml similarity index 57% rename from arbiter/arbiter-deeplearning4j/src/test/resources/logback.xml rename to contrib/attic/arbiter/arbiter-ui/src/test/resources/logback.xml index 410bdaae9..142879124 100644 --- a/arbiter/arbiter-deeplearning4j/src/test/resources/logback.xml +++ b/contrib/attic/arbiter/arbiter-ui/src/test/resources/logback.xml @@ -1,18 +1,20 @@ - + diff --git a/scalnet/buildmultiplescalaversions.sh b/contrib/attic/arbiter/buildmultiplescalaversions.sh old mode 100755 new mode 100644 similarity index 58% rename from scalnet/buildmultiplescalaversions.sh rename to contrib/attic/arbiter/buildmultiplescalaversions.sh index e04610a02..1806dbb33 --- a/scalnet/buildmultiplescalaversions.sh +++ b/contrib/attic/arbiter/buildmultiplescalaversions.sh @@ -1,19 +1,21 @@ #! /bin/bash -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ BASEDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" diff --git a/contrib/attic/arbiter/pom.xml b/contrib/attic/arbiter/pom.xml new file mode 100644 index 000000000..c3bd9a321 --- /dev/null +++ b/contrib/attic/arbiter/pom.xml @@ -0,0 +1,286 @@ + + + + + + 4.0.0 + + + org.deeplearning4j + deeplearning4j + 1.0.0-SNAPSHOT + + + org.deeplearning4j + arbiter + pom + + Arbiter + Model Evaluation and Testing + + + arbiter-deeplearning4j + arbiter-core + arbiter-server + arbiter-ui + + + + + + org.apache.commons + commons-lang3 + ${commons.lang.version} + + + org.apache.commons + commons-math3 + ${commons.math.version} + + + org.slf4j + slf4j-api + ${slf4j.version} + + + joda-time + joda-time + ${jodatime.version} + + + com.beust + jcommander + ${jcommander.version} + + + com.google.code.gson + gson + ${gson.version} + + + org.nd4j + nd4j-api + ${nd4j.version} + + + org.deeplearning4j + deeplearning4j-core + ${dl4j.version} + + + org.deeplearning4j + deeplearning4j-ui + ${dl4j.version} + + + + org.nd4j + jackson + ${nd4j.version} + + + org.nd4j + guava + ${nd4j.version} + + + + + + + org.projectlombok + lombok + ${lombok.version} + provided + + + + junit + junit + ${junit.version} + test + + + ch.qos.logback + logback-classic + ${logback.version} + test + + + org.deeplearning4j + deeplearning4j-common-tests + ${dl4j.version} + test + + + + + + + org.apache.maven.wagon + wagon-http + 2.9 + + + + + + net.revelc.code.formatter + formatter-maven-plugin + 2.12.1 + + + arbiter-deeplearning4j + arbiter-core + arbiter-server + arbiter-ui + + + + + pl.project13.maven + git-commit-id-plugin + + + org.codehaus.mojo + build-helper-maven-plugin + + + + + + + org.apache.maven.plugins + maven-enforcer-plugin + ${maven-enforcer-plugin.version} + + + test + enforce-test-resources + + enforce + + + ${skipTestResourceEnforcement} + + + test-nd4j-native,test-nd4j-cuda-11.0 + false + + + true + + + + + + org.apache.maven.plugins + maven-surefire-plugin + ${maven-surefire-plugin.version} + + -Ddtype=double -Dfile.encoding=UTF-8 -Xmx3024m -Xms3024m + + true + false + + + + net.alchim31.maven + scala-maven-plugin + ${maven-scala-plugin.version} + + + -deprecation + -explaintypes + -nobootcp + + + + + scala-compile-first + process-resources + + add-source + compile + + + + scala-test-compile + process-test-resources + + add-source + testCompile + + + + + + org.eclipse.m2e + lifecycle-mapping + + + + + + + + test-nd4j-native + + + org.nd4j + nd4j-native + ${nd4j.version} + test + + + org.deeplearning4j + dl4j-test-resources + ${nd4j.version} + test + + + + + test-nd4j-cuda-11.0 + + + org.nd4j + nd4j-cuda-11.0 + ${nd4j.version} + test + + + org.deeplearning4j + dl4j-test-resources + ${nd4j.version} + test + + + + + diff --git a/datavec/datavec-data/datavec-hadoop/pom.xml b/contrib/attic/datavec-hadoop/pom.xml similarity index 55% rename from datavec/datavec-data/datavec-hadoop/pom.xml rename to contrib/attic/datavec-hadoop/pom.xml index 4ab64d8b5..838cb6fdd 100644 --- a/datavec/datavec-data/datavec-hadoop/pom.xml +++ b/contrib/attic/datavec-hadoop/pom.xml @@ -1,40 +1,41 @@ - + + + + + 4.0.0 - - datavec-data org.datavec + datavec-data 1.0.0-SNAPSHOT - jar - 4.0.0 datavec-hadoop - org.datavec datavec-api - ${project.version} - io.netty netty @@ -60,13 +61,6 @@ - - - org.nd4j - nd4j-common-tests - ${nd4j.version} - test - diff --git a/datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/conf/ConfigurationUtil.java b/contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/conf/ConfigurationUtil.java similarity index 55% rename from datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/conf/ConfigurationUtil.java rename to contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/conf/ConfigurationUtil.java index 01d5b2f84..b48dcb14c 100644 --- a/datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/conf/ConfigurationUtil.java +++ b/contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/conf/ConfigurationUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.hadoop.conf; diff --git a/datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/IndexToKey.java b/contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/IndexToKey.java similarity index 58% rename from datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/IndexToKey.java rename to contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/IndexToKey.java index 56a751953..f197599d3 100644 --- a/datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/IndexToKey.java +++ b/contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/IndexToKey.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.hadoop.records.reader.mapfile; diff --git a/datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/MapFileReader.java b/contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/MapFileReader.java similarity index 84% rename from datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/MapFileReader.java rename to contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/MapFileReader.java index f5b28847e..ed2db1629 100644 --- a/datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/MapFileReader.java +++ b/contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/MapFileReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.hadoop.records.reader.mapfile; diff --git a/datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/MapFileRecordReader.java b/contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/MapFileRecordReader.java similarity index 91% rename from datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/MapFileRecordReader.java rename to contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/MapFileRecordReader.java index df649f8e4..df17f5e68 100644 --- a/datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/MapFileRecordReader.java +++ b/contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/MapFileRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.hadoop.records.reader.mapfile; diff --git a/datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/MapFileSequenceRecordReader.java b/contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/MapFileSequenceRecordReader.java similarity index 92% rename from datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/MapFileSequenceRecordReader.java rename to contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/MapFileSequenceRecordReader.java index 3a0513132..61f7ac2b1 100644 --- a/datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/MapFileSequenceRecordReader.java +++ b/contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/MapFileSequenceRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.hadoop.records.reader.mapfile; diff --git a/datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/index/LongIndexToKey.java b/contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/index/LongIndexToKey.java similarity index 82% rename from datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/index/LongIndexToKey.java rename to contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/index/LongIndexToKey.java index 6e9225a4a..33508fd89 100644 --- a/datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/index/LongIndexToKey.java +++ b/contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/index/LongIndexToKey.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.hadoop.records.reader.mapfile.index; diff --git a/datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/record/RecordWritable.java b/contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/record/RecordWritable.java similarity index 59% rename from datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/record/RecordWritable.java rename to contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/record/RecordWritable.java index 139f28ce9..448b6504a 100644 --- a/datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/record/RecordWritable.java +++ b/contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/record/RecordWritable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.hadoop.records.reader.mapfile.record; diff --git a/datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/record/SequenceRecordWritable.java b/contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/record/SequenceRecordWritable.java similarity index 73% rename from datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/record/SequenceRecordWritable.java rename to contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/record/SequenceRecordWritable.java index 1511de990..4a8428cd3 100644 --- a/datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/record/SequenceRecordWritable.java +++ b/contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/reader/mapfile/record/SequenceRecordWritable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.hadoop.records.reader.mapfile.record; diff --git a/datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/writer/mapfile/AbstractMapFileWriter.java b/contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/writer/mapfile/AbstractMapFileWriter.java similarity index 93% rename from datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/writer/mapfile/AbstractMapFileWriter.java rename to contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/writer/mapfile/AbstractMapFileWriter.java index b87db7101..1b3db33fa 100644 --- a/datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/writer/mapfile/AbstractMapFileWriter.java +++ b/contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/writer/mapfile/AbstractMapFileWriter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.hadoop.records.writer.mapfile; diff --git a/datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/writer/mapfile/MapFileRecordWriter.java b/contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/writer/mapfile/MapFileRecordWriter.java similarity index 91% rename from datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/writer/mapfile/MapFileRecordWriter.java rename to contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/writer/mapfile/MapFileRecordWriter.java index bf0479805..49bc6a143 100644 --- a/datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/writer/mapfile/MapFileRecordWriter.java +++ b/contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/writer/mapfile/MapFileRecordWriter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.hadoop.records.writer.mapfile; diff --git a/datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/writer/mapfile/MapFileSequenceRecordWriter.java b/contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/writer/mapfile/MapFileSequenceRecordWriter.java similarity index 91% rename from datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/writer/mapfile/MapFileSequenceRecordWriter.java rename to contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/writer/mapfile/MapFileSequenceRecordWriter.java index 878bd4348..bd6079e5c 100644 --- a/datavec/datavec-data/datavec-hadoop/src/main/java/org/datavec/hadoop/records/writer/mapfile/MapFileSequenceRecordWriter.java +++ b/contrib/attic/datavec-hadoop/src/main/java/org/datavec/hadoop/records/writer/mapfile/MapFileSequenceRecordWriter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.hadoop.records.writer.mapfile; diff --git a/datavec/datavec-data/datavec-hadoop/src/test/java/org/datavec/hadoop/AssertTestsExtendBaseClass.java b/contrib/attic/datavec-hadoop/src/test/java/org/datavec/hadoop/AssertTestsExtendBaseClass.java similarity index 53% rename from datavec/datavec-data/datavec-hadoop/src/test/java/org/datavec/hadoop/AssertTestsExtendBaseClass.java rename to contrib/attic/datavec-hadoop/src/test/java/org/datavec/hadoop/AssertTestsExtendBaseClass.java index 7464b95b6..d130d07fa 100644 --- a/datavec/datavec-data/datavec-hadoop/src/test/java/org/datavec/hadoop/AssertTestsExtendBaseClass.java +++ b/contrib/attic/datavec-hadoop/src/test/java/org/datavec/hadoop/AssertTestsExtendBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.hadoop; import lombok.extern.slf4j.Slf4j; diff --git a/contrib/attic/datavec-hadoop/src/test/java/org/datavec/hadoop/conf/TestConfigurationUtil.java b/contrib/attic/datavec-hadoop/src/test/java/org/datavec/hadoop/conf/TestConfigurationUtil.java new file mode 100644 index 000000000..8b0dade01 --- /dev/null +++ b/contrib/attic/datavec-hadoop/src/test/java/org/datavec/hadoop/conf/TestConfigurationUtil.java @@ -0,0 +1,39 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.datavec.hadoop.conf; + +import org.apache.hadoop.conf.Configuration; +import org.junit.Test; + +public class TestConfigurationUtil { + + @Test + public void testLoadHadoopConfFiles() { + + // this would come from the properties file + String confPath = "src/test/resources/conf/example_conf/"; + + Configuration conf = ConfigurationUtil.generateConfig(confPath); + + System.out.println(" works? " + conf.get("fs.default.name")); + + + } + +} diff --git a/datavec/datavec-data/datavec-hadoop/src/test/java/org/datavec/hadoop/records/reader/TestMapFileRecordReader.java b/contrib/attic/datavec-hadoop/src/test/java/org/datavec/hadoop/records/reader/TestMapFileRecordReader.java similarity index 92% rename from datavec/datavec-data/datavec-hadoop/src/test/java/org/datavec/hadoop/records/reader/TestMapFileRecordReader.java rename to contrib/attic/datavec-hadoop/src/test/java/org/datavec/hadoop/records/reader/TestMapFileRecordReader.java index 2402150fe..16d3b3714 100644 --- a/datavec/datavec-data/datavec-hadoop/src/test/java/org/datavec/hadoop/records/reader/TestMapFileRecordReader.java +++ b/contrib/attic/datavec-hadoop/src/test/java/org/datavec/hadoop/records/reader/TestMapFileRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.hadoop.records.reader; diff --git a/datavec/datavec-data/datavec-hadoop/src/test/java/org/datavec/hadoop/records/reader/TestMapFileRecordReaderMultipleParts.java b/contrib/attic/datavec-hadoop/src/test/java/org/datavec/hadoop/records/reader/TestMapFileRecordReaderMultipleParts.java similarity index 92% rename from datavec/datavec-data/datavec-hadoop/src/test/java/org/datavec/hadoop/records/reader/TestMapFileRecordReaderMultipleParts.java rename to contrib/attic/datavec-hadoop/src/test/java/org/datavec/hadoop/records/reader/TestMapFileRecordReaderMultipleParts.java index ad42a0dfb..758711b96 100644 --- a/datavec/datavec-data/datavec-hadoop/src/test/java/org/datavec/hadoop/records/reader/TestMapFileRecordReaderMultipleParts.java +++ b/contrib/attic/datavec-hadoop/src/test/java/org/datavec/hadoop/records/reader/TestMapFileRecordReaderMultipleParts.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.hadoop.records.reader; diff --git a/datavec/datavec-data/datavec-hadoop/src/test/java/org/datavec/hadoop/records/reader/TestMapFileRecordReaderMultiplePartsSomeEmpty.java b/contrib/attic/datavec-hadoop/src/test/java/org/datavec/hadoop/records/reader/TestMapFileRecordReaderMultiplePartsSomeEmpty.java similarity index 92% rename from datavec/datavec-data/datavec-hadoop/src/test/java/org/datavec/hadoop/records/reader/TestMapFileRecordReaderMultiplePartsSomeEmpty.java rename to contrib/attic/datavec-hadoop/src/test/java/org/datavec/hadoop/records/reader/TestMapFileRecordReaderMultiplePartsSomeEmpty.java index c56cc054a..f5d6765f9 100644 --- a/datavec/datavec-data/datavec-hadoop/src/test/java/org/datavec/hadoop/records/reader/TestMapFileRecordReaderMultiplePartsSomeEmpty.java +++ b/contrib/attic/datavec-hadoop/src/test/java/org/datavec/hadoop/records/reader/TestMapFileRecordReaderMultiplePartsSomeEmpty.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.hadoop.records.reader; diff --git a/datavec/datavec-data/datavec-hadoop/src/test/java/org/datavec/hadoop/records/writer/TestMapFileRecordWriter.java b/contrib/attic/datavec-hadoop/src/test/java/org/datavec/hadoop/records/writer/TestMapFileRecordWriter.java similarity index 90% rename from datavec/datavec-data/datavec-hadoop/src/test/java/org/datavec/hadoop/records/writer/TestMapFileRecordWriter.java rename to contrib/attic/datavec-hadoop/src/test/java/org/datavec/hadoop/records/writer/TestMapFileRecordWriter.java index c77c0898e..c21b44cbe 100644 --- a/datavec/datavec-data/datavec-hadoop/src/test/java/org/datavec/hadoop/records/writer/TestMapFileRecordWriter.java +++ b/contrib/attic/datavec-hadoop/src/test/java/org/datavec/hadoop/records/writer/TestMapFileRecordWriter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.hadoop.records.writer; diff --git a/datavec/datavec-data/datavec-hadoop/src/test/resources/log4j.properties b/contrib/attic/datavec-hadoop/src/test/resources/log4j.properties similarity index 50% rename from datavec/datavec-data/datavec-hadoop/src/test/resources/log4j.properties rename to contrib/attic/datavec-hadoop/src/test/resources/log4j.properties index 00eaf12f4..77d23aa0c 100644 --- a/datavec/datavec-data/datavec-hadoop/src/test/resources/log4j.properties +++ b/contrib/attic/datavec-hadoop/src/test/resources/log4j.properties @@ -1,18 +1,20 @@ -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ log4j.rootLogger=ERROR, Console log4j.logger.play=DEBUG diff --git a/datavec/datavec-data/datavec-hadoop/src/test/resources/logback.xml b/contrib/attic/datavec-hadoop/src/test/resources/logback.xml similarity index 55% rename from datavec/datavec-data/datavec-hadoop/src/test/resources/logback.xml rename to contrib/attic/datavec-hadoop/src/test/resources/logback.xml index 2087d615c..c3d47d371 100644 --- a/datavec/datavec-data/datavec-hadoop/src/test/resources/logback.xml +++ b/contrib/attic/datavec-hadoop/src/test/resources/logback.xml @@ -1,18 +1,20 @@ - + diff --git a/datavec/datavec-python/pom.xml b/contrib/attic/datavec-python/pom.xml similarity index 52% rename from datavec/datavec-python/pom.xml rename to contrib/attic/datavec-python/pom.xml index dae915909..850cc4dbe 100644 --- a/datavec/datavec-python/pom.xml +++ b/contrib/attic/datavec-python/pom.xml @@ -1,28 +1,33 @@ - + + + + + 4.0.0 - - datavec-parent org.datavec + datavec-parent 1.0.0-SNAPSHOT - jar - 4.0.0 datavec-python @@ -42,7 +47,6 @@ numpy-platform ${numpy.javacpp.version} - com.google.code.findbugs jsr305 @@ -53,24 +57,12 @@ datavec-api ${project.version} - - ch.qos.logback - logback-classic - ${logback.version} - test - + org.nd4j nd4j-native-api ${project.version} - - - org.nd4j - nd4j-common-tests - ${nd4j.version} - test - diff --git a/datavec/datavec-python/src/main/java/org/datavec/python/NumpyArray.java b/contrib/attic/datavec-python/src/main/java/org/datavec/python/NumpyArray.java similarity index 83% rename from datavec/datavec-python/src/main/java/org/datavec/python/NumpyArray.java rename to contrib/attic/datavec-python/src/main/java/org/datavec/python/NumpyArray.java index 708184de7..f7442c38a 100644 --- a/datavec/datavec-python/src/main/java/org/datavec/python/NumpyArray.java +++ b/contrib/attic/datavec-python/src/main/java/org/datavec/python/NumpyArray.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.python; diff --git a/datavec/datavec-python/src/main/java/org/datavec/python/Python.java b/contrib/attic/datavec-python/src/main/java/org/datavec/python/Python.java similarity index 89% rename from datavec/datavec-python/src/main/java/org/datavec/python/Python.java rename to contrib/attic/datavec-python/src/main/java/org/datavec/python/Python.java index 98c9b964c..09e502c99 100644 --- a/datavec/datavec-python/src/main/java/org/datavec/python/Python.java +++ b/contrib/attic/datavec-python/src/main/java/org/datavec/python/Python.java @@ -1,19 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.python; diff --git a/datavec/datavec-python/src/main/java/org/datavec/python/PythonCondition.java b/contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonCondition.java similarity index 83% rename from datavec/datavec-python/src/main/java/org/datavec/python/PythonCondition.java rename to contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonCondition.java index e94e5a171..c7b32a280 100644 --- a/datavec/datavec-python/src/main/java/org/datavec/python/PythonCondition.java +++ b/contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.python; diff --git a/datavec/datavec-python/src/main/java/org/datavec/python/PythonContextManager.java b/contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonContextManager.java similarity index 87% rename from datavec/datavec-python/src/main/java/org/datavec/python/PythonContextManager.java rename to contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonContextManager.java index c3563bfc2..aee85c659 100644 --- a/datavec/datavec-python/src/main/java/org/datavec/python/PythonContextManager.java +++ b/contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonContextManager.java @@ -1,19 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.python; diff --git a/datavec/datavec-python/src/main/java/org/datavec/python/PythonException.java b/contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonException.java similarity index 51% rename from datavec/datavec-python/src/main/java/org/datavec/python/PythonException.java rename to contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonException.java index d66c67a32..2ae4d78a8 100644 --- a/datavec/datavec-python/src/main/java/org/datavec/python/PythonException.java +++ b/contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonException.java @@ -1,19 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.python; diff --git a/datavec/datavec-python/src/main/java/org/datavec/python/PythonExecutioner.java b/contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonExecutioner.java similarity index 95% rename from datavec/datavec-python/src/main/java/org/datavec/python/PythonExecutioner.java rename to contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonExecutioner.java index c6c28262b..8bd2ab40c 100644 --- a/datavec/datavec-python/src/main/java/org/datavec/python/PythonExecutioner.java +++ b/contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonExecutioner.java @@ -1,19 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.python; diff --git a/datavec/datavec-python/src/main/java/org/datavec/python/PythonGIL.java b/contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonGIL.java similarity index 61% rename from datavec/datavec-python/src/main/java/org/datavec/python/PythonGIL.java rename to contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonGIL.java index 564fccdfe..ac50d99c6 100644 --- a/datavec/datavec-python/src/main/java/org/datavec/python/PythonGIL.java +++ b/contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonGIL.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.python; diff --git a/datavec/datavec-python/src/main/java/org/datavec/python/PythonJob.java b/contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonJob.java similarity index 88% rename from datavec/datavec-python/src/main/java/org/datavec/python/PythonJob.java rename to contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonJob.java index 9e23e9506..637604200 100644 --- a/datavec/datavec-python/src/main/java/org/datavec/python/PythonJob.java +++ b/contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonJob.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.python; diff --git a/datavec/datavec-python/src/main/java/org/datavec/python/PythonObject.java b/contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonObject.java similarity index 96% rename from datavec/datavec-python/src/main/java/org/datavec/python/PythonObject.java rename to contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonObject.java index 4a6a617d5..47b5bb2e8 100644 --- a/datavec/datavec-python/src/main/java/org/datavec/python/PythonObject.java +++ b/contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonObject.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.python; diff --git a/datavec/datavec-python/src/main/java/org/datavec/python/PythonProcess.java b/contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonProcess.java similarity index 83% rename from datavec/datavec-python/src/main/java/org/datavec/python/PythonProcess.java rename to contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonProcess.java index 377603ee2..54036243b 100644 --- a/datavec/datavec-python/src/main/java/org/datavec/python/PythonProcess.java +++ b/contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonProcess.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.python; diff --git a/datavec/datavec-python/src/main/java/org/datavec/python/PythonTransform.java b/contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonTransform.java similarity index 92% rename from datavec/datavec-python/src/main/java/org/datavec/python/PythonTransform.java rename to contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonTransform.java index d02de4411..d35ee501e 100644 --- a/datavec/datavec-python/src/main/java/org/datavec/python/PythonTransform.java +++ b/contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.python; diff --git a/datavec/datavec-python/src/main/java/org/datavec/python/PythonType.java b/contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonType.java similarity index 90% rename from datavec/datavec-python/src/main/java/org/datavec/python/PythonType.java rename to contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonType.java index d0a3f488f..7d3d25e5c 100644 --- a/datavec/datavec-python/src/main/java/org/datavec/python/PythonType.java +++ b/contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.python; diff --git a/datavec/datavec-python/src/main/java/org/datavec/python/PythonUtils.java b/contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonUtils.java similarity index 92% rename from datavec/datavec-python/src/main/java/org/datavec/python/PythonUtils.java rename to contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonUtils.java index d3e991b35..4191ea271 100644 --- a/datavec/datavec-python/src/main/java/org/datavec/python/PythonUtils.java +++ b/contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonUtils.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.datavec.python; import org.datavec.api.transform.ColumnType; diff --git a/datavec/datavec-python/src/main/java/org/datavec/python/PythonVariables.java b/contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonVariables.java similarity index 94% rename from datavec/datavec-python/src/main/java/org/datavec/python/PythonVariables.java rename to contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonVariables.java index cd058bc1a..097fc2f76 100644 --- a/datavec/datavec-python/src/main/java/org/datavec/python/PythonVariables.java +++ b/contrib/attic/datavec-python/src/main/java/org/datavec/python/PythonVariables.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.python; diff --git a/datavec/datavec-python/src/main/java/org/datavec/python/keras/Model.java b/contrib/attic/datavec-python/src/main/java/org/datavec/python/keras/Model.java similarity index 84% rename from datavec/datavec-python/src/main/java/org/datavec/python/keras/Model.java rename to contrib/attic/datavec-python/src/main/java/org/datavec/python/keras/Model.java index d8a9b0651..af6747bf4 100644 --- a/datavec/datavec-python/src/main/java/org/datavec/python/keras/Model.java +++ b/contrib/attic/datavec-python/src/main/java/org/datavec/python/keras/Model.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.datavec.python.keras; import org.datavec.python.Python; diff --git a/contrib/attic/datavec-python/src/main/resources/pythonexec/pythonexec.py b/contrib/attic/datavec-python/src/main/resources/pythonexec/pythonexec.py new file mode 100644 index 000000000..7c6f78db9 --- /dev/null +++ b/contrib/attic/datavec-python/src/main/resources/pythonexec/pythonexec.py @@ -0,0 +1,36 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + +import sys +import traceback +import json +import inspect + +__python_exception__ = "" +try: + pass + sys.stdout.flush() + sys.stderr.flush() +except Exception as ex: + __python_exception__ = ex + try: + exc_info = sys.exc_info() + finally: + print(ex) + traceback.print_exception(*exc_info) + sys.stdout.flush() + sys.stderr.flush() + diff --git a/datavec/datavec-python/src/test/java/org/datavec/python/AssertTestsExtendBaseClass.java b/contrib/attic/datavec-python/src/test/java/org/datavec/python/AssertTestsExtendBaseClass.java similarity index 53% rename from datavec/datavec-python/src/test/java/org/datavec/python/AssertTestsExtendBaseClass.java rename to contrib/attic/datavec-python/src/test/java/org/datavec/python/AssertTestsExtendBaseClass.java index 50e46e8f7..e9c954f28 100644 --- a/datavec/datavec-python/src/test/java/org/datavec/python/AssertTestsExtendBaseClass.java +++ b/contrib/attic/datavec-python/src/test/java/org/datavec/python/AssertTestsExtendBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.python; import lombok.extern.slf4j.Slf4j; diff --git a/datavec/datavec-python/src/test/java/org/datavec/python/PythonNumpyTest.java b/contrib/attic/datavec-python/src/test/java/org/datavec/python/PythonNumpyTest.java similarity index 69% rename from datavec/datavec-python/src/test/java/org/datavec/python/PythonNumpyTest.java rename to contrib/attic/datavec-python/src/test/java/org/datavec/python/PythonNumpyTest.java index 89ea83552..bde4b70f8 100644 --- a/datavec/datavec-python/src/test/java/org/datavec/python/PythonNumpyTest.java +++ b/contrib/attic/datavec-python/src/test/java/org/datavec/python/PythonNumpyTest.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.python; diff --git a/datavec/datavec-python/src/test/java/org/datavec/python/ScalarAndArrayTest.java b/contrib/attic/datavec-python/src/test/java/org/datavec/python/ScalarAndArrayTest.java similarity index 51% rename from datavec/datavec-python/src/test/java/org/datavec/python/ScalarAndArrayTest.java rename to contrib/attic/datavec-python/src/test/java/org/datavec/python/ScalarAndArrayTest.java index e6b1bf606..22941890b 100644 --- a/datavec/datavec-python/src/test/java/org/datavec/python/ScalarAndArrayTest.java +++ b/contrib/attic/datavec-python/src/test/java/org/datavec/python/ScalarAndArrayTest.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.python; diff --git a/datavec/datavec-python/src/test/java/org/datavec/python/TestPythonContextManager.java b/contrib/attic/datavec-python/src/test/java/org/datavec/python/TestPythonContextManager.java similarity index 72% rename from datavec/datavec-python/src/test/java/org/datavec/python/TestPythonContextManager.java rename to contrib/attic/datavec-python/src/test/java/org/datavec/python/TestPythonContextManager.java index 4abad139f..2d74ad2a3 100644 --- a/datavec/datavec-python/src/test/java/org/datavec/python/TestPythonContextManager.java +++ b/contrib/attic/datavec-python/src/test/java/org/datavec/python/TestPythonContextManager.java @@ -1,19 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.python; diff --git a/datavec/datavec-python/src/test/java/org/datavec/python/TestPythonDict.java b/contrib/attic/datavec-python/src/test/java/org/datavec/python/TestPythonDict.java similarity index 62% rename from datavec/datavec-python/src/test/java/org/datavec/python/TestPythonDict.java rename to contrib/attic/datavec-python/src/test/java/org/datavec/python/TestPythonDict.java index 270228946..f1b5426b5 100644 --- a/datavec/datavec-python/src/test/java/org/datavec/python/TestPythonDict.java +++ b/contrib/attic/datavec-python/src/test/java/org/datavec/python/TestPythonDict.java @@ -1,19 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.python; diff --git a/datavec/datavec-python/src/test/java/org/datavec/python/TestPythonExecutioner.java b/contrib/attic/datavec-python/src/test/java/org/datavec/python/TestPythonExecutioner.java similarity index 94% rename from datavec/datavec-python/src/test/java/org/datavec/python/TestPythonExecutioner.java rename to contrib/attic/datavec-python/src/test/java/org/datavec/python/TestPythonExecutioner.java index 027a534bc..564ca4425 100644 --- a/datavec/datavec-python/src/test/java/org/datavec/python/TestPythonExecutioner.java +++ b/contrib/attic/datavec-python/src/test/java/org/datavec/python/TestPythonExecutioner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.python; diff --git a/datavec/datavec-python/src/test/java/org/datavec/python/TestPythonJob.java b/contrib/attic/datavec-python/src/test/java/org/datavec/python/TestPythonJob.java similarity index 91% rename from datavec/datavec-python/src/test/java/org/datavec/python/TestPythonJob.java rename to contrib/attic/datavec-python/src/test/java/org/datavec/python/TestPythonJob.java index 1a39f8d07..967908944 100644 --- a/datavec/datavec-python/src/test/java/org/datavec/python/TestPythonJob.java +++ b/contrib/attic/datavec-python/src/test/java/org/datavec/python/TestPythonJob.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.python; import org.junit.Test; diff --git a/datavec/datavec-python/src/test/java/org/datavec/python/TestPythonList.java b/contrib/attic/datavec-python/src/test/java/org/datavec/python/TestPythonList.java similarity index 78% rename from datavec/datavec-python/src/test/java/org/datavec/python/TestPythonList.java rename to contrib/attic/datavec-python/src/test/java/org/datavec/python/TestPythonList.java index e1c0e1bad..6dde5b116 100644 --- a/datavec/datavec-python/src/test/java/org/datavec/python/TestPythonList.java +++ b/contrib/attic/datavec-python/src/test/java/org/datavec/python/TestPythonList.java @@ -1,19 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.python; diff --git a/datavec/datavec-python/src/test/java/org/datavec/python/TestPythonVariables.java b/contrib/attic/datavec-python/src/test/java/org/datavec/python/TestPythonVariables.java similarity index 74% rename from datavec/datavec-python/src/test/java/org/datavec/python/TestPythonVariables.java rename to contrib/attic/datavec-python/src/test/java/org/datavec/python/TestPythonVariables.java index 20adb720f..82a537a22 100644 --- a/datavec/datavec-python/src/test/java/org/datavec/python/TestPythonVariables.java +++ b/contrib/attic/datavec-python/src/test/java/org/datavec/python/TestPythonVariables.java @@ -1,23 +1,19 @@ /* - * - * * ****************************************************************************** - * * * Copyright (c) 2015-2019 Skymind Inc. - * * * Copyright (c) 2019 Konduit AI. - * * * - * * * This program and the accompanying materials are made available under the - * * * terms of the Apache License, Version 2.0 which is available at - * * * https://www.apache.org/licenses/LICENSE-2.0. - * * * - * * * Unless required by applicable law or agreed to in writing, software - * * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * * * License for the specific language governing permissions and limitations - * * * under the License. - * * * - * * * SPDX-License-Identifier: Apache-2.0 - * * ***************************************************************************** - * - * + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.datavec.python; diff --git a/datavec/datavec-python/src/test/java/org/datavec/python/TestSerde.java b/contrib/attic/datavec-python/src/test/java/org/datavec/python/TestSerde.java similarity index 58% rename from datavec/datavec-python/src/test/java/org/datavec/python/TestSerde.java rename to contrib/attic/datavec-python/src/test/java/org/datavec/python/TestSerde.java index 71d37ca91..146c68331 100644 --- a/datavec/datavec-python/src/test/java/org/datavec/python/TestSerde.java +++ b/contrib/attic/datavec-python/src/test/java/org/datavec/python/TestSerde.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.python; diff --git a/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/pom.xml b/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/pom.xml new file mode 100644 index 000000000..c60c9e046 --- /dev/null +++ b/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/pom.xml @@ -0,0 +1,116 @@ + + + + + + 4.0.0 + + + org.deeplearning4j + deeplearning4j-remote + 1.0.0-SNAPSHOT + + + deeplearning4j-json-server + + deeplearning4j-json-server + + + + junit + junit + + + org.projectlombok + lombok + ${lombok.version} + provided + + + org.nd4j + nd4j-api + ${project.version} + + + org.nd4j + nd4j-json-client + ${project.version} + + + org.nd4j + nd4j-json-server + ${project.version} + + + org.deeplearning4j + deeplearning4j-parallel-wrapper + ${project.version} + + + org.slf4j + slf4j-api + + + ch.qos.logback + logback-core + test + + + ch.qos.logback + logback-classic + test + + + org.deeplearning4j + deeplearning4j-common-tests + ${project.version} + test + + + + + + testresources + + + test-nd4j-native + + + org.nd4j + nd4j-native + ${project.version} + test + + + + + test-nd4j-cuda-11.0 + + + org.nd4j + nd4j-cuda-11.0 + ${project.version} + test + + + + + diff --git a/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/main/java/org/deeplearning4j/remote/DL4jServlet.java b/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/main/java/org/deeplearning4j/remote/DL4jServlet.java similarity index 92% rename from deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/main/java/org/deeplearning4j/remote/DL4jServlet.java rename to contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/main/java/org/deeplearning4j/remote/DL4jServlet.java index 66eaedb4c..ffe43176a 100644 --- a/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/main/java/org/deeplearning4j/remote/DL4jServlet.java +++ b/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/main/java/org/deeplearning4j/remote/DL4jServlet.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.remote; diff --git a/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/main/java/org/deeplearning4j/remote/JsonModelServer.java b/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/main/java/org/deeplearning4j/remote/JsonModelServer.java similarity index 95% rename from deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/main/java/org/deeplearning4j/remote/JsonModelServer.java rename to contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/main/java/org/deeplearning4j/remote/JsonModelServer.java index 1f0b93508..ec8c5398a 100644 --- a/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/main/java/org/deeplearning4j/remote/JsonModelServer.java +++ b/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/main/java/org/deeplearning4j/remote/JsonModelServer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.remote; diff --git a/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/AssertTestsExtendBaseClass.java b/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/AssertTestsExtendBaseClass.java similarity index 52% rename from deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/AssertTestsExtendBaseClass.java rename to contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/AssertTestsExtendBaseClass.java index 6786a8249..0480e4b95 100644 --- a/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/AssertTestsExtendBaseClass.java +++ b/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/AssertTestsExtendBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.remote; import lombok.extern.slf4j.Slf4j; diff --git a/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/BinaryModelServerTest.java b/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/BinaryModelServerTest.java similarity index 93% rename from deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/BinaryModelServerTest.java rename to contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/BinaryModelServerTest.java index eae2ca4f1..b2c519051 100644 --- a/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/BinaryModelServerTest.java +++ b/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/BinaryModelServerTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.remote; import lombok.extern.slf4j.Slf4j; diff --git a/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/JsonModelServerTest.java b/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/JsonModelServerTest.java similarity index 97% rename from deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/JsonModelServerTest.java rename to contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/JsonModelServerTest.java index 5646ee558..9ab3448a1 100644 --- a/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/JsonModelServerTest.java +++ b/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/JsonModelServerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.remote; diff --git a/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/ServletTest.java b/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/ServletTest.java similarity index 83% rename from deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/ServletTest.java rename to contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/ServletTest.java index ede253efa..802aa18dd 100644 --- a/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/ServletTest.java +++ b/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/ServletTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.remote; diff --git a/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/helpers/House.java b/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/helpers/House.java new file mode 100644 index 000000000..d54e9f3ba --- /dev/null +++ b/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/helpers/House.java @@ -0,0 +1,50 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.remote.helpers; + +import com.google.gson.Gson; +import lombok.*; +import org.nd4j.remote.clients.serde.JsonDeserializer; +import org.nd4j.remote.clients.serde.JsonSerializer; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class House { + private int district; + private int bedrooms; + private int bathrooms; + private int area; + + + public static class HouseSerializer implements JsonSerializer { + @Override + public String serialize(@NonNull House o) { + return new Gson().toJson(o); + } + } + + public static class HouseDeserializer implements JsonDeserializer { + @Override + public House deserialize(@NonNull String json) { + return new Gson().fromJson(json, House.class); + } + } +} diff --git a/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/helpers/HouseToPredictedPriceAdapter.java b/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/helpers/HouseToPredictedPriceAdapter.java similarity index 50% rename from deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/helpers/HouseToPredictedPriceAdapter.java rename to contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/helpers/HouseToPredictedPriceAdapter.java index 82976a3da..71bca43d3 100644 --- a/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/helpers/HouseToPredictedPriceAdapter.java +++ b/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/helpers/HouseToPredictedPriceAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.remote.helpers; diff --git a/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/helpers/ImageConversionUtils.java b/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/helpers/ImageConversionUtils.java similarity index 76% rename from deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/helpers/ImageConversionUtils.java rename to contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/helpers/ImageConversionUtils.java index bba9eb4a9..0b5e15884 100644 --- a/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/helpers/ImageConversionUtils.java +++ b/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/helpers/ImageConversionUtils.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.remote.helpers; import lombok.val; diff --git a/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/helpers/PredictedPrice.java b/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/helpers/PredictedPrice.java similarity index 53% rename from deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/helpers/PredictedPrice.java rename to contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/helpers/PredictedPrice.java index c4024bb1d..2b12191b9 100644 --- a/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/helpers/PredictedPrice.java +++ b/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/helpers/PredictedPrice.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.remote.helpers; diff --git a/nd4j/nd4j-remote/nd4j-json-server/src/test/resources/logback.xml b/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/resources/logback.xml similarity index 51% rename from nd4j/nd4j-remote/nd4j-json-server/src/test/resources/logback.xml rename to contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/resources/logback.xml index cbcbed5d6..8b94956e8 100644 --- a/nd4j/nd4j-remote/nd4j-json-server/src/test/resources/logback.xml +++ b/contrib/attic/deeplearning4j-remote/deeplearning4j-json-server/src/test/resources/logback.xml @@ -1,18 +1,20 @@ - + diff --git a/contrib/attic/deeplearning4j-remote/pom.xml b/contrib/attic/deeplearning4j-remote/pom.xml new file mode 100644 index 000000000..23d7b9983 --- /dev/null +++ b/contrib/attic/deeplearning4j-remote/pom.xml @@ -0,0 +1,52 @@ + + + + + + 4.0.0 + + + org.deeplearning4j + deeplearning4j-parent + 1.0.0-SNAPSHOT + + + deeplearning4j-remote + pom + + deeplearning4j-remote + + + deeplearning4j-json-server + + + + + testresources + + + test-nd4j-native + + + test-nd4j-cuda-11.0 + + + diff --git a/jumpy/.gitignore b/contrib/attic/jumpy/.gitignore similarity index 100% rename from jumpy/.gitignore rename to contrib/attic/jumpy/.gitignore diff --git a/jumpy/README.md b/contrib/attic/jumpy/README.md similarity index 100% rename from jumpy/README.md rename to contrib/attic/jumpy/README.md diff --git a/jumpy/benchmarks/benchmark.py b/contrib/attic/jumpy/benchmarks/benchmark.py similarity index 78% rename from jumpy/benchmarks/benchmark.py rename to contrib/attic/jumpy/benchmarks/benchmark.py index 74ac7735c..ec178da14 100644 --- a/jumpy/benchmarks/benchmark.py +++ b/contrib/attic/jumpy/benchmarks/benchmark.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/jumpy/jumpy/__init__.py b/contrib/attic/jumpy/jumpy/__init__.py similarity index 53% rename from jumpy/jumpy/__init__.py rename to contrib/attic/jumpy/jumpy/__init__.py index 496e7dbbe..9ac179f8e 100644 --- a/jumpy/jumpy/__init__.py +++ b/contrib/attic/jumpy/jumpy/__init__.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/jumpy/jumpy/java_classes.py b/contrib/attic/jumpy/jumpy/java_classes.py similarity index 78% rename from jumpy/jumpy/java_classes.py rename to contrib/attic/jumpy/jumpy/java_classes.py index 4cb5074b4..ae5c41606 100644 --- a/jumpy/jumpy/java_classes.py +++ b/contrib/attic/jumpy/jumpy/java_classes.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/jumpy/jumpy/keras_model.py b/contrib/attic/jumpy/jumpy/keras_model.py similarity index 71% rename from jumpy/jumpy/keras_model.py rename to contrib/attic/jumpy/jumpy/keras_model.py index 9133114a1..247e6f51d 100644 --- a/jumpy/jumpy/keras_model.py +++ b/contrib/attic/jumpy/jumpy/keras_model.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/jumpy/jumpy/matlib.py b/contrib/attic/jumpy/jumpy/matlib.py similarity index 63% rename from jumpy/jumpy/matlib.py rename to contrib/attic/jumpy/jumpy/matlib.py index b22bda4d9..2b3d6b652 100644 --- a/jumpy/jumpy/matlib.py +++ b/contrib/attic/jumpy/jumpy/matlib.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/jumpy/jumpy/memory_manager.py b/contrib/attic/jumpy/jumpy/memory_manager.py similarity index 56% rename from jumpy/jumpy/memory_manager.py rename to contrib/attic/jumpy/jumpy/memory_manager.py index 1fc98680c..3d937afdd 100644 --- a/jumpy/jumpy/memory_manager.py +++ b/contrib/attic/jumpy/jumpy/memory_manager.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/jumpy/jumpy/ndarray.py b/contrib/attic/jumpy/jumpy/ndarray.py similarity index 94% rename from jumpy/jumpy/ndarray.py rename to contrib/attic/jumpy/jumpy/ndarray.py index 5d4c9607e..861da4ec4 100644 --- a/jumpy/jumpy/ndarray.py +++ b/contrib/attic/jumpy/jumpy/ndarray.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/jumpy/jumpy/ops/__init__.py b/contrib/attic/jumpy/jumpy/ops/__init__.py similarity index 50% rename from jumpy/jumpy/ops/__init__.py rename to contrib/attic/jumpy/jumpy/ops/__init__.py index be9533df5..ca5a3a1dd 100644 --- a/jumpy/jumpy/ops/__init__.py +++ b/contrib/attic/jumpy/jumpy/ops/__init__.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/jumpy/jumpy/ops/array_manip.py b/contrib/attic/jumpy/jumpy/ops/array_manip.py similarity index 82% rename from jumpy/jumpy/ops/array_manip.py rename to contrib/attic/jumpy/jumpy/ops/array_manip.py index 675019e75..0a5ee15c2 100644 --- a/jumpy/jumpy/ops/array_manip.py +++ b/contrib/attic/jumpy/jumpy/ops/array_manip.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/jumpy/jumpy/ops/linalg.py b/contrib/attic/jumpy/jumpy/ops/linalg.py similarity index 62% rename from jumpy/jumpy/ops/linalg.py rename to contrib/attic/jumpy/jumpy/ops/linalg.py index 01d068042..1f82e5f6e 100644 --- a/jumpy/jumpy/ops/linalg.py +++ b/contrib/attic/jumpy/jumpy/ops/linalg.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/jumpy/jumpy/ops/op.py b/contrib/attic/jumpy/jumpy/ops/op.py similarity index 77% rename from jumpy/jumpy/ops/op.py rename to contrib/attic/jumpy/jumpy/ops/op.py index 13bb1d05f..44e59db50 100644 --- a/jumpy/jumpy/ops/op.py +++ b/contrib/attic/jumpy/jumpy/ops/op.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/jumpy/jumpy/ops/reduction.py b/contrib/attic/jumpy/jumpy/ops/reduction.py similarity index 59% rename from jumpy/jumpy/ops/reduction.py rename to contrib/attic/jumpy/jumpy/ops/reduction.py index 3590bbcae..337d6947e 100644 --- a/jumpy/jumpy/ops/reduction.py +++ b/contrib/attic/jumpy/jumpy/ops/reduction.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/jumpy/jumpy/spark/__init__.py b/contrib/attic/jumpy/jumpy/spark/__init__.py similarity index 53% rename from jumpy/jumpy/spark/__init__.py rename to contrib/attic/jumpy/jumpy/spark/__init__.py index f00df555b..5fcc55bbf 100644 --- a/jumpy/jumpy/spark/__init__.py +++ b/contrib/attic/jumpy/jumpy/spark/__init__.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/jumpy/jumpy/spark/dataset.py b/contrib/attic/jumpy/jumpy/spark/dataset.py similarity index 70% rename from jumpy/jumpy/spark/dataset.py rename to contrib/attic/jumpy/jumpy/spark/dataset.py index 225cd223d..3f840532b 100644 --- a/jumpy/jumpy/spark/dataset.py +++ b/contrib/attic/jumpy/jumpy/spark/dataset.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/jumpy/jumpy/spark/fast_impl.py b/contrib/attic/jumpy/jumpy/spark/fast_impl.py similarity index 86% rename from jumpy/jumpy/spark/fast_impl.py rename to contrib/attic/jumpy/jumpy/spark/fast_impl.py index 85b6c7eb6..f47377b32 100644 --- a/jumpy/jumpy/spark/fast_impl.py +++ b/contrib/attic/jumpy/jumpy/spark/fast_impl.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/jumpy/jumpy/spark/naive_impl.py b/contrib/attic/jumpy/jumpy/spark/naive_impl.py similarity index 69% rename from jumpy/jumpy/spark/naive_impl.py rename to contrib/attic/jumpy/jumpy/spark/naive_impl.py index bbce9bfc8..400319c33 100644 --- a/jumpy/jumpy/spark/naive_impl.py +++ b/contrib/attic/jumpy/jumpy/spark/naive_impl.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2019 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/jumpy/jumpy/spark/utils.py b/contrib/attic/jumpy/jumpy/spark/utils.py similarity index 82% rename from jumpy/jumpy/spark/utils.py rename to contrib/attic/jumpy/jumpy/spark/utils.py index 6175eae78..3721beaec 100644 --- a/jumpy/jumpy/spark/utils.py +++ b/contrib/attic/jumpy/jumpy/spark/utils.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/jumpy/jumpy/tf_model.py b/contrib/attic/jumpy/jumpy/tf_model.py similarity index 78% rename from jumpy/jumpy/tf_model.py rename to contrib/attic/jumpy/jumpy/tf_model.py index cf8ae38aa..11b6e9b5d 100644 --- a/jumpy/jumpy/tf_model.py +++ b/contrib/attic/jumpy/jumpy/tf_model.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/jumpy/pom.xml b/contrib/attic/jumpy/pom.xml similarity index 82% rename from jumpy/pom.xml rename to contrib/attic/jumpy/pom.xml index 47a16a0c9..219706306 100644 --- a/jumpy/pom.xml +++ b/contrib/attic/jumpy/pom.xml @@ -1,46 +1,38 @@ - + + 4.0.0 + org.deeplearning4j deeplearning4j 1.0.0-SNAPSHOT - 4.0.0 - - org.deeplearning4j jumpy - jar jumpy - - - Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - - - false 0.2.4 @@ -60,7 +52,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.1.0 + ${maven-shade-plugin.version} package @@ -81,15 +73,11 @@ org.apache.maven.plugins maven-compiler-plugin - 3.1 - - 1.8 - 1.8 - org.apache.maven.plugins maven-jar-plugin + ${maven-jar-plugin.version} true @@ -121,6 +109,7 @@ org.codehaus.mojo exec-maven-plugin + ${exec-maven-plugin.version} python-install-cython diff --git a/jumpy/pytest.ini b/contrib/attic/jumpy/pytest.ini similarity index 100% rename from jumpy/pytest.ini rename to contrib/attic/jumpy/pytest.ini diff --git a/contrib/attic/jumpy/release.sh b/contrib/attic/jumpy/release.sh new file mode 100644 index 000000000..5fd4b8fb2 --- /dev/null +++ b/contrib/attic/jumpy/release.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +# Note: this needs manual upgrading of version in setup.py to work (can't override old versions) + +# remove old wheels +sudo rm -rf dist/* + +# Build Python 2 & 3 wheels for current version +sudo python2 setup.py sdist bdist_wheel +sudo python3 setup.py sdist bdist_wheel + +# Upload to PyPI with twine. Needs full "skymind" credentials in ~/.pypirc +twine upload dist/* \ No newline at end of file diff --git a/jumpy/requirements.txt b/contrib/attic/jumpy/requirements.txt similarity index 100% rename from jumpy/requirements.txt rename to contrib/attic/jumpy/requirements.txt diff --git a/jumpy/setup.cfg b/contrib/attic/jumpy/setup.cfg similarity index 100% rename from jumpy/setup.cfg rename to contrib/attic/jumpy/setup.cfg diff --git a/jumpy/setup.py b/contrib/attic/jumpy/setup.py similarity index 68% rename from jumpy/setup.py rename to contrib/attic/jumpy/setup.py index a805ecbe9..53f93de91 100644 --- a/jumpy/setup.py +++ b/contrib/attic/jumpy/setup.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at @@ -14,11 +29,9 @@ # SPDX-License-Identifier: Apache-2.0 ################################################################################ - from setuptools import setup from setuptools import find_packages - setup(name='jumpy', version='0.2.4', description='Numpy and nd4j interop', @@ -35,7 +48,7 @@ setup(name='jumpy', 'Topic :: Software Development :: Libraries', ], keywords='numpy jumpy java nd4j deeplearning4j', - url='https://github.com/deeplearning4j/deeplearning4j.git', + url='https://github.com/eclipse/deeplearning4j.git', license='Apache', setup_requires=['Cython', 'pytest-runner'], install_requires=['Cython', 'requests', 'pydl4j', 'numpy'], diff --git a/jumpy/tests/__init__.py b/contrib/attic/jumpy/tests/__init__.py similarity index 50% rename from jumpy/tests/__init__.py rename to contrib/attic/jumpy/tests/__init__.py index 652867c5a..e1809e730 100644 --- a/jumpy/tests/__init__.py +++ b/contrib/attic/jumpy/tests/__init__.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/contrib/attic/jumpy/tests/jumpy/__init__.py b/contrib/attic/jumpy/tests/jumpy/__init__.py new file mode 100644 index 000000000..457b3fd36 --- /dev/null +++ b/contrib/attic/jumpy/tests/jumpy/__init__.py @@ -0,0 +1,30 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + +################################################################################ +# +# This program and the accompanying materials are made available under the +# terms of the Apache License, Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0. +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# SPDX-License-Identifier: Apache-2.0 +################################################################################ diff --git a/jumpy/tests/jumpy/test_array_creation.py b/contrib/attic/jumpy/tests/jumpy/test_array_creation.py similarity index 55% rename from jumpy/tests/jumpy/test_array_creation.py rename to contrib/attic/jumpy/tests/jumpy/test_array_creation.py index bfb50592b..e764704d2 100644 --- a/jumpy/tests/jumpy/test_array_creation.py +++ b/contrib/attic/jumpy/tests/jumpy/test_array_creation.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/jumpy/tests/jumpy/test_broadcast.py b/contrib/attic/jumpy/tests/jumpy/test_broadcast.py similarity index 71% rename from jumpy/tests/jumpy/test_broadcast.py rename to contrib/attic/jumpy/tests/jumpy/test_broadcast.py index 672edbd49..f088a7e5e 100644 --- a/jumpy/tests/jumpy/test_broadcast.py +++ b/contrib/attic/jumpy/tests/jumpy/test_broadcast.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/jumpy/tests/jumpy/test_conversion_32.py b/contrib/attic/jumpy/tests/jumpy/test_conversion_32.py similarity index 61% rename from jumpy/tests/jumpy/test_conversion_32.py rename to contrib/attic/jumpy/tests/jumpy/test_conversion_32.py index 8fb1ac009..44d9c832f 100644 --- a/jumpy/tests/jumpy/test_conversion_32.py +++ b/contrib/attic/jumpy/tests/jumpy/test_conversion_32.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/jumpy/tests/jumpy/test_conversion_64.py b/contrib/attic/jumpy/tests/jumpy/test_conversion_64.py similarity index 60% rename from jumpy/tests/jumpy/test_conversion_64.py rename to contrib/attic/jumpy/tests/jumpy/test_conversion_64.py index 154c6eb48..8f6aa4e53 100644 --- a/jumpy/tests/jumpy/test_conversion_64.py +++ b/contrib/attic/jumpy/tests/jumpy/test_conversion_64.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/jumpy/tests/jumpy/test_reduction_ops.py b/contrib/attic/jumpy/tests/jumpy/test_reduction_ops.py similarity index 65% rename from jumpy/tests/jumpy/test_reduction_ops.py rename to contrib/attic/jumpy/tests/jumpy/test_reduction_ops.py index 854d5020e..f2ae46c54 100644 --- a/jumpy/tests/jumpy/test_reduction_ops.py +++ b/contrib/attic/jumpy/tests/jumpy/test_reduction_ops.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/jumpy/tests/jumpy/test_shape_ops.py b/contrib/attic/jumpy/tests/jumpy/test_shape_ops.py similarity index 83% rename from jumpy/tests/jumpy/test_shape_ops.py rename to contrib/attic/jumpy/tests/jumpy/test_shape_ops.py index 73972ff61..6513ffa2d 100644 --- a/jumpy/tests/jumpy/test_shape_ops.py +++ b/contrib/attic/jumpy/tests/jumpy/test_shape_ops.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/jumpy/tests/jumpy/test_spark.py b/contrib/attic/jumpy/tests/jumpy/test_spark.py similarity index 83% rename from jumpy/tests/jumpy/test_spark.py rename to contrib/attic/jumpy/tests/jumpy/test_spark.py index e2bf569f4..7835d119f 100644 --- a/jumpy/tests/jumpy/test_spark.py +++ b/contrib/attic/jumpy/tests/jumpy/test_spark.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2019 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/jumpy/tests/jumpy/test_ufuncs.py b/contrib/attic/jumpy/tests/jumpy/test_ufuncs.py similarity index 69% rename from jumpy/tests/jumpy/test_ufuncs.py rename to contrib/attic/jumpy/tests/jumpy/test_ufuncs.py index 929daabac..3977a4987 100644 --- a/jumpy/tests/jumpy/test_ufuncs.py +++ b/contrib/attic/jumpy/tests/jumpy/test_ufuncs.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/contrib/attic/nd4j-jdbc/nd4j-jdbc-api/pom.xml b/contrib/attic/nd4j-jdbc/nd4j-jdbc-api/pom.xml new file mode 100644 index 000000000..5043ed39d --- /dev/null +++ b/contrib/attic/nd4j-jdbc/nd4j-jdbc-api/pom.xml @@ -0,0 +1,53 @@ + + + + + + 4.0.0 + + + org.nd4j + nd4j-jdbc + 1.0.0-SNAPSHOT + + + nd4j-jdbc-api + + nd4j-jdbc-api + + + + com.mchange + c3p0 + 0.9.5.4 + + + org.nd4j + nd4j-api + + + + + + testresources + + + diff --git a/nd4j/nd4j-jdbc/nd4j-jdbc-api/src/main/java/org/nd4j/jdbc/driverfinder/DriverFinder.java b/contrib/attic/nd4j-jdbc/nd4j-jdbc-api/src/main/java/org/nd4j/jdbc/driverfinder/DriverFinder.java similarity index 76% rename from nd4j/nd4j-jdbc/nd4j-jdbc-api/src/main/java/org/nd4j/jdbc/driverfinder/DriverFinder.java rename to contrib/attic/nd4j-jdbc/nd4j-jdbc-api/src/main/java/org/nd4j/jdbc/driverfinder/DriverFinder.java index 24a0b1ee8..29f61e1b9 100644 --- a/nd4j/nd4j-jdbc/nd4j-jdbc-api/src/main/java/org/nd4j/jdbc/driverfinder/DriverFinder.java +++ b/contrib/attic/nd4j-jdbc/nd4j-jdbc-api/src/main/java/org/nd4j/jdbc/driverfinder/DriverFinder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.jdbc.driverfinder; diff --git a/nd4j/nd4j-jdbc/nd4j-jdbc-api/src/main/java/org/nd4j/jdbc/loader/api/JDBCNDArrayIO.java b/contrib/attic/nd4j-jdbc/nd4j-jdbc-api/src/main/java/org/nd4j/jdbc/loader/api/JDBCNDArrayIO.java similarity index 67% rename from nd4j/nd4j-jdbc/nd4j-jdbc-api/src/main/java/org/nd4j/jdbc/loader/api/JDBCNDArrayIO.java rename to contrib/attic/nd4j-jdbc/nd4j-jdbc-api/src/main/java/org/nd4j/jdbc/loader/api/JDBCNDArrayIO.java index 4b8713837..1f4be4b72 100644 --- a/nd4j/nd4j-jdbc/nd4j-jdbc-api/src/main/java/org/nd4j/jdbc/loader/api/JDBCNDArrayIO.java +++ b/contrib/attic/nd4j-jdbc/nd4j-jdbc-api/src/main/java/org/nd4j/jdbc/loader/api/JDBCNDArrayIO.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.jdbc.loader.api; diff --git a/nd4j/nd4j-jdbc/nd4j-jdbc-api/src/main/java/org/nd4j/jdbc/loader/impl/BaseLoader.java b/contrib/attic/nd4j-jdbc/nd4j-jdbc-api/src/main/java/org/nd4j/jdbc/loader/impl/BaseLoader.java similarity index 86% rename from nd4j/nd4j-jdbc/nd4j-jdbc-api/src/main/java/org/nd4j/jdbc/loader/impl/BaseLoader.java rename to contrib/attic/nd4j-jdbc/nd4j-jdbc-api/src/main/java/org/nd4j/jdbc/loader/impl/BaseLoader.java index 9a5a4229f..89d3c8957 100644 --- a/nd4j/nd4j-jdbc/nd4j-jdbc-api/src/main/java/org/nd4j/jdbc/loader/impl/BaseLoader.java +++ b/contrib/attic/nd4j-jdbc/nd4j-jdbc-api/src/main/java/org/nd4j/jdbc/loader/impl/BaseLoader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.jdbc.loader.impl; diff --git a/nd4j/nd4j-jdbc/nd4j-jdbc-hsql/pom.xml b/contrib/attic/nd4j-jdbc/nd4j-jdbc-hsql/pom.xml similarity index 67% rename from nd4j/nd4j-jdbc/nd4j-jdbc-hsql/pom.xml rename to contrib/attic/nd4j-jdbc/nd4j-jdbc-hsql/pom.xml index 818fc69aa..3d6154fbc 100644 --- a/nd4j/nd4j-jdbc/nd4j-jdbc-hsql/pom.xml +++ b/contrib/attic/nd4j-jdbc/nd4j-jdbc-hsql/pom.xml @@ -1,37 +1,41 @@ - + + + + - - - nd4j-jdbc - org.nd4j - 1.0.0-SNAPSHOT - 4.0.0 + + org.nd4j + nd4j-jdbc + 1.0.0-SNAPSHOT + + nd4j-jdbc-hsql - jar nd4j-jdbc-hsql 1.7 2.4.0 - UTF-8 @@ -55,12 +59,9 @@ hsqldb ${hsqldb.version} - org.nd4j nd4j-common-tests - ${project.version} - test @@ -68,11 +69,9 @@ testresources - nd4j-testresources - nd4j-tests-cpu diff --git a/nd4j/nd4j-jdbc/nd4j-jdbc-hsql/src/main/java/org/nd4j/jdbc/hsql/HsqlLoader.java b/contrib/attic/nd4j-jdbc/nd4j-jdbc-hsql/src/main/java/org/nd4j/jdbc/hsql/HsqlLoader.java similarity index 66% rename from nd4j/nd4j-jdbc/nd4j-jdbc-hsql/src/main/java/org/nd4j/jdbc/hsql/HsqlLoader.java rename to contrib/attic/nd4j-jdbc/nd4j-jdbc-hsql/src/main/java/org/nd4j/jdbc/hsql/HsqlLoader.java index 23754e03b..445668b74 100644 --- a/nd4j/nd4j-jdbc/nd4j-jdbc-hsql/src/main/java/org/nd4j/jdbc/hsql/HsqlLoader.java +++ b/contrib/attic/nd4j-jdbc/nd4j-jdbc-hsql/src/main/java/org/nd4j/jdbc/hsql/HsqlLoader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.jdbc.hsql; diff --git a/contrib/attic/nd4j-jdbc/nd4j-jdbc-hsql/src/main/resources/nd4j.jdbc.properties b/contrib/attic/nd4j-jdbc/nd4j-jdbc-hsql/src/main/resources/nd4j.jdbc.properties new file mode 100644 index 000000000..903c91720 --- /dev/null +++ b/contrib/attic/nd4j-jdbc/nd4j-jdbc-hsql/src/main/resources/nd4j.jdbc.properties @@ -0,0 +1,19 @@ +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +jdbc.driver=org.hsqldb.jdbc.JDBCDriver \ No newline at end of file diff --git a/nd4j/nd4j-jdbc/nd4j-jdbc-hsql/src/test/java/org/nd4j/jdbc/hsql/HSqlLoaderTest.java b/contrib/attic/nd4j-jdbc/nd4j-jdbc-hsql/src/test/java/org/nd4j/jdbc/hsql/HSqlLoaderTest.java similarity index 82% rename from nd4j/nd4j-jdbc/nd4j-jdbc-hsql/src/test/java/org/nd4j/jdbc/hsql/HSqlLoaderTest.java rename to contrib/attic/nd4j-jdbc/nd4j-jdbc-hsql/src/test/java/org/nd4j/jdbc/hsql/HSqlLoaderTest.java index 96c9ac5e4..46348b27b 100644 --- a/nd4j/nd4j-jdbc/nd4j-jdbc-hsql/src/test/java/org/nd4j/jdbc/hsql/HSqlLoaderTest.java +++ b/contrib/attic/nd4j-jdbc/nd4j-jdbc-hsql/src/test/java/org/nd4j/jdbc/hsql/HSqlLoaderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.jdbc.hsql; diff --git a/contrib/attic/nd4j-jdbc/nd4j-jdbc-mysql/pom.xml b/contrib/attic/nd4j-jdbc/nd4j-jdbc-mysql/pom.xml new file mode 100644 index 000000000..b51b6906b --- /dev/null +++ b/contrib/attic/nd4j-jdbc/nd4j-jdbc-mysql/pom.xml @@ -0,0 +1,55 @@ + + + + + + 4.0.0 + + + org.nd4j + nd4j-jdbc + 1.0.0-SNAPSHOT + + + nd4j-jdbc-mysql + + + + org.nd4j + nd4j-jdbc-api + ${project.version} + + + junit + junit + + + org.nd4j + nd4j-common-tests + + + + + + testresources + + + diff --git a/nd4j/nd4j-jdbc/nd4j-jdbc-mysql/src/main/java/org/nd4j/jdbc/mysql/MysqlLoader.java b/contrib/attic/nd4j-jdbc/nd4j-jdbc-mysql/src/main/java/org/nd4j/jdbc/mysql/MysqlLoader.java similarity index 59% rename from nd4j/nd4j-jdbc/nd4j-jdbc-mysql/src/main/java/org/nd4j/jdbc/mysql/MysqlLoader.java rename to contrib/attic/nd4j-jdbc/nd4j-jdbc-mysql/src/main/java/org/nd4j/jdbc/mysql/MysqlLoader.java index 20dde6a4a..00adad3ec 100644 --- a/nd4j/nd4j-jdbc/nd4j-jdbc-mysql/src/main/java/org/nd4j/jdbc/mysql/MysqlLoader.java +++ b/contrib/attic/nd4j-jdbc/nd4j-jdbc-mysql/src/main/java/org/nd4j/jdbc/mysql/MysqlLoader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.jdbc.mysql; diff --git a/contrib/attic/nd4j-jdbc/nd4j-jdbc-mysql/src/main/resources/nd4j.jdbc.properties b/contrib/attic/nd4j-jdbc/nd4j-jdbc-mysql/src/main/resources/nd4j.jdbc.properties new file mode 100644 index 000000000..d2464c020 --- /dev/null +++ b/contrib/attic/nd4j-jdbc/nd4j-jdbc-mysql/src/main/resources/nd4j.jdbc.properties @@ -0,0 +1,19 @@ +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +jdbc.driver=com.mysql.jdbc.Driver \ No newline at end of file diff --git a/nd4j/nd4j-jdbc/nd4j-jdbc-mysql/src/test/java/org/nd4j/jdbc/mysql/MysqlLoaderTest.java b/contrib/attic/nd4j-jdbc/nd4j-jdbc-mysql/src/test/java/org/nd4j/jdbc/mysql/MysqlLoaderTest.java similarity index 59% rename from nd4j/nd4j-jdbc/nd4j-jdbc-mysql/src/test/java/org/nd4j/jdbc/mysql/MysqlLoaderTest.java rename to contrib/attic/nd4j-jdbc/nd4j-jdbc-mysql/src/test/java/org/nd4j/jdbc/mysql/MysqlLoaderTest.java index f5f924235..9b64eb065 100644 --- a/nd4j/nd4j-jdbc/nd4j-jdbc-mysql/src/test/java/org/nd4j/jdbc/mysql/MysqlLoaderTest.java +++ b/contrib/attic/nd4j-jdbc/nd4j-jdbc-mysql/src/test/java/org/nd4j/jdbc/mysql/MysqlLoaderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.jdbc.mysql; diff --git a/contrib/attic/nd4j-jdbc/pom.xml b/contrib/attic/nd4j-jdbc/pom.xml new file mode 100644 index 000000000..7a018d9b8 --- /dev/null +++ b/contrib/attic/nd4j-jdbc/pom.xml @@ -0,0 +1,68 @@ + + + + + + 4.0.0 + + + org.nd4j + nd4j + 1.0.0-SNAPSHOT + + + nd4j-jdbc + pom + + nd4j-jdbc + + + nd4j-jdbc-api + nd4j-jdbc-mysql + nd4j-jdbc-hsql + + + + + + org.nd4j + nd4j-common-tests + ${project.version} + test + + + + + + + testresources + + + nd4j-testresources + + + nd4j-tests-cpu + + + nd4j-tests-cuda + + + diff --git a/nd4j/nd4j-remote/nd4j-grpc-client/pom.xml b/contrib/attic/nd4j-remote/nd4j-grpc-client/pom.xml similarity index 60% rename from nd4j/nd4j-remote/nd4j-grpc-client/pom.xml rename to contrib/attic/nd4j-remote/nd4j-grpc-client/pom.xml index 6a437341b..0e0da8f84 100644 --- a/nd4j/nd4j-remote/nd4j-grpc-client/pom.xml +++ b/contrib/attic/nd4j-remote/nd4j-grpc-client/pom.xml @@ -1,89 +1,70 @@ + - + + + 4.0.0 - - nd4j-remote org.nd4j + nd4j-remote 1.0.0-SNAPSHOT - 4.0.0 nd4j-grpc-client nd4j-grpc - - http://www.example.com - - - UTF-8 - 1.7 - 1.7 - - - junit - junit - test - - org.nd4j nd4j-api - ${project.version} - com.google.flatbuffers flatbuffers-java-grpc ${flatbuffers.version} - javax.annotation javax.annotation-api - ${javax.version} + ${javax.annotation-api.version} provided - io.grpc grpc-all ${grpc.version} - ch.qos.logback logback-classic - ${logback.version} test - ch.qos.logback logback-core - ${logback.version} test - org.nd4j nd4j-common-tests @@ -92,11 +73,10 @@ - - - - + + testresources + nd4j-tests-cpu @@ -108,7 +88,6 @@ - nd4j-tests-cuda @@ -120,9 +99,5 @@ - - - testresources - diff --git a/nd4j/nd4j-remote/nd4j-grpc-client/src/main/java/org/nd4j/remote/grpc/GraphInferenceGrpcClient.java b/contrib/attic/nd4j-remote/nd4j-grpc-client/src/main/java/org/nd4j/remote/grpc/GraphInferenceGrpcClient.java similarity index 89% rename from nd4j/nd4j-remote/nd4j-grpc-client/src/main/java/org/nd4j/remote/grpc/GraphInferenceGrpcClient.java rename to contrib/attic/nd4j-remote/nd4j-grpc-client/src/main/java/org/nd4j/remote/grpc/GraphInferenceGrpcClient.java index eb1a3d416..622c32546 100644 --- a/nd4j/nd4j-remote/nd4j-grpc-client/src/main/java/org/nd4j/remote/grpc/GraphInferenceGrpcClient.java +++ b/contrib/attic/nd4j-remote/nd4j-grpc-client/src/main/java/org/nd4j/remote/grpc/GraphInferenceGrpcClient.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.remote.grpc; diff --git a/nd4j/nd4j-remote/nd4j-grpc-client/src/main/java/org/nd4j/remote/grpc/grpc/GraphInferenceServerGrpc.java b/contrib/attic/nd4j-remote/nd4j-grpc-client/src/main/java/org/nd4j/remote/grpc/grpc/GraphInferenceServerGrpc.java similarity index 96% rename from nd4j/nd4j-remote/nd4j-grpc-client/src/main/java/org/nd4j/remote/grpc/grpc/GraphInferenceServerGrpc.java rename to contrib/attic/nd4j-remote/nd4j-grpc-client/src/main/java/org/nd4j/remote/grpc/grpc/GraphInferenceServerGrpc.java index 850923f17..170f16f50 100644 --- a/nd4j/nd4j-remote/nd4j-grpc-client/src/main/java/org/nd4j/remote/grpc/grpc/GraphInferenceServerGrpc.java +++ b/contrib/attic/nd4j-remote/nd4j-grpc-client/src/main/java/org/nd4j/remote/grpc/grpc/GraphInferenceServerGrpc.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + //Generated by flatc compiler (version 1.10.0) //If you make any local changes, they will be lost //source: graph.fbs diff --git a/nd4j/nd4j-remote/nd4j-grpc-client/src/test/java/org/nd4j/graph/GraphInferenceGrpcClientTest.java b/contrib/attic/nd4j-remote/nd4j-grpc-client/src/test/java/org/nd4j/graph/GraphInferenceGrpcClientTest.java similarity index 79% rename from nd4j/nd4j-remote/nd4j-grpc-client/src/test/java/org/nd4j/graph/GraphInferenceGrpcClientTest.java rename to contrib/attic/nd4j-remote/nd4j-grpc-client/src/test/java/org/nd4j/graph/GraphInferenceGrpcClientTest.java index 1bbefd384..72ab97341 100644 --- a/nd4j/nd4j-remote/nd4j-grpc-client/src/test/java/org/nd4j/graph/GraphInferenceGrpcClientTest.java +++ b/contrib/attic/nd4j-remote/nd4j-grpc-client/src/test/java/org/nd4j/graph/GraphInferenceGrpcClientTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.graph; diff --git a/contrib/attic/nd4j-remote/nd4j-json-client/pom.xml b/contrib/attic/nd4j-remote/nd4j-json-client/pom.xml new file mode 100644 index 000000000..8ff963971 --- /dev/null +++ b/contrib/attic/nd4j-remote/nd4j-json-client/pom.xml @@ -0,0 +1,115 @@ + + + + + + 4.0.0 + + + org.nd4j + nd4j-remote + 1.0.0-SNAPSHOT + + + nd4j-json-client + + nd4j-json-client + + + + com.mashape.unirest + unirest-java + ${unirest.version} + + + org.slf4j + slf4j-api + + + org.nd4j + jackson + ${project.version} + + + + + + testresources + + + nd4j-testresources + + + nd4j-tests-cpu + + false + + + + org.nd4j + nd4j-native + ${project.version} + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + src/test/java + + *.java + **/*.java + + -Ddtype=float -Xmx8g + + + + + + + + nd4j-tests-cuda + + false + + + + org.nd4j + nd4j-cuda-11.0 + ${project.version} + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + true + + + + + + + diff --git a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/JsonRemoteInference.java b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/JsonRemoteInference.java similarity index 90% rename from nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/JsonRemoteInference.java rename to contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/JsonRemoteInference.java index f7302b9da..49244bfaa 100644 --- a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/JsonRemoteInference.java +++ b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/JsonRemoteInference.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.remote.clients; diff --git a/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/BinaryDeserializer.java b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/BinaryDeserializer.java new file mode 100644 index 000000000..9917a85ce --- /dev/null +++ b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/BinaryDeserializer.java @@ -0,0 +1,34 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.remote.clients.serde; + +/** + * This interface describes basic binary deserializer interface used for remote inference + * @param type of the deserializable class + * + * @author Alexander Stoyakin + */ +public interface BinaryDeserializer { + + /** + * This method deserializes binary data to arbitrary object. + * @param byte buffer + * @return deserialized object + */ + T deserialize(byte[] buffer); +} diff --git a/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/BinarySerializer.java b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/BinarySerializer.java new file mode 100644 index 000000000..3e35a8058 --- /dev/null +++ b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/BinarySerializer.java @@ -0,0 +1,36 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.remote.clients.serde; + +/** + * This interface describes basic binary serializer interface used for remote inference + * @param type of the serializable class + * + * @author Alexander Stoyakin + */ +public interface BinarySerializer { + + /** + * This method serializes given object into byte buffer + * + * @param o object to be serialized + * @return + */ + byte[] serialize(T o); +} diff --git a/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/JsonDeserializer.java b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/JsonDeserializer.java new file mode 100644 index 000000000..14c658296 --- /dev/null +++ b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/JsonDeserializer.java @@ -0,0 +1,35 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.remote.clients.serde; + +/** + * This interface describes basic JSON deserializer interface used for JsonRemoteInference + * @param type of the deserializable class + * + * @author raver119@gmail.com + */ +public interface JsonDeserializer { + + /** + * This method serializes given object into JSON-string + * @param json string containing JSON representation of the object + * @return + */ + T deserialize(String json); +} diff --git a/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/JsonSerializer.java b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/JsonSerializer.java new file mode 100644 index 000000000..e1299d0f0 --- /dev/null +++ b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/JsonSerializer.java @@ -0,0 +1,36 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.remote.clients.serde; + +/** + * This interface describes basic JSON serializer interface used for JsonRemoteInference + * @param type of the serializable class + * + * @author raver119@gmail.com + */ +public interface JsonSerializer { + + /** + * This method serializes given object into JSON-string + * + * @param o object to be serialized + * @return + */ + String serialize(T o); +} diff --git a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/AbstractSerDe.java b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/AbstractSerDe.java similarity index 53% rename from nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/AbstractSerDe.java rename to contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/AbstractSerDe.java index fa02496bf..707c79d05 100644 --- a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/AbstractSerDe.java +++ b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/AbstractSerDe.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.remote.clients.serde.impl; diff --git a/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/BooleanSerde.java b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/BooleanSerde.java new file mode 100644 index 000000000..bb0a1df79 --- /dev/null +++ b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/BooleanSerde.java @@ -0,0 +1,36 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.remote.clients.serde.impl; + +import lombok.NonNull; + +/** + * This class provides JSON ser/de for Java Boolean. Single value only. + */ +public class BooleanSerde extends AbstractSerDe { + @Override + public Boolean deserialize(@NonNull String json) { + return deserializeClass(json, Boolean.class); + } + + @Override + public String serialize(@NonNull Boolean o) { + return serializeClass(o); + } +} diff --git a/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/DoubleArraySerde.java b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/DoubleArraySerde.java new file mode 100644 index 000000000..7839d72ca --- /dev/null +++ b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/DoubleArraySerde.java @@ -0,0 +1,36 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.remote.clients.serde.impl; + +import lombok.*; +/** + * This class provides JSON ser/de for Java double[] + */ +public class DoubleArraySerde extends AbstractSerDe { + + @Override + public String serialize(@NonNull double[] data) { + return serializeClass(data); + } + + @Override + public double[] deserialize(@NonNull String json) { + return deserializeClass(json, double[].class); + } +} diff --git a/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/DoubleSerde.java b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/DoubleSerde.java new file mode 100644 index 000000000..6eae3714e --- /dev/null +++ b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/DoubleSerde.java @@ -0,0 +1,36 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.remote.clients.serde.impl; + +import lombok.NonNull; + +/** + * This class provides JSON ser/de for Java Double. Single value only. + */ +public class DoubleSerde extends AbstractSerDe { + @Override + public Double deserialize(@NonNull String json) { + return deserializeClass(json, Double.class); + } + + @Override + public String serialize(@NonNull Double o) { + return serializeClass(o); + } +} diff --git a/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/FloatArraySerde.java b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/FloatArraySerde.java new file mode 100644 index 000000000..396dacce9 --- /dev/null +++ b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/FloatArraySerde.java @@ -0,0 +1,40 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.remote.clients.serde.impl; + + +import lombok.*; +import org.nd4j.shade.jackson.core.JsonProcessingException; +import org.nd4j.shade.jackson.databind.ObjectMapper; + + +/** + * This class provides JSON ser/de for Java float[] + */ +public class FloatArraySerde extends AbstractSerDe { + + @Override + public String serialize(@NonNull float[] data) { + return serializeClass(data); + } + + @Override + public float[] deserialize(@NonNull String json) { + return deserializeClass(json, float[].class); + } +} diff --git a/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/FloatSerde.java b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/FloatSerde.java new file mode 100644 index 000000000..1d087d228 --- /dev/null +++ b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/FloatSerde.java @@ -0,0 +1,36 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.remote.clients.serde.impl; + +import lombok.NonNull; + +/** + * This class provides JSON ser/de for Java Float. Single value only. + */ +public class FloatSerde extends AbstractSerDe { + @Override + public Float deserialize(@NonNull String json) { + return deserializeClass(json, Float.class); + } + + @Override + public String serialize(@NonNull Float o) { + return serializeClass(o); + } +} diff --git a/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/IntegerSerde.java b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/IntegerSerde.java new file mode 100644 index 000000000..81dff8561 --- /dev/null +++ b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/IntegerSerde.java @@ -0,0 +1,36 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.remote.clients.serde.impl; + +import lombok.NonNull; + +/** + * This class provides JSON ser/de for Java Integer. Single value only. + */ +public class IntegerSerde extends AbstractSerDe { + @Override + public Integer deserialize(@NonNull String json) { + return deserializeClass(json, Integer.class); + } + + @Override + public String serialize(@NonNull Integer o) { + return serializeClass(o); + } +} diff --git a/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/StringSerde.java b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/StringSerde.java new file mode 100644 index 000000000..0d94ed7b6 --- /dev/null +++ b/contrib/attic/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/StringSerde.java @@ -0,0 +1,40 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.remote.clients.serde.impl; + +import lombok.NonNull; +import org.nd4j.shade.jackson.core.JsonProcessingException; +import org.nd4j.shade.jackson.databind.ObjectMapper; + +/** + * This class provides fake JSON serializer/deserializer functionality for String. + * It doesn't put any JSON-specific bits into actual string + */ +public class StringSerde extends AbstractSerDe { + + @Override + public String serialize(@NonNull String data) { + return serializeClass(data); + } + + @Override + public String deserialize(@NonNull String json) { + return deserializeClass(json, String.class); + } +} diff --git a/nd4j/nd4j-remote/nd4j-json-server/README.md b/contrib/attic/nd4j-remote/nd4j-json-server/README.md similarity index 100% rename from nd4j/nd4j-remote/nd4j-json-server/README.md rename to contrib/attic/nd4j-remote/nd4j-json-server/README.md diff --git a/nd4j/nd4j-remote/nd4j-json-server/pom.xml b/contrib/attic/nd4j-remote/nd4j-json-server/pom.xml similarity index 74% rename from nd4j/nd4j-remote/nd4j-json-server/pom.xml rename to contrib/attic/nd4j-remote/nd4j-json-server/pom.xml index ded578721..1602cc127 100644 --- a/nd4j/nd4j-remote/nd4j-json-server/pom.xml +++ b/contrib/attic/nd4j-remote/nd4j-json-server/pom.xml @@ -1,9 +1,27 @@ + + + - 4.0.0 - jar org.nd4j @@ -12,126 +30,97 @@ nd4j-json-server + jar + nd4j-json-server - - UTF-8 - 1.7 - 1.7 - - - - junit - junit - test - - org.nd4j nd4j-json-client ${project.version} - org.slf4j slf4j-api - org.nd4j nd4j-api - ${project.version} - org.glassfish.jersey.core jersey-client ${jersey.version} - org.glassfish.jersey.core jersey-server ${jersey.version} - org.eclipse.jetty jetty-server + 9.4.19.v20190610 - org.eclipse.jetty jetty-servlet + 9.4.19.v20190610 - org.glassfish.jersey.inject jersey-hk2 ${jersey.version} - org.glassfish.jersey.media jersey-media-json-processing ${jersey.version} - org.glassfish.jersey.containers jersey-container-servlet-core ${jersey.version} - ch.qos.logback logback-core - ${logback.version} test - ch.qos.logback logback-classic - ${logback.version} test - javax.xml.bind jaxb-api - 2.3.0 + ${jaxb.version} - com.sun.xml.bind jaxb-impl - 2.3.0 + ${jaxb.version} - com.sun.xml.bind jaxb-core - 2.3.0 + ${jaxb.version} - javax.activation activation - 1.1.1 + ${javax.activation.version} - com.google.code.gson gson ${gson.version} test - - org.nd4j nd4j-common-tests @@ -140,20 +129,10 @@ - - - - org.apache.maven.plugins - maven-compiler-plugin - - ${maven.compiler.source} - ${maven.compiler.target} - - - - - + + testresources + nd4j-tests-cpu @@ -165,7 +144,6 @@ - nd4j-tests-cuda @@ -177,9 +155,5 @@ - - - testresources - diff --git a/nd4j/nd4j-remote/nd4j-json-server/src/main/java/org/nd4j/remote/SameDiffJsonModelServer.java b/contrib/attic/nd4j-remote/nd4j-json-server/src/main/java/org/nd4j/remote/SameDiffJsonModelServer.java similarity index 93% rename from nd4j/nd4j-remote/nd4j-json-server/src/main/java/org/nd4j/remote/SameDiffJsonModelServer.java rename to contrib/attic/nd4j-remote/nd4j-json-server/src/main/java/org/nd4j/remote/SameDiffJsonModelServer.java index 828cc5f23..9bf48873b 100644 --- a/nd4j/nd4j-remote/nd4j-json-server/src/main/java/org/nd4j/remote/SameDiffJsonModelServer.java +++ b/contrib/attic/nd4j-remote/nd4j-json-server/src/main/java/org/nd4j/remote/SameDiffJsonModelServer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.remote; diff --git a/contrib/attic/nd4j-remote/nd4j-json-server/src/main/java/org/nd4j/remote/serving/ModelServingServlet.java b/contrib/attic/nd4j-remote/nd4j-json-server/src/main/java/org/nd4j/remote/serving/ModelServingServlet.java new file mode 100644 index 000000000..2d9b3708f --- /dev/null +++ b/contrib/attic/nd4j-remote/nd4j-json-server/src/main/java/org/nd4j/remote/serving/ModelServingServlet.java @@ -0,0 +1,32 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.remote.serving; + +import javax.servlet.Servlet; + +/** + * This interface describes Servlet interface extension, suited for ND4J/DL4J model serving + * @param + * @param + * + * @author raver119@gmail.com + */ +public interface ModelServingServlet extends Servlet { + // +} diff --git a/nd4j/nd4j-remote/nd4j-json-server/src/main/java/org/nd4j/remote/serving/SameDiffServlet.java b/contrib/attic/nd4j-remote/nd4j-json-server/src/main/java/org/nd4j/remote/serving/SameDiffServlet.java similarity index 91% rename from nd4j/nd4j-remote/nd4j-json-server/src/main/java/org/nd4j/remote/serving/SameDiffServlet.java rename to contrib/attic/nd4j-remote/nd4j-json-server/src/main/java/org/nd4j/remote/serving/SameDiffServlet.java index bf1c0ebc1..fdad78030 100644 --- a/nd4j/nd4j-remote/nd4j-json-server/src/main/java/org/nd4j/remote/serving/SameDiffServlet.java +++ b/contrib/attic/nd4j-remote/nd4j-json-server/src/main/java/org/nd4j/remote/serving/SameDiffServlet.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.remote.serving; diff --git a/contrib/attic/nd4j-remote/nd4j-json-server/src/main/java/org/nd4j/remote/serving/ServingProcessor.java b/contrib/attic/nd4j-remote/nd4j-json-server/src/main/java/org/nd4j/remote/serving/ServingProcessor.java new file mode 100644 index 000000000..a0fe30965 --- /dev/null +++ b/contrib/attic/nd4j-remote/nd4j-json-server/src/main/java/org/nd4j/remote/serving/ServingProcessor.java @@ -0,0 +1,32 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.remote.serving; + +public class ServingProcessor { + + public String listEndpoints() { + String retVal = "/v1/ \n/v1/serving/"; + return retVal; + } + + public String processModel(String body) { + String response = null; //"Not implemented"; + return response; + } +} diff --git a/nd4j/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/SameDiffJsonModelServerTest.java b/contrib/attic/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/SameDiffJsonModelServerTest.java similarity index 92% rename from nd4j/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/SameDiffJsonModelServerTest.java rename to contrib/attic/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/SameDiffJsonModelServerTest.java index e810e5e3c..a95521723 100644 --- a/nd4j/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/SameDiffJsonModelServerTest.java +++ b/contrib/attic/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/SameDiffJsonModelServerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.remote; diff --git a/nd4j/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/SameDiffServletTest.java b/contrib/attic/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/SameDiffServletTest.java similarity index 83% rename from nd4j/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/SameDiffServletTest.java rename to contrib/attic/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/SameDiffServletTest.java index 7d8104013..8f130e1d8 100644 --- a/nd4j/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/SameDiffServletTest.java +++ b/contrib/attic/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/SameDiffServletTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.remote; import lombok.val; diff --git a/contrib/attic/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/helpers/House.java b/contrib/attic/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/helpers/House.java new file mode 100644 index 000000000..229d0c2d4 --- /dev/null +++ b/contrib/attic/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/helpers/House.java @@ -0,0 +1,50 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.remote.helpers; + +import com.google.gson.Gson; +import lombok.*; +import org.nd4j.remote.clients.serde.JsonDeserializer; +import org.nd4j.remote.clients.serde.JsonSerializer; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class House { + private int district; + private int bedrooms; + private int bathrooms; + private int area; + + + public static class HouseSerializer implements JsonSerializer { + @Override + public String serialize(@NonNull House o) { + return new Gson().toJson(o); + } + } + + public static class HouseDeserializer implements JsonDeserializer { + @Override + public House deserialize(@NonNull String json) { + return new Gson().fromJson(json, House.class); + } + } +} diff --git a/contrib/attic/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/helpers/HouseToPredictedPriceAdapter.java b/contrib/attic/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/helpers/HouseToPredictedPriceAdapter.java new file mode 100644 index 000000000..4b3f14826 --- /dev/null +++ b/contrib/attic/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/helpers/HouseToPredictedPriceAdapter.java @@ -0,0 +1,42 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.remote.helpers; + +import lombok.NonNull; +import lombok.extern.slf4j.Slf4j; +import org.nd4j.linalg.api.buffer.DataType; +import org.nd4j.linalg.api.ndarray.INDArray; +import org.nd4j.linalg.dataset.MultiDataSet; +import org.nd4j.linalg.factory.Nd4j; +import org.nd4j.adapters.InferenceAdapter; + +@Slf4j +public class HouseToPredictedPriceAdapter implements InferenceAdapter { + + @Override + public MultiDataSet apply(@NonNull House input) { + // we just create vector array with shape[4] and assign it's value to the district value + return new MultiDataSet(Nd4j.create(DataType.FLOAT, 4).assign(input.getDistrict()), null); + } + + @Override + public PredictedPrice apply(INDArray... nnOutput) { + return new PredictedPrice(nnOutput[0].getFloat(0)); + } +} diff --git a/nd4j/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/helpers/PredictedPrice.java b/contrib/attic/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/helpers/PredictedPrice.java similarity index 51% rename from nd4j/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/helpers/PredictedPrice.java rename to contrib/attic/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/helpers/PredictedPrice.java index 6dd24e497..aa60ab79d 100644 --- a/nd4j/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/helpers/PredictedPrice.java +++ b/contrib/attic/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/helpers/PredictedPrice.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.remote.helpers; diff --git a/nd4j/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/serde/BasicSerdeTests.java b/contrib/attic/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/serde/BasicSerdeTests.java similarity index 76% rename from nd4j/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/serde/BasicSerdeTests.java rename to contrib/attic/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/serde/BasicSerdeTests.java index 2db54054c..c2ce409fc 100644 --- a/nd4j/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/serde/BasicSerdeTests.java +++ b/contrib/attic/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/serde/BasicSerdeTests.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.remote.serde; import lombok.val; diff --git a/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/resources/logback.xml b/contrib/attic/nd4j-remote/nd4j-json-server/src/test/resources/logback.xml similarity index 51% rename from deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/resources/logback.xml rename to contrib/attic/nd4j-remote/nd4j-json-server/src/test/resources/logback.xml index cbcbed5d6..8b94956e8 100644 --- a/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/resources/logback.xml +++ b/contrib/attic/nd4j-remote/nd4j-json-server/src/test/resources/logback.xml @@ -1,18 +1,20 @@ - + diff --git a/contrib/attic/nd4j-remote/pom.xml b/contrib/attic/nd4j-remote/pom.xml new file mode 100644 index 000000000..42f20d9ba --- /dev/null +++ b/contrib/attic/nd4j-remote/pom.xml @@ -0,0 +1,56 @@ + + + + + + 4.0.0 + + + org.nd4j + nd4j + 1.0.0-SNAPSHOT + + + nd4j-remote + pom + + nd4j-remote + + + nd4j-json-client + nd4j-grpc-client + nd4j-json-server + + + + + junit + junit + test + + + + + + testresources + + + diff --git a/contrib/attic/nd4j-uberjar/pom.xml b/contrib/attic/nd4j-uberjar/pom.xml new file mode 100644 index 000000000..31253f84f --- /dev/null +++ b/contrib/attic/nd4j-uberjar/pom.xml @@ -0,0 +1,302 @@ + + + + + + 4.0.0 + + + org.nd4j + nd4j + 1.0.0-SNAPSHOT + + + nd4j-uberjar + + + + + org.apache.maven.plugins + maven-shade-plugin + ${maven-shade-plugin.version} + + true + + + *:* + + org/datanucleus/** + META-INF/*.SF + META-INF/*.DSA + META-INF/*.RSA + + + + + + void + void + + + + + + + + false + + + + none + + shade + + + + + + org.apache.maven.plugins + maven-enforcer-plugin + + + package + enforce-choice-of-nd4j-backend + + enforce + + + ${skipBackendChoice} + + + native,cuda,cuda-snapshots,native-snapshots + false + + + true + + + + + + org.apache.maven.plugins + maven-jar-plugin + + true + + + + empty-javadoc-jar + package + + jar + + + javadoc + ${basedir}/javadoc + + + + empty-sources-jar + package + + jar + + + sources + ${basedir}/src + + + + + + + + + + + default + + true + + + true + + + + uberjar + + + + org.apache.maven.plugins + maven-shade-plugin + + + package + + + + + com.lewisd + lint-maven-plugin + + false + + + + + + + org.nd4j + jackson + ${project.version} + + + org.nd4j + nd4j-jdbc-api + ${project.version} + + + org.nd4j + nd4j-jdbc-mysql + ${project.version} + + + org.nd4j + nd4j-aeron + ${project.version} + + + org.nd4j + nd4j-kryo_2.11 + ${project.version} + + + org.nd4j + nd4j-common + ${project.version} + + + org.nd4j + nd4j-api + + + org.nd4j + nd4j-parameter-server + ${project.version} + + + org.nd4j + nd4j-parameter-server-client + ${project.version} + + + org.nd4j + nd4j-parameter-server-model + ${project.version} + + + org.nd4j + nd4j-parameter-server-status_2.11 + ${project.version} + + + org.nd4j + nd4j-parameter-server-rocksdb-storage + ${project.version} + + + org.nd4j + nd4j-parameter-server-node_2.11 + ${project.version} + + + + false + + + + native-snapshots + + + org.nd4j + nd4j-native + ${project.version} + + + org.nd4j + nd4j-native-api + ${project.version} + + + + + cuda-snapshots + + + org.nd4j + nd4j-cuda-11.0 + ${project.version} + + + + + native + + + org.nd4j + nd4j-native + ${project.version} + + + org.nd4j + nd4j-native-platform + ${project.version} + + + org.nd4j + nd4j-native-api + ${project.version} + + + + + cuda + + + org.nd4j + nd4j-cuda-11.0 + ${project.version} + + + org.nd4j + nd4j-cuda-11.0-platform + ${project.version} + + + + + testresources + + + diff --git a/nd4s/.gitignore b/contrib/attic/nd4s/.gitignore similarity index 100% rename from nd4s/.gitignore rename to contrib/attic/nd4s/.gitignore diff --git a/nd4s/.scalafmt.conf b/contrib/attic/nd4s/.scalafmt.conf similarity index 100% rename from nd4s/.scalafmt.conf rename to contrib/attic/nd4s/.scalafmt.conf diff --git a/nd4s/README.md b/contrib/attic/nd4s/README.md similarity index 100% rename from nd4s/README.md rename to contrib/attic/nd4s/README.md diff --git a/nd4s/build.sbt b/contrib/attic/nd4s/build.sbt similarity index 100% rename from nd4s/build.sbt rename to contrib/attic/nd4s/build.sbt diff --git a/nd4s/pom.xml b/contrib/attic/nd4s/pom.xml similarity index 63% rename from nd4s/pom.xml rename to contrib/attic/nd4s/pom.xml index 878cdd02a..54998d25a 100644 --- a/nd4s/pom.xml +++ b/contrib/attic/nd4s/pom.xml @@ -1,49 +1,41 @@ - - + + 4.0.0 + org.deeplearning4j deeplearning4j 1.0.0-SNAPSHOT - 4.0.0 - org.nd4j - nd4s_${scala.binary.version} - jar + nd4s_2.11 nd4s http://nd4j.org/ - - - Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - - - agibsonccc @@ -80,11 +72,11 @@ test - junit - junit + junit + junit ${junit.version} test - + org.scalatest scalatest_${scala.binary.version} @@ -115,60 +107,6 @@ src/main/scala src/test/scala - - maven-source-plugin - ${maven-source-plugin.version} - - - attach-sources - - jar - - - - - - maven-javadoc-plugin - ${maven-javadoc-plugin.version} - - -Xdoclint:none - - - - attach-javadocs - - jar - - - - - - maven-deploy-plugin - ${maven-deploy-plugin.version} - - true - - - - org.sonatype.plugins - nexus-staging-maven-plugin - 1.6.6 - - - default-deploy - deploy - - deploy - - - - true - - nexus-releases - https://oss.sonatype.org/ - true - - net.alchim31.maven scala-maven-plugin @@ -244,7 +182,7 @@ ${project.build.directory}/surefire-reports . WDF TestSuite.txt - ${maven.test.skip} + ${scala.test.skip} @@ -258,36 +196,6 @@ pl.project13.maven git-commit-id-plugin - ${maven-git-commit-plugin.version} - - - - revision - - package - - - - true - ${project.build.outputDirectory}/git.properties - - - true - - - - - org.apache.maven.plugins - maven-jar-plugin - - - make-a-jar - compile - - jar - - - @@ -310,7 +218,6 @@ - test-nd4j-cuda-11.0 diff --git a/contrib/attic/nd4s/project/build.properties b/contrib/attic/nd4s/project/build.properties new file mode 100644 index 000000000..0886b83bc --- /dev/null +++ b/contrib/attic/nd4s/project/build.properties @@ -0,0 +1,19 @@ +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +sbt.version=0.13.11 diff --git a/nd4s/project/plugins.sbt b/contrib/attic/nd4s/project/plugins.sbt similarity index 100% rename from nd4s/project/plugins.sbt rename to contrib/attic/nd4s/project/plugins.sbt diff --git a/nd4s/sbt-pom.xml b/contrib/attic/nd4s/sbt-pom.xml similarity index 75% rename from nd4s/sbt-pom.xml rename to contrib/attic/nd4s/sbt-pom.xml index 3038ab9e3..24533c78c 100644 --- a/nd4s/sbt-pom.xml +++ b/contrib/attic/nd4s/sbt-pom.xml @@ -1,18 +1,20 @@ - + diff --git a/nd4s/src/main/scala/org/nd4s/CollectionLikeNDArray.scala b/contrib/attic/nd4s/src/main/scala/org/nd4s/CollectionLikeNDArray.scala similarity index 79% rename from nd4s/src/main/scala/org/nd4s/CollectionLikeNDArray.scala rename to contrib/attic/nd4s/src/main/scala/org/nd4s/CollectionLikeNDArray.scala index bdbe43bc3..f3ac6eb3f 100644 --- a/nd4s/src/main/scala/org/nd4s/CollectionLikeNDArray.scala +++ b/contrib/attic/nd4s/src/main/scala/org/nd4s/CollectionLikeNDArray.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4s import org.nd4s.Implicits._ diff --git a/nd4s/src/main/scala/org/nd4s/ColumnProjectedNDArray.scala b/contrib/attic/nd4s/src/main/scala/org/nd4s/ColumnProjectedNDArray.scala similarity index 56% rename from nd4s/src/main/scala/org/nd4s/ColumnProjectedNDArray.scala rename to contrib/attic/nd4s/src/main/scala/org/nd4s/ColumnProjectedNDArray.scala index 22e45b965..f16f69931 100644 --- a/nd4s/src/main/scala/org/nd4s/ColumnProjectedNDArray.scala +++ b/contrib/attic/nd4s/src/main/scala/org/nd4s/ColumnProjectedNDArray.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4s import org.nd4j.linalg.api.ndarray.INDArray diff --git a/contrib/attic/nd4s/src/main/scala/org/nd4s/Equality.scala b/contrib/attic/nd4s/src/main/scala/org/nd4s/Equality.scala new file mode 100644 index 000000000..d9e6892ec --- /dev/null +++ b/contrib/attic/nd4s/src/main/scala/org/nd4s/Equality.scala @@ -0,0 +1,37 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4s + +/** + * Created by taisukeoe on 16/02/12. + */ +trait Equality[A] { + def equal(left: A, right: A): Boolean +} +object Equality { + implicit lazy val doubleEquality = new Equality[Double] { + lazy val tolerance = 0.01D + override def equal(left: Double, right: Double): Boolean = + math.abs(left - right) < tolerance + } + implicit lazy val floatEquality = new Equality[Float] { + lazy val tolerance = 0.01F + override def equal(left: Float, right: Float): Boolean = + math.abs(left - right) < tolerance + } +} diff --git a/nd4s/src/main/scala/org/nd4s/Implicits.scala b/contrib/attic/nd4s/src/main/scala/org/nd4s/Implicits.scala similarity index 95% rename from nd4s/src/main/scala/org/nd4s/Implicits.scala rename to contrib/attic/nd4s/src/main/scala/org/nd4s/Implicits.scala index e9c99f8c8..7063776eb 100644 --- a/nd4s/src/main/scala/org/nd4s/Implicits.scala +++ b/contrib/attic/nd4s/src/main/scala/org/nd4s/Implicits.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4s import org.nd4j.common.primitives.{ Pair, Triple } diff --git a/nd4s/src/main/scala/org/nd4s/NDArrayEvidence.scala b/contrib/attic/nd4s/src/main/scala/org/nd4s/NDArrayEvidence.scala similarity index 95% rename from nd4s/src/main/scala/org/nd4s/NDArrayEvidence.scala rename to contrib/attic/nd4s/src/main/scala/org/nd4s/NDArrayEvidence.scala index bc520db55..68fbdb2fa 100644 --- a/nd4s/src/main/scala/org/nd4s/NDArrayEvidence.scala +++ b/contrib/attic/nd4s/src/main/scala/org/nd4s/NDArrayEvidence.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4s import org.nd4j.linalg.api.ndarray.INDArray diff --git a/contrib/attic/nd4s/src/main/scala/org/nd4s/NDOrdering.scala b/contrib/attic/nd4s/src/main/scala/org/nd4s/NDOrdering.scala new file mode 100644 index 000000000..0323ee5d1 --- /dev/null +++ b/contrib/attic/nd4s/src/main/scala/org/nd4s/NDOrdering.scala @@ -0,0 +1,38 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4s + +import org.nd4j.linalg.factory.NDArrayFactory + +sealed trait NDOrdering { + val value: Char +} +object NDOrdering { + case object Fortran extends NDOrdering { + override val value: Char = NDArrayFactory.FORTRAN + } + case object C extends NDOrdering { + override val value: Char = NDArrayFactory.C + } + def apply(char: Char): NDOrdering = char.toLower match { + case 'c' => C + case 'f' => Fortran + case _ => + throw new IllegalArgumentException("NDimensional Ordering accepts only 'c' or 'f'.") + } +} diff --git a/nd4s/src/main/scala/org/nd4s/OperatableNDArray.scala b/contrib/attic/nd4s/src/main/scala/org/nd4s/OperatableNDArray.scala similarity index 85% rename from nd4s/src/main/scala/org/nd4s/OperatableNDArray.scala rename to contrib/attic/nd4s/src/main/scala/org/nd4s/OperatableNDArray.scala index 4e28704b3..955bda079 100644 --- a/nd4s/src/main/scala/org/nd4s/OperatableNDArray.scala +++ b/contrib/attic/nd4s/src/main/scala/org/nd4s/OperatableNDArray.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4s import org.nd4j.linalg.api.ndarray.INDArray diff --git a/nd4s/src/main/scala/org/nd4s/RowProjectedNDArray.scala b/contrib/attic/nd4s/src/main/scala/org/nd4s/RowProjectedNDArray.scala similarity index 55% rename from nd4s/src/main/scala/org/nd4s/RowProjectedNDArray.scala rename to contrib/attic/nd4s/src/main/scala/org/nd4s/RowProjectedNDArray.scala index c86a68566..045276700 100644 --- a/nd4s/src/main/scala/org/nd4s/RowProjectedNDArray.scala +++ b/contrib/attic/nd4s/src/main/scala/org/nd4s/RowProjectedNDArray.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4s import org.nd4j.linalg.api.ndarray.INDArray diff --git a/nd4s/src/main/scala/org/nd4s/SliceProjectedNDArray.scala b/contrib/attic/nd4s/src/main/scala/org/nd4s/SliceProjectedNDArray.scala similarity index 56% rename from nd4s/src/main/scala/org/nd4s/SliceProjectedNDArray.scala rename to contrib/attic/nd4s/src/main/scala/org/nd4s/SliceProjectedNDArray.scala index a4d2c3864..28eedf383 100644 --- a/nd4s/src/main/scala/org/nd4s/SliceProjectedNDArray.scala +++ b/contrib/attic/nd4s/src/main/scala/org/nd4s/SliceProjectedNDArray.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4s import org.nd4j.linalg.api.ndarray.INDArray diff --git a/nd4s/src/main/scala/org/nd4s/SliceableNDArray.scala b/contrib/attic/nd4s/src/main/scala/org/nd4s/SliceableNDArray.scala similarity index 94% rename from nd4s/src/main/scala/org/nd4s/SliceableNDArray.scala rename to contrib/attic/nd4s/src/main/scala/org/nd4s/SliceableNDArray.scala index 87163639e..da81a78f9 100644 --- a/nd4s/src/main/scala/org/nd4s/SliceableNDArray.scala +++ b/contrib/attic/nd4s/src/main/scala/org/nd4s/SliceableNDArray.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4s import org.nd4s.Implicits._ diff --git a/nd4s/src/main/scala/org/nd4s/ops/BitFilterOps.scala b/contrib/attic/nd4s/src/main/scala/org/nd4s/ops/BitFilterOps.scala similarity index 65% rename from nd4s/src/main/scala/org/nd4s/ops/BitFilterOps.scala rename to contrib/attic/nd4s/src/main/scala/org/nd4s/ops/BitFilterOps.scala index 84dc2ea18..cc738d904 100644 --- a/nd4s/src/main/scala/org/nd4s/ops/BitFilterOps.scala +++ b/contrib/attic/nd4s/src/main/scala/org/nd4s/ops/BitFilterOps.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4s.ops import org.nd4j.autodiff.samediff.SDVariable diff --git a/nd4s/src/main/scala/org/nd4s/ops/FilterOps.scala b/contrib/attic/nd4s/src/main/scala/org/nd4s/ops/FilterOps.scala similarity index 65% rename from nd4s/src/main/scala/org/nd4s/ops/FilterOps.scala rename to contrib/attic/nd4s/src/main/scala/org/nd4s/ops/FilterOps.scala index ff315c6a2..49df3c118 100644 --- a/nd4s/src/main/scala/org/nd4s/ops/FilterOps.scala +++ b/contrib/attic/nd4s/src/main/scala/org/nd4s/ops/FilterOps.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4s.ops import org.nd4j.autodiff.samediff.SDVariable diff --git a/nd4s/src/main/scala/org/nd4s/ops/FunctionalOpExecutioner.scala b/contrib/attic/nd4s/src/main/scala/org/nd4s/ops/FunctionalOpExecutioner.scala similarity index 91% rename from nd4s/src/main/scala/org/nd4s/ops/FunctionalOpExecutioner.scala rename to contrib/attic/nd4s/src/main/scala/org/nd4s/ops/FunctionalOpExecutioner.scala index 2d6d75fe0..e501ad8a1 100644 --- a/nd4s/src/main/scala/org/nd4s/ops/FunctionalOpExecutioner.scala +++ b/contrib/attic/nd4s/src/main/scala/org/nd4s/ops/FunctionalOpExecutioner.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4s.ops import java.util.{ List, Map, Properties } @@ -490,6 +492,23 @@ class FunctionalOpExecutioner extends OpExecutioner { dtype: DataType, empty: Boolean): DataBuffer = ??? + /** + * This method returns shapeInfo DataBuffer + * + * @param shape + * @param stride + * @param elementWiseStride + * @param order + * @param dtype + * @return + */ + def createShapeInfo(shape: Array[Long], + stride: Array[Long], + elementWiseStride: Long, + order: Char, + dtype: DataType, + extras: Long): DataBuffer = ??? + /** * This method returns host/device tad buffers */ diff --git a/contrib/attic/nd4s/src/main/scala/org/nd4s/ops/LeftAssociativeBinaryOp.scala b/contrib/attic/nd4s/src/main/scala/org/nd4s/ops/LeftAssociativeBinaryOp.scala new file mode 100644 index 000000000..64bec103e --- /dev/null +++ b/contrib/attic/nd4s/src/main/scala/org/nd4s/ops/LeftAssociativeBinaryOp.scala @@ -0,0 +1,48 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4s.ops + +import org.nd4s.Implicits._ + +trait LeftAssociativeBinaryOp { + +// def op(origin: IComplexNumber, other: Double): IComplexNumber = op(origin) +// +// def op(origin: IComplexNumber, other: Float): IComplexNumber = op(origin) +// +// def op(origin: IComplexNumber, other: IComplexNumber): IComplexNumber = +// op(origin) + + def op(origin: Float, other: Float): Float = op(origin) + + def op(origin: Double, other: Double): Double = op(origin) + + def op(origin: Double): Double + + def op(origin: Float): Float + + def op(origin: Short): Short + + def op(origin: Int): Int + + def op(origin: Long): Long + + def op(origin: String): String + +// def op(origin: IComplexNumber): IComplexNumber +} diff --git a/nd4s/src/main/scala/org/nd4s/ops/MapOps.scala b/contrib/attic/nd4s/src/main/scala/org/nd4s/ops/MapOps.scala similarity index 63% rename from nd4s/src/main/scala/org/nd4s/ops/MapOps.scala rename to contrib/attic/nd4s/src/main/scala/org/nd4s/ops/MapOps.scala index 98a9d73b4..b11e180fa 100644 --- a/nd4s/src/main/scala/org/nd4s/ops/MapOps.scala +++ b/contrib/attic/nd4s/src/main/scala/org/nd4s/ops/MapOps.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4s.ops import org.nd4j.autodiff.samediff.SDVariable diff --git a/nd4s/src/main/scala/org/nd4s/samediff/SameDiff.scala b/contrib/attic/nd4s/src/main/scala/org/nd4s/samediff/SameDiff.scala similarity index 87% rename from nd4s/src/main/scala/org/nd4s/samediff/SameDiff.scala rename to contrib/attic/nd4s/src/main/scala/org/nd4s/samediff/SameDiff.scala index 79a185a68..78cafd235 100644 --- a/nd4s/src/main/scala/org/nd4s/samediff/SameDiff.scala +++ b/contrib/attic/nd4s/src/main/scala/org/nd4s/samediff/SameDiff.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4s.samediff import org.nd4j.linalg.api.ndarray.INDArray diff --git a/nd4s/src/main/scala/org/nd4s/samediff/implicits/Implicits.scala b/contrib/attic/nd4s/src/main/scala/org/nd4s/samediff/implicits/Implicits.scala similarity index 63% rename from nd4s/src/main/scala/org/nd4s/samediff/implicits/Implicits.scala rename to contrib/attic/nd4s/src/main/scala/org/nd4s/samediff/implicits/Implicits.scala index 1781d5b82..4e2fb87bd 100644 --- a/nd4s/src/main/scala/org/nd4s/samediff/implicits/Implicits.scala +++ b/contrib/attic/nd4s/src/main/scala/org/nd4s/samediff/implicits/Implicits.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4s.samediff.implicits import org.nd4j.autodiff.samediff.{ SDIndex, SDVariable, SameDiff } diff --git a/nd4s/src/test/scala/org/nd4s/BreezeCheck.scala b/contrib/attic/nd4s/src/test/scala/org/nd4s/BreezeCheck.scala similarity index 72% rename from nd4s/src/test/scala/org/nd4s/BreezeCheck.scala rename to contrib/attic/nd4s/src/test/scala/org/nd4s/BreezeCheck.scala index 36843a91c..f19871acd 100644 --- a/nd4s/src/test/scala/org/nd4s/BreezeCheck.scala +++ b/contrib/attic/nd4s/src/test/scala/org/nd4s/BreezeCheck.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4s import breeze.linalg._ diff --git a/nd4s/src/test/scala/org/nd4s/DSLSpec.scala b/contrib/attic/nd4s/src/test/scala/org/nd4s/DSLSpec.scala similarity index 56% rename from nd4s/src/test/scala/org/nd4s/DSLSpec.scala rename to contrib/attic/nd4s/src/test/scala/org/nd4s/DSLSpec.scala index 41eddfac0..245a1334f 100644 --- a/nd4s/src/test/scala/org/nd4s/DSLSpec.scala +++ b/contrib/attic/nd4s/src/test/scala/org/nd4s/DSLSpec.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4s import org.junit.runner.RunWith diff --git a/nd4s/src/test/scala/org/nd4s/NDArrayCollectionAPITest.scala b/contrib/attic/nd4s/src/test/scala/org/nd4s/NDArrayCollectionAPITest.scala similarity index 83% rename from nd4s/src/test/scala/org/nd4s/NDArrayCollectionAPITest.scala rename to contrib/attic/nd4s/src/test/scala/org/nd4s/NDArrayCollectionAPITest.scala index e250d990f..323e7ff54 100644 --- a/nd4s/src/test/scala/org/nd4s/NDArrayCollectionAPITest.scala +++ b/contrib/attic/nd4s/src/test/scala/org/nd4s/NDArrayCollectionAPITest.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4s import org.nd4j.linalg.api.ndarray.INDArray diff --git a/nd4s/src/test/scala/org/nd4s/NDArrayConstructionTest.scala b/contrib/attic/nd4s/src/test/scala/org/nd4s/NDArrayConstructionTest.scala similarity index 78% rename from nd4s/src/test/scala/org/nd4s/NDArrayConstructionTest.scala rename to contrib/attic/nd4s/src/test/scala/org/nd4s/NDArrayConstructionTest.scala index e3d415e08..4b82ee685 100644 --- a/nd4s/src/test/scala/org/nd4s/NDArrayConstructionTest.scala +++ b/contrib/attic/nd4s/src/test/scala/org/nd4s/NDArrayConstructionTest.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4s import org.nd4j.linalg.api.buffer.DataType diff --git a/nd4s/src/test/scala/org/nd4s/NDArrayExtractionTest.scala b/contrib/attic/nd4s/src/test/scala/org/nd4s/NDArrayExtractionTest.scala similarity index 90% rename from nd4s/src/test/scala/org/nd4s/NDArrayExtractionTest.scala rename to contrib/attic/nd4s/src/test/scala/org/nd4s/NDArrayExtractionTest.scala index 65a2bddf2..147c3b415 100644 --- a/nd4s/src/test/scala/org/nd4s/NDArrayExtractionTest.scala +++ b/contrib/attic/nd4s/src/test/scala/org/nd4s/NDArrayExtractionTest.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4s import org.nd4s.Implicits._ diff --git a/nd4s/src/test/scala/org/nd4s/NDArrayIndexingTest.scala b/contrib/attic/nd4s/src/test/scala/org/nd4s/NDArrayIndexingTest.scala similarity index 62% rename from nd4s/src/test/scala/org/nd4s/NDArrayIndexingTest.scala rename to contrib/attic/nd4s/src/test/scala/org/nd4s/NDArrayIndexingTest.scala index c93e51131..c15e19b7c 100644 --- a/nd4s/src/test/scala/org/nd4s/NDArrayIndexingTest.scala +++ b/contrib/attic/nd4s/src/test/scala/org/nd4s/NDArrayIndexingTest.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4s import org.nd4s.Implicits._ diff --git a/nd4s/src/test/scala/org/nd4s/NDArrayProjectionAPITest.scala b/contrib/attic/nd4s/src/test/scala/org/nd4s/NDArrayProjectionAPITest.scala similarity index 89% rename from nd4s/src/test/scala/org/nd4s/NDArrayProjectionAPITest.scala rename to contrib/attic/nd4s/src/test/scala/org/nd4s/NDArrayProjectionAPITest.scala index 388f440ce..4afdefab5 100644 --- a/nd4s/src/test/scala/org/nd4s/NDArrayProjectionAPITest.scala +++ b/contrib/attic/nd4s/src/test/scala/org/nd4s/NDArrayProjectionAPITest.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4s import org.nd4s.Implicits._ diff --git a/nd4s/src/test/scala/org/nd4s/OperatableNDArrayTest.scala b/contrib/attic/nd4s/src/test/scala/org/nd4s/OperatableNDArrayTest.scala similarity index 90% rename from nd4s/src/test/scala/org/nd4s/OperatableNDArrayTest.scala rename to contrib/attic/nd4s/src/test/scala/org/nd4s/OperatableNDArrayTest.scala index 7f48bcce8..98edbf98f 100644 --- a/nd4s/src/test/scala/org/nd4s/OperatableNDArrayTest.scala +++ b/contrib/attic/nd4s/src/test/scala/org/nd4s/OperatableNDArrayTest.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4s import org.junit.runner.RunWith diff --git a/contrib/attic/nd4s/src/test/scala/org/nd4s/OrderingForTest.scala b/contrib/attic/nd4s/src/test/scala/org/nd4s/OrderingForTest.scala new file mode 100644 index 000000000..563429f88 --- /dev/null +++ b/contrib/attic/nd4s/src/test/scala/org/nd4s/OrderingForTest.scala @@ -0,0 +1,30 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4s + +import org.scalatest.{ Suite, SuiteMixin } + +trait OrderingForTest extends SuiteMixin { this: Suite => + val ordering: NDOrdering +} +trait COrderingForTest extends OrderingForTest { this: Suite => + override val ordering: NDOrdering = NDOrdering.C +} +trait FortranOrderingForTest extends OrderingForTest { this: Suite => + override val ordering: NDOrdering = NDOrdering.Fortran +} diff --git a/nd4s/src/test/scala/org/nd4s/samediff/ConstructionTest.scala b/contrib/attic/nd4s/src/test/scala/org/nd4s/samediff/ConstructionTest.scala similarity index 86% rename from nd4s/src/test/scala/org/nd4s/samediff/ConstructionTest.scala rename to contrib/attic/nd4s/src/test/scala/org/nd4s/samediff/ConstructionTest.scala index d1d760286..6f83d82db 100644 --- a/nd4s/src/test/scala/org/nd4s/samediff/ConstructionTest.scala +++ b/contrib/attic/nd4s/src/test/scala/org/nd4s/samediff/ConstructionTest.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4s.samediff import org.nd4j.autodiff.samediff.{ SDVariable, SameDiff, TrainingConfig } diff --git a/nd4s/src/test/scala/org/nd4s/samediff/MathTest.scala b/contrib/attic/nd4s/src/test/scala/org/nd4s/samediff/MathTest.scala similarity index 89% rename from nd4s/src/test/scala/org/nd4s/samediff/MathTest.scala rename to contrib/attic/nd4s/src/test/scala/org/nd4s/samediff/MathTest.scala index 5eec9f237..493c3f11a 100644 --- a/nd4s/src/test/scala/org/nd4s/samediff/MathTest.scala +++ b/contrib/attic/nd4s/src/test/scala/org/nd4s/samediff/MathTest.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4s.samediff import org.nd4j.autodiff.samediff.{ SDIndex, SDVariable, SameDiff } diff --git a/nd4s/src/test/scala/org/nd4s/samediff/SameDiffTest.scala b/contrib/attic/nd4s/src/test/scala/org/nd4s/samediff/SameDiffTest.scala similarity index 85% rename from nd4s/src/test/scala/org/nd4s/samediff/SameDiffTest.scala rename to contrib/attic/nd4s/src/test/scala/org/nd4s/samediff/SameDiffTest.scala index a12a8752e..c4a5fd0d7 100644 --- a/nd4s/src/test/scala/org/nd4s/samediff/SameDiffTest.scala +++ b/contrib/attic/nd4s/src/test/scala/org/nd4s/samediff/SameDiffTest.scala @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4s.samediff import java.lang.reflect.Field diff --git a/nd4s/src/test/scala/org/nd4s/samediff/TrainingTest.scala b/contrib/attic/nd4s/src/test/scala/org/nd4s/samediff/TrainingTest.scala similarity index 85% rename from nd4s/src/test/scala/org/nd4s/samediff/TrainingTest.scala rename to contrib/attic/nd4s/src/test/scala/org/nd4s/samediff/TrainingTest.scala index 553e59df2..d38d0aeb5 100644 --- a/nd4s/src/test/scala/org/nd4s/samediff/TrainingTest.scala +++ b/contrib/attic/nd4s/src/test/scala/org/nd4s/samediff/TrainingTest.scala @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4s.samediff import org.nd4j.autodiff.samediff.{ SDVariable, SameDiff, TrainingConfig } diff --git a/pydatavec/.gitignore b/contrib/attic/pydatavec/.gitignore similarity index 100% rename from pydatavec/.gitignore rename to contrib/attic/pydatavec/.gitignore diff --git a/pydatavec/README.md b/contrib/attic/pydatavec/README.md similarity index 100% rename from pydatavec/README.md rename to contrib/attic/pydatavec/README.md diff --git a/pydatavec/pom.xml b/contrib/attic/pydatavec/pom.xml similarity index 82% rename from pydatavec/pom.xml rename to contrib/attic/pydatavec/pom.xml index 5fea9d763..5171eb84e 100644 --- a/pydatavec/pom.xml +++ b/contrib/attic/pydatavec/pom.xml @@ -1,46 +1,38 @@ - + + 4.0.0 + org.deeplearning4j deeplearning4j 1.0.0-SNAPSHOT - 4.0.0 - - org.deeplearning4j pydatavec - jar pydatavec - - - Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - - - false 0.1 @@ -51,7 +43,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.1.0 + ${maven-shade-plugin.version} package @@ -72,15 +64,11 @@ org.apache.maven.plugins maven-compiler-plugin - 3.1 - - 1.8 - 1.8 - org.apache.maven.plugins maven-jar-plugin + ${maven-jar-plugin.version} true @@ -112,6 +100,7 @@ org.codehaus.mojo exec-maven-plugin + ${exec-maven-plugin.version} python-install-cython diff --git a/pydatavec/pydatavec/__init__.py b/contrib/attic/pydatavec/pydatavec/__init__.py similarity index 52% rename from pydatavec/pydatavec/__init__.py rename to contrib/attic/pydatavec/pydatavec/__init__.py index c6ab5aaa8..cf60ba7e8 100644 --- a/pydatavec/pydatavec/__init__.py +++ b/contrib/attic/pydatavec/pydatavec/__init__.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/pydatavec/pydatavec/conditions.py b/contrib/attic/pydatavec/pydatavec/conditions.py similarity index 70% rename from pydatavec/pydatavec/conditions.py rename to contrib/attic/pydatavec/pydatavec/conditions.py index 33caa1719..d3312ae66 100644 --- a/pydatavec/pydatavec/conditions.py +++ b/contrib/attic/pydatavec/pydatavec/conditions.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/pydatavec/pydatavec/executors/__init__.py b/contrib/attic/pydatavec/pydatavec/executors/__init__.py similarity index 50% rename from pydatavec/pydatavec/executors/__init__.py rename to contrib/attic/pydatavec/pydatavec/executors/__init__.py index d17d8eab2..95621995b 100644 --- a/pydatavec/pydatavec/executors/__init__.py +++ b/contrib/attic/pydatavec/pydatavec/executors/__init__.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/pydatavec/pydatavec/executors/local.py b/contrib/attic/pydatavec/pydatavec/executors/local.py similarity index 76% rename from pydatavec/pydatavec/executors/local.py rename to contrib/attic/pydatavec/pydatavec/executors/local.py index 344c0c60b..e7050f0f5 100644 --- a/pydatavec/pydatavec/executors/local.py +++ b/contrib/attic/pydatavec/pydatavec/executors/local.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/pydatavec/pydatavec/executors/spark.py b/contrib/attic/pydatavec/pydatavec/executors/spark.py similarity index 81% rename from pydatavec/pydatavec/executors/spark.py rename to contrib/attic/pydatavec/pydatavec/executors/spark.py index db61a7121..f0c29e624 100644 --- a/pydatavec/pydatavec/executors/spark.py +++ b/contrib/attic/pydatavec/pydatavec/executors/spark.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/pydatavec/pydatavec/java_classes.py b/contrib/attic/pydatavec/pydatavec/java_classes.py similarity index 85% rename from pydatavec/pydatavec/java_classes.py rename to contrib/attic/pydatavec/pydatavec/java_classes.py index bd934779f..1212d5b0c 100644 --- a/pydatavec/pydatavec/java_classes.py +++ b/contrib/attic/pydatavec/pydatavec/java_classes.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/pydatavec/pydatavec/schema.py b/contrib/attic/pydatavec/pydatavec/schema.py similarity index 82% rename from pydatavec/pydatavec/schema.py rename to contrib/attic/pydatavec/pydatavec/schema.py index 47a9e665c..6704764b6 100644 --- a/pydatavec/pydatavec/schema.py +++ b/contrib/attic/pydatavec/pydatavec/schema.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/pydatavec/pydatavec/transform_process.py b/contrib/attic/pydatavec/pydatavec/transform_process.py similarity index 96% rename from pydatavec/pydatavec/transform_process.py rename to contrib/attic/pydatavec/pydatavec/transform_process.py index b5ccd7620..95f94072c 100644 --- a/pydatavec/pydatavec/transform_process.py +++ b/contrib/attic/pydatavec/pydatavec/transform_process.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/pydatavec/pydatavec/utils.py b/contrib/attic/pydatavec/pydatavec/utils.py similarity index 89% rename from pydatavec/pydatavec/utils.py rename to contrib/attic/pydatavec/pydatavec/utils.py index ec84168d6..7a2a824fd 100644 --- a/pydatavec/pydatavec/utils.py +++ b/contrib/attic/pydatavec/pydatavec/utils.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/pydatavec/pytest.ini b/contrib/attic/pydatavec/pytest.ini similarity index 100% rename from pydatavec/pytest.ini rename to contrib/attic/pydatavec/pytest.ini diff --git a/contrib/attic/pydatavec/release.sh b/contrib/attic/pydatavec/release.sh new file mode 100644 index 000000000..25cc1f7ab --- /dev/null +++ b/contrib/attic/pydatavec/release.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +# Note: this needs manual upgrading of version in setup.py to work (can't override old versions) + +# remove old wheels +sudo rm -rf dist/* + +# Build Python 2 & 3 wheels for current version +sudo python2 setup.py sdist bdist_wheel +sudo python3 setup.py sdist bdist_wheel + +# Upload to PyPI with twine. Needs full "skymind" credentials in ~/.pypirc +twine upload dist/* \ No newline at end of file diff --git a/pydatavec/setup.py b/contrib/attic/pydatavec/setup.py similarity index 68% rename from pydatavec/setup.py rename to contrib/attic/pydatavec/setup.py index db109b6dd..a06493ddc 100644 --- a/pydatavec/setup.py +++ b/contrib/attic/pydatavec/setup.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at @@ -14,13 +29,9 @@ # SPDX-License-Identifier: Apache-2.0 ################################################################################ - - - from setuptools import setup from setuptools import find_packages - setup(name='pydatavec', version='0.1.2', description='Python interface for DataVec', @@ -36,7 +47,7 @@ setup(name='pydatavec', 'Topic :: Software Development :: Libraries' ], keywords='python java datavec etl deeplearning4j', - url='https://github.com/deeplearning4j/deeplearning4j.git', + url='https://github.com/eclipse/deeplearning4j.git', license='Apache', setup_requires=['Cython', 'pytest-runner'], install_requires=[ diff --git a/pydatavec/tests/basic_example.csv b/contrib/attic/pydatavec/tests/basic_example.csv similarity index 100% rename from pydatavec/tests/basic_example.csv rename to contrib/attic/pydatavec/tests/basic_example.csv diff --git a/pydatavec/tests/test_reduce.py b/contrib/attic/pydatavec/tests/test_reduce.py similarity index 81% rename from pydatavec/tests/test_reduce.py rename to contrib/attic/pydatavec/tests/test_reduce.py index 145cbe902..ad5f35908 100644 --- a/pydatavec/tests/test_reduce.py +++ b/contrib/attic/pydatavec/tests/test_reduce.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2019 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/pydatavec/tests/test_schema.py b/contrib/attic/pydatavec/tests/test_schema.py similarity index 62% rename from pydatavec/tests/test_schema.py rename to contrib/attic/pydatavec/tests/test_schema.py index c08ef4058..153a106e9 100644 --- a/pydatavec/tests/test_schema.py +++ b/contrib/attic/pydatavec/tests/test_schema.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2019 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/pydatavec/tests/test_transform_process.py b/contrib/attic/pydatavec/tests/test_transform_process.py similarity index 82% rename from pydatavec/tests/test_transform_process.py rename to contrib/attic/pydatavec/tests/test_transform_process.py index 34cf2b251..4353b50dd 100644 --- a/pydatavec/tests/test_transform_process.py +++ b/contrib/attic/pydatavec/tests/test_transform_process.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2019 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/pydl4j/.gitignore b/contrib/attic/pydl4j/.gitignore similarity index 100% rename from pydl4j/.gitignore rename to contrib/attic/pydl4j/.gitignore diff --git a/pydl4j/README.md b/contrib/attic/pydl4j/README.md similarity index 100% rename from pydl4j/README.md rename to contrib/attic/pydl4j/README.md diff --git a/pydl4j/pom.xml b/contrib/attic/pydl4j/pom.xml similarity index 82% rename from pydl4j/pom.xml rename to contrib/attic/pydl4j/pom.xml index 279c57e07..4160188c4 100644 --- a/pydl4j/pom.xml +++ b/contrib/attic/pydl4j/pom.xml @@ -1,46 +1,38 @@ - + + 4.0.0 + org.deeplearning4j deeplearning4j 1.0.0-SNAPSHOT - 4.0.0 - - org.deeplearning4j pydl4j - jar pydl4j - - - Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - - - false 0.1.3 @@ -60,7 +52,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.1.0 + ${maven-shade-plugin.version} package @@ -81,15 +73,11 @@ org.apache.maven.plugins maven-compiler-plugin - 3.1 - - 1.8 - 1.8 - org.apache.maven.plugins maven-jar-plugin + ${maven-jar-plugin.version} true @@ -121,6 +109,7 @@ org.codehaus.mojo exec-maven-plugin + ${exec-maven-plugin.version} python-install-cython @@ -190,7 +179,7 @@ - nd4j-cuda-${libnd4j.cuda} + nd4j-cuda-11.0 diff --git a/pydl4j/pydl4j/__init__.py b/contrib/attic/pydl4j/pydl4j/__init__.py similarity index 50% rename from pydl4j/pydl4j/__init__.py rename to contrib/attic/pydl4j/pydl4j/__init__.py index 93b939101..b830131bc 100644 --- a/pydl4j/pydl4j/__init__.py +++ b/contrib/attic/pydl4j/pydl4j/__init__.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2019 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at @@ -14,6 +29,6 @@ # SPDX-License-Identifier: Apache-2.0 ################################################################################ -from .pydl4j import * -from .jarmgr import * -from .mvn import * +from .pydl4j import * +from .jarmgr import * +from .mvn import * diff --git a/pydl4j/pydl4j/cli.py b/contrib/attic/pydl4j/pydl4j/cli.py similarity index 91% rename from pydl4j/pydl4j/cli.py rename to contrib/attic/pydl4j/pydl4j/cli.py index f48d4e01e..d40e7cec0 100644 --- a/pydl4j/pydl4j/cli.py +++ b/contrib/attic/pydl4j/pydl4j/cli.py @@ -2,8 +2,23 @@ # -*- coding: utf-8 -*- +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2019 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/pydl4j/pydl4j/docker.py b/contrib/attic/pydl4j/pydl4j/docker.py similarity index 60% rename from pydl4j/pydl4j/docker.py rename to contrib/attic/pydl4j/pydl4j/docker.py index f75c3f5b3..b0a9e038d 100644 --- a/pydl4j/pydl4j/docker.py +++ b/contrib/attic/pydl4j/pydl4j/docker.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/pydl4j/pydl4j/downloader.py b/contrib/attic/pydl4j/pydl4j/downloader.py similarity index 77% rename from pydl4j/pydl4j/downloader.py rename to contrib/attic/pydl4j/pydl4j/downloader.py index a634013e5..02d3d2bf6 100644 --- a/pydl4j/pydl4j/downloader.py +++ b/contrib/attic/pydl4j/pydl4j/downloader.py @@ -1,19 +1,34 @@ -################################################################################ -# Copyright (c) 2015-2019 Skymind, Inc. -# -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ - +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + +################################################################################ +# +# This program and the accompanying materials are made available under the +# terms of the Apache License, Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0. +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# SPDX-License-Identifier: Apache-2.0 +################################################################################ + from .progressbar import ProgressBar import requests import math diff --git a/pydl4j/pydl4j/jarmgr.py b/contrib/attic/pydl4j/pydl4j/jarmgr.py similarity index 86% rename from pydl4j/pydl4j/jarmgr.py rename to contrib/attic/pydl4j/pydl4j/jarmgr.py index 0424c2ffa..d6ce39eaf 100644 --- a/pydl4j/pydl4j/jarmgr.py +++ b/contrib/attic/pydl4j/pydl4j/jarmgr.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2019 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/pydl4j/pydl4j/mvn.py b/contrib/attic/pydl4j/pydl4j/mvn.py similarity index 74% rename from pydl4j/pydl4j/mvn.py rename to contrib/attic/pydl4j/pydl4j/mvn.py index 25e995f3a..050fa2618 100644 --- a/pydl4j/pydl4j/mvn.py +++ b/contrib/attic/pydl4j/pydl4j/mvn.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2019 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/pydl4j/pydl4j/pom.py b/contrib/attic/pydl4j/pydl4j/pom.py similarity index 93% rename from pydl4j/pydl4j/pom.py rename to contrib/attic/pydl4j/pydl4j/pom.py index 37022cabe..98350743d 100644 --- a/pydl4j/pydl4j/pom.py +++ b/contrib/attic/pydl4j/pydl4j/pom.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/pydl4j/pydl4j/progressbar.py b/contrib/attic/pydl4j/pydl4j/progressbar.py similarity index 84% rename from pydl4j/pydl4j/progressbar.py rename to contrib/attic/pydl4j/pydl4j/progressbar.py index 185f9e673..8bd13a474 100644 --- a/pydl4j/pydl4j/progressbar.py +++ b/contrib/attic/pydl4j/pydl4j/progressbar.py @@ -1,19 +1,34 @@ -################################################################################ -# Copyright (c) 2015-2019 Skymind, Inc. -# -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ - +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + +################################################################################ +# +# This program and the accompanying materials are made available under the +# terms of the Apache License, Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0. +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# SPDX-License-Identifier: Apache-2.0 +################################################################################ + import sys import time import math diff --git a/pydl4j/pydl4j/pydl4j.py b/contrib/attic/pydl4j/pydl4j/pydl4j.py similarity index 90% rename from pydl4j/pydl4j/pydl4j.py rename to contrib/attic/pydl4j/pydl4j/pydl4j.py index 4180fcf68..6a0567cd0 100644 --- a/pydl4j/pydl4j/pydl4j.py +++ b/contrib/attic/pydl4j/pydl4j/pydl4j.py @@ -1,19 +1,34 @@ -################################################################################ -# Copyright (c) 2015-2019 Skymind, Inc. -# -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ - +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + +################################################################################ +# +# This program and the accompanying materials are made available under the +# terms of the Apache License, Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0. +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# SPDX-License-Identifier: Apache-2.0 +################################################################################ + from .jarmgr import * from .jarmgr import _MY_DIR from .pom import * diff --git a/pydl4j/pytest.ini b/contrib/attic/pydl4j/pytest.ini similarity index 100% rename from pydl4j/pytest.ini rename to contrib/attic/pydl4j/pytest.ini diff --git a/contrib/attic/pydl4j/release.sh b/contrib/attic/pydl4j/release.sh new file mode 100644 index 000000000..49d6a55a1 --- /dev/null +++ b/contrib/attic/pydl4j/release.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +# Note: this needs manual upgrading of version in setup.py to work (can't override old versions) + +# remove old wheels +sudo rm - rf dist/* + +# Build Python 2 & 3 wheels for current version +sudo python2 setup.py sdist bdist_wheel +sudo python3 setup.py sdist bdist_wheel + +# Upload to PyPI with twine. Needs full "skymind" credentials in ~/.pypirc +twine upload dist/* diff --git a/pydl4j/setup.py b/contrib/attic/pydl4j/setup.py similarity index 67% rename from pydl4j/setup.py rename to contrib/attic/pydl4j/setup.py index f60437c84..b47d98f5f 100644 --- a/pydl4j/setup.py +++ b/contrib/attic/pydl4j/setup.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2019 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/pydl4j/tests/basic_example.csv b/contrib/attic/pydl4j/tests/basic_example.csv similarity index 100% rename from pydl4j/tests/basic_example.csv rename to contrib/attic/pydl4j/tests/basic_example.csv diff --git a/pydl4j/tests/build_tests/basic_example.csv b/contrib/attic/pydl4j/tests/build_tests/basic_example.csv similarity index 100% rename from pydl4j/tests/build_tests/basic_example.csv rename to contrib/attic/pydl4j/tests/build_tests/basic_example.csv diff --git a/pydl4j/tests/build_tests/test_build_1.py b/contrib/attic/pydl4j/tests/build_tests/test_build_1.py similarity index 75% rename from pydl4j/tests/build_tests/test_build_1.py rename to contrib/attic/pydl4j/tests/build_tests/test_build_1.py index 781fbce32..a82ee875f 100644 --- a/pydl4j/tests/build_tests/test_build_1.py +++ b/contrib/attic/pydl4j/tests/build_tests/test_build_1.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2019 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/pydl4j/tests/build_tests/test_build_2.py b/contrib/attic/pydl4j/tests/build_tests/test_build_2.py similarity index 75% rename from pydl4j/tests/build_tests/test_build_2.py rename to contrib/attic/pydl4j/tests/build_tests/test_build_2.py index 673b8ac86..a1977a00c 100644 --- a/pydl4j/tests/build_tests/test_build_2.py +++ b/contrib/attic/pydl4j/tests/build_tests/test_build_2.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2019 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/pydl4j/tests/build_tests/test_build_3.py b/contrib/attic/pydl4j/tests/build_tests/test_build_3.py similarity index 75% rename from pydl4j/tests/build_tests/test_build_3.py rename to contrib/attic/pydl4j/tests/build_tests/test_build_3.py index 462fc64a4..2bd20394e 100644 --- a/pydl4j/tests/build_tests/test_build_3.py +++ b/contrib/attic/pydl4j/tests/build_tests/test_build_3.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2019 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/pydl4j/tests/build_tests/test_build_4.py b/contrib/attic/pydl4j/tests/build_tests/test_build_4.py similarity index 75% rename from pydl4j/tests/build_tests/test_build_4.py rename to contrib/attic/pydl4j/tests/build_tests/test_build_4.py index f7d19c5c0..eb1c258c1 100644 --- a/pydl4j/tests/build_tests/test_build_4.py +++ b/contrib/attic/pydl4j/tests/build_tests/test_build_4.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2019 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/pydl4j/tests/build_tests/test_build_5.py b/contrib/attic/pydl4j/tests/build_tests/test_build_5.py similarity index 66% rename from pydl4j/tests/build_tests/test_build_5.py rename to contrib/attic/pydl4j/tests/build_tests/test_build_5.py index acee95a09..ae8cdef58 100644 --- a/pydl4j/tests/build_tests/test_build_5.py +++ b/contrib/attic/pydl4j/tests/build_tests/test_build_5.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2019 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/pydl4j/tests/build_tests/test_build_6.py b/contrib/attic/pydl4j/tests/build_tests/test_build_6.py similarity index 62% rename from pydl4j/tests/build_tests/test_build_6.py rename to contrib/attic/pydl4j/tests/build_tests/test_build_6.py index ab70dee05..e71205e4d 100644 --- a/pydl4j/tests/build_tests/test_build_6.py +++ b/contrib/attic/pydl4j/tests/build_tests/test_build_6.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2019 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/pydl4j/tests/mvn_test.py b/contrib/attic/pydl4j/tests/mvn_test.py similarity index 65% rename from pydl4j/tests/mvn_test.py rename to contrib/attic/pydl4j/tests/mvn_test.py index 42eb866ef..e1dbfc240 100644 --- a/pydl4j/tests/mvn_test.py +++ b/contrib/attic/pydl4j/tests/mvn_test.py @@ -1,5 +1,20 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + ################################################################################ -# Copyright (c) 2015-2019 Skymind, Inc. # # This program and the accompanying materials are made available under the # terms of the Apache License, Version 2.0 which is available at diff --git a/pydl4j/tests/spark_test.py b/contrib/attic/pydl4j/tests/spark_test.py similarity index 68% rename from pydl4j/tests/spark_test.py rename to contrib/attic/pydl4j/tests/spark_test.py index 4b92fa592..6eb63bf65 100644 --- a/pydl4j/tests/spark_test.py +++ b/contrib/attic/pydl4j/tests/spark_test.py @@ -1,19 +1,34 @@ -################################################################################ -# Copyright (c) 2015-2019 Skymind, Inc. -# -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ - +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + +################################################################################ +# +# This program and the accompanying materials are made available under the +# terms of the Apache License, Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0. +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# SPDX-License-Identifier: Apache-2.0 +################################################################################ + import pytest import jnius_config import os diff --git a/scalnet/.gitignore b/contrib/attic/scalnet/.gitignore similarity index 100% rename from scalnet/.gitignore rename to contrib/attic/scalnet/.gitignore diff --git a/scalnet/.scalafmt.conf b/contrib/attic/scalnet/.scalafmt.conf similarity index 100% rename from scalnet/.scalafmt.conf rename to contrib/attic/scalnet/.scalafmt.conf diff --git a/scalnet/LICENSE b/contrib/attic/scalnet/LICENSE similarity index 100% rename from scalnet/LICENSE rename to contrib/attic/scalnet/LICENSE diff --git a/scalnet/README.md b/contrib/attic/scalnet/README.md similarity index 100% rename from scalnet/README.md rename to contrib/attic/scalnet/README.md diff --git a/scalnet/build.sbt b/contrib/attic/scalnet/build.sbt similarity index 100% rename from scalnet/build.sbt rename to contrib/attic/scalnet/build.sbt diff --git a/arbiter/buildmultiplescalaversions.sh b/contrib/attic/scalnet/buildmultiplescalaversions.sh old mode 100755 new mode 100644 similarity index 58% rename from arbiter/buildmultiplescalaversions.sh rename to contrib/attic/scalnet/buildmultiplescalaversions.sh index e04610a02..1806dbb33 --- a/arbiter/buildmultiplescalaversions.sh +++ b/contrib/attic/scalnet/buildmultiplescalaversions.sh @@ -1,19 +1,21 @@ #! /bin/bash -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ BASEDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" diff --git a/scalnet/pom.xml b/contrib/attic/scalnet/pom.xml similarity index 71% rename from scalnet/pom.xml rename to contrib/attic/scalnet/pom.xml index 951e2ed25..c0ab3d3b7 100644 --- a/scalnet/pom.xml +++ b/contrib/attic/scalnet/pom.xml @@ -1,48 +1,40 @@ - - + + 4.0.0 + org.deeplearning4j deeplearning4j 1.0.0-SNAPSHOT - 4.0.0 - - org.deeplearning4j scalnet_2.11 ScalNet A Scala wrapper for Deeplearning4j, inspired by Keras. Scala + DL + Spark + GPUs - - - Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - - - turambar @@ -88,7 +80,6 @@ ${scalacheck.version} test - com.google.code.gson gson @@ -100,60 +91,6 @@ src/main/scala src/test/scala - - maven-source-plugin - ${maven-source-plugin.version} - - - attach-sources - - jar - - - - - - maven-javadoc-plugin - ${maven-javadoc-plugin.version} - - -Xdoclint:none - - - - attach-javadocs - - jar - - - - - - maven-deploy-plugin - ${maven-deploy-plugin.version} - - true - - - - org.sonatype.plugins - nexus-staging-maven-plugin - 1.6.6 - - - default-deploy - deploy - - deploy - - - - true - - nexus-releases - https://oss.sonatype.org/ - true - - net.alchim31.maven scala-maven-plugin @@ -228,7 +165,7 @@ ${project.build.directory}/surefire-reports . WDF TestSuite.txt - ${maven.test.skip} + ${scala.test.skip} @@ -287,7 +224,6 @@ - nd4j-tests-cuda diff --git a/scalnet/project/assembly.sbt b/contrib/attic/scalnet/project/assembly.sbt similarity index 100% rename from scalnet/project/assembly.sbt rename to contrib/attic/scalnet/project/assembly.sbt diff --git a/contrib/attic/scalnet/project/build.properties b/contrib/attic/scalnet/project/build.properties new file mode 100644 index 000000000..f113ec01a --- /dev/null +++ b/contrib/attic/scalnet/project/build.properties @@ -0,0 +1,19 @@ +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +sbt.version=1.1.1 diff --git a/scalnet/project/plugins.sbt b/contrib/attic/scalnet/project/plugins.sbt similarity index 100% rename from scalnet/project/plugins.sbt rename to contrib/attic/scalnet/project/plugins.sbt diff --git a/scalnet/sbt-pom.xml b/contrib/attic/scalnet/sbt-pom.xml similarity index 75% rename from scalnet/sbt-pom.xml rename to contrib/attic/scalnet/sbt-pom.xml index 703a849e7..4aba5cba6 100644 --- a/scalnet/sbt-pom.xml +++ b/contrib/attic/scalnet/sbt-pom.xml @@ -1,18 +1,20 @@ - + diff --git a/contrib/attic/scalnet/src/main/resources/logback.xml b/contrib/attic/scalnet/src/main/resources/logback.xml new file mode 100644 index 000000000..1868be923 --- /dev/null +++ b/contrib/attic/scalnet/src/main/resources/logback.xml @@ -0,0 +1,29 @@ + + + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + + + + diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/advanced/activations/ELU.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/advanced/activations/ELU.scala similarity index 55% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/advanced/activations/ELU.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/advanced/activations/ELU.scala index 2a9dab163..d93a3dd17 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/advanced/activations/ELU.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/advanced/activations/ELU.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.advanced.activations import org.deeplearning4j.nn.conf.layers.{ ActivationLayer => JActivationLayer } diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/advanced/activations/LeakyReLU.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/advanced/activations/LeakyReLU.scala similarity index 56% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/advanced/activations/LeakyReLU.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/advanced/activations/LeakyReLU.scala index c6267ef3b..f39d58ebb 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/advanced/activations/LeakyReLU.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/advanced/activations/LeakyReLU.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.advanced.activations import org.deeplearning4j.nn.conf.layers.{ ActivationLayer => JActivationLayer } diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/advanced/activations/ReLU.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/advanced/activations/ReLU.scala similarity index 53% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/advanced/activations/ReLU.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/advanced/activations/ReLU.scala index 6e35b2116..d54b9abc3 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/advanced/activations/ReLU.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/advanced/activations/ReLU.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.advanced.activations import org.deeplearning4j.nn.conf.layers.{ ActivationLayer => JActivationLayer } diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/advanced/activations/Softmax.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/advanced/activations/Softmax.scala similarity index 55% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/advanced/activations/Softmax.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/advanced/activations/Softmax.scala index 4e365389c..9de4954e4 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/advanced/activations/Softmax.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/advanced/activations/Softmax.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.advanced.activations import org.deeplearning4j.nn.conf.layers.{ ActivationLayer => JActivationLayer } diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution.scala similarity index 77% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution.scala index cdc2df3eb..0fb6d046a 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.convolutional import org.deeplearning4j.nn.conf.inputs.InvalidInputTypeException diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution1D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution1D.scala similarity index 79% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution1D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution1D.scala index e8f10fe11..973be8486 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution1D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution1D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.convolutional import org.deeplearning4j.nn.conf.layers.{ Convolution1DLayer } diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution2D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution2D.scala similarity index 79% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution2D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution2D.scala index 5b340fc0d..b787a0152 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution2D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution2D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.convolutional import org.deeplearning4j.nn.conf.layers.ConvolutionLayer diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution3D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution3D.scala similarity index 80% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution3D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution3D.scala index 2e23d145a..79dbc42d2 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution3D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution3D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.convolutional import org.deeplearning4j.nn.conf.layers.{ Convolution3D => JConvolution3D } diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Cropping1D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Cropping1D.scala similarity index 59% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Cropping1D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Cropping1D.scala index 0eeaf8cbb..d54f0d486 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Cropping1D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Cropping1D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.convolutional import org.deeplearning4j.nn.conf.layers.convolutional.{ Cropping1D => JCropping1D } diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Cropping2D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Cropping2D.scala similarity index 64% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Cropping2D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Cropping2D.scala index ec3a05dcc..ba986619a 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Cropping2D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Cropping2D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.convolutional import org.deeplearning4j.nn.conf.layers.convolutional.{ Cropping2D => JCropping2D } diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Cropping3D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Cropping3D.scala similarity index 68% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Cropping3D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Cropping3D.scala index 553446f62..d47e39dc1 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Cropping3D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Cropping3D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.convolutional import org.deeplearning4j.nn.conf.layers.convolutional.{ Cropping3D => JCropping3D } diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Upsampling.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Upsampling.scala similarity index 51% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Upsampling.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Upsampling.scala index be429117e..ecd2e30b5 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Upsampling.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Upsampling.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.convolutional import org.deeplearning4j.scalnet.layers.core.Node diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Upsampling1D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Upsampling1D.scala similarity index 54% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Upsampling1D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Upsampling1D.scala index f3f8639f1..5db56a9cb 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Upsampling1D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Upsampling1D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.convolutional import org.deeplearning4j.nn.conf.layers.{ Upsampling1D => JUpsampling1D } diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Upsampling2D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Upsampling2D.scala similarity index 54% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Upsampling2D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Upsampling2D.scala index e3fea2083..1d36f4dac 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Upsampling2D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Upsampling2D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.convolutional import org.deeplearning4j.nn.conf.layers.{ Upsampling2D => JUpsampling2D } diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Upsampling3D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Upsampling3D.scala similarity index 54% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Upsampling3D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Upsampling3D.scala index 8f7aac2fb..35a25b233 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Upsampling3D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/Upsampling3D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.convolutional import org.deeplearning4j.nn.conf.layers.{ Upsampling3D => JUpsampling3D } diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/ZeroPadding1D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/ZeroPadding1D.scala similarity index 59% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/ZeroPadding1D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/ZeroPadding1D.scala index cb90b8ebc..37fc0777b 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/ZeroPadding1D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/ZeroPadding1D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.convolutional import org.deeplearning4j.nn.conf.layers.ZeroPadding1DLayer diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/ZeroPadding2D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/ZeroPadding2D.scala similarity index 63% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/ZeroPadding2D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/ZeroPadding2D.scala index 1111dbe2d..07a06a601 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/ZeroPadding2D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/ZeroPadding2D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.convolutional import org.deeplearning4j.nn.conf.layers.ZeroPaddingLayer diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/ZeroPadding3D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/ZeroPadding3D.scala similarity index 68% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/ZeroPadding3D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/ZeroPadding3D.scala index 8f7ebd8ed..1c3450020 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/ZeroPadding3D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/convolutional/ZeroPadding3D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.convolutional import org.deeplearning4j.nn.conf.layers.ZeroPadding3DLayer diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/ActivationLayer.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/ActivationLayer.scala similarity index 56% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/ActivationLayer.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/ActivationLayer.scala index d401ae580..aaa48d406 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/ActivationLayer.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/ActivationLayer.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.core import org.deeplearning4j.nn.conf.layers.{ ActivationLayer => JActivationLayer } diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Dense.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Dense.scala similarity index 75% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Dense.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Dense.scala index 6806744b0..122f6fde9 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Dense.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Dense.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.core import org.deeplearning4j.nn.conf.layers.{ DenseLayer, OutputLayer => JOutputLayer } diff --git a/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Dropout.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Dropout.scala new file mode 100644 index 000000000..3d885cfa5 --- /dev/null +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Dropout.scala @@ -0,0 +1,46 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.deeplearning4j.scalnet.layers.core +import org.deeplearning4j.nn.conf.layers.DropoutLayer + +/** + * Dropout layer + * + * @author Max Pumperla + */ +class Dropout(nOut: List[Int], nIn: List[Int], rate: Double, override val name: String) extends Layer { + + override def compile: org.deeplearning4j.nn.conf.layers.Layer = + new DropoutLayer.Builder(rate) + .nIn(inputShape.last) + .nOut(outputShape.last) + .name(name) + .build() + + override val outputShape: List[Int] = nOut + + override val inputShape: List[Int] = nIn + + override def reshapeInput(newIn: List[Int]): Dropout = + new Dropout(nOut, newIn, rate, name) +} + +object Dropout { + def apply(nOut: Int, nIn: Int = 0, rate: Double, name: String = ""): Dropout = + new Dropout(List(nOut), List(nIn), rate, name) +} diff --git a/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Layer.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Layer.scala new file mode 100644 index 000000000..d0b037cfb --- /dev/null +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Layer.scala @@ -0,0 +1,30 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.deeplearning4j.scalnet.layers.core + +import org.deeplearning4j.nn.conf.layers.{ Layer => JLayer } + +/** + * Trait for proper "layer" in DL4J neural networks and computational + * graphs. Compiles out to DL4J layer. + * + * @author David Kale + */ +trait Layer extends Node { + def compile: JLayer +} diff --git a/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Node.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Node.scala new file mode 100644 index 000000000..723c04631 --- /dev/null +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Node.scala @@ -0,0 +1,38 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.deeplearning4j.scalnet.layers.core + +/** + * Trait for node in DL4J neural networks and computational graphs. + * Nodes are assumed to have inputs and outputs with "shapes." + * + * @author David Kale + */ +trait Node { + + def name: String + + def inputShape: List[Int] + + def outputShape: List[Int] + + def reshapeInput(nIn: List[Int]): Node = this + + def describe(): String = "in=" + inputShape + " out=" + outputShape + +} diff --git a/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Output.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Output.scala new file mode 100644 index 000000000..2f2b33343 --- /dev/null +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Output.scala @@ -0,0 +1,27 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.deeplearning4j.scalnet.layers.core + +import org.nd4j.linalg.lossfunctions.LossFunctions.LossFunction + +/** + * Trait for output layers in DL4J neural networks and computational graphs. + * + * @author David Kale + */ +case class Output(isOutput: Boolean, lossFunction: LossFunction) diff --git a/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/OutputLayer.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/OutputLayer.scala new file mode 100644 index 000000000..1dec7ecb0 --- /dev/null +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/OutputLayer.scala @@ -0,0 +1,33 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.deeplearning4j.scalnet.layers.core + +import org.deeplearning4j.nn.conf.layers.{ OutputLayer => JOutputLayer } +import org.nd4j.linalg.lossfunctions.LossFunctions + +/** + * Extension of base layer, used to construct a DL4J OutputLayer after compilation. + * OutputLayer has an output object and the ability to return an OutputLayer version + * of itself, by providing a loss function. + * + * @author Max Pumperla + */ +trait OutputLayer extends Layer { + def output: Output + def toOutputLayer(lossFunction: LossFunctions.LossFunction): OutputLayer +} diff --git a/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Preprocessor.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Preprocessor.scala new file mode 100644 index 000000000..4d8fd670d --- /dev/null +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Preprocessor.scala @@ -0,0 +1,30 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.deeplearning4j.scalnet.layers.core + +import org.deeplearning4j.nn.conf.InputPreProcessor + +/** + * Trait for preprocessing layers in DL4J neural networks and computational + * graphs. Compiles out to DL4J InputPreProcessor. + * + * @author David Kale + */ +trait Preprocessor extends Node { + def compile: InputPreProcessor +} diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/SpatialDropout.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/SpatialDropout.scala similarity index 54% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/SpatialDropout.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/SpatialDropout.scala index 5d2a4a402..431b1336e 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/SpatialDropout.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/SpatialDropout.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.core import org.deeplearning4j.nn.conf.dropout.{ SpatialDropout => JSpatialDropout } diff --git a/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/WrapperLayer.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/WrapperLayer.scala new file mode 100644 index 000000000..77d316176 --- /dev/null +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/WrapperLayer.scala @@ -0,0 +1,28 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.deeplearning4j.scalnet.layers.core + +trait WrapperLayer extends Layer { + + def underlying: Layer + + override def inputShape: List[Int] = underlying.inputShape + + override def outputShape: List[Int] = underlying.outputShape + +} diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/embeddings/EmbeddingLayer.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/embeddings/EmbeddingLayer.scala similarity index 64% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/embeddings/EmbeddingLayer.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/embeddings/EmbeddingLayer.scala index 084e380b3..64588d8a3 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/embeddings/EmbeddingLayer.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/embeddings/EmbeddingLayer.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.embeddings import org.deeplearning4j.nn.conf.layers diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/noise/AlphaDropout.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/noise/AlphaDropout.scala similarity index 54% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/noise/AlphaDropout.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/noise/AlphaDropout.scala index 02810ab89..8931b9751 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/noise/AlphaDropout.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/noise/AlphaDropout.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.noise import org.deeplearning4j.nn.conf.dropout.{ AlphaDropout => JAlphaDropout } diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/noise/GaussianDropout.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/noise/GaussianDropout.scala similarity index 55% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/noise/GaussianDropout.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/noise/GaussianDropout.scala index c2d9c81ac..a1faef97f 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/noise/GaussianDropout.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/noise/GaussianDropout.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.noise import org.deeplearning4j.nn.conf.dropout.{ GaussianDropout => JGaussianDropout } diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/noise/GaussianNoise.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/noise/GaussianNoise.scala similarity index 55% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/noise/GaussianNoise.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/noise/GaussianNoise.scala index 2cae3762a..e29dd23ad 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/noise/GaussianNoise.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/noise/GaussianNoise.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.noise import org.deeplearning4j.nn.conf.dropout.{ GaussianNoise => JGaussianNoise } diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/AvgPooling1D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/AvgPooling1D.scala similarity index 67% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/AvgPooling1D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/AvgPooling1D.scala index c6de9128d..b02f56e66 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/AvgPooling1D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/AvgPooling1D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.pooling import org.deeplearning4j.nn.conf.layers.{ Subsampling1DLayer, SubsamplingLayer } diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/AvgPooling2D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/AvgPooling2D.scala similarity index 68% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/AvgPooling2D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/AvgPooling2D.scala index 00063e572..2913afbbe 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/AvgPooling2D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/AvgPooling2D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.pooling import org.deeplearning4j.nn.conf.layers.SubsamplingLayer diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/AvgPooling3D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/AvgPooling3D.scala similarity index 68% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/AvgPooling3D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/AvgPooling3D.scala index 447a65bf6..8e1e35961 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/AvgPooling3D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/AvgPooling3D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.pooling import org.deeplearning4j.nn.conf.layers.Subsampling3DLayer diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalAvgPooling1D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalAvgPooling1D.scala similarity index 58% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalAvgPooling1D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalAvgPooling1D.scala index ea254b9e9..bf75698ae 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalAvgPooling1D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalAvgPooling1D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.pooling import org.deeplearning4j.nn.conf.layers.{ GlobalPoolingLayer, PoolingType } diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalAvgPooling2D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalAvgPooling2D.scala similarity index 58% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalAvgPooling2D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalAvgPooling2D.scala index 3cc78dfbc..830e1dbc7 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalAvgPooling2D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalAvgPooling2D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.pooling import org.deeplearning4j.nn.conf.layers.{ GlobalPoolingLayer, PoolingType } diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalAvgPooling3D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalAvgPooling3D.scala similarity index 58% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalAvgPooling3D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalAvgPooling3D.scala index 2cd6e6c7e..ec62b9d62 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalAvgPooling3D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalAvgPooling3D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.pooling import org.deeplearning4j.nn.conf.layers.{ GlobalPoolingLayer, PoolingType } diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalMaxPooling1D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalMaxPooling1D.scala similarity index 58% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalMaxPooling1D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalMaxPooling1D.scala index 6e7160665..d29aca6f6 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalMaxPooling1D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalMaxPooling1D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.pooling import org.deeplearning4j.nn.conf.layers.{ GlobalPoolingLayer, PoolingType } diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalMaxPooling2D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalMaxPooling2D.scala similarity index 58% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalMaxPooling2D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalMaxPooling2D.scala index 75cd9f6e9..d6e36d0c1 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalMaxPooling2D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalMaxPooling2D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.pooling import org.deeplearning4j.nn.conf.layers.{ GlobalPoolingLayer, PoolingType } diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalMaxPooling3D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalMaxPooling3D.scala similarity index 58% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalMaxPooling3D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalMaxPooling3D.scala index be818338f..570d5672c 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalMaxPooling3D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/GlobalMaxPooling3D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.pooling import org.deeplearning4j.nn.conf.layers.{ GlobalPoolingLayer, PoolingType } diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/MaxPooling1D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/MaxPooling1D.scala similarity index 67% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/MaxPooling1D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/MaxPooling1D.scala index f4fc3fc07..56d756752 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/MaxPooling1D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/MaxPooling1D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.pooling import org.deeplearning4j.nn.conf.layers.{ Subsampling1DLayer, SubsamplingLayer } diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/MaxPooling2D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/MaxPooling2D.scala similarity index 68% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/MaxPooling2D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/MaxPooling2D.scala index 4cc3dfc02..1a1456356 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/MaxPooling2D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/MaxPooling2D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.pooling import org.deeplearning4j.nn.conf.layers.SubsamplingLayer diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/MaxPooling3D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/MaxPooling3D.scala similarity index 68% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/MaxPooling3D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/MaxPooling3D.scala index e7b451cda..be461c182 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/MaxPooling3D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/pooling/MaxPooling3D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.pooling import org.deeplearning4j.nn.conf.layers.Subsampling3DLayer diff --git a/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/recurrent/Bidirectional.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/recurrent/Bidirectional.scala new file mode 100644 index 000000000..58e69b67f --- /dev/null +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/recurrent/Bidirectional.scala @@ -0,0 +1,40 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.deeplearning4j.scalnet.layers.recurrent + +import org.deeplearning4j.nn.conf.layers +import org.deeplearning4j.nn.conf.layers.recurrent.Bidirectional.Mode +import org.deeplearning4j.scalnet.layers.core.{ Layer, WrapperLayer } + +class Bidirectional(layer: Layer, mode: Mode, override val name: String = "") extends WrapperLayer { + + val underlying: Layer = layer + + override def compile: layers.Layer = new layers.recurrent.Bidirectional(mode, underlying.compile) + +} + +object Bidirectional { + + val CONCAT = Mode.CONCAT + val ADD = Mode.ADD + val MUL = Mode.MUL + val AVERAGE = Mode.AVERAGE + + def apply(layer: Layer, mode: Mode = Mode.CONCAT): Bidirectional = new Bidirectional(layer, mode) +} diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/recurrent/GravesLSTM.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/recurrent/GravesLSTM.scala similarity index 68% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/recurrent/GravesLSTM.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/recurrent/GravesLSTM.scala index 6a7fbdf07..472b81c37 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/recurrent/GravesLSTM.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/recurrent/GravesLSTM.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.recurrent import org.deeplearning4j.nn.conf.layers diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/recurrent/LSTM.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/recurrent/LSTM.scala similarity index 67% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/recurrent/LSTM.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/recurrent/LSTM.scala index 28de0456d..a3c43a8c2 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/recurrent/LSTM.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/recurrent/LSTM.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.recurrent import org.deeplearning4j.nn.conf.layers diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/recurrent/RnnOutputLayer.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/recurrent/RnnOutputLayer.scala similarity index 76% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/recurrent/RnnOutputLayer.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/recurrent/RnnOutputLayer.scala index 06de43f3e..693481e15 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/recurrent/RnnOutputLayer.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/recurrent/RnnOutputLayer.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.recurrent import org.deeplearning4j.nn.conf.layers diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/reshaping/Flatten3D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/reshaping/Flatten3D.scala similarity index 57% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/reshaping/Flatten3D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/reshaping/Flatten3D.scala index fe28fd591..46680292f 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/reshaping/Flatten3D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/reshaping/Flatten3D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.reshaping import org.deeplearning4j.nn.conf.InputPreProcessor diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/reshaping/Reshape.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/reshaping/Reshape.scala similarity index 77% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/reshaping/Reshape.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/reshaping/Reshape.scala index 8604e408e..2e4272fda 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/reshaping/Reshape.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/reshaping/Reshape.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.reshaping import org.deeplearning4j.nn.conf.InputPreProcessor diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/reshaping/Unflatten3D.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/reshaping/Unflatten3D.scala similarity index 65% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/reshaping/Unflatten3D.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/reshaping/Unflatten3D.scala index 562893044..4072cde61 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/reshaping/Unflatten3D.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/reshaping/Unflatten3D.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.reshaping import org.deeplearning4j.nn.conf.InputPreProcessor diff --git a/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/logging/Logging.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/logging/Logging.scala new file mode 100644 index 000000000..5d7f78d33 --- /dev/null +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/logging/Logging.scala @@ -0,0 +1,27 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.deeplearning4j.scalnet.logging + +import org.slf4j.{ Logger, LoggerFactory } + +/** + * A trait to use to extends any class where you want to provide a logger + */ +trait Logging { + protected lazy val logger: Logger = { LoggerFactory.getLogger(getClass.getName) } +} diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/models/Model.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/models/Model.scala similarity index 87% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/models/Model.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/models/Model.scala index 52cdd9493..fb56ec54e 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/models/Model.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/models/Model.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.models import org.deeplearning4j.eval.Evaluation diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/models/NeuralNet.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/models/NeuralNet.scala similarity index 71% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/models/NeuralNet.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/models/NeuralNet.scala index d1c3e6d19..2c61de611 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/models/NeuralNet.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/models/NeuralNet.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.models import org.deeplearning4j.nn.api.OptimizationAlgorithm diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/models/Sequential.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/models/Sequential.scala similarity index 80% rename from scalnet/src/main/scala/org/deeplearning4j/scalnet/models/Sequential.scala rename to contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/models/Sequential.scala index b15d80bfb..3ae02a20e 100644 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/models/Sequential.scala +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/models/Sequential.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.models import org.deeplearning4j.nn.api.OptimizationAlgorithm diff --git a/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/regularizers/weightRegularizer.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/regularizers/weightRegularizer.scala new file mode 100644 index 000000000..f9aae52d6 --- /dev/null +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/regularizers/weightRegularizer.scala @@ -0,0 +1,30 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.deeplearning4j.scalnet.regularizers + +/** + * Weight regularizers. + * + * @author David Kale + */ +sealed class WeightRegularizer(val l1: Double = Double.NaN, val l2: Double = Double.NaN) + +case class NoRegularizer() extends WeightRegularizer() +case class L1(l: Double = 0.01) extends WeightRegularizer(l1 = l) +case class L2(l: Double = 0.01) extends WeightRegularizer(l2 = l) +case class L1L2(override val l1: Double = 0.01, override val l2: Double = 0.01) extends WeightRegularizer diff --git a/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/utils/Implicits.scala b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/utils/Implicits.scala new file mode 100644 index 000000000..30525391e --- /dev/null +++ b/contrib/attic/scalnet/src/main/scala/org/deeplearning4j/scalnet/utils/Implicits.scala @@ -0,0 +1,48 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.deeplearning4j.scalnet.utils + +import scala.reflect.ClassTag + +/** + * Created by maxpumperla on 17/07/17. + */ +object Implicits { + + implicit class WithAsInstanceOfOpt(obj: AnyRef) { + + /** + * Half type-safe cast. It uses erasure semantics (like Java casts). For example: + * + * `xs: List[Int]` + * + * `xs.asInstanceOfOpt[List[Int]] == xs.asInstanceOfOpt[List[Double]] == xs.asInstanceOfOpt[Seq[Int]] == Some(xs)` + * + * and + * + * `xs.asInstanceOfOpt[String] == xs.asInstanceOfOpt[Set[Int]] == None` + * + * @return None if the cast fails or the object is `null`, `Some[B]` otherwise + */ + def asInstanceOfOpt[B: ClassTag]: Option[B] = obj match { + case b: B => Some(b) + case _ => None + } + } + +} diff --git a/scalnet/src/test/resources/iris.txt b/contrib/attic/scalnet/src/test/resources/iris.txt similarity index 100% rename from scalnet/src/test/resources/iris.txt rename to contrib/attic/scalnet/src/test/resources/iris.txt diff --git a/contrib/attic/scalnet/src/test/resources/logback-test.xml b/contrib/attic/scalnet/src/test/resources/logback-test.xml new file mode 100644 index 000000000..1868be923 --- /dev/null +++ b/contrib/attic/scalnet/src/test/resources/logback-test.xml @@ -0,0 +1,29 @@ + + + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + + + + diff --git a/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/convolution/LeNetMnistExample.scala b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/convolution/LeNetMnistExample.scala similarity index 73% rename from scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/convolution/LeNetMnistExample.scala rename to contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/convolution/LeNetMnistExample.scala index 2d1710c1f..e5704a55f 100644 --- a/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/convolution/LeNetMnistExample.scala +++ b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/convolution/LeNetMnistExample.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.examples.dl4j.convolution import org.deeplearning4j.datasets.iterator.impl.MnistDataSetIterator diff --git a/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/feedforward/IrisCSVExample.scala b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/feedforward/IrisCSVExample.scala similarity index 75% rename from scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/feedforward/IrisCSVExample.scala rename to contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/feedforward/IrisCSVExample.scala index 43eb74f88..097fc243f 100644 --- a/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/feedforward/IrisCSVExample.scala +++ b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/feedforward/IrisCSVExample.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.examples.dl4j.feedforward import java.util diff --git a/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/feedforward/MLPMnistTwoLayerExample.scala b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/feedforward/MLPMnistTwoLayerExample.scala similarity index 70% rename from scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/feedforward/MLPMnistTwoLayerExample.scala rename to contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/feedforward/MLPMnistTwoLayerExample.scala index 7fc9f6dc2..eb85ef5c9 100644 --- a/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/feedforward/MLPMnistTwoLayerExample.scala +++ b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/feedforward/MLPMnistTwoLayerExample.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.examples.dl4j.feedforward import org.deeplearning4j.datasets.iterator.impl.MnistDataSetIterator diff --git a/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/recurrent/BasicRNNExample.scala b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/recurrent/BasicRNNExample.scala similarity index 72% rename from scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/recurrent/BasicRNNExample.scala rename to contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/recurrent/BasicRNNExample.scala index dc2b418f1..e4db376a5 100644 --- a/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/recurrent/BasicRNNExample.scala +++ b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/recurrent/BasicRNNExample.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.examples.dl4j.recurrent import org.deeplearning4j.nn.api.OptimizationAlgorithm diff --git a/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/recurrent/RNNEmbeddingExample.scala b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/recurrent/RNNEmbeddingExample.scala similarity index 66% rename from scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/recurrent/RNNEmbeddingExample.scala rename to contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/recurrent/RNNEmbeddingExample.scala index e047518c8..8eb7eff88 100644 --- a/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/recurrent/RNNEmbeddingExample.scala +++ b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/recurrent/RNNEmbeddingExample.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.examples.dl4j.recurrent import org.deeplearning4j.nn.conf.inputs.InputType diff --git a/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/recurrent/SequenceClassification.scala b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/recurrent/SequenceClassification.scala similarity index 65% rename from scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/recurrent/SequenceClassification.scala rename to contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/recurrent/SequenceClassification.scala index be74d3495..ba0ab8a8b 100644 --- a/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/recurrent/SequenceClassification.scala +++ b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/dl4j/recurrent/SequenceClassification.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.examples.dl4j.recurrent import org.deeplearning4j.eval.RegressionEvaluation diff --git a/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/keras/convolution/LeNetMnistExample.scala b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/keras/convolution/LeNetMnistExample.scala similarity index 74% rename from scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/keras/convolution/LeNetMnistExample.scala rename to contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/keras/convolution/LeNetMnistExample.scala index 21d9e29cd..06c477c5e 100644 --- a/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/keras/convolution/LeNetMnistExample.scala +++ b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/keras/convolution/LeNetMnistExample.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.examples.keras.convolution import org.deeplearning4j.datasets.iterator.impl.MnistDataSetIterator diff --git a/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/keras/feedforward/MLPMnistTwoLayerExample.scala b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/keras/feedforward/MLPMnistTwoLayerExample.scala similarity index 70% rename from scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/keras/feedforward/MLPMnistTwoLayerExample.scala rename to contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/keras/feedforward/MLPMnistTwoLayerExample.scala index cc6fd7df9..5244ec676 100644 --- a/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/keras/feedforward/MLPMnistTwoLayerExample.scala +++ b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples/keras/feedforward/MLPMnistTwoLayerExample.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.examples.keras.feedforward import org.deeplearning4j.datasets.iterator.impl.MnistDataSetIterator diff --git a/scalnet/src/test/scala/org/deeplearning4j/scalnet/it/DL4Test.scala b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/it/DL4Test.scala similarity index 54% rename from scalnet/src/test/scala/org/deeplearning4j/scalnet/it/DL4Test.scala rename to contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/it/DL4Test.scala index 1c405cbda..3c181b8a3 100644 --- a/scalnet/src/test/scala/org/deeplearning4j/scalnet/it/DL4Test.scala +++ b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/it/DL4Test.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.it import org.deeplearning4j.scalnet.examples.dl4j.feedforward.IrisCSVExample diff --git a/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution2DTest.scala b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution2DTest.scala similarity index 54% rename from scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution2DTest.scala rename to contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution2DTest.scala index 840e79e49..b9f5bd103 100644 --- a/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution2DTest.scala +++ b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/convolutional/Convolution2DTest.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.convolutional import org.deeplearning4j.nn.conf.layers.ConvolutionLayer diff --git a/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/core/DenseTest.scala b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/core/DenseTest.scala similarity index 68% rename from scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/core/DenseTest.scala rename to contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/core/DenseTest.scala index 6f618e73a..05201246c 100644 --- a/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/core/DenseTest.scala +++ b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/core/DenseTest.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.core import org.deeplearning4j.nn.conf.layers.{ DenseLayer, OutputLayer => JOutputLayer } diff --git a/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/embeddings/EmbeddingLayerTest.scala b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/embeddings/EmbeddingLayerTest.scala new file mode 100644 index 000000000..8f95af0ca --- /dev/null +++ b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/embeddings/EmbeddingLayerTest.scala @@ -0,0 +1,44 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.deeplearning4j.scalnet.layers.embeddings + +import org.scalatest.{ Matchers, WordSpec } + +class EmbeddingLayerTest extends WordSpec with Matchers { + + "An embedding layer" should { + + "have an input layer of shape (10, 100)" in { + val embeddingLayer = EmbeddingLayer(10, 100) + embeddingLayer.inputShape shouldBe List(10, 100) + } + + "have an ouput layer of shape (10, 100)" in { + val embeddingLayer = EmbeddingLayer(10, 100) + embeddingLayer.outputShape shouldBe List(100, 10) + } + + "compile to a DL4J EmbeddingLayer" in { + val embeddingLayer = EmbeddingLayer(10, 100) + val compiledLayer = embeddingLayer.compile + compiledLayer.isInstanceOf[org.deeplearning4j.nn.conf.layers.EmbeddingLayer] shouldBe true + } + + } + +} diff --git a/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/pooling/AvgPooling2DTest.scala b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/pooling/AvgPooling2DTest.scala similarity index 52% rename from scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/pooling/AvgPooling2DTest.scala rename to contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/pooling/AvgPooling2DTest.scala index 087e25b5d..e14e7750f 100644 --- a/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/pooling/AvgPooling2DTest.scala +++ b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/pooling/AvgPooling2DTest.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.pooling import org.deeplearning4j.nn.conf.layers.SubsamplingLayer diff --git a/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/pooling/MaxPooling2DTest.scala b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/pooling/MaxPooling2DTest.scala similarity index 52% rename from scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/pooling/MaxPooling2DTest.scala rename to contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/pooling/MaxPooling2DTest.scala index 483714162..dc9e89c53 100644 --- a/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/pooling/MaxPooling2DTest.scala +++ b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/pooling/MaxPooling2DTest.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.pooling import org.deeplearning4j.nn.conf.layers.SubsamplingLayer diff --git a/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/recurrent/BidirectionalTest.scala b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/recurrent/BidirectionalTest.scala new file mode 100644 index 000000000..f4bf2c471 --- /dev/null +++ b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/recurrent/BidirectionalTest.scala @@ -0,0 +1,39 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.deeplearning4j.scalnet.layers.recurrent + +import org.scalatest.{ Matchers, WordSpec } + +class BidirectionalTest extends WordSpec with Matchers { + + "A Bidirectional wrapper layer" should { + + "compile to a DL4J Bidirectional wrapper layer with a LSTM" in { + val bidirectionalLSTM = Bidirectional(LSTM(10, 100)) + val compiledLayer = bidirectionalLSTM.compile + compiledLayer.isInstanceOf[org.deeplearning4j.nn.conf.layers.recurrent.Bidirectional] shouldBe true + } + + "compile to a DL4J Bidirectional wrapper layer with a GravesLSTM" in { + val bidirectionalLSTM = Bidirectional(GravesLSTM(10, 100)) + val compiledLayer = bidirectionalLSTM.compile + compiledLayer.isInstanceOf[org.deeplearning4j.nn.conf.layers.recurrent.Bidirectional] shouldBe true + } + + } +} diff --git a/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/recurrent/GravesLSTMTest.scala b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/recurrent/GravesLSTMTest.scala new file mode 100644 index 000000000..4ec351ee4 --- /dev/null +++ b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/recurrent/GravesLSTMTest.scala @@ -0,0 +1,43 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.deeplearning4j.scalnet.layers.recurrent + +import org.scalatest.{ Matchers, WordSpec } + +class GravesLSTMTest extends WordSpec with Matchers { + + "A Graves LSTM layer" should { + + "have an input layer of shape (10, 100)" in { + val gravesLSTMLayer = GravesLSTM(10, 100) + gravesLSTMLayer.inputShape shouldBe List(10, 100) + } + + "have an ouput layer of shape (10, 100)" in { + val gravesLSTMLayer = GravesLSTM(10, 100) + gravesLSTMLayer.outputShape shouldBe List(100, 10) + } + + "compile to a DL4J GravesLSTM" in { + val gravesLSTMLayer = GravesLSTM(10, 100) + val compiledLayer = gravesLSTMLayer.compile + compiledLayer.isInstanceOf[org.deeplearning4j.nn.conf.layers.GravesLSTM] shouldBe true + } + + } +} diff --git a/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/recurrent/LSTMTest.scala b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/recurrent/LSTMTest.scala new file mode 100644 index 000000000..ed0d14a85 --- /dev/null +++ b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/recurrent/LSTMTest.scala @@ -0,0 +1,43 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.deeplearning4j.scalnet.layers.recurrent + +import org.scalatest.{ Matchers, WordSpec } + +class LSTMTest extends WordSpec with Matchers { + + "A LSTM layer" should { + + "have an input layer of shape (10, 100)" in { + val LSTMLayer = LSTM(10, 100) + LSTMLayer.inputShape shouldBe List(10, 100) + } + + "have an ouput layer of shape (10, 100)" in { + val LSTMLayer = LSTM(10, 100) + LSTMLayer.outputShape shouldBe List(100, 10) + } + + "compile to a DL4J LSTM" in { + val LSTMLayer = LSTM(10, 100) + val compiledLayer = LSTMLayer.compile + compiledLayer.isInstanceOf[org.deeplearning4j.nn.conf.layers.LSTM] shouldBe true + } + + } +} diff --git a/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/recurrent/RnnOutputLayerTest.scala b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/recurrent/RnnOutputLayerTest.scala similarity index 72% rename from scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/recurrent/RnnOutputLayerTest.scala rename to contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/recurrent/RnnOutputLayerTest.scala index 70d30bc1a..f93bccc4c 100644 --- a/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/recurrent/RnnOutputLayerTest.scala +++ b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/recurrent/RnnOutputLayerTest.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.recurrent import org.deeplearning4j.nn.conf.layers.{ OutputLayer => JOutputLayer } diff --git a/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/reshaping/Flatten3DTest.scala b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/reshaping/Flatten3DTest.scala similarity index 58% rename from scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/reshaping/Flatten3DTest.scala rename to contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/reshaping/Flatten3DTest.scala index 8905dfd92..b1c283cd0 100644 --- a/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/reshaping/Flatten3DTest.scala +++ b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/reshaping/Flatten3DTest.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.reshaping import org.deeplearning4j.nn.conf.InputPreProcessor diff --git a/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/reshaping/ReshapeTest.scala b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/reshaping/ReshapeTest.scala similarity index 53% rename from scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/reshaping/ReshapeTest.scala rename to contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/reshaping/ReshapeTest.scala index 0ca3c6e10..ed50dc571 100644 --- a/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/reshaping/ReshapeTest.scala +++ b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/reshaping/ReshapeTest.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.reshaping import org.deeplearning4j.nn.conf.InputPreProcessor diff --git a/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/reshaping/Unflatten3DTest.scala b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/reshaping/Unflatten3DTest.scala similarity index 59% rename from scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/reshaping/Unflatten3DTest.scala rename to contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/reshaping/Unflatten3DTest.scala index de47b15cd..c2da8f6dc 100644 --- a/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/reshaping/Unflatten3DTest.scala +++ b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/reshaping/Unflatten3DTest.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.layers.reshaping import org.deeplearning4j.nn.conf.InputPreProcessor diff --git a/scalnet/src/test/scala/org/deeplearning4j/scalnet/models/NeuralNetTest.scala b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/models/NeuralNetTest.scala similarity index 57% rename from scalnet/src/test/scala/org/deeplearning4j/scalnet/models/NeuralNetTest.scala rename to contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/models/NeuralNetTest.scala index 0c3e297d9..105c67ecf 100644 --- a/scalnet/src/test/scala/org/deeplearning4j/scalnet/models/NeuralNetTest.scala +++ b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/models/NeuralNetTest.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.models import org.deeplearning4j.scalnet.layers.core.{ Dense, OutputLayer } diff --git a/scalnet/src/test/scala/org/deeplearning4j/scalnet/models/SequentialTest.scala b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/models/SequentialTest.scala similarity index 76% rename from scalnet/src/test/scala/org/deeplearning4j/scalnet/models/SequentialTest.scala rename to contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/models/SequentialTest.scala index 12c7fb1e7..aee3382fa 100644 --- a/scalnet/src/test/scala/org/deeplearning4j/scalnet/models/SequentialTest.scala +++ b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/models/SequentialTest.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.models import org.deeplearning4j.scalnet.layers.convolutional.Convolution2D diff --git a/scalnet/src/test/scala/org/deeplearning4j/scalnet/utils/SequenceGenerator.scala b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/utils/SequenceGenerator.scala similarity index 52% rename from scalnet/src/test/scala/org/deeplearning4j/scalnet/utils/SequenceGenerator.scala rename to contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/utils/SequenceGenerator.scala index be7a928a4..3702a5843 100644 --- a/scalnet/src/test/scala/org/deeplearning4j/scalnet/utils/SequenceGenerator.scala +++ b/contrib/attic/scalnet/src/test/scala/org/deeplearning4j/scalnet/utils/SequenceGenerator.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.scalnet.utils import org.nd4j.linalg.dataset.DataSet diff --git a/contrib/codegen-tools/codegen/adr/0001-kotlin_dsl_as_source_of_truth.md b/contrib/codegen-tools/codegen/adr/0001-kotlin_dsl_as_source_of_truth.md new file mode 100644 index 000000000..af518e20f --- /dev/null +++ b/contrib/codegen-tools/codegen/adr/0001-kotlin_dsl_as_source_of_truth.md @@ -0,0 +1,49 @@ +# Use Kotlin-based DSL as the source of truth + +## Status + +ACCEPTED + +Discussed by: Paul Dubs, Alex Black, raver119 on 19. October 2019 + + +## Context + +This code generation experiment is meant to be our starting point for both the API unification for ND4J and SameDiff, +and the multi-language support. For this reason we have to define ops, or their interface, in a language neutral way. + +The initial idea was to use a Language Workbench like MPS. This had to be discarded because of bugs and limitations +encountered while trying to define a language that would work for a few simple examples. + +The next idea was to use Ops defined in JSON files. This would have allowed us to define Ops as human readable data and +read and write those files from any programming language. However, the drawback with this approach is that writing json +manually invites many problems if written manually (e.g. typos, bad structuring, having to look up the proper keys,...). +In order to rectify that drawback, we would have to create custom tooling, that we would have to maintain and that +contributors would have to use. + +Using a Java builder pattern based approach is very verbose. + +## Decision + +We use a Kotlin-based DSL to define Ops. + +## Consequences + +Using a full programming language as the platform to build our DSL has both advantages and drawbacks. + +### Drawbacks +* Contributors will have to install a JVM in order to be able to run code generation or get a serialized op graph +* Serialization is a one way road, we only output to JSON, but don't read from it +* Contributors to Op definitions have to learn about our DSL and maybe some Kotlin +* Contributors to the DSL will have to learn about Kotlin + + +### Advantages +* We can utilize the Java knowledge of the existing team for writing code generators as Kotlin is two-way interoperable + with Java and other JVM languages. +* We can utilize IntelliJ (or other IDEs supporting Kotlin) as an existing editor for Ops definitions. This provides us + with benefits like code completion, error highlighting +* We get compile time checks, freeing us from trivial errors like typos +* We can utilize some base features of Kotlin, like variable assignment to simplify the implementation +* Kotlin has first class DSL definition support, allowing us to make Op definitions almost as easy to read as a full + language workbench would have allowed \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/adr/0002-separate_object_graph_for_serialization.md b/contrib/codegen-tools/codegen/adr/0002-separate_object_graph_for_serialization.md new file mode 100644 index 000000000..96537ceb7 --- /dev/null +++ b/contrib/codegen-tools/codegen/adr/0002-separate_object_graph_for_serialization.md @@ -0,0 +1,40 @@ +# Splitting Object Graph for Code Gen and Serialization + +## Status + +ACCEPTED + +Discussed by: Paul Dubs & Alex Black on 07. November 2019 + + +## Context + +Serialization and Code Generation have different needs when it comes to how the object graph should be laid out. When +generating code, it is a lot easier to be able to directly access referenced objects and traverse through the graph. +However, if the same object graph is used for serialization, the same object will appear in multiple places. + +This becomes very apparent when defining constraints. A single constraint might be referring to an input multiple times, +and then there can also be multiple constraints that refer to multiple inputs. + +The main reason why we want to keep serialization in mind, is that we want to keep code generators in other languages as +a viable option. Just serializing the graph that is meant to be used during runtime in code generation however, would +can easily become a problem when object identity is required for equality comparisons. + +An implementer in a different language would therefore need work through that graph and find identical objects AND would +have to know where that identity is a coincidence and where it is meant to be that way. By creating an object graph that +makes this explicit, we make that work easier. + +## Decision + +We use two distinct object graphs. One is used for code generation, and the other is used for serialization. + + +## Consequences + +### Advantages +* Easier to work with object graphs that are aligned with their use-case +* Less error prone when access is direct + +### Disadvantages +* We have to explicitly transform one object graph into another +* If we want to support reading JSON back, we will have to also define the backwards transformation \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/adr/0003-dealing_with_inconsistencies_in_java_naming.md b/contrib/codegen-tools/codegen/adr/0003-dealing_with_inconsistencies_in_java_naming.md new file mode 100644 index 000000000..8a1eb2cca --- /dev/null +++ b/contrib/codegen-tools/codegen/adr/0003-dealing_with_inconsistencies_in_java_naming.md @@ -0,0 +1,33 @@ +# Dealing with Inconsistencies in Java Naming + +## Status + +ACCEPTED + +Discussed by: Paul Dubs, Alex Black, raver119 on 22. November 2019 + + +## Context + +There are slight inconsistencies in naming between existing op class definitions and factory methods. For example a +factory method called `bernoulli` in the `random` namespace with a corresponding op class called +`BernoulliDistribution`. + +Two possible solutions where suggested: +1. Add an additional property that provides us with the correct class name +2. Rename classes in ND4J to ensure consistency and provide backwards compatibility via deprecated subclasses + +## Decision + +For now we will introduce a `javaOpClass` property which in cases of inconsistency provides us with the correct class +name. + +## Consequences + +### Advantages +* We can start using this property immediately +* No need to change anything of the existing ND4J / SameDiff API + +### Disadvantages +* Inconsistency continues to exist within the Java codebase +* We have to take extra care to add the new property where needed \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/adr/0004-auto_initialization_for_inplace_operations.md b/contrib/codegen-tools/codegen/adr/0004-auto_initialization_for_inplace_operations.md new file mode 100644 index 000000000..c6bf14b50 --- /dev/null +++ b/contrib/codegen-tools/codegen/adr/0004-auto_initialization_for_inplace_operations.md @@ -0,0 +1,44 @@ +# Auto initialization for in-place operations + +## Status + +REJECTED + +Discussed by: Paul Dubs, Alex Black, raver119 on 25. November 2019 + + +## Context + +Some operations work in-place on the inputs that they are given in ND4J, but in SameDiff the same operations will +generate an array from a given shape. Examples for this include `BernoulliDistribution`, and other random ops, that +effectively initialize the array that they are given. + +From a consistency point of view, it would be nice if both API's would support both ways of using those ops. + + +## Decision + +We introduce an option to mark inputs as `inPlace = true` to make it clear that this input is going to be changed +in-place. In addition we introduce an option `supportsInPlaceInit = true` to mark an input as initialize-able. If the +`supportsInPlaceInit` option is enabled, two signatures for the Op will be created, one that takes an input, and one +that takes the appropriate shape and data type information in its stead. + + +## Consequences + +### Advantages +* We get support for both in-place and initialization use-cases +* Support for this use-case is explicitly defined in the DSL instead of implicit support by the code generator + +### Disadvantages +* Codegen becomes more complex, as it requires us to generate more signatures + + +## Reasons for Rejection +This feature would only come in handy on legacy ops. However, those ops will not be exposed to frontend languages +anymore starting from the next release. + +For the ops that replace them ("Custom Ops"), it is *always* possible to pass an output array, when used in NDArray +programming mode. Thereby making the in-place initialization support a side-effect of that general design. + +For support of both `op(out)` and `op(dataType, shape)` see ADR 0005 "Optional parameters and signatures". \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/adr/0005-optional_parameters_and_signatures.md b/contrib/codegen-tools/codegen/adr/0005-optional_parameters_and_signatures.md new file mode 100644 index 000000000..164b99ef1 --- /dev/null +++ b/contrib/codegen-tools/codegen/adr/0005-optional_parameters_and_signatures.md @@ -0,0 +1,108 @@ +# Optional parameters and signatures + +## Status + +ACCEPTED + +Discussed by: Alex Black, raver 119 and Paul Dubs on 25. November 2019 + +## Context + +Not all inputs or args (= parameters) are always required. + +Often there are sensible defaults available. We want to be able to make those defaults explicit where possible. + +Even though some parameters may be optional, they might become required in the presence of other optional parameters. + +We need a way to explicitly define what combinations are possible. + + +## Decision +We drop the `optional` property on parameters. Instead, parameters get an additional property `defaultValue`. It can be +set to either a fixed literal value (e.g. `7`, `"something"`, `null`), an Arg, or it may reference the specific methods +`shape()` and `dataType()` on inputs and outputs. Parameters with `defaultValue` specified are treated as optional. + +To be able to deal with languages that do not support default values for arguments, Signatures will be specified. +Signatures are specified using a `Signature(a,b,c){ "signature specific documentation" }` section for each signature. +With the signature specific documentation being optional. + +Signatures making use of outputs will only be generated for NDArray programming mode, not in SameDiff mode. This also +means that parameters with a `defaultValue` based on an output will be treated as required in SameDiff mode. + +If signatures are specified, only the specified signatures will be generated. + +If no signatures are explicitly specified, only the "all-arg" and "no-optional-arg" signatures will be generated. In +NDArray programming mode, the default signatures also include a variant that includes the output. + + +## Examples +### BatchNorm with all otherwise auto generated signatures stated explicitly + +```kotlin +Op("batchNorm") { + val input = Input(NUMERIC, "input") { description = "Input variable" } + val mean = Input(NUMERIC, "mean") { description = "Mean value. For 1d axis, this should match input.size(axis)" } + val variance = Input(NUMERIC, "variance") { description = "Variance value. For 1d axis, this should match input.size(axis)" } + val gamma = Input(NUMERIC, "gamma") { description = "Gamma value. For 1d axis, this should match input.size(axis)" } + val beta = Input(NUMERIC, "beta") { description = "Beta value. For 1d axis, this should match input.size(axis)" } + + val applyGamma = Arg(BOOL, "applyGamma") { description = ""; defaultValue = true} + val applyBeta = Arg(BOOL, "applyBeta") { description = ""; defaultValue = true} + val axis = Arg(INT, "axis"){ + count = AtLeast(1) + description = """ + For 2d CNN activations: 1 for NCHW format activations, or 3 for NHWC format activations. + For 3d CNN activations: 1 for NCDHW format, 4 for NDHWC + For 1d/RNN activations: 1 for NCW format, 2 for NWC + """.trimIndent() + } + + val out = Output(INT, "output"){ description = "Output variable for batch normalization" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Neural network batch normalization operation. + For details, see https://arxiv.org/abs/1502.03167 + """.trimIndent() + } + + Signature(input, mean, variance, gamma, beta, axis) + Signature(input, mean, variance, gamma, beta, applyGamma, applyBeta, axis) + Signature(out, input, mean, variance, gamma, beta, axis) + Signature(out, input, mean, variance, gamma, beta, applyGamma, applyBeta, axis) +} +``` + +### Random Uniform initialization with support for (dataType, shape) and (out) invocation +```kotlin +Op("uniform") { + val out = Output(NUMERIC, "output") { description = "new random %INPUT_TYPE%, where values are randomly sampled according to a uniform distribution" } + + val min = Arg(FLOATING_POINT, "min") { description = "Minimum value" } + val max = Arg(FLOATING_POINT, "max") { description = "Maximum value." } + val dataType = Arg(DATA_TYPE, "dataType") { description = "Data Type of the output array"; defaultValue = out.dataType() } + val shape = Arg(INT, "shape") { count = AtLeast(1); description = "Shape of the new random %INPUT_TYPE%, as a 1D array"; defaultValue = out.dataType() } + + Doc(Language.ANY, DocScope.ALL) { + """ + Generate a new random %INPUT_TYPE%, where values are randomly sampled according to a uniform distribution, + U(min,max) + """.trimIndent() + } + + Signature(min, max, dataType, shape) + Signature(out, min, max) +} +``` + + +## Consequences + +### Advantages +* We get to explicitly define edge cases +* We can make Signatures compatible with existing code +* Even in languages with default value support, the added signatures may become useful parts of the documentation + +### Disadvantages +* The order of definitions within the op changes to Output first, if inputs need to reference it + diff --git a/contrib/codegen-tools/codegen/adr/0006-op_specific_enums.md b/contrib/codegen-tools/codegen/adr/0006-op_specific_enums.md new file mode 100644 index 000000000..757c5af29 --- /dev/null +++ b/contrib/codegen-tools/codegen/adr/0006-op_specific_enums.md @@ -0,0 +1,40 @@ +# Op specific enums + +## Status + +ACCEPTED + +Discussed by: Alex Black, Robert Altena and Paul Dubs on 26. November 2019 + +## Context +Some ops have an ordinal parameter which switches between a few possible modes. Giving those modes a proper name +makes usage and documentation easier. + + +## Decision +We allow `Arg` sections to have an `ENUM` data type and add a `possibleValues` property to define the possible values +for this arg. The ordinal number of the enum is the same as its position within the `possibleValues` list starting from +`0`. + +A runtime check on op construction, will ensure that each enum arg has one or more possible values, and that default +values match one of the possible values (if applicable). + +On code generation, an appropriate representation of this enum will be generated in the target language. The name of +the generated enum will be derived from the name of the arg. + +### Example +```kotlin +Arg(ENUM, "padMode"){ + possibleValues = listOf("CONSTANT", "REFLECT", "SYMMETRIC") + description = "padding mode" +} +``` + +## Consequences + +### Advantages +* We get easily understandable names for otherwise in-transparent ordinal mode modifiers + +### Disadvantages +* The defined enum can only be used for a single op +* The defined enum is only usable with a single arg diff --git a/contrib/codegen-tools/codegen/adr/0007-configuration_objects.md b/contrib/codegen-tools/codegen/adr/0007-configuration_objects.md new file mode 100644 index 000000000..76120685d --- /dev/null +++ b/contrib/codegen-tools/codegen/adr/0007-configuration_objects.md @@ -0,0 +1,81 @@ +# Configuration Objects + +## Status + +ACCEPTED + +Discussed by Alex Black, raver119 and Paul Dubs on 27. November 2019. + +## Context +Some Ops (esp. convolution) have many parameters. Many of them can have reasonable defaults, but even then creating +signatures for evey reasonable configuration may be impossible, as those signatures would require different naming in +order to be actually distinguishable from each other. + +In other cases, an op may have a lot of same typed parameters that are required (e.g. GRU, LSTM, SRU) but it is very +easy to mix them up. + +For both of those cases (many optional parameters, easily mixed up required parameters) it is reasonable to use a +config holder with builder pattern in languages that do not support named or default parameters. + +In our current codebase those configurations are often used across several related ops. + + +## Decision +We add a `Config("name"){ ... }` section to the namespace context. It supports `Input` and `Arg` definitions in the same +way that `Op` does. + +Ops that want to use that config can use `useConfig(conf)`. As configs are often reused across related objects, this +will have the effect of a mixin: All inputs and args defined in that config will also be automatically defined on that +Op. If there is a naming conflict, an exception will be thrown at construction time. + +For default signatures, configs will be passed at the end, in the order that they were added to the Op. + +If other signatures are desired, configs, like regular inputs and args, can be passed to `Signature`. + +In languages that do not support default or named parameters, a config holder will be created, that will take the +parameters of the config using a builder pattern. For languages with default and named parameters, no additional config +holder will be created, and the parameters of the config will be treated as if they were directly configured on the Op. + +### Example +This example shows a very simple case in order to highlight how this feature would be used. +```kotlin +fun RNN() = Namespace("RNN"){ + val sruWeights = Config("SRUWeights"){ + Input(FLOATING_POINT, "weights"){ description = "Weights, with shape [inSize, 3*inSize]" } + Input(FLOATING_POINT, "bias"){ description = "Biases, with shape [2*inSize]" } + } + + Op("SRU"){ + Input(FLOATING_POINT, "x"){ description = "..." } + Input(FLOATING_POINT, "initialC"){ description = "..." } + Input(FLOATING_POINT, "mask"){ description = "..." } + + useConfig(sruWeights) + + Output(FLOATING_POINT, "out"){ description = "..." } + } + + Op("SRUCell"){ + val x = Input(FLOATING_POINT, "x"){ description = "..." } + val cLast = Input(FLOATING_POINT, "cLast"){ description = "..." } + + val conf = useConfig(sruWeights) + + Output(FLOATING_POINT, "out"){ description = "..." } + + // Just for demonstration purposes + Signature(x, cLast, conf) + } +} +``` + +## Consequences + +### Advantages +* Ops that share parameters can make that sharing explicit +* Easier definition of related ops with common parameters +* Simplifies usage of complex ops in languages without named parameters + +### Disadvantages +* Not all parameters are defined directly within an op anymore +* Configs are not shareable across namespaces \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/adr/0008-inheritance.md b/contrib/codegen-tools/codegen/adr/0008-inheritance.md new file mode 100644 index 000000000..96971733d --- /dev/null +++ b/contrib/codegen-tools/codegen/adr/0008-inheritance.md @@ -0,0 +1,89 @@ +# Inheritance + +## Status +ACCEPTED + +Discussed by Alex Black and Paul Dubs on 29. November 2019 and 2. December 2019. + +## Context +In many cases ops have a similar interface. For example all transform ops take a single input, but some of them take +additional arguments; all pairwise ops take two inputs, and so on. The documentation of those ops is often the result +of copy & paste with just a few little modifications, and changing anything later on suddenly becomes a huge undertaking +because what should effectively be a change in a single place, has to be changed in many places. + +Another issue that copy & paste based definitions bring to the table is that this practice effectively makes any +relationship between those ops implicit. + +When defining ops with the DSL we prefer to make things as explicit as possible, while also reducing repetition and +boilerplate. + +The existing inheritance mechanism, added without a formal proposal at the beginning of the project, allows the +definition of an abstract base op. The new op based on it, can copy any of the given parts before it gets to define its +own properties. This approach has the problem that we can't inherit from multiple base ops, and that we do not get any +direct access to its fields for ease of use. + +# Decision +We introduce an explicit mixin mechanism `Mixin("name") {...}` which can define any parts of any op, but isn't an Op +definition on its own. Mixins can be defined at top-level, thereby being usable across namespaces. + +A mixin is mixed into an op with `useMixin(mixinReference, ...options...)` within an op context. It will add all (if +not otherwise configured) definitions of the mixin to the current op as if they were copied into its place. +If `useMixin(ref)` is used as the first thing within an op definition, then it will behave exactly like the old +inheritance mechanism. + +`useMixin(ref)` returns a holder object, that can be used to reference its parameters. + +The available options on `useMixin` are `keepInputs`, `keepArgs`, `keepOutputs`, `keepSignatures`, `keepDoc`, +`keepConstraints`. They default to `true`. + +If there is a naming conflict between mixins or between mixin and op definition, the last definition wins. + +### Example +```kotlin + +val indexAccum = Mixin("indexAccum"){ + legacy = true + javaPackage = "org.nd4j.linalg.api.ops.impl.indexaccum" + val input = Input(NUMERIC, "in") { description = "Input variable" } + val keepDims = Arg(BOOL, "keepDims") { description = "If true: keep the dimensions that are reduced on (as length 1). False: remove the reduction dimensions"; defaultValue = false } + val dims = Arg(INT, "dimensions"){ count = AtLeast(1); description = "Dimensions to reduce over. If dimensions are not specified, full array reduction is performed" } + Output(NUMERIC, "output"){ description = "Reduced array of rank (input rank - num dimensions)" } + + Signature(input, dims) + AllParamSignature(withOutput = false) +} + + +Namespace("math"){ + Op("firstIndex") { + val idxAccum = useMixin(indexAccum, keepSignatures=false) + var c = Arg(CONDITION, "condition") { description = "Condition to check on input variable" } + Signature(idxAccum.input("in"), c, idxAccum.arg("dimensions")) + Signature(idxAccum.input("in"), c, idxAccum.arg("keepDims"), idxAccum.arg("dimensions")) + + Doc(Language.ANY, DocScope.ALL){ + """ + First index reduction operation. + Returns a variable that contains the index of the first element that matches the specified condition (for each + slice along the specified dimensions) + Note that if keepDims = true, the output variable has the same rank as the input variable, + with the reduced dimensions having size 1. This can be useful for later broadcast operations (such as subtracting + the mean along a dimension). + Example: if input has shape [a,b,c] and dimensions=[1] then output has shape: + keepDims = true: [a,1,c] + keepDims = false: [a,c] + """.trimIndent() + } + } +} +``` + + +## Consequences +### Advantages +* We can have multiple inheritance +* We can share op similarities across namespaces +* We get explicit access to parameters defined in mixins + +### Disadvantages +* We have to adapt our current usage \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/adr/0009-aliasing.md b/contrib/codegen-tools/codegen/adr/0009-aliasing.md new file mode 100644 index 000000000..5fc6777c0 --- /dev/null +++ b/contrib/codegen-tools/codegen/adr/0009-aliasing.md @@ -0,0 +1,72 @@ +# Aliasing + +## Status +ACCEPTED + +Discussed by Alex Black and Paul Dubs on 05. March 2020. + + +## Context +The API surface area is very large over all those namespaces. For consistency with our previous manually created API we want to be able to alias ops into different namespaces. Those aliases are meant as a convenience for users, so they can find ops more easily. + +# Decision +We introduce an aliasing mechanism `Alias(NamespaceName().op("opName"))` at the Namespace level, which can reference an op directly. + +When an op is aliased like that, all of that ops signatures will be available in the referencing namespace. However, they will get an additional note in their documentation saying that it is an alias to the original op. In addition, the implementation of an alias signature, is a direct call of the same signature in the original namespace. + +It is not allowed to alias an op from a namespace that only has it because it has aliased it itself. + +When the requested op is not part of the given namespace, trying to alias it will throw an OpNotFoundException. + +### Example +#### Definitions +```kotlin +fun BaseOps() = Namespace("BaseOps"){ + Op("mmul") { + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce" + Input(NUMERIC, "x") { description = "First input variable" } + Input(NUMERIC, "y") { description = "Second input variable" } + Arg(BOOL, "transposeX") { description = "Transpose x (first argument)"; defaultValue=false } + Arg(BOOL, "transposeY") { description = "Transpose y (second argument)"; defaultValue=false } + Arg(BOOL, "transposeZ") { description = "Transpose result array"; defaultValue=false } + Output(NUMERIC, "output"){ description = "" } + Doc(Language.ANY, DocScope.ALL){ + """ + Matrix multiplication: out = mmul(x,y) + Supports specifying transpose argument to perform operation such as mmul(a^T, b), etc. + """.trimIndent() + } + } +} + +fun Linalg() = Namespace("Linalg"){ + Alias(BaseOps(), "mmul") +} +``` + +#### Output +This output is meant as a possible example. It is not what it will look like exactly once this feature is implemented. + +```java +public class Linalg{ + /** + * Matrix multiplication: out = mmul(x,y)
+ * Supports specifying transpose argument to perform operation such as mmul(a^T, b), etc.
+ * + * Alias of basepackage.baseOps.mmul(x, y)
+ * + * @param x First input variable + * @param y Second input variable + */ + public static INDArray mmul(INDArray x, INDArray y){ + return basepakage.baseOps.mmul(x,y); + } +} +``` + +## Consequences +### Advantages +* We can make the API more flexible by allowing ops to be available from other namespaces + +### Disadvantages +* The API becomes more crowded \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/adr/0010-ir-codegen.md b/contrib/codegen-tools/codegen/adr/0010-ir-codegen.md new file mode 100644 index 000000000..3db4fe27f --- /dev/null +++ b/contrib/codegen-tools/codegen/adr/0010-ir-codegen.md @@ -0,0 +1,283 @@ +###Interpreter + +An interpreter takes a tensorflow or pytorch model and figure out how to map +various ops. Their attributes and op names are mapped to libnd4j +using information from the above op descriptor. + +An interpreter can take in an individual op from tensorflow, onnx or +another framework and translate it to an equivalent op in libnd4j represented +as the equivalent op descriptor. + +The usage is as follows: + + +## Op def files + +For each framework in tensorflow/onnx, we have inbuilt definition files +for each tensorflow and pytorch. + +For onnx, we have an onnx.pbtxt generated by the dl4j-dev tools submodule +onnx-defs. This definition file has each op serialized as an [onnx NodeProto](https://github.com/onnx/onnx/blob/25fd2c332cf854fd38a92aa8f60d232530ab0065/onnx/onnx-ml.proto#L193) +For tensorflow, we have an ops.proto pulled from tensorflow's official repo. + +We use these files to map operation attributes serialized by +nd4j's generated operation definition tool found in dl4j-dev-tools +to their equivalents in tensorflow and pytorch. + +An interpreter has 2 methods: + + +```java +Interpreter interpreter = ...; + +OpDescriptor descriptor = interpreter.interpretTensorflow(nodeFromOtherFramework); +OpDescriptor descriptor = interpreter.interpretOnnx(nodeFromOtherFramework); + +//proceed to use descriptor to map for model import... +``` + +##Interpreter file format + +An interpreter is language neutral. We have a mini syntax +for mapping attributes from one format to another. + +Through indexing every attribute and input/output in libnd4j, +we can maintain an index of operation names and attributes +with a mapping syntax. If we want to map a trivial operation like say: +Abs, let's compare tensorflow, onnx and the descriptor in nd4j. + +Tensorflow: +```prototext +op { + name: "Floor" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +``` + +Onnx: +```prototext +input: "X" +output: "Y" +name: "Floor" +op_type: "Floor" +attribute { + name: "X-types" + strings: "float" + strings: "float16" + strings: "double" + type: STRINGS +} +doc_string: "\nFloor takes one input data (Tensor) and produces one output data\n(Tensor) where the floor is, y = floor(x), is applied to\nthe tensor elementwise.\n" +``` + +The op descriptor for libnd4j is: +``` +OpDeclarationDescriptor(name=Floor, nIn=1, nOut=1, tArgs=0, iArgs=0, inplaceAble=true, inArgNames=[first], outArgNames=[z], tArgNames=[], iArgNames=[], bArgNames=[], opDeclarationType=OP_IMPL) +``` + +Floor is a fairly simple op with 1 input and 1 output. +Inputs and outputs are implicitly tensors. +This is true for both onnx and tensorflow. + +Tensorflow has an attribute defined for valid types. +The way we generated the onnx schema proto, we have something equivalent +that allows for a list of types presented as a string. + + +Mapping a descriptor happens based on attribute. +An example of abs below: + +```prototext +floor { + tensorflow_mapping: { + input_mappings: { + input_mapping { + first: "x" + } + + } + output_mappings: { + z: "y" + } + + attribute_mapping_functions: { + + } + + } + onnx_mapping { + input_mappings { + first: "X" + } + output_mappings { + z: "Y" + } + + attribute_mapping_functions { + + } + } +} +``` + +Now we can compare this to Convolution. +In tensorflow, the convolution op is represented as: +```prototext +op { + name: "Conv2D" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "filter" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "use_cudnn_on_gpu" + type: "bool" + default_value { + b: true + } + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +``` +In onnx, it's represented as: +```prototext +input: "X" +input: "W" +input: "B" +output: "Y" +name: "Conv" +op_type: "Conv" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "dilations" + s: "" + type: INTS +} +attribute { + name: "group" + i: 1 + type: INT +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "W-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nThe convolution operator consumes an input tensor and a filter, and\ncomputes the output." +``` + + + + diff --git a/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/Namespace.java b/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/Namespace.java new file mode 100644 index 000000000..93dffaea5 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/Namespace.java @@ -0,0 +1,126 @@ +package org.nd4j.codegen; + +import org.nd4j.codegen.api.NamespaceOps; +import org.nd4j.codegen.ops.*; + +public enum Namespace { + BITWISE, + NEURALNETWORK, + RANDOM, + IMAGE, + CNN, + RNN, + MATH, + BASE, + LOSS, + LINALG; + + + public static Namespace fromString(String in){ + switch (in.toLowerCase()){ + case "bitwise": + return BITWISE; + case "nn": + case "neuralnetwork": + return NEURALNETWORK; + case "random": + return RANDOM; + case "math": + return MATH; + case "image": + return IMAGE; + case "cnn": + return CNN; + case "rnn": + return RNN; + case "base": + return BASE; + case "loss": + return LOSS; + case "linalg": + return LINALG; + default: + return null; + } + } + + public String javaClassName(){ + switch (this){ + case BITWISE: + return "NDBitwise"; + case NEURALNETWORK: + return "NDNN"; + case RANDOM: + return "NDRandom"; + case IMAGE: + return "NDImage"; + case CNN: + return "NDCNN"; + case RNN: + return "NDRNN"; + case MATH: + return "NDMath"; + case BASE: + return "NDBase"; + case LOSS: + return "NDLoss"; + case LINALG: + return "NDLinalg"; + } + throw new IllegalStateException("No java class name defined for: " + this); + } + + public String javaSameDiffClassName(){ + switch (this){ + case BITWISE: + return "SDBitwise"; + case NEURALNETWORK: + return "SDNN"; + case RANDOM: + return "SDRandom"; + case IMAGE: + return "SDImage"; + case CNN: + return "SDCNN"; + case RNN: + return "SDRNN"; + case MATH: + return "SDMath"; + case BASE: + return "SDBaseOps"; + case LOSS: + return "SDLoss"; + /*case VALIDATION: + return "SDValidation";*/ + case LINALG: + return "SDLinalg"; + } + throw new IllegalStateException("No java SameDiff class name defined for: " + this); + } + + public NamespaceOps getNamespace(){ + switch (this){ + case BITWISE: + return BitwiseKt.Bitwise(); + case RANDOM: + return RandomKt.Random(); + case MATH: + return MathKt.Math(); + case IMAGE: + return ImageKt.SDImage(); + case CNN: + return CNNKt.SDCNN(); + case RNN: + return RNNKt.SDRNN(); + case NEURALNETWORK: + return NeuralNetworkKt.NN(); + case BASE: + return SDBaseOpsKt.SDBaseOps(); + case LOSS: + return SDLossKt.SDLoss(); + case LINALG: + return LinalgKt.Linalg(); + } + throw new IllegalStateException("No namespace definition available for: " + this); + } +} diff --git a/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/cli/CLI.java b/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/cli/CLI.java new file mode 100644 index 000000000..8ef386604 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/cli/CLI.java @@ -0,0 +1,162 @@ +package org.nd4j.codegen.cli; + +import com.beust.jcommander.*; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.nd4j.codegen.Namespace; +import org.nd4j.codegen.api.NamespaceOps; +import org.nd4j.codegen.impl.java.DocsGenerator; +import org.nd4j.codegen.impl.java.Nd4jNamespaceGenerator; + +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * Planned CLI for generating classes + */ +@Slf4j +public class CLI { + private static final String relativePath = "nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/"; + private static final String allProjects = "all"; + private static final String sdProject = "sd"; + private static final String ndProject = "nd4j"; + + public static class ProjectsValidator implements IParameterValidator { + + @Override + public void validate(String name, String value) throws ParameterException { + if (name.equals("-projects")) { + if (!(value.equals(allProjects) || value.equals(ndProject) || value.equals(sdProject))) { + throw new ParameterException("Wrong projects " + value + " passed! Must be one of [all, sd, nd4j]"); + } + } + } + } + + @Parameter(names = "-dir", description = "Root directory of deeplearning4j mono repo") + private String repoRootDir; + + @Parameter(names = "-docsdir", description = "Root directory for generated docs") + private String docsdir; + + @Parameter(names = "-namespaces", description = "List of namespaces to generate, or 'ALL' to generate all namespaces", required = true) + private List namespaces; + + @Parameter(names = "-projects", description = "List of sub-projects - ND4J, SameDiff or both", required = false, validateWith = ProjectsValidator.class) + private List projects = Collections.singletonList("all"); + + enum NS_PROJECT { + ND4J, + SAMEDIFF; + } + + private void generateNamespaces(NS_PROJECT project, File outputDir, String basePackage) throws IOException { + + List usedNamespaces = new ArrayList<>(); + + for(String s : namespaces) { + if ("all".equalsIgnoreCase(s)) { + Collections.addAll(usedNamespaces, Namespace.values()); + break; + } + Namespace ns = null; + if (project == NS_PROJECT.ND4J) { + ns = Namespace.fromString(s); + if (ns == null) { + log.error("Invalid/unknown ND4J namespace provided: " + s); + } + else { + usedNamespaces.add(ns); + } + } + else { + ns = Namespace.fromString(s); + if (ns == null) { + log.error("Invalid/unknown SD namespace provided: " + s); + } + else { + usedNamespaces.add(ns); + } + } + } + + int cnt = 0; + for (int i = 0; i < usedNamespaces.size(); ++i) { + Namespace ns = usedNamespaces.get(i); + log.info("Starting generation of namespace: {}", ns); + + String javaClassName = project == NS_PROJECT.ND4J ? ns.javaClassName() : ns.javaSameDiffClassName(); + NamespaceOps ops = ns.getNamespace(); + + String basePackagePath = basePackage.replace(".", "/") + "/ops/"; + + if (StringUtils.isNotEmpty(docsdir)) { + DocsGenerator.generateDocs(i, ops, docsdir, basePackage); + } + if (outputDir != null) { + File outputPath = new File(outputDir, basePackagePath + javaClassName + ".java"); + log.info("Output path: {}", outputPath.getAbsolutePath()); + + if (NS_PROJECT.ND4J == project) + Nd4jNamespaceGenerator.generate(ops, null, outputDir, javaClassName, basePackage, docsdir); + else + Nd4jNamespaceGenerator.generate(ops, null, outputDir, javaClassName, basePackage, + "org.nd4j.autodiff.samediff.ops.SDOps", docsdir); + } + ++cnt; + } + log.info("Complete - generated {} namespaces", cnt); + } + + + public static void main(String[] args) throws Exception { + new CLI().runMain(args); + } + + public void runMain(String[] args) throws Exception { + JCommander.newBuilder() + .addObject(this) + .build() + .parse(args); + + // Either root directory for source code generation or docs directory must be present. If root directory is + // absenbt - then it's "generate docs only" mode. + if (StringUtils.isEmpty(repoRootDir) && StringUtils.isEmpty(docsdir)) { + throw new IllegalStateException("Provide one or both of arguments : -dir, -docsdir"); + } + File outputDir = null; + if (StringUtils.isNotEmpty(repoRootDir)) { + //First: Check root directory. + File dir = new File(repoRootDir); + if (!dir.exists() || !dir.isDirectory()) { + throw new IllegalStateException("Provided root directory does not exist (or not a directory): " + dir.getAbsolutePath()); + } + + outputDir = new File(dir, relativePath); + if (!outputDir.exists() || !dir.isDirectory()) { + throw new IllegalStateException("Expected output directory does not exist: " + outputDir.getAbsolutePath()); + } + } + + if(namespaces == null || namespaces.isEmpty()){ + throw new IllegalStateException("No namespaces were provided"); + } + + try { + if (projects == null) + projects.add(allProjects); + boolean forAllProjects = projects.isEmpty() || projects.contains(allProjects); + if (forAllProjects || projects.contains(ndProject)) { + generateNamespaces(NS_PROJECT.ND4J, outputDir, "org.nd4j.linalg.factory"); + } + if (forAllProjects || projects.contains(sdProject)) { + generateNamespaces(NS_PROJECT.SAMEDIFF, outputDir, "org.nd4j.autodiff.samediff"); + } + } catch (Exception e) { + log.error(e.toString()); + } + } +} diff --git a/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/impl/cpp/CppGenerator.java b/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/impl/cpp/CppGenerator.java new file mode 100644 index 000000000..5e77c1b61 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/impl/cpp/CppGenerator.java @@ -0,0 +1,135 @@ +package org.nd4j.codegen.impl.cpp; + +import org.apache.commons.io.FileUtils; +import org.nd4j.codegen.api.*; +import org.nd4j.codegen.api.generator.Generator; +import org.nd4j.codegen.api.generator.GeneratorConfig; +import org.nd4j.codegen.util.GenUtil; + +import java.io.File; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.List; + +/** + * A very simple, manual CPP generator + * As per Python, this could be implemented using a templating library such as freemarker + */ +public class CppGenerator implements Generator { + @Override + public Language language() { + return Language.CPP; + } + + @Override + public void generateNamespaceNd4j(NamespaceOps namespace, GeneratorConfig config, File directory, String fileName) throws IOException { + + StringBuilder sb = new StringBuilder(); + + sb.append("#include \n\n") + .append("namespace nd4j {\n"); + + append(4, sb, "namespace " + namespace.getName().toLowerCase()); + + List ops = new ArrayList<>(); + for(Op o : namespace.getOps()){ + if(o.isAbstract()) + continue; + ops.add(o); + } + + //TODO: handle includes + + for(Op o : ops){ + String s = generateFunction(o); + sb.append(GenUtil.addIndent(s, 8)); + sb.append("\n"); + } + + append(4, sb, "}"); + sb.append("}"); + + //TODO generate header also + + String out = sb.toString(); + File outFile = new File(directory, GenUtil.ensureFirstIsCap(namespace.getName()) + ".cpp"); + FileUtils.writeStringToFile(outFile, out, StandardCharsets.UTF_8); + } + + protected static void append(int indent, StringBuilder sb, String line){ + sb.append(GenUtil.repeat(" ", indent)) + .append(line) + .append("\n"); + } + + protected static String generateFunction(Op op){ + StringBuilder sb = new StringBuilder(); + + List outputs = op.getOutputs(); + boolean singleOut = outputs.size() == 1; + if(singleOut){ + sb.append("NDArray* "); + } else { + throw new UnsupportedOperationException("Multi-output op generation not yet implemented"); + } + + sb.append(GenUtil.ensureFirstIsNotCap(op.getOpName())).append("("); + + //Add inputs to signature + boolean firstArg = true; + if(op.getInputs() != null){ + for(Input i : op.getInputs()){ + if(!firstArg) + sb.append(", "); + + sb.append("NDArray* ").append(i.getName()); + + firstArg = false; + } + } + + + //Add arguments and default args to signature + sb.append("):\n"); + + + sb.append(" Context c(1);\n"); + int j=0; + for(Input i : op.getInputs()){ + sb.append(" c.setInputArray(").append(j++).append(", ").append(i.getName()).append(");\n"); + } + + sb.append("\n //TODO: args\n\n"); + + + sb.append(" nd4j::ops::").append(op.getLibnd4jOpName()).append(" op;\n"); + + sb.append(" ShapeList shapeList({"); + j = 0; + for(Input i : op.getInputs()){ + if(j > 0) + sb.append(","); + sb.append(i.getName()); + j++; + } + + sb.append("});\n\n") + .append(" auto outShape = op.calculateOutputShape(&shapeList, c);\n"); + + sb.append(" auto out = nullptr; //TODO\n\n") + .append(" op.exec(c);\n") + .append(" delete shapes;\n"); + + sb.append(" return out;\n") + .append("}\n"); + + + return sb.toString(); + } + + @Override + public void generateNamespaceSameDiff(NamespaceOps namespace, GeneratorConfig config, File directory, String fileName) throws IOException { + throw new UnsupportedOperationException(); + } +} diff --git a/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/impl/java/DocsGenerator.java b/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/impl/java/DocsGenerator.java new file mode 100644 index 000000000..00854e8cf --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/impl/java/DocsGenerator.java @@ -0,0 +1,281 @@ +package org.nd4j.codegen.impl.java; + +import com.squareup.javapoet.MethodSpec; +import com.squareup.javapoet.TypeName; +import org.apache.commons.io.FileUtils; +import org.apache.commons.lang3.StringUtils; +import org.nd4j.codegen.api.*; +import org.nd4j.codegen.api.doc.DocSection; +import org.nd4j.codegen.api.doc.DocTokens; +import org.nd4j.codegen.util.GenUtil; + +import java.io.File; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.util.*; + +import static org.nd4j.codegen.impl.java.Nd4jNamespaceGenerator.exactlyOne; + +public class DocsGenerator { + + // Markdown marker for start-end of code section + private static final String MD_CODE = "```"; + // Javadoc constants which should be dropped or replaced for markdown generation + private static final String JD_CODE = "{@code "; + private static final String JD_CODE_END = "}"; + private static final String JD_INPUT_TYPE = "%INPUT_TYPE%"; + + public static class JavaDocToMDAdapter { + private String current; + + public JavaDocToMDAdapter(String original) { + this.current = original; + } + + public JavaDocToMDAdapter filter(String pattern, String replaceWith) { + String result = StringUtils.replace(current, pattern, replaceWith); + this.current = result; + return this; + } + + @Override + public String toString() { + return current; + } + } + + private static String generateMethodText(Op op, Signature s, boolean isSameDiff, boolean isLoss, boolean withName) { + StringBuilder sb = new StringBuilder(); + MethodSpec.Builder c = MethodSpec.methodBuilder(GenUtil.ensureFirstIsNotCap(op.getOpName())); + List params = s.getParameters(); + List outs = op.getOutputs(); + String retType = "void"; + + if (outs.size() == 1) { + retType = isSameDiff ? "SDVariable" : "INDArray"; + } + else if (outs.size() >= 1) { + retType = isSameDiff ? "SDVariable[]" : "INDArray[]"; + } + sb.append(retType).append(" ").append(op.getOpName()).append("("); + boolean first = true; + for (Parameter param : params) { + if (param instanceof Arg) { + Arg arg = (Arg) param; + if (!first) + sb.append(", "); + else if (withName) + sb.append("String name, "); + String className; + if(arg.getType() == DataType.ENUM) { + className = GenUtil.ensureFirstIsCap(arg.name()); + } else { + TypeName tu = Nd4jNamespaceGenerator.getArgType(arg); + className = tu.toString(); + } + if(className.contains(".")){ + className = className.substring(className.lastIndexOf('.')+1); + } + sb.append(className).append(" ").append(arg.name()); + first = false; + } + else if (param instanceof Input) { + Input arg = (Input) param; + if (!first) + sb.append(", "); + else if (withName) + sb.append("String name, "); + sb.append(isSameDiff ? "SDVariable " : "INDArray ").append(arg.name()); + first = false; + } else if(param instanceof Config){ + if(!first) + sb.append(", "); + Config conf = (Config)param; + String name = conf.getName(); + sb.append(name).append(" ").append(GenUtil.ensureFirstIsNotCap(name)); + } + } + sb.append(")"); + return sb.toString(); + } + + private static StringBuilder buildDocSectionText(List docSections) { + StringBuilder sb = new StringBuilder(); + for (DocSection ds : docSections) { + //if(ds.applies(Language.JAVA, CodeComponent.OP_CREATOR)){ + String text = ds.getText(); + String[] lines = text.split("\n"); + for (int i = 0; i < lines.length; i++) { + if (!lines[i].endsWith("
")) { + String filteredLine = new JavaDocToMDAdapter(lines[i]) + .filter(JD_CODE, "`") + .filter(JD_CODE_END, "`") + .filter(JD_INPUT_TYPE, "INDArray").toString(); + + lines[i] = filteredLine + System.lineSeparator(); + } + } + text = String.join("\n", lines); + sb.append(text).append(System.lineSeparator()); + //} + } + return sb; + } + + public static void generateDocs(int namespaceNum, NamespaceOps namespace, String docsDirectory, String basePackage) throws IOException { + File outputDirectory = new File(docsDirectory); + StringBuilder sb = new StringBuilder(); + String headerName = namespace.getName(); + if(headerName.startsWith("SD")) + headerName = headerName.substring(2); + + // File Header for Gitbook + sb.append("---").append(System.lineSeparator()); + sb.append("title: ").append(headerName).append(System.lineSeparator()); + sb.append("short_title: ").append(headerName).append(System.lineSeparator()); + sb.append("description: ").append(System.lineSeparator()); + sb.append("category: Operations").append(System.lineSeparator()); + sb.append("weight: ").append(namespaceNum * 10).append(System.lineSeparator()); + sb.append("---").append(System.lineSeparator()); + + List ops = namespace.getOps(); + + ops.sort(Comparator.comparing(Op::getOpName)); + + if (ops.size() > 0) + sb.append("# Operation classes").append(System.lineSeparator()); + for (Op op : ops) { + sb.append("## ").append(op.getOpName()).append(System.lineSeparator()); + List doc = op.getDoc(); + if(!doc.isEmpty()) { + boolean first = true; + StringBuilder ndSignatures = new StringBuilder(); + StringBuilder sdSignatures = new StringBuilder(); + StringBuilder sdNameSignatures = new StringBuilder(); + for(Signature s : op.getSignatures()) { + if (first) { + Language lang = doc.get(0).getLanguage(); + sb.append(MD_CODE).append(lang.equals(Language.ANY) ? Language.JAVA : lang).append(System.lineSeparator()); + first = false; + } + String ndCode = generateMethodText(op, s, false, false, false); + ndSignatures.append(ndCode).append(System.lineSeparator()); + String sdCode = generateMethodText(op, s, true, false, false); + sdSignatures.append(sdCode).append(System.lineSeparator()); + String withNameCode = generateMethodText(op, s, true, false, true); + sdNameSignatures.append(withNameCode).append(System.lineSeparator()); + } + sb.append(ndSignatures.toString()); + sb.append(System.lineSeparator()); // New line between INDArray and SDVariable signatures + + sb.append(sdSignatures.toString()); + sb.append(sdNameSignatures.toString()); + + sb.append(MD_CODE).append(System.lineSeparator()); + StringBuilder tsb = buildDocSectionText(doc); + sb.append(tsb.toString()); + List l = op.getSignatures(); + Set alreadySeen = new HashSet<>(); + for(Signature s : l) { + List params = s.getParameters(); + for (Parameter p : params) { + if(alreadySeen.contains(p)) continue; + alreadySeen.add(p); + if(p instanceof Input){ + Input i = (Input)p; + sb.append("* **").append(i.getName()).append("** ").append(" (").append(i.getType()).append(") - ").append(i.getDescription() == null ? "" : DocTokens.processDocText(i.getDescription(), + op, DocTokens.GenerationType.ND4J)).append(System.lineSeparator()); + } + else if (p instanceof Config) { + Config c = (Config)p; + sb.append("* **").append(c.getName()).append("** - see ").append("[").append(c.getName()).append("]").append("(#").append(toAnchor(c.getName())).append(")").append(System.lineSeparator()); + } + else if(p instanceof Arg) { + Arg arg = (Arg) p; + final Count count = arg.getCount(); + if (count == null || count.equals(exactlyOne)) { + sb.append("* **").append(arg.getName()).append("** - ").append(arg.getDescription() == null ? "" : DocTokens.processDocText(arg.getDescription(), + op, DocTokens.GenerationType.ND4J)); //.append(System.lineSeparator()); + } else { + sb.append("* **").append(arg.getName()).append("** - ").append(arg.getDescription() == null ? "" : DocTokens.processDocText(arg.getDescription(), + op, DocTokens.GenerationType.ND4J)).append(" (Size: ").append(count.toString()).append(")"); //.append(System.lineSeparator()); + } + + Object defaultValue = arg.defaultValue(); + if(defaultValue != null){ + sb.append(" - default = ").append(formatDefaultValue(defaultValue)); + } + + sb.append(System.lineSeparator()); + } + } + } + sb.append(System.lineSeparator()); + } + } + + + if (namespace.getConfigs().size() > 0) + sb.append("# Configuration Classes").append(System.lineSeparator()); + for (Config config : namespace.getConfigs()) { + sb.append("## ").append(config.getName()).append(System.lineSeparator()); + for (Input i : config.getInputs()) { + sb.append("* **").append(i.getName()).append("**- ").append(i.getDescription()).append(" (").append(i.getType()).append(" type)"); + if (i.hasDefaultValue() && (i.defaultValue() != null)) + sb.append(" Default value:").append(formatDefaultValue(i.defaultValue())).append(System.lineSeparator()); + else + sb.append(System.lineSeparator()); + } + for (Arg arg : config.getArgs()) { + sb.append("* **").append(arg.getName()).append("** ").append("(").append(arg.getType()).append(") - ").append(arg.getDescription()); + if (arg.hasDefaultValue() && (arg.defaultValue() != null)) + sb.append(" - default = ").append(formatDefaultValue(arg.defaultValue())).append(System.lineSeparator()); + else + sb.append(System.lineSeparator()); + } + StringBuilder tsb = buildDocSectionText(config.getDoc()); + sb.append(tsb.toString()); + sb.append(System.lineSeparator()); + for (Op op : ops) { + if (op.getConfigs().contains(config)) { + sb.append("Used in these ops: " + System.lineSeparator()); + break; + } + } + ops.stream().filter(op -> op.getConfigs().contains(config)).forEach(op -> + sb.append("[").append(op.getOpName()).append("]").append("(#").append(toAnchor(op.getOpName())).append(")"). + append(System.lineSeparator())); + + } + File outFile = new File(outputDirectory + "/operation-namespaces", "/" + namespace.getName().toLowerCase() + ".md"); + FileUtils.writeStringToFile(outFile, sb.toString(), StandardCharsets.UTF_8); + } + + private static String formatDefaultValue(Object v){ + if(v == null){ return "null"; } + else if(v instanceof int[]){ return Arrays.toString((int[]) v); } + else if(v instanceof long[]){ return Arrays.toString((long[]) v); } + else if(v instanceof float[]){ return Arrays.toString((float[]) v); } + else if(v instanceof double[]){ return Arrays.toString((double[]) v); } + else if(v instanceof boolean[]){ return Arrays.toString((boolean[]) v); } + else if(v instanceof Input){ return ((Input)v).getName(); } + else if(v instanceof org.nd4j.linalg.api.buffer.DataType){ return "DataType." + v; } + else if(v instanceof LossReduce || v instanceof org.nd4j.autodiff.loss.LossReduce){ return "LossReduce." + v; } + else return v.toString(); + } + + private static String toAnchor(String name){ + int[] codepoints = name.toLowerCase().codePoints().toArray(); + int type = Character.getType(codepoints[0]); + StringBuilder anchor = new StringBuilder(new String(Character.toChars(codepoints[0]))); + for (int i = 1; i < codepoints.length; i++) { + int curType = Character.getType(codepoints[i]); + if(curType != type){ + anchor.append("-"); + } + type = curType; + anchor.append(new String(Character.toChars(codepoints[i]))); + } + return anchor.toString(); + } +} diff --git a/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/impl/java/JavaPoetGenerator.java b/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/impl/java/JavaPoetGenerator.java new file mode 100644 index 000000000..e671f2d37 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/impl/java/JavaPoetGenerator.java @@ -0,0 +1,32 @@ +package org.nd4j.codegen.impl.java; + +import org.apache.commons.lang3.StringUtils; +import org.nd4j.codegen.api.Language; +import org.nd4j.codegen.api.Namespace; +import org.nd4j.codegen.api.NamespaceOps; +import org.nd4j.codegen.api.Op; +import org.nd4j.codegen.api.generator.Generator; +import org.nd4j.codegen.api.generator.GeneratorConfig; + +import java.io.File; +import java.io.IOException; + +public class JavaPoetGenerator implements Generator { + + + @Override + public Language language() { + return Language.JAVA; + } + + @Override + public void generateNamespaceNd4j(NamespaceOps namespace, GeneratorConfig config, File directory, String className) throws IOException { + Nd4jNamespaceGenerator.generate(namespace, config, directory, className, "org.nd4j.linalg.factory", StringUtils.EMPTY); + } + + @Override + public void generateNamespaceSameDiff(NamespaceOps namespace, GeneratorConfig config, File directory, String className) throws IOException { + //throw new UnsupportedOperationException("Not yet implemented"); + Nd4jNamespaceGenerator.generate(namespace, config, directory, className, "org.nd4j.autodiff.samediff", StringUtils.EMPTY); + } +} diff --git a/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/impl/java/Nd4jNamespaceGenerator.java b/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/impl/java/Nd4jNamespaceGenerator.java new file mode 100644 index 000000000..383304292 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/impl/java/Nd4jNamespaceGenerator.java @@ -0,0 +1,964 @@ +package org.nd4j.codegen.impl.java; + +import com.squareup.javapoet.*; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.io.FileUtils; +import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.NotNull; +import org.nd4j.autodiff.samediff.SDVariable; +import org.nd4j.autodiff.samediff.SameDiff; +import org.nd4j.autodiff.samediff.ops.SDOps; +import org.nd4j.autodiff.samediff.ops.SDValidation; +import org.nd4j.codegen.api.*; +import org.nd4j.codegen.api.doc.DocSection; +import org.nd4j.codegen.api.doc.DocTokens; +import org.nd4j.codegen.api.generator.ConstraintCodeGenerator; +import org.nd4j.codegen.api.generator.GeneratorConfig; +import org.nd4j.codegen.util.GenUtil; +import org.nd4j.common.base.Preconditions; +import org.nd4j.linalg.api.ndarray.INDArray; +import org.nd4j.linalg.factory.NDValidation; +import org.nd4j.linalg.factory.Nd4j; +import org.nd4j.linalg.indexing.conditions.Condition; + +import javax.lang.model.element.Modifier; +import java.io.File; +import java.io.IOException; +import java.nio.charset.StandardCharsets; + +import java.util.*; +import java.util.stream.Collectors; + +@Slf4j +public class Nd4jNamespaceGenerator { + private static Map> typeMapping = new HashMap<>(); + private static Map validationMapping = new HashMap<>(); + private static Map enumMapping = new HashMap<>(); + private static Map configMapping = new HashMap<>(); + public static Count exactlyOne = new Exactly(1); + private static String copyright = + "/*******************************************************************************\n" + + " * Copyright (c) 2019-2020 Konduit K.K.\n" + + " *\n" + + " * This program and the accompanying materials are made available under the\n" + + " * terms of the Apache License, Version 2.0 which is available at\n" + + " * https://www.apache.org/licenses/LICENSE-2.0.\n" + + " *\n" + + " * Unless required by applicable law or agreed to in writing, software\n" + + " * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n" + + " * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n" + + " * License for the specific language governing permissions and limitations\n" + + " * under the License.\n" + + " *\n" + + " * SPDX-License-Identifier: Apache-2.0\n" + + " ******************************************************************************/\n"; + private static String codeGenWarning = + "\n//================== GENERATED CODE - DO NOT MODIFY THIS FILE ==================\n\n"; + + static { + typeMapping.put(DataType.BOOL, boolean.class); + typeMapping.put(DataType.FLOATING_POINT, double.class); + typeMapping.put(DataType.NUMERIC, double.class); + typeMapping.put(DataType.INT, int.class); + typeMapping.put(DataType.LONG, long.class); + typeMapping.put(DataType.DATA_TYPE, org.nd4j.linalg.api.buffer.DataType.class); + typeMapping.put(DataType.LOSS_REDUCE, org.nd4j.autodiff.loss.LossReduce.class); + typeMapping.put(DataType.CONDITION, Condition.class); + + validationMapping.put(DataType.BOOL, "validateBool"); + validationMapping.put(DataType.FLOATING_POINT, "validateFloatingPoint"); + validationMapping.put(DataType.NUMERIC, "validateNumerical"); + validationMapping.put(DataType.INT, "validateInteger"); + validationMapping.put(DataType.LONG, "validateInteger"); + } + + private static ConstraintCodeGenerator constraintCodeGenerator = new JavaConstraintCodeGenerator(); + + private Nd4jNamespaceGenerator() { } + + public static void generate(NamespaceOps namespace, GeneratorConfig config, File outputDirectory, String className, + String basePackage, String docsDirectory) throws IOException { + //String basePackage = "org.nd4j.linalg.factory"; + + generateEnums(outputDirectory, basePackage); + generateConfigs(outputDirectory, basePackage); + try { + generateOpFactory(namespace, outputDirectory, className, basePackage, StringUtils.EMPTY); + } + catch (Exception e) { + log.error(e.toString()); + } + } + + public static void generate(NamespaceOps namespace, GeneratorConfig config, File outputDirectory, String className, + String basePackage, String parentClass, String docsDirectory) throws IOException { + //String basePackage = "org.nd4j.linalg.factory"; + + generateEnums(outputDirectory, basePackage); + generateConfigs(outputDirectory, basePackage); + try { + generateOpFactory(namespace, outputDirectory, className, basePackage, parentClass); + } + catch (Exception e) { + log.error(e.toString()); + } + } + + private static void generateOpFactory(NamespaceOps namespace, File outputDirectory, String className, String basePackage, + String parentClass) throws IOException, ClassNotFoundException { + boolean isBaseSameDiff = StringUtils.equals("SDBaseOps", className); + boolean isSameDiff = StringUtils.isNotEmpty(parentClass); + boolean isLoss = StringUtils.equals("SDLoss", className); + + TypeSpec.Builder builder = !isSameDiff || isBaseSameDiff ? + TypeSpec.classBuilder(className) + .addModifiers(Modifier.PUBLIC) : + + TypeSpec.classBuilder(className) + .superclass(Class.forName(parentClass)) + .addModifiers(Modifier.PUBLIC); + + if (isSameDiff && !isBaseSameDiff) { + addSameDiffConstructor(builder); + } + else if (isBaseSameDiff) { + builder.addField(TypeName.get(SameDiff.class), "sd", Modifier.PROTECTED); + addBaseSameDiffConstructor(builder); + } + else + addDefaultConstructor(builder); + + //Add ops + namespace.getOps() + .stream() + .filter(it -> !it.isAbstract()) + .sorted(Comparator.comparing(Op::getOpName)) + .forEachOrdered(o -> generateMethods(builder, o, isSameDiff, isLoss)); + + + TypeSpec ts = builder.build(); + + final String opsPackage = basePackage + ".ops"; + JavaFile jf = StringUtils.isEmpty(parentClass) ? + + JavaFile.builder(opsPackage, ts) + .addStaticImport(NDValidation.class, "isSameType") + .build() : + + JavaFile.builder(opsPackage, ts) + .addStaticImport(SDValidation.class, "isSameType") + .build(); + + StringBuilder sb = new StringBuilder(); + sb.append(copyright); + sb.append(codeGenWarning); + jf.writeTo(sb); + + File outFile = new File(outputDirectory, packageToDirectory(opsPackage) + "/" + className + ".java"); + FileUtils.writeStringToFile(outFile, sb.toString(), StandardCharsets.UTF_8); + } + + private static String packageToDirectory(String packageName){ + return packageName.replace(".", File.separator); + } + + private static void addDefaultConstructor(TypeSpec.Builder builder) { + //Add private no-arg constructor + MethodSpec noArg = MethodSpec.constructorBuilder() + .addModifiers(Modifier.PUBLIC) + .build(); + + builder.addMethod(noArg); + } + + private static void addBaseSameDiffConstructor(TypeSpec.Builder builder) { + + MethodSpec ctor = MethodSpec.constructorBuilder() + .addModifiers(Modifier.PUBLIC) + .addParameter(SameDiff.class, "sameDiff") + .addStatement("this.sd = sameDiff") + .build(); + + builder.addMethod(ctor); + } + + private static void addSameDiffConstructor(TypeSpec.Builder builder) { + MethodSpec ctor = MethodSpec.constructorBuilder() + .addModifiers(Modifier.PUBLIC) + .addParameter(SameDiff.class, "sameDiff") + .addStatement("super(sameDiff)") + .build(); + + builder.addMethod(ctor); + } + + private static void generateMethods(TypeSpec.Builder builder, Op op, boolean isSameDiff, boolean isLoss ){ + List l = op.getSignatures(); + for(Signature s : l){ + builder.addMethod(signatureCreatorMethod(op, s, isSameDiff, false, isLoss)); + if (isSameDiff) + builder.addMethod(signatureCreatorMethod(op, s, true, true, isLoss)); + } + } + + private static MethodSpec signatureCreatorMethod(Op op, Signature s, boolean isSameDiff, boolean withName, + boolean isLoss){ + MethodSpec.Builder c = MethodSpec.methodBuilder(GenUtil.ensureFirstIsNotCap(op.getOpName())) + .addModifiers(Modifier.PUBLIC); + enableVarargsOnLastArg(c, op, s); + + buildJavaDoc(op, s, c, withName); + List inNames = buildParameters(c, op, s, isSameDiff, withName); + buildConstraints(c, op.getConstraints()); + buildExecution(c, op, inNames, isSameDiff, withName, isLoss); + + return c.build(); + } + + private static void buildJavaDoc(Op op, Signature s, MethodSpec.Builder c, boolean withName) { + //Method javadoc: + List doc = op.getDoc(); + if(!doc.isEmpty()){ + for(DocSection ds : doc){ + if(ds.applies(Language.JAVA, CodeComponent.OP_CREATOR)){ + String text = DocTokens.processDocText(ds.getText(), op, DocTokens.GenerationType.ND4J); + //Add
tags at the end of each line, where none already exists + String[] lines = text.split("\n"); + for( int i=0; i")){ + lines[i] = lines[i] + "
"; + } + } + text = String.join("\n", lines); + c.addJavadoc(text + "\n\n"); + } + } + } + + + // Document Constraints: + //TODO what if constraint is on default value arg/s - no point specifying them here... + final List constraints = op.getConstraints(); + if(!constraints.isEmpty()){ + c.addJavadoc("Inputs must satisfy the following constraints:
\n"); + for (Constraint constraint : constraints) { + c.addJavadoc(constraint.getMessage() +": " + constraintCodeGenerator.generateExpression(constraint.getCheck()) + "
\n"); + } + + c.addJavadoc("\n"); + } + if (withName) { + if (op.getOutputs().size() == 1 && !op.getOutputs().get(0).getMultiOutput()) + c.addJavadoc("@param name name May be null. Name for the output variable\n"); + else + c.addJavadoc("@param names names May be null. Arrays of names for the output variables.\n"); + } + List params = s.getParameters(); + if(!params.isEmpty()){ + for(Parameter p : params){ + if(p instanceof Input){ + Input i = (Input)p; + c.addJavadoc("@param " + i.getName() + " " + (i.getDescription() == null ? "" : DocTokens.processDocText(i.getDescription(), op, DocTokens.GenerationType.ND4J)) + " (" + i.getType() + " type)\n"); + } else if(p instanceof Arg) { + Arg arg = (Arg) p; + final Count count = arg.getCount(); + if (count == null || count.equals(exactlyOne)) { + c.addJavadoc("@param " + arg.getName() + " " + (arg.getDescription() == null ? "" : DocTokens.processDocText(arg.getDescription(), op, DocTokens.GenerationType.ND4J)) + "\n"); + } else { + c.addJavadoc("@param " + arg.getName() + " " + (arg.getDescription() == null ? "" : DocTokens.processDocText(arg.getDescription(), op, DocTokens.GenerationType.ND4J)) + " (Size: " + count.toString() + ")\n"); + } + } else if(p instanceof Config){ + Config config = (Config) p; + c.addJavadoc("@param " + config.getName() + " Configuration Object\n"); + } else { + throw new RuntimeException("Unknown parameter type: " + p + " - " + p.getClass() + " - op = " + op.getOpName()); + } + } + + + } + + //Outputs: + List outputs = op.getOutputs(); + if(!outputs.isEmpty()){ + if(outputs.size() == 1 && !outputs.get(0).getMultiOutput()){ + Output o = outputs.get(0); + c.addJavadoc("@return " + o.getName() + " " + (o.getDescription() == null ? "" : DocTokens.processDocText(o.getDescription(), op, DocTokens.GenerationType.ND4J)) + " (" + o.getType() + " type)\n"); + } else { + //throw new UnsupportedOperationException("Javadoc for multi-output ops not yet implemented"); + log.error("Javadoc for multi-output ops not yet implemented"); + } + } + } + + private static List buildParameters(MethodSpec.Builder c, Op op, Signature s, boolean isSameDiff, boolean withName) { + List inNames = new ArrayList<>(); + + List params = s.getParameters(); + + if(op.getArgsFirst()){ + //Assuming sort is stable (doesn't change order of equal elements) + params.sort((p1,p2) -> Boolean.compare(p1 instanceof Input, p2 instanceof Input)); + } + + if (withName) { + if (op.getOutputs().size() == 1 && !op.getOutputs().get(0).getMultiOutput()) + c.addParameter(String.class, "name"); + else + c.addParameter(String[].class, "names"); + } + if(!params.isEmpty()){ + int pCount = 0; + for(Parameter p : params){ + pCount++; + boolean isLast = pCount == params.size(); + if(p instanceof Input){ + Input i = (Input)p; + final String inputName = i.getName(); + inNames.add(inputName); + + final Count count = i.getCount(); + if(count == null || count.equals(exactlyOne)) { + //Single input + if (isSameDiff) + c.addParameter(SDVariable.class, inputName); + else + c.addParameter(INDArray.class, inputName); + } else { + //Array input + if (isSameDiff) + c.addParameter(SDVariable[].class, inputName).varargs(isLast); + else + c.addParameter(INDArray[].class, inputName).varargs(isLast); + } + // Check for parameter types + final DataType paramType = i.getType(); + String validationName = validationMapping.get(paramType); + if(validationName != null) { + c.addStatement(CodeBlock.of("$T.$L($S, $S, $L)", isSameDiff ? SDValidation.class : NDValidation.class, validationName, op.getOpName(), inputName, inputName)); + } + checkParameterCount(c, count, inputName); + } else if(p instanceof Arg){ + Arg arg = (Arg)p; + final String argName = arg.getName(); + if(argName.isEmpty()){ + throw new IllegalStateException("Got null argument name for op " + op.getOpName()); + } + inNames.add(argName); + + + final Count count = arg.getCount(); + TypeName type = getArgType(arg); + if(type == null){ + throw new IllegalStateException("No type mapping has been specified for type " + arg.getType() + " (op=" + op.getOpName() + ", arg=" + arg.getName() + ")" ); + } + c.addParameter(type, argName); + + checkParameterCount(c, count, argName); + } else if(p instanceof Config) { + Config config = (Config) p; + final String configName = config.getName(); + inNames.add(configName); + c.addParameter(configMapping.get(config), config.name()); + } else { + throw new IllegalStateException("Unknown parameter type: " + p + " - " + p.getClass()); + } + + } + } + + return inNames; + } + + public static TypeName getArgType(Arg arg) { + DataType argType = arg.getType(); + Count count = arg.getCount(); + TypeName type; + if(argType == DataType.ENUM){ + type = enumMapping.get(arg); + if(type == null){ + throw new IllegalStateException(arg + " is using an unregistered ENUM. This is probably a bug."); + } + }else{ + if(!typeMapping.containsKey(argType)){ + return null; + } + type = TypeName.get(typeMapping.get(argType)); + } + + if (!(count == null || count.equals(exactlyOne))) { + // array Arg + type = ArrayTypeName.of(type); + } + return type; + } + + private static void buildConstraints(MethodSpec.Builder c, List constraints) { + if(constraints.isEmpty()) + return; + + //TODO not all contsraints apply to all signatures? + + // Don't materialize the Backend Constraints + for (Constraint constraint : constraints.stream().filter(it -> !(it instanceof BackendConstraint)).collect(Collectors.toList())) { + c.addStatement(CodeBlock.of("$T.checkArgument($L, $S)", Preconditions.class, constraintCodeGenerator.generateExpression(constraint.getCheck()), constraint.getMessage())); + } + } + + private static void buildExecution(MethodSpec.Builder c, Op op, List inNames, boolean isSameDiff, + boolean withName, boolean isLoss) { + boolean singleOut = op.getOutputs().size() == 1 && !op.getOutputs().get(0).getMultiOutput(); + if(singleOut){ + if (isSameDiff) + c.returns(SDVariable.class); + else + c.returns(INDArray.class); + } else { + if (isSameDiff) + c.returns(SDVariable[].class); + else + c.returns(INDArray[].class); + } + + // We have to pass all parameters, always. But not all signatures will be taking all parameters. + // inNames tells us which parameters this signatures has. For all others we want to pass default values + List parameters = op.allParameters().stream().sorted( + (p1,p2) -> { + if (p1.isVararg()) return 1; + else if (p2.isVararg()) return -1; + return 0; + } + ).map(it -> { + if(inNames.contains(it.name())){ + return it.name(); + }else{ + if(!it.hasDefaultValue()) throw new IllegalStateException("The parameter "+it.name()+" has no default value, but is also not part of "+inNames.toString()); + return anyToCode(it, it.defaultValue()); + } + }).collect(Collectors.toList()); + + //Op execution: + StringBuilder sb = new StringBuilder(); + if (isSameDiff) { + if (withName) { + if (singleOut) + sb.append("SDVariable out = "); + else + sb.append("SDVariable[] out = "); + + sb.append(" new ") + .append(op.getJavaPackage()) + .append(".") + .append(op.getJavaOpClass() == null ? GenUtil.ensureFirstIsCap(op.getOpName()) : op.getJavaOpClass()) + .append("(sd,") + .append(String.join(", ", parameters)) + .append(")"); + + if (singleOut) + sb.append(".outputVariable()"); + else + sb.append(".outputVariables()"); + + c.addStatement(sb.toString()); + if (isLoss) + c.addStatement("out.markAsLoss()"); + + if (singleOut) + c.addStatement("return sd.updateVariableNameAndReference(out, name)"); + else + c.addStatement("return sd.updateVariableNamesAndReferences(out, names)"); + } + else { + if (isLoss) { + sb.append("SDVariable out = new ") + .append(op.getJavaPackage()) + .append(".") + .append(op.getJavaOpClass() == null ? GenUtil.ensureFirstIsCap(op.getOpName()) : op.getJavaOpClass()) + .append("(sd,") + .append(String.join(", ", parameters)) + .append(")"); + } + else { + sb.append("return new ") + .append(op.getJavaPackage()) + .append(".") + .append(op.getJavaOpClass() == null ? GenUtil.ensureFirstIsCap(op.getOpName()) : op.getJavaOpClass()) + .append("(sd,") + .append(String.join(", ", parameters)) + .append(")"); + } + //if (!op.getLegacy()) { + if (singleOut) + sb.append(".outputVariable()"); + else + sb.append(".outputVariables()"); + //} + c.addStatement(sb.toString()); + if (isLoss) { + c.addStatement("out.markAsLoss()"); + c.addStatement("return out"); + } + } + } + else{ + sb.append("return $T.exec(new ") + .append(op.getJavaPackage()) + .append(".") + .append(op.getJavaOpClass() == null ? GenUtil.ensureFirstIsCap(op.getOpName()) : op.getJavaOpClass()) + .append("(") + .append(String.join(", ", parameters)) + .append("))"); + if (!op.getLegacy() && singleOut) //Note: legacy ops Nd4j.exec(Op) returns INDArray; Nd4j.exec(CustomOp) returns INDArray[] + sb.append("[0]"); + + c.addStatement(sb.toString(), Nd4j.class); + } + } + + private static void enableVarargsOnLastArg(MethodSpec.Builder c, Op op, Signature s) { + List p = s.getParameters(); + if(!p.isEmpty()){ + Parameter lastP = p.get(p.size() - 1); + if (lastP instanceof Arg) { + Arg arg = (Arg) lastP; + final Count count = arg.getCount(); + if (count != null && !count.equals(exactlyOne)) { + c.varargs(true); + } + } + } + } + + private static String countToJava(Count count,String paramName) { + final String paramLength = paramName + ".length"; + if(count instanceof Exactly){ + return paramLength + " == " + ((Exactly) count).getCount(); + }else if(count instanceof AtLeast){ + return paramLength + " >= " + ((AtLeast) count).getMin(); + }else if(count instanceof AtMost){ + return paramLength + " <= "+ ((AtMost) count).getMax(); + }else if(count instanceof Range){ + return ((Range) count).getFrom() + " <= " + paramLength + " && " + paramLength + " <= " + ((Range) count).getTo(); + }else{ + throw new IllegalArgumentException("Can not deal with Count of type " + count.getClass().getName()); + } + } + + private static void checkParameterCount(MethodSpec.Builder c, Count count, String paramName) { + // Check for parameter counts + if(count != null && !count.equals(exactlyOne)){ + final String errorMessage = paramName + " has incorrect size/length. Expected: " + countToJava(count, paramName) + ", got %s"; + if(count instanceof Exactly){ + c.addStatement(CodeBlock.of("$T.checkArgument($L.length == $L, $S, $L)", Preconditions.class, paramName, ((Exactly) count).getCount(), errorMessage, paramName + ".length")); + }else if(count instanceof AtLeast){ + c.addStatement(CodeBlock.of("$T.checkArgument($L.length >= $L, $S, $L)", Preconditions.class, paramName, ((AtLeast) count).getMin(), errorMessage, paramName + ".length")); + }else if(count instanceof AtMost){ + c.addStatement(CodeBlock.of("$T.checkArgument($L.length <= $L, $S, $L)", Preconditions.class, paramName, ((AtMost) count).getMax(), errorMessage, paramName + ".length")); + }else if(count instanceof Range){ + c.addStatement(CodeBlock.of("$T.checkArgument($L.length >= $L && $L.length <= $L, $S, $L)", Preconditions.class, paramName, ((Range) count).getFrom(), paramName, ((Range) count).getTo(), errorMessage, paramName + ".length")); + } + } + } + + private static void generateEnums(File outputDirectory, String basePackage) throws IOException { + for (Arg it : Registry.INSTANCE.enums()) { + generateEnum(outputDirectory, "org.nd4j.enums", it); + } + } + + private static String generateMethodText(Op op, Signature s, boolean isSameDiff, boolean isLoss, boolean withName) { + StringBuilder sb = new StringBuilder(); + MethodSpec.Builder c = MethodSpec.methodBuilder(GenUtil.ensureFirstIsNotCap(op.getOpName())); + List params = s.getParameters(); + List outs = op.getOutputs(); + String retType = "void"; + + if (outs.size() == 1) { + retType = isSameDiff ? "SDVariable" : "INDArray"; + } + else if (outs.size() >= 1) { + retType = isSameDiff ? "SDVariable[]" : "INDArray[]"; + } + sb.append(retType + " " + op.getOpName() + "("); + boolean first = true; + for (Parameter param : params) { + if (param instanceof Arg) { + Arg arg = (Arg) param; + if (!first) + sb.append(","); + else if (withName) + sb.append("String name,"); + TypeName tu = getArgType(arg); + sb.append(tu.toString() + " " + arg.name()); + first = false; + } + else if (param instanceof Input) { + Input arg = (Input) param; + if (!first) + sb.append(","); + else if (withName) + sb.append("String name,"); + sb.append((isSameDiff ? "SDVariable " : "INDArray ") + arg.name()); + first = false; + } + } + sb.append(")"); + return sb.toString(); + } + + private static StringBuilder buildDocSectionText(List docSections) { + StringBuilder sb = new StringBuilder(); + for (DocSection ds : docSections) { + //if(ds.applies(Language.JAVA, CodeComponent.OP_CREATOR)){ + String text = ds.getText(); + String[] lines = text.split("\n"); + for (int i = 0; i < lines.length; i++) { + if (!lines[i].endsWith("
")) { + lines[i] = lines[i] + System.lineSeparator(); + } + } + text = String.join("\n", lines); + sb.append(text + System.lineSeparator()); + //} + } + return sb; + } + + private static void generateDocs(NamespaceOps namespace, File outputDirectory, String basePackage) throws IOException { + StringBuilder sb = new StringBuilder(); + sb.append("# Namespace " + namespace.getName() + System.lineSeparator()); + List ops = namespace.getOps(); + for (Op op : ops) { + sb.append("## ").append(op.name()).append("").append(System.lineSeparator()); + List doc = op.getDoc(); + if(!doc.isEmpty()) { + boolean first = true; + for(Signature s : op.getSignatures()) { + if (first) { + sb.append("````" + doc.get(0).getLanguage() + System.lineSeparator()); + first = false; + } + String ndCode = generateMethodText(op, s, false, false, false); + sb.append(ndCode).append(System.lineSeparator()); + String sdCode = generateMethodText(op, s, true, false, false); + sb.append(sdCode).append(System.lineSeparator()); + String withNameCode = generateMethodText(op, s, true, false, true); + sb.append(withNameCode).append(System.lineSeparator()); + } + sb.append("````").append(System.lineSeparator()); + StringBuilder tsb = buildDocSectionText(doc); + sb.append(tsb.toString()); + List l = op.getSignatures(); + for(Signature s : l) { + List params = s.getParameters(); + for (Parameter p : params) { + if(p instanceof Input){ + Input i = (Input)p; + sb.append("* " + i.getName() + " " + (i.getDescription() == null ? "" : DocTokens.processDocText(i.getDescription(), + op, DocTokens.GenerationType.ND4J)) + " (" + i.getType() + " type)" + System.lineSeparator()); + } else if(p instanceof Arg) { + Arg arg = (Arg) p; + final Count count = arg.getCount(); + if (count == null || count.equals(exactlyOne)) { + sb.append("* " + arg.getName() + " " + (arg.getDescription() == null ? "" : DocTokens.processDocText(arg.getDescription(), + op, DocTokens.GenerationType.ND4J)) + System.lineSeparator()); + } else { + sb.append("* " + arg.getName() + " " + (arg.getDescription() == null ? "" : DocTokens.processDocText(arg.getDescription(), + op, DocTokens.GenerationType.ND4J)) + " (Size: " + count.toString() + System.lineSeparator()); + } + } + } + } + sb.append(System.lineSeparator()); + tsb = buildDocSectionText(doc); + sb.append(tsb.toString()); + } + } + + for (Config config : Registry.INSTANCE.configs()) { + sb.append("## " + config.getName() + System.lineSeparator()); + boolean first = true; + for (Input i : config.getInputs()) { + if (first) { + sb.append("````" + System.lineSeparator()); + first = false; + } + sb.append("* " + i.getName() + " " + i.getDescription() + " (" + i.getType() + " type)" + System.lineSeparator()); + } + for (Arg arg : config.getArgs()) { + if (first) { + sb.append("````" + System.lineSeparator()); + first = false; + } + sb.append("* " + arg.getName() + " " + " (" + arg.getType() + " type)" + System.lineSeparator()); + } + StringBuilder tsb = buildDocSectionText(config.getDoc()); + sb.append(tsb.toString()); + sb.append("````" + System.lineSeparator()); + ops.stream().filter(op -> op.getConfigs().contains(config)).forEach(op -> + sb.append("[" + op.getOpName() + "]" + "(#" + op.getOpName() + ")" + System.lineSeparator())); + } + File outFile = new File(outputDirectory + "/ops", "/namespace-" + namespace.getName() + ".md"); + FileUtils.writeStringToFile(outFile, sb.toString(), StandardCharsets.UTF_8); + } + + private static void generateEnum(File outputDirectory, String targetPackage, Arg arg) throws IOException { + final String className = GenUtil.ensureFirstIsCap(arg.name()); + enumMapping.put(arg, ClassName.get(targetPackage, className)); + + TypeSpec.Builder builder = TypeSpec.enumBuilder(className) + .addModifiers(Modifier.PUBLIC) + .addJavadoc(CodeBlock.of(arg.getDescription())); + + for (String possibleValue : arg.getPossibleValues()) { + builder.addEnumConstant(possibleValue); + } + + TypeSpec ts = builder.build(); + + JavaFile jf = JavaFile.builder(targetPackage, ts) + .build(); + + + StringBuilder sb = new StringBuilder(); + sb.append(copyright); + sb.append(codeGenWarning); + jf.writeTo(sb); + + File outFile = new File(outputDirectory, packageToDirectory(targetPackage) + "/" + className + ".java"); + FileUtils.writeStringToFile(outFile, sb.toString(), StandardCharsets.UTF_8); + } + + private static void generateConfigs(File outputDirectory, String basePackage) throws IOException { + for (Config config : Registry.INSTANCE.configs()) { + generateConfig(outputDirectory, basePackage+".configs", config); + } + } + + private static void generateConfig(File outputDirectory, String targetPackage, Config config) throws IOException { + if(config.getJavaClassOverride() != null && !config.getJavaClassOverride().isEmpty()){ + //Java class override means "don't generate, use the existing one instead" + String c = config.getJavaClassOverride(); + int idx = c.lastIndexOf('.'); + String pkg = c.substring(0,idx); + String className = c.substring(idx+1); + configMapping.put(config, ClassName.get(pkg, className)); + return; + } + + final String className = GenUtil.ensureFirstIsCap(config.name()); + configMapping.put(config, ClassName.get(targetPackage, className)); + + // Build Config Builder Class + final TypeSpec.Builder sdb = TypeSpec.classBuilder("SdBuilder").addModifiers(Modifier.STATIC, Modifier.PUBLIC); + final TypeSpec.Builder ndb = TypeSpec.classBuilder("NdBuilder").addModifiers(Modifier.STATIC, Modifier.PUBLIC); + + for (Input input : config.getInputs()) { + addConfigBuilderParam(className, sdb, input.getName(), input.getType(), getType(TypeName.get(SDVariable.class), input.getCount()), input.getDescription(), input.getCount()); + addConfigBuilderParam(className, ndb, input.getName(), input.getType(), getType(TypeName.get(INDArray.class), input.getCount()), input.getDescription(), input.getCount()); + } + + for (Arg arg : config.getArgs()) { + addConfigBuilderParam(className, sdb, arg.getName(), null, getArgType(arg), arg.getDescription(), arg.getCount()); + addConfigBuilderParam(className, ndb, arg.getName(), null, getArgType(arg), arg.getDescription(), arg.getCount()); + } + + ArrayList parts = new ArrayList<>(); + ArrayList parameters = new ArrayList<>(); + for (Input input : config.getInputs()) { + parts.add("$L"); + parameters.add( + input.hasDefaultValue() ? + input.name() + " == null ? " + ((Input)input.defaultValue()).getName() +" : "+input.name() + : input.name() + ); } + for (Arg input : config.getArgs()) { + parts.add("$L"); + parameters.add( + input.hasDefaultValue() ? + input.name() + " == null ? " + anyToCode(input, input.defaultValue()) +" : "+input.name() + : input.name() + ); + } + parameters.add(0, className); + + final MethodSpec.Builder build = MethodSpec.methodBuilder("build") + .addModifiers(Modifier.PUBLIC) + .returns(ClassName.bestGuess(className)); + buildConstraints(build, config.getConstraints()); + build.addStatement("return new $N("+(String.join(", ", parts))+")", parameters.toArray()); + + sdb.addMethod(build.build()); + ndb.addMethod(build.build()); + + + final TypeSpec ndBuilder = ndb.build(); + final TypeSpec sdBuilder = sdb.build(); + + + // Build Config Holder Class + TypeSpec.Builder holder = TypeSpec.classBuilder(className).addModifiers(Modifier.PUBLIC); + + final MethodSpec.Builder ndConstructorBuilder = MethodSpec.constructorBuilder().addModifiers(Modifier.PRIVATE); + final MethodSpec.Builder sdConstructorBuilder = MethodSpec.constructorBuilder().addModifiers(Modifier.PRIVATE); + + + for (Input input : config.getInputs()) { + final String inputName = GenUtil.ensureFirstIsCap(input.getName()); + addConfigParam(holder, ndConstructorBuilder, "nd" + inputName, getType(TypeName.get(INDArray.class), input.getCount()), input.getDescription(), true); + addConfigParam(holder, sdConstructorBuilder, "sd" + inputName, getType(TypeName.get(SDVariable.class), input.getCount()), input.getDescription(), true); + } + + for (Arg arg : config.getArgs()) { + addConfigParam(holder, ndConstructorBuilder, arg.getName(), getArgType(arg), arg.getDescription(), true); + addConfigParam(holder, sdConstructorBuilder, arg.getName(), getArgType(arg), arg.getDescription(), false); + } + holder.addMethod(sdConstructorBuilder.build()); + holder.addMethod(ndConstructorBuilder.build()); + + holder.addMethod(MethodSpec.methodBuilder("sdBuilder") + .addModifiers(Modifier.STATIC, Modifier.PUBLIC) + .addStatement("return new $N()", sdBuilder.name) + .returns(ClassName.bestGuess(sdBuilder.name)) + .build()); + holder.addType(sdBuilder); + holder.addMethod(MethodSpec.methodBuilder("ndBuilder") + .addModifiers(Modifier.STATIC, Modifier.PUBLIC) + .addStatement("return new $N()", ndBuilder.name) + .returns(ClassName.bestGuess(ndBuilder.name)) + .build()); + holder.addType(ndBuilder); + + // add javadoc + //Method javadoc: + List doc = config.getDoc(); + if(!doc.isEmpty()){ + for(DocSection ds : doc){ + if(ds.applies(Language.JAVA, CodeComponent.OP_CREATOR)){ + String text = ds.getText(); + //Add
tags at the end of each line, where none already exists + String[] lines = text.split("\n"); + for( int i=0; i")){ + lines[i] = lines[i] + "
"; + } + } + text = String.join("\n", lines); + holder.addJavadoc(text + "\n\n"); + } + } + } + + + // Document Constraints: + final List constraints = config.getConstraints(); + if(!constraints.isEmpty()){ + holder.addJavadoc("Inputs must satisfy the following constraints:
\n"); + for (Constraint constraint : constraints) { + holder.addJavadoc(constraint.getMessage() +": " + constraintCodeGenerator.generateExpression(constraint.getCheck()) + "
\n"); + } + + holder.addJavadoc("\n"); + } + + TypeSpec ts = holder.build(); + + + JavaFile jf = JavaFile.builder(targetPackage, ts) + .build(); + + + StringBuilder sb = new StringBuilder(); + sb.append(copyright); + sb.append(codeGenWarning); + jf.writeTo(sb); + + File outFile = new File(outputDirectory, packageToDirectory(targetPackage) + "/" + className + ".java"); + FileUtils.writeStringToFile(outFile, sb.toString(), StandardCharsets.UTF_8); + } + + private static void addConfigParam(TypeSpec.Builder builder, MethodSpec.Builder constructorBuilder, String paramName, TypeName paramType, String paramDescription, boolean addField) { + if(addField){ + // Add param fields + builder.addField(paramType, paramName, Modifier.PRIVATE); + + // Add param getters + builder.addMethod(generateGetter(paramType, paramName, paramDescription, false)); + } + + // Add param constructor parameters + constructorBuilder.addParameter(paramType, paramName, Modifier.FINAL); + constructorBuilder.addStatement("this.$L = $L", paramName, paramName); + } + + private static void addConfigBuilderParam(String configClassName, TypeSpec.Builder builder, String paramName, DataType inputType, TypeName paramType, String paramDescription, Count count) { + final String builderName = builder.build().name; + // Add param fields + builder.addField(paramType.box(), paramName, Modifier.PRIVATE); + + // Add param getters + builder.addMethod(generateGetter(paramType, paramName, paramDescription, true)); + + // Add param setter + final MethodSpec.Builder setter = MethodSpec.methodBuilder(paramName) + .addParameter(paramType, paramName) + .addModifiers(Modifier.PUBLIC); + checkParameterCount(setter, count, paramName); + if(inputType != null){ + if(builderName.equals("SdBuilder")){ + setter.addStatement("$T.$L($S, $S, $L)", SDValidation.class, validationMapping.get(inputType), "Config: " + configClassName, paramName, paramName); + }else if(builderName.equals("NdBuilder")){ + setter.addStatement("$T.$L($S, $S, $L)", NDValidation.class, validationMapping.get(inputType), "Config: " + configClassName, paramName, paramName); + }else{ + throw new IllegalArgumentException("Unknown Builder Type "+builderName); + } + } + setter.addStatement("this.$L = $L", paramName, paramName) + .addStatement("return this") + .returns(ClassName.bestGuess(builderName)); + + if(count != null && !count.equals(exactlyOne)){ + setter.varargs(true); + } + + if(paramDescription != null){ + setter.addJavadoc(paramDescription); + } + builder.addMethod(setter.build()); + } + + private static TypeName getType(TypeName typeVariable, Count count) { + if(count != null && !count.equals(exactlyOne)){ + return ArrayTypeName.of(typeVariable); + }else{ + return typeVariable; + } + } + + @NotNull + private static MethodSpec generateGetter(TypeName typeVariable, String paramName, String paramDescription, boolean fluent) { + final MethodSpec.Builder getter = MethodSpec.methodBuilder((fluent ? paramName : "get" + GenUtil.ensureFirstIsCap(paramName))) + .addModifiers(Modifier.PUBLIC) + .returns(typeVariable); + if(paramDescription != null){ + getter.addJavadoc(paramDescription); + } + getter.addStatement("return this.$L", paramName); + return getter.build(); + } + + private static String anyToCode(Parameter parameter, Object v){ + if(v == null){ return "null"; } + else if(v instanceof int[]){ return "new int[]"+Arrays.toString((int[]) v).replace("[", "{").replace("]", "}"); } + else if(v instanceof long[]){ return "new long[]"+Arrays.toString((long[]) v).replace("[", "{").replace("]", "}"); } + else if(v instanceof float[]){ return "new float[]"+Arrays.toString((float[]) v).replace("[", "{").replace("]", "}"); } + else if(v instanceof double[]){ return "new double[]"+Arrays.toString((double[]) v).replace("[", "{").replace("]", "}"); } + else if(v instanceof boolean[]){ return "new boolean[]"+Arrays.toString((boolean[]) v).replace("[", "{").replace("]", "}"); } + else if(v instanceof Input){ return ((Input)v).getName(); } + else if(v instanceof org.nd4j.linalg.api.buffer.DataType){ return "DataType." + v; } + else if(v instanceof LossReduce || v instanceof org.nd4j.autodiff.loss.LossReduce){ return "org.nd4j.autodiff.loss.LossReduce." + v; } + else if(parameter instanceof Arg && ((Arg)parameter).getType() == DataType.ENUM){ + return GenUtil.ensureFirstIsCap(parameter.name()) + "." + v.toString(); + } else return v.toString(); + } +} diff --git a/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/impl/python/PythonGenerator.java b/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/impl/python/PythonGenerator.java new file mode 100644 index 000000000..0b99465be --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/impl/python/PythonGenerator.java @@ -0,0 +1,144 @@ +package org.nd4j.codegen.impl.python; + +import org.apache.commons.io.FileUtils; +import org.nd4j.codegen.api.*; +import org.nd4j.codegen.api.doc.DocTokens; +import org.nd4j.codegen.api.generator.Generator; +import org.nd4j.codegen.api.generator.GeneratorConfig; +import org.nd4j.codegen.util.GenUtil; + +import java.io.File; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.List; + +/** + * This is a very simple, manual namespace generator + * We could of course use a templating library such as Freemarker, which woudl work fine - but: + * (a) on the one hand, it's overkill/unnecessary + * (b) on the other hand, may provide less flexibility than a manual implementation + * + */ +public class PythonGenerator implements Generator { + + private static final String I4 = " "; + + @Override + public Language language() { + return Language.PYTHON; + } + + @Override + public void generateNamespaceNd4j(NamespaceOps namespace, GeneratorConfig config, File directory, String fileName) throws IOException { + + + StringBuilder sb = new StringBuilder(); + sb.append("class ").append(GenUtil.ensureFirstIsCap(namespace.getName())).append(":\n\n"); + + List ops = new ArrayList<>(); + for(Op o : namespace.getOps()){ + if(o.isAbstract()) + continue; + ops.add(o); + } + + //TODO: handle includes + + for(Op o : ops){ + String s = generateMethod(o); + sb.append(GenUtil.addIndent(s, 4)); + sb.append("\n\n"); + } + + File f = new File(directory, GenUtil.ensureFirstIsCap(namespace.getName()) + ".py"); + String content = sb.toString(); + + FileUtils.writeStringToFile(f, content, StandardCharsets.UTF_8); + } + + protected static String generateMethod(Op op){ + StringBuilder sb = new StringBuilder(); + sb.append("@staticmethod\n") + .append("def ").append(GenUtil.ensureFirstIsNotCap(op.getOpName())).append("("); + + //Add inputs to signature + boolean firstArg = true; + if(op.getInputs() != null){ + for(Input i : op.getInputs()){ + if(!firstArg) + sb.append(", "); + + sb.append(i.getName()); + + firstArg = false; + } + } + + + //Add arguments and default args to signature + + sb.append("):\n"); + + String docString = genDocString(op); + sb.append(GenUtil.addIndent(docString, 4)); + + sb.append(I4).append("# Execution code here\n"); + + + return sb.toString(); + } + + protected static String genDocString(Op op){ + //Following roughly: https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html + StringBuilder sb = new StringBuilder(); + sb.append("\"\"\"") + .append(op.getOpName()) + .append(" operation") + .append("\n\n"); + if(op.getInputs() != null){ + sb.append("Args:"); + sb.append("\n"); + for(Input i : op.getInputs()){ + sb.append(I4).append(i.getName()).append(" (ndarray): "); + if(i.getDescription() != null) + sb.append(DocTokens.processDocText(i.getDescription(), op, DocTokens.GenerationType.ND4J)); + sb.append("\n"); + } + } + + sb.append("\n"); + + if(op.getOutputs() != null){ + sb.append("Returns:\n"); + List o = op.getOutputs(); + + if(o.size() == 1){ + sb.append(I4).append("ndarray: ").append(o.get(0).getName()); + String d = o.get(0).getDescription(); + if(d != null){ + sb.append(" - ").append(DocTokens.processDocText(d, op, DocTokens.GenerationType.ND4J)); + } + sb.append("\n"); + } else { + throw new UnsupportedOperationException("Not yet implemented: Python docstring generation for multiple output ops"); + } + } + + if(op.getArgs() != null){ + //Args and default args + throw new UnsupportedOperationException("Generating method with args not yet implemented"); + } + + sb.append("\"\"\"\n"); + + return sb.toString(); + } + + + + @Override + public void generateNamespaceSameDiff(NamespaceOps namespace, GeneratorConfig config, File directory, String fileName) throws IOException { + throw new UnsupportedOperationException("Not yet implemented"); + } +} diff --git a/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/ir/SerializationTest.java b/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/ir/SerializationTest.java new file mode 100644 index 000000000..1322d8fc4 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/ir/SerializationTest.java @@ -0,0 +1,9 @@ +package org.nd4j.codegen.ir; + +public class SerializationTest { + + public static void main(String...args) { + + } + +} diff --git a/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/util/GenUtil.java b/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/util/GenUtil.java new file mode 100644 index 000000000..80491faf1 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/java/org/nd4j/codegen/util/GenUtil.java @@ -0,0 +1,44 @@ +package org.nd4j.codegen.util; + +import org.nd4j.codegen.api.Op; + +public class GenUtil { + + private GenUtil(){ } + + public static String ensureFirstIsCap(String in){ + if(Character.isUpperCase(in.charAt(0))){ + return in; + } + + return Character.toUpperCase(in.charAt(0)) + in.substring(1); + } + + public static String ensureFirstIsNotCap(String in){ + if(Character.isLowerCase(in.charAt(0))){ + return in; + } + + return Character.toLowerCase(in.charAt(0)) + in.substring(1); + } + + public static String repeat(String in, int count){ + StringBuilder sb = new StringBuilder(); + for( int i=0; i? = null, + var ops: MutableList = mutableListOf(), + var configs: MutableList = mutableListOf(), + var parentNamespaceOps: Map> = mutableMapOf() +) { + fun addConfig(config: Config) { + configs.add(config) + } + + /** + * Check that all required properties are set + */ + fun checkInvariants() { + val usedConfigs = mutableSetOf() + ops.forEach { op -> + usedConfigs.addAll(op.configs) + } + val unusedConfigs = configs.toSet() - usedConfigs + if(unusedConfigs.size > 0){ + throw IllegalStateException("Found unused configs: ${unusedConfigs.joinToString(", ") { it.name }}") + } + } + + /** + * Get op by name + */ + fun op(name:String):Op { + val op = ops.find { op -> op.opName.equals(name) } ?: throw java.lang.IllegalStateException("Operation $name not found") + return op + } +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/Op.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/Op.kt new file mode 100644 index 000000000..760952ce4 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/Op.kt @@ -0,0 +1,180 @@ +package org.nd4j.codegen.api + +import org.nd4j.codegen.api.doc.DocSection + +interface OpLike { + fun name(): String + fun inputs(): List + fun args(): List + fun configs(): List + fun outputs(): List + + fun allParameters(): List + + fun addInput(input: Input) + fun addArgument(arg: Arg) + fun addOutput(output: Output) + fun addDoc(docs: DocSection) + fun addSignature(signature: Signature) + fun addConstraint(constraint: Constraint) + fun addConfig(config: Config) + + fun Config.input(name: String) = inputs.find { it.name == name }!! + fun Config.arg(name: String) = args.find { it.name == name }!! + + fun Mixin.input(name: String) = inputs.find { it.name == name }!! + fun Mixin.arg(name: String) = args.find { it.name == name }!! + fun Mixin.output(name: String) = outputs.find { it.name == name }!! + fun Mixin.config(name: String) = configs.find { it.name == name }!! +} + +data class Op ( + val opName: String, + var libnd4jOpName: String? = null, + var javaOpClass: String? = null, + var isAbstract: Boolean = false, + var legacy: Boolean = false, + var argsFirst: Boolean = false, + var javaPackage: String? = null, + val inputs: MutableList = mutableListOf(), + val outputs: MutableList = mutableListOf(), + val args: MutableList = mutableListOf(), + val constraints: MutableList = mutableListOf(), + val signatures: MutableList = mutableListOf(), + val doc: MutableList = mutableListOf(), + val configs: MutableList = mutableListOf() +): OpLike { + override fun name() = opName + override fun inputs(): List = inputs + override fun args(): List = args + override fun configs(): List = configs + override fun outputs(): List = outputs + override fun allParameters(): List = inputs + args + configs + + + override fun toString(): String { + return "Op(opName=$opName, libnd4jOpName=$libnd4jOpName, isAbstract=$isAbstract)" + } + + override fun addInput(input: Input) { inputs.addOrReplace(input) } + override fun addArgument(arg: Arg) { args.addOrReplace(arg) } + override fun addOutput(output: Output) { outputs.addOrReplace(output) } + override fun addDoc(docs: DocSection){ doc.add(docs) } + override fun addSignature(signature: Signature){ signatures.add(signature) } + override fun addConstraint(constraint: Constraint){ constraints.add(constraint) } + override fun addConfig(config: Config) { configs.addOrReplace(config) } + + /** + * Check that all required properties are set + */ + fun checkInvariants() { + if( !isAbstract && (doc.size == 0 || doc.all { it.text.isNullOrBlank() } != false )){ + throw IllegalStateException("$opName: Ops must be documented!") + } + + signatures.forEach { + val opParameters = mutableListOf() + opParameters.addAll(inputs) + opParameters.addAll(args) + + val notCovered = opParameters.fold(mutableListOf()){acc, parameter -> + if(!(it.parameters.contains(parameter) || parameter.defaultValueIsApplicable(it.parameters))){ + acc.add(parameter) + } + acc + } + + if(notCovered.size > 0){ + throw IllegalStateException("$opName: $it does not cover all parameters! Missing: ${notCovered.joinToString(", ") { it.name() }}") + } + } + + args.filter { it.type == DataType.ENUM }.forEach { + if(it.description == null){ + throw IllegalStateException("$opName: Argument ${it.name} is ENUM but has no documentation!") + } + } + } +} + +data class Mixin ( + val name: String, + + val inputs: MutableList = mutableListOf(), + val outputs: MutableList = mutableListOf(), + val args: MutableList = mutableListOf(), + val constraints: MutableList = mutableListOf(), + val signatures: MutableList = mutableListOf(), + val doc: MutableList = mutableListOf(), + val configs: MutableList = mutableListOf() +): OpLike { + override fun name() = name + override fun inputs(): List = inputs + override fun args(): List = args + override fun configs(): List = configs + override fun outputs(): List = outputs + override fun allParameters(): List = inputs + args + configs + + override fun toString(): String { + return "Mixin($name)" + } + + override fun addInput(input: Input) { inputs.addOrReplace(input) } + override fun addArgument(arg: Arg) { args.addOrReplace(arg) } + override fun addOutput(output: Output) { outputs.addOrReplace(output) } + override fun addDoc(docs: DocSection){ doc.add(docs) } + override fun addSignature(signature: Signature){ signatures.add(signature) } + override fun addConstraint(constraint: Constraint){ constraints.add(constraint) } + override fun addConfig(config: Config) { configs.addOrReplace(config) } + + + var legacyWasSet: Boolean = false + var legacy: Boolean = false + set(value) { + field = value + legacyWasSet = true + } + var javaPackageWasSet: Boolean = false + var javaPackage: String? = null + set(value) { + field = value + javaPackageWasSet = true + } + + /** + * Check that all required properties are set + */ + fun checkInvariants() { + signatures.forEach { + val opParameters = mutableListOf() + opParameters.addAll(inputs) + opParameters.addAll(args) + + val notCovered = opParameters.fold(mutableListOf()){acc, parameter -> + if(!(it.parameters.contains(parameter) || parameter.defaultValueIsApplicable(it.parameters))){ + acc.add(parameter) + } + acc + } + + if(notCovered.size > 0){ + throw IllegalStateException("$this: $it does not cover all parameters! Missing: ${notCovered.joinToString(", ") { it.name() }}") + } + } + } +} + +fun MutableList.addOrReplaceAll(params: List){ + params.forEach { + this.addOrReplace(it) + } +} + +fun MutableList.addOrReplace(param: T){ + val found = this.find { it.name() == param.name() } + if(found != null){ + this.replaceAll { if(it.name() == param.name()){ param } else { it } } + }else{ + this.add(param) + } +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/Registry.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/Registry.kt new file mode 100644 index 000000000..5e1de4e13 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/Registry.kt @@ -0,0 +1,25 @@ +package org.nd4j.codegen.api + +object Registry { + private val enums: MutableMap = mutableMapOf() + private val configs: MutableMap = mutableMapOf() + + fun enums() = enums.values.sortedBy { it.name } + fun configs() = configs.values.sortedBy { it.name } + + fun registerEnum(arg: Arg){ + when(enums[arg.name]){ + null -> enums[arg.name] = arg + arg -> { /* noop */ } + else -> throw IllegalStateException("Another enum with the name ${arg.name} already exists! Enums have to use unique names. If you want to use an enum in multiple places, use mixins to define them.") + } + } + + fun registerConfig(config: Config){ + when(configs[config.name]){ + null -> configs[config.name] = config + config -> { /* noop */ } + else -> throw IllegalStateException("Another config with the name ${config.name} already exists! Configs have to use unique names.") + } + } +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/Variables.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/Variables.kt new file mode 100644 index 000000000..320aab78e --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/Variables.kt @@ -0,0 +1,240 @@ +package org.nd4j.codegen.api + +import org.nd4j.codegen.api.doc.DocSection +import java.util.* + + +open class Constraint ( + var message: String? = null, + var check: Expression +) + +class BackendConstraint(message: String? = null, check: Expression): Constraint(message, check) + +// Used in Constraint Expressions +sealed class Reference +data class NumberReference(val value: T): Reference() +data class BooleanReference(val value: Boolean): Reference() +data class InputShapeReference(val input: Input, val idx: Int): Reference() +data class InputRankReference(val input: Input): Reference() +sealed class Expression: Reference() +data class BooleanExpression(val left: Reference, val right: Reference, val op: BooleanOperation): Expression() +data class SameTypeExpression(val inputs: List): Expression() +data class SameShapeExpression(val inputs: List): Expression() +data class BroadcastableShapesExpression(val inputs: List): Expression() +enum class BooleanOperation{EQ, NEQ, LT, LTE, GT, GTE, AND, OR} + + +// Used to define array sizes +sealed class Count +data class Range(val from: Int, val to: Int): Count() +data class AtLeast(val min: Int): Count() +data class AtMost(val max: Int): Count() +data class Exactly(val count: Int): Count() + +// Actual parameters +interface Parameter { + fun name(): String + fun defaultValue() : Any? + + fun hasDefaultValue(): Boolean + + fun isVararg():Boolean + + /** + * A default value only is applicable if it is a literal value, or the referenced value is either directly a part of + * the signature, or there is a reference chain that ends in something that is actually a part of the signature + */ + fun defaultValueIsApplicable(otherParams: List): Boolean = if(hasDefaultValue()){ + when(val defaultValue = this.defaultValue()){ + is Number, is Boolean, null -> true + is IntArray, is BooleanArray, is DoubleArray -> true + is String -> true + is org.nd4j.linalg.api.buffer.DataType -> true + is org.nd4j.codegen.api.LossReduce -> true + is Parameter -> otherParams.contains(defaultValue) || defaultValue.defaultValueIsApplicable(otherParams) + is TensorDataTypeValue -> otherParams.contains(defaultValue.tensor) || defaultValue.tensor.defaultValueIsApplicable(otherParams) + is TensorShapeValue -> otherParams.contains(defaultValue.tensor) || defaultValue.tensor.defaultValueIsApplicable(otherParams) + else -> false + } + }else{ + false + } +} +interface Tensor: Parameter + +data class Arg( + val name: String, + val type: DataType, + var description: String? = null, + var isVargarg: Boolean = false +) : Reference(), Parameter { + override fun name(): String = name + override fun defaultValue(): Any? = defaultValue + override fun hasDefaultValue(): Boolean = defaultValueIsSet + override fun isVararg(): Boolean { + return isVargarg + } + + private var defaultValueIsSet = false + var defaultValue: Any? = null + set(value) = if(isAssignableFrom(value)) { + field = value + defaultValueIsSet = true + }else{ + throw IllegalArgumentException("Illegal default value for $this. Got ${value.toDescriptiveString()} (${value?.javaClass?.name})") + } + + var possibleValues: List? = null + set(value) = if(type == DataType.ENUM) when { + value == null -> field = null + value.isEmpty() -> throw IllegalArgumentException("$this: Can not set empty possibleValues.") + else -> field = value + } else { + throw IllegalArgumentException("$this: Can not set possibleValues on non ENUM typed Arg.") + } + + var count: Count? = null + set(value) = if(type == DataType.ENUM && value != Exactly(1)) { + throw IllegalArgumentException("$this: ENUM typed Arg can not be array") + }else{ + field = value + } + + private fun matchesDataType(value: Any?) = when(type){ + DataType.FLOATING_POINT -> value is Double + DataType.INT -> (value is Int) || (value is Long) + DataType.LONG -> (value is Int) || (value is Long) + DataType.NUMERIC -> value is Number + DataType.BOOL -> value is Boolean + else -> false + } + + private fun isAssignableFrom(value: Any?) = when(value){ + is TensorShapeValue -> isArray() && type == DataType.INT + is TensorDataTypeValue -> type == DataType.DATA_TYPE + is Number, is Boolean -> matchesDataType(value) + is IntArray -> isArray() && (type == DataType.INT || type == DataType.NUMERIC) && countMatches(value.size) + is DoubleArray -> isArray() && (type == DataType.FLOATING_POINT || type == DataType.NUMERIC) && countMatches(value.size) + is BooleanArray -> isArray() && type == DataType.BOOL && countMatches(value.size) + is Arg -> value.count == count && value.type == type + is String -> type == DataType.STRING || type == DataType.ENUM && possibleValues != null && possibleValues?.contains(value) ?: false + //is String -> type == DataType.ENUM && possibleValues != null && possibleValues?.contains(value) ?: false + is org.nd4j.linalg.api.buffer.DataType -> type == DataType.DATA_TYPE + is org.nd4j.codegen.api.LossReduce -> type == DataType.LOSS_REDUCE + null -> true + else -> false + } + + fun isArray() = count != Exactly(1) && count != null + fun countMatches(size: Int) = when(val c = count!!){ + is Range -> c.from <= size && size <= c.to + is AtLeast -> c.min <= size + is AtMost -> size <= c.max + is Exactly -> c.count == size + } + + fun Tensor.shape() = TensorShapeValue(this) + fun Tensor.dataType() = TensorDataTypeValue(this) + + override fun toString() = "Arg(${if(type == DataType.ENUM){ + "ENUM(${possibleValues?.joinToString(", ")})" + }else{ + type.toString() + }}, $name)${if(count != null) "{ count = $count }" else "" }" +} + +data class Input ( + val name: String, + val type: DataType, + var description: String? = null, + var count: Count? = null +) : Parameter, Tensor { + override fun isVararg(): Boolean { + return false + } + + override fun name(): String = name + override fun defaultValue(): Any? = defaultValue + override fun hasDefaultValue(): Boolean = defaultValueIsSet + + private var defaultValueIsSet = false + var defaultValue: Input? = null + set(value) = if(matchesDataType(value)){ + field = value + defaultValueIsSet = true + }else{ + throw IllegalArgumentException("Illegal default value for Input($name). Allowed values have to match data type $type, but got ${value.toDescriptiveString()} (${value?.javaClass?.name})") + } + + private fun matchesDataType(value: Input?) = when(value){ + null -> true + else -> value.type == type + } +} + +data class Output( + var name: String, + var type: DataType, + var multiOutput: Boolean, + var description: String? = null +) : Parameter, Tensor{ + override fun isVararg(): Boolean { + return false + } + + override fun name(): String = name + override fun defaultValue(): Any? = null + override fun hasDefaultValue(): Boolean = false +} + +data class Signature( + val parameters: List, + val description: String? = null +){ + override fun toString(): String { + return "Signature(${parameters.joinToString {it.name()}})" + } +} + +// Used in defining default values +data class TensorShapeValue(val tensor: Tensor) { + override fun toString(): String = "${tensor.name()}.shape()" +} +data class TensorDataTypeValue(val tensor: Tensor){ + override fun toString(): String = "${tensor.name()}.dataType()" +} + +fun Any?.toDescriptiveString() = when(this){ + null -> "null" + is IntArray -> Arrays.toString(this) + is LongArray -> Arrays.toString(this) + is DoubleArray -> Arrays.toString(this) + is FloatArray -> Arrays.toString(this) + is BooleanArray -> Arrays.toString(this) + is Array<*> -> Arrays.toString(this) + else -> this.toString() +} + +data class Config( + val name: String, + val inputs: MutableList = mutableListOf(), + val args: MutableList = mutableListOf(), + val constraints: MutableList = mutableListOf(), + val doc: MutableList = mutableListOf() + ): Parameter { + override fun isVararg(): Boolean { + return false + } + + override fun name(): String = name + override fun defaultValue(): Any? = null + override fun hasDefaultValue(): Boolean = false + + fun addInput(input: Input) { inputs.add(input) } + fun addArgument(arg: Arg) { args.add(arg) } + fun addConstraint(constraint: Constraint){ constraints.add(constraint) } + fun addDoc(doc: DocSection){ this.doc.add(doc) } + + var javaClassOverride: String = "" +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/doc/DocScope.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/doc/DocScope.kt new file mode 100644 index 000000000..81f48cc2a --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/doc/DocScope.kt @@ -0,0 +1,16 @@ +package org.nd4j.codegen.api.doc + +import org.nd4j.codegen.api.CodeComponent + +enum class DocScope { + ALL, CLASS_DOC_ONLY, CREATORS_ONLY, CONSTRUCTORS_ONLY; + + fun applies(codeComponent: CodeComponent): Boolean { + return when (this) { + ALL -> true + CLASS_DOC_ONLY -> codeComponent === CodeComponent.CLASS_DOC + CREATORS_ONLY -> codeComponent === CodeComponent.OP_CREATOR + CONSTRUCTORS_ONLY -> codeComponent === CodeComponent.CONSTRUCTOR + } + } +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/doc/DocSection.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/doc/DocSection.kt new file mode 100644 index 000000000..a1f592620 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/doc/DocSection.kt @@ -0,0 +1,14 @@ +package org.nd4j.codegen.api.doc + +import org.nd4j.codegen.api.CodeComponent +import org.nd4j.codegen.api.Language + + +data class DocSection(var scope: DocScope? = null, + var language: Language? = null, + var text: String? = null) { + + fun applies(language: Language, codeComponent: CodeComponent): Boolean { + return (this.language === Language.ANY || language === this.language) && scope!!.applies(codeComponent) + } +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/doc/DocTokens.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/doc/DocTokens.kt new file mode 100644 index 000000000..5163283b8 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/doc/DocTokens.kt @@ -0,0 +1,20 @@ +package org.nd4j.codegen.api.doc + +import org.nd4j.codegen.api.Op + +object DocTokens { + enum class GenerationType { SAMEDIFF, ND4J } + private val OPNAME = "%OPNAME%".toRegex() + private val LIBND4J_OPNAME = "%LIBND4J_OPNAME%".toRegex() + private val INPUT_TYPE = "%INPUT_TYPE%".toRegex() + + @JvmStatic fun processDocText(doc: String?, op: Op, type: GenerationType): String { + return doc + ?.replace(OPNAME, op.opName) + ?.replace(LIBND4J_OPNAME, op.libnd4jOpName!!) + ?.replace(INPUT_TYPE, when(type){ + GenerationType.SAMEDIFF -> "SDVariable" + GenerationType.ND4J -> "INDArray" + }) ?: "" + } +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/generator/ConstraintCodeGenerator.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/generator/ConstraintCodeGenerator.kt new file mode 100644 index 000000000..2a50ac1f5 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/generator/ConstraintCodeGenerator.kt @@ -0,0 +1,8 @@ +package org.nd4j.codegen.api.generator + +import org.nd4j.codegen.api.Expression + + +interface ConstraintCodeGenerator { + fun generateExpression(expression: Expression): String +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/generator/Generator.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/generator/Generator.kt new file mode 100644 index 000000000..abf1c52cb --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/generator/Generator.kt @@ -0,0 +1,16 @@ +package org.nd4j.codegen.api.generator + +import org.nd4j.codegen.api.Language +import org.nd4j.codegen.api.NamespaceOps +import java.io.File +import java.io.IOException + +interface Generator { + fun language(): Language? + + @Throws(IOException::class) + fun generateNamespaceNd4j(namespace: NamespaceOps?, config: GeneratorConfig?, directory: File?, className: String?) + + @Throws(IOException::class) + fun generateNamespaceSameDiff(namespace: NamespaceOps?, config: GeneratorConfig?, directory: File?, className: String?) +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/generator/GeneratorConfig.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/generator/GeneratorConfig.kt new file mode 100644 index 000000000..afb2f4789 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/api/generator/GeneratorConfig.kt @@ -0,0 +1,7 @@ +package org.nd4j.codegen.api.generator + +import org.nd4j.codegen.api.Op + +class GeneratorConfig { + fun acceptOp(op: Op?): Boolean = true +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/dsl/OpBuilder.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/dsl/OpBuilder.kt new file mode 100644 index 000000000..40f0cf171 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/dsl/OpBuilder.kt @@ -0,0 +1,350 @@ +package org.nd4j.codegen.dsl + +import org.nd4j.codegen.api.* +import org.nd4j.codegen.api.doc.DocScope +import org.nd4j.codegen.api.doc.DocSection +import org.nd4j.codegen.ops.SDBaseOps +import java.lang.IllegalStateException + +fun Namespace(name: String, block: NamespaceOps.() -> Unit): NamespaceOps { + val ns = NamespaceOps(name) + ns.block() + + ns.checkInvariants() + return ns +} + +fun Mixin(name: String, block: Mixin.() -> Unit): Mixin { + return Mixin(name).apply(block).also { + it.checkInvariants() + } +} + +fun NamespaceOps.Alias(ns:NamespaceOps, opName:String):Op { + val op:Op? = ns.op(opName) + op?.let { + this.parentNamespaceOps[ns.name]?.add(op) + this.ops.add(op) + return op + } + throw IllegalStateException("Failed to create alias for op: $opName") +} + +fun NamespaceOps.Op(name: String, block: Op.() -> Unit): Op { + val op = Op(name) + op.libnd4jOpName = name + + op.block() + + if (!op.isAbstract && op.signatures.isEmpty()) { + op.AllParamSignature() + op.AllDefaultsSignature() + } + + op.checkInvariants() + + this.ops.add(op) + return op +} + +fun NamespaceOps.Op(name: String, + extends: Mixin, + keepArgs: Boolean = true, + keepInputs: Boolean = true, + keepOutputs: Boolean = true, + keepConstraints: Boolean = true, + keepSignatures: Boolean = true, + keepDocs: Boolean = true, + block: (Op.() -> Unit)? = null): Op { + return this.Op(name) { + useMixin(extends, keepArgs = keepArgs, keepInputs = keepInputs, keepOutputs = keepOutputs, keepConstraints = keepConstraints, keepSignatures = keepSignatures, keepDocs = keepDocs) + + if (block != null) { + this.block() + } + } +} + + +fun OpLike.Input(dataType: DataType, name: String, block: (Input.() -> Unit)? = null): Input { + val input = Input(name, dataType) + if (block != null) input.block() + + if (!dataType.isTensorDataType()) { + throw IllegalArgumentException("Invalid datatype for input \"$name\" of op ${this.name()}: inputs arrays cannot have type $dataType - wrong type, or should be Arg type?"); + } + + this.addInput(input) + + + return input +} + +fun OpLike.Arg(dataType: DataType, name: String, block: (Arg.() -> Unit)? = null): Arg { + val input = Arg(name, dataType) + if (block != null) input.block() + + this.addArgument(input) + if(dataType == DataType.ENUM){ + Registry.registerEnum(input) + } + return input +} + +fun OpLike.Output(dataType: DataType, name: String, block: (Output.() -> Unit)? = null): Output { + val output = Output(name, dataType, false) + if (block != null) output.block() + + if (!dataType.isTensorDataType()) { + throw IllegalArgumentException("Invalid datatype for output \"$name\" of op ${this.name()}: output arrays cannot have type $dataType"); + } + + this.addOutput(output) + return output +} + +fun OpLike.Doc(language: Language, scope: DocScope, block: DocSection.() -> String): DocSection { + val doc = DocSection().apply { + this.language = language + this.scope = scope + text = this.block() + } + this.addDoc(doc) + return doc +} + +fun OpLike.AllParamSignature(withOutput: Boolean = false) { + val allParameters = allParameters() + + this.addSignature(Signature(allParameters)) + if (withOutput) { + val withOutputParams = mutableListOf().also { + it.addAll(this.outputs()) + it.addAll(allParameters) + } + this.addSignature(Signature(withOutputParams)) + } +} + +fun OpLike.AllDefaultsSignature(withOutput: Boolean = false) { + val allParameters = allParameters() + + if (allParameters.find { it.hasDefaultValue() } != null) { + val params = allParameters.filterNot { it.hasDefaultValue() } + this.addSignature(Signature(params)) + if (withOutput) { + val withOutputParams = mutableListOf().also { + it.addAll(this.outputs()) + it.addAll(allParameters) + } + this.addSignature(Signature(withOutputParams)) + } + } +} + +fun OpLike.Signature(vararg params: Parameter, block: (Signature.() -> String)? = null): Signature { + if (params.toSet().size < params.size) { + throw IllegalArgumentException("A parameter may not be used twice in a signature!") + } + val paramsAndOutputs = allParameters() + outputs() + if (!paramsAndOutputs.containsAll(params.toList())) { + throw IllegalArgumentException("You can only use parameters in a signature that are actually defined in $this! Did you forget to useMixin(...) a mixin?") + } + + val signature = Signature(params.toList()) + if (block != null) { + signature.block() + } + this.addSignature(signature) + return signature +} + +fun OpLike.Constraint(desc: String, block: ConstraintBuilder.() -> Expression): Constraint { + val check = ConstraintBuilder().block() + val constraint = Constraint(desc, check) + this.addConstraint(constraint) + return constraint +} + +fun OpLike.BackendConstraint(desc: String, block: ConstraintBuilder.() -> Expression): Constraint { + val check = ConstraintBuilder().block() + val constraint = BackendConstraint(desc, check) + this.addConstraint(constraint) + return constraint +} + +class ConstraintBuilder { + fun broadcastableShapes(vararg inputs: Input) = BroadcastableShapesExpression(inputs.toList()) + fun sameShape(vararg inputs: Input) = SameShapeExpression(inputs.toList()) + fun sameType(vararg inputs: Input) = SameTypeExpression(inputs.toList()) + + fun Input.sizeAt(i: Int) = InputShapeReference(this, i) + fun Input.rank() = InputRankReference(this) + fun Input.isScalar() = this.rank() eq 0 + + fun some(expr: BooleanExpression, vararg exprs: BooleanExpression) = exprs.fold(expr, { acc, cur -> acc or cur }) + fun all(expr: BooleanExpression, vararg exprs: BooleanExpression) = exprs.fold(expr, { acc, cur -> acc and cur }) + fun not(expr: BooleanExpression) = expr eq false + + infix fun BooleanExpression.and(other: BooleanExpression) = BooleanExpression(this, other, BooleanOperation.AND) + infix fun BooleanExpression.or(other: BooleanExpression) = BooleanExpression(this, other, BooleanOperation.OR) + + + infix fun Reference.eq(other: Reference) = BooleanExpression(this, other, BooleanOperation.EQ) + infix fun Reference.eq(other: Number) = this eq NumberReference(other) + infix fun Reference.eq(other: Boolean) = this eq BooleanReference(other) + + + infix fun Reference.neq(other: Reference) = BooleanExpression(this, other, BooleanOperation.NEQ) + infix fun Reference.neq(other: T) = this neq NumberReference(other) + infix fun Reference.neq(other: Boolean) = this neq BooleanReference(other) + + infix fun Reference.gt(other: Reference) = BooleanExpression(this, other, BooleanOperation.GT) + infix fun Reference.gt(other: T) = this gt NumberReference(other) + + infix fun Reference.lt(other: Reference) = BooleanExpression(this, other, BooleanOperation.LT) + infix fun Reference.lt(other: T) = this lt NumberReference(other) + + + infix fun Reference.gte(other: T) = this gte NumberReference(other) + infix fun Reference.gte(other: Reference) = BooleanExpression(this, other, BooleanOperation.GTE) + + infix fun Reference.lte(other: T) = this lte NumberReference(other) + infix fun Reference.lte(other: Reference) = BooleanExpression(this, other, BooleanOperation.LTE) +} + +fun NamespaceOps.Config(name: String, block: (Config.() -> Unit)): Config { + val config = Config(name) + config.block() + this.addConfig(config) + Registry.registerConfig(config) + return config +} + +fun Config.Input(dataType: DataType, name: String, block: (Input.() -> Unit)? = null): Input { + val input = Input(name, dataType) + if (block != null) input.block() + + if (!dataType.isTensorDataType()) { + throw IllegalArgumentException("Invalid datatype for input \"$name\" of config ${this.name}: inputs arrays cannot have type $dataType - wrong type, or should be Arg type?"); + } + + this.addInput(input) + return input +} + +fun Config.Arg(dataType: DataType, name: String, block: (Arg.() -> Unit)? = null): Arg { + val input = Arg(name, dataType) + if (block != null) input.block() + + this.addArgument(input) + if(dataType == DataType.ENUM){ + Registry.registerEnum(input) + } + + return input +} + +fun Config.Constraint(desc: String, block: ConstraintBuilder.() -> Expression): Constraint { + val check = ConstraintBuilder().block() + val constraint = Constraint(desc, check) + this.addConstraint(constraint) + return constraint +} + +fun Config.BackendConstraint(desc: String, block: ConstraintBuilder.() -> Expression): Constraint { + val check = ConstraintBuilder().block() + val constraint = BackendConstraint(desc, check) + this.addConstraint(constraint) + return constraint +} + +fun Config.Doc(language: Language, scope: DocScope, block: DocSection.() -> String): DocSection { + val doc = DocSection().apply { + this.language = language + this.scope = scope + text = this.block() + } + this.addDoc(doc) + return doc +} + +fun OpLike.useConfig(config: Config): Config { + this.addConfig(config) + return config +} + +fun Op.useMixin(mixin: Mixin, + keepArgs: Boolean = true, + keepInputs: Boolean = true, + keepOutputs: Boolean = true, + keepConstraints: Boolean = true, + keepSignatures: Boolean = true, + keepDocs: Boolean = true, + keepConfigs: Boolean = true +) { + if(mixin.legacyWasSet){ + legacy = mixin.legacy + } + if(mixin.javaPackageWasSet){ + javaPackage = mixin.javaPackage + } + if (keepArgs) { + args.addOrReplaceAll(mixin.args) + } + if (keepInputs) { + inputs.addOrReplaceAll(mixin.inputs) + } + if (keepOutputs) { + outputs.addOrReplaceAll(mixin.outputs) + } + if (keepConstraints) { + constraints.addAll(mixin.constraints) + } + if (keepSignatures) { + signatures.addAll(mixin.signatures) + } + if (keepDocs) { + doc.addAll(mixin.doc) + } + if(keepConfigs){ + configs.addOrReplaceAll(mixin.configs) + } +} + +fun Mixin.useMixin(mixin: Mixin, + keepArgs: Boolean = true, + keepInputs: Boolean = true, + keepOutputs: Boolean = true, + keepConstraints: Boolean = true, + keepSignatures: Boolean = true, + keepDocs: Boolean = true, + keepConfigs: Boolean = true) { + if(mixin.legacyWasSet){ + legacy = mixin.legacy + } + if(mixin.javaPackageWasSet){ + javaPackage = mixin.javaPackage + } + if (keepArgs) { + args.addOrReplaceAll(mixin.args) + } + if (keepInputs) { + inputs.addOrReplaceAll(mixin.inputs) + } + if (keepOutputs) { + outputs.addOrReplaceAll(mixin.outputs) + } + if (keepConstraints) { + constraints.addAll(mixin.constraints) + } + if (keepSignatures) { + signatures.addAll(mixin.signatures) + } + if (keepDocs) { + doc.addAll(mixin.doc) + } + if(keepConfigs){ + configs.addOrReplaceAll(mixin.configs) + } +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/impl/java/JavaConstraintCodeGenerator.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/impl/java/JavaConstraintCodeGenerator.kt new file mode 100644 index 000000000..587816888 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/impl/java/JavaConstraintCodeGenerator.kt @@ -0,0 +1,35 @@ +package org.nd4j.codegen.impl.java + +import org.nd4j.codegen.api.* +import org.nd4j.codegen.api.generator.ConstraintCodeGenerator + +class JavaConstraintCodeGenerator: ConstraintCodeGenerator { + override fun generateExpression(expression: Expression): String = when(expression) { + is BooleanExpression -> { + val left = generateReference(expression.left) + val right = generateReference(expression.right) + when(expression.op){ + BooleanOperation.EQ -> "$left == $right" + BooleanOperation.NEQ -> "$left != $right" + BooleanOperation.LT -> "$left < $right" + BooleanOperation.LTE -> "$left <= $right" + BooleanOperation.GT -> "$left > $right" + BooleanOperation.GTE -> "$left >= $right" + BooleanOperation.AND -> "$left && $right" + BooleanOperation.OR -> "$left || $right" + } + } + is SameTypeExpression -> "isSameType(${expression.inputs.joinToString(", "){ it.name }})" + is SameShapeExpression -> "isSameShape(${expression.inputs.joinToString(", "){ it.name }})" + is BroadcastableShapesExpression -> "isBroadcastableShapes(${expression.inputs.joinToString(", "){ it.name }})" + } + + private fun generateReference(reference: Reference): String = when(reference){ + is NumberReference<*> -> reference.value.toString() + is BooleanReference -> reference.value.toString() + is InputShapeReference -> "${reference.input.name}.sizeAt(${reference.idx})" + is InputRankReference -> "${reference.input.name}.rank()" + is Arg -> reference.name + is Expression -> "(${generateExpression(reference)})" + } +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/impl/python/KotlinExamplePythonGenerator.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/impl/python/KotlinExamplePythonGenerator.kt new file mode 100644 index 000000000..a26f264b7 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/impl/python/KotlinExamplePythonGenerator.kt @@ -0,0 +1,74 @@ +package org.nd4j.codegen.impl.python + +import org.apache.commons.io.FileUtils +import org.nd4j.codegen.api.Language +import org.nd4j.codegen.api.NamespaceOps +import org.nd4j.codegen.api.Op +import org.nd4j.codegen.api.doc.DocTokens +import org.nd4j.codegen.api.generator.Generator +import org.nd4j.codegen.api.generator.GeneratorConfig +import org.nd4j.codegen.util.GenUtil +import java.io.File +import java.io.IOException +import java.nio.charset.StandardCharsets + +class KotlinExamplePythonGenerator: Generator { + override fun language() = Language.PYTHON + + @Throws(IOException::class) + override fun generateNamespaceNd4j(namespace: NamespaceOps?, config: GeneratorConfig?, directory: File?, className: String?) { + val f = File(directory, GenUtil.ensureFirstIsCap(namespace!!.name) + ".py") + val content = + """ + |class ${GenUtil.ensureFirstIsCap(namespace.name)}: + |${namespace.ops.filterNot { it.isAbstract }.joinToString("\n\n") { generateMethod(it).addIndent(4) }} + """.trimMargin() + FileUtils.writeStringToFile(f, content, StandardCharsets.UTF_8) + } + + fun generateMethod(op: Op): String = + """ + |@staticmethod + |def ${GenUtil.ensureFirstIsNotCap(op.opName)}(${op.inputs.joinToString(", "){it.name}}): + |${genDocString(op).addIndent(4)} + |${"# Execution code here".addIndent(4)} + + """.trimMargin() + + fun genDocString(op: Op): String { + //Following roughly: https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html + // python docstring / multiline string delimiter is the same as in kotlin, so use this little workaround + if (op.args.isNotEmpty()) { + //Args and default args + throw UnsupportedOperationException("Generating method with args not yet implemented") + } + if(op.outputs.size != 1) throw UnsupportedOperationException("Not yet implemented: Python docstring generation for multiple output ops") + + val docStringDelimiter = "\"\"\"" + return """ + |$docStringDelimiter + |${op.opName} operation + | + |${op.inputs.let { """ + |Args: + |${it.joinToString("\n") { + "| ${it.name} (ndarray): ${DocTokens.processDocText(it.description, op, DocTokens.GenerationType.ND4J)}" + }} + |""".trimMargin() }} + |${op.outputs.let {""" + |Returns: + | ndarray: ${it[0].name} ${it[0].description?.let {"- ${DocTokens.processDocText(it, op, DocTokens.GenerationType.ND4J)}" + }}""".trimMargin() + }} + |$docStringDelimiter + """.trimMargin() + } + + @Throws(IOException::class) + override fun generateNamespaceSameDiff(namespace: NamespaceOps?, config: GeneratorConfig?, directory: File?, className: String?) { + throw UnsupportedOperationException("Not yet implemented") + } + + private fun String.addIndent(size: Int): String = GenUtil.addIndent(this, size) +} + diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/FrameworkImporter.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/FrameworkImporter.kt new file mode 100644 index 000000000..bb551a834 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/FrameworkImporter.kt @@ -0,0 +1,43 @@ +package org.nd4j.codegen.ir + +import com.google.common.reflect.TypeToken +import org.apache.commons.lang3.reflect.TypeUtils +import org.nd4j.autodiff.samediff.SameDiff +import org.nd4j.codegen.ir.registry.OpMappingRegistry +import org.tensorflow.framework.* +import kotlin.reflect.KClass + +class FrameworkImporter(inputFrameworkName: String,nodeType: String,graphType: String,opDefType: String,tensorType: String,dataType: String,attributeType: String,attributeValueType: String) { + + val graphType = graphType + val nodeType = nodeType + val tensorType = tensorType + val dataType = dataType + val attributeType = attributeType + val attributeValueType = attributeValueType + val opDefType = opDefType + val inputFrameworkName = inputFrameworkName + + fun runImport(): SameDiff { + val outputType = TypeUtils.parameterize( + OpMappingRegistry::class.java, Class.forName(graphType), Class.forName(nodeType), Class.forName(opDefType), + Class.forName(tensorType), Class.forName(dataType), Class.forName(attributeType), Class.forName(attributeValueType)) + + val importGraphParameterized = TypeUtils.parameterize(ImportGraph::class.java, + Class.forName(graphType), + Class.forName(nodeType), + Class.forName(opDefType), + Class.forName(tensorType), + Class.forName(attributeType), + Class.forName(attributeValueType), + Class.forName(dataType)) + + val rawRegistryType = TypeToken.of(outputType).rawType + val rawRegistryInstance = rawRegistryType.getConstructor(String::class.java).newInstance(inputFrameworkName) + val importGraphType = TypeToken.of(importGraphParameterized).rawType + val importGraphInstance = importGraphType.getConstructor().newInstance() + return SameDiff.create() + } + + +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/IR.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/IR.kt new file mode 100644 index 000000000..d0e65acaf --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/IR.kt @@ -0,0 +1,1488 @@ +package org.nd4j.codegen.ir + +import io.github.classgraph.ClassGraph +import org.apache.commons.io.IOUtils +import org.nd4j.autodiff.functions.DifferentialFunction +import org.nd4j.autodiff.samediff.SDVariable +import org.nd4j.autodiff.samediff.SameDiff +import org.nd4j.autodiff.samediff.VariableType +import org.nd4j.codegen.ir.registry.OpMappingRegistry +import org.nd4j.codegen.ir.registry.OpRegistryHolder +import org.nd4j.codegen.ir.tensorflow.* +import org.nd4j.common.io.ClassPathResource +import org.nd4j.common.io.ReflectionUtils +import org.nd4j.common.util.ArrayUtil +import org.nd4j.gen.OpDeclarationDescriptor +import org.nd4j.ir.MapperNamespace +import org.nd4j.ir.OpNamespace +import org.nd4j.ir.TensorNamespace +import org.nd4j.linalg.api.buffer.DataType +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.linalg.api.ops.DynamicCustomOp +import org.nd4j.linalg.api.ops.Op +import org.nd4j.linalg.factory.Nd4j +import org.nd4j.shade.protobuf.ByteString +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum +import org.nd4j.shade.protobuf.TextFormat +import java.lang.IllegalArgumentException +import java.lang.reflect.Modifier +import java.nio.ByteBuffer +import java.nio.charset.Charset +import kotlin.collections.ArrayList +import kotlin.collections.HashMap + + +fun loadNd4jOpDescriptors(): OpNamespace.OpDescriptorList { + val nd4jOpDescriptorResourceStream = ClassPathResource("nd4j-op-defs-2.proto").inputStream + val resourceString = IOUtils.toString(nd4jOpDescriptorResourceStream, Charset.defaultCharset()) + val descriptorListBuilder = OpNamespace.OpDescriptorList.newBuilder() + TextFormat.merge(resourceString,descriptorListBuilder) + val ret = descriptorListBuilder.build() + val mutableList = ArrayList(ret.opListList) + mutableList.sortBy { it.name } + + val newResultBuilder = OpNamespace.OpDescriptorList.newBuilder() + newResultBuilder.addAllOpList(mutableList) + return newResultBuilder.build() +} + +fun nd4jDifferentialFunctions(): List> { + return ClassGraph().enableAllInfo() + .scan().getSubclasses("org.nd4j.autodiff.functions.DifferentialFunction").filter { + clazz-> !clazz.isAbstract && !clazz.isAnnotation && !clazz.isInterface + }.map { clazz -> Class.forName(clazz.name) as Class } +} + +val differentialFunctionClasses = nd4jDifferentialFunctions() + +fun cachedOpInstances2(): List { + return differentialFunctionClasses.map { clazz -> clazz.newInstance() as DifferentialFunction}.filter { + it.opName() != null + } +} + +val cachedOpInstances = cachedOpInstances2() + + +fun createDifferentialFunctionInstanceForName(name: String): DifferentialFunction { + return cachedOpInstances.first { op -> op.opName() == name }.javaClass.newInstance() +} + +fun isOutputFrameworkAttributeName(name: String,opDescriptor: OpNamespace.OpDescriptor): Boolean { + return opDescriptor.argDescriptorList.filter { argDescriptor -> argDescriptor.argType != OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + && argDescriptor.argType != OpNamespace.ArgDescriptor.ArgType.OUTPUT_TENSOR } + .map { inputArg -> inputArg.name }.contains(name) +} + +fun isNd4jTensorName(name: String,opDescriptor: OpNamespace.OpDescriptor): Boolean { + return opDescriptor.argDescriptorList.filter { argDescriptor -> argDescriptor.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR } + .map { inputArg -> inputArg.name } + .contains(name) +} + + +fun argDescriptorType(name: String, opDescriptor: OpNamespace.OpDescriptor): OpNamespace.ArgDescriptor.ArgType { + return opDescriptor.argDescriptorList.filter { argDescriptor -> argDescriptor.name == name }[0].argType +} + +val nd4jOpDescriptors = loadNd4jOpDescriptors() + +fun OpNamespace.OpDescriptorList.findOp(opName: String): OpNamespace.OpDescriptor { + return this.opListList.first { it.name == opName } +} + + +interface IRTensor + where DATA_TYPE: ProtocolMessageEnum { + fun shape(): List + fun stride(): List + fun dataType(): IRDataType + fun toArgTensor(): TensorNamespace.TensorProto + fun rawValue(): TENSOR_TYPE + fun toNd4jNDArray(): INDArray + +} + + +enum class AttributeValueType { + FLOAT, + LIST_FLOAT, + INT, + LIST_INT, + BOOL, + LIST_BOOL, + STRING, + LIST_STRING, + TENSOR, + LIST_TENSOR, + DATA_TYPE, + INVALID +} + +interface IRAttribute { + + fun name(): String + + fun floatValue(): Float + + fun listFloatValue(): List + + fun tensorValue(): IRTensor + + fun listTensorValue(): List> + + fun intValue(): Long + + fun listIntValue(): List + + fun boolValue(): Boolean + + fun listBoolValue(): List + + fun stringValue(): String + + fun listStringValue(): List + + fun attributeValueType(): AttributeValueType + + fun dataTataTypeValue(): IRDataType + + fun internalAttributeDef(): ATTRIBUTE_TYPE + + + fun internalAttributeValue(): ATTRIBUTE_VALUE_TYPE +} + + + +interface MappingProcess< + GRAPH_TYPE: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_DEF_TYPE: GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, + ATTRIBUTE_TYPE : GeneratedMessageV3, + ATTRIBUTE_VALUE_TYPE : GeneratedMessageV3, + DATA_TYPE: ProtocolMessageEnum> { + + + + fun inputOpDefValueTypes(): Map + + fun opName(): String + + fun frameworkVersion(): String + + fun inputFramework(): String + + fun inputFrameworkOpName(): String + + fun attributeMappingRules(): List> + + fun tensorMappingRules(): List> + + fun applyProcess(mappingCtx: MappingContext): + Pair, OpNamespace.OpDescriptor> + + fun applyProcessReverse(input: OpDeclarationDescriptor): IRNode + + + fun indexOverrides() : Map + + fun serialize(): MapperNamespace.MapperDeclaration + + +} + + +interface TensorMappingRule + where DATA_TYPE: ProtocolMessageEnum { + + + fun initWithMappingProcess(mappingProcess: MappingProcess) + + + fun name(): String + + + fun serialize(): MapperNamespace.MappingRule + + + fun mappingNamesToPerform(): Map + + /** + * Convert 1 or more attributes in to a list of {@link ArgDescriptor} + */ + fun convertInput(mappingContext: MappingContext): List + + + fun inputArgumentMappings(): Map + + fun convertInputsReverse(toReverse: List): List + + fun isInputTensorName(inputName: String): Boolean + + fun isOutputTensorName(outputName: String): Boolean + +} + + +interface AttributeMappingRule + where DATA_TYPE: ProtocolMessageEnum { + + fun initWithMappingProcess(mappingProcess: MappingProcess) + + fun mappingNamesToPerform(): Map + + fun mappingTransformerArgs(): Map> + + fun name(): String + + fun serialize(): MapperNamespace.MappingRule + + fun convertAttributes(mappingCtx: MappingContext): List + + fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> + + + fun isInputFrameworkTensorName(name: String,mappingProcess: MappingProcess): Boolean + + fun isNd4jTensorName(name: String,mappingProcess: MappingProcess): Boolean + + fun isInputFrameworkAttributeName(name: String,mappingProcess: MappingProcess): Boolean + + fun isOutputFrameworkAttributeName(name: String,mappingProcess: MappingProcess): Boolean + + fun argDescriptorType(name: String,mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType + + fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean + + fun outputsType(argDescriptorType: List): Boolean + + fun attributeValueTypeFor(name: String,mappingProcess: MappingProcess): AttributeValueType + + fun argDescriptorTypesForOutputName( + name: String, mappingProcess: + MappingProcess): List +} + + +interface MappingContext { + /** + * Whether to resolve dynamic place holder variables where + * scalar values are present. An example scenario is when a value is an input ndarray + * such as pow(..) where 1 is always an ndarray and the other is a scalar value + * represented as a double argument in nd4j, but might be a placeholder + * in the input framework. + */ + fun resolveDynamic(): Boolean + + /** + * Input variables for dynamic resolution required for import. + * This is important for any cases where a placeholder variable + * can be imported and resolved dynamically and later passed on as scalars. + */ + fun dynamicResolutionVariables(): Map + + fun node(): NODE_TYPE + + fun irNode(): IRNode + + fun opDef(): OP_DEF_TYPE + + fun opName(): String + + fun nodeName(): String + + fun attrDef(name: String): ATTRIBUTE_TYPE + + fun tensorInputFor(name: String): IRTensor + + fun tensorInputFromInputFrameworkName(name: String): IRTensor + + fun tensorAttributeFor(name: String): IRTensor + + + fun createIRTensorFromNDArray(ndaray:INDArray): IRTensor + + fun nd4jDataTypeFor(input: IRTensor): DataType + + fun irAttributeValueForNode(valueName: String): IRAttribute + + fun argDescriptorTypeForName(nd4jName: String): List + + fun graph(): IRGraph + + fun nd4jOpName(): String + +} + +abstract class AbstractMappingContext( + opDef: OP_DEF_TYPE, + node: NODE_TYPE, + graph: + IRGraph, + dynamicVariables: Map = emptyMap()): + MappingContext { + + val opDef = opDef + val node = node + val graph = graph + val dynamicVariables: Map = dynamicVariables + + override fun dynamicResolutionVariables(): Map { + return dynamicVariables + } + + override fun resolveDynamic(): Boolean { + return dynamicVariables.isNotEmpty() + } + + override fun node(): NODE_TYPE { + return node + } + + override fun opDef(): OP_DEF_TYPE { + return opDef + } + + override fun graph(): IRGraph { + return graph + } + + override fun argDescriptorTypeForName(nd4jName: String): List { + val opDescriptor = nd4jOpDescriptors.findOp(graph.nd4jNameForInternalOpName(opName())) + return opDescriptor.argDescriptorList.filter { argDescriptor -> argDescriptor.name == nd4jName }.map { argDescriptor -> argDescriptor.argType } + } + + override fun nd4jOpName(): String { + return nd4jOpDescriptors.findOp(graph.nd4jNameForInternalOpName(opName())).name + } +} + + +interface IRGraphRunner< + GRAPH_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + TENSOR_TYPE: GeneratedMessageV3, + ATTRIBUTE_TYPE: GeneratedMessageV3, + ATTRIBUTE_VALUE_TYPE: GeneratedMessageV3, + DATA_TYPE : ProtocolMessageEnum> { + + fun graph(): IRGraph + + fun run(inputs: Map): Map +} + + +interface IRGraph< + GRAPH_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + TENSOR_TYPE: GeneratedMessageV3, + ATTRIBUTE_TYPE: GeneratedMessageV3, + ATTRIBUTE_VALUE_TYPE: GeneratedMessageV3, + DATA_TYPE : ProtocolMessageEnum> { + + fun importInfoForEachNode(dynamicVariables: Map): Map, OpNamespace.OpDescriptor>> + + fun shapeOfInput(varName: String): LongArray? + + fun dataTypeForVariable(varName: String): IRDataType + + fun isConstant(opName: String): Boolean + + fun nodeIsPlaceHolder(nodeName: String): Boolean + + fun isPlaceHolder(opName: String): Boolean + + fun isConstantOpName(name: String): Boolean + + fun nodeByName(input: String): NODE_TYPE + + fun nodeList(): List> + + fun internalValue(): GRAPH_TYPE + + fun createMappingContext( + opDef: OP_DEF_TYPE, + node: NODE_TYPE, + dynamicVariables: Map + ): MappingContext + + fun frameworkName(): String + + fun nd4jNameForInternalOpName(name: String): String +} + + + +fun importInfoForEachNodeInGraph ( + graph: IRGraph, + dynamicVariables: Map) + : Map,OpNamespace.OpDescriptor>> { + + val opMappingRegistry = OpRegistryHolder.opMappingRegistryForName(graph.frameworkName()) + + val ret = HashMap,OpNamespace.OpDescriptor>>() + + graph.nodeList().forEach { node -> + val name = node.nodeName() + val opMappingProcess = OpRegistryHolder.lookupOpMappingProcess< + GRAPH_TYPE, + NODE_TYPE, + OP_DEF_TYPE, + TENSOR_TYPE, + DATA_TYPE, + ATTRIBUTE_TYPE, + ATTRIBUTE_VALUE_TYPE>(inputFrameworkOpName = node.opName(), inputFrameworkName = graph.frameworkName()) + val opDefLookup = opMappingRegistry.lookupInputFrameworkOpDef(node.opName()) + val mappingContext = graph.createMappingContext( + opDef = opDefLookup, + node = graph.nodeByName(node.nodeName()), + dynamicVariables = dynamicVariables + ) + + val applied = opMappingProcess.applyProcess(mappingContext) + ret[name] = applied + } + + return ret +} + +interface IRNode + where DATA_TYPE: ProtocolMessageEnum { + + + fun nd4jInputs(tensorMappings: Map): List + + fun computeAdjustedOffsetForInput( + nd4jName: String, + inputFrameworkName: String, + tensorInputMappings: Map + ): Int + + /** + * Get the list of inputs from the node that represent a particular + * [OpDef] input list name. + */ + fun inputNamesForListOfInputValues(inputListName: String): List + + /** + * Compute the number of inputs + * for a list of tensors that reflect 1 or more inputs + * as 1 name. + */ + fun numInputsForListOfTensors(name: String): Int + + /** + * List of inputs in to the node + * @return the list of input names for this node + */ + fun createInputsFrom(inputData: List): List> + + /** + * List of outputs + * @return the list of output names for this node + */ + fun createOutputsFrom(inputValues: List): List> + + /** + * Op name + */ + fun opName(): String + + /** + * The name of the node + * @return the name of the node + */ + fun nodeName(): String + + /** + * List of input names + */ + fun inputs(): List + + /** + * List of output names + */ + fun outputs(): List + + /** + * The input at a particular index + * @return the name at the particular index + */ + fun inputAt(index: Int): String + fun outputAt(index: Int): String + + fun numInputs(): Int + + fun numOutputs(): Int + + fun attributeMap(): Map> + fun getAttribute(inputName: String): IRAttribute + fun hasAttribute(inputName: String): Boolean + + fun internalValue(): NODE_TYPE +} + +interface IRArgDef + where DATA_TYPE: ProtocolMessageEnum { + fun name(): String + + fun description(): String + + fun dataType(): IRDataType + + fun internalValue(): T + + fun indexOf(): Integer +} + +interface IROpDef< + GRAPH_DEF: GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, + ARG_DEF_TYPE : GeneratedMessageV3, DATA_TYPE, + ATTRIBUTE_TYPE : GeneratedMessageV3, + ATTRIBUTE_VALUE_TYPE : GeneratedMessageV3> + where DATA_TYPE: ProtocolMessageEnum { + fun opName(): String + + fun internalValue(): OP_DEF_TYPE + + fun inputArgs(): List> + + fun outputArgs(): List> + + fun attributes(): List> + +} + +enum class IRDataTypeValue { + DT_FLOAT, + DT_DOUBLE, + DT_INT32, + DT_UINT8, + DT_INT16, + DT_INT8, + DT_STRING, + DT_COMPLEX64, // Single-precision complex + DT_INT64, + DT_BOOL, + DT_QINT8, // Quantized int8 + DT_QUINT8, // Quantized uint8 + DT_QINT32, // Quantized int32 + DT_BFLOAT16, // Float32 truncated to 16 bits. Only for cast ops. + DT_QINT16, // Quantized int16 + DT_QUINT16, // Quantized uint16 + DT_UINT16, + DT_COMPLEX128, // Double-precision complex + DT_HALF, + DT_RESOURCE, + DT_VARIANT, // Arbitrary C++ data types + DT_UINT32, + DT_UINT64, + DT_INVALID + +} + +interface IRDataType where DATA_TYPE: ProtocolMessageEnum { + fun convertToDataType(input: DATA_TYPE): IRDataTypeValue + + fun dataType(): IRDataTypeValue + + fun internalValue(): DATA_TYPE + + fun nd4jDataType(): DataType + + fun nameSpaceDataType(): TensorNamespace.DataType +} + + + +abstract class AbstractMappingProcess< + GRAPH_TYPE: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, + ATTRIBUTE_TYPE : GeneratedMessageV3, + ATTRIBUTE_VALUE_TYPE : GeneratedMessageV3, DATA_TYPE: ProtocolMessageEnum>(inputFramework: String, + frameworkVersion: String, + inputFrameworkOpName: String, + inputIndexOverrides: Map = emptyMap(), + opName: String, + opMappingRegistry: OpMappingRegistry, + tensorMappingRules: List>, + attributeMappingRules: List>): + MappingProcess { + + protected val inputFramework = inputFramework + protected val frameworkVersion = frameworkVersion + protected val inputFrameworkOpName = inputFrameworkOpName + protected val opName = opName + protected val tensorMappingRules = tensorMappingRules + protected val attributeMappingRules = attributeMappingRules + protected var opDef: IROpDef? = null + protected val opMappingRegistry = opMappingRegistry + protected val inputIndexOverrides = inputIndexOverrides + init { + tensorMappingRules.forEach { tensorMappingRule -> + tensorMappingRule.initWithMappingProcess(this) + tensorMappingRule.mappingNamesToPerform().forEach { (nd4jName, inputFrameworkName) -> + if(!tensorMappingRule.isInputTensorName(inputFrameworkName)) { + throw IllegalArgumentException("Found invalid input tensor named ${inputFrameworkName} for rule ${tensorMappingRule.name()} and mapping process for op ${opName} and input framework name ${inputFrameworkOpName} with definition being ${nd4jOpDescriptors.findOp(opName)}") + } + + if(!tensorMappingRule.isOutputTensorName(nd4jName)) { + throw IllegalArgumentException("Found invalid output tensor named ${nd4jName} for rule ${tensorMappingRule.name()} and mapping process for op ${opName} and input framework name ${inputFrameworkOpName} with definition being ${nd4jOpDescriptors.findOp(opName)}") + } + + } + } + + attributeMappingRules.forEach { + it.initWithMappingProcess(this) + attributeMappingRules.forEach { attributeMappingRule -> + attributeMappingRule.mappingNamesToPerform().forEach { (nd4jName, inputFrameworkName) -> + val inputType = attributeMappingRule.attributeValueTypeFor(inputFrameworkName,this) + if(!attributeMappingRule.acceptsInputType(inputType)) { + throw IllegalArgumentException("Rule ${attributeMappingRule.name()} for framework $inputFramework does not accept input type ${inputType} for attribute name ${inputFrameworkName} and mapping process for op ${opName} and input framework name ${inputFrameworkOpName}") + } + + val outputType = attributeMappingRule.argDescriptorTypesForOutputName(nd4jName,this) + if(!attributeMappingRule.outputsType(outputType)) { + throw IllegalArgumentException("Rule ${attributeMappingRule.name()} for framework $inputFramework with input framework name $inputFrameworkName does not accept output type ${outputType} for attribute name ${nd4jName} and mapping process for op ${opName}") + } + + } + } + } + + + opMappingRegistry.registerMappingProcess( + inputFrameworkOpName = inputFrameworkOpName, + processToRegister = this + ) + + + } + + override fun indexOverrides(): Map { + return inputIndexOverrides + } + + override fun attributeMappingRules(): List> { + return attributeMappingRules + } + + override fun tensorMappingRules(): List> { + return tensorMappingRules + } + + override fun applyProcessReverse(input: OpDeclarationDescriptor): IRNode { + TODO("Not yet implemented") + } + + override fun inputFrameworkOpName(): String { + return inputFrameworkOpName + } + + override fun opName(): String { + return opName + } + + override fun frameworkVersion(): String { + return frameworkVersion + } + + override fun inputFramework(): String { + return inputFramework + } + + override fun applyProcess(mappingCtx: MappingContext): Pair, OpNamespace.OpDescriptor> { + val descriptorBuilder = OpNamespace.OpDescriptor.newBuilder() + descriptorBuilder.name = opName() + tensorMappingRules.forEach { + it.convertInput(mappingCtx).forEach { descriptor -> + descriptorBuilder.addArgDescriptor(descriptor) + } + } + + + attributeMappingRules.forEach { + it.convertAttributes(mappingCtx).forEach { + descriptor -> descriptorBuilder.addArgDescriptor(descriptor) + } + } + + val fullDescriptor = nd4jOpDescriptors.findOp(opName()) + descriptorBuilder.opDeclarationType = fullDescriptor.opDeclarationType + + return Pair(mappingCtx,descriptorBuilder.build()) + } + + override fun serialize(): MapperNamespace.MapperDeclaration { + val retBuilder = MapperNamespace.MapperDeclaration.newBuilder() + retBuilder.frameworkName = inputFramework() + retBuilder.opName = opName() + + + /** + * TODO: add input index overrides + */ + + indexOverrides().forEach { indexToOverride, replacementIndex -> + retBuilder.putIndexOverrides(indexToOverride.toLong(),replacementIndex.toLong()) + } + + tensorMappingRules.forEach { + retBuilder.addRule(it.serialize().toBuilder()) + } + + attributeMappingRules.forEach { + retBuilder.addRule(it.serialize().toBuilder()) + } + + return retBuilder.build() + } +} + + +fun ArgDescriptor(block: OpNamespace.ArgDescriptor.Builder.() -> Unit): OpNamespace.ArgDescriptor { + return OpNamespace.ArgDescriptor.newBuilder() + .apply(block).build() +} + +fun NameSpaceTensor(block: TensorNamespace.TensorProto.Builder.() -> Unit): TensorNamespace.TensorProto { + return TensorNamespace.TensorProto.newBuilder() + .apply(block).build() +} + + + +fun TensorNamespace.TensorProto.Builder.RawData(rawData: ByteArray) { + this.rawData = ByteString.copyFrom(rawData) +} + +fun TensorNamespace.TensorProto.Builder.IntData(intData: List) { + this.addAllInt32Data(intData) +} + +fun TensorNamespace.TensorProto.Builder.FloatData(floatData: List) { + this.addAllFloatData(floatData) +} + +fun TensorNamespace.TensorProto.Builder.DoubleData(doubleData: List) { + this.addAllDoubleData(doubleData) +} + +fun TensorNamespace.TensorProto.Builder.StringData(stringData: List) { + this.addAllStringData(stringData.map { input -> ByteString.copyFrom(input.toByteArray(Charset.defaultCharset())) }) +} + +fun TensorNamespace.TensorProto.Builder.Int64Data(intData: List) { + this.addAllInt64Data(intData) +} + +fun TensorNamespace.TensorProto.Builder.Dims(shape: List) { + shape.forEach { this.addDims(it) } +} + + +fun convertNd4jDataTypeFromNameSpaceTensorDataType(dataType: TensorNamespace.DataType): DataType { + return when(dataType) { + TensorNamespace.DataType.UINT32 -> return DataType.UINT32 + TensorNamespace.DataType.INT64 -> return DataType.INT64 + TensorNamespace.DataType.INT16 -> return DataType.INT16 + TensorNamespace.DataType.UINT64 -> return DataType.UINT64 + TensorNamespace.DataType.DOUBLE -> return DataType.DOUBLE + TensorNamespace.DataType.FLOAT -> return DataType.FLOAT + TensorNamespace.DataType.FLOAT16 -> return DataType.FLOAT16 + TensorNamespace.DataType.FLOAT16 -> return DataType.FLOAT16 + TensorNamespace.DataType.INT32 -> return DataType.INT32 + TensorNamespace.DataType.STRING -> return DataType.UTF8 + TensorNamespace.DataType.BOOL -> return DataType.BOOL + TensorNamespace.DataType.BFLOAT16 -> return DataType.BFLOAT16 + TensorNamespace.DataType.INT8 -> return DataType.INT8 + TensorNamespace.DataType.UINT16 -> return DataType.UINT16 + TensorNamespace.DataType.UNDEFINED,TensorNamespace.DataType.UNRECOGNIZED -> return DataType.UNKNOWN + else -> { + throw IllegalArgumentException("Illegal data type $dataType") + } + } +} + +fun convertNameSpaceTensorDataTypeFromNd4jDataType(dataType: DataType): TensorNamespace.DataType { + return when(dataType) { + DataType.UINT32 -> return TensorNamespace.DataType.UINT32 + DataType.INT64,DataType.LONG -> return TensorNamespace.DataType.INT64 + DataType.UINT64 -> return TensorNamespace.DataType.UINT64 + DataType.DOUBLE -> return TensorNamespace.DataType.DOUBLE + DataType.FLOAT -> return TensorNamespace.DataType.FLOAT + DataType.FLOAT16,DataType.HALF -> return TensorNamespace.DataType.FLOAT16 + DataType.HALF -> return TensorNamespace.DataType.FLOAT16 + DataType.INT32,DataType.INT -> return TensorNamespace.DataType.INT32 + DataType.UTF8 -> return TensorNamespace.DataType.STRING + DataType.BOOL -> return TensorNamespace.DataType.BOOL + DataType.BFLOAT16 -> return TensorNamespace.DataType.BFLOAT16 + DataType.SHORT,DataType.INT8 -> return TensorNamespace.DataType.INT8 + DataType.UINT16 -> return TensorNamespace.DataType.UINT16 + DataType.BYTE,DataType.UINT8,DataType.UBYTE -> return TensorNamespace.DataType.UINT8 + else -> { + throw IllegalArgumentException("Illegal data type $dataType") + } + } +} + + +fun ndarrayFromNameSpaceTensor(inputTensor: TensorNamespace.TensorProto): INDArray { + val dtype = convertNd4jDataTypeFromNameSpaceTensorDataType(TensorNamespace.DataType.values()[inputTensor.dataType]) + val shape = inputTensor.dimsList.toLongArray() + when(dtype) { + DataType.FLOAT -> { + val floatArray = inputTensor.floatDataList.toFloatArray() + if(floatArray.isEmpty()) + return loadDataBufferFromRawData(inputTensor) + val dataBuffer = Nd4j.createBuffer(floatArray) + return Nd4j.create(dataBuffer).reshape(*shape) + } + DataType.DOUBLE -> { + val doubleArray = inputTensor.doubleDataList.toDoubleArray() + if(doubleArray.isEmpty()) + return loadDataBufferFromRawData(inputTensor) + + val dataBuffer = Nd4j.createBuffer(doubleArray) + return Nd4j.create(dataBuffer).reshape(*shape) + } + DataType.INT64 -> { + val longArray = inputTensor.int64DataList.toLongArray() + if(longArray.isEmpty()) + return loadDataBufferFromRawData(inputTensor) + val dataBuffer = Nd4j.createBuffer(longArray) + return Nd4j.create(dataBuffer).reshape(*shape) + } + DataType.INT32 -> { + val intArray = inputTensor.int32DataList.toIntArray() + if(intArray.isEmpty()) + return loadDataBufferFromRawData(inputTensor) + + val dataBuffer = Nd4j.createBuffer(intArray) + return Nd4j.create(dataBuffer).reshape(*shape) + } + + DataType.BOOL -> { + val intArray = inputTensor.int32DataList.toIntArray() + if(intArray.isEmpty()) + return loadDataBufferFromRawData(inputTensor) + + val dataBuffer = Nd4j.createBuffer(intArray) + return Nd4j.create(dataBuffer).reshape(*shape) + } + + DataType.UTF8 -> { + val stringList = inputTensor.stringDataList.map { input -> input.toStringUtf8() } + if(stringList.isEmpty()) + return loadDataBufferFromRawData(inputTensor) + + return Nd4j.create(stringList).reshape(*shape) + } + DataType.UNKNOWN -> { + val ret = Nd4j.empty() + return ret + } + + else -> { + return loadDataBufferFromRawData(inputTensor) + } + + } + + throw IllegalArgumentException("Illegal type found for conversion ${dtype}") +} + +fun loadDataBufferFromRawData(inputTensor: TensorNamespace.TensorProto): INDArray { + val shape = inputTensor.dimsList.toLongArray() + val dtype = convertNd4jDataTypeFromNameSpaceTensorDataType(TensorNamespace.DataType.values()[inputTensor.dataType]) + val byteArray = inputTensor.rawData.toByteArray() + //note: scalar can be zero + val totalLen = Math.max(ArrayUtil.prod(*shape),1) + val byteBuffer = ByteBuffer.allocateDirect(totalLen * dtype.width()) + byteBuffer.put(byteArray) + byteBuffer.rewind() + val rawDataBuffer = Nd4j.createBuffer(byteBuffer,dtype,totalLen,0) + return Nd4j.create(rawDataBuffer).reshape(*shape) +} + + + +fun nameSpaceTensorFromNDarray(ndarray:INDArray): TensorNamespace.TensorProto { + val nameSpaceDataType = convertNameSpaceTensorDataTypeFromNd4jDataType(ndarray.dataType()).ordinal + when(ndarray.dataType()) { + DataType.INT64 -> { + return NameSpaceTensor { + dataType = nameSpaceDataType + Int64Data(ndarray.data().asLong().toList()) + Dims(ndarray.shape().asList()) + } + } + + DataType.INT32 -> { + return NameSpaceTensor { + dataType = nameSpaceDataType + IntData(ndarray.data().asInt().toList()) + Dims(ndarray.shape().asList()) + } + } + + DataType.DOUBLE -> { + return NameSpaceTensor { + dataType = nameSpaceDataType + DoubleData(ndarray.data().asDouble().toList()) + Dims(ndarray.shape().asList()) + } + } + + DataType.FLOAT -> { + return NameSpaceTensor { + dataType = nameSpaceDataType + FloatData(ndarray.data().asFloat().toList()) + Dims(ndarray.shape().asList()) + } + } + + DataType.UTF8 -> { + val stringList = ArrayList() + for(i in 0 until ndarray.length()) { + stringList.add(ndarray.getString(i)) + } + + return NameSpaceTensor { + dataType = nameSpaceDataType + StringData(stringList) + Dims(ndarray.shape().asList()) + } + } + + else -> { + throw IllegalArgumentException("Illegal data type ${ndarray.dataType()}") + } + } + +} + + + + +interface ImportContext< + GRAPH_TYPE: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, + ATTRIBUTE_TYPE : GeneratedMessageV3, + ATTRIBUTE_VALUE_TYPE : GeneratedMessageV3, + DATA_TYPE: ProtocolMessageEnum> { + + fun process(): MappingProcess + + fun mappingContext(): MappingContext + +} + +abstract class AbstractImportContext< + GRAPH_TYPE: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, + ATTRIBUTE_TYPE : GeneratedMessageV3, + ATTRIBUTE_VALUE_TYPE : GeneratedMessageV3, + DATA_TYPE: ProtocolMessageEnum> + (process: MappingProcess, + mappingContext: MappingContext): + ImportContext +{ + val process = process + val mappingContext = mappingContext + + override fun process(): MappingProcess< + GRAPH_TYPE, + OP_DEF_TYPE, + NODE_TYPE, + TENSOR_TYPE, + ATTRIBUTE_TYPE, + ATTRIBUTE_VALUE_TYPE, + DATA_TYPE> { + return process + } + + override fun mappingContext(): MappingContext { + return mappingContext + } +} + + +interface ImportProcess< + GRAPH_TYPE: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, + ATTRIBUTE_TYPE : GeneratedMessageV3, + ATTRIBUTE_VALUE_TYPE : GeneratedMessageV3, + DATA_TYPE: ProtocolMessageEnum> { + + fun createMappingProcesses(graph: IRGraph) + : List> + + fun createMappingContext(graph: + IRGraph,node: IRNode): + MappingContext + + + fun createImportContext(mappingProcess: MappingProcess,mappingContext: + MappingContext) + : ImportContext + + fun runImportProcess(mappingProcesses: List>): SameDiff + +} + + +fun lookupIndexForArgDescriptor( + argDescriptorName: String, + opDescriptorName: String, + argDescriptorType: OpNamespace.ArgDescriptor.ArgType +): Int { + println("Trying to find arg descriptor index for op $opDescriptorName and descriptor name $argDescriptorName with type $argDescriptorType") + val op = nd4jOpDescriptors.findOp(opDescriptorName) + val names = op.argDescriptorList.map { argDescriptor -> argDescriptor.name } + if(!names.contains(argDescriptorName)) { + throw IllegalArgumentException("Invalid name $argDescriptorName for op $opDescriptorName passed in. $argDescriptorName not found in $opDescriptorName. Available names were ${names}") + } + val ret = op + .argDescriptorList.firstOrNull { argDescriptor -> argDescriptor.name == argDescriptorName && + argDescriptor.argType == argDescriptorType } + if(ret == null) + return -1 + else return ret.argIndex +} + +fun createVariable(varName: String,varType: VariableType,sameDiff: SameDiff,shape: List,dataType: DataType): SDVariable { + return SDVariable(varName,varType, sameDiff, shape.toLongArray(), dataType) +} + + +interface ImportRunner { + fun initAttributes( + df: DifferentialFunction, + frameworkName: String, + mappingContext: MappingContext, + sd: SameDiff, + inputFrameworkOpName: String) +} + + + + +class DefaultImportRunner : ImportRunner { + override fun initAttributes( + df: DifferentialFunction, + frameworkName: String, + mappingContext: MappingContext, + sd: SameDiff, + inputFrameworkOpName: String + ) { + + val opMappingProcess = OpRegistryHolder.lookupOpMappingProcess< + GRAPH_TYPE, + NODE_TYPE, + OP_DEF_TYPE, + TENSOR_TYPE, + DATA_TYPE, + ATTR_DEF_TYPE, + ATTR_VALUE_TYPE>(inputFrameworkOpName = inputFrameworkOpName, inputFrameworkName = frameworkName) + + val applied = opMappingProcess.applyProcess(mappingContext) + + when (df.opType()) { + Op.Type.CUSTOM -> { + val dynamicCustomOp = df as DynamicCustomOp + val grouped = applied.second.argDescriptorList.groupBy { descriptor -> + descriptor.argType + } + + val sortedMap = HashMap>() + grouped.forEach { (argType, list) -> + sortedMap[argType] = list.sortedBy { arg -> arg.argIndex } + } + + sortedMap.forEach { (argType, listOfArgsSortedByIndex) -> + when (argType) { + OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR -> { + val args = dynamicCustomOp.args() + val arraysToAdd = ArrayList() + listOfArgsSortedByIndex.forEachIndexed { index, argDescriptor -> + val convertedTensor = ndarrayFromNameSpaceTensor(argDescriptor.inputValue) + if (index < args.size) { + val arg = args[index] + if (arg.variableType != VariableType.ARRAY) { + if (arg.shape == null) { + val emptyLongArray = LongArray(0) + arg.setShape(*emptyLongArray) + } + + arraysToAdd.add(convertedTensor) + + } + } else { + sd.constant(sd.generateNewVarName(argDescriptor.name, 0), convertedTensor) + arraysToAdd.add(convertedTensor) + } + + } + + //note we don't add arrays one at a time because addInputArgument requires all the input arrays to be added at once + //dynamicCustomOp.addInputArgument(*arraysToAdd.toTypedArray()) + + + } + + + OpNamespace.ArgDescriptor.ArgType.INT64, OpNamespace.ArgDescriptor.ArgType.INT32 -> { + listOfArgsSortedByIndex.forEach { dynamicCustomOp.addIArgument(it.int64Value) } + } + + OpNamespace.ArgDescriptor.ArgType.DOUBLE, OpNamespace.ArgDescriptor.ArgType.FLOAT -> { + listOfArgsSortedByIndex.forEach { dynamicCustomOp.addTArgument(it.doubleValue) } + } + + OpNamespace.ArgDescriptor.ArgType.OUTPUT_TENSOR -> { + listOfArgsSortedByIndex.forEach { + val convertedTensor = ndarrayFromNameSpaceTensor(it.inputValue) + dynamicCustomOp.addOutputArgument(convertedTensor) + } + } + + OpNamespace.ArgDescriptor.ArgType.BOOL -> { + listOfArgsSortedByIndex.forEach { + dynamicCustomOp.addBArgument(it.boolValue) + } + } + + OpNamespace.ArgDescriptor.ArgType.DATA_TYPE -> { + listOfArgsSortedByIndex.forEach { + val dtype = convertNd4jDataTypeFromNameSpaceTensorDataType(it.dataTypeValue!!) + val dtypeJavaClass = Class.forName("org.nd4j.linalg.api.buffer.DataType") + dynamicCustomOp.addDArgument(dtype) + df.javaClass.declaredFields.forEach { field -> + if (!Modifier.isStatic(field.modifiers) && !Modifier.isFinal(field.modifiers) + && dtypeJavaClass.isAssignableFrom(field.type) + ) { + field.isAccessible = true + ReflectionUtils.setField(field, df, dtype) + } + } + } + } + else -> { + throw IllegalArgumentException("Illegal type") + } + + } + + //set any left over fields if they're found + setNameForFunctionFromDescriptors(listOfArgsSortedByIndex, df) + } + + + } + Op.Type.SCALAR -> { + applied.second.argDescriptorList.forEach { argDescriptor -> + val field = ReflectionUtils.findField(df.javaClass, argDescriptor.name) + if (field != null) { + field.isAccessible = true + when (argDescriptor.name) { + "x", "y", "z" -> { + val tensorName = opMappingProcess.tensorMappingRules().filter { mappingRule -> + mappingRule.mappingNamesToPerform() + .containsKey(argDescriptor.name) + } + .map { rule -> rule.mappingNamesToPerform()[argDescriptor.name] }.first()!! + val createdNDArray = mappingContext.tensorInputFor(tensorName).toNd4jNDArray() + ReflectionUtils.setField(field, df, createdNDArray) + } + else -> { + } + } + + } else { + if (argDescriptor.argType in listOf( + OpNamespace.ArgDescriptor.ArgType.INT64, + OpNamespace.ArgDescriptor.ArgType.DOUBLE, OpNamespace.ArgDescriptor.ArgType.INT32, + OpNamespace.ArgDescriptor.ArgType.FLOAT + ) + ) { + val scalarField = ReflectionUtils.findField(df.javaClass, "scalarValue") + scalarField.isAccessible = true + //access the first input (should have been set) and make sure the scalar type is the + //the same + val firstValue = sd.variables().first() + val dtype = firstValue.dataType() + when (argDescriptor.argType) { + OpNamespace.ArgDescriptor.ArgType.DOUBLE -> { + val nd4jScalarValue = Nd4j.scalar(argDescriptor.doubleValue).castTo(dtype) + ReflectionUtils.setField(scalarField, df, nd4jScalarValue) + + } + OpNamespace.ArgDescriptor.ArgType.FLOAT -> { + val nd4jScalarValue = Nd4j.scalar(argDescriptor.floatValue).castTo(dtype) + ReflectionUtils.setField(scalarField, df, nd4jScalarValue) + + } + OpNamespace.ArgDescriptor.ArgType.INT32 -> { + val nd4jScalarValue = Nd4j.scalar(argDescriptor.int32Value).castTo(dtype) + ReflectionUtils.setField(scalarField, df, nd4jScalarValue) + + } + OpNamespace.ArgDescriptor.ArgType.INT64 -> { + val nd4jScalarValue = Nd4j.scalar(argDescriptor.int64Value).castTo(dtype) + ReflectionUtils.setField(scalarField, df, nd4jScalarValue) + + } + } + } + } + } + } + else -> { + var hasDimensions = false + applied.second.argDescriptorList.forEach { argDescriptor -> + if (argDescriptor.name == "dimensions") + hasDimensions = true + val field = ReflectionUtils.findField(df.javaClass, argDescriptor.name) + if (field != null) { + field.isAccessible = true + when (argDescriptor.name) { + "x", "y", "z" -> { + val tensorName = opMappingProcess.tensorMappingRules().filter { mappingRule -> + mappingRule.mappingNamesToPerform() + .containsKey(argDescriptor.name) + } + .map { rule -> rule.mappingNamesToPerform()[argDescriptor.name] }.first()!! + val createdNDArray = mappingContext.tensorInputFor(tensorName).toNd4jNDArray() + ReflectionUtils.setField(field, df, createdNDArray) + } + "keepDims" -> ReflectionUtils.setField(field, df, argDescriptor.boolValue) + else -> { + } + } + } + } + + if (hasDimensions) { + //dimensions sorted by index + val dimArgs = + applied.second.argDescriptorList.filter { argDescriptor -> argDescriptor.name.contains("dimensions") } + .sortedBy { argDescriptor -> argDescriptor.argIndex } + .map { argDescriptor -> argDescriptor.int64Value.toInt() }.toIntArray() + val dimensionsField = ReflectionUtils.findField(df.javaClass, "dimensions") + val dimensionzField = ReflectionUtils.findField(df.javaClass, "dimensionz") + if (dimensionsField != null) { + dimensionsField.isAccessible = true + if (intArrayOf(0).javaClass.isAssignableFrom(dimensionsField.type)) { + ReflectionUtils.setField(dimensionsField, df, dimArgs) + } + } + + if (dimensionzField != null) { + dimensionzField.isAccessible = true + if (INDArray::class.java.isAssignableFrom(dimensionzField.type)) { + val buffer = Nd4j.createBuffer(dimArgs) + val createdArr = Nd4j.create(buffer) + ReflectionUtils.setField(dimensionzField, df, createdArr) + } + } + + } + + } + } + } +} + + +fun descriptorsForName( + name: String, + argDescriptors: Collection): List { + return argDescriptors.filter { argDescriptor -> argDescriptor.name == name }!! +} + +fun setNameForFunctionFromDescriptors(argDescriptors: Collection,func: DifferentialFunction) { + func.javaClass.declaredFields.forEach { field -> + if(hasArgDescriptorWithNameAndType(argDescriptors,field.name)) { + val descriptors = descriptorsForName(field.name,argDescriptors) + descriptors.forEach { descriptor -> + when(descriptor.argType) { + OpNamespace.ArgDescriptor.ArgType.BOOL -> { + if(Boolean.javaClass.isAssignableFrom(field.type) || Boolean::class.javaPrimitiveType!!.isAssignableFrom(field.type)) { + field.isAccessible = true + ReflectionUtils.setField(field,func,descriptor.boolValue) + } + } + OpNamespace.ArgDescriptor.ArgType.INT64, OpNamespace.ArgDescriptor.ArgType.INT32 -> { + if(Int.javaClass.isAssignableFrom(field.type) || Int::class.javaPrimitiveType!!.isAssignableFrom(field.type)) { + field.isAccessible = true + ReflectionUtils.setField(field,func,descriptor.int64Value.toInt()) + } + + if(Long.javaClass.isAssignableFrom(field.type) || Long::class.javaPrimitiveType!!.isAssignableFrom(field.type)) { + field.isAccessible = true + ReflectionUtils.setField(field,func,descriptor.int64Value) + } + + if(DataType::javaClass.javaClass.isAssignableFrom(field.type)) { + field.isAccessible = true + ReflectionUtils.setField(field,func, DataType.fromInt(descriptor.int64Value.toInt())) + } + + } + OpNamespace.ArgDescriptor.ArgType.FLOAT, OpNamespace.ArgDescriptor.ArgType.DOUBLE -> { + if(Float.javaClass.isAssignableFrom(field.type) || Float::class.javaPrimitiveType!!.isAssignableFrom(field.type)) { + field.isAccessible = true + ReflectionUtils.setField(field,func,descriptor.doubleValue.toFloat()) + } + + if(Double.javaClass.isAssignableFrom(field.type) || Double::class.javaPrimitiveType!!.isAssignableFrom(field.type)) { + field.isAccessible = true + ReflectionUtils.setField(field,func,descriptor.doubleValue) + } + } + + OpNamespace.ArgDescriptor.ArgType.DATA_TYPE -> { + if(DataType::javaClass.javaClass.isAssignableFrom(field.type)) { + field.isAccessible = true + ReflectionUtils.setField(field,func, convertNd4jDataTypeFromNameSpaceTensorDataType(descriptor.dataTypeValue)) + } + } + + } + + } + + } + } + +} +fun hasArgDescriptorWithNameAndType(argDescriptors: Collection, name: String): Boolean { + return argDescriptors.map { input -> input.name}.contains(name) +} + diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/IRMappingFunctions.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/IRMappingFunctions.kt new file mode 100644 index 000000000..6f924a7f2 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/IRMappingFunctions.kt @@ -0,0 +1,2025 @@ +package org.nd4j.codegen.ir + +import org.nd4j.ir.MapperNamespace +import org.nd4j.ir.OpNamespace.* +import org.nd4j.ir.TensorNamespace +import org.nd4j.linalg.api.buffer.DataType +import org.nd4j.linalg.factory.Nd4j +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum +import kotlin.collections.ArrayList + +abstract class BaseAttributeExtractionRule< + GRAPH_DEF: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE>( + name: String, + mappingNamesToPerform: Map, + transformerArgs: Map>): + AttributeMappingRule + where DATA_TYPE: ProtocolMessageEnum { + + protected var opDescriptor: OpDescriptor? = null + protected val mappingNamesToPerform = mappingNamesToPerform + protected var frameworkName: String? = null + protected var inputFrameworkOpName: String? = null + protected val transformerArgs = transformerArgs + protected val name = name + protected var inputOpDefTypes: Map? = null + + + override fun initWithMappingProcess(mappingProcess: MappingProcess) { + this.opDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + this.frameworkName = mappingProcess.inputFramework() + this.inputFrameworkOpName = mappingProcess.inputFrameworkOpName() + this.inputOpDefTypes = mappingProcess.inputOpDefValueTypes() + } + + override fun mappingNamesToPerform(): Map { + return mappingNamesToPerform + } + + override fun name(): String { + return name + } + + override fun mappingTransformerArgs(): Map> { + return transformerArgs + } + + + abstract fun createIRAttribute(name: String, attrDef: ATTR_DEF, attributeValueType: ATTR_VALUE_TYPE): IRAttribute + + + override fun serialize(): MapperNamespace.MappingRule { + val builder = MapperNamespace.MappingRule.newBuilder() + builder.ruleName = name() + builder.functionName = name() + builder.ruleType = "attribute" + val descriptorList = opDescriptor!!.argDescriptorList + println("Serializing op ${opDescriptor!!.name}") + for ((k, v) in transformerArgs) { + v.forEach { descriptor -> + when (descriptor.argType) { + ArgDescriptor.ArgType.STRING -> builder.addInputStringAttrName(descriptor.name) + ArgDescriptor.ArgType.BOOL -> builder.addInputBooleanName(descriptor.name) + ArgDescriptor.ArgType.DOUBLE, ArgDescriptor.ArgType.FLOAT -> builder.addInputFloatName(descriptor.name) + ArgDescriptor.ArgType.INT32, ArgDescriptor.ArgType.INT64 -> builder.addInputIntName(descriptor.name) + ArgDescriptor.ArgType.INPUT_TENSOR -> builder.addInputTensorName(descriptor.name) + } + } + + } + + /** + * TODO: metadata (perhaps looking up from each framework for each attribute) + * what each named type is. + */ + mappingNamesToPerform.forEach { outputName, inputName -> + val descriptorForName = opDescriptor!!.argDescriptorList.first { descriptor -> descriptor.name == outputName } + builder.putInputToOutput(outputName,inputName) + when(descriptorForName.argType) { + ArgDescriptor.ArgType.BOOL -> { builder.addOutputBooleanName(outputName)} + ArgDescriptor.ArgType.INT64 -> {builder.addOutputIntName(outputName)} + ArgDescriptor.ArgType.DOUBLE -> {builder.addOutputDoubleName(outputName)} + ArgDescriptor.ArgType.DATA_TYPE -> builder.addOutputDataTypeName(outputName) + ArgDescriptor.ArgType.OUTPUT_TENSOR -> builder.addOutputTensorName(outputName) + ArgDescriptor.ArgType.STRING -> builder.addOutputStringAttrName(outputName) + } + + //not all associated outputs will have inputs + if(inputOpDefTypes!!.containsKey(inputName)) { + when(inputOpDefTypes!![inputName]!!) { + AttributeValueType.FLOAT -> builder.addInputFloatName(inputName) + AttributeValueType.INT -> builder.addInputIntName(inputName) + AttributeValueType.BOOL -> builder.addInputBooleanName(inputName) + AttributeValueType.STRING -> builder.addInputStringAttrName(inputName) + AttributeValueType.DATA_TYPE -> builder.addInputDataTypeName(inputName) + AttributeValueType.TENSOR -> builder.addInputTensorName(inputName) + } + + } + + + + } + + + return builder.build() + } + + override fun argDescriptorTypesForOutputName( + name: String, mappingProcess: + MappingProcess): List { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + val names = nd4jOpDescriptor.argDescriptorList.map { input -> input.name } + if(!names.contains(name)) { + throw java.lang.IllegalArgumentException("Unable to find name $name for op $nd4jOpDescriptor.name") + } + + return nd4jOpDescriptor.argDescriptorList.filter { argDescriptor -> argDescriptor.name == name }.map { argDescriptor -> argDescriptor.argType} + } +} + +abstract class StringEqualsAdapterRule< + GRAPH_DEF :GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3,ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE>( + mappingNamesToPerform: Map = emptyMap(), + transformerArgs: Map> = emptyMap()): + BaseAttributeExtractionRule + (name = "stringequals", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs) + where DATA_TYPE: ProtocolMessageEnum { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.STRING + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(ArgDescriptor.ArgType.BOOL) || argDescriptorType.contains(ArgDescriptor.ArgType.INT64) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + + for((k, v) in mappingNamesToPerform()) { + val descriptorForName = transformerArgs[k] + val argDescriptorTypeList = mappingCtx.argDescriptorTypeForName(k) + + val compString = descriptorForName!![0].stringValue + val testValue = mappingCtx.irAttributeValueForNode(v).stringValue() + argDescriptorTypeList.forEach { argDescriptorType -> + val descriptorBuilder = ArgDescriptor.newBuilder() + descriptorBuilder.name = v + descriptorBuilder.argType = argDescriptorType + descriptorBuilder.argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = argDescriptorType + ) + + when(argDescriptorType) { + ArgDescriptor.ArgType.BOOL -> { + descriptorBuilder.boolValue = testValue == compString + } + + ArgDescriptor.ArgType.INT64 -> { + descriptorBuilder.int64Value = if (testValue == compString) 1 else 0 + + } + } + + ret.add(descriptorBuilder.build()) + } + + + } + return ret + } +} + + +abstract class StringContainsAdapterRule< + GRAPH_DEF: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3,ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE>( + mappingNamesToPerform: Map = emptyMap(), + transformerArgs: Map> = emptyMap()): + BaseAttributeExtractionRule + (name = "stringcontains", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs) + where DATA_TYPE: ProtocolMessageEnum { + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.STRING + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(ArgDescriptor.ArgType.BOOL) || argDescriptorType.contains(ArgDescriptor.ArgType.INT64) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + + for((k, v) in mappingNamesToPerform()) { + val argDescriptorTypeList = mappingCtx.argDescriptorTypeForName(k) + val descriptorForName = transformerArgs[k] + val compString = descriptorForName!![0].stringValue + val testValue = mappingCtx.irAttributeValueForNode(v).stringValue() + argDescriptorTypeList.forEach { argDescriptorType -> + val descriptorBuilder = ArgDescriptor.newBuilder() + descriptorBuilder.name = k + descriptorBuilder.argType = argDescriptorType + descriptorBuilder.argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = argDescriptorType + ) + + when(argDescriptorType) { + ArgDescriptor.ArgType.BOOL -> { + descriptorBuilder.boolValue = compString.contains(testValue) + } + + ArgDescriptor.ArgType.INT64 -> { + descriptorBuilder.int64Value = if (compString.contains(testValue)) 1 else 0 + + } + + } + ret.add(descriptorBuilder.build()) + } + + + } + return ret + } +} + +abstract class StringNotEqualsAdapterRule< + GRAPH_DEF: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3,ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE>( + mappingNamesToPerform: Map = emptyMap(), + transformerArgs: Map> = emptyMap()): + BaseAttributeExtractionRule + (name = "stringnotequalsadapterrule", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs) + where DATA_TYPE: ProtocolMessageEnum { + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for((k, v) in mappingNamesToPerform()) { + val descriptorForName = transformerArgs[k] + val compString = descriptorForName!![0].stringValue + val testValue = mappingCtx.irAttributeValueForNode(v).stringValue() + val argDescriptorTypeList = mappingCtx.argDescriptorTypeForName(k) + argDescriptorTypeList.forEach { argDescriptorType -> + when(argDescriptorType) { + ArgDescriptor.ArgType.INT64 -> { + ret.add(ArgDescriptor { + name = k + argType = argDescriptorType + int64Value = if(testValue != compString) 1 else 0 + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.INT64 + ) + + }) + } + + ArgDescriptor.ArgType.BOOL -> { + ret.add(ArgDescriptor { + name = k + argType = argDescriptorType + boolValue = testValue != compString + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.BOOL + ) + + }) + } + } + } + + + } + return ret + } + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.STRING + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(ArgDescriptor.ArgType.BOOL) || + argDescriptorType.contains(ArgDescriptor.ArgType.INT64) + } +} + +abstract class SizeThresholdIntArrayIntIndexRule< + GRAPH_DEF: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE>(mappingNamesToPerform: Map, + transformerArgs: Map>): + BaseAttributeExtractionRule + (name = "sizethresholdarrayint", mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) where DATA_TYPE: ProtocolMessageEnum { + + + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + + for((k, v) in mappingNamesToPerform()) { + val descriptorForName = transformerArgs[k] + val inputArr = mappingCtx.irAttributeValueForNode(v).listIntValue() + val index = descriptorForName!![0].int32Value + val sizeThreshold = descriptorForName!![1].int64Value + val fallbackIndex = descriptorForName!![2].stringValue + val descriptorBuilder = ArgDescriptor.newBuilder() + descriptorBuilder.name = v + descriptorBuilder.argType = ArgDescriptor.ArgType.INT64 + if(inputArr.size < sizeThreshold) { + descriptorBuilder.int64Value = inputArr[fallbackIndex.toInt()] + } else { + descriptorBuilder.int64Value = inputArr[index] + } + + descriptorBuilder.argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.INT64 + ) + + + ret.add(descriptorBuilder.build()) + + } + return ret + } + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.INT || + argDescriptorType == AttributeValueType.STRING + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(ArgDescriptor.ArgType.INT64) + } +} + +abstract class ConditionalFieldValueIntIndexArrayRule< + GRAPH_DEF: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE>(mappingNamesToPerform: Map, + transformerArgs: Map>): + BaseAttributeExtractionRule + (name = "conditionalfieldvalueintindex", mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) + where DATA_TYPE: ProtocolMessageEnum { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.STRING || argDescriptorType ==AttributeValueType.INT + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(ArgDescriptor.ArgType.INT64) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + + for((k, v) in mappingNamesToPerform()) { + val listOfArgs = transformerArgs[k] + val inputArr = mappingCtx.irAttributeValueForNode(listOfArgs!![3].stringValue).listIntValue() + val trueIndex = listOfArgs!![1].int32Value + val falseIndex = listOfArgs!![2].int32Value + val targetValueToTest = listOfArgs!![0].stringValue + val testValue = mappingCtx.irAttributeValueForNode(v).stringValue() + val intValueToSet = if (testValue == targetValueToTest) inputArr[trueIndex] else inputArr[falseIndex] + ret.add(ArgDescriptor { + name = v + int64Value = intValueToSet + argType = ArgDescriptor.ArgType.INT64 + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.INT64 + ) + }) + + } + return ret + } +} + + +abstract class ConditionalFieldValueIntIndexNDArrayRule< + GRAPH_DEF: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE>(mappingNamesToPerform: Map, + transformerArgs: Map>): + BaseAttributeExtractionRule + (name = "conditionalfieldvalueintindexndarray", mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) + where DATA_TYPE: ProtocolMessageEnum { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.TENSOR || argDescriptorType == AttributeValueType.STRING + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(ArgDescriptor.ArgType.INT64) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for((k, v) in mappingNamesToPerform()) { + val listOfArgs = transformerArgs[k] + val inputArr = mappingCtx.tensorInputFor(listOfArgs!![3].stringValue).toNd4jNDArray().ravel() + val trueIndex = listOfArgs!![1].int32Value + val falseIndex = listOfArgs!![2].int32Value + val targetValueToTest = listOfArgs!![0].stringValue + val testValue = mappingCtx.irAttributeValueForNode(v).stringValue() + val intValueToSet = if (testValue == targetValueToTest) inputArr.getInt(trueIndex) else inputArr.getInt(falseIndex) + ret.add(ArgDescriptor { + name = v + int64Value = intValueToSet.toLong() + argType = ArgDescriptor.ArgType.INT64 + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.INT64 + ) + }) + + } + return ret + } +} + + +/** + * Need to implement tensor size extraction value at index + */ + + +abstract class NDArraySizeAtRule< + GRAPH_DEF: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE>(mappingNamesToPerform: Map, + transformerArgs: Map>): + BaseAttributeExtractionRule + (name = "ndarraysizeat", mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) + where DATA_TYPE: ProtocolMessageEnum { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.TENSOR + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(ArgDescriptor.ArgType.INT64) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + mappingNamesToPerform().forEach { (k, v) -> + val transformArgsForAttribute = transformerArgs[k] + //note that this finds a value for a named tensor within either the graph or the node + //some frameworks may have a value node with a value attribute + //others may have the actual tensor value + val inputArr = mappingCtx.tensorInputFor(v) + val sizeIndex = transformArgsForAttribute!![0].int32Value + val sizeAt = inputArr.shape()[sizeIndex] + val argDescriptor = ArgDescriptor { + name = v + argType = ArgDescriptor.ArgType.INT64 + int64Value = sizeAt + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.INT64 + ) + } + ret.add(argDescriptor) + } + + return ret + } +} + + +abstract class NDArrayExtractScalarValue< + GRAPH_DEF: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE>(mappingNamesToPerform: Map, + transformerArgs: Map>): + BaseAttributeExtractionRule + (name = "ndarrayextractscalarvalue", mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) + where DATA_TYPE: ProtocolMessageEnum { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.TENSOR + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(ArgDescriptor.ArgType.INPUT_TENSOR) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + mappingNamesToPerform().forEach { (k, v) -> + val indexValueToAbstract = transformerArgs[k]!![0].int64Value + val ndarrayInput = mappingCtx.tensorInputFor(v).toNd4jNDArray() + val argDescriptor = ArgDescriptor { + name = k + argType = ArgDescriptor.ArgType.INPUT_TENSOR + inputValue = nameSpaceTensorFromNDarray(Nd4j.scalar(ndarrayInput.getDouble(indexValueToAbstract))) + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.INPUT_TENSOR + ) + } + ret.add(argDescriptor) + } + + return ret + } +} + + +/** + * Need to implement tensor size extraction value at index + */ + + +abstract class ValueMapping< + GRAPH_DEF: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE: ProtocolMessageEnum>(mappingNamesToPerform: Map, + transformerArgs: Map>): + BaseAttributeExtractionRule + (name = "valuemapping", mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) { + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType != AttributeValueType.TENSOR + } + + override fun outputsType(argDescriptorType: List): Boolean { + return !argDescriptorType.containsAll(listOf(ArgDescriptor.ArgType.INPUT_TENSOR, + ArgDescriptor.ArgType.OUTPUT_TENSOR,ArgDescriptor.ArgType.DATA_TYPE)) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for((k, v) in mappingNamesToPerform()) { + val descriptorBuilder = ArgDescriptor.newBuilder() + descriptorBuilder.name = k + val op = nd4jOpDescriptors.findOp(mappingCtx.nd4jOpName()) + val irAttribute = mappingCtx.irAttributeValueForNode(v) + when(irAttribute.attributeValueType()) { + AttributeValueType.INT -> { + descriptorBuilder.argType = ArgDescriptor.ArgType.INT64 + descriptorBuilder.int64Value = irAttribute.intValue() + descriptorBuilder.argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.INT64 + ) + + } + + AttributeValueType.FLOAT -> { + descriptorBuilder.argType = ArgDescriptor.ArgType.DOUBLE + //DO NOT REMOVE work around for numerical underflow that happens at the JVM level, this does a safe cast allowing us to get the real value out + val realValue = Nd4j.scalar(irAttribute.floatValue()).castTo(DataType.DOUBLE) + descriptorBuilder.doubleValue = realValue.getDouble(0) + descriptorBuilder.argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.DOUBLE + ) + + } + + AttributeValueType.BOOL -> { + descriptorBuilder.argType = ArgDescriptor.ArgType.BOOL + descriptorBuilder.boolValue = irAttribute.boolValue() + descriptorBuilder.argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.BOOL + ) + } + + AttributeValueType.STRING -> { + descriptorBuilder.argType = ArgDescriptor.ArgType.STRING + descriptorBuilder.stringValue = irAttribute.stringValue() + descriptorBuilder.argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.STRING + ) + } + + AttributeValueType.DATA_TYPE -> { + descriptorBuilder.argType = ArgDescriptor.ArgType.DATA_TYPE + descriptorBuilder.dataTypeValue = irAttribute.dataTataTypeValue().nameSpaceDataType() + descriptorBuilder.argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.DATA_TYPE + ) + } + + else -> { + throw IllegalArgumentException("Unable to map value $k. Please use different rule for list values and tensors.") + } + } + + + ret.add(descriptorBuilder.build()) + + } + return ret + } +} + + +abstract class NumberToBoolean< + GRAPH_DEF: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE: ProtocolMessageEnum>(mappingNamesToPerform: Map, + transformerArgs: Map>): + BaseAttributeExtractionRule + (name = "booleantonumber", mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.INT || argDescriptorType == AttributeValueType.FLOAT + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(ArgDescriptor.ArgType.BOOL) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + + for ((k, v) in mappingNamesToPerform()) { + val descriptorBuilder = ArgDescriptor.newBuilder() + descriptorBuilder.name = k + val irAttribute = mappingCtx.irAttributeValueForNode(v) + val targetIdx = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.BOOL + ) + + if(targetIdx < 0) { + throw java.lang.IllegalArgumentException("Output attribute $k not found with boolean type for op name ${mappingCtx.nd4jOpName()} and input op name ${mappingCtx.opName()}") + } + + + descriptorBuilder.argIndex = targetIdx + descriptorBuilder.argType = ArgDescriptor.ArgType.BOOL + + + when(irAttribute.attributeValueType()) { + AttributeValueType.FLOAT -> { + descriptorBuilder.boolValue = irAttribute.floatValue() > 0 + } + AttributeValueType.INT -> { + descriptorBuilder.boolValue = irAttribute.intValue() > 0 + } + } + + ret.add(descriptorBuilder.build()) + } + return ret + } +} + + +/** + * Change a boolean to an int + * or an int or double to a boolean + */ +abstract class InvertBooleanNumber< + GRAPH_DEF: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE: ProtocolMessageEnum>(mappingNamesToPerform: Map, + transformerArgs: Map>): + BaseAttributeExtractionRule + (name = "invertbooleannumber", mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.INT || argDescriptorType == AttributeValueType.BOOL + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(ArgDescriptor.ArgType.INT64) || + argDescriptorType.contains(ArgDescriptor.ArgType.DOUBLE) || + argDescriptorType.contains(ArgDescriptor.ArgType.BOOL) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + + for ((k, v) in mappingNamesToPerform()) { + val descriptorBuilder = ArgDescriptor.newBuilder() + descriptorBuilder.name = k + val irAttribute = mappingCtx.irAttributeValueForNode(v) + when(irAttribute.attributeValueType()) { + AttributeValueType.INT -> { + val targetIdx = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.BOOL + ) + + descriptorBuilder.argType = ArgDescriptor.ArgType.BOOL + descriptorBuilder.boolValue = irAttribute.intValue() > 0 + descriptorBuilder.argIndex = targetIdx + ret.add(descriptorBuilder.build()) + + } + AttributeValueType.FLOAT -> { + val targetIdx = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.BOOL + ) + + descriptorBuilder.argType = ArgDescriptor.ArgType.BOOL + descriptorBuilder.boolValue = irAttribute.floatValue() > 0 + descriptorBuilder.argIndex = targetIdx + ret.add(descriptorBuilder.build()) + + } + else -> { + listOf(ArgDescriptor.ArgType.INT64, ArgDescriptor.ArgType.DOUBLE) + .forEach { argDescriptorType -> + val targetIdx = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = argDescriptorType + ) + + if (targetIdx >= 0) { + when (argDescriptorType) { + ArgDescriptor.ArgType.DOUBLE -> { + descriptorBuilder.argType = argDescriptorType + descriptorBuilder.doubleValue = if (irAttribute.boolValue()) 1.0 else 0.0 + descriptorBuilder.argIndex = targetIdx + } + ArgDescriptor.ArgType.INT64 -> { + descriptorBuilder.argType = argDescriptorType + descriptorBuilder.int64Value = if (irAttribute.boolValue()) 1 else 0 + descriptorBuilder.argIndex = targetIdx + } + + else -> { + throw IllegalArgumentException("Illegal type passed in $argDescriptorType") + } + } + + ret.add(descriptorBuilder.build()) + + } + + + } + } + } + + + + } + return ret + } +} + + +abstract class StringToInt< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map> +) : + BaseAttributeExtractionRule + (name = "stringtoindex", mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.STRING + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(ArgDescriptor.ArgType.INT64) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + + for ((k, v) in mappingNamesToPerform()) { + val listOfValues = (transformerArgs[k] ?: error("Unable to map value $v to a type string for op name ${mappingCtx.nd4jOpName()} and input op name ${mappingCtx.opName()}")).map { argDescriptor -> argDescriptor.stringValue } + val stringValIndex = mappingCtx.irAttributeValueForNode(v).stringValue() + val argDescriptor = ArgDescriptor { + name = k + argType = ArgDescriptor.ArgType.INT64 + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.INT64 + ) + int64Value = listOfValues.indexOf(stringValIndex).toLong() + } + + ret.add(argDescriptor) + + } + + return ret + } +} + + + + +abstract class MapStringToInt< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map> +) : + BaseAttributeExtractionRule + (name = "mapstringtoindex", mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.LIST_STRING + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(ArgDescriptor.ArgType.INT64) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + val indexOfValue = transformerArgs["index"]!![0].int64Value + for ((k, v) in mappingNamesToPerform()) { + + val stringVal = mappingCtx.irAttributeValueForNode(v).listStringValue()[indexOfValue.toInt()] + val activationInt = (transformerArgs[k] ?: error("Unable to map value $v to a type string for op name ${mappingCtx.nd4jOpName()} and input op name ${mappingCtx.opName()}")) + .filter {argDescriptor -> argDescriptor.name == stringVal } + .map { argDescriptor -> argDescriptor.int64Value }.first() + val argDescriptor = ArgDescriptor { + name = k + argType = ArgDescriptor.ArgType.INT64 + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.INT64 + ) + int64Value = activationInt + } + + ret.add(argDescriptor) + + } + + return ret + } +} + + +abstract class ListAttributeValueLookupToIndex< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map> +) : + BaseAttributeExtractionRule + ( + name = "listattributevaluelookuptoindex", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs + ) { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.LIST_FLOAT || + argDescriptorType == AttributeValueType.LIST_INT || + argDescriptorType == AttributeValueType.LIST_STRING || + argDescriptorType == AttributeValueType.LIST_TENSOR || + argDescriptorType == AttributeValueType.LIST_BOOL || + argDescriptorType == AttributeValueType.INT + } + + override fun outputsType(argDescriptorType: List): Boolean { + return !argDescriptorType.contains(ArgDescriptor.ArgType.OUTPUT_TENSOR) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for ((k, v) in mappingNamesToPerform()) { + val index = (transformerArgs[k] ?: error(""))[0]!!.int64Value + val listOfValues = mappingCtx.irAttributeValueForNode(v) + when (listOfValues.attributeValueType()) { + AttributeValueType.LIST_FLOAT -> { + val listFloat = listOfValues.listFloatValue() + val argDescriptor = ArgDescriptor { + name = k + doubleValue = listFloat[index.toInt()].toDouble() + argType = ArgDescriptor.ArgType.DOUBLE + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.DOUBLE + ) + } + + ret.add(argDescriptor) + } + AttributeValueType.LIST_INT -> { + val listInt = listOfValues.listIntValue() + val argDescriptor = ArgDescriptor { + name = k + int64Value = listInt[index.toInt()] + argType = ArgDescriptor.ArgType.INT64 + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.INT64 + ) + } + + ret.add(argDescriptor) + } + + AttributeValueType.LIST_STRING -> { + val listString = listOfValues.listStringValue() + val argDescriptor = ArgDescriptor { + name = k + stringValue = listString[index.toInt()] + argType = ArgDescriptor.ArgType.STRING + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.STRING + ) + } + + ret.add(argDescriptor) + } + + AttributeValueType.LIST_TENSOR -> { + val listTensor = listOfValues.listTensorValue() + val argDescriptor = ArgDescriptor { + name = k + inputValue = listTensor[index.toInt()].toArgTensor() + argType = ArgDescriptor.ArgType.INPUT_TENSOR + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.INPUT_TENSOR + ) + } + + ret.add(argDescriptor) + } + + AttributeValueType.LIST_BOOL -> { + val listBool = listOfValues.listBoolValue() + val argDescriptor = ArgDescriptor { + name = k + boolValue = listBool[index.toInt()] + argType = ArgDescriptor.ArgType.BOOL + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.BOOL + ) + } + + ret.add(argDescriptor) + } + + } + + + } + + return ret + } +} + + +abstract class StringAttributeToNDArray< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map> +) : + BaseAttributeExtractionRule + ( + name = "convertinputstringtondarray", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs + ) { + + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.STRING + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(ArgDescriptor.ArgType.INPUT_TENSOR) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for ((k, v) in mappingNamesToPerform()) { + val irAttribute = mappingCtx.irAttributeValueForNode(v) + when (irAttribute.attributeValueType()) { + AttributeValueType.STRING -> { + val listArr = irAttribute.stringValue() + val ndarray = Nd4j.create(listArr) + ret.add(ArgDescriptor { + argType = ArgDescriptor.ArgType.INPUT_TENSOR + name = k + inputValue = nameSpaceTensorFromNDarray(ndarray) + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.INPUT_TENSOR + ) + }) + } + } + + } + + return ret + } +} + + + + +abstract class AttributeNumberListNDArray< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map> +) : + BaseAttributeExtractionRule + ( + name = "convertinputnumberlisttondarray", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs + ) { + + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.LIST_FLOAT || + argDescriptorType == AttributeValueType.LIST_INT + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(ArgDescriptor.ArgType.INPUT_TENSOR) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for ((k, v) in mappingNamesToPerform()) { + val irAttribute = mappingCtx.irAttributeValueForNode(v) + when (irAttribute.attributeValueType()) { + AttributeValueType.LIST_FLOAT -> { + val listArr = irAttribute.listFloatValue().toFloatArray() + val ndarray = Nd4j.create(listArr) + ret.add(ArgDescriptor { + argType = ArgDescriptor.ArgType.INPUT_TENSOR + name = k + inputValue = nameSpaceTensorFromNDarray(ndarray) + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.DOUBLE + ) + }) + } + + AttributeValueType.LIST_INT -> { + val intArr = irAttribute.listIntValue().toLongArray() + val strides = Nd4j.getStrides(1, 4).toList().map { it.toLong() }.toLongArray() + val ndarray = + Nd4j.create(intArr, longArrayOf(1, intArr.size.toLong()), strides, 'c', DataType.INT64) + ret.add(ArgDescriptor { + argType = ArgDescriptor.ArgType.INPUT_TENSOR + name = k + inputValue = nameSpaceTensorFromNDarray(ndarray) + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.INT64 + ) + }) + } + + } + + } + + return ret + } +} + +abstract class ListNumberToListNumber< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map> +) : + BaseAttributeExtractionRule + ( + name = "listnumbertolistnumber", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs + ) { + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.INT || + argDescriptorType == AttributeValueType.FLOAT || + argDescriptorType == AttributeValueType.LIST_INT || + argDescriptorType == AttributeValueType.LIST_FLOAT + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(ArgDescriptor.ArgType.INT64) || + argDescriptorType.contains(ArgDescriptor.ArgType.DOUBLE) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for ((k, v) in mappingNamesToPerform()) { + + val irAttribute = mappingCtx.irAttributeValueForNode(v) + when (irAttribute.attributeValueType()) { + AttributeValueType.LIST_INT -> { + val baseIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.INT64 + ) + val listInts = irAttribute.listIntValue() + listInts.forEachIndexed { index, element -> + val finalName = if (index > 0) k + "$index" else k + val argDescriptor = ArgDescriptor { + name = finalName + int64Value = element + argType = ArgDescriptor.ArgType.INT64 + argIndex = baseIndex + index + } + + ret.add(argDescriptor) + } + } + AttributeValueType.LIST_FLOAT -> { + val baseIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.DOUBLE + ) + val listFloats = irAttribute.listFloatValue() + listFloats.forEachIndexed { index, element -> + val finalName = if (index > 0) k + "$index" else k + val argDescriptor = ArgDescriptor { + name = finalName + doubleValue = element.toDouble() + argType = ArgDescriptor.ArgType.DOUBLE + argIndex = baseIndex + index + } + + ret.add(argDescriptor) + } + } + } + } + + return ret + } +} + + +abstract class ListNumberToNDArray< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map> +) : + BaseAttributeExtractionRule + ( + name = "listnumbertondarray", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs + ) { + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.INT || + argDescriptorType == AttributeValueType.FLOAT || + argDescriptorType == AttributeValueType.LIST_INT || + argDescriptorType == AttributeValueType.LIST_FLOAT + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(ArgDescriptor.ArgType.INPUT_TENSOR) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for ((k, v) in mappingNamesToPerform()) { + val listOfValues = mappingCtx.irAttributeValueForNode(v) + val baseIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.INPUT_TENSOR + ) + + when (listOfValues.attributeValueType()) { + AttributeValueType.LIST_FLOAT -> { + val nd4jArray = Nd4j.create(listOfValues.listFloatValue().toFloatArray()) + val inputTensor = nameSpaceTensorFromNDarray(nd4jArray) + ret.add(ArgDescriptor { + name = k + inputValue = inputTensor + argType = ArgDescriptor.ArgType.INPUT_TENSOR + argIndex = baseIndex + }) + } + + AttributeValueType.LIST_INT -> { + val nd4jArray = Nd4j.create(Nd4j.createBuffer(listOfValues.listIntValue().toLongArray())) + val inputTensor = nameSpaceTensorFromNDarray(nd4jArray) + ret.add(ArgDescriptor { + name = k + inputValue = inputTensor + argType = ArgDescriptor.ArgType.INPUT_TENSOR + argIndex = baseIndex + }) + } + + } + + } + + return ret + } +} + + +abstract class NDArrayAttributeToNDArrayInput< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map> +) : + BaseAttributeExtractionRule + ( + name = "ndarrayinputtondarray", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs + ) { + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.TENSOR + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(ArgDescriptor.ArgType.INPUT_TENSOR) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for ((k, v) in mappingNamesToPerform()) { + val baseIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.INPUT_TENSOR + ) + val attr = mappingCtx.irAttributeValueForNode(v).tensorValue() + ret.add(ArgDescriptor { + name = k + inputValue = attr.toArgTensor() + argType = ArgDescriptor.ArgType.INPUT_TENSOR + argIndex = baseIndex + }) + + } + + + return ret + } +} + + + + + +abstract class NDArrayInputToNumericalAttribute< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map> +) : + BaseAttributeExtractionRule + ( + name = "ndarrayinputtonumericalattribute", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs + ) { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.TENSOR + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(ArgDescriptor.ArgType.DOUBLE) + || argDescriptorType.contains(ArgDescriptor.ArgType.INT64) || + argDescriptorType.contains(ArgDescriptor.ArgType.FLOAT) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + val realDescriptor = nd4jOpDescriptors.findOp(mappingCtx.nd4jOpName()) + + for ((k, v) in mappingNamesToPerform()) { + val inputTensor = mappingCtx.tensorInputFor(v).toNd4jNDArray() + realDescriptor.argDescriptorList.filter { argDescriptor -> argDescriptor.name == k && + argDescriptor.argType == ArgDescriptor.ArgType.INT64 && argDescriptor.name == k || argDescriptor.argType == ArgDescriptor.ArgType.DOUBLE && argDescriptor.name == k} + .forEach { argDescriptor -> + val baseIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = argDescriptor.argType + ) + for (i in 0 until 1) { + val nameToUse = if (i > 0) k + "$i" else k + when (argDescriptor.argType) { + ArgDescriptor.ArgType.DOUBLE -> { + ret.add(ArgDescriptor { + name = nameToUse + argType = ArgDescriptor.ArgType.DOUBLE + doubleValue = inputTensor.getDouble(i) + argIndex = baseIndex + i + }) + } + + ArgDescriptor.ArgType.INT64 -> { + ret.add(ArgDescriptor { + name = nameToUse + argType = ArgDescriptor.ArgType.INT64 + int64Value = inputTensor.getInt(i).toLong() + argIndex = baseIndex + i + }) + } + } + + } + } + + } + + return ret + } +} + +//source: https://github.com/eclipse/deeplearning4j/blob/63fa3c2ef3c4e5e33cdb99bb4804997b40ad4590/libnd4j/include/array/DataType.h#L39 + +/** + * Referenced from https://github.com/eclipse/deeplearning4j/blob/63fa3c2ef3c4e5e33cdb99bb4804997b40ad4590/libnd4j/include/array/DataType.h + * Used to convert ints to data types. These ints are used in certain ops where an int is taken in for expressing a data type. + */ +fun dataTypeFromInt(inputInt: Int): TensorNamespace.DataType { + when(inputInt) { + 1 -> return TensorNamespace.DataType.BOOL + 2 -> return TensorNamespace.DataType.BFLOAT16 + 3 -> return TensorNamespace.DataType.FLOAT16 + 4 -> return TensorNamespace.DataType.FLOAT + 5 -> return TensorNamespace.DataType.FLOAT + 6 -> return TensorNamespace.DataType.DOUBLE + 7 -> return TensorNamespace.DataType.INT8 + 8 -> return TensorNamespace.DataType.INT16 + 9 -> return TensorNamespace.DataType.INT32 + 10 -> return TensorNamespace.DataType.INT64 + 11 -> return TensorNamespace.DataType.UINT8 + 12 -> return TensorNamespace.DataType.UINT16 + 13 -> return TensorNamespace.DataType.UINT32 + 14 -> return TensorNamespace.DataType.UINT64 + 17 -> return TensorNamespace.DataType.BFLOAT16 + 50,51,52 -> return TensorNamespace.DataType.STRING + else -> return TensorNamespace.DataType.UNDEFINED + + } +} + +/** + * Reverse of [dataTypeFromInt] + * converts an int argument to a [TensorNamespace.DataType] + */ +fun intArgFromDataType(inputDataType: TensorNamespace.DataType): Int { + when(inputDataType) { + TensorNamespace.DataType.BOOL -> return 1 + TensorNamespace.DataType.BFLOAT16 -> return 2 + TensorNamespace.DataType.FLOAT16 -> return 3 + TensorNamespace.DataType.FLOAT -> return 4 + TensorNamespace.DataType.FLOAT -> return 5 + TensorNamespace.DataType.DOUBLE -> return 6 + TensorNamespace.DataType.INT8 -> return 7 + TensorNamespace.DataType.INT16 -> return 8 + TensorNamespace.DataType.INT32 -> return 9 + TensorNamespace.DataType.INT64 -> return 10 + TensorNamespace.DataType.UINT8 -> return 11 + TensorNamespace.DataType.UINT16 -> return 12 + TensorNamespace.DataType.UINT32 -> return 13 + TensorNamespace.DataType.UINT64 -> return 14 + TensorNamespace.DataType.BFLOAT16 -> return 17 + TensorNamespace.DataType.STRING -> return 50 + else -> return -1 + + } +} + + +abstract class DataTypeToInt< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map> +) : + BaseAttributeExtractionRule + ( + name = "attributendarraytoscalarattribute", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs + ) { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.DATA_TYPE + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(ArgDescriptor.ArgType.INT64) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for ((k, v) in mappingNamesToPerform()) { + val irAttribute = mappingCtx.irAttributeValueForNode(v).dataTataTypeValue() + ret.add(ArgDescriptor { + argType = ArgDescriptor.ArgType.INT64 + name = k + int64Value = intArgFromDataType(irAttribute.nameSpaceDataType()).toLong() + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.INT64 + ) + }) + + } + + return ret + } +} + + +abstract class AttributeNDArrayToScalarAttribute< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map> +) : + BaseAttributeExtractionRule + ( + name = "attributendarraytoscalarattribute", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs + ) { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.TENSOR + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(ArgDescriptor.ArgType.INT64) || + argDescriptorType.contains(ArgDescriptor.ArgType.DOUBLE) || + argDescriptorType.contains(ArgDescriptor.ArgType.INT32) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for ((k, v) in mappingNamesToPerform()) { + val irAttribute = mappingCtx.tensorAttributeFor(v).toNd4jNDArray() + val realDataType = argDescriptorType(k, nd4jOpDescriptors.findOp(mappingCtx.nd4jOpName())) + when(realDataType) { + ArgDescriptor.ArgType.DOUBLE -> { + ret.add(ArgDescriptor { + argType = ArgDescriptor.ArgType.DOUBLE + name = k + doubleValue = irAttribute.getDouble(0) + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.DOUBLE + ) + }) + } + + ArgDescriptor.ArgType.INT64 -> { + ret.add(ArgDescriptor { + argType = ArgDescriptor.ArgType.INT64 + name = k + int64Value = irAttribute.getInt(0).toLong() + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.INT64 + ) + }) + } + } + + } + + return ret + } +} + + +abstract class AttributeScalarNDArrayAttribute< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map> +) : + BaseAttributeExtractionRule + ( + name = "attributescalarndarrayattribute", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs + ) { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.FLOAT || argDescriptorType == AttributeValueType.INT + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(ArgDescriptor.ArgType.INPUT_TENSOR) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for ((k, v) in mappingNamesToPerform()) { + val irAttribute = mappingCtx.irAttributeValueForNode(v) + when (irAttribute.attributeValueType()) { + AttributeValueType.FLOAT -> { + ret.add(ArgDescriptor { + argType = ArgDescriptor.ArgType.INPUT_TENSOR + name = k + inputValue = nameSpaceTensorFromNDarray(Nd4j.scalar(irAttribute.floatValue()).reshape(1, 1)) + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.INPUT_TENSOR + ) + }) + } + + AttributeValueType.INT -> { + ret.add(ArgDescriptor { + argType = ArgDescriptor.ArgType.INPUT_TENSOR + name = k + inputValue = nameSpaceTensorFromNDarray(Nd4j.scalar(irAttribute.intValue()).reshape(1, 1)) + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.INT64 + ) + }) + } + else -> { + throw IllegalArgumentException("Attribute $v is not a valid type. Type was ${irAttribute.attributeValueType()}") + } + + } + + } + + return ret + } +} + + +abstract class NDArrayToIntAttributeValue< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map> +) : + BaseAttributeExtractionRule + ( + name = "ndarraytointattributevalue", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs + ) { + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.TENSOR + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(ArgDescriptor.ArgType.INT64) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for ((k, v) in mappingNamesToPerform()) { + val ndarray = mappingCtx.tensorInputFor(v).toNd4jNDArray() + val arrInts = ndarray.ravel().toIntVector() + val baseIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.INT64 + ) + for (i in 0 until ndarray.length()) { + val argDescriptor = ArgDescriptor { + name = k + int64Value = arrInts[i.toInt()].toLong() + argType = ArgDescriptor.ArgType.INT64 + argIndex = (baseIndex + i).toInt() + } + + ret.add(argDescriptor) + } + } + + return ret + } +} + + +abstract class BaseNDArrayMappingRule< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, NODE_DEF_TYPE : GeneratedMessageV3, ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, TENSOR_TYPE : GeneratedMessageV3, + DATA_TYPE>( + mappingNamesToPerform: MutableMap = mutableMapOf(), + transformerArgs: Map> = emptyMap() +) : + TensorMappingRule + where DATA_TYPE : ProtocolMessageEnum { + + protected var opDescriptor: OpDescriptor? = null + protected val mappingNamesToPerform = mappingNamesToPerform + protected val transformerArgs = transformerArgs + protected var mappingProcess: MappingProcess? = + null + + + override fun initWithMappingProcess(mappingProcess: MappingProcess) { + val opDescriptorList = nd4jOpDescriptors + if (!opDescriptorList.opListList.map { it -> it.name }.contains(mappingProcess.opName())) { + throw java.lang.IllegalArgumentException("Op name ${mappingProcess.opName()} not found!") + } + opDescriptor = opDescriptorList.opListList.first { input -> + input.name == mappingProcess.opName() + } ?: error("") + this.mappingProcess = mappingProcess + } + + + operator fun set(outputAttribute: String, inputAttribute: String) { + mappingNamesToPerform[outputAttribute] = inputAttribute + } + + override fun name(): String { + return "ndarraymapping" + } + + + override fun mappingNamesToPerform(): Map { + return mappingNamesToPerform + } + + + override fun convertInput(mappingContext: MappingContext): List { + val ret = ArrayList() + val mappingsToPerform = inputArgumentMappings() + mappingsToPerform.forEach { (k, v) -> + ret.add(ArgDescriptor { + name = k + argType = ArgDescriptor.ArgType.INPUT_TENSOR + inputValue = mappingContext.tensorInputFor(v).toArgTensor() + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingContext.nd4jOpName(), + argDescriptorType = ArgDescriptor.ArgType.INPUT_TENSOR + ) + }) + } + + + return ret + } + + abstract fun createTensorProto(input: TENSOR_TYPE): TensorNamespace.TensorProto + + + override fun convertInputsReverse(toReverse: List): List { + for (argument in toReverse) { + require(argument.argType == ArgDescriptor.ArgType.INPUT_TENSOR) { "Type to reverse must be an input tensor." } + } + TODO("Not yet implemented") + } + + override fun inputArgumentMappings(): Map { + return mappingNamesToPerform + } + + override fun serialize(): MapperNamespace.MappingRule { + val builder = MapperNamespace.MappingRule.newBuilder() + builder.ruleName = name() + builder.functionName = name() + builder.ruleType = "tensor" + + for ((k, v) in transformerArgs) { + val descriptor = opDescriptor!!.argDescriptorList.filter { input -> input.name == k }[0] + when (descriptor.argType) { + ArgDescriptor.ArgType.BOOL -> builder.addOutputBooleanName(k) + ArgDescriptor.ArgType.INT64 -> builder.addOutputIntName(k) + ArgDescriptor.ArgType.FLOAT -> builder.addOutputFloatName(k) + ArgDescriptor.ArgType.DOUBLE -> builder.addOutputDoubleName(k) + ArgDescriptor.ArgType.INT64 -> builder.addOutputIntName(k) + ArgDescriptor.ArgType.INPUT_TENSOR -> builder.addInputTensorName(k) + ArgDescriptor.ArgType.OUTPUT_TENSOR -> builder.addOutputTensorName(k) + } + + for (associatedInput in v) { + when (associatedInput.argType) { + ArgDescriptor.ArgType.STRING -> builder.addInputStringAttrName(associatedInput.name) + ArgDescriptor.ArgType.BOOL -> builder.addInputBooleanName(associatedInput.name) + ArgDescriptor.ArgType.DOUBLE,ArgDescriptor.ArgType.FLOAT -> builder.addInputFloatName(associatedInput.name) + ArgDescriptor.ArgType.INT32, ArgDescriptor.ArgType.INT64 -> builder.addInputIntName(associatedInput.name) + ArgDescriptor.ArgType.INPUT_TENSOR -> builder.addInputTensorName(associatedInput.name) + } + } + + + } + + mappingNamesToPerform.forEach { outputName, inputName -> + builder.addInputTensorName(inputName) + builder.addOutputTensorName(outputName) + builder.putInputToOutput(outputName,inputName) + } + + + return builder.build() + } + +} + + +abstract class MultiInputIndexMappingRule< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, NODE_DEF_TYPE : GeneratedMessageV3, ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, TENSOR_TYPE : GeneratedMessageV3, + DATA_TYPE>( + mappingNamesToPerform: MutableMap = mutableMapOf(), + transformerArgs: Map> = emptyMap() +) : + TensorMappingRule + where DATA_TYPE : ProtocolMessageEnum { + + protected var opDescriptor: OpDescriptor? = null + protected val mappingNamesToPerform = mappingNamesToPerform + protected val transformerArgs = transformerArgs + protected var mappingProcess: MappingProcess? = + null + + + override fun initWithMappingProcess(mappingProcess: MappingProcess) { + val opDescriptorList = nd4jOpDescriptors + if (!opDescriptorList.opListList.map { it -> it.name }.contains(mappingProcess.opName())) { + throw java.lang.IllegalArgumentException("Op name ${mappingProcess.opName()} not found!") + } + opDescriptor = opDescriptorList.opListList.first { input -> + input.name == mappingProcess.opName() + } ?: error("") + this.mappingProcess = mappingProcess + } + + + operator fun set(outputAttribute: String, inputAttribute: String) { + mappingNamesToPerform[outputAttribute] = inputAttribute + } + + override fun name(): String { + return "multiinputindex" + } + + + override fun mappingNamesToPerform(): Map { + return mappingNamesToPerform + } + + + override fun convertInput(mappingContext: MappingContext): List { + val ret = ArrayList() + val mappingsToPerform = inputArgumentMappings() + mappingsToPerform.forEach { (k, v) -> + val relevantInputs = mappingContext.irNode().inputNamesForListOfInputValues(v) + //get the base index of the key value and use that as the offset for the array initialization + val baseIndex = mappingContext.irNode().computeAdjustedOffsetForInput(k, v,mappingsToPerform) + //note this looks up node names from the input framework perspective, so these are not variable names present + //in the outputs yet + relevantInputs.forEachIndexed {index,inputName -> + ret.add(ArgDescriptor { + name = "$k:$index" + argType = ArgDescriptor.ArgType.INPUT_TENSOR + inputValue = mappingContext.tensorInputFromInputFrameworkName(inputName).toArgTensor() + argIndex = baseIndex + index + }) + } + } + + + return ret + } + + abstract fun createTensorProto(input: TENSOR_TYPE): TensorNamespace.TensorProto + + + override fun convertInputsReverse(toReverse: List): List { + for (argument in toReverse) { + require(argument.argType == ArgDescriptor.ArgType.INPUT_TENSOR) { "Type to reverse must be an input tensor." } + } + TODO("Not yet implemented") + } + + override fun inputArgumentMappings(): Map { + return mappingNamesToPerform + } + + override fun serialize(): MapperNamespace.MappingRule { + val builder = MapperNamespace.MappingRule.newBuilder() + builder.ruleName = name() + builder.functionName = name() + for ((k, v) in transformerArgs) { + val descriptor = opDescriptor!!.argDescriptorList.filter { input -> input.name == k }[0] + when (descriptor.argType) { + ArgDescriptor.ArgType.BOOL -> builder.addOutputBooleanName(k) + ArgDescriptor.ArgType.INT64 -> builder.addOutputIntName(k) + ArgDescriptor.ArgType.FLOAT -> builder.addOutputFloatName(k) + ArgDescriptor.ArgType.DOUBLE -> builder.addOutputDoubleName(k) + ArgDescriptor.ArgType.INT64 -> builder.addOutputIntName(k) + ArgDescriptor.ArgType.INPUT_TENSOR -> builder.addInputTensorName(k) + ArgDescriptor.ArgType.OUTPUT_TENSOR -> builder.addOutputTensorName(k) + } + + for (associatedInput in v) { + when (associatedInput.argType) { + ArgDescriptor.ArgType.STRING -> builder.addInputStringAttrName(associatedInput.name) + ArgDescriptor.ArgType.BOOL -> builder.addInputBooleanName(associatedInput.name) + ArgDescriptor.ArgType.FLOAT, ArgDescriptor.ArgType.DOUBLE -> builder.addInputFloatName(associatedInput.name) + ArgDescriptor.ArgType.INT32, ArgDescriptor.ArgType.INT64 -> builder.addInputIntName(associatedInput.name) + ArgDescriptor.ArgType.INPUT_TENSOR -> builder.addInputTensorName(associatedInput.name) + } + } + + + } + + + return builder.build() + } + +} + +abstract class ArgDescriptorConstant< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map = emptyMap(), + transformerArgs: Map> +) : + BaseAttributeExtractionRule + ( + name = "argdescriptorconstant", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs + ) { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return true + } + + override fun outputsType(argDescriptorType: List): Boolean { + return true + } + + override fun convertAttributes( + mappingCtx: MappingContext + ): List { + return transformerArgs.flatMap { + it.value.map { descriptor -> + ArgDescriptor { + name = descriptor.name + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = descriptor.name, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = descriptor.argType + ) + argType = descriptor.argType + boolValue = descriptor.boolValue + floatValue = descriptor.floatValue + doubleValue = descriptor.doubleValue + int32Value = descriptor.int32Value + int64Value = descriptor.int64Value + stringValue = descriptor.stringValue + inputValue = descriptor.inputValue + outputValue = descriptor.outputValue + + } + } + } + } +} diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/ImportGraph.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/ImportGraph.kt new file mode 100644 index 000000000..3279da649 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/ImportGraph.kt @@ -0,0 +1,578 @@ +package org.nd4j.codegen.ir + +import org.nd4j.autodiff.functions.DifferentialFunction +import org.nd4j.autodiff.samediff.SDVariable +import org.nd4j.autodiff.samediff.SameDiff +import org.nd4j.autodiff.samediff.VariableType +import org.nd4j.autodiff.samediff.internal.SameDiffOp +import org.nd4j.autodiff.samediff.internal.Variable +import org.nd4j.codegen.ir.registry.OpMappingRegistry +import org.nd4j.codegen.ir.registry.OpRegistryHolder +import org.nd4j.codegen.ir.tensorflow.isControlDep +import org.nd4j.codegen.ir.tensorflow.stripControl +import org.nd4j.codegen.ir.tensorflow.stripVarSuffix +import org.nd4j.common.base.Preconditions +import org.nd4j.imports.converters.DifferentialFunctionClassHolder +import org.nd4j.imports.graphmapper.OpImportFilter +import org.nd4j.ir.OpNamespace +import org.nd4j.linalg.api.buffer.DataType +import org.nd4j.linalg.api.ops.DynamicCustomOp +import org.nd4j.linalg.api.ops.impl.controlflow.compat.Merge +import org.nd4j.linalg.api.ops.impl.shape.Concat +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum +import java.lang.IllegalArgumentException +import java.util.* +import kotlin.collections.ArrayList +import kotlin.collections.HashMap +import kotlin.collections.HashSet + + +class ImportGraph { + /** + * Import a Graph based on a {@link IRGraph} model from a GraphDef, with optional import overrides + * + * @param irGraph IRGraph reflecting the needed model import + * @param importOverride Optional import override for specific ops, keyed by op name + * @param opFilter Optional filter - ops to exclude/ignore + * @return Imported model + */ + fun importGraph(irGraph: IRGraph, + importOverride: Map?>?, + opFilter: OpImportFilter?, + dynamicVariables: Map = emptyMap(), + opMappingRegistry: OpMappingRegistry + ): SameDiff { + + /* + First, build an in-memory representation of the graph that allows us to build the graph incrementally + If we can build the graph incrementally, we can make sure that the added variables are set up with the correct + datatype and (once implemented) greedy shape inference + */ + val availableToAddSet = HashSet() //TODO maybe unnecessary? + val availableToAdd: Queue> = LinkedList() + val remainingNodes: MutableMap> = + HashMap() //All other nodes, not in availableToAdd + val nodeInputTo: MutableMap> = + HashMap() // For op x -> y, x is key, y is value. Note that these are OP names not VARIABLE names + val nNodes = irGraph.nodeList().size + val importInfo = irGraph.importInfoForEachNode(dynamicVariables = dynamicVariables) + //First, add any constants, placeholders, and zero-input ops + val sd = SameDiff.create() + irGraph.nodeList().forEach { node -> + val importInfoForNode = importInfo[node.nodeName()]!! + val numInputs = node.numInputs() + val nodeInputs = ArrayList() + val name = node.nodeName() + + for(inputIdx in 0 until numInputs) { + var inOpName = stripVarSuffix(stripControl(node.inputAt(inputIdx))) + nodeInputs.add(inOpName) + if (!nodeInputTo.containsKey(inOpName)) { + nodeInputTo[inOpName!!] = ArrayList() + } + + nodeInputTo[inOpName]!!.add(name) + } + + val inputs = importInfoForNode.second.argDescriptorList.filter { input -> input.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR } + if(numInputs < inputs.size) { + for(i in numInputs until inputs.size) { + val newName = name + "-" + inputs[i].name + nodeInputTo[newName!!] = ArrayList() + nodeInputTo[newName]!!.add(name) + sd.constant(newName, ndarrayFromNameSpaceTensor(inputs[i].inputValue)) + } + + } + + + } + + for (i in 0 until nNodes) { + val nd = irGraph.nodeList()[i] + + val op = nd.opName() + val numInputs = nd.numInputs() + val name = nd.nodeName() + Preconditions.checkState(name.isNotEmpty(), "Node name was empty!") + if (irGraph.isConstantOpName(op)|| numInputs == 0) { + availableToAdd.add(nd) + availableToAddSet.add(name) + } else { + remainingNodes[name] = nd + + for (inputIdx in 0 until numInputs) { + var inOpName = stripControl(nd.inputAt(inputIdx)) + if (!nodeInputTo.containsKey(inOpName)) { + nodeInputTo[inOpName!!] = ArrayList() + } + nodeInputTo[inOpName]!!.add(name) + } + + } + } + + + val mergeOpsPostProcess: MutableMap = HashMap() + val defaultRunner = + DefaultImportRunner() + //Go through ops in order, and add to the graph + val constControlDeps: MutableMap> = HashMap() //Key: constant name. Value: control dependencies + while (!availableToAdd.isEmpty()) { + val nd = availableToAdd.remove() + val name = nd.nodeName() + val opName = nd.opName() + val importInfoForNode = importInfo[name] + + availableToAddSet.remove(name) + println("Adding operation to graph: $opName (name=$name)") + var skipCase = false + val rawAttrMap = HashMap() + nd.attributeMap().forEach { (name, def) -> + rawAttrMap[name] = def.internalAttributeValue() + } + + + if (opFilter != null && opFilter.skipOp( + nd.internalValue(), + sd,rawAttrMap, irGraph.internalValue())) { + println("Skipping op $name of type $opName due to op filter") + //Don't continue at this point - we still need to process what this feeds into... + skipCase = true + } else { + if (importOverride == null || !importOverride.containsKey(name)) { + //Standard case + //note, ordering matters here for onnx + if (irGraph.nodeIsPlaceHolder(nd.nodeName())) { + var shape = irGraph.shapeOfInput(nd.nodeName()) + + + val dt = irGraph.dataTypeForVariable(nd.nodeName()).nd4jDataType() + if(shape != null) + sd.placeHolder(name, dt, *shape) + else + sd.placeHolder(name, dt) + } + else if (irGraph.isConstant(opName)) { + //Get array, create a constant + val tfTensor = nd.getAttribute("value").tensorValue() + val arr = tfTensor.toNd4jNDArray() + sd.constant(name, arr) + val inputCount = nd.numInputs() + if (inputCount > 0) { + //Very likely control dependency. i.e., "we must execute op X before the constant is really available to be used" + val l: MutableList = java.util.ArrayList(inputCount) + for (i in 0 until inputCount) { + val n = nd.inputAt(i) + check(isControlDep(n)) { "Found non-control dependency input \"$n\" for constant \"$name\"" } + val n2 = stripControl(n) + l.add(n2) + } + constControlDeps[name] = l + } + } else if(opName.equals("Variable") || opName.equals("VariableV2")) { + var shape = irGraph.shapeOfInput(nd.nodeName()) + + + val dt = irGraph.dataTypeForVariable(nd.nodeName()).nd4jDataType() + if(shape != null) + sd.`var`(name, dt, *shape) + else + sd.`var`(name, dt,-1) + } + else { + /* + Normal ops. Process in the following order: + 1. Create the op instance + 2. Add op to graph + 3. Import from TF (to set attributes) + 4. Calculate output dtypes + 5. Create and add output variables to graph + + Note: one constraint on this order is that some ops import modify the graph structure. + Notable example: concat op - it removes the axis op and converts the value to an iArg + https://github.com/eclipse/deeplearning4j/issues/8285 + */ + + val opMappingProcess = OpRegistryHolder.lookupOpMappingProcess< + GRAPH_TYPE, + NODE_TYPE, + OP_DEF_TYPE, + TENSOR_TYPE, + DATA_TYPE, + ATTR_DEF_TYPE, + ATTR_VALUE_TYPE>( + inputFrameworkOpName = opName, + inputFrameworkName = irGraph.frameworkName() + ) + + + val nd4jOpName = opMappingRegistry.lookupOpMappingProcess(opName).opName() + + val dfInstance = if( DifferentialFunctionClassHolder.getInstance() + .hasName(nd4jOpName)) DifferentialFunctionClassHolder.getInstance().getInstance(nd4jOpName) + else DynamicCustomOp.builder(nd4jOpName).build() + Preconditions.checkState(dfInstance != null, "Could not find class for TF Ops: %s", opName) + var df: DifferentialFunction + df = try { + dfInstance.javaClass.newInstance() + } catch (t: Throwable) { + //Should never happen because function was already created via no-arg constructor earlier + throw RuntimeException(t) + } + + df.sameDiff = sd + df.ownName = name + + //Process inputs + var controlDeps: MutableList? = null + val numInputs = nd.numInputs() + + /** + * Note that ndarrays actually need to be reordered here when input indices aren't equal to what's in the original framework. + * We should potentially run the import process sooner and compute the input name + * ordering from that instead. + */ + val opDefLookup = opMappingRegistry.lookupInputFrameworkOpDef(opName) + val mappingContext = irGraph.createMappingContext( + opDef = opDefLookup, + node = irGraph.nodeByName(name), + dynamicVariables = dynamicVariables + ) + + val tensorInputMappings = HashMap() + opMappingProcess.tensorMappingRules().forEach { tensorMappingRule -> + tensorInputMappings.putAll(tensorMappingRule.inputArgumentMappings()) + } + + + + val inNames: MutableList = java.util.ArrayList(numInputs) + + for (i in 0 until numInputs) { + //use input name if it exists and matches, otherwise if the input names do not map 1 to 1 for import + //use samediff to generate a unique name + val origInName = nd.inputAt(i) + var inName = stripControl(origInName) + if (inName.endsWith(":0")) { + //Strip ":0" suffix. Some ops can depend on placeholders, like "image_tensor:0" but in SameDiff this is a variable called "image_tensor" + inName = inName.substring(0, inName.length - 2) + } + val isControlDep = isControlDep(origInName) + if (isControlDep) { + if (controlDeps == null) controlDeps = java.util.ArrayList() + controlDeps.add(inName) + } + if (!isControlDep) { + inNames.add(inName) + } + + //Update Variable.inputsForOp for all variables that feed into this op + // Such variables must have already been created, given we process in order + //declare empty variable for anything that's an input > 0 + if(!sd.hasVariable(inName) && inName.contains(':')) { + val knownBaseName = stripVarSuffix(inName) + if(!sd.hasVariable(knownBaseName)) { + throw IllegalArgumentException("No variable name found for $inName") + } else { + val knownBaseVar = sd.getVariable(stripVarSuffix(inName)) + sd.`var`( + SDVariable( + inName, + VariableType.ARRAY, + sd, + knownBaseVar.shape, + knownBaseVar.dataType() + ) + ) + + } + } + val v = sd.variables[inName] + if (v == null && df is Merge) { + //Edge case for import - we allow merge ops to be added before both inputs are available + //This is to break the cycles in loops, otherwise we can't process anything in order + mergeOpsPostProcess[df.getOwnName()] = inName + continue + } + + if (!isControlDep && (v!!.inputsForOp == null || !v.inputsForOp.contains(name))) { + //May already be present - for example, add(x,x) + if (v.inputsForOp == null) v.inputsForOp = java.util.ArrayList() + v.inputsForOp.add(name) + } else if (isControlDep) { + if (v!!.controlDepsForOp == null) v.controlDepsForOp = java.util.ArrayList() + if (!v.controlDepsForOp.contains(name)) { + v.controlDepsForOp.add(name) + } + } + } + + + val inputs = importInfoForNode!!.second.argDescriptorList.filter { input -> input.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR } + if(numInputs < inputs.size) { + for(i in numInputs until inputs.size) { + val newName = name + "-" + inputs[i].name + val v = sd.variables[newName]!! + if (v.inputsForOp == null) v.inputsForOp = java.util.ArrayList() + v.inputsForOp.add(newName) + inNames.add(newName) + } + + + } + + val inputNames = nd.nd4jInputs(tensorInputMappings) + + + /** + * TODO: evaluate if pre/post processing is needed. + * May need to add new input names before and after each op. + * We coudl also modularize this part of the process in general. + */ + //Create SameDiffOp instance and add to graph + val op = SameDiffOp.builder() + .name(name) + .op(df) + .inputsToOp(inNames) //.outputsOfOp(outNames) //We'll set this later + .controlDeps(controlDeps) + .build() + sd.ops[name] = op + defaultRunner.initAttributes(df, irGraph.frameworkName(), mappingContext, sd,opName) + + + /** + * TODO: Figure out if post processing is needed. + * + */ + //DType calculate for output variables (set/correct if necessary) + val newInNames = sd.ops[name]!!.inputsToOp //Just in case import has modified this, like for concat case + val newInDtypes: MutableList = + java.util.ArrayList(newInNames.size) + if (df is Merge) { + //Merge op: as noted elsewhere, we allow merge to be processed when only one of the inputs is available + // to break cycles for loops + //We know that Merge op has the restriction of the same datatype for both inputs, so we'll + val v1 = sd.getVariable(newInNames[0]) + val v2 = sd.getVariable(newInNames[1]) + val dt1 = if (v1 == null) v2!!.dataType() else v1.dataType() + val dt2 = if (v2 == null) v1!!.dataType() else v2.dataType() + newInDtypes.add(dt1) + newInDtypes.add(dt2) + } else if(df is Concat) { + //note we use the nd4j data types here so we only have input data types indexed by the actual + //output from nd4j. A common scenario import is dimensions being converted to ints + //Dimensions are converted from inputs in the input framework to plain integers elsewhere. + //This lets the import process dictate the actual ordering of the data types. + for (s in inputNames) { + val v = sd.getVariable(s) + newInDtypes.add(v.dataType()) + } + + op.inputsToOp = inputNames + } + else { + for (s in newInNames) { + val v = sd.getVariable(s) + newInDtypes.add(v.dataType()) + } + } + + //note we validate the op definition here to ensure that all ops have at least 1 output unless otherwise specified. + val outputDataTypes = df.calculateOutputDataTypes(newInDtypes) + val numOutputs = outputDataTypes.size + if(numInputs < 1 && nd4jOpName != "noop") { + throw java.lang.IllegalStateException("Op $nd4jOpName does not have any outputs!") + } + + //println("Out dtypes size ${outDTypes.size} and numOutputs $numOutputs") + val outSDVars = arrayOfNulls(numOutputs) + val outVars = arrayOfNulls(numOutputs) + val outNames: MutableList = java.util.ArrayList(numOutputs) + + //Create output variables and add to graph + for (i in 0 until numOutputs) { + val dt = outputDataTypes[i] + val varName = name + if (i == 0) "" else ":$i" + //TODO: handle variadic type in kotlin + /** + * TODO: handle data type import + */ + outSDVars[i] = sd.`var`(varName, VariableType.ARRAY, null, dt) + outNames.add(varName) + outVars[i] = Variable.builder() + .name(varName) + .variable(outSDVars[i]) + .inputsForOp(null) //This is updated incrementally as other ops are added + .controlDepsForOp(null) //Control deps are handled later + .controlDepsForVar(null) + .outputOfOp(name) + .build() + sd.variables[varName] = outVars[i] + println("Added variable to graph: $varName (output of op $name)") + } + sd.ops[name]!!.outputsOfOp = outNames + println("Imported op: $opName (name=$name)") + } + } else { + + val opMappingProcess = OpRegistryHolder.lookupOpMappingProcess< + GRAPH_TYPE, + NODE_TYPE, + OP_DEF_TYPE, + TENSOR_TYPE, + DATA_TYPE, + ATTR_DEF_TYPE, + ATTR_VALUE_TYPE>(inputFrameworkOpName = opName, inputFrameworkName = irGraph.frameworkName()) + + + + val dfInstance = if( DifferentialFunctionClassHolder.getInstance() + .hasName(opName)) DifferentialFunctionClassHolder.getInstance().getInstance(opName) + else DynamicCustomOp.builder(opName).build() + Preconditions.checkState( + dfInstance != null, + "Could not find class for ${opMappingProcess.opName()}", + opName + ) + var df: DifferentialFunction + df = try { + dfInstance.javaClass.newInstance() + } catch (t: Throwable) { + //Should never happen because function was already created via no-arg constructor earlier + throw RuntimeException(t) + } + + df.sameDiff = sd + df.ownName = name + + val opDefLookup = opMappingRegistry.lookupInputFrameworkOpDef(opName) as OP_DEF_TYPE + val mappingContext = irGraph.createMappingContext( + opDef = opDefLookup, + node = irGraph.nodeByName(name), + dynamicVariables = dynamicVariables + ) + + //Import override case + val o = importOverride[name] + println("Importing op $opName using override $importOverride") + + //First, get inputs: + val inputs: MutableList = java.util.ArrayList() + var controlDeps: MutableList? = null + val nd4jOpName = opMappingRegistry.lookupOpMappingProcess(opName).opName() + val opDescriptor = opMappingRegistry.lookupNd4jOpDef(nd4jOpName) + val opInputs = opDescriptor.argDescriptorList.filter { argDescriptor -> argDescriptor.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR } + val numInputs = opInputs.size + + + for (i in 0 until numInputs) { + val inName = nodeInputTo[nd.nodeName()]!![i]!! + val controlDep = isControlDep(inName) + val v = sd.getVariable(name) + if (controlDep) { + if (controlDeps == null) controlDeps = java.util.ArrayList() + controlDeps.add(v) + } else { + inputs.add(v) + } + + o!!.initAttributes(df,irGraph.frameworkName(),mappingContext,sd,opName) + } + } + } + + + //Now that we have just added an op (or variable) - check what this feeds into, and see what we can now process + // as a result + if (nodeInputTo.containsKey(name)) { + val set: List? = nodeInputTo[name] + for (nextOp in set!!) { + val nextOpDef = remainingNodes[nextOp] + if(nextOpDef == null) + throw java.lang.IllegalStateException("No next op def found for op $nextOp") + val nInNext = nextOpDef.numInputs() + + if (nextOpDef == null) { + if (sd.ops.containsKey(nextOp)) { + //Already processed this. + //Almost certainly the close of a loop - like NextIteration -> Merge case + continue + } + throw IllegalStateException("Could not find op definition for op to import: $nextOp") + } + var allAlreadyInGraph = true + var nonControlSeenCount = 0 + + for (i in 0 until nInNext) { + val s = nextOpDef.inputAt(i) + var inName = stripControl(stripVarSuffix((nextOpDef.inputAt(i)))) + if (inName.endsWith(":0")) { + //Strip ":0" suffix. Some ops can depend on placeholders, like "image_tensor:0" but in SameDiff this is a variable called "image_tensor" + inName = inName.substring(0, inName.length - 2) + } + +// log.info("Input: {}, {}", s, inName); + if (!sd.hasVariable(inName) && !skipCase) { +// log.info("Not found: {} for op {}", inName, nextOpDef.getName()); + allAlreadyInGraph = false + break + } else if (!isControlDep(s)) { + nonControlSeenCount++ + } + } + + //Merge ops are an edge case. We'll allow these to be executed with just ONE input, to break + // the cycle in loops. In loops, generally we have (Enter, NextIteration) -> Merge, which + // of course can't be done if we strictly require all inputs to be available + val mergeCase = nonControlSeenCount > 0 && "Merge" == nextOpDef.opName() + if (allAlreadyInGraph || mergeCase) { + //Can process this op, add it to the queue for processing + if (!availableToAddSet.contains(nextOp)) { + //Avoid processing same op multiple times, for repeated inputs to one op, etc + availableToAdd.add(nextOpDef) + availableToAddSet.add(nextOp) + println("Added to processing queue: ${nextOpDef.opName()} (name=$nextOp)") + } + } + } + } + + //Finally, remove the just processed op from remainingNodes map: + remainingNodes.remove(name) + } + + //Post process the control dependencies, if any (done after because dependencies may not exist when imported) + for ((varName, cdOpNames) in constControlDeps) { + sd.variables[varName]!!.controlDeps = cdOpNames + for (s in cdOpNames) { + val sdo = sd.ops[s] + if (sdo!!.controlDepFor == null) sdo.controlDepFor = java.util.ArrayList() + val l = sdo.controlDepFor + if (!l.contains(s)) l.add(varName) + } + } + + //Post process the merge ops - all we are missing is a Variable.getInputsForOp().add(mergeOpName); + for ((key, value) in mergeOpsPostProcess) { + val v = sd.variables[value] + if (v!!.inputsForOp == null) v.inputsForOp = java.util.ArrayList() + v.inputsForOp.add(key) + } + Preconditions.checkState( + remainingNodes.isEmpty(), + "%s Unprocessed nodes: %s", + remainingNodes.size, + remainingNodes.keys + ) + return sd + } +} + diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/SaveProcesesAndRules.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/SaveProcesesAndRules.kt new file mode 100644 index 000000000..2d79fbf53 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/SaveProcesesAndRules.kt @@ -0,0 +1,20 @@ +package org.nd4j.codegen.ir + +import org.nd4j.codegen.ir.onnx.OnnxOpDeclarations +import org.nd4j.codegen.ir.registry.OpMappingRegistry +import org.nd4j.codegen.ir.registry.OpRegistryHolder +import org.nd4j.codegen.ir.tensorflow.TensorflowOpDeclarations + +class SaveProcesesAndRules { + + companion object { + @JvmStatic fun main(args : Array) { + val tensorflowDeclarations = TensorflowOpDeclarations + val onnxDeclarations = OnnxOpDeclarations + OpRegistryHolder.tensorflow().saveProcessesAndRuleSet() + OpRegistryHolder.onnx().saveProcessesAndRuleSet() + } + } + + +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/onnx/OnnxIR.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/onnx/OnnxIR.kt new file mode 100644 index 000000000..363fea03e --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/onnx/OnnxIR.kt @@ -0,0 +1,859 @@ +package org.nd4j.codegen.ir.onnx + +import onnx.Onnx +import onnx.OnnxMl +import org.apache.commons.io.FileUtils +import org.nd4j.codegen.ir.* +import org.nd4j.codegen.ir.tensorflow.AttrValue +import org.nd4j.codegen.ir.tensorflow.TensorflowIRTensor +import org.nd4j.common.io.ClassPathResource +import org.nd4j.ir.OpNamespace +import org.nd4j.ir.TensorNamespace +import org.nd4j.linalg.api.buffer.DataType +import org.nd4j.linalg.api.ndarray.INDArray + +import kotlin.collections.HashMap +import org.nd4j.linalg.factory.Nd4j +import org.nd4j.onnxruntime.runner.OnnxRuntimeRunner +import org.nd4j.shade.protobuf.ByteString +import org.tensorflow.framework.TensorProto +import java.io.File +import java.lang.IllegalArgumentException +import java.nio.charset.Charset +import java.util.* +import kotlin.collections.ArrayList +import kotlin.math.min + +fun loadOnnxOps(): List { + val graphProto = Onnx.GraphProto.parseFrom(ClassPathResource("onnx-op-defs.pb").inputStream) + return graphProto.nodeList +} + +val onnxops = loadOnnxOps() + +class OnnxIRTensor(input: Onnx.TensorProto): IRTensor { + + val tensor = input + + + override fun shape(): List { + return tensor.dimsList + } + + override fun stride(): List { + return Nd4j.getStrides(shape().toTypedArray().toLongArray(),'c').asList() + } + + override fun dataType(): IRDataType { + return OnnxIRDataType(Onnx.TensorProto.DataType.values()[tensor.dataType.ordinal]) + } + + override fun toArgTensor(): TensorNamespace.TensorProto { + val builder = TensorNamespace.TensorProto.newBuilder() + .setDataLocation(TensorNamespace.TensorProto.DataLocation.DEFAULT) + + for(i in 0 until tensor.dimsCount) { + builder.addDims(tensor.getDims(i)) + } + + when(tensor.dataType) { + Onnx.TensorProto.DataType.UINT64 -> builder.dataType = TensorNamespace.DataType.UINT64.ordinal + Onnx.TensorProto.DataType.UINT32 -> builder.dataType = TensorNamespace.DataType.UINT32.ordinal + Onnx.TensorProto.DataType.UINT16 -> builder.dataType = TensorNamespace.DataType.UINT16.ordinal + Onnx.TensorProto.DataType.FLOAT16 -> builder.dataType = TensorNamespace.DataType.FLOAT16.ordinal + Onnx.TensorProto.DataType.STRING -> builder.dataType = TensorNamespace.DataType.STRING.ordinal + Onnx.TensorProto.DataType.FLOAT -> builder.dataType = TensorNamespace.DataType.FLOAT.ordinal + Onnx.TensorProto.DataType.DOUBLE -> builder.dataType = TensorNamespace.DataType.DOUBLE.ordinal + Onnx.TensorProto.DataType.BOOL -> builder.dataType = TensorNamespace.DataType.BOOL.ordinal + Onnx.TensorProto.DataType.INT64 -> builder.dataType = TensorNamespace.DataType.INT64.ordinal + Onnx.TensorProto.DataType.INT32 -> builder.dataType = TensorNamespace.DataType.INT32.ordinal + Onnx.TensorProto.DataType.INT16 -> builder.dataType = TensorNamespace.DataType.INT16.ordinal + Onnx.TensorProto.DataType.COMPLEX64 -> builder.dataType = TensorNamespace.DataType.COMPLEX64.ordinal + Onnx.TensorProto.DataType.COMPLEX128 -> builder.dataType = TensorNamespace.DataType.COMPLEX128.ordinal + Onnx.TensorProto.DataType.UNDEFINED,Onnx.TensorProto.DataType.UNRECOGNIZED -> TensorNamespace.DataType.UNRECOGNIZED.ordinal + + } + + + if(tensor.doubleDataList != null && tensor.doubleDataCount > 0) { + builder.addAllDoubleData(tensor.doubleDataList) + } + + if(tensor.stringDataList != null && tensor.stringDataCount > 0) { + builder.addAllStringData(tensor.stringDataList) + } + + if(tensor.floatDataList != null && tensor.floatDataCount > 0) { + builder.addAllFloatData(tensor.floatDataList) + } + + if(tensor.int32DataList != null && tensor.int32DataCount > 0) { + builder.addAllInt32Data(tensor.int32DataList) + } + + if(tensor.int64DataCount != null && tensor.int64DataCount > 0) { + builder.addAllInt64Data(tensor.int64DataList) + } + + if(tensor.uint64DataList != null && tensor.uint64DataCount > 0) { + builder.addAllInt64Data(tensor.uint64DataList) + } + + if(tensor.rawData != null) { + builder.rawData = tensor.rawData + } + + builder.dataType = tensor.dataType.ordinal + + return builder.build() + } + + override fun rawValue(): Onnx.TensorProto { + return tensor + } + + override fun toNd4jNDArray(): INDArray { + return ndarrayFromNameSpaceTensor(toArgTensor()) + } + + +} + +class OnnxIRDataType(inputDataType: Onnx.TensorProto.DataType): IRDataType { + val dataType = inputDataType + + override fun convertToDataType(input: Onnx.TensorProto.DataType): IRDataTypeValue { + when(input) { + Onnx.TensorProto.DataType.UINT64 -> return IRDataTypeValue.DT_UINT64 + Onnx.TensorProto.DataType.UINT32 -> return IRDataTypeValue.DT_UINT32 + Onnx.TensorProto.DataType.UINT16 -> return IRDataTypeValue.DT_UINT16 + Onnx.TensorProto.DataType.FLOAT16 -> return IRDataTypeValue.DT_HALF + Onnx.TensorProto.DataType.STRING -> return IRDataTypeValue.DT_STRING + Onnx.TensorProto.DataType.FLOAT -> return IRDataTypeValue.DT_FLOAT + Onnx.TensorProto.DataType.DOUBLE -> return IRDataTypeValue.DT_DOUBLE + Onnx.TensorProto.DataType.BOOL -> return IRDataTypeValue.DT_BOOL + Onnx.TensorProto.DataType.INT64 -> return IRDataTypeValue.DT_INT64 + Onnx.TensorProto.DataType.INT32 -> return IRDataTypeValue.DT_INT32 + Onnx.TensorProto.DataType.INT16 -> return IRDataTypeValue.DT_INT16 + Onnx.TensorProto.DataType.COMPLEX64 -> return IRDataTypeValue.DT_COMPLEX64 + Onnx.TensorProto.DataType.COMPLEX128 -> return IRDataTypeValue.DT_COMPLEX128 + Onnx.TensorProto.DataType.UNDEFINED,Onnx.TensorProto.DataType.UNRECOGNIZED -> TensorNamespace.DataType.UNRECOGNIZED.ordinal + + } + + return IRDataTypeValue.DT_INVALID + } + + override fun dataType(): IRDataTypeValue { + return convertToDataType(this.dataType) + } + + override fun internalValue(): Onnx.TensorProto.DataType { + return this.dataType + } + + override fun nd4jDataType(): DataType { + when(this.dataType) { + Onnx.TensorProto.DataType.UINT64 -> return return DataType.INT64 + Onnx.TensorProto.DataType.UINT32 -> return return DataType.INT32 + Onnx.TensorProto.DataType.UINT16 -> return return DataType.INT16 + Onnx.TensorProto.DataType.FLOAT16 -> return return DataType.FLOAT16 + Onnx.TensorProto.DataType.STRING -> return return DataType.UTF8 + Onnx.TensorProto.DataType.FLOAT -> return return DataType.FLOAT + Onnx.TensorProto.DataType.DOUBLE -> return return DataType.DOUBLE + Onnx.TensorProto.DataType.BOOL -> return return DataType.BOOL + Onnx.TensorProto.DataType.INT64 -> return return DataType.INT64 + Onnx.TensorProto.DataType.INT32 -> return return DataType.INT32 + Onnx.TensorProto.DataType.INT16 -> return return DataType.INT16 + + } + + return return DataType.UNKNOWN + + } + + override fun nameSpaceDataType(): TensorNamespace.DataType { + when(this.dataType) { + Onnx.TensorProto.DataType.UINT64 -> return return TensorNamespace.DataType.INT64 + Onnx.TensorProto.DataType.UINT32 -> return return TensorNamespace.DataType.INT32 + Onnx.TensorProto.DataType.UINT16 -> return return TensorNamespace.DataType.INT16 + Onnx.TensorProto.DataType.FLOAT16 -> return return TensorNamespace.DataType.FLOAT16 + Onnx.TensorProto.DataType.STRING -> return return TensorNamespace.DataType.STRING + Onnx.TensorProto.DataType.FLOAT -> return TensorNamespace.DataType.FLOAT + Onnx.TensorProto.DataType.DOUBLE -> return TensorNamespace.DataType.DOUBLE + Onnx.TensorProto.DataType.BOOL -> return return TensorNamespace.DataType.BOOL + Onnx.TensorProto.DataType.INT64 -> return return TensorNamespace.DataType.INT64 + Onnx.TensorProto.DataType.INT32 -> return return TensorNamespace.DataType.INT32 + Onnx.TensorProto.DataType.INT16 -> return return TensorNamespace.DataType.INT16 + + } + + return TensorNamespace.DataType.UNDEFINED + } + +} + +fun attrDefaultValue(): IRAttribute { + return OnnxIRAttr(Onnx.AttributeProto.getDefaultInstance(), Onnx.AttributeProto.getDefaultInstance()) +} + +class OnnxIRAttr(inputAttributeDef: Onnx.AttributeProto, inputAttributeValue: Onnx.AttributeProto): + IRAttribute { + + private val attributeDef = inputAttributeDef + private val attributeValue = inputAttributeValue + + override fun name(): String { + return attributeDef.name + } + + override fun floatValue(): Float { + return attributeValue.f + } + + override fun listFloatValue(): List { + return attributeValue.floatsList + } + + + override fun intValue(): Long { + return attributeValue.i + } + + override fun listIntValue(): List { + return attributeValue.intsList + } + + override fun boolValue(): Boolean { + return attributeValue.i > 0 + } + + override fun listBoolValue(): List { + TODO("Implement") + } + + override fun attributeValueType(): AttributeValueType { + when(attributeDef.type) { + Onnx.AttributeProto.AttributeType.STRING -> return AttributeValueType.STRING + Onnx.AttributeProto.AttributeType.STRINGS -> return AttributeValueType.LIST_STRING + Onnx.AttributeProto.AttributeType.INT-> return AttributeValueType.INT + Onnx.AttributeProto.AttributeType.INTS -> return AttributeValueType.LIST_INT + Onnx.AttributeProto.AttributeType.FLOAT -> return AttributeValueType.FLOAT + Onnx.AttributeProto.AttributeType.FLOATS -> return AttributeValueType.LIST_FLOAT + Onnx.AttributeProto.AttributeType.TENSOR -> return AttributeValueType.TENSOR + Onnx.AttributeProto.AttributeType.TENSORS -> return AttributeValueType.LIST_TENSOR + } + + return AttributeValueType.INVALID + } + + + + override fun internalAttributeDef(): Onnx.AttributeProto { + return attributeDef + } + + override fun internalAttributeValue(): Onnx.AttributeProto { + return attributeValue + } + + override fun listTensorValue(): List> { + return attributeValue.tensorsList.map { + input -> OnnxIRTensor(input) + } + } + + override fun tensorValue(): IRTensor { + return OnnxIRTensor(attributeValue.t) + } + + override fun stringValue(): String { + return attributeValue.s.toStringUtf8() + } + + override fun listStringValue(): List { + return attributeValue.stringsList.map { it.toStringUtf8() } + } + + override fun dataTataTypeValue(): IRDataType { + return OnnxIRDataType(Onnx.TensorProto.DataType.values()[attributeDef.t.dataType.ordinal]) + } + +} + +class OnnxIRArgDef(input: Onnx.NodeProto): IRArgDef { + private val argDefValue = input + + override fun dataType(): IRDataType { + return OnnxIRArgDef(argDefValue).dataType() + } + + override fun name(): String { + return argDefValue.name + } + + override fun description(): String { + return argDefValue.docString + } + + override fun internalValue(): Onnx.NodeProto { + return argDefValue + } + + override fun indexOf(): Integer { + TODO("Not yet implemented") + } + +} + +class OnnxIROp(input: Onnx.NodeProto): IROpDef { + + val opDef = input + + override fun attributes(): List> { + return opDef.attributeList.map { + OnnxIRAttr(it, Onnx.AttributeProto.getDefaultInstance()) + } + } + + override fun opName(): String { + return opDef.name + } + + override fun internalValue(): Onnx.NodeProto { + return opDef + } + + override fun inputArgs(): List> { + return opDef.inputList.map { + OnnxIRArgDef(opDef) + } + } + + override fun outputArgs(): List> { + return opDef.outputList.map { + OnnxIRArgDef(opDef) + } + } + +} + +class OnnxIRNode(inputNode: Onnx.NodeProto, inputOpDef: Onnx.NodeProto): IRNode { + + private val nodeDef = inputNode + private val opDef = inputOpDef + private val attrDefsMap = attrDefsByName(inputOpDef.attributeList) + private val attrMap: Map> = + initAttrMapFromNode(inputNode) + private val mappingProcess: MappingProcess + init { + mappingProcess = onnxOpRegistry.lookupOpMappingProcess(inputNode.opType) + } + + private fun attrDefsByName(input: List): Map { + val ret = HashMap() + input.forEach { + ret[it.name] = it + } + return ret + } + + private fun initAttrMapFromNode(input: Onnx.NodeProto): Map> { + val ret = HashMap>() + input.attributeList.forEach { + ret[it.name] = OnnxIRAttr(it,it) + + } + return ret + } + + override fun opName(): String { + return nodeDef.opType + } + + override fun nodeName(): String { + return nodeDef.name + } + + override fun inputAt(index: Int): String { + if(mappingProcess.indexOverrides().containsKey(index)) + return nodeDef.getInput(mappingProcess.indexOverrides()[index]!!) + return nodeDef.getInput(index) + } + + override fun outputAt(index: Int): String { + return opDef.getOutput(index) + } + + + + override fun hasAttribute(inputName: String): Boolean { + return nodeDef.attributeList.filter { it.name == inputName }.size > 0 + } + + override fun attributeMap(): Map> { + return attrMap + } + + override fun createInputsFrom(inputData: List): List> { + return inputData.map { OnnxIRTensor(it) } + } + + override fun createOutputsFrom(inputValues: List): List> { + return inputValues.map { OnnxIRTensor(it) } + } + + override fun getAttribute(inputName: String): IRAttribute { + return attrMap.getOrDefault(inputName, attrDefaultValue()) + } + + override fun internalValue(): Onnx.NodeProto { + return nodeDef + } + + override fun numInputs(): Int { + return nodeDef.inputCount + } + + override fun numOutputs(): Int { + return nodeDef.outputCount + } + + override fun inputs(): List { + return nodeDef.inputList + } + + override fun outputs(): List { + return nodeDef.outputList + } + + override fun numInputsForListOfTensors(name: String): Int { + return nodeDef.inputCount + } + + override fun inputNamesForListOfInputValues(inputListName: String): List { + return nodeDef.inputList + } + + override fun computeAdjustedOffsetForInput( + nd4jName: String, + inputFrameworkName: String, + tensorInputMappings: Map + ): Int { + //onnx doesn't have lists of values like this + return lookupIndexForArgDescriptor( + argDescriptorName = nd4jName, + opDescriptorName = this.opName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + ) + } + + override fun nd4jInputs(tensorMappings: Map): List { + return nodeDef.inputList + } + +} + + +fun Onnx.GraphProto.nodeByName(name: String): Onnx.NodeProto { + return this.nodeList.first { it.name == name }!! +} + + +class OnnxIRGraphRunner(graphDef: OnnxIRGraph,inputNames: List,outputNames: List): IRGraphRunner< + Onnx.GraphProto, + Onnx.NodeProto, + Onnx.NodeProto, + Onnx.TensorProto,Onnx.AttributeProto,Onnx.AttributeProto,Onnx.TensorProto.DataType> { + val graphDef = graphDef + val inputNames = inputNames + val outputNames = outputNames + val graphRunner: OnnxRuntimeRunner + + init { + val uuid = UUID.randomUUID().toString() + val tempFile = File("tempFile-$uuid.proto") + + val modelProto = ModelProto { + OpSetImport(OperatorSetIdProto { + version = 12 + }) + + irVersion = 7 + graph = graph().internalValue() + } + + FileUtils.writeByteArrayToFile(tempFile,modelProto.toByteArray()) + graphRunner = OnnxRuntimeRunner.builder() + .modelUri(tempFile.absolutePath) + .inputs(inputNames) + .outputs(outputNames) + .build() + tempFile.deleteOnExit() + } + + override fun graph(): IRGraph { + return graphDef + } + + override fun run(inputs: Map): Map { + return graphRunner.exec(inputs) + } + +} + + +class OnnxIRGraph(graphDef: Onnx.GraphProto): IRGraph< + Onnx.GraphProto,Onnx.NodeProto, + Onnx.NodeProto,Onnx.TensorProto,Onnx.AttributeProto,Onnx.AttributeProto, + Onnx.TensorProto.DataType> { + + val graphDef = graphDef + val opList = graphDef.nodeList + var cachedNodeList = nodeList() + override fun nodeByName(input: String): Onnx.NodeProto { + return cachedNodeList.first { inputNode -> inputNode.nodeName() == input }.internalValue() + } + + override fun nodeList(): List> { + val ret2 = ArrayList>() + //add all inputs, outputs, initializers together as "nodes" similar to TF + val identityOp = onnxops.first { op -> op.name == "Constant" } + //for model import purposes, add identity ops as dummies similar to how tensorflow does placeholders/constants + graphDef.inputList.forEach { input -> + //note: this is not a real op name in onnx, this is purely for flagging for import to grab the node from the initializer + //add dummy values for placeholders + val nodeToAdd = NodeProto { + opType = "Constant" + name = input.name + Attribute(Onnx.AttributeProto.newBuilder().setName("value"). + addTensors(Onnx.TensorProto.getDefaultInstance()).build()) + } + + ret2.add(OnnxIRNode(nodeToAdd,identityOp)) + } + + graphDef.nodeList.forEach { + val opDefOrNull = onnxops.firstOrNull { opDef -> opDef.name == it.opType } + if(opDefOrNull == null) { + throw IllegalArgumentException("Op def name ${it.opType} not found!") + } + + ret2.add(OnnxIRNode(it,opDefOrNull!!)) + } + + //create dummy nodes by inferring which nodes have outputs + //setup identity nodes that reflect the output to automatically + //map index outputs to nodes that actually have outputs + val outputNames = graphDef.outputList.map { input -> input.name }.toSet() + val outputNodes = ArrayList() + graphDef.nodeList.forEach { nodeProto -> + val outputList = nodeProto.outputList.map { input -> input.toString() }.toSet() + val containsAny = outputNames.intersect(outputList) + if(containsAny.isNotEmpty()) { + outputNodes.add(nodeProto) + } + } + + outputNodes.forEach { nodeProto -> + nodeProto.outputList.forEachIndexed { index, outputName -> + val indexOfOutput = if(index < 1) "" else ":$index" + if(!ret2.map { node -> node.nodeName() }.contains(outputName)) { + val nodeToAdd = NodeProto { + opType = "Identity" + name = outputName + Input("${nodeProto.name}$indexOfOutput") + } + + ret2.add(OnnxIRNode(nodeToAdd, identityOp)) + } + } + + } + + + + graphDef.initializerList.forEach { initializer -> + //note: this is not a real op name in onnx, this is purely for flagging for import to grab the node from the initializer + val nodeToAdd = NodeProto { + opType = "Constant" + name = initializer.name + Attribute(Onnx.AttributeProto.newBuilder().setName("value"). + addTensors(Onnx.TensorProto.getDefaultInstance()).build()) + } + + ret2.add(OnnxIRNode(nodeToAdd,identityOp)) + } + + return ret2 + } + + + fun graphDef(): Onnx.GraphProto { + return graphDef + } + + override fun internalValue(): Onnx.GraphProto { + return graphDef + } + + + + override fun createMappingContext( + opDef: Onnx.NodeProto, + node: Onnx.NodeProto, + dynamicVariables: Map + ): MappingContext { + return OnnxMappingContext(opDef = opDef,node = node,graph = this,dynamicVariables = dynamicVariables) + } + + override fun frameworkName(): String { + return "onnx" + } + + override fun nd4jNameForInternalOpName(name: String): String { + return onnxOpRegistry.lookupOpMappingProcess(name).opName() + } + + override fun isConstantOpName(name: String): Boolean { + return name == "Constant" || name == "Placeholder" + } + + override fun isConstant(opName: String): Boolean { + return opName == "Constant" + } + + override fun isPlaceHolder(opName: String): Boolean { + return opName == "Placeholder" + } + + override fun shapeOfInput(varName: String): LongArray? { + val firstOrNull = graphDef.initializerList.firstOrNull { inputNode -> inputNode.name == varName } + if(firstOrNull != null) + return firstOrNull.dimsList.toLongArray() + return null + } + + override fun dataTypeForVariable(varName: String): IRDataType { + val firstOrNull = graphDef.initializerList.firstOrNull { + inputNode -> inputNode.name == varName } + val input = graphDef.inputList.firstOrNull { input2 -> + input2.name == varName + } + if(firstOrNull != null) + return OnnxIRDataType(Onnx.TensorProto.DataType.values()[firstOrNull!!.dataType.ordinal]) + else if(input != null) + return OnnxIRDataType(input.type.tensorType.elemType) + else + return OnnxIRDataType(Onnx.TensorProto.DataType.UNDEFINED) + } + + override fun importInfoForEachNode(dynamicVariables: Map): Map, OpNamespace.OpDescriptor>> { + return importInfoForEachNodeInGraph(graph = this,dynamicVariables = dynamicVariables) + } + + override fun nodeIsPlaceHolder(nodeName: String): Boolean { + return graphDef.inputList.map { input -> input.name }.contains(nodeName) + } +} + + +class OnnxMappingContext(opDef: Onnx.NodeProto, node: Onnx.NodeProto, graph: +IRGraph< Onnx.GraphProto,Onnx.NodeProto, Onnx.NodeProto, Onnx.TensorProto, + Onnx.AttributeProto, + Onnx.AttributeProto, Onnx.TensorProto.DataType>,dynamicVariables: Map) : + AbstractMappingContext< Onnx.GraphProto,Onnx.NodeProto, Onnx.NodeProto, Onnx.TensorProto, + Onnx.AttributeProto, Onnx.AttributeProto, Onnx.TensorProto.DataType>(opDef, node, graph,dynamicVariables) { + + override fun attrDef(name: String): Onnx.AttributeProto { + val ret = opDef().attributeList.firstOrNull { it.name == name } + return ret!! + } + + override fun irAttributeValueForNode(valueName: String): IRAttribute { + val attrDef = attrDef(valueName) + var attrValue = node.attributeList.firstOrNull { it.name == valueName } + if(attrValue == null && attrDef.name == "value" && opDef.opType == "Constant") + //allow dummy values + attrValue = Onnx.AttributeProto.newBuilder().setName("value").addTensors(Onnx.TensorProto.getDefaultInstance()) + .build() + else if(attrValue == null) + throw IllegalArgumentException("Unable to resolve attribute for name $valueName for node ${nodeName()} for op type ${opName()}") + return OnnxIRAttr(inputAttributeDef = attrDef,inputAttributeValue = attrValue!!) + + } + + override fun tensorInputFor(name: String): IRTensor { + var foundIndex = -1 + opDef.inputList.forEachIndexed { + index,argDef -> if(argDef == name) foundIndex = index + } + + return tensorInputFromInputFrameworkName(name) + } + + override fun opName(): String { + return opDef.opType + } + + override fun nodeName(): String { + return opDef.name + } + + override fun nd4jDataTypeFor(input: IRTensor): DataType { + return input.dataType().nd4jDataType() + } + + override fun createIRTensorFromNDArray(ndarray: INDArray): IRTensor { + return OnnxIRTensor(convertToOnnxTensor(ndarray,"tensor")) + } + + override fun tensorAttributeFor(name: String): IRTensor { + return irAttributeValueForNode(name).tensorValue() + } + + override fun irNode(): IRNode { + return OnnxIRNode(node, onnxops.first { input -> input.name == node.opType }) + } + + override fun tensorInputFromInputFrameworkName(name: String): IRTensor { + val castedGraph = graph as OnnxIRGraph + val graphDef = castedGraph.graphDef() + var foundIndex = opDef.inputList.map { input -> input.toString() }.indexOf(name) + + + + if(foundIndex < 0) { + throw java.lang.IllegalArgumentException("Node with name ${nodeName()} for opdef with name ${opDef.name} did not contain a tensor with name ${name}") + } + + /** + * Use op definition name as 1 unified reference name in rules for static purposes, but + * look up via index for specific node mappings. + * + * This is equivalent to the tf input position attribute value in the previous tensorflow import. + */ + val graphNode = if(node.opType == "Constant") name else node.getInput(foundIndex) + val attemptedTensor = graphDef.initializerList.firstOrNull { it.name == graphNode } + + //no value to be found on placeholder, return default instance + //if no value exists it's an output from another node + if(attemptedTensor == null) { + println("Value for node $graphNode is not a constant! This method only works for constants. Consider replacing the Placeholder node with a Constant node. This will return an empty tensor.") + if(!dynamicVariables.containsKey(graphNode)) + return OnnxIRTensor(Onnx.TensorProto.getDefaultInstance()) + else { + val toConvert = dynamicVariables[graphNode]!! + return OnnxIRTensor(toConvert) + } + } + + //value nodes are the values of attributes that are input nodes in a frozen graph + if(attemptedTensor == null) { + throw IllegalArgumentException("Name $name not found in initializer list.") + } + return OnnxIRTensor(attemptedTensor!!) + } + +} + + + +fun onnxAttributeTypeFor(attributeName: String,opDef: Onnx.NodeProto): AttributeValueType { + if(isOnnxTensorName(attributeName,opDef)) + return AttributeValueType.TENSOR + return OnnxIRAttr(opDef.attributeList.first { + attributeProto -> attributeProto.name == attributeName }, + Onnx.AttributeProto.getDefaultInstance()).attributeValueType() +} + +fun isOnnxTensorName(name: String, opDef: Onnx.NodeProto): Boolean { + return opDef.inputList.contains(name) +} + + +fun isOnnxAttributeName(name: String, opDef: Onnx.NodeProto): Boolean { + return opDef.attributeList.map { attrDef -> attrDef.name }.contains(name) +} + + +fun convertToOnnxDataType(dataType: DataType): Onnx.TensorProto.DataType { + return when (dataType) { + DataType.UINT16 -> Onnx.TensorProto.DataType.UINT16 + DataType.UINT32 -> Onnx.TensorProto.DataType.UINT32 + DataType.UINT64 -> Onnx.TensorProto.DataType.UINT64 + DataType.BOOL -> Onnx.TensorProto.DataType.BOOL + DataType.FLOAT -> Onnx.TensorProto.DataType.FLOAT + DataType.INT -> Onnx.TensorProto.DataType.INT32 + DataType.LONG -> Onnx.TensorProto.DataType.INT64 + DataType.BYTE -> Onnx.TensorProto.DataType.INT8 + DataType.SHORT -> Onnx.TensorProto.DataType.INT16 + DataType.DOUBLE -> Onnx.TensorProto.DataType.DOUBLE + DataType.UBYTE -> Onnx.TensorProto.DataType.UINT8 + DataType.HALF -> Onnx.TensorProto.DataType.FLOAT16 + DataType.UTF8 -> Onnx.TensorProto.DataType.STRING + else -> throw UnsupportedOperationException("Unknown Onnx data type: [" + dataType.name + "]") + } +} + + +fun convertToOnnxTensor(inputArray: INDArray, name: String): Onnx.TensorProto { + val dtype = convertToOnnxDataType(inputArray.dataType()) + val newBuilder = Onnx.TensorProto.newBuilder() + newBuilder.dataType = dtype + newBuilder.addAllDims(inputArray.shape().toList()) + newBuilder.name = name + when(dtype) { + Onnx.TensorProto.DataType.STRING -> { + return OnnxTensorProto { + val stringList = ArrayList() + for (i in 0 until inputArray.length()) { + stringList.add(inputArray.getString(i)) + } + + newBuilder.addAllStringData(stringList.map { input -> ByteString.copyFrom(input.toByteArray(Charset.defaultCharset())) }) + } + } + + Onnx.TensorProto.DataType.DOUBLE -> { + newBuilder.addAllDoubleData(inputArray.data().asDouble().asList()) + } + + Onnx.TensorProto.DataType.FLOAT -> { + newBuilder.addAllFloatData(inputArray.data().asFloat().asList()) + } + + Onnx.TensorProto.DataType.INT32 -> { + newBuilder.addAllInt32Data(inputArray.data().asInt().asList()) + } + + Onnx.TensorProto.DataType.INT64 -> { + newBuilder.addAllInt64Data(inputArray.data().asLong().asList()) + } + + else -> { + newBuilder.rawData = ByteString.copyFrom(inputArray.data().asBytes()) + } + } + return newBuilder.build() + +} + + +fun attributeValueTypeForOnnxAttribute(attributeDef: Onnx.AttributeProto) : AttributeValueType { + when(attributeDef.type) { + Onnx.AttributeProto.AttributeType.STRING -> return AttributeValueType.STRING + Onnx.AttributeProto.AttributeType.STRINGS -> return AttributeValueType.LIST_STRING + Onnx.AttributeProto.AttributeType.INT-> return AttributeValueType.INT + Onnx.AttributeProto.AttributeType.INTS -> return AttributeValueType.LIST_INT + Onnx.AttributeProto.AttributeType.FLOAT -> return AttributeValueType.FLOAT + Onnx.AttributeProto.AttributeType.FLOATS -> return AttributeValueType.LIST_FLOAT + Onnx.AttributeProto.AttributeType.TENSOR -> return AttributeValueType.TENSOR + Onnx.AttributeProto.AttributeType.TENSORS -> return AttributeValueType.LIST_TENSOR + } + + return AttributeValueType.INVALID +} + + + diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/onnx/OnnxMappingProcess.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/onnx/OnnxMappingProcess.kt new file mode 100644 index 000000000..4f4e3dcf8 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/onnx/OnnxMappingProcess.kt @@ -0,0 +1,47 @@ +package org.nd4j.codegen.ir.onnx + +import onnx.Onnx +import org.nd4j.codegen.ir.AbstractMappingProcess +import org.nd4j.codegen.ir.AttributeMappingRule +import org.nd4j.codegen.ir.AttributeValueType +import org.nd4j.codegen.ir.TensorMappingRule +import org.nd4j.codegen.ir.registry.OpMappingRegistry + +open class OnnxMappingProcess(inputFramework: String = "onnx", + frameworkVersion: String = "1.4", + inputFrameworkOpName: String, + opName: String, + opMappingRegistry: OpMappingRegistry, + tensorMappingRules: List> = emptyList(), + inputIndexOverrides: Map = emptyMap(), + attributeMappingRules: List> = emptyList()) + : AbstractMappingProcess( + inputFramework, + frameworkVersion, + inputFrameworkOpName, + inputIndexOverrides, + opName, + opMappingRegistry, + tensorMappingRules, + attributeMappingRules) { + override fun inputOpDefValueTypes(): Map { + val opDef = opMappingRegistry.lookupInputFrameworkOpDef(inputFrameworkOpName) + val ret = HashMap() + opDef.attributeList.forEach { attributeProto -> + ret[attributeProto.name] = attributeValueTypeForOnnxAttribute(attributeProto) + } + + return ret + } + +} + diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/onnx/OnnxOpDeclarations.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/onnx/OnnxOpDeclarations.kt new file mode 100644 index 000000000..02d25b81e --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/onnx/OnnxOpDeclarations.kt @@ -0,0 +1,996 @@ +package org.nd4j.codegen.ir.onnx + +import onnx.Onnx +import org.nd4j.codegen.ir.ArgDescriptor +import org.nd4j.codegen.ir.AttributeMappingRule +import org.nd4j.codegen.ir.nd4jOpDescriptors +import org.nd4j.codegen.ir.registry.OpMappingRegistry +import org.nd4j.codegen.ir.registry.OpRegistryHolder +import org.nd4j.ir.OpNamespace + +val onnxOpRegistry = OpMappingRegistry("onnx") +val names = mapOf( + "Acos" to "acos", + "Acosh" to "acosh", + "Asin" to "asin", + "Asinh" to "asinh", + "Atan" to "atan", + "Atanh" to "atanh", + "Cos" to "cos", + "Cosh" to "cosh", + "Erf" to "erf", + "Exp" to "exp", + "Identity" to "identity", + "Log" to "log", + "Sign" to "sign", + "Sin" to "sin", + "Sinh" to "sinh", + "Softsign" to "softsign", + "Tan" to "tan", + "Tanh" to "tanh" + +) + +val pairWiseNames = mapOf( + "And" to "boolean_and") + +val equal = OnnxMappingProcess( + inputFrameworkOpName = "Equal", + opName = "equals", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "A","y" to "B"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry) + + +val sub = OnnxMappingProcess( + inputFrameworkOpName = "Sub", + opName = "subtract", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "A","y" to "B"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry) + +val mul = OnnxMappingProcess( + inputFrameworkOpName = "Mul", + opName = "multiply", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "A","y" to "B"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry) + +val lessEqual = OnnxMappingProcess( + inputFrameworkOpName = "LessOrEqual", + opName = "less_equal", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "A","y" to "B"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry) + + +val less = OnnxMappingProcess( + inputFrameworkOpName = "Less", + opName = "less", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "A","y" to "B"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry) + +val greaterEqual = OnnxMappingProcess( + inputFrameworkOpName = "GreaterOrEqual", + opName = "greater_equal", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "A","y" to "B"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry) + + +val greater = OnnxMappingProcess( + inputFrameworkOpName = "Greater", + opName = "greater", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "A","y" to "B"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry) + +val divide = OnnxMappingProcess( + inputFrameworkOpName = "Div", + opName = "divide", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "A","y" to "B"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry) + + +val add = OnnxMappingProcess( + inputFrameworkOpName = "Add", + opName = "add", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "A","y" to "B"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry) +//Adagrad +//Adam + + +//unmapped: select_last_index +val argMax = OnnxMappingProcess( + opName = "argmax", + inputFrameworkOpName = "ArgMax", + tensorMappingRules = listOf(NDArrayMappingRule(mappingNamesToPerform = mutableMapOf("input" to "data"))), + attributeMappingRules = listOf( + invertBooleanNumber(mapOf("keepDims" to "keepdims")), + valueMappings(mutableMapOf("dimensions" to "axis"))), + opMappingRegistry = onnxOpRegistry +) + +//unmapped: select_last_index +val argMin = OnnxMappingProcess( + opName = "argmin", + inputFrameworkOpName = "ArgMin", + tensorMappingRules = listOf(NDArrayMappingRule(mappingNamesToPerform = mutableMapOf("input" to "data"))), + attributeMappingRules = listOf( + invertBooleanNumber(mapOf("keepDims" to "keepdims")), + valueMappings(mutableMapOf("dimensions" to "axis"))), + opMappingRegistry = onnxOpRegistry +) + + +//Note: weight formats are NCHW in ONNX +val avgPool = OnnxMappingProcess( + inputFrameworkOpName = "AveragePool", + opName = "avgpool2d", + opMappingRegistry = onnxOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))), + attributeMappingRules = listOf( + argDescriptorConstant(argDescriptorConstants = listOf(ArgDescriptor { + name = "isNCHW" + int64Value = 1 + argIndex = 10 + })), + intConstant(inputName = "dH",constantValue = 0 as Integer,argumentIndex = 6)[0], + intConstant(inputName = "dW",constantValue = 0 as Integer,argumentIndex = 7)[0], + intConstant(inputName = "extraParam0",constantValue = 0 as Integer,argumentIndex = 9)[0], + stringContainsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "auto_pad",valueToTest = "SAME",argumentIndex = 8), + listAttributeValueLookup(outputAttributeValue = "pH",inputAttributeValue = "pads",indexValue = 0,argumentIndex = 4), + listAttributeValueLookup(outputAttributeValue = "pW",inputAttributeValue = "pads",indexValue = 1,argumentIndex = 5), + listAttributeValueLookup(outputAttributeValue = "sH",inputAttributeValue = "strides",indexValue = 0,argumentIndex = 2), + listAttributeValueLookup(outputAttributeValue = "sW",inputAttributeValue = "strides",indexValue = 1,argumentIndex = 3), + listAttributeValueLookup(outputAttributeValue = "kW",inputAttributeValue = "kernel_shape",indexValue = 1,argumentIndex = 1), + listAttributeValueLookup(outputAttributeValue = "kH",inputAttributeValue = "kernel_shape",indexValue = 0,argumentIndex = 0))) + +val batchNorm = OnnxMappingProcess( + opName = "batchnorm", + opMappingRegistry = onnxOpRegistry, + inputFrameworkOpName = "BatchNormalization", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X","mean" to "mean","variance" to "var","gamma" to "scale"))), + attributeMappingRules = listOf(valueMappings(mapOf("epsilon" to "epsilon")), + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0], + booleanConstant(inputName = "applyGamma",constantValue = true,argumentIndex = 1)[0], + booleanConstant(inputName = "applyBeta",constantValue = true,argumentIndex = 2)[0], + intConstant(inputName = "applyScale",constantValue = 1 as Integer,argumentIndex = 0)[0], + intConstant(inputName = "applyOffset",constantValue = 1 as Integer,argumentIndex = 1)[0] + )) +//TODO: Binarizer +//TODO: Bitshift +//TODO: Cast +//TODO: CastMap +//TODO: CategoryMapper +//TODO: Celu +//TODO: Clip +//TODO: Compress +val concat = OnnxMappingProcess( + opName = "concat", + inputFrameworkOpName = "Concat", + opMappingRegistry = onnxOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "inputs"))), + attributeMappingRules = listOf(valueMappings(mapOf("concatDimension" to "axis")), + booleanConstant(inputName = "isDynamicAxis",constantValue = false,argumentIndex = 0)[0]) + +) +//TODO: ConcatFromSequence +val constantFill = OnnxMappingProcess( + opName = "fill", + inputFrameworkOpName = "ConstantOfShape", + opMappingRegistry = onnxOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("shapeArray" to "input"))), + attributeMappingRules = listOf(ndarrayAttributeToScalarAttribute(outputAttributeValue = "value",inputAttributeValue = "value"), + intConstant(inputName = "outputDataType",constantValue = 0 as Integer,argumentIndex = 0)[0]) +) + +//TODO: ConvInteger +//TODO: ConvTranspose +val cumSum = OnnxMappingProcess( + opName = "cumsum", + inputFrameworkOpName = "CumSum", + opMappingRegistry = onnxOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x"))), + attributeMappingRules = listOf(valueMappings(mapOf("exclusive" to "exclusive","reverse" to "reverse")), + ndarrayToIntList(ndarrayNameToAttributeName = mutableMapOf("dimensions" to "axis"))) +) + +val depthToSpace = OnnxMappingProcess( + opName = "depth_to_space", + inputFrameworkOpName = "DepthToSpace", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + //note onnx is NCHW by default + attributeMappingRules = listOf(valueMappings(mapOf("block_size" to "blocksize")), + intConstant(inputName = "isNHWC",constantValue = 1 as Integer,argumentIndex = 1)[0]), + opMappingRegistry = onnxOpRegistry +) + +//TODO: DequantizeLinear +val determinant = OnnxMappingProcess( + opName = "matrix_determinant", + inputFrameworkOpName = "Det", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry +) + + +//TODO: DictVectorizer +//Dropout: Note https://github.com/eclipse/deeplearning4j/issues/5650 +val dropout = OnnxMappingProcess( + opName = "dropout_inverted", + inputFrameworkOpName = "Dropout", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + attributeMappingRules = listOf(convertNDArrayInputToScalarAttr(outputAttributeValue = "p" ,inputAttributeValue = "ratio")), + opMappingRegistry = onnxOpRegistry +) + + +val floor = OnnxMappingProcess( + opName = "floor", + inputFrameworkOpName = "Floor", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry +) + +val round = OnnxMappingProcess( + opName = "round", + inputFrameworkOpName = "Round", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry +) + +val mod = OnnxMappingProcess( + opName = "mod", + inputFrameworkOpName = "Mod", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "A","y" to "B"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry +) + + +val sigmoid = OnnxMappingProcess( + opName = "sigmoid", + inputFrameworkOpName = "Sigmoid", + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))), + opMappingRegistry = onnxOpRegistry +) + + +val logSoftmax = OnnxMappingProcess( + opName = "log_softmax", + inputFrameworkOpName = "LogSoftmax", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf(valueMappings(mutableMapOf("dimension" to "axis"))), + opMappingRegistry = onnxOpRegistry +) +val softmax = OnnxMappingProcess( + opName = "softmax", + inputFrameworkOpName = "Softmax", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf(valueMappings(mutableMapOf("dimension" to "axis")), + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0]), + opMappingRegistry = onnxOpRegistry +) + + +//TODO: DynamicQuantizeLinear +//TODO: Einsum +//TODO: Expand +//TODO: EyeLike +//TODO: FeatureVectorizer +//TODO: Flatten +val gru = OnnxMappingProcess( + opMappingRegistry = onnxOpRegistry, + inputFrameworkOpName = "GRU", + opName = "gruCell", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf( + "input" to "X", + "Wru" to "R", + "Wc" to "W", + "bc" to "B", + "hLast" to "initial_h", + //TODO: erroneous mappings + "bru" to "B"))), + attributeMappingRules = listOf() +) + +val gather = OnnxMappingProcess( + opMappingRegistry = onnxOpRegistry, + inputFrameworkOpName = "Gather", + opName = "gather", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("indices" to "indices","input" to "data"))), + attributeMappingRules = listOf(valueMappings(mapOf("dimensions" to "axis")), + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0]) +) +//TODO: GatherElements +val gatherNd = OnnxMappingProcess( + opMappingRegistry = onnxOpRegistry, + inputFrameworkOpName = "GatherND", + opName = "gather_nd", + attributeMappingRules = booleanConstant(inputName = "checkIndices",constantValue = true,argumentIndex = 0), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("indices" to "indices","input" to "data"))) +) + + +val gemm = OnnxMappingProcess( + opMappingRegistry = onnxOpRegistry, + inputFrameworkOpName = "Gemm", + opName = "matmul", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "A","y" to "B"))), + attributeMappingRules = listOf(valueMappings(mapOf("alpha" to "alpha","beta" to "beta")), + booleanConstant(inputName = "transposeZ",constantValue = false,argumentIndex = 2)[0], + invertBooleanNumber(mutableMapOf("transposeX" to "transA","transposeY" to "transB"))) +) +//TODO: GlobalAveragePool +//TODO: GlobalLpPool +//TODO: GlobalMaxPool +//TODO: Gradient +//TODO: GraphCall +val hardSigmoid = OnnxMappingProcess( + opName = "hard_sigmoid", + inputFrameworkOpName = "HardSigmoid", + opMappingRegistry = onnxOpRegistry, + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))) +) + + + +//TODO: map is-negative,is-positive +val isInf = OnnxMappingProcess( + opName = "isinf", + inputFrameworkOpName = "IsInf", + opMappingRegistry = onnxOpRegistry, + attributeMappingRules = booleanConstant(inputName = "inPlace", constantValue = false,argumentIndex = 0), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))) +) + + + +val or = OnnxMappingProcess( + opName = "or", + inputFrameworkOpName = "Or", + opMappingRegistry = onnxOpRegistry, + attributeMappingRules = listOf(booleanConstant(inputName = "inPlace", constantValue = false,argumentIndex = 0)[0], + doubleConstant(inputName = "comparable", constantValue = 0.0,argumentIndex = 0)[0]), + tensorMappingRules = listOf(mappingNDArrayInputs((mutableMapOf("input" to "A","y" to "B")))) +) + +val xor = OnnxMappingProcess( + opName = "bitwise_xor", + inputFrameworkOpName = "Xor", + opMappingRegistry = onnxOpRegistry, + attributeMappingRules = listOf(booleanConstant(inputName = "inPlace", constantValue = false,argumentIndex = 0)[0]), + tensorMappingRules = listOf(mappingNDArrayInputs((mutableMapOf("input" to "A","y" to "B")))) +) + + + +//TODO: Hardmax +//TODO: If +//TODO: Imputer +//TODO: InstanceNormalization +val lrn = OnnxMappingProcess( + opName = "lrn", + inputFrameworkOpName = "LRN", + opMappingRegistry = onnxOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))), + attributeMappingRules = listOf(valueMappings(mapOf("alpha" to "alpha","beta" to "beta","bias" to "bias","depth" to "size")), + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0]) + +) + +//0=tanh, 1=relu, 2=sigmoid, 3=affine, 4=leaky relu, 5= thresholded relu, 6=scaled tanh, 7=hard sigmoid, 8=ELU, 9=softsign, 10=softplus + +val lstmActivationMap = mapOf( + "Relu" to 1, + "Tanh" to 0, + "Sigmoid" to 2, + "Affine" to 3, + "LeakyRelu" to 4, + "ThresholdedRelu" to 5, + "ScaledTanh" to 6, + "HardSigmoid" to 7, + "Elu" to 8, + "Softsign" to 9, + "Softplus" to 10 +) + +val lstm = OnnxMappingProcess( + opMappingRegistry = onnxOpRegistry, + inputFrameworkOpName = "LSTM", + opName = "lstmLayer", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf( + "input" to "X", + "Wx" to "W", + "Wr" to "R", + "Wp" to "P", + "b" to "B", + "seqLen" to "sequence_lens", + "hI" to "initial_h", + "cI" to "initial_c"))), + attributeMappingRules = listOf(valueMappings(mapOf("cellClip" to "clip")), + stringToIndex(outputAttributeValue = "directionMode", + inputAttributeValue = "direction", + listOfValues = listOf("forward","reverse","bidirectional"),argumentIndex = 1), + intConstant(inputName = "dataFormat",constantValue = 0 as Integer,argumentIndex = 0)[0], + booleanConstant(inputName = "hasBiases",constantValue = true,argumentIndex = 0)[0], + booleanConstant(inputName = "hasSeqLen",constantValue = true,argumentIndex = 1)[0], + booleanConstant(inputName = "hasInitH",constantValue = true,argumentIndex = 2)[0], + booleanConstant(inputName = "hasInitC",constantValue = true,argumentIndex = 3)[0], + booleanConstant(inputName = "hasPH",constantValue = true,argumentIndex = 4)[0], + booleanConstant(inputName = "retFullSeq",constantValue = true,argumentIndex = 5)[0], + booleanConstant(inputName = "retLastH",constantValue = true,argumentIndex = 6)[0], + booleanConstant(inputName = "retLastC",constantValue = true,argumentIndex = 7)[0], + listAttributeValueLookup(outputAttributeValue = "gateAlpha",inputAttributeValue = "activation_alpha",indexValue = 0,argumentIndex = 1), + listAttributeValueLookup(outputAttributeValue = "cellAlpha",inputAttributeValue = "activation_alpha",indexValue = 1,argumentIndex = 3), + listAttributeValueLookup(outputAttributeValue = "outAlpha",inputAttributeValue = "activation_alpha",indexValue = 2,argumentIndex = 5), + listAttributeValueLookup(outputAttributeValue = "gateBeta",inputAttributeValue = "activation_beta",indexValue = 0,argumentIndex = 2), + listAttributeValueLookup(outputAttributeValue = "cellBeta",inputAttributeValue = "activation_beta",indexValue = 1,argumentIndex = 4), + listAttributeValueLookup(outputAttributeValue = "outBeta",inputAttributeValue = "activation_beta",indexValue = 2,argumentIndex = 6), + mapStringToInt(outputAttributeValue = "gateAct",inputAttributeValue = "activations",argumentIndex = 2,mapOfValuesToInts = lstmActivationMap,lookupIndex = 0), + mapStringToInt(outputAttributeValue = "cellAct",inputAttributeValue = "activations",argumentIndex = 3,mapOfValuesToInts =lstmActivationMap,lookupIndex = 1), + mapStringToInt(outputAttributeValue = "outAct",inputAttributeValue = "activations",argumentIndex = 4,mapOfValuesToInts = lstmActivationMap,lookupIndex = 2)) +) +//TODO: LabelEncoder +val leakyRelu = OnnxMappingProcess( + inputFrameworkOpName = "LeakyRelu", + opName = "leakyrelu", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))), + attributeMappingRules = listOf(valueMappings(mapOf("alpha" to "alpha"))), + opMappingRegistry = onnxOpRegistry +) +//TODO: LinearClassifier +//TODO: LinearRegressor +//TODO: Loop +//TODO: LpNormalization +//TODO: LpPool +val matMul = OnnxMappingProcess( + opMappingRegistry = onnxOpRegistry, + inputFrameworkOpName = "MatMul", + opName = "matmul", + attributeMappingRules = listOf(booleanConstant(inputName = "transposeX",constantValue = false,argumentIndex = 0)[0], + booleanConstant(inputName = "transposeY",constantValue = false,argumentIndex = 1)[0], + booleanConstant(inputName = "transposeZ",constantValue = false,argumentIndex = 2)[0], + doubleConstant(inputName = "alpha",constantValue = 0.0,argumentIndex = 0)[0], + doubleConstant(inputName = "beta",constantValue = 1.0,argumentIndex = 1)[0]), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "A","y" to "B"))) +) + + +//TODO: MatMulInteger +//TODO: Max +val maxPool = OnnxMappingProcess( + inputFrameworkOpName = "MaxPool", + opName = "maxpool2d", + opMappingRegistry = onnxOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))), + attributeMappingRules = listOf( + argDescriptorConstant(argDescriptorConstants = listOf(ArgDescriptor { + name = "isNCHW" + int64Value = 1 + argIndex = 10 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + })), + intConstant(inputName = "extraParam0",argumentIndex = 9,constantValue = 0 as Integer)[0], + stringContainsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "auto_pad",valueToTest = "SAME",argumentIndex = 8), + listAttributeValueLookup(outputAttributeValue = "dH",inputAttributeValue = "dilations",indexValue = 0,argumentIndex = 6), + listAttributeValueLookup(outputAttributeValue = "dW",inputAttributeValue = "dilations",indexValue = 1,argumentIndex = 7), + listAttributeValueLookup(outputAttributeValue = "pH",inputAttributeValue = "pads",indexValue = 0,argumentIndex = 4), + listAttributeValueLookup(outputAttributeValue = "pW",inputAttributeValue = "pads",indexValue = 1,argumentIndex = 5), + listAttributeValueLookup(outputAttributeValue = "sH",inputAttributeValue = "strides",indexValue = 0,argumentIndex = 2), + listAttributeValueLookup(outputAttributeValue = "sW",inputAttributeValue = "strides",indexValue = 1,argumentIndex = 3), + listAttributeValueLookup(outputAttributeValue = "kH",inputAttributeValue = "kernel_shape",indexValue = 0,argumentIndex = 0), + listAttributeValueLookup(outputAttributeValue = "kW",inputAttributeValue = "kernel_shape",indexValue = 1,argumentIndex = 1))) + + +//TODO: MaxRoiPool +//TODO: MaxUnpool +//TODO: name: "MeanVarianceNormalization" +//todo: Momentum +//TODO: Multinomial +//TODO: NegativeLogLikelihoodLoss +val nonMaxSuppression = OnnxMappingProcess( + inputFrameworkOpName = "NonMaxSuppression", + opName = "non_max_suppression_v3", + opMappingRegistry = onnxOpRegistry, + attributeMappingRules = listOf(ndarrayToIntList(mutableMapOf("maxOutputSize" to "max_output_boxes_per_class"))), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf( + "boxes" to "boxes", + "scales" to "scores", + "maxOutSize" to "max_output_boxes_per_class", + "iouThreshold" to "iou_threshold", + "scoreThreshold" to "score_threshold"))) +) +//TODO: NonZero PRIORITIZE +//TODO: Normalizer +//TODO: OneHot +//TODO: OneHotEncoder +//TODO: look at broadcasting rules between slope input +val pRelu = OnnxMappingProcess( + inputFrameworkOpName = "PRelu", + opName = "prelu", + //TODO: verify default value + attributeMappingRules = listOf(argDescriptorConstant(listOf( + ArgDescriptor { + name = "sharedAxes" + argIndex = 0 + int64Value = -1 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + } + ))), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X","alpha" to "slope"))), + opMappingRegistry = onnxOpRegistry +) + +val pad = OnnxMappingProcess( + inputFrameworkOpName = "Pad", + opMappingRegistry = onnxOpRegistry, + opName = "pad", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data","paddings" to "pads"))), + attributeMappingRules = listOf( + stringToIndex(outputAttributeValue = "mode",inputAttributeValue = "mode",listOfValues = listOf("constant","reflect","edge"),argumentIndex = 0), + doubleConstant(inputName = "padValue",constantValue = 0.0,argumentIndex = 0)[0]) +) + +//TODO: QLinearConv +//TODO: QLinearMatMul +//TODO: QuantizeLinear +//TODO: RNN PRIORITIZE +val randomNormal = OnnxMappingProcess( + inputFrameworkOpName = "RandomNormal", + opName = "random_normal", + opMappingRegistry = onnxOpRegistry, + attributeMappingRules = listOf(listNumberToNDarray(outputAttributeValue = "input",inputAttributeValue = "shape")) +) + + +//TODO: RandomNormalLike +//TODO: Note that the attributes for random unifrom are wrong and needed to be discovered through other means. +//The combination of a lack of a java class + the c++ calling out to other functions which had the actual parameters +//names prevented resolution of the real parameter names. May have to look in to values that are passed inline in to functions and look up +//parameter names that way. + +val randomUniform = OnnxMappingProcess( + inputFrameworkOpName = "RandomUniform", + opName = "randomuniform", + opMappingRegistry = onnxOpRegistry, + attributeMappingRules = listOf(valueMappings(mapOf("min" to "low","max" to "high")), + listNumberToNDarray(outputAttributeValue = "shape",inputAttributeValue = "shape")) +) + +//TODO: RandomUniformLike +val range = OnnxMappingProcess( + inputFrameworkOpName = "Range", + opName = "range", + opMappingRegistry = onnxOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("from" to "start","to" to "limit","step" to "delta"))), + attributeMappingRules = listOf( + convertNDArrayInputToScalarAttr(outputAttributeValue = "from",inputAttributeValue = "start"), + convertNDArrayInputToScalarAttr(outputAttributeValue = "to",inputAttributeValue = "limit"), + convertNDArrayInputToScalarAttr(outputAttributeValue = "step",inputAttributeValue = "delta")) +) + +val neg = OnnxMappingProcess( + opName = "neg", + inputFrameworkOpName = "Neg", + opMappingRegistry = onnxOpRegistry, + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))) +) + + +val norm1 = OnnxMappingProcess( + inputFrameworkOpName = "ReduceL1", + opMappingRegistry = onnxOpRegistry, + opName = "reduce_norm1", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + attributeMappingRules = listOf(invertBooleanNumber(mapOf("keepDims" to "keepdims")), + listNumberToListNumber(outputAttributeValue = "dimensions",inputAttributeValue = "axes")) + +) + +val norm2 = OnnxMappingProcess( + inputFrameworkOpName = "ReduceL2", + opMappingRegistry = onnxOpRegistry, + opName = "reduce_norm2", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + attributeMappingRules = listOf( + invertBooleanNumber(mapOf("keepDims" to "keepdims")), + listNumberToListNumber(outputAttributeValue = "dimensions",inputAttributeValue = "axes")) +) + +//TODO: ReduceLogSum +val reduceLogSumExp = OnnxMappingProcess( + inputFrameworkOpName = "ReduceLogSumExp", + opName = "reduce_logsumexp", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + attributeMappingRules = listOf( + invertBooleanNumber(mutableMapOf("keepDims" to "keepdims")), + valueMappings(mutableMapOf("keepDims" to "keepdims")), + listNumberToListNumber(outputAttributeValue = "dimensions",inputAttributeValue = "axes")), + opMappingRegistry = onnxOpRegistry +) +val reduceMax = OnnxMappingProcess( + inputFrameworkOpName = "ReduceMax", + opName = "reduce_max", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + attributeMappingRules = listOf( + invertBooleanNumber(mapOf("keepDims" to "keepdims")), + listNumberToListNumber(outputAttributeValue = "dimensions",inputAttributeValue = "axes")), + opMappingRegistry = onnxOpRegistry +) +val reduceMean = OnnxMappingProcess( + inputFrameworkOpName = "ReduceMean", + opName = "reduce_mean", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + attributeMappingRules = listOf( + invertBooleanNumber(mapOf("keepDims" to "keepdims")), + listNumberToListNumber(outputAttributeValue = "dimensions",inputAttributeValue = "axes")), + opMappingRegistry = onnxOpRegistry +) +val reduceMin = OnnxMappingProcess( + inputFrameworkOpName = "ReduceMin", + opName = "reduce_min", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + attributeMappingRules = listOf( + invertBooleanNumber(mapOf("keepDims" to "keepdims")), + listNumberToListNumber(outputAttributeValue = "dimensions",inputAttributeValue = "axes")), + opMappingRegistry = onnxOpRegistry +) +val reduceProd = OnnxMappingProcess( + inputFrameworkOpName = "ReduceProd", + opName = "reduce_prod", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + attributeMappingRules = listOf(invertBooleanNumber(mapOf("keepDims" to "keepdims")), + listNumberToListNumber(outputAttributeValue = "dimensions",inputAttributeValue = "axes")), + opMappingRegistry = onnxOpRegistry +) + +val reduceSum = OnnxMappingProcess( + inputFrameworkOpName = "ReduceSum", + opName = "reduce_sum", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + attributeMappingRules = listOf(invertBooleanNumber(mapOf("keepDims" to "keepdims")), + listNumberToListNumber(outputAttributeValue = "dimensions",inputAttributeValue = "axes")), + opMappingRegistry = onnxOpRegistry +) +//TODO: ReduceSumSquare +//TODO: Resize PRIORITIZE +//TODO: ReverseSequence +//TODO: RoiAlign +//TODO: SVMClassifier +//TODO: SVMRegressor +//TODO: Scaler +//TODO: Scan +val scatter = OnnxMappingProcess( + opMappingRegistry = onnxOpRegistry, + inputFrameworkOpName = "ScatterElements", + opName = "scatter_update", + attributeMappingRules = listOf( + valueMappings(mutableMapOf("dimension" to "axis")), + ndarrayToIntList(ndarrayNameToAttributeName = mutableMapOf("indices" to "indices"))), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("operand" to "data","updates" to "updates"))) +) + +/* +val scatterNd = OnnxMappingProcess( + opName = "scatter_nd_update", + inputFrameworkOpName = "ScatterNd", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data","indices" to "indices","updates" to "updates"))), + opMappingRegistry = onnxOpRegistry +) +*/ + +//TODO: SequenceAt +//TODO: SequenceConstruct +//TODO: SequenceErase +//TODO: SequenceInsert +//TODO: SequenceLength +val shape = OnnxMappingProcess( + opName = "shape_of", + inputFrameworkOpName = "Shape", + opMappingRegistry = onnxOpRegistry, + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + tensorMappingRules = listOf(mappingNDArrayInputs((mutableMapOf("input" to "data")))) +) +//TODO: Shrink + +val not = OnnxMappingProcess( + opName = "not", + inputFrameworkOpName = "Not", + opMappingRegistry = onnxOpRegistry, + attributeMappingRules = doubleConstant(inputName = "comparable",constantValue = 0.0,argumentIndex = 0), + tensorMappingRules = listOf(mappingNDArrayInputs((mutableMapOf("input" to "X")))) +) + + +val pow = OnnxMappingProcess( + opName = "pow_pairwise", + inputFrameworkOpName = "Pow", + opMappingRegistry = onnxOpRegistry, + attributeMappingRules = listOf( + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0]), + tensorMappingRules = listOf(mappingNDArrayInputs((mutableMapOf("input" to "X","y" to "Y")))) +) + +val size = OnnxMappingProcess( + opName = "size", + inputFrameworkOpName = "Size", + opMappingRegistry = onnxOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs((mutableMapOf("input" to "data")))) +) + +//TODO: map axes +//TODO: slice and strided slice work too differently,revisit one +/*val slice = OnnxMappingProcess( + opMappingRegistry = onnxOpRegistry, + inputFrameworkOpName = "Slice", + opName = "strided_slice", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + attributeMappingRules = listOf(ndarrayToIntList(mutableMapOf("v_begin" to "starts","v_end" to "ends","v_stride" to "steps", + //TODO: note these mappings are erroneous, we need better default values here for equivalent functionality in onnx + "begin_mask" to "begin","end_mask" to "end"))) +)*/ + + +//TODO: SoftmaxCrossEntropyLoss +val spaceToDepth = OnnxMappingProcess( + opName = "space_to_depth", + inputFrameworkOpName = "SpaceToDepth", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf(valueMappings(mapOf("block_size" to "blocksize")), + argDescriptorConstant(listOf(ArgDescriptor { + name = "isNHWC" + int64Value = 1 + argIndex = 1 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + + }))), + opMappingRegistry = onnxOpRegistry +) + +//TODO: don't know a good default value for num_splits, look at TF and implementation in libnd4j to figure out best value +val split = OnnxMappingProcess( + opName = "split", + inputFrameworkOpName = "Split", + opMappingRegistry = onnxOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("a" to "input"))), + attributeMappingRules = listOf(valueMappings(mapOf("dimensions" to "axis")), + intConstant(inputName = "num_splits",constantValue = 0 as Integer,argumentIndex = 0)[0], + listNumberToNDarray(outputAttributeValue = "b" ,inputAttributeValue = "split")) +) + +val sqrt = OnnxMappingProcess( + opName = "sqrt", + inputFrameworkOpName = "Sqrt", + opMappingRegistry = onnxOpRegistry, + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + tensorMappingRules = listOf(mappingNDArrayInputs((mutableMapOf("input" to "X")))) +) + +val softplus = OnnxMappingProcess( + opMappingRegistry = onnxOpRegistry, + inputFrameworkOpName = "Softplus", + opName = "softplus", + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))) +) + +//TODO: SplitToSequence +val squeeze = OnnxMappingProcess( + opName = "squeeze", + inputFrameworkOpName = "Squeeze", + opMappingRegistry = onnxOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + attributeMappingRules = listOf(convertNumericalListToNDArray(outputAttributeValue = "a" ,inputAttributeValue = "axes"), + listNumberToListNumber(outputAttributeValue = "_a",inputAttributeValue = "axes")) +) + +//TODO: StringNormalizer +//TODO: TfIdfVectorizer +//TODO: ThresholdedRelu +val tile = OnnxMappingProcess( + opMappingRegistry = onnxOpRegistry, + inputFrameworkOpName = "Tile", + opName = "tile", + attributeMappingRules = listOf(booleanConstant(inputName = "is_static_reps",constantValue = true,argumentIndex = 0)[0], + intConstant(inputName = "dimensions",constantValue = 0 as Integer,argumentIndex = 0)[0]), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input","reps_vector" to "repeats"))) +) + +val topK = OnnxMappingProcess( + opName = "top_k", + inputFrameworkOpName = "TopK", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))), + attributeMappingRules = listOf( + invertBooleanNumber(mutableMapOf("needSort" to "sorted")), + convertNDArrayInputToScalarAttr(outputAttributeValue = "k",inputAttributeValue = "K")), + opMappingRegistry = onnxOpRegistry +) + +val transpose = OnnxMappingProcess( + opName = "transpose", + inputFrameworkOpName = "Transpose", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + attributeMappingRules = listOf(listNumberToNDarray(outputAttributeValue = "permuteDims", inputAttributeValue = "perm")), + opMappingRegistry = onnxOpRegistry +) + +//TODO: TreeEnsembleClassifier +//TODO: TreeEnsembleRegressor +//TODO: Unique PRIORITIZE +//TODO: Unsqueeze PRIORITIZE +//TODO: Upsample PRIORITIZE +//TODO: Where PRIORITIZE +//TODO: ZipMap +fun defOnnxSingleTransform(opName: String, inputFrameworkOpName: String, outputName: String, inputFrameworkInput: String = "input", attributeMappingRules: List> = emptyList()): OnnxMappingProcess { + return OnnxMappingProcess( + opName = opName, + tensorMappingRules = listOf( + NDArrayMappingRule(mappingNamesToPerform = mutableMapOf(outputName to inputFrameworkInput))), + inputFrameworkOpName = inputFrameworkOpName, + inputFramework = "onnx", + attributeMappingRules = attributeMappingRules, + opMappingRegistry = onnxOpRegistry) +} + +fun defineOnnxPairwiseTransforms(opName: String, inputFrameworkOpName: String, + firstOutputName: String = "input", + secondOutputName: String = "y", + firstInput: String = "A", secondInput: String = "B") : OnnxMappingProcess { + return OnnxMappingProcess( + opName = opName, + tensorMappingRules = listOf(NDArrayMappingRule(mappingNamesToPerform = mutableMapOf( + firstOutputName to firstInput, + secondOutputName to secondInput))), + inputFrameworkOpName = inputFrameworkOpName, + inputFramework = "onnx", + opMappingRegistry = onnxOpRegistry) +} + +fun defineOnnxSingleTransform(inputOpName: String, inputFrameworkOpName: String): OnnxMappingProcess { + return OnnxMappingProcess( + opName = inputOpName, + inputFrameworkOpName = inputFrameworkOpName, tensorMappingRules = listOf(NDArrayMappingRule( + mappingNamesToPerform = mutableMapOf("input" to "input"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry) + +} + + +fun booleanConstant(inputName: String, constantValue: Boolean,argumentIndex: Int): List { + return listOf(argDescriptorConstant(listOf( + ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.BOOL + name = inputName + argIndex = argumentIndex + boolValue = constantValue + } + ))) +} + +fun doubleConstant(inputName: String, constantValue: Double,argumentIndex: Int): List { + + return listOf(argDescriptorConstant(listOf( + ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + name = inputName + argIndex = argumentIndex + doubleValue = constantValue + } + ))) +} + +fun intConstant(inputName: String, constantValue: Integer,argumentIndex: Int): List { + return listOf(argDescriptorConstant(listOf( + ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + name = inputName + argIndex = argumentIndex + int64Value = constantValue.toLong() + } + ))) +} + + +val abs = OnnxMappingProcess( + opName = "abs", tensorMappingRules = listOf(NDArrayMappingRule(mappingNamesToPerform = mutableMapOf("input" to "X"))), + inputFrameworkOpName = "Abs", + inputFramework = "onnx", + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry) + + + +val ceil = defOnnxSingleTransform(inputFrameworkOpName = "Ceil",opName = "ceil",inputFrameworkInput = "X",outputName = "input", + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)) + + +val const = OnnxMappingProcess( + inputFrameworkOpName = "Constant", + opName = "noop", + opMappingRegistry = onnxOpRegistry, + tensorMappingRules = listOf(), + attributeMappingRules = listOf()) + + +val conv2d = OnnxMappingProcess( + inputFramework = "onnx", + inputFrameworkOpName = "Conv", + opName = "conv2d", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf( + "input" to "X","weights" to "W","bias" to "B"))), + attributeMappingRules = listOf( + intConstant(inputName = "isNCHW",constantValue = 1 as Integer,argumentIndex = 9)[0], + intConstant(inputName = "wFormat",constantValue = 1 as Integer,argumentIndex = 10)[0], + stringEqualsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "auto_pad",valueToTest = "SAME",argumentIndex = 8), + listAttributeValueLookup(outputAttributeValue = "dH",inputAttributeValue = "dilations",indexValue = 0,argumentIndex = 6), + listAttributeValueLookup(outputAttributeValue = "dW",inputAttributeValue = "dilations",indexValue = 1,argumentIndex = 7), + listAttributeValueLookup(outputAttributeValue = "pH",inputAttributeValue = "pads",indexValue = 0,argumentIndex = 4), + listAttributeValueLookup(outputAttributeValue = "pW",inputAttributeValue = "pads",indexValue = 1,argumentIndex = 5), + listAttributeValueLookup(outputAttributeValue = "sH",inputAttributeValue = "strides",indexValue = 0,argumentIndex = 2), + listAttributeValueLookup(outputAttributeValue = "sW",inputAttributeValue = "strides",indexValue = 1,argumentIndex = 3), + listAttributeValueLookup(outputAttributeValue = "kW",inputAttributeValue = "kernel_shape",indexValue = 1,argumentIndex = 0), + listAttributeValueLookup(outputAttributeValue = "kH",inputAttributeValue = "kernel_shape",indexValue = 0,argumentIndex = 1) + ),opMappingRegistry = onnxOpRegistry) + +val elu = defOnnxSingleTransform(opName = "elu",inputFrameworkOpName = "Elu",outputName = "input",inputFrameworkInput = "X", + attributeMappingRules = listOf(valueMappings(mutableMapOf("alpha" to "alpha")))) + + + +val relu = defOnnxSingleTransform(inputFrameworkOpName = "Relu",opName = "relu",inputFrameworkInput = "X",outputName = "input", + attributeMappingRules = listOf(booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0], + doubleConstant(inputName = "cutoff",constantValue = 0.0,argumentIndex = 0)[0])) + +val isNan = defOnnxSingleTransform(inputFrameworkOpName = "IsNaN",opName = "isnan",inputFrameworkInput = "X",outputName = "input", + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)) + + +val selu = defOnnxSingleTransform(inputFrameworkOpName = "Selu",opName = "selu",inputFrameworkInput = "X",outputName = "input",attributeMappingRules = +booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)) + + +object OnnxOpDeclarations { + init { + val groupedOps = onnxops.groupBy { input -> input.name } + val singleGroupedOps = HashMap() + groupedOps.forEach { name,node -> + singleGroupedOps[name] = node[0] + } + + OpRegistryHolder.registerOpList("onnx", singleGroupedOps) + + names.forEach { + defineOnnxSingleTransform(inputFrameworkOpName = it.key,inputOpName = it.value) + } ?: "Error initializing single defined transforms in onnx." + + pairWiseNames.forEach { + defineOnnxPairwiseTransforms(opName = it.value,inputFrameworkOpName = it.key) + } ?: "Error initializing pair wise transforms" + + onnxops.forEach { + onnxOpRegistry.registerInputFrameworkOpDef(it.name,it) + } + + nd4jOpDescriptors.opListList.forEach { + onnxOpRegistry.registerNd4jOpDef(it.name,it) + } + + OpRegistryHolder.registerOpMappingRegistry("onnx", onnxOpRegistry) + + } +} + + diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/onnx/OnnxProtobufExtensions.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/onnx/OnnxProtobufExtensions.kt new file mode 100644 index 000000000..f7394ddd7 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/onnx/OnnxProtobufExtensions.kt @@ -0,0 +1,176 @@ +package org.nd4j.codegen.ir.onnx + +import onnx.Onnx +import onnx.OnnxOperators +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.shade.protobuf.ByteString +import java.nio.charset.Charset + +fun NodeProto(block: Onnx.NodeProto.Builder.() -> Unit): Onnx.NodeProto { + return Onnx.NodeProto.newBuilder().apply(block).build() +} + +fun AttributeProto(block: Onnx.AttributeProto.Builder.() -> Unit) : Onnx.AttributeProto { + return Onnx.AttributeProto.newBuilder().apply { block }.build() +} + +fun Onnx.AttributeProto.Builder.TensorValue(inputValue: Onnx.TensorProto) { + this.addTensors(inputValue) +} + +fun Onnx.AttributeProto.Builder.StringValue(inputValue: String) { + this.addStrings(ByteString.copyFrom(inputValue.toByteArray(Charset.defaultCharset()))) +} + +fun Onnx.NodeProto.Builder.Attribute(attribute: Onnx.AttributeProto) { + this.addAttribute(attribute) +} + +fun Onnx.NodeProto.Builder.Input(inputName: String) { + this.addInput(inputName) +} + +fun Onnx.NodeProto.Builder.Output(inputName: String) { + this.addOutput(inputName) +} + +fun Onnx.GraphProto.Builder.Initializer(tensor: Onnx.TensorProto) { + this.addInitializer(tensor) +} + +fun OperatorSetIdProto(block: Onnx.OperatorSetIdProto.Builder.() -> Unit): Onnx.OperatorSetIdProto { + return Onnx.OperatorSetIdProto.newBuilder().apply(block).build() +} + +fun OperatorSetProto(block: OnnxOperators.OperatorSetProto.Builder.() -> Unit): OnnxOperators.OperatorSetProto { + return OnnxOperators.OperatorSetProto.newBuilder().apply { block }.build() +} + +fun Onnx.ModelProto.Builder.OpSetImport(opSetImport: Onnx.OperatorSetIdProto) { + this.addOpsetImport(opSetImport) +} + +fun ModelProto(block: Onnx.ModelProto.Builder.() -> Unit): Onnx.ModelProto { + return Onnx.ModelProto.newBuilder() + .apply(block).build() +} + +fun TensorDefinition(block: Onnx.TypeProto.Tensor.Builder.() -> Unit) : Onnx.TypeProto.Tensor { + return Onnx.TypeProto.Tensor.newBuilder().apply(block).build() +} + +fun TypeProto(block: Onnx.TypeProto.Builder.() -> Unit): Onnx.TypeProto { + return Onnx.TypeProto.newBuilder().apply(block).build() +} + +fun GraphProto(block: Onnx.GraphProto.Builder.() -> Unit): Onnx.GraphProto { + return Onnx.GraphProto.newBuilder() + .apply(block).build() +} + +fun OnnxDim(block: Onnx.TensorShapeProto.Dimension.Builder.() -> Unit): Onnx.TensorShapeProto.Dimension { + return Onnx.TensorShapeProto.Dimension.newBuilder().apply(block).build() +} + + +fun Onnx.TensorShapeProto.Builder.OnnxShape(dims: List) { + this.addAllDim(dims.map { inputDim -> OnnxDim { + dimValue = inputDim + } }) +} + + +fun OnnxShapeProto(block: Onnx.TensorShapeProto.Builder.() -> Unit): Onnx.TensorShapeProto { + return Onnx.TensorShapeProto.newBuilder().apply(block).build() +} + +fun ValueInfoProto(block: Onnx.ValueInfoProto.Builder.() -> Unit): Onnx.ValueInfoProto { + return Onnx.ValueInfoProto.newBuilder() + .apply(block).build() +} + +fun Onnx.GraphProto.Builder.Output(input: Onnx.ValueInfoProto) { + this.addOutput(input) +} + + +fun Onnx.GraphProto.Builder.Input(input: Onnx.ValueInfoProto) { + this.addInput(input) +} + +fun Onnx.GraphProto.Builder.Node(inputNode: Onnx.NodeProto) { + this.addNode(inputNode) +} + +fun Onnx.AttributeProto.Builder.Tensor(inputTensor: Onnx.TensorProto) { + this.addTensors(inputTensor) +} + +fun OnnxTensorProto(block: Onnx.TensorProto.Builder.() -> Unit): Onnx.TensorProto { + return Onnx.TensorProto.newBuilder().apply { block }.build() +} + +fun Onnx.TensorProto.Builder.OnnxDataType(value: Onnx.TensorProto.DataType) { + this.dataType = value +} + +fun Onnx.TensorProto.Builder.OnnxRawData(byteArray: ByteArray) { + this.rawData = ByteString.copyFrom(byteArray) +} + +fun Onnx.TensorProto.Builder.Shape(shape: List) { + this.dimsList.clear() + this.dimsList.addAll(shape) +} + +fun Onnx.TensorProto.Builder.LongData(longData: List) { + this.addAllInt64Data(longData) +} + +fun Onnx.TensorProto.Builder.IntData(intData: List) { + this.addAllInt32Data(intData) +} + +fun Onnx.TensorProto.Builder.FloatData(floatData: List) { + this.addAllFloatData(floatData) +} + + +fun Onnx.TensorProto.Builder.DoubleData(doubleData: List) { + this.addAllDoubleData(doubleData) +} + +fun Onnx.TensorProto.Builder.StringData(stringData: List) { + this.addAllStringData(stringData.map { ByteString.copyFrom(it.toByteArray(Charset.defaultCharset())) }) +} + +fun Onnx.TensorProto.Builder.BoolData(boolData: List) { + this.addAllInt32Data(boolData.map { input -> if(input) 1 else 0 }) +} + + +fun createValueInfoFromTensor(arr: INDArray,valueInfoName: String,useShape: Boolean = true): Onnx.ValueInfoProto { + if(useShape) + return ValueInfoProto { + name = valueInfoName + type = TypeProto { + tensorType = TensorDefinition { + elemType = convertToOnnxDataType(arr.dataType()) + shape = OnnxShapeProto { + OnnxShape(arr.shape().toList()) + } + } + + } + } + else + return ValueInfoProto { + name = valueInfoName + type = TypeProto { + tensorType = TensorDefinition { + elemType = convertToOnnxDataType(arr.dataType()) + } + + } + } +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/onnx/OnnxRuleDeclarations.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/onnx/OnnxRuleDeclarations.kt new file mode 100644 index 000000000..6931b661f --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/onnx/OnnxRuleDeclarations.kt @@ -0,0 +1,1327 @@ +package org.nd4j.codegen.ir.onnx + +import onnx.Onnx +import org.nd4j.codegen.ir.* +import org.nd4j.ir.OpNamespace +import org.nd4j.ir.TensorNamespace + +class NDArrayMappingRule(mappingNamesToPerform: MutableMap, + transformerArgs: Map> = emptyMap()): + BaseNDArrayMappingRule(mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) { + + + + override fun createTensorProto(input: Onnx.TensorProto): TensorNamespace.TensorProto { + return OnnxIRTensor(input).toArgTensor() + } + + override fun isInputTensorName(inputName: String): Boolean { + val onnxOp = onnxops.first { opDef -> opDef.name == mappingProcess!!.inputFrameworkOpName() } + return onnxOp.inputList.contains(inputName) + } + + override fun isOutputTensorName(outputName: String): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess!!.opName()) + return nd4jOpDescriptor.argDescriptorList.filter { inputDescriptor -> inputDescriptor.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR } + .map {inputDescriptor -> inputDescriptor.name }.contains(outputName) + } +} + +fun mappingNDArrayInputs(inputs: MutableMap) : NDArrayMappingRule { + return NDArrayMappingRule( + mappingNamesToPerform = inputs) +} + + + + +class OnnxMultiInputIndexMappingRule(mappingNamesToPerform: MutableMap, + transformerArgs: Map> = emptyMap()): + MultiInputIndexMappingRule(mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) { + + + + override fun createTensorProto(input: Onnx.TensorProto): TensorNamespace.TensorProto { + return OnnxIRTensor(input).toArgTensor() + } + + override fun isInputTensorName(inputName: String): Boolean { + val onnxOp = onnxops.first { opDef -> opDef.name == mappingProcess!!.inputFrameworkOpName() } + return onnxOp.inputList.contains(inputName) + } + + override fun isOutputTensorName(outputName: String): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess!!.opName()) + return nd4jOpDescriptor.argDescriptorList.filter { inputDescriptor -> inputDescriptor.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR } + .map {inputDescriptor -> inputDescriptor.name }.contains(outputName) + } +} + +fun mappingListNDArrays(inputs: MutableMap) : OnnxMultiInputIndexMappingRule { + return OnnxMultiInputIndexMappingRule( + mappingNamesToPerform = inputs) +} + +class OnnxConditionalFieldValueIntIndexNDArrayRule + (mappingNamesToPerform: MutableMap, transformerArgs: Map>) : + ConditionalFieldValueIntIndexNDArrayRule + (mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxTensorName(name,onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxAttributeName(name,onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return onnxAttributeTypeFor(name,onnxOp) + } + +} + +fun conditionalFieldValueIntIndexNDArrayRule(outputAttribute: String, + inputFrameworkAttributeName: String, + targetValue: String, + trueIndex: Int, + falseIndex: Int, + argumentIndex: Int): OnnxConditionalFieldValueIntIndexNDArrayRule { + return OnnxConditionalFieldValueIntIndexNDArrayRule( + mappingNamesToPerform = mutableMapOf(outputAttribute to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttribute to listOf(ArgDescriptor { + name = "targetValue" + stringValue = targetValue + argIndex = argumentIndex + }, + ArgDescriptor { + name = "trueIndex" + int32Value = trueIndex + argIndex = argumentIndex + }, + ArgDescriptor { + name = "falseIndex" + int32Value = falseIndex + argIndex = argumentIndex + })) + ) +} + + +class OnnxNDArrayExtractScalarValue(mappingNamesToPerform: MutableMap, + transformerArgs: Map> = emptyMap()): + NDArrayExtractScalarValue(mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) { + + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxTensorName(name,onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxAttributeName(name,onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return onnxAttributeTypeFor(name,onnxOp) + } + +} + +fun ndarrayExtractScalarValue(outputAttribute: String, + inputFrameworkAttributeName: String, + argumentIndex: Int, + scalarIndex: Int) : OnnxNDArrayExtractScalarValue { + return OnnxNDArrayExtractScalarValue( + mappingNamesToPerform = mutableMapOf(outputAttribute to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttribute to listOf( + ArgDescriptor { + name = inputFrameworkAttributeName + int64Value = scalarIndex.toLong() + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + argIndex = argumentIndex + }))) +} + + + +class OnnxConditionalFieldValueIntIndexArrayRule + (mappingNamesToPerform: MutableMap, transformerArgs: Map>) : + ConditionalFieldValueIntIndexArrayRule + (mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxTensorName(name,onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxAttributeName(name,onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return onnxAttributeTypeFor(name,onnxOp) + } + +} + +fun conditionalFieldValueIntIndexArrayRule(outputAttribute: String, + inputFrameworkAttributeName: String, + targetValue: String, + trueIndex: Int, + falseIndex: Int, + argumentIndex: Int): OnnxConditionalFieldValueIntIndexArrayRule { + return OnnxConditionalFieldValueIntIndexArrayRule( + mappingNamesToPerform = mutableMapOf(outputAttribute to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttribute to listOf(ArgDescriptor { + name = "targetValue" + stringValue = targetValue + argIndex = argumentIndex + }, + ArgDescriptor { + name = "trueIndex" + int32Value = trueIndex + argIndex = argumentIndex + }, + ArgDescriptor { + name = "falseIndex" + int32Value = falseIndex + argIndex = argumentIndex + })) + ) +} + +class OnnxValueMapping(mappingNamesToPerform: Map, transformerArgs: Map>) : ValueMapping(mappingNamesToPerform, transformerArgs) { + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(attrDef,attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxTensorName(name,onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxAttributeName(name,onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return onnxAttributeTypeFor(name,onnxOp) + } +} + +fun valueMappings(mappings: Map): OnnxValueMapping { + return OnnxValueMapping(mappingNamesToPerform = mappings,transformerArgs = emptyMap()) +} + +////NDArrayAttributeToNDArrayInput +class OnnxNDArrayAttributeToNDArrayInput(mappingNamesToPerform: Map, transformerArgs: Map>) : NDArrayAttributeToNDArrayInput(mappingNamesToPerform, transformerArgs) { + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(attrDef,attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxTensorName(name,onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxAttributeName(name,onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return onnxAttributeTypeFor(name,onnxOp) + } +} + +fun ndarrayAttributeToNDArrayInput(mappings: Map): OnnxNDArrayAttributeToNDArrayInput { + return OnnxNDArrayAttributeToNDArrayInput(mappingNamesToPerform = mappings,transformerArgs = emptyMap()) +} + +class OnnxInvertBooleanNumber(mappingNamesToPerform: Map, transformerArgs: Map>) : InvertBooleanNumber(mappingNamesToPerform, transformerArgs) { + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(attrDef,attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxTensorName(name,onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxAttributeName(name,onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return onnxAttributeTypeFor(name,onnxOp) + } +} + +/** + * This will change a boolean to a number and a number to a boolean + */ +fun invertBooleanNumber(mappings: Map): OnnxInvertBooleanNumber { + return OnnxInvertBooleanNumber(mappingNamesToPerform = mappings,transformerArgs = emptyMap()) +} + + + + + +class OnnxDataTypeToInt(mappingNamesToPerform: Map, transformerArgs: Map>) : DataTypeToInt(mappingNamesToPerform, transformerArgs) { + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(attrDef,attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxTensorName(name,onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxAttributeName(name,onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return onnxAttributeTypeFor(name,onnxOp) + } +} + +fun dataTypeToInt(mappings: Map): OnnxDataTypeToInt { + return OnnxDataTypeToInt(mappingNamesToPerform = mappings,transformerArgs = emptyMap()) +} + + + +class OnnxNDArraySizeAt(mappingNamesToPerform: Map, transformerArgs: Map>): NDArraySizeAtRule(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): + IRAttribute { + return OnnxIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxTensorName(name,onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxAttributeName(name,onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return onnxAttributeTypeFor(name,onnxOp) + } +} + +fun sizeAtRule(dimensionIndex: Int, outputAttributeName: String, inputFrameworkAttributeName: String,argumentIndex: Int): OnnxNDArraySizeAt { + return OnnxNDArraySizeAt( + mappingNamesToPerform = mapOf(outputAttributeName to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttributeName to listOf(ArgDescriptor { + name = inputFrameworkAttributeName + int32Value = dimensionIndex + argIndex = argumentIndex + })) + ) +} + +class OnnxStringEqualsAdapterRule(mappingNamesToPerform: Map = emptyMap(), + transformerArgs: Map> = emptyMap()) : + StringEqualsAdapterRule + ( mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): + List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxTensorName(name,onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxAttributeName(name,onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return onnxAttributeTypeFor(name,onnxOp) + } +} + +fun stringEqualsRule(outputAttribute: String, inputFrameworkAttributeName: String, valueToTest: String,argumentIndex: Int): OnnxStringEqualsAdapterRule { + return OnnxStringEqualsAdapterRule( + mappingNamesToPerform = mapOf(outputAttribute to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttribute to listOf(ArgDescriptor { + name = inputFrameworkAttributeName + stringValue = valueToTest + argIndex = argumentIndex + }))) +} + + +class OnnxStringContainsAdapterRule(mappingNamesToPerform: Map = emptyMap(), + transformerArgs: Map> = emptyMap()) : + StringContainsAdapterRule + ( mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxTensorName(name,onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxAttributeName(name,onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return onnxAttributeTypeFor(name,onnxOp) + } + +} + +fun stringContainsRule(outputAttribute: String, inputFrameworkAttributeName: String, valueToTest: String,argumentIndex: Int): OnnxStringContainsAdapterRule { + return OnnxStringContainsAdapterRule( + mappingNamesToPerform = mapOf(outputAttribute to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttribute to listOf(ArgDescriptor { + name = inputFrameworkAttributeName + stringValue = valueToTest + argIndex = argumentIndex + }))) +} + + + +class OnnxStringNotEqualsAdapterRule(mappingNamesToPerform: Map = emptyMap(), + transformerArgs: Map> = emptyMap()) : + StringNotEqualsAdapterRule + ( mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): + List> { + TODO("Not yet implemented") + } + + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxTensorName(name,onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxAttributeName(name,onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return onnxAttributeTypeFor(name,onnxOp) + } +} + +fun stringNotEqualsRule(outputAttribute: String, inputFrameworkAttributeName: String, valueToTest: String,argumentIndex: Int): OnnxStringNotEqualsAdapterRule { + return OnnxStringNotEqualsAdapterRule( + mappingNamesToPerform = mapOf(outputAttribute to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttribute to listOf(ArgDescriptor { + name = inputFrameworkAttributeName + stringValue = valueToTest + argIndex = argumentIndex + }))) +} + + + +class OnnxNDArrayToIntAttributeValue(mappingNamesToPerform: Map) : NDArrayToIntAttributeValue(mappingNamesToPerform = mappingNamesToPerform,transformerArgs = emptyMap()) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(attrDef,attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxTensorName(name,onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxAttributeName(name,onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return onnxAttributeTypeFor(name,onnxOp) + } +} + +fun ndarrayToIntList(ndarrayNameToAttributeName: MutableMap): OnnxNDArrayToIntAttributeValue { + return OnnxNDArrayToIntAttributeValue(mappingNamesToPerform = ndarrayNameToAttributeName) +} + +class OnnxSizeThresholdIntArrayIntIndexRule(mappingNamesToPerform: Map, + transformerArgs: Map>) : SizeThresholdIntArrayIntIndexRule(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxTensorName(name,onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxAttributeName(name,onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return onnxAttributeTypeFor(name,onnxOp) + } + +} + +fun sizeThreshold(outputAttribute: String, inputFrameworkAttributeName: String, sizeThreshold: Long, index: Long, fallbackIndex: Long,argumentIndex: Int): OnnxSizeThresholdIntArrayIntIndexRule { + return OnnxSizeThresholdIntArrayIntIndexRule(mappingNamesToPerform = mapOf(outputAttribute to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttribute to listOf( + ArgDescriptor { + name = "index" + int64Value = index + argIndex = argIndex + }, + ArgDescriptor { + name = "sizeThreshold" + int64Value = sizeThreshold + argIndex = argIndex + }, + ArgDescriptor { + name = "fallbackIndex" + int64Value = fallbackIndex + argIndex = argumentIndex + }))) +} + + +class OnnxStringToIndex(mappingNamesToPerform: Map, transformerArgs: Map>) : StringToInt(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(inputAttributeValue = attributeValueType,inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxTensorName(name,onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxAttributeName(name,onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return onnxAttributeTypeFor(name,onnxOp) + } + +} + +fun stringToIndex(outputAttributeValue: String, inputAttributeValue: String, listOfValues: List,argumentIndex: Int): OnnxStringToIndex { + return OnnxStringToIndex(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = + mapOf(outputAttributeValue to listOfValues.map { + valueName -> ArgDescriptor { + name = outputAttributeValue + stringValue = valueName + argIndex = argumentIndex + } + })) +} + + + +class OnnxMapStringToInt(mappingNamesToPerform: Map, transformerArgs: Map>) : MapStringToInt(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(inputAttributeValue = attributeValueType,inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxTensorName(name,onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxAttributeName(name,onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return onnxAttributeTypeFor(name,onnxOp) + } + +} + +fun mapStringToInt(outputAttributeValue: String, inputAttributeValue: String, mapOfValuesToInts: Map,argumentIndex: Int,lookupIndex: Int): OnnxMapStringToInt { + return OnnxMapStringToInt(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = + mapOf(outputAttributeValue to mapOfValuesToInts.map { + entry -> ArgDescriptor { + name = entry.key + int64Value = entry.value.toLong() + argIndex = argumentIndex + } + },"index" to listOf(ArgDescriptor { + name = "index" + int64Value = lookupIndex.toLong() + }))) +} + + +class OnnxListAttributeValueLookupToIndex(mappingNamesToPerform: Map, transformerArgs: Map>) : ListAttributeValueLookupToIndex(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(inputAttributeValue = attributeValueType,inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxTensorName(name,onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxAttributeName(name,onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return onnxAttributeTypeFor(name,onnxOp) + } + +} + +fun listAttributeValueLookup(outputAttributeValue: String, inputAttributeValue: String, indexValue: Int,argumentIndex: Int): OnnxListAttributeValueLookupToIndex { + return OnnxListAttributeValueLookupToIndex(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue), + transformerArgs = mapOf(outputAttributeValue to listOf(ArgDescriptor { + name = inputAttributeValue + int64Value = indexValue.toLong() + argIndex = argumentIndex + }) + )) +} + +class OnnxListNumberToListNumber(mappingNamesToPerform: Map, transformerArgs: Map>) : ListNumberToListNumber(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(inputAttributeValue = attributeValueType,inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxTensorName(name,onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxAttributeName(name,onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return onnxAttributeTypeFor(name,onnxOp) + } + +} + +fun listNumberToListNumber(outputAttributeValue: String, inputAttributeValue: String): OnnxListNumberToListNumber { + return OnnxListNumberToListNumber(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = emptyMap()) +} + + +class OnnxStringAttributeToNDArray(mappingNamesToPerform: Map, transformerArgs: Map>) : + StringAttributeToNDArray(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(inputAttributeValue = attributeValueType,inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxTensorName(name,onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxAttributeName(name,onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return onnxAttributeTypeFor(name,onnxOp) + } +} + +fun convertStringToNDArray(outputAttributeValue: String, inputAttributeValue: String): OnnxStringAttributeToNDArray { + return OnnxStringAttributeToNDArray(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = emptyMap()) +} + + +class OnnxAttributeNumberListNDArray(mappingNamesToPerform: Map, transformerArgs: Map>) : + AttributeNumberListNDArray(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(inputAttributeValue = attributeValueType,inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxTensorName(name,onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxAttributeName(name,onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return onnxAttributeTypeFor(name,onnxOp) + } +} + +fun convertNumericalListToNDArray(outputAttributeValue: String, inputAttributeValue: String): OnnxAttributeNumberListNDArray { + return OnnxAttributeNumberListNDArray(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = emptyMap()) +} + + +//ListNumberToNDArray + + +class OnnxListNumberToNDArray(mappingNamesToPerform: Map, transformerArgs: Map>) : ListNumberToNDArray(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(inputAttributeValue = attributeValueType,inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxTensorName(name,onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxAttributeName(name,onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return onnxAttributeTypeFor(name,onnxOp) + } +} + +fun listNumberToNDarray(outputAttributeValue: String, inputAttributeValue: String): OnnxListNumberToNDArray { + return OnnxListNumberToNDArray(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = emptyMap()) +} + + + + + +class OnnxNDArrayInputToNumericalAttribute(mappingNamesToPerform: Map, transformerArgs: Map>) : NDArrayInputToNumericalAttribute(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(inputAttributeValue = attributeValueType,inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxTensorName(name,onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxAttributeName(name,onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return onnxAttributeTypeFor(name,onnxOp) + } +} + +fun convertNDArrayInputToScalarAttr(outputAttributeValue: String, inputAttributeValue: String): OnnxNDArrayInputToNumericalAttribute { + return OnnxNDArrayInputToNumericalAttribute(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = emptyMap()) +} + + +class OnnxAttributeNDArrayToScalarAttribute(mappingNamesToPerform: Map, transformerArgs: Map>) : AttributeNDArrayToScalarAttribute(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(inputAttributeValue = attributeValueType,inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxTensorName(name,onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxAttributeName(name,onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return onnxAttributeTypeFor(name,onnxOp) + } +} + +fun ndarrayAttributeToScalarAttribute(outputAttributeValue: String, inputAttributeValue: String): OnnxAttributeNDArrayToScalarAttribute { + return OnnxAttributeNDArrayToScalarAttribute(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = emptyMap()) +} + +class OnnxAttributeScalarNDArrayAttribute(mappingNamesToPerform: Map, transformerArgs: Map>) : AttributeScalarNDArrayAttribute(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(inputAttributeValue = attributeValueType,inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxTensorName(name,onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxAttributeName(name,onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return onnxAttributeTypeFor(name,onnxOp) + } + +} + +fun attributeScalarToNDArrayInput(outputAttributeValue: String, inputAttributeValue: String): OnnxAttributeScalarNDArrayAttribute { + return OnnxAttributeScalarNDArrayAttribute(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = emptyMap()) +} + + + + +class OnnxArgDescriptorConstant(mappingNamesToPerform: Map, transformerArgs: Map>) : ArgDescriptorConstant(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(inputAttributeValue = attributeValueType,inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + + + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxTensorName(name,onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return isOnnxAttributeName(name,onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = onnxops.find { op -> op.name == mappingProcess.inputFrameworkOpName() }!! + return onnxAttributeTypeFor(name,onnxOp) + } +} + +fun argDescriptorConstant(argDescriptorConstants: List): OnnxArgDescriptorConstant { + return OnnxArgDescriptorConstant(mappingNamesToPerform = emptyMap(),transformerArgs = mapOf("value" to argDescriptorConstants)) +} + + + diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/registry/ObjectRegistryHolder.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/registry/ObjectRegistryHolder.kt new file mode 100644 index 000000000..e41039cfa --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/registry/ObjectRegistryHolder.kt @@ -0,0 +1,70 @@ +package org.nd4j.codegen.ir.registry + +import onnx.Onnx +import org.apache.commons.collections4.multimap.HashSetValuedHashMap +import org.nd4j.codegen.ir.MappingProcess +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum +import org.tensorflow.framework.* + +object OpRegistryHolder { + + private val registeredOps = HashSetValuedHashMap>() + private val opDefLists = HashMap>() + + fun opMappingRegistryForName(name: String) : OpMappingRegistry{ + return registeredOps[name].first() as OpMappingRegistry + + } + + + fun onnx(): OpMappingRegistry { + return registeredOps["onnx"].first() as OpMappingRegistry + } + + fun tensorflow(): OpMappingRegistry { + return registeredOps["tensorflow"].first() as OpMappingRegistry + } + + fun opListForFramework(frameworkName: String): Map { + return opDefLists[frameworkName] as Map + } + + fun registerOpList(inputFrameworkName: String,opDefMap: Map) { + opDefLists[inputFrameworkName] = opDefMap + + } + + fun registerOpMappingRegistry(framework: String, registry: OpMappingRegistry) { + registeredOps.put(framework,registry) + } + + fun + registerMappingProcess(inputFrameworkOpName: String, processToRegister: MappingProcess) { + registeredOps.put(inputFrameworkOpName,processToRegister as OpMappingRegistry) + } + + fun + lookupOpMappingProcess(inputFrameworkName: String, inputFrameworkOpName: String): + MappingProcess { + val mappingRegistry = registeredOps[inputFrameworkName].first() + val lookup = mappingRegistry.lookupOpMappingProcess(inputFrameworkOpName = inputFrameworkOpName) + return lookup as MappingProcess + } +} diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/registry/OpMappingRegistry.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/registry/OpMappingRegistry.kt new file mode 100644 index 000000000..c389ca6d5 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/registry/OpMappingRegistry.kt @@ -0,0 +1,151 @@ +package org.nd4j.codegen.ir.registry + +import org.apache.commons.collections4.MultiSet +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum +import org.apache.commons.collections4.MultiValuedMap +import org.apache.commons.collections4.multimap.HashSetValuedHashMap +import org.apache.commons.io.FileUtils +import org.nd4j.codegen.ir.MappingProcess +import org.nd4j.codegen.ir.findOp +import org.nd4j.codegen.ir.nd4jOpDescriptors +import org.nd4j.ir.MapperNamespace +import org.nd4j.ir.OpNamespace +import java.io.File +import java.lang.IllegalArgumentException +import java.nio.charset.Charset + + +class OpMappingRegistry(inputFrameworkName: String) { + + val registeredOps: MultiValuedMap> = HashSetValuedHashMap< + String,MappingProcess>() + + val opDefList = HashMap() + val nd4jOpDefs = HashMap() + val inputFrameworkName = inputFrameworkName + + + + fun mappedNd4jOpNames(): Set { + return registeredOps.values().map { input -> input.opName() }.toSortedSet()!! + } + + fun mappingProcessNames(): MultiSet { + return registeredOps.keys()!! + } + + fun nd4jOpNames(): Set { + return nd4jOpDefs.keys + } + + fun inputFrameworkOpNames(): Set { + return opDefList.keys + } + + fun lookupNd4jOpDef(name:String): OpNamespace.OpDescriptor { + return nd4jOpDefs[name]!! + } + + fun registerOpDefs(opDefList: Map) { + opDefList.forEach { (name,inputOpDef) -> + registerInputFrameworkOpDef(name,inputOpDef) + } + } + + fun registerNd4jOpDef(name:String, opDef: OpNamespace.OpDescriptor) { + nd4jOpDefs[name] = opDef + } + + fun lookupInputFrameworkOpDef(name:String): OP_DEF_TYPE { + if(opDefList.isEmpty()) { + val opList = OpRegistryHolder.opListForFramework(inputFrameworkName) + opList.forEach { name,opDefType -> + opDefList[name] = opDefType + } + } + return opDefList[name]!! + } + + fun registerInputFrameworkOpDef(name: String,opDef: OP_DEF_TYPE) { + opDefList[name] = opDef + } + + fun registerMappingProcess(inputFrameworkOpName: String, processToRegister: MappingProcess) { + registeredOps.put(inputFrameworkOpName,processToRegister) + } + + fun hasMappingOpProcess(inputFrameworkOpName: String): Boolean { + return registeredOps.containsKey(inputFrameworkOpName) + } + + + fun lookupOpMappingProcess(inputFrameworkOpName: String): MappingProcess< + GRAPH_TYPE, + OP_DEF_TYPE, + NODE_TYPE, + TENSOR_TYPE, + ATTRIBUTE_TYPE, + ATTRIBUTE_VALUE_TYPE, + DATA_TYPE> { + if(!registeredOps.containsKey(inputFrameworkOpName)) { + throw IllegalArgumentException("No import process defined for $inputFrameworkOpName") + } + return registeredOps[inputFrameworkOpName]!!.first() + } + + fun opTypeForName(nd4jOpName: String): OpNamespace.OpDescriptor.OpDeclarationType { + val descriptor = nd4jOpDescriptors.findOp(nd4jOpName) + return descriptor.opDeclarationType + } + + /** + * TODO: Make loading op mapping rules (both tensor and attribute), input framework op definitions casted as + * OP_DEF_TYPE and op descriptors file. + * + * TODO: Get rid of static global constants (onnxops,tensorflow ops) + * TODO: See if possible to genericize lists of ops + */ + fun loadFromFile(inputFrameworkOpDefsName: String,nd4jOpDescriptorsFile: String,inputFrameworkName: String,mapperDeclarationsFile: String) { + //Nd4j op descriptors: OpNamespace.OpDescriptorList TextFormat.merge(..) + // + } + + fun saveProcessesAndRuleSet() { + val mapperDeclarations = ArrayList() + val bufferToWrite = StringBuilder() + registeredOps.asMap().forEach { name, listOfMappingProcesses -> + listOfMappingProcesses.forEach { mappingProcess -> + mapperDeclarations.add(mappingProcess.serialize()) + } + + mapperDeclarations.map { input -> input.toString() }.forEach { processString -> + bufferToWrite.append(processString + "\n") + } + + } + + FileUtils.write(File("$inputFrameworkName-processes.pbtxt"),bufferToWrite.toString(), Charset.defaultCharset()) + + } + +} + + + + + + diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/tensorflow/NDArrayMappingRule.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/tensorflow/NDArrayMappingRule.kt new file mode 100644 index 000000000..7198b62a0 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/tensorflow/NDArrayMappingRule.kt @@ -0,0 +1,68 @@ +package org.nd4j.codegen.ir.tensorflow + +import org.nd4j.codegen.ir.BaseNDArrayMappingRule +import org.nd4j.codegen.ir.MultiInputIndexMappingRule +import org.nd4j.codegen.ir.findOp +import org.nd4j.codegen.ir.nd4jOpDescriptors +import org.nd4j.ir.OpNamespace +import org.nd4j.ir.TensorNamespace +import org.tensorflow.framework.* + +class NDArrayMappingRule(mappingNamesToPerform: MutableMap, + transformerArgs: Map> = emptyMap()): + BaseNDArrayMappingRule(mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) { + + + + override fun createTensorProto(input: TensorProto): TensorNamespace.TensorProto { + return TensorflowIRTensor(input).toArgTensor() + } + + + override fun isInputTensorName(inputName: String): Boolean { + val tfOp = tensorflowOps.findOp(mappingProcess!!.inputFrameworkOpName()) + return tfOp.inputArgList.map { input -> input.name }.contains(inputName) + } + + override fun isOutputTensorName(outputName: String): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess!!.opName()) + return nd4jOpDescriptor.argDescriptorList.filter { inputDescriptor -> inputDescriptor.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR } + .map {inputDescriptor -> inputDescriptor.name }.contains(outputName) + } +} + +fun mappingNDArrayInputs(inputs: MutableMap) : NDArrayMappingRule { + return NDArrayMappingRule( + mappingNamesToPerform = inputs + ) +} + +//MultiInputIndexMappingRule +class TensorflowMultiInputIndexMappingRule(mappingNamesToPerform: MutableMap, + transformerArgs: Map> = emptyMap()): + MultiInputIndexMappingRule(mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) { + + + + override fun createTensorProto(input: TensorProto): TensorNamespace.TensorProto { + return TensorflowIRTensor(input).toArgTensor() + } + + + override fun isInputTensorName(inputName: String): Boolean { + val tfOp = tensorflowOps.findOp(mappingProcess!!.inputFrameworkOpName()) + return tfOp.inputArgList.map { input -> input.name }.contains(inputName) + } + + override fun isOutputTensorName(outputName: String): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess!!.opName()) + return nd4jOpDescriptor.argDescriptorList.filter { inputDescriptor -> inputDescriptor.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR } + .map {inputDescriptor -> inputDescriptor.name }.contains(outputName) + } +} + +fun mappingListNDArrays(inputs: MutableMap) : TensorflowMultiInputIndexMappingRule { + return TensorflowMultiInputIndexMappingRule( + mappingNamesToPerform = inputs + ) +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/tensorflow/TFOpAuxillaryFunctions.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/tensorflow/TFOpAuxillaryFunctions.kt new file mode 100644 index 000000000..0c05cc9e5 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/tensorflow/TFOpAuxillaryFunctions.kt @@ -0,0 +1,218 @@ +package org.nd4j.codegen.ir.tensorflow + +import org.nd4j.codegen.ir.ArgDescriptor +import org.nd4j.codegen.ir.AttributeMappingRule +import org.nd4j.imports.graphmapper.tf.TFGraphMapper +import org.nd4j.ir.OpNamespace +import org.nd4j.linalg.api.ndarray.INDArray +import org.tensorflow.framework.* + +fun convertNDArrayToTensorflowTensor(arrayToConvert: INDArray): TensorProto { + if(arrayToConvert.data() == null) + return TensorProto.getDefaultInstance() + when(arrayToConvert.dataType()) { + org.nd4j.linalg.api.buffer.DataType.FLOAT -> { + return TensorProto { + FloatData(arrayToConvert.data().asFloat().toList()) + Shape(arrayToConvert.shape().toList()) + dtype = DataType.DT_FLOAT + } + } + org.nd4j.linalg.api.buffer.DataType.INT32 -> { + return TensorProto { + Int32Data(arrayToConvert.data().asInt().toList()) + Shape(arrayToConvert.shape().toList()) + dtype = DataType.DT_INT32 + } + } + org.nd4j.linalg.api.buffer.DataType.INT64 -> { + return TensorProto { + Int64Data(arrayToConvert.data().asLong().toList()) + Shape(arrayToConvert.shape().toList()) + dtype = DataType.DT_INT64 + } + } + org.nd4j.linalg.api.buffer.DataType.DOUBLE -> { + return TensorProto { + DoubleData(arrayToConvert.data().asDouble().toList()) + Shape(arrayToConvert.shape().toList()) + dtype = DataType.DT_DOUBLE + } + } + else -> { + return TensorProto { + dtype = convertNd4jDataTypeToTensorflow(arrayToConvert.dataType()) + RawData(arrayToConvert.data().asBytes()) + Shape(arrayToConvert.shape().toList()) + + } + } + + } +} + +fun convertNd4jDataTypeToTensorflow(dataType: org.nd4j.linalg.api.buffer.DataType) : DataType { + when(dataType) { + org.nd4j.linalg.api.buffer.DataType.DOUBLE -> return DataType.DT_DOUBLE + org.nd4j.linalg.api.buffer.DataType.FLOAT16 -> return DataType.DT_HALF + org.nd4j.linalg.api.buffer.DataType.FLOAT -> return DataType.DT_FLOAT + org.nd4j.linalg.api.buffer.DataType.INT32 -> return DataType.DT_INT32 + org.nd4j.linalg.api.buffer.DataType.UINT32 -> return DataType.DT_UINT32 + org.nd4j.linalg.api.buffer.DataType.INT64 -> return DataType.DT_INT64 + org.nd4j.linalg.api.buffer.DataType.UINT64 -> return DataType.DT_UINT64 + org.nd4j.linalg.api.buffer.DataType.BOOL -> return DataType.DT_BOOL + org.nd4j.linalg.api.buffer.DataType.INT8 -> return DataType.DT_INT8 + org.nd4j.linalg.api.buffer.DataType.INT16 -> return DataType.DT_INT16 + org.nd4j.linalg.api.buffer.DataType.BFLOAT16 -> return DataType.DT_BFLOAT16 + org.nd4j.linalg.api.buffer.DataType.UTF8 -> return DataType.DT_STRING + else -> { + return DataType.UNRECOGNIZED + } + } +} + +fun booleanConstant(inputName: String, constantValue: Boolean,argumentIndex: Int): List { + return listOf(argDescriptorConstant(listOf( + ArgDescriptor { + name = inputName + boolValue = constantValue + argType = OpNamespace.ArgDescriptor.ArgType.BOOL + argIndex = argumentIndex + } + ))) +} + +fun doubleConstant(inputName: String, constantValue: Double, argumentIndex: Int): List { + return listOf(argDescriptorConstant(listOf( + ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + name = inputName + doubleValue = constantValue + argIndex = argumentIndex + } + ))) +} + +fun intConstant(inputName: String, constantValue: Integer, argumentIndex: Int): List { + return listOf(argDescriptorConstant(listOf( + ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + name = inputName + int64Value = constantValue.toLong() + argIndex = argumentIndex + } + ))) +} + +fun mapSameName(names: List): List { + return listOf(mappingNDArrayInputs(names.map { name -> Pair(name, name) }.toMap().toMutableMap())) +} + +fun mapTensorNamesWithOp(inputFrameworkOpName: String, + opName: String, + tensorNames: MutableMap, + attributeMappingRules: List> = emptyList()): TensorflowMappingProcess { + return TensorflowMappingProcess( + opName = opName, + inputFrameworkOpName = inputFrameworkOpName, + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(tensorNames)), + attributeMappingRules = attributeMappingRules + ) + +} + +fun multipleNameMapping(inputFrameworkOpNames: List, + opName: String, tensorNames: MutableMap, + attributeMappingRules: List> = emptyList()): + List { + return inputFrameworkOpNames.map { + mapTensorNamesWithOp( + inputFrameworkOpName = it, + opName = opName, + tensorNames = tensorNames, + attributeMappingRules = attributeMappingRules + ) + } +} + +fun defineBiasAdd(names :List = listOf("BiasAdd","BiasAddV1")) { + names.forEach { + TensorflowMappingProcess( + opName = "biasadd", + inputFrameworkOpName = it, + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "value", "bias" to "bias"))), + attributeMappingRules = booleanConstant(inputName = "nchw", constantValue = false, argumentIndex = 0) + + ) + } +} + +fun defineTensorflowSingleTransform(inputOpName: String, inputFrameworkOpName: String): TensorflowMappingProcess { + return TensorflowMappingProcess( + opName = inputOpName, + inputFrameworkOpName = inputFrameworkOpName, tensorMappingRules = listOf( + NDArrayMappingRule( + mappingNamesToPerform = mutableMapOf("input" to "x") + ) + ), + attributeMappingRules = listOf(argDescriptorConstant( + listOf( + ArgDescriptor { + name = "inPlace" + boolValue = false + argType = OpNamespace.ArgDescriptor.ArgType.BOOL + argIndex = 0 + } + ) + )), + opMappingRegistry = tensorflowOpRegistry) + +} + +fun defineSingularReduce(inputFrameworkOpName: String, inputOpName: String): TensorflowMappingProcess { + return mapTensorNamesWithOp( + inputFrameworkOpName = inputFrameworkOpName, + opName = inputOpName, + attributeMappingRules = listOf( + valueMapping(mutableMapOf("keepDims" to "keep_dims")), + ndarrayToIntList(mutableMapOf("dimensions" to "reduction_indices")) + ), + tensorNames = mutableMapOf("input" to "input") + ) +} + +fun definePairWiseReduce(inputFrameworkOpName: String, inputOpName: String): TensorflowMappingProcess { + return mapTensorNamesWithOp( + inputFrameworkOpName = inputFrameworkOpName, + opName = inputOpName, + attributeMappingRules = listOf( + valueMapping(mutableMapOf("keepDims" to "keep_dims")), + ndarrayToIntList(mutableMapOf("dimensions" to "reduction_indices")) + ), + tensorNames = mutableMapOf("input" to "input") + ) +} + +fun defineTensorflowPairwiseTransforms(opName: String, inputFrameworkOpName: String, + firstOutputName: String = "input", + secondOutputName: String = "y", + firstInput: String = "x", secondInput: String = "y") : TensorflowMappingProcess { + return TensorflowMappingProcess( + opName = opName, + tensorMappingRules = listOf( + NDArrayMappingRule( + mappingNamesToPerform = mutableMapOf( + firstOutputName to firstInput, + secondOutputName to secondInput + ) + ) + ), + inputFrameworkOpName = inputFrameworkOpName, + inputFramework = "tensorflow", + attributeMappingRules = booleanConstant(inputName = "inPlace", constantValue = false, argumentIndex = 0), + opMappingRegistry = tensorflowOpRegistry + ) +} + diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/tensorflow/TensorflowIR.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/tensorflow/TensorflowIR.kt new file mode 100644 index 000000000..1aeb08601 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/tensorflow/TensorflowIR.kt @@ -0,0 +1,915 @@ +package org.nd4j.codegen.ir.tensorflow + +import org.apache.commons.io.IOUtils +import org.nd4j.codegen.ir.* +import org.nd4j.common.io.ClassPathResource +import org.nd4j.imports.graphmapper.tf.tensors.TFTensorMappers +import org.nd4j.ir.OpNamespace +import org.nd4j.ir.TensorNamespace +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.linalg.factory.Nd4j +import org.nd4j.shade.protobuf.TextFormat +import org.nd4j.tensorflow.conversion.graphrunner.GraphRunner +import org.tensorflow.framework.* +import org.tensorflow.framework.OpDef.AttrDef +import java.nio.charset.Charset +import kotlin.collections.HashMap +import kotlin.math.min + +fun loadTensorflowOps(): OpList { + val string = IOUtils.toString(ClassPathResource("ops.proto").inputStream, Charset.defaultCharset()) + val tfListBuilder = OpList.newBuilder() + TextFormat.merge(string, tfListBuilder) + return tfListBuilder.build() +} + +val tensorflowOps = loadTensorflowOps() + + + + +class TensorflowIRTensor(input: TensorProto): IRTensor { + + val tensor = input + + + override fun shape(): List { + return tensor.tensorShape.dimList.map { it.size } + + } + + override fun stride(): List { + return Nd4j.getStrides(shape().toTypedArray().toLongArray(), 'c').asList() + } + + override fun dataType(): IRDataType { + return TensorflowIRDataType(tensor.dtype) + } + + override fun toArgTensor(): TensorNamespace.TensorProto { + val builder = TensorNamespace.TensorProto.newBuilder() + .setDataLocation(TensorNamespace.TensorProto.DataLocation.DEFAULT) + + for(i in 0 until tensor.tensorShape.dimCount) { + builder.addDims(tensor.tensorShape.getDim(i).size) + } + + when(tensor.dtype) { + DataType.DT_UINT64 -> builder.dataType = TensorNamespace.DataType.UINT64.ordinal + DataType.DT_UINT32 -> builder.dataType = TensorNamespace.DataType.UINT32.ordinal + DataType.DT_UINT16 -> builder.dataType = TensorNamespace.DataType.UINT16.ordinal + DataType.DT_HALF -> builder.dataType = TensorNamespace.DataType.FLOAT16.ordinal + DataType.DT_STRING -> builder.dataType = TensorNamespace.DataType.STRING.ordinal + DataType.DT_FLOAT -> builder.dataType = TensorNamespace.DataType.FLOAT.ordinal + DataType.DT_DOUBLE -> builder.dataType = TensorNamespace.DataType.DOUBLE.ordinal + DataType.DT_BOOL -> builder.dataType = TensorNamespace.DataType.BOOL.ordinal + DataType.DT_INT64 -> builder.dataType = TensorNamespace.DataType.INT64.ordinal + DataType.DT_INT32 -> builder.dataType = TensorNamespace.DataType.INT32.ordinal + DataType.DT_INT16 -> builder.dataType = TensorNamespace.DataType.INT16.ordinal + DataType.DT_BFLOAT16 -> builder.dataType = TensorNamespace.DataType.BFLOAT16.ordinal + DataType.DT_COMPLEX64 -> builder.dataType = TensorNamespace.DataType.COMPLEX64.ordinal + DataType.DT_COMPLEX128 -> builder.dataType = TensorNamespace.DataType.COMPLEX128.ordinal + DataType.UNRECOGNIZED -> builder.dataType = TensorNamespace.DataType.UNRECOGNIZED.ordinal + + } + + + if(tensor.doubleValList != null && tensor.doubleValCount > 0) { + builder.addAllDoubleData(tensor.doubleValList) + } + + if(tensor.stringValList != null && tensor.stringValCount > 0) { + builder.addAllStringData(tensor.stringValList) + } + + if(tensor.floatValList != null && tensor.floatValCount > 0) { + builder.addAllFloatData(tensor.floatValList) + } + + if(tensor.intValList != null && tensor.intValCount > 0) { + builder.addAllInt32Data(tensor.intValList) + } + + if(tensor.uint64ValList != null && tensor.uint64ValCount > 0) { + builder.addAllInt64Data(tensor.uint64ValList) + } + + if(tensor.int64ValList != null && tensor.int64ValCount > 0) { + builder.addAllInt64Data(tensor.int64ValList) + } + + if(tensor.tensorContent != null) { + builder.rawData = tensor.tensorContent + } + + + return builder.build() + } + + override fun rawValue(): TensorProto { + return tensor + } + + override fun toNd4jNDArray(): INDArray { + if(tensor.dtype == DataType.UNRECOGNIZED || tensor.dtype == DataType.DT_INVALID) + return Nd4j.empty() + return TFTensorMappers.newMapper(tensor).toNDArray() + } +} + +class TensorflowIRDataType(inputDataType: DataType): IRDataType { + val dataType = inputDataType + + override fun convertToDataType(input: DataType): IRDataTypeValue { + when(input) { + DataType.DT_BOOL,DataType.DT_BOOL_REF -> return IRDataTypeValue.DT_BOOL + DataType.DT_BFLOAT16,DataType.DT_BFLOAT16_REF -> return IRDataTypeValue.DT_BFLOAT16 + DataType.DT_COMPLEX128,DataType.DT_COMPLEX128_REF -> return IRDataTypeValue.DT_COMPLEX128 + DataType.DT_COMPLEX64,DataType.DT_COMPLEX64_REF -> return IRDataTypeValue.DT_COMPLEX64 + DataType.DT_DOUBLE, DataType.DT_DOUBLE_REF -> return IRDataTypeValue.DT_DOUBLE + DataType.DT_FLOAT,DataType.DT_FLOAT_REF -> return IRDataTypeValue.DT_FLOAT + DataType.DT_HALF,DataType.DT_HALF_REF -> return IRDataTypeValue.DT_HALF + DataType.DT_INT16,DataType.DT_INT16_REF -> return IRDataTypeValue.DT_INT16 + DataType.DT_INT32,DataType.DT_INT32_REF -> return IRDataTypeValue.DT_INT32 + DataType.DT_INT64, DataType.DT_INT64_REF -> return IRDataTypeValue.DT_INT64 + DataType.DT_QINT8,DataType.DT_QINT8_REF -> return IRDataTypeValue.DT_QINT8 + DataType.DT_QINT16, DataType.DT_QINT16_REF -> return IRDataTypeValue.DT_QINT16 + DataType.DT_QINT32, DataType.DT_QINT32_REF -> return IRDataTypeValue.DT_QINT32 + DataType.DT_STRING,DataType.DT_STRING_REF -> return IRDataTypeValue.DT_STRING + DataType.DT_UINT16, DataType.DT_UINT16_REF -> return IRDataTypeValue.DT_UINT16 + DataType.DT_UINT32,DataType.DT_UINT32_REF -> return IRDataTypeValue.DT_UINT32 + DataType.DT_UINT64,DataType.DT_UINT64_REF -> return IRDataTypeValue.DT_UINT64 + + } + + return IRDataTypeValue.DT_INVALID + } + + + + override fun dataType(): IRDataTypeValue { + return convertToDataType(this.dataType) + } + + override fun internalValue(): DataType { + return this.dataType + } + + override fun nd4jDataType(): org.nd4j.linalg.api.buffer.DataType { + when(this.dataType) { + DataType.DT_BOOL,DataType.DT_BOOL_REF -> return org.nd4j.linalg.api.buffer.DataType.BOOL + DataType.DT_FLOAT,DataType.DT_FLOAT_REF -> return org.nd4j.linalg.api.buffer.DataType.FLOAT + DataType.DT_STRING, DataType.DT_STRING_REF -> return org.nd4j.linalg.api.buffer.DataType.UTF8 + DataType.DT_BFLOAT16,DataType.DT_BFLOAT16_REF -> return org.nd4j.linalg.api.buffer.DataType.BFLOAT16 + DataType.DT_INT64,DataType.DT_INT64_REF -> return org.nd4j.linalg.api.buffer.DataType.INT64 + DataType.DT_HALF,DataType.DT_HALF_REF -> return org.nd4j.linalg.api.buffer.DataType.FLOAT16 + DataType.DT_INT16,DataType.DT_INT16_REF -> return org.nd4j.linalg.api.buffer.DataType.INT16 + DataType.DT_INT32,DataType.DT_INT32_REF -> return org.nd4j.linalg.api.buffer.DataType.INT32 + DataType.DT_DOUBLE,DataType.DT_DOUBLE_REF -> return org.nd4j.linalg.api.buffer.DataType.DOUBLE + DataType.DT_UINT16, DataType.DT_UINT16_REF -> return org.nd4j.linalg.api.buffer.DataType.UINT16 + DataType.DT_UINT32,DataType.DT_UINT32_REF -> return org.nd4j.linalg.api.buffer.DataType.UINT32 + DataType.DT_UINT64, DataType.DT_UINT64_REF -> return org.nd4j.linalg.api.buffer.DataType.UINT64 + } + + return org.nd4j.linalg.api.buffer.DataType.UNKNOWN + } + + override fun nameSpaceDataType(): TensorNamespace.DataType { + when(this.dataType) { + DataType.DT_BOOL,DataType.DT_BOOL_REF -> return TensorNamespace.DataType.BOOL + DataType.DT_FLOAT,DataType.DT_FLOAT_REF -> return TensorNamespace.DataType.FLOAT + DataType.DT_STRING,DataType.DT_STRING_REF -> return TensorNamespace.DataType.STRING + DataType.DT_BFLOAT16,DataType.DT_BFLOAT16_REF -> return TensorNamespace.DataType.BFLOAT16 + DataType.DT_INT64, DataType.DT_INT64_REF -> return TensorNamespace.DataType.INT64 + DataType.DT_HALF,DataType.DT_HALF_REF-> return TensorNamespace.DataType.FLOAT16 + DataType.DT_INT16,DataType.DT_INT16_REF -> return TensorNamespace.DataType.INT16 + DataType.DT_INT32,DataType.DT_INT32_REF -> return TensorNamespace.DataType.INT32 + DataType.DT_DOUBLE,DataType.DT_DOUBLE_REF -> return TensorNamespace.DataType.DOUBLE + DataType.DT_UINT16,DataType.DT_UINT16_REF -> return TensorNamespace.DataType.UINT16 + DataType.DT_UINT32, DataType.DT_UINT32_REF -> return TensorNamespace.DataType.UINT32 + DataType.DT_UINT64,DataType.DT_UINT64_REF -> return TensorNamespace.DataType.UINT64 + } + + return TensorNamespace.DataType.UNDEFINED + } + +} + +fun attrDefaultValue(): IRAttribute { + return TensorflowIRAttr(AttrDef.getDefaultInstance(), AttrValue.getDefaultInstance()) +} + +class TensorflowIRAttr(inputAttributeDef: AttrDef, inputAttributeValue: AttrValue): IRAttribute { + + private val attributeDef = inputAttributeDef + private val attributeValue = inputAttributeValue + + override fun name(): String { + return attributeDef.name + } + + override fun floatValue(): Float { + return attributeValue.f + } + + override fun listFloatValue(): List { + return attributeValue.list.fList + } + + + override fun intValue(): Long { + return attributeValue.i + } + + override fun listIntValue(): List { + return attributeValue.list.iList + } + + override fun boolValue(): Boolean { + return attributeValue.b + } + + override fun listBoolValue(): List { + return attributeValue.list.bList + } + + override fun attributeValueType(): AttributeValueType { + when(attributeDef.type) { + "list(bool)" -> return AttributeValueType.LIST_BOOL + "bool" -> return AttributeValueType.BOOL + "string" -> return AttributeValueType.STRING + "list(string)" -> return AttributeValueType.LIST_STRING + "int" -> return AttributeValueType.INT + "list(int)" -> return AttributeValueType.LIST_INT + "float" -> return AttributeValueType.FLOAT + "list(float)" -> return AttributeValueType.LIST_FLOAT + "tensor" -> return AttributeValueType.TENSOR + "list(tensor)" -> return AttributeValueType.LIST_TENSOR + "type" -> return AttributeValueType.DATA_TYPE + } + + return AttributeValueType.INVALID + } + + + + override fun internalAttributeDef(): AttrDef { + return attributeDef + } + + override fun internalAttributeValue(): AttrValue { + return attributeValue + } + + override fun listTensorValue(): List> { + return attributeValue.list.tensorList.map { input -> TensorflowIRTensor(input) + } + } + + override fun tensorValue(): IRTensor { + return TensorflowIRTensor(attributeValue.tensor) + } + + override fun stringValue(): String { + return attributeValue.s.toStringUtf8() + } + + override fun listStringValue(): List { + return attributeValue.list.sList.map { it.toStringUtf8() } + } + + override fun dataTataTypeValue(): IRDataType { + return TensorflowIRDataType(attributeValue.type) + } + +} + +class TensorflowIRArgDef(input: OpDef.ArgDef): IRArgDef { + private val argDefValue = input + + override fun dataType(): IRDataType { + return TensorflowIRArgDef(argDefValue).dataType() + } + + override fun name(): String { + return argDefValue.name + } + + override fun description(): String { + return argDefValue.description + } + + override fun internalValue(): OpDef.ArgDef { + return argDefValue + } + + override fun indexOf(): Integer { + TODO("Not yet implemented") + } + +} + +class TensorflowIROp(input: OpDef): IROpDef { + + val opDef = input + + override fun attributes(): List> { + return opDef.attrList.map { + TensorflowIRAttr(it, AttrValue.getDefaultInstance()) + } + } + + override fun opName(): String { + return opDef.name + } + + override fun internalValue(): OpDef { + return opDef + } + + override fun inputArgs(): List> { + return opDef.inputArgList.map { + TensorflowIRArgDef(it) + } + } + + override fun outputArgs(): List> { + return opDef.outputArgList.map { + TensorflowIRArgDef(it) + } + } + +} + +class TensorflowIRNode(inputNode: NodeDef, inputOpDef: OpDef): IRNode { + + private val nodeDef = inputNode + private val opDef = inputOpDef + private val attrDefsMap = attrDefsByName(inputOpDef.attrList) + private val attrMap: Map> = initAttrMapFromNode(inputNode) + private val opDescriptor: OpNamespace.OpDescriptor + private val mappingProcess: MappingProcess = tensorflowOpRegistry.lookupOpMappingProcess(inputNode.op) + //private val inputs: List + //private val outputs: List + + init { + opDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + // inputs = opDescriptor.argDescriptorList.filter { argDescriptor -> argDescriptor.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR } + // outputs = opDescriptor.argDescriptorList.filter { argDescriptor -> argDescriptor.argType == OpNamespace.ArgDescriptor.ArgType.OUTPUT_TENSOR } + + } + + private fun attrDefsByName(input: List): Map { + val ret = HashMap() + input.forEach { + ret[it.name] = it + } + return ret + } + + private fun initAttrMapFromNode(input: NodeDef): Map> { + val ret = HashMap>() + input.attrMap.forEach { (key, value) -> + ret[key] = TensorflowIRAttr(attrDefsMap.getOrDefault(key, AttrDef.getDefaultInstance()), value) + } + + return ret + } + + override fun opName(): String { + return nodeDef.op + } + + override fun nodeName(): String { + return nodeDef.name + } + + override fun inputAt(index: Int): String { + if(mappingProcess.indexOverrides().containsKey(index)) + return nodeDef.getInput(mappingProcess.indexOverrides()[index]!!) + return nodeDef.getInput(index) + } + + override fun outputAt(index: Int): String { + return opDef.outputArgList[index].name + } + + + + override fun hasAttribute(inputName: String): Boolean { + return nodeDef.containsAttr(inputName) + } + + override fun attributeMap(): Map> { + return attrMap + } + + override fun createInputsFrom(inputData: List): List> { + return inputData.map { TensorflowIRTensor(it) } + } + + override fun createOutputsFrom(inputValues: List): List> { + return inputValues.map { TensorflowIRTensor(it) } + } + + override fun getAttribute(inputName: String): IRAttribute { + return attrMap.getOrDefault(inputName, attrDefaultValue()) + } + + override fun internalValue(): NodeDef { + return nodeDef + } + + override fun numInputs(): Int { + return nodeDef.inputCount + } + + override fun numOutputs(): Int { + return opDef.outputArgCount + } + + override fun inputs(): List { + return nodeDef.inputList + } + + override fun outputs(): List { + return opDef.outputArgList.map { input -> input.name } + } + + /** + * Get the list of tensors given an OpDef name (note: this is no tthe name of the input, but instead the op name, we use this to look up + * the number attribute value and thus the number of inputs for a particular definition name.) + * Tensorflow also allows multiple sets of lists of tensors as inputs, so we need to make sure to disambiguate which list of inputs we are looking up. + */ + override fun numInputsForListOfTensors(name: String): Int { + return nodeDef.getAttrOrThrow(opDef.inputArgList.first { input -> input.name == name }.numberAttr).i.toInt() + } + + override fun inputNamesForListOfInputValues(inputListName: String): List { + val inputArgNames = opDef.inputArgList.map { argDef -> argDef.name } + val indexOfDef = inputArgNames.indexOf(inputListName) + if(indexOfDef < 0) + return emptyList() + var totalAmount: Long = 0 + for(i in 0 .. indexOfDef) { + if(opDef.getInputArg(i).numberAttr.isNotEmpty()) { + val numToAdd = nodeDef.getAttrOrDefault(opDef.getInputArg(i).numberAttr, AttrValue { + LongVal(1) + }).i + totalAmount += numToAdd + } + else + totalAmount++ + } + //note: this is inclusive + return nodeDef.inputList.subList(indexOfDef,totalAmount.toInt()) + } + + override fun computeAdjustedOffsetForInput( + nd4jName: String, + inputFrameworkName: String, + tensorInputMappings: Map + ): Int { + val baseIndex = lookupIndexForArgDescriptor( + argDescriptorName = nd4jName, + opDescriptorName = this.opDescriptor.name, + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + ) + + val inputs = opDescriptor.argDescriptorList.filter { input -> input.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR } + var totalAmount: Long = 0 + for(i in 0 until baseIndex) { + val nd4jNameAtIndex = inputs.first {descriptor -> descriptor.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR && descriptor.argIndex == i}.name + val inputFrameworkName = tensorInputMappings[nd4jNameAtIndex]!! + val totalNames = inputNamesForListOfInputValues(inputFrameworkName).size + totalAmount += totalNames + } + + if(totalAmount < 1) + return baseIndex + return (baseIndex + totalAmount.toInt()) - 1 + } + + override fun nd4jInputs(tensorMappings: Map): List { + val ret = ArrayList() + val indicesToNames = HashMap>() + tensorMappings.forEach { (nd4jName,inputFrameworkName) -> + val idx = computeAdjustedOffsetForInput(nd4jName,inputFrameworkName,tensorMappings) + val inputNamesForCurrInput = inputNamesForListOfInputValues(inputFrameworkName) + indicesToNames[idx] = inputNamesForCurrInput + } + + indicesToNames.toSortedMap().forEach { idx, names -> + ret.addAll(names.filter {!ret.contains(it)}) + } + + return ret + } + +} + + +class TensorflowIRGraphRunner(irGraph: TensorflowIRGraph,inputNames: List,outputNames: List): IRGraphRunner { + + val irGraph = irGraph + val graphRunner: GraphRunner + init { + graphRunner = GraphRunner.builder() + .graphBytes(irGraph.graphDef.toByteArray()) + .inputNames(inputNames) + .outputNames(outputNames) + .build() + } + + + override fun graph(): IRGraph { + return irGraph + } + + override fun run(inputs: Map): Map { + return graphRunner.run(inputs) + } + +} + +class TensorflowIRGraph(graphDef: GraphDef, opDef: OpList): IRGraph< + GraphDef, + NodeDef, + OpDef, + TensorProto, + AttrDef, + AttrValue, + DataType> { + + val graphDef = graphDef + val opDef = opDef + override fun nodeByName(input: String): NodeDef { + return graphDef.nodeByName(input) + } + + + override fun nodeList(): List> { + return graphDef.nodeList.map { + inputNode -> TensorflowIRNode(inputNode, tensorflowOps.findOp(inputNode.op)) + } + } + + override fun internalValue(): GraphDef { + return graphDef + } + + + + override fun createMappingContext( + opDef: OpDef, + node: NodeDef, + dynamicVariables: Map + ): MappingContext { + return TensorflowMappingContext(opDef = opDef,graph = this,node = node,dynamicVariables = dynamicVariables) + } + + override fun frameworkName(): String { + return "tensorflow" + } + + override fun nd4jNameForInternalOpName(name: String): String { + return tensorflowOpRegistry.lookupOpMappingProcess(name).opName() + } + + override fun isConstantOpName(name: String): Boolean { + return name == "Const" || name == "Placeholder" + } + + override fun isConstant(opName: String): Boolean { + return opName == "Const" + } + + override fun isPlaceHolder(opName: String): Boolean { + return opName == "Placeholder" || opName == "PlaceholderWithDefault" + } + + override fun shapeOfInput(varName: String): LongArray? { + val attrMap = nodeByName(varName).attrMap + val shapeAvailable = attrMap.containsKey("shape") + var shape: LongArray? + shape = if (shapeAvailable) { + attrMap["shape"]!!.list.iList.toLongArray() + + } else { + //Some placeholders don't have any shape restrictions - i.e., accept anything... + null + } + + return shape + } + + override fun dataTypeForVariable(varName: String): IRDataType { + val node = nodeByName(varName) + val attrMap = node.attrMap + if(!attrMap.containsKey("dtype")) { + val retSet = attrMap.values.filter { attrValue -> attrValue.type != DataType.DT_INVALID } + if(retSet.isEmpty()) { + return TensorflowIRDataType(DataType.DT_INVALID) + } else { + return TensorflowIRDataType(attrMap.values.filter { attrValue -> attrValue.type != DataType.DT_INVALID }.first().type) + } + } else if(attrMap.containsKey("dtype")) { + return TensorflowIRDataType(attrMap["dtype"]!!.type) + } + + return TensorflowIRDataType(DataType.DT_INVALID) + } + + override fun importInfoForEachNode(dynamicVariables: Map): Map, OpNamespace.OpDescriptor>> { + return importInfoForEachNodeInGraph(graph = this,dynamicVariables = dynamicVariables) + } + + override fun nodeIsPlaceHolder(nodeName: String): Boolean { + return isPlaceHolder(nodeByName(nodeName).op) + } + + +} + + + + +fun convertToDataType(dataType: org.nd4j.linalg.api.buffer.DataType): DataType { + return when (dataType) { + org.nd4j.linalg.api.buffer.DataType.UINT16 -> DataType.DT_UINT16 + org.nd4j.linalg.api.buffer.DataType.UINT32 -> DataType.DT_UINT32 + org.nd4j.linalg.api.buffer.DataType.UINT64 -> DataType.DT_UINT64 + org.nd4j.linalg.api.buffer.DataType.BOOL -> DataType.DT_BOOL + org.nd4j.linalg.api.buffer.DataType.BFLOAT16 -> DataType.DT_BFLOAT16 + org.nd4j.linalg.api.buffer.DataType.FLOAT -> DataType.DT_FLOAT + org.nd4j.linalg.api.buffer.DataType.INT -> DataType.DT_INT32 + org.nd4j.linalg.api.buffer.DataType.LONG -> DataType.DT_INT64 + org.nd4j.linalg.api.buffer.DataType.BYTE -> DataType.DT_INT8 + org.nd4j.linalg.api.buffer.DataType.SHORT -> DataType.DT_INT16 + org.nd4j.linalg.api.buffer.DataType.DOUBLE -> DataType.DT_DOUBLE + org.nd4j.linalg.api.buffer.DataType.UBYTE -> DataType.DT_UINT8 + org.nd4j.linalg.api.buffer.DataType.HALF -> DataType.DT_HALF + org.nd4j.linalg.api.buffer.DataType.UTF8 -> DataType.DT_STRING + else -> throw UnsupportedOperationException("Unknown TF data type: [" + dataType.name + "]") + } +} + + +class TensorflowMappingContext(opDef: OpDef, node: NodeDef, graph: IRGraph,dynamicVariables: Map) : + AbstractMappingContext(opDef, node, graph,dynamicVariables) { + + override fun attrDef(name: String): AttrDef { + if(opDef().attrCount < 1) { + throw IllegalArgumentException("No attributes found for op def with name ${opDef.name}") + } + + val ret = opDef().attrList.firstOrNull { it.name == name } ?: error("No attribute found with name $name") + return ret!! + } + + override fun irAttributeValueForNode(valueName: String): IRAttribute { + val attrDef = attrDef(valueName) + val attrValue = node.getAttrOrDefault(valueName, attrDef.defaultValue) + return TensorflowIRAttr(inputAttributeDef = attrDef, inputAttributeValue = attrValue) + + } + + override fun tensorInputFor(name: String): IRTensor { + var foundIndex = -1 + /** + * Use op definition name as 1 unified reference name in rules for static purposes, but + * look up via index for specific node mappings. + * + * This is equivalent to the tf input position attribute value in the previous tensorflow import. + */ + var baseIndexOffset: Int = 0 + opDef.inputArgList.forEachIndexed { index, argDef -> + if(argDef.numberAttr.isNotEmpty()) { + var totalNum = node.getAttrOrDefault(argDef.numberAttr,AttrValue { + i = 0 + }) + + baseIndexOffset += totalNum.i.toInt() + } + + if(argDef.name == name) + foundIndex = min(index + baseIndexOffset,node.inputCount - 1) + } + + + if(foundIndex < 0) { + throw java.lang.IllegalArgumentException("Node with name ${nodeName()} for opdef with name ${opDef.name} did not contain a tensor with name ${name}") + } + + val graphNode = node.getInput(foundIndex) + return tensorInputFromInputFrameworkName(graphNode) + } + + override fun opName(): String { + return node.op + } + + override fun nodeName(): String { + return node.name + } + + override fun nd4jDataTypeFor(input: IRTensor): org.nd4j.linalg.api.buffer.DataType { + return input.dataType().nd4jDataType() + } + + override fun createIRTensorFromNDArray(ndarray: INDArray): IRTensor { + val tensorProto = TensorProto { + RawData(ndarray.data().asBytes()) + Shape(ndarray.shape().toList()) + DataType(convertToDataType(ndarray.dataType())) + } + + return TensorflowIRTensor(tensorProto) + } + + override fun tensorAttributeFor(name: String): IRTensor { + return TensorflowIRTensor(node.getAttrOrThrow(name).tensor) + } + + override fun irNode(): IRNode { + return TensorflowIRNode(node, tensorflowOps.findOp(node.op)) + } + + override fun tensorInputFromInputFrameworkName(name: String): IRTensor { + val searchedNode = graph.nodeByName(stripVarSuffix(name)) + //no value to be found on placeholder, return default instance + //if no value exists it's an output from another node + if("Placeholder" in searchedNode.op || !searchedNode.containsAttr("value")) { + println("Value for node $name is not a constant! This method only works for constants. Consider replacing the Placeholder node with a Constant node. This will return an empty tensor.") + if(!dynamicVariables.containsKey(name)) + return TensorflowIRTensor(TensorProto.getDefaultInstance()) + else { + val toConvert = dynamicVariables[name]!! + return TensorflowIRTensor(toConvert) + } + } + + //value nodes are the values of attributes that are input nodes in a frozen graph + return TensorflowIRTensor(searchedNode.getAttrOrThrow("value").tensor) + } + + +} + +fun tensorflowAttributeValueTypeFor(attributeName: String, opDef: OpDef): AttributeValueType { + val names = opDef.attrList.map { attrDef -> attrDef.name } + if(!names.contains(attributeName) && !isTensorflowTensorName(attributeName,opDef)) { + throw java.lang.IllegalArgumentException("Tensorflow op ${opDef.name} does not have attribute name $attributeName") + } else if(isTensorflowTensorName(attributeName,opDef)) { + //note we allows tensors here since sometimes input tensors in tensorflow become attributes in nd4j + return AttributeValueType.TENSOR + } + val attrDef = opDef.attrList.first { attrDef -> attrDef.name == attributeName } + return TensorflowIRAttr(attrDef, AttrValue.getDefaultInstance()).attributeValueType() +} + + + +fun isTensorflowTensorName(name: String, opDef: OpDef): Boolean { + return opDef.inputArgList.map {inputDef -> inputDef.name }.contains(name) +} + + +fun isTensorflowAttributeName(name: String, opDef: OpDef): Boolean { + return opDef.attrList.map { attrDef -> attrDef.name }.contains(name) +} + +/** + * fun initAttributes( +df: DifferentialFunction, +applied: Pair, OpNamespace.OpDescriptor>, +mappingContext: MappingContext, +sd: SameDiff +) + */ +//fun initAttributesTensorflow() + + + + + + + +/** + * Get the shape from a TensorShapeProto + * + * @param tensorShapeProto Shape + * @return Shape as long[] + */ +private fun shapeFromShapeProto(tensorShapeProto: TensorShapeProto): LongArray? { + val shape = LongArray(tensorShapeProto.dimList.size) + for (i in shape.indices) { + shape[i] = tensorShapeProto.getDim(i).size + } + return shape +} + +/** + * Convert from TF proto datatype to ND4J datatype + * + * @param tfType TF datatype + * @return ND4J datatype + */ +fun convertType(tfType: DataType?): org.nd4j.linalg.api.buffer.DataType { + return when (tfType) { + DataType.DT_DOUBLE -> org.nd4j.linalg.api.buffer.DataType.DOUBLE + DataType.DT_FLOAT -> org.nd4j.linalg.api.buffer.DataType.FLOAT + DataType.DT_HALF -> org.nd4j.linalg.api.buffer.DataType.HALF + DataType.DT_BFLOAT16 -> org.nd4j.linalg.api.buffer.DataType.BFLOAT16 + DataType.DT_INT8 -> org.nd4j.linalg.api.buffer.DataType.BYTE + DataType.DT_INT16 -> org.nd4j.linalg.api.buffer.DataType.SHORT + DataType.DT_INT32 -> org.nd4j.linalg.api.buffer.DataType.INT + DataType.DT_INT64 -> org.nd4j.linalg.api.buffer.DataType.LONG + DataType.DT_UINT8 -> org.nd4j.linalg.api.buffer.DataType.UBYTE + DataType.DT_STRING -> org.nd4j.linalg.api.buffer.DataType.UTF8 + DataType.DT_BOOL -> org.nd4j.linalg.api.buffer.DataType.BOOL + else -> org.nd4j.linalg.api.buffer.DataType.UNKNOWN + } +} + +/** + * @return True if the specified name represents a control dependency (starts with "^") + */ +fun isControlDep(name: String): Boolean { + return name.startsWith("^") +} + +/** + * @return The specified name without the leading "^" character (if any) that appears for control dependencies + */ +fun stripControl(name: String): String { + return if (name.startsWith("^")) { + name.substring(1) + } else name +} + +/** + * Remove the ":1" etc suffix for a variable name to get the op name + * + * @param varName Variable name + * @return Variable name without any number suffix + */ +fun stripVarSuffix(varName: String): String { + if (varName.matches(regex = Regex(".*:\\d+"))) { + val idx = varName.lastIndexOf(':') + return varName.substring(0, idx) + } + return varName +} + +/** + * Convert the tensor to an NDArray (if possible and if array is available) + * + * @param node Node to get NDArray from + * @return NDArray + */ +fun getNDArrayFromTensor(node: NodeDef): INDArray? { + //placeholder of some kind + if (!node.attrMap.containsKey("value")) { + return null + } + val tfTensor = node.getAttrOrThrow("value").tensor + return mapTensorProto(tfTensor) +} + +/** + * Convert a TensorProto to an INDArray + * + * @param tfTensor Tensor proto + * @return INDArray + */ +fun mapTensorProto(tfTensor: TensorProto): INDArray { + val m = TFTensorMappers.newMapper(tfTensor) ?: throw RuntimeException("Not implemented datatype: " + tfTensor.dtype) + return m.toNDArray() +} + +fun attributeValueTypeForTensorflowAttribute(attributeDef: AttrDef): AttributeValueType { + when(attributeDef.type) { + "list(bool)" -> return AttributeValueType.LIST_BOOL + "bool" -> return AttributeValueType.BOOL + "string" -> return AttributeValueType.STRING + "list(string)" -> return AttributeValueType.LIST_STRING + "int" -> return AttributeValueType.INT + "list(int)" -> return AttributeValueType.LIST_INT + "float" -> return AttributeValueType.FLOAT + "list(float)" -> return AttributeValueType.LIST_FLOAT + "tensor" -> return AttributeValueType.TENSOR + "list(tensor)" -> return AttributeValueType.LIST_TENSOR + "type" -> return AttributeValueType.DATA_TYPE + } + + return AttributeValueType.INVALID +} + + diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/tensorflow/TensorflowMappingProcess.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/tensorflow/TensorflowMappingProcess.kt new file mode 100644 index 000000000..1bb72260a --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/tensorflow/TensorflowMappingProcess.kt @@ -0,0 +1,53 @@ +package org.nd4j.codegen.ir.tensorflow + +import org.nd4j.codegen.ir.AbstractMappingProcess +import org.nd4j.codegen.ir.AttributeMappingRule +import org.nd4j.codegen.ir.AttributeValueType +import org.nd4j.codegen.ir.TensorMappingRule +import org.nd4j.codegen.ir.registry.OpMappingRegistry +import org.nd4j.codegen.ir.registry.OpRegistryHolder +import org.nd4j.common.base.Preconditions +import org.tensorflow.framework.* + +open class TensorflowMappingProcess(inputFramework: String = "tensorflow", + frameworkVersion: String = "2.3", + inputFrameworkOpName: String, + opName: String, + opMappingRegistry: OpMappingRegistry, + tensorMappingRules: List> = emptyList(), + attributeMappingRules: List> = emptyList(), + inputIndexOverrides: Map = emptyMap()) + : AbstractMappingProcess( + inputFramework, + frameworkVersion, + inputFrameworkOpName, + inputIndexOverrides, + opName, + opMappingRegistry, + tensorMappingRules, + attributeMappingRules) { + override fun inputOpDefValueTypes(): Map { + Preconditions.checkNotNull(inputFrameworkOpName,"No input framework op def name found!") + val opDef = opMappingRegistry.lookupInputFrameworkOpDef(inputFrameworkOpName) + val retMap = HashMap() + opDef.attrList.forEach { attrDef -> + retMap[attrDef.name] = attributeValueTypeForTensorflowAttribute(attrDef) + } + + return retMap + + } + +} + + diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/tensorflow/TensorflowOpDeclarations.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/tensorflow/TensorflowOpDeclarations.kt new file mode 100644 index 000000000..6388a3c6d --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/tensorflow/TensorflowOpDeclarations.kt @@ -0,0 +1,1916 @@ +package org.nd4j.codegen.ir.tensorflow + +import org.nd4j.codegen.ir.ArgDescriptor +import org.nd4j.codegen.ir.nameSpaceTensorFromNDarray +import org.nd4j.codegen.ir.nd4jOpDescriptors +import org.nd4j.codegen.ir.onnx.* +import org.nd4j.codegen.ir.registry.OpMappingRegistry +import org.nd4j.codegen.ir.registry.OpRegistryHolder +import org.nd4j.ir.OpNamespace +import org.nd4j.linalg.factory.Nd4j +import org.tensorflow.framework.* + +val tensorflowOpRegistry = OpMappingRegistry("tensorflow") + +val singleTransformArgs = mapOf( + "Abs" to "abs", + "Acos" to "acos", + "Acosh" to "acosh", + "Asin" to "asin", + "Asinh" to "asinh", + "Atan" to "atan", + "Atanh" to "atanh", + "Ceil" to "ceil", + "Cos" to "cos", + "Cosh" to "cosh", + "Erf" to "erf", + "Erfc" to "erfc", + "Exp" to "exp", + "Expm1" to "expm1", + "Floor" to "floor", + "Log" to "log", + "Log1p" to "log1p", + "Neg" to "neg", + "Rint" to "rint", + "Round" to "round", + "Rsqrt" to "rsqrt", + "Sigmoid" to "sigmoid", + "Sign" to "sign", + "Sin" to "sin", + "Sinh" to "sinh", + "Square" to "square", + "Sqrt" to "sqrt", + "Tan" to "tan", + "Tanh" to "tanh" +) + +val elementWiseTransformOps = mapOf( + "Add" to "add", + "AddV2" to "add", + "Div" to "divide", + "Greater" to "greater", + "GreaterEqual" to "greater_equal", + "Less" to "less", + "LessEqual" to "less_equal", + "Mul" to "multiply", + "Maximum" to "maximum", + "FloorDiv" to "floordiv", + "Mod" to "mod", + "FloorMod" to "fmod", + "SquaredDifference" to "squaredsubtract", + "NotEqual" to "not_equals", + "RealDiv" to "realdiv", + "RightShift" to "rshift_bits", + "Atan2" to "tf_atan2", + "TruncateDiv" to "truncatediv" +) + + +val reduceOps = mapOf( + //"AccumulateNV2" to "mergeadd", + "All" to "all", + "Any" to "any", + "Mean" to "reduce_mean", + "Prod" to "reduce_prod", + "Sum" to "reduce_sum", + "Min" to "reduce_min", + "Max" to "reduce_max", + + ) + + +val pairwiseReduceOps = mapOf( + "EuclideanNorm" to "euclidean" +) + + +val addN = TensorflowMappingProcess( + inputFrameworkOpName = "AddN", + opName = "mergesum", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "inputs"))), + opMappingRegistry = tensorflowOpRegistry +) + + +val assert = mapTensorNamesWithOp(inputFrameworkOpName = "Assert",opName = "Assert",tensorNames = mutableMapOf("input" to "condition")) + + +/** + * + * Note that angle only supports complex inputs and outputs. + * We don't support complex in nd4j so we just output zeros. + */ +/*val angleRule = TensorflowMappingProcess( + inputFrameworkOpName = "Angle", + opName = "zeros_like", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + opMappingRegistry = tensorflowOpRegistry +)*/ + +/* +val approxEqualRule = TensorflowMappingProcess( + inputFrameworkOpName = "Equal", + opName = "equals_with_eps", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x","y" to "y"))), + attributeMappingRules = listOf(valueMapping(mapOf("eps" to "tolerance")), + //TODO: note dimensions isn't on the TF op, need to investigate if there is a better default here + intConstant(inputName = "dimensions",constantValue = 0 as Integer,argumentIndex = 0)[0], + booleanConstant(inputName = "keepDims",constantValue = false,argumentIndex = 0)[0])) +*/ + + +val argMaxRule = TensorflowMappingProcess( + inputFrameworkOpName = "ArgMax", + opName = "argmax", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf( + argDescriptorConstant(listOf(ArgDescriptor { + argIndex = 0 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + name = "dimensions" + int64Value = -1 + })), + booleanConstant(inputName = "keepDims",constantValue = false,argumentIndex = 0)[0]) + +) + +val argMinRule = TensorflowMappingProcess( + inputFrameworkOpName = "ArgMin", + opName = "argmin", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf( + argDescriptorConstant(listOf(ArgDescriptor { + argIndex = 0 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + name = "dimensions" + int64Value = -1 + })), + booleanConstant(inputName = "keepDims",constantValue = false,argumentIndex = 0)[0]) + +) +/* +val reduceLogSumExp = TensorflowMappingProcess( + inputFrameworkOpName = "CumulativeLogsumexp", + opName = "reduce_logsumexp", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x"))), + attributeMappingRules = listOf( + ndarrayToIntList(mutableMapOf("dimensions" to "axis")), + booleanConstant(inputName = "keepDims",constantValue = true,argumentIndex = 0)[0]) + +)*/ + +/** + * Note: Assign uses variables, not tensors. We will not test this. + */ +val assignOp = TensorflowMappingProcess( + inputFrameworkOpName = "Assign", + opName = "assign", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "ref","y" to "value"))) +) + +val adjustHue = TensorflowMappingProcess( + inputFrameworkOpName = "AdjustHue", + opName = "adjust_hue", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "images","delta" to "delta"))), + attributeMappingRules = listOf(convertNDArrayInputToNumericalAttr(mutableMapOf("factor" to "delta"))) +) + +val adjustSaturation = TensorflowMappingProcess( + inputFrameworkOpName = "AdjustSaturation", + opName = "adjust_saturation", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "images","factor" to "scale"))), + attributeMappingRules = listOf(convertNDArrayInputToNumericalAttr(mutableMapOf("factor" to "scale"))) +) + + +val avgPool = TensorflowMappingProcess( + inputFrameworkOpName = "AvgPool", + opName = "avgpool2d", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "value"))), + attributeMappingRules = listOf( + stringNotEqualsRule(outputAttribute = "isNCHW",inputFrameworkAttributeName = "data_format",valueToTest = "NCHW",argumentIndex = 10), + stringEqualsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "padding",valueToTest = "SAME",argumentIndex = 8), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sH", attributeNameOfListAttribute = "strides", targetValue = "NCHW", trueIndex = 2, + falseIndex = 1,inputFrameworkStringNameToTest = "data_format",argumentIndex = 2), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sW", attributeNameOfListAttribute = "strides", targetValue = "NCHW", trueIndex = 3, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 3), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "kH", attributeNameOfListAttribute = "ksize", targetValue = "NCHW", trueIndex = 2, + falseIndex = 1,inputFrameworkStringNameToTest = "data_format",argumentIndex = 0), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "kW", attributeNameOfListAttribute = "ksize", targetValue = "NCHW", trueIndex = 3, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 1), + argDescriptorConstant(listOf( + ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + name = "pH" + int64Value = 0 + argIndex = 4 + }, + ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + name = "pW" + int64Value = 0 + argIndex = 5 + }, + ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + name = "dW" + int64Value = 1 + argIndex = 6 + }, + ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + name = "dH" + int64Value = 1 + argIndex = 7 + }, + ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + name = "extraParam0" + int64Value = 1 + argIndex = 9 + } + )) + ) +) + +val avgPool3d = TensorflowMappingProcess( + inputFrameworkOpName = "AvgPool3D", + opName = "avgpool3dnew", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf( + intConstant(inputName = "extraParam0",constantValue = 0 as Integer,argumentIndex = 13)[0], + intConstant(inputName = "pD",constantValue = 1 as Integer,argumentIndex = 6)[0], + intConstant(inputName = "pH",constantValue = 1 as Integer,argumentIndex = 7)[0], + intConstant(inputName = "pW",constantValue = 1 as Integer,argumentIndex = 8)[0], + intConstant(inputName = "dD",constantValue = 1 as Integer,argumentIndex = 9)[0], + intConstant(inputName = "dH",constantValue = 1 as Integer,argumentIndex = 10)[0], + intConstant(inputName = "dW",constantValue = 1 as Integer,argumentIndex = 11)[0], + stringEqualsRule(outputAttribute = "isNCDHW",inputFrameworkAttributeName = "data_format",valueToTest = "NDHWC",argumentIndex = 14), + stringEqualsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "padding",valueToTest = "SAME",argumentIndex = 12), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "kH", attributeNameOfListAttribute = "ksize", targetValue = "NDHWC", trueIndex = 2, + falseIndex = 4,inputFrameworkStringNameToTest = "data_format",argumentIndex = 1), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "kW", attributeNameOfListAttribute = "ksize", targetValue = "NDHWC", trueIndex = 4, + falseIndex = 5,inputFrameworkStringNameToTest = "data_format",argumentIndex = 2), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "kD", attributeNameOfListAttribute = "ksize", targetValue = "NDHWC", trueIndex = 1, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 0), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sH", attributeNameOfListAttribute = "strides", targetValue = "NDHWC", trueIndex = 2, + falseIndex = 4,inputFrameworkStringNameToTest = "data_format",argumentIndex = 4), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sW", attributeNameOfListAttribute = "strides", targetValue = "NDHWC", trueIndex = 4, + falseIndex = 5,inputFrameworkStringNameToTest = "data_format",argumentIndex = 5), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sD", attributeNameOfListAttribute = "strides", targetValue = "NDHWC", trueIndex = 1, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 3) + + + ) +) + +val batchToSpace = TensorflowMappingProcess( + opName = "batch_to_space", + inputFrameworkOpName = "BatchToSpace", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf(valueMapping(mapOf("blockSize" to "block_size"))), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input","crop" to "crops"))) +) + +val batchToSpaceND = TensorflowMappingProcess( + opName = "batch_to_space_nd", + inputFrameworkOpName = "BatchToSpaceND", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf(ndarrayToIntList(mutableMapOf("blocks" to "block_shape")), + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0]), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input","crop" to "crops","blockShape" to "block_shape"))) +) + +val betaInc = TensorflowMappingProcess( + opName = "betainc", + inputFrameworkOpName = "Betainc", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("a" to "a","b" to "b","input" to "x"))), + attributeMappingRules = emptyList() +) + +val biasAddResult = defineBiasAdd() + +val binCount = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + opName = "bincount", + inputFrameworkOpName = "Bincount", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("weights" to "weights","values" to "arr"))), + attributeMappingRules = listOf( + argDescriptorConstant(listOf( + ArgDescriptor { + name = "minLength" + argIndex = 0 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + int64Value = 0 + } + )), + convertNDArrayInputToNumericalAttr(mutableMapOf("maxLength" to "size")), + valueMapping(mutableMapOf("outputType" to "T"))), + inputIndexOverrides = mapOf(1 to 2,2 to 1)) + + +val bitCast = TensorflowMappingProcess( + opName = "bitcast", + opMappingRegistry = tensorflowOpRegistry, + inputFrameworkOpName = "Bitcast", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf(dataTypeToInt(mutableMapOf("newType" to "type"))) +) + +val bitwiseAnd = TensorflowMappingProcess( + opName = "bitwise_and", + opMappingRegistry = tensorflowOpRegistry, + inputFrameworkOpName = "BitwiseAnd", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x","y" to "y"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0) +) + +val bitwiseOr = TensorflowMappingProcess( + opName = "bitwise_or", + opMappingRegistry = tensorflowOpRegistry, + inputFrameworkOpName = "BitwiseOr", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x","y" to "y"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0) +) + + + +val bitwiseXOr = TensorflowMappingProcess( + opName = "bitwise_xor", + opMappingRegistry = tensorflowOpRegistry, + inputFrameworkOpName = "BitwiseXor", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x","y" to "y"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0) +) + +val broadcastDynamicShape = TensorflowMappingProcess( + opName = "broadcast_dynamic_shape", + opMappingRegistry = tensorflowOpRegistry, + inputFrameworkOpName = "BroadcastArgs", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "s0","y" to "s1"))) +) + +//TODO: not implemented yet + +/*val broadcastCatGradientArgs = TensorflowMappingProcess( + opName = "broadcastgradientargs", + inputFrameworkOpName = "BroadcastGradientArgs", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf(booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0], + intConstant(inputName = "dimension",constantValue = 0 as Integer,argumentIndex = 0)[0]), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "s0","y" to "s1"))) +)*/ + +val broadcastTo = TensorflowMappingProcess( + opName = "broadcast_to", + inputFrameworkOpName = "BroadcastTo", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input","shape" to "shape"))) +) + + +val copy2 = multipleNameMapping( + inputFrameworkOpNames = listOf("Copy"), + opName = "copy", + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + tensorNames = mutableMapOf("input" to "input") +) + +val checkNumerics = TensorflowMappingProcess( + opName = "check_numerics", + inputFrameworkOpName = "CheckNumerics", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf(convertStringToInputNDArray(mutableMapOf("message" to "message"))), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "tensor"))) +) + +//only exists in tf2, tf-java can't run it + +val checkNumericsV2 = TensorflowMappingProcess( + opName = "check_numerics", + inputFrameworkOpName = "CheckNumericsV2", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf(convertStringToInputNDArray(mutableMapOf("message" to "message"))), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "tensor"))) +) + + +val variable = mapTensorNamesWithOp(inputFrameworkOpName = "Variable", + opName = "identity", + tensorNames = mutableMapOf(), + attributeMappingRules = listOf( + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0])) + +val variableV2 = mapTensorNamesWithOp(inputFrameworkOpName = "VariableV2", + opName = "identity", + tensorNames = mutableMapOf(), + attributeMappingRules = listOf( + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0])) + + + +val identity2 = mapTensorNamesWithOp(inputFrameworkOpName = "Identity", + opName = "identity", + tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = listOf( + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0])) + +val const = mapTensorNamesWithOp(inputFrameworkOpName = "Const", + opName = "identity", + tensorNames = mutableMapOf(), + attributeMappingRules = listOf(ndArrayAttributeToNDarrayInput(mutableMapOf("input" to "value")), + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0])) + + +val cholesky = TensorflowMappingProcess( + opName = "cholesky", + inputFrameworkOpName = "Cholesky", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = mapSameName(listOf("input")) +) + + +val clipByValue = TensorflowMappingProcess( + opName = "ClipByValue", + opMappingRegistry = tensorflowOpRegistry, + inputFrameworkOpName = "ClipByValue", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "t"))), + attributeMappingRules = listOf( + convertNDArrayInputToNumericalAttr(mutableMapOf("clipValueMin" to "clip_value_min","clipValueMax" to "clip_value_max")), + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0]) +) + + +//TODO: our compare and bit pack operation seems to do something different than TFs? +/* +val compareAndBitPack = TensorflowMappingProcess( + opName = "compare_and_bitpack", + opMappingRegistry = tensorflowOpRegistry, + inputFrameworkOpName = "CompareAndBitpack", + attributeMappingRules = listOf(convertNDArrayInputToNumericalAttr(mutableMapOf("threshold" to "threshold"))), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input","y" to "threshold"))) +) +*/ + + +val concat = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + opName = "concat", + inputFrameworkOpName = "Concat", + tensorMappingRules = listOf(mappingListNDArrays(mutableMapOf("input" to "values","concatDimension" to "concat_dim"))), + attributeMappingRules = listOf(convertNDArrayInputToNumericalAttr(mutableMapOf("concatDimension" to "concat_dim")), + booleanConstant(inputName = "isDynamicAxis",constantValue = true,argumentIndex = 0)[0]) +) + +val concatv2 = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + opName = "concat", + inputFrameworkOpName = "ConcatV2", + tensorMappingRules = listOf(mappingListNDArrays(mutableMapOf("input" to "values","concatDimension" to "axis"))), + attributeMappingRules = listOf(convertNDArrayInputToNumericalAttr(mutableMapOf("concatDimension" to "axis")), + booleanConstant(inputName = "isDynamicAxis",constantValue = true,argumentIndex = 0)[0])) + + +/*val parallelConcat = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + opName = "concat", + inputFrameworkOpName = "ParallelConcat", + tensorMappingRules = listOf(mappingListNDArrays(mutableMapOf("input" to "values"))), + attributeMappingRules = listOf( + intConstant(inputName = "concatDimension",constantValue = 0 as Integer,argumentIndex = 0)[0], + booleanConstant(inputName = "isDynamicAxis",constantValue = true,argumentIndex = 0)[0]) +)*/ + +//TODO Reference ImportClassMapping.java +//TODO: ParallelDynamicStitch, map to dynamic stitch +//TODO: PollyGamma, map to pairwise transforms +//TODO: map QR + +val cropAndResize = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + opName = "crop_and_resize", + inputFrameworkOpName = "CropAndResize", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf( + "image" to "image", + "boxes" to "boxes", + "boxIndexes" to "box_ind", + "newImageSize" to "crop_size"))), + attributeMappingRules = listOf( + ndarrayStringToIndex(outputAttributeValue = "method",inputAttributeValue = "method",listOfValues = listOf("bilinear","nearest"),argumentIndex = 0), + valueMapping(mapOf("extrapolationVal" to "extrapolation_value"))) +) + +val cumProd = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + opName = "cumprod", + inputFrameworkOpName = "Cumprod", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x","dimensions" to "axis"))), + attributeMappingRules = listOf(invertBooleanNumber(mutableMapOf("exclusive" to "exclusive","reverse" to "reverse")))) + + + + +val cumSum = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + opName = "cumsum", + inputFrameworkOpName = "Cumsum", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x","dimensions" to "axis"))), + attributeMappingRules = listOf( + invertBooleanNumber(mutableMapOf("exclusive" to "exclusive", + "reverse" to "reverse")))) + + + + +val cross = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + opName = "cross", + inputFrameworkOpName = "Cross", + tensorMappingRules = mapSameName(listOf("a","b")) +) + +val depthToSpace = TensorflowMappingProcess( + opName = "depth_to_space", + inputFrameworkOpName = "DepthToSpace", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf(valueMapping(mapOf("block_size" to "block_size")), + stringEqualsRule("isNHWC" + ,inputFrameworkAttributeName = "data_format",valueToTest = "NHWC",argumentIndex = 1)), + opMappingRegistry = tensorflowOpRegistry +) + +/** + * depth_conv + */ +val depthWiseConv2d = TensorflowMappingProcess( + opName = "depthwise_conv2d", + inputFrameworkOpName = "DepthwiseConv2dNative", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf( + "input" to "input","weights" to "filter"))), + attributeMappingRules = listOf( + stringNotEqualsRule(outputAttribute = "isNCHW",inputFrameworkAttributeName = "data_format",valueToTest = "NCHW",argumentIndex = 9), + stringEqualsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "padding",valueToTest = "SAME",argumentIndex = 8), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sH", attributeNameOfListAttribute = "strides", targetValue = "NCHW", trueIndex = 2, + falseIndex = 1,inputFrameworkStringNameToTest = "data_format",argumentIndex = 2), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sW", attributeNameOfListAttribute = "strides", targetValue = "NCHW", trueIndex = 3, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 3), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "dH", attributeNameOfListAttribute = "dilations", targetValue = "NCHW", trueIndex = 2, + falseIndex = 1,inputFrameworkStringNameToTest = "data_format",argumentIndex = 6), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "dW", attributeNameOfListAttribute = "dilations", targetValue = "NCHW", trueIndex = 3, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 7), + //NOTE: This is a dynamically resolved attribute at runtime. + sizeAtRule(outputAttributeName = "kH",dimensionIndex = 0,inputFrameworkAttributeName = "filter",argumentIndex = 0), + sizeAtRule(outputAttributeName = "kW",dimensionIndex = 1,inputFrameworkAttributeName = "filter",argumentIndex = 1), + argDescriptorConstant(listOf( + ArgDescriptor { + name = "pH" + int64Value = 1 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + argIndex = 4 + }, + ArgDescriptor { + name = "pW" + int64Value = 1 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + argIndex = 5 + }, + ArgDescriptor { + name = "wFormat" + int64Value = 0 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + argIndex = 10 + } + ))) +) + + +val diag = TensorflowMappingProcess( + inputFrameworkOpName = "Diag", + opName = "diag", + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "diagonal"))), + opMappingRegistry = tensorflowOpRegistry +) + + +val diagPart = TensorflowMappingProcess( + inputFrameworkOpName = "DiagPart", + opName = "diag_part", + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + opMappingRegistry = tensorflowOpRegistry +) + +val lGamma = TensorflowMappingProcess( + inputFrameworkOpName = "Lgamma", + opName = "lgamma", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x"))), + opMappingRegistry = tensorflowOpRegistry +) + + +val diGamma = TensorflowMappingProcess( + inputFrameworkOpName = "Digamma", + opName = "digamma", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x"))), + opMappingRegistry = tensorflowOpRegistry +) + +val iGamma = TensorflowMappingProcess( + inputFrameworkOpName = "Igamma", + opName = "igamma", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "a","y" to "x"))), + opMappingRegistry = tensorflowOpRegistry +) + +val iGammaC = TensorflowMappingProcess( + inputFrameworkOpName = "Igamma", + opName = "igamma", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "a","y" to "x"))), + opMappingRegistry = tensorflowOpRegistry +) + +val dilation2D = TensorflowMappingProcess( + opName = "dilation2d", + inputFrameworkOpName = "Dilation2D", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf( + "input" to "input","weights" to "filter"))), + attributeMappingRules = listOf( + stringEqualsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "padding",valueToTest = "SAME",argumentIndex = 0), + listNumberToListNumber(outputAttributeValue = "rates",inputAttributeValue = "rates"), + listNumberToListNumber(outputAttributeValue = "strides", + inputAttributeValue = "strides")) +) + +val drawBoundingBoxes = TensorflowMappingProcess( + inputFrameworkOpName = "DrawBoundingBoxesV2", + inputFramework = "tensorflow", + opName = "draw_bounding_boxes", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("images" to "images","boxes" to "boxes","colors" to "colors"))) +) + + +val conv2d = TensorflowMappingProcess( + inputFramework = "tensorflow", + inputFrameworkOpName = "Conv2D", + opName = "conv2d", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf( + "input" to "input","weights" to "filter"))), + attributeMappingRules = listOf( + intConstant(inputName = "pH",constantValue = 0 as Integer,argumentIndex = 4)[0], + intConstant(inputName = "pW",constantValue = 0 as Integer,argumentIndex = 5)[0], + intConstant(inputName = "wFormat",constantValue = 0 as Integer,argumentIndex = 10)[0], + stringNotEqualsRule(outputAttribute = "isNCHW",inputFrameworkAttributeName = "data_format",valueToTest = "NCHW",argumentIndex = 9), + stringEqualsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "padding",valueToTest = "SAME",argumentIndex = 8), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sH", attributeNameOfListAttribute = "strides", targetValue = "NCHW", trueIndex = 2, + falseIndex = 1,inputFrameworkStringNameToTest = "data_format",argumentIndex = 2), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sW", attributeNameOfListAttribute = "strides", targetValue = "NCHW", trueIndex = 3, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 3), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "dH", attributeNameOfListAttribute = "dilations", targetValue = "NCHW", trueIndex = 2, + falseIndex = 1,inputFrameworkStringNameToTest = "data_format",argumentIndex = 6), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "dW", attributeNameOfListAttribute = "dilations", targetValue = "NCHW", trueIndex = 3, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 7), + //NOTE: This is a dynamically resolved attribute at runtime. + sizeAtRule(outputAttributeName = "kH",dimensionIndex = 0,inputFrameworkAttributeName = "filter",argumentIndex = 0), + sizeAtRule(outputAttributeName = "kW",dimensionIndex = 1,inputFrameworkAttributeName = "filter",argumentIndex = 1) + ),opMappingRegistry = tensorflowOpRegistry) + +/** + * TODO: verify the amounts + */ +val conv3d = TensorflowMappingProcess( + inputFrameworkOpName = "Conv3D", + opName = "conv3dnew", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf( + "input" to "input","weights" to "filter"))), + attributeMappingRules = listOf( + stringEqualsRule(outputAttribute = "isNCDHW",inputFrameworkAttributeName = "data_format",valueToTest = "NDHWC",argumentIndex = 13), + stringEqualsRule(outputAttribute = "paddingMode",inputFrameworkAttributeName = "padding",valueToTest = "SAME",argumentIndex = 12), + intConstant(inputName = "pD",constantValue = 1 as Integer,argumentIndex = 6)[0], + intConstant(inputName = "pH",constantValue = 1 as Integer,argumentIndex = 7)[0], + intConstant(inputName = "pW",constantValue = 1 as Integer,argumentIndex = 8)[0], + sizeAtRule(outputAttributeName = "kH",dimensionIndex = 1,inputFrameworkAttributeName = "filter",argumentIndex = 1), + sizeAtRule(outputAttributeName = "kW",dimensionIndex = 2,inputFrameworkAttributeName = "filter",argumentIndex = 2), + sizeAtRule(outputAttributeName = "kD",dimensionIndex = 0,inputFrameworkAttributeName = "filter",argumentIndex = 0), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sH", attributeNameOfListAttribute = "strides", targetValue = "NDHWC", trueIndex = 2, + falseIndex = 4,inputFrameworkStringNameToTest = "data_format",argumentIndex = 4), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sW", attributeNameOfListAttribute = "strides", targetValue = "NDHWC", trueIndex = 4, + falseIndex = 5,inputFrameworkStringNameToTest = "data_format",argumentIndex = 5), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sD", attributeNameOfListAttribute = "strides", targetValue = "NDHWC", trueIndex = 1, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 3), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "dW", attributeNameOfListAttribute = "dilations", targetValue = "NDHWC", trueIndex = 2, + falseIndex = 4,inputFrameworkStringNameToTest = "data_format",argumentIndex = 11), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "dH", attributeNameOfListAttribute = "dilations", targetValue = "NDHWC", trueIndex = 4, + falseIndex = 5,inputFrameworkStringNameToTest = "data_format",argumentIndex = 10), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "dD", attributeNameOfListAttribute = "dilations", targetValue = "NDHWC", trueIndex = 1, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 9) + + + ),opMappingRegistry = tensorflowOpRegistry) + + + + +val divideNoNan = TensorflowMappingProcess( + opName = "divide_no_nan", + inputFrameworkOpName = "DivNoNan", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x","y" to "y"))), + opMappingRegistry = tensorflowOpRegistry +) + +val dynamicPartition = TensorflowMappingProcess( + opName = "dynamic_partition", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data","indices" to "partitions"))), + inputFrameworkOpName = "DynamicPartition", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf(valueMapping(mapOf("numPartitions" to "num_partitions"))) +) + + +/** + * TODO: check if n attribute has value for tensorflow + */ +val dynamicStitch = TensorflowMappingProcess( + opName = "dynamic_stitch", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("index" to "data","input" to "indices"))), + attributeMappingRules = listOf(valueMapping(mutableMapOf("numPartitions" to "N"))), + inputFrameworkOpName = "DynamicStitch", + opMappingRegistry = tensorflowOpRegistry +) + +val empty = TensorflowMappingProcess( + opName = "create", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "shape"))), + inputFrameworkOpName = "Empty", + attributeMappingRules = listOf(valueMapping(mapOf("init" to "init","outputType" to "dtype")), + dataTypeToInt(mutableMapOf("outputType" to "dtype")), + intConstant(inputName = "order",constantValue = 'c'.toInt() as Integer,argumentIndex = 0)[0]), + opMappingRegistry = tensorflowOpRegistry +) + + +val elu = mapTensorNamesWithOp(inputFrameworkOpName = "Elu",opName = "elu",tensorNames = mutableMapOf("input" to "features"), + attributeMappingRules = listOf(argDescriptorConstant( + listOf( + ArgDescriptor { + name = "alpha" + doubleValue = 1.0 + argType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + argIndex = 0 + } + ) + ))) + +val enter = TensorflowMappingProcess( + opName = "enter", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + inputFrameworkOpName = "Enter", + attributeMappingRules = listOf(valueMapping(mapOf("isConstant" to "is_constant"))), + opMappingRegistry = tensorflowOpRegistry +) + +val equal = TensorflowMappingProcess( + opName = "equals", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x","y" to "y"))), + inputFrameworkOpName = "Equal", + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = tensorflowOpRegistry +) + +val approxEqual = TensorflowMappingProcess( + opName = "equals", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x","y" to "y"))), + inputFrameworkOpName = "ApproximateEqual", + attributeMappingRules = listOf(booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0]), + opMappingRegistry = tensorflowOpRegistry +) + +val exit = TensorflowMappingProcess( + opName = "exit", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + inputFrameworkOpName = "Exit", + opMappingRegistry = tensorflowOpRegistry +) + +val expandDims = TensorflowMappingProcess( + opName = "expand_dims", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + inputFrameworkOpName = "ExpandDims", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf(ndarrayToIntList(ndarrayNameToAttributeName = mutableMapOf("dimensions" to "dim")) + )) + +val extractImagesPatches = TensorflowMappingProcess( + opName = "extract_image_patches", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "images"))), + inputFrameworkOpName = "ExtractImagePatches", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf( + listAttributeValueLookupToIndex(outputAttributeValue = "ksizeRows",inputAttributeValue = "ksizes",idx = 0,argumentIndex = 0), + listAttributeValueLookupToIndex(outputAttributeValue = "ksizeCols",inputAttributeValue = "ksizes",idx = 1,argumentIndex = 1), + listAttributeValueLookupToIndex(outputAttributeValue = "kstrideRows",inputAttributeValue = "strides",idx = 0,argumentIndex = 2), + listAttributeValueLookupToIndex(outputAttributeValue = "kstrideCols",inputAttributeValue = "strides",idx = 1,argumentIndex = 3), + listAttributeValueLookupToIndex(outputAttributeValue = "krateRows",inputAttributeValue = "rates",idx = 1,argumentIndex = 4), + listAttributeValueLookupToIndex(outputAttributeValue = "krateCols",inputAttributeValue = "rates",idx = 1,argumentIndex = 5), + stringEqualsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "padding",valueToTest = "SAME",argumentIndex = 0)) +) + + + + +val fusedBatchnormV2 = TensorflowMappingProcess( + opName = "fused_batch_norm", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x","scale" to "scale", + "offset" to "offset","mean" to "mean","variance" to "variance"))), + inputFrameworkOpName = "FusedBatchNormV2", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf(valueMapping(mutableMapOf("epsilon" to "epsilon")), + invertBooleanNumber(mutableMapOf("isTraining" to "is_training")), + stringEqualsRule(outputAttribute = "dataFormat",inputFrameworkAttributeName = "data_format",valueToTest = "NCHW",argumentIndex = 0)) +) + +//tf2 op +val fusedBatchnormV3 = TensorflowMappingProcess( + opName = "fused_batch_norm", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x","scale" to "scale", + "offset" to "offset","mean" to "mean","variance" to "variance"))), + inputFrameworkOpName = "FusedBatchNormV3", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf(valueMapping(mutableMapOf("epsilon" to "epsilon")), + invertBooleanNumber(mutableMapOf("isTraining" to "is_training")), + stringEqualsRule(outputAttribute = "dataFormat",inputFrameworkAttributeName = "data_format",valueToTest = "NCHW",argumentIndex = 0)) +) + + + +val gather = TensorflowMappingProcess( + opName = "gather", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "params","indices" to "indices"))), + attributeMappingRules = listOf(ndarrayToIntList(mutableMapOf()), + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0], + intConstant(inputName = "dimensions",constantValue = 0 as Integer,argumentIndex = 0)[0]), + inputFrameworkOpName = "Gather", + opMappingRegistry = tensorflowOpRegistry +) + +val gatherNd = TensorflowMappingProcess( + opName = "gather_nd", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "params","indices" to "indices"))), + attributeMappingRules = listOf(ndarrayToIntList(mutableMapOf()), + booleanConstant(inputName = "checkIndices",constantValue = false,argumentIndex = 0)[0]), + inputFrameworkOpName = "GatherNd", + opMappingRegistry = tensorflowOpRegistry +) + +val histogramFixedWidth = TensorflowMappingProcess( + opName = "histogram_fixed_width", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "values","range" to "value_range","numBins" to "nbins"))), + inputFrameworkOpName = "HistogramFixedWidth", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf(ndarrayToIntList(mutableMapOf("nbins" to "nbins"))) +) + +val identity = multipleNameMapping( + opName = "identity", + inputFrameworkOpNames = listOf("DeepCopy"), + tensorNames = mutableMapOf("input" to "x"), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)) + + +val identityCopyToHost = multipleNameMapping( + opName = "identity", + inputFrameworkOpNames = listOf("CopyHost"), + tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)) + +val identityN = TensorflowMappingProcess( + opName = "identity_n", + inputFrameworkOpName = "IdentityN", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))) +) + +val ifOp = TensorflowMappingProcess( + opName = "Switch", + inputFrameworkOpName = "If", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input","condition" to "cond"))) +) + + + +val reciprocal = TensorflowMappingProcess( + opName = "Reciprocal", + inputFrameworkOpName = "Inv", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x"))) +) + +val inTopKResults = multipleNameMapping(inputFrameworkOpNames = listOf("InTopK"), + opName = "in_top_k", + tensorNames = mutableMapOf("target" to "targets","predictions" to "predictions"), + attributeMappingRules = listOf(valueMapping(mutableMapOf("k" to "k")), + booleanConstant(inputName = "sorted",constantValue = true,argumentIndex = 0)[0])) + + +val inTopKResults2 = multipleNameMapping(inputFrameworkOpNames = listOf("InTopKV2"), + opName = "in_top_k", + tensorNames = mutableMapOf("target" to "targets","predictions" to "predictions"), + attributeMappingRules = listOf(ndarrayToIntList(mutableMapOf("k" to "k")), + booleanConstant(inputName = "sorted",constantValue = true,argumentIndex = 0)[0])) + +val invert = mapTensorNamesWithOp(inputFrameworkOpName = "Invert",opName = "toggle_bits",tensorNames = mutableMapOf("input" to "x")) +val invertPermutation = mapTensorNamesWithOp(inputFrameworkOpName = "InvertPermutation", + opName = "invert_permutation",tensorNames = mutableMapOf("input" to "x"), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)) +val isFinite = mapTensorNamesWithOp(inputFrameworkOpName = "IsFinite",opName = "isfinite",tensorNames = mutableMapOf("input" to "x"), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)) +val isInf = mapTensorNamesWithOp(inputFrameworkOpName = "IsInf",opName = "isinf", + tensorNames = mutableMapOf("input" to "x"), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)) +val isNan = mapTensorNamesWithOp(inputFrameworkOpName = "IsNan",opName = "isnan", + tensorNames = mutableMapOf("input" to "x"),attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)) +//TODO: weird parameter values with config.getBias( and other similar names +val lrn = mapTensorNamesWithOp(inputFrameworkOpName = "LRN",opName = "lrn", + tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = listOf(valueMapping(mutableMapOf("depth" to "depth_radius","alpha" to "alpha", + "bias" to "bias","beta" to "beta")), + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0])) + +val leakyRelu = mapTensorNamesWithOp(inputFrameworkOpName = "LeakyRelu",opName = "leakyrelu", + attributeMappingRules = listOf(valueMapping(mappings = mutableMapOf("alpha" to "alpha"))), + tensorNames = mutableMapOf("input" to "features")) +//TODO: no input values found +val leftShift = mapTensorNamesWithOp(inputFrameworkOpName = "LeftShift",opName = "shift_bits", + tensorNames = mutableMapOf("input" to "x","y" to "y"), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)) + +val linspace = mapTensorNamesWithOp(inputFrameworkOpName = "LinSpace",opName = "lin_space", + tensorNames = mutableMapOf("start" to "start","finish" to "stop","numOfElements" to "num"), + attributeMappingRules = listOf( + convertNDArrayInputToNumericalAttr(mutableMapOf( + "start" to "start", + "stop" to "stop")), + valueMapping(mutableMapOf("dataType" to "T")) + )) + +//0=tanh, 1=relu, 2=sigmoid, 3=affine, 4=leaky relu, 5= thresholded relu, 6=scaled tanh, 7=hard sigmoid, 8=ELU, 9=softsign, 10=softplus + +val lstmActivationMap = mapOf( + "Relu" to 1, + "Tanh" to 0, + "Sigmoid" to 2, + "Affine" to 3, + "LeakyRelu" to 4, + "ThresholdedRelu" to 5, + "ScaledTanh" to 6, + "HardSigmoid" to 7, + "Elu" to 8, + "Softsign" to 9, + "Softplus" to 10 +) + +val lstmBlock = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + inputFrameworkOpName = "BlockLSTM", + opName = "lstmBlock", + tensorMappingRules = listOf( + mappingNDArrayInputs(mutableMapOf( + "maxTSLength" to "seq_len_max", + "input" to "x", + "cLast" to "cs_prev", + "yLast" to "h_prev", + "W" to "w", + "Wci" to "wci", + "Wcf" to "wcf", + "Wco" to "wco", + "b" to "b")) + ), + attributeMappingRules = listOf( + valueMapping(mutableMapOf("forgetBias" to "forget_bias","clippingCellValue" to "cell_clip")), + invertBooleanNumber(mutableMapOf("peephole" to "use_peephole")), + intConstant(inputName = "dataFormat",constantValue = 0 as Integer,argumentIndex = 0)[0]) +) + +val lstmBlockV2 = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + inputFrameworkOpName = "BlockLSTMV2", + opName = "lstmBlock", + tensorMappingRules = listOf( + mappingNDArrayInputs(mutableMapOf( + "maxTSLength" to "seq_len_max", + "input" to "x", + "cLast" to "cs_prev", + "yLast" to "h_prev", + "W" to "w", + "Wci" to "wci", + "Wcf" to "wcf", + "Wco" to "wco", + "b" to "b")) + ), + attributeMappingRules = listOf( + valueMapping(mutableMapOf("clippingCellValue" to "cell_clip")), + invertBooleanNumber(mutableMapOf("peephole" to "use_peephole")), + doubleConstant(inputName = "forgetBias",constantValue = 3.0,argumentIndex = 0)[0], + intConstant(inputName = "dataFormat",constantValue = 0 as Integer,argumentIndex = 0)[0]) +) + +val lstmBlockCell = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + inputFrameworkOpName = "LSTMBlockCell", + opName = "lstmBlockCell", + tensorMappingRules = listOf( + mappingNDArrayInputs(mutableMapOf( + "xt" to "x", + "cLast" to "cs_prev", + "yLast" to "h_prev", + "W" to "w", + "Wci" to "wci", + "Wcf" to "wcf", + "Wco" to "wco", + "b" to "b")) + ), + attributeMappingRules = listOf( + valueMapping(mutableMapOf("forgetBias" to "forget_bias","clippingCellValue" to "cell_clip")), + invertBooleanNumber(mutableMapOf("peephole" to "use_peephole"))) +) + +val gruCell = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + inputFrameworkOpName = "GRUBlockCell", + opName = "gruCell", + tensorMappingRules = listOf( + mappingNDArrayInputs(mutableMapOf( + "input" to "x", + "hLast" to "h_prev", + "Wru" to "w_ru", + "Wc" to "w_c", + "bru" to "b_ru", + "bc" to "b_c")) + ) +) + +val listDiff = mapTensorNamesWithOp(inputFrameworkOpName = "ListDiff",opName = "listdiff",tensorNames = mutableMapOf("values" to "x","keep" to "y")) +val logMatrixDeterminant = mapTensorNamesWithOp( + inputFrameworkOpName = "LogMatrixDeterminant", + opName = "log_matrix_determinant", + tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)) + +val logicalAnd = mapTensorNamesWithOp(inputFrameworkOpName = "LogicalAnd",opName = "boolean_and",tensorNames = mutableMapOf("input" to "x","y" to "y")) +val logicalNot = mapTensorNamesWithOp(inputFrameworkOpName = "LogicalNot",opName = "boolean_not",tensorNames = mutableMapOf("input" to "x")) + +val lu = mapTensorNamesWithOp(inputFrameworkOpName = "Lu",opName = "lu",tensorNames = mutableMapOf("input" to "input")) +val gemm = multipleNameMapping(inputFrameworkOpNames = listOf("MatMul"),opName = "matmul", + tensorNames = mutableMapOf("input" to "a","y" to "b"), + attributeMappingRules = + listOf(doubleConstant(inputName = "alpha",constantValue = 1.0,argumentIndex = 0)[0], + doubleConstant(inputName = "beta",constantValue = 1.0,argumentIndex = 1)[0], + invertBooleanNumber(mutableMapOf("transX" to "transpose_a","transY" to "transpose_b")), + intConstant(inputName = "transZ",constantValue = 0 as Integer,argumentIndex = 2)[0])) + + +val matrixSetDiag = multipleNameMapping(inputFrameworkOpNames = listOf("MatrixSetDiag","BatchMatrixSetDiag"), + opName = "matrix_set_diag", + tensorNames = mutableMapOf("input" to "input","diagonal" to "diagonal"), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)) +val matrixSetDiagPart = multipleNameMapping(inputFrameworkOpNames = listOf("MatrixDiagPart"), + opName = "matrix_diag_part", + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + tensorNames = mutableMapOf("input" to "input")) + +val matrixSolve = mapTensorNamesWithOp(inputFrameworkOpName = "MatrixSolve",opName = "solve",tensorNames = mutableMapOf("a" to "matrix","b" to "rhs"), + attributeMappingRules = listOf(valueMapping(mapOf("useAdjoint" to "adjoint")))) +val matrixTriangularSolve = mapTensorNamesWithOp(inputFrameworkOpName = "MatrixTriangularSolve",opName = "triangular_solve",tensorNames = +mutableMapOf("a" to "matrix","b" to "rhs"), + attributeMappingRules = listOf(valueMapping(mapOf("useAdjoint" to "adjoint","isLower" to "lower")))) + + +val matrixDeterminant = multipleNameMapping(inputFrameworkOpNames = listOf("BatchMatrixDeterminant","MatrixDeterminant"),opName = "matrix_determinant", + tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)) + +val minPairWise = mapTensorNamesWithOp(inputFrameworkOpName = "Minimum", + opName = "min_pairwise", + tensorNames = mutableMapOf("input" to "x","y" to "y")) + + +val maxPool = multipleNameMapping( + inputFrameworkOpNames = listOf("MaxPool"), + opName = "maxpool2d", + tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = listOf( + intConstant(inputName = "pH",constantValue = 0 as Integer,argumentIndex = 4)[0], + intConstant(inputName = "pW",constantValue = 0 as Integer,argumentIndex = 5)[0], + intConstant(inputName = "dW",constantValue = 1 as Integer,argumentIndex = 6)[0], + intConstant(inputName = "dH",constantValue = 1 as Integer,argumentIndex = 7)[0], + intConstant(inputName = "extraParam0",constantValue = 0 as Integer,argumentIndex = 9)[0], + stringNotEqualsRule(outputAttribute = "isNCHW",inputFrameworkAttributeName = "data_format",valueToTest = "NCHW",argumentIndex = 10), + stringEqualsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "padding",valueToTest = "SAME",argumentIndex = 8), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sH", attributeNameOfListAttribute = "strides", targetValue = "NCHW", trueIndex = 2, + falseIndex = 1,inputFrameworkStringNameToTest = "data_format",argumentIndex = 2), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sW", attributeNameOfListAttribute = "strides", targetValue = "NCHW", trueIndex = 3, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 3), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "kH", attributeNameOfListAttribute = "ksize", targetValue = "NCHW", trueIndex = 2, + falseIndex = 1,inputFrameworkStringNameToTest = "data_format",argumentIndex = 0), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "kW", attributeNameOfListAttribute = "ksize", targetValue = "NCHW", trueIndex = 3, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 1) + ) +) + +val maxPoolV2 = multipleNameMapping( + inputFrameworkOpNames = listOf("MaxPoolV2"), + opName = "maxpool2d", + tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = listOf( + intConstant(inputName = "extraParam0",constantValue = 0 as Integer,argumentIndex = 9)[0], + intConstant(inputName = "pH",constantValue = 0 as Integer,argumentIndex = 4)[0], + intConstant(inputName = "pW",constantValue = 0 as Integer,argumentIndex = 5)[0], + intConstant(inputName = "dW",constantValue = 1 as Integer,argumentIndex = 6)[0], + intConstant(inputName = "dH",constantValue = 1 as Integer,argumentIndex = 7)[0], + stringNotEqualsRule(outputAttribute = "isNCHW",inputFrameworkAttributeName = "data_format",valueToTest = "NCHW",argumentIndex = 10), + stringEqualsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "padding",valueToTest = "SAME",argumentIndex = 8), + conditionalFieldValueIntIndexNDArrayRule(outputAttribute = "sH", attributeNameOfListAttribute = "strides", targetValue = "NCHW", trueIndex = 2, + falseIndex = 1,inputFrameworkStringNameToTest = "data_format",argumentIndex = 2), + conditionalFieldValueIntIndexNDArrayRule(outputAttribute = "sW", attributeNameOfListAttribute = "strides", targetValue = "NCHW", trueIndex = 3, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 3), + conditionalFieldValueIntIndexNDArrayRule(outputAttribute = "kH", attributeNameOfListAttribute = "ksize", targetValue = "NCHW", trueIndex = 2, + falseIndex = 1,inputFrameworkStringNameToTest = "data_format",argumentIndex = 0), + conditionalFieldValueIntIndexNDArrayRule(outputAttribute = "kW", attributeNameOfListAttribute = "ksize", targetValue = "NCHW", trueIndex = 3, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 1) + ) +) + + +val maxPool3d = TensorflowMappingProcess( + inputFrameworkOpName = "MaxPool3D", + opName = "maxpool3dnew", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf( + stringEqualsRule(outputAttribute = "isNCDHW",inputFrameworkAttributeName = "data_format",valueToTest = "NDHWC",argumentIndex = 14), + stringEqualsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "padding",valueToTest = "SAME",argumentIndex = 12), + intConstant(inputName = "pD",constantValue = 1 as Integer,argumentIndex = 6)[0], + intConstant(inputName = "pH",constantValue = 1 as Integer,argumentIndex = 7)[0], + intConstant(inputName = "pW",constantValue = 1 as Integer,argumentIndex = 8)[0], + intConstant(inputName = "dD",constantValue = 1 as Integer,argumentIndex = 9)[0], + intConstant(inputName = "dH",constantValue = 1 as Integer,argumentIndex = 10)[0], + intConstant(inputName = "dW",constantValue = 1 as Integer,argumentIndex = 11)[0], + intConstant(inputName = "extraParam0",constantValue = 0 as Integer,argumentIndex = 13)[0], + + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sH", attributeNameOfListAttribute = "strides", targetValue = "NDHWC", trueIndex = 2, + falseIndex = 4,inputFrameworkStringNameToTest = "data_format",argumentIndex = 4), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sW", attributeNameOfListAttribute = "strides", targetValue = "NDHWC", trueIndex = 4, + falseIndex = 5,inputFrameworkStringNameToTest = "data_format",argumentIndex = 5), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sD", attributeNameOfListAttribute = "ksize", targetValue = "NDHWC", trueIndex = 1, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 3), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "kH", attributeNameOfListAttribute = "ksize", targetValue = "NDHWC", trueIndex = 2, + falseIndex = 4,inputFrameworkStringNameToTest = "data_format",argumentIndex = 1), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "kW", attributeNameOfListAttribute = "ksize", targetValue = "NDHWC", trueIndex = 4, + falseIndex = 5,inputFrameworkStringNameToTest = "data_format",argumentIndex = 2), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "kD", attributeNameOfListAttribute = "ksize", targetValue = "NDHWC", trueIndex = 1, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 0) + ) +) +//TODO: potentially need more features to be compatible? +/* +val maxPoolWithArgMax = multipleNameMapping( + inputFrameworkOpNames = listOf("MaxPoolWithArgmax"), + opName = "max_pool_with_argmax", + tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = listOf( + stringEqualsRule(outputAttribute = "isNHWC",inputFrameworkAttributeName = "data_format",valueToTest = "NWHC"), + stringEqualsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "padding",valueToTest = "SAME"), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sH", attributeNameOfListAttribute = "strides", targetValue = "NCHW", trueIndex = 2, falseIndex = 1,inputFrameworkStringNameToTest = "data_format"), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sW", attributeNameOfListAttribute = "strides", targetValue = "NCHW", trueIndex = 3, falseIndex = 2,inputFrameworkStringNameToTest = "data_format"), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "kH", attributeNameOfListAttribute = "ksize", targetValue = "NCHW", trueIndex = 2, falseIndex = 1,inputFrameworkStringNameToTest = "data_format"), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "kW", attributeNameOfListAttribute = "ksize", targetValue = "NCHW", trueIndex = 3, falseIndex = 2,inputFrameworkStringNameToTest = "data_format") + ) +)*/ + +//TODO: Not likely correct. Need to figure out true mapping. Likely an implicit control flow op? +val loopCond = mapTensorNamesWithOp(inputFrameworkOpName = "LoopCond",opName = "loop_cond",tensorNames = mutableMapOf()) +val merge = mapTensorNamesWithOp(inputFrameworkOpName = "Merge",opName = "merge",tensorNames = mutableMapOf("a" to "inputs","b" to "inputs")) + +val mirrorPadding = mapTensorNamesWithOp(inputFrameworkOpName = "MirrorPad",opName = "mirror_pad", + tensorNames = mutableMapOf("input" to "input","paddings" to "paddings"), + attributeMappingRules = listOf(stringNotEqualsRule(outputAttribute = "mode", + inputFrameworkAttributeName = "mode",valueToTest = "REFLECT",argumentIndex = 0), + booleanConstant(inputName = "isSymmetric",constantValue = true,argumentIndex = 0)[0])) + +/** + * TODO: Need to add a constant mapping or something for NonMaxSuppression + * v1 and 2 which do not have a scoreThreshold to map. V3 does. + */ + +val nonMaxSuppressionV1 = multipleNameMapping(inputFrameworkOpNames = listOf("NonMaxSuppression"), + opName = "non_max_suppression", + tensorNames = mutableMapOf("boxes" to "boxes","scales" to "scores", + "maxOutputSize" to "max_output_size"), + attributeMappingRules = listOf( + argDescriptorConstant(listOf( + ArgDescriptor { + doubleValue = 0.5 + name = "scoreThreshold" + argType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + argIndex = 1 + } + )), + valueMapping(mutableMapOf("iouThreshold" to "iou_threshold")), + convertNDArrayInputToNumericalAttr(mutableMapOf("maxOutputSize" to "max_output_size")))) + + + +val nonMaxSuppressionV2 = multipleNameMapping(inputFrameworkOpNames = listOf("NonMaxSuppressionV2"), + opName = "non_max_suppression", + tensorNames = mutableMapOf("boxes" to "boxes","scales" to "scores", + "overlayThreshold" to "iou_threshold","maxOutputSize" to "max_output_size"), + attributeMappingRules = listOf( + argDescriptorConstant(listOf( + ArgDescriptor { + doubleValue = 0.5 + name = "scoreThreshold" + argType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + argIndex = 1 + } + )), + convertNDArrayInputToNumericalAttr(mutableMapOf( + "maxOutputSize" to "max_output_size" + )))) + + +val nonMaxSuppressionV3 = multipleNameMapping(inputFrameworkOpNames = listOf("NonMaxSuppressionV3","NonMaxSuppressionV4"), + opName = "non_max_suppression_v3", + tensorNames = mutableMapOf("boxes" to "boxes","scales" to "scores", + "maxOutSize" to "max_output_size", "iouThreshold" to "iou_threshold", "scoreThreshold" to "score_threshold"), + attributeMappingRules = listOf( + convertNDArrayInputToNumericalAttr(mutableMapOf( + "maxOutputSize" to "max_output_size" + )))) + + +val matrixInverse = multipleNameMapping(inputFrameworkOpNames = listOf("MatrixInverse","BatchMatrixInverse"),opName = "matrix_inverse", + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = true,argumentIndex = 0), + tensorNames = mutableMapOf("input" to "input")) + +//TODO: There might be a subtle difference in the way max threshold is interpreted. +//Tensorflow gives exact number back, whereas we may give back less. +//See the non_max_suppression_overlaps test case in TestTensorflowIR +val nonMaxSuppressionOverlaps = multipleNameMapping(inputFrameworkOpNames = listOf("NonMaxSuppressionWithOverlaps"), + opName = "non_max_suppression_overlaps", + tensorNames = mutableMapOf("scales" to "scores","boxes" to "overlaps"), + attributeMappingRules = listOf( + convertNDArrayInputToNumericalAttr(mutableMapOf( + "maxOutputSize" to "max_output_size", + "overlapThreshold" to "overlap_threshold", + "scoreThreshold" to "score_threshold")))) + +val nthElement = mapTensorNamesWithOp(inputFrameworkOpName = "NthElement",opName = "nth_element", + tensorNames = mutableMapOf("n" to "n","input" to "input"), + attributeMappingRules = listOf(invertBooleanNumber(mapOf("reverse" to "reverse")))) + +val oneHot = mapTensorNamesWithOp(inputFrameworkOpName = "OneHot",opName = "onehot", + tensorNames = mutableMapOf("input" to "indices"), + attributeMappingRules = listOf( + convertNDArrayInputToNumericalAttr(mutableMapOf("on" to "on_value","off" to "off_value" + ,"depth" to "depth")), + valueMapping(mutableMapOf("dimensions" to "axis","dataType" to "T")))) + + +val or = mapTensorNamesWithOp(inputFrameworkOpName = "LogicalOr",opName = "boolean_or", + tensorNames = mutableMapOf("input" to "x","y" to "y")) + +val onesLike = mapTensorNamesWithOp(inputFrameworkOpName = "OnesLike", + opName = "ones_as", + attributeMappingRules = listOf(valueMapping(mutableMapOf("dataType" to "T"))), + tensorNames = mutableMapOf("input" to "x")) + + + +val pow = mapTensorNamesWithOp(inputFrameworkOpName = "Pow",opName = "pow", + attributeMappingRules = listOf(convertNDArrayInputToNumericalAttr(mutableMapOf("pow" to "y"))), + tensorNames = mutableMapOf("input" to "x","pow" to "y") +) + +val rank = mapTensorNamesWithOp(inputFrameworkOpName = "Rank", opName = "rank",tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = listOf(argDescriptorConstant(listOf(ArgDescriptor { + name = "inPlace" + boolValue = false + argType = OpNamespace.ArgDescriptor.ArgType.BOOL + argIndex = 0 + + })))) + +val relu6 = multipleNameMapping(inputFrameworkOpNames = listOf("Relu6"),opName = "relu6", + attributeMappingRules = listOf(argDescriptorConstant( + listOf(ArgDescriptor { + name = "inPlace" + boolValue = false + argType = OpNamespace.ArgDescriptor.ArgType.BOOL + argIndex = 0 + }, + ArgDescriptor { + name = "cutoff" + doubleValue = 0.0 + argType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + argIndex = 0 + }) + )), + tensorNames = mutableMapOf("input" to "features")) + +val stack = multipleNameMapping(inputFrameworkOpNames = listOf("Pack"),opName = "stack", + attributeMappingRules = listOf(valueMapping(mutableMapOf("dimensions" to "axis"))), + tensorNames = mutableMapOf("input" to "values")) + +/** + * // in case of REFLECT and SYMMETRIC modes paddings must obey additional shape requirements +if (INT_ARG(0) == 0) { // CONSTANT mode +if(block.width() > 2) { +REQUIRE_TRUE(input->dataType() == INPUT_VARIABLE(2)->dataType(), 0, "PAD op: data types of input and padValue arrays should be the same but got %i and %i correspondingly !", input->dataType(), INPUT_VARIABLE(2)->dataType()); +padValue.assign(INPUT_VARIABLE(2)->e(0)); +} +else if (!block.getTArguments()->empty()) +padValue = T_ARG(0); +} +else if(INT_ARG(0) == 1) { // REFLECT mode +for(int dim=0; dim < rank; ++dim) +REQUIRE_TRUE(paddings->e(dim,0) <= (input->shapeOf()[dim]-1) && paddings->e(dim,1) <= (input->shapeOf()[dim]-1), 0, "PAD op: wrong content of paddings array for REFLECT mode !"); +} +if(INT_ARG(0) == 2) { // SYMMETRIC mode +for(int dim=0; dim < rank; ++dim) +REQUIRE_TRUE(paddings->e(dim,0) <= input->shapeOf()[dim] && paddings->e(dim,1) <= input->shapeOf()[dim], 0, "PAD op: wrong content of paddings array for SYMMETRIC mode !"); +} + */ +val pad = multipleNameMapping(inputFrameworkOpNames = listOf("Pad"), + opName = "pad",tensorNames = mutableMapOf("input" to "input","paddings" to "paddings"),attributeMappingRules = + listOf(argDescriptorConstant(listOf( + ArgDescriptor { + //note: tensorflow only supports constant mode + name = "mode" + int64Value = 0 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + argIndex = 0 + }, + ArgDescriptor { + name = "padValue" + doubleValue = 0.0 + argIndex = 0 + argType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + argIndex = 0 + } + )))) + + +val padV2 = multipleNameMapping(inputFrameworkOpNames = listOf("PadV2"), + opName = "pad",tensorNames = mutableMapOf("input" to "input","paddings" to "paddings"), + attributeMappingRules = + listOf(convertNDArrayInputToNumericalAttr(mutableMapOf("padValue" to "constant_values")), + argDescriptorConstant(listOf( + ArgDescriptor { + //note: tensorflow only supports constant mode + name = "mode" + int64Value = 0 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + argIndex = 0 + } + )))) + + +val randomCrop = mapTensorNamesWithOp(inputFrameworkOpName = "RandomCrop",opName = "random_crop",tensorNames = mutableMapOf("input" to "image","shape" to "size"), + attributeMappingRules = listOf(valueMapping(mutableMapOf("seed" to "seed")))) + +val placeHolder = mapTensorNamesWithOp(inputFrameworkOpName = "Placeholder",opName = "placeholder",tensorNames = mutableMapOf()) + +val randomGamma = mapTensorNamesWithOp(inputFrameworkOpName = "RandomGamma",opName = "random_gamma",tensorNames = mutableMapOf("shape" to "shape","alpha" to "alpha"), + attributeMappingRules = listOf(valueMapping(mutableMapOf("seed" to "seed")))) + + +val rgvToHsv = mapTensorNamesWithOp(inputFrameworkOpName = "RGBToHSV",opName = "rgb_to_hsv",tensorNames = mutableMapOf("input" to "images"), + attributeMappingRules = intConstant(inputName = "dimC",constantValue = 0 as Integer,argumentIndex = 0)) + +val randomPoisson = multipleNameMapping(inputFrameworkOpNames = listOf("RandomPoisson","RandomPoissonV2"),opName = "random_poisson", + attributeMappingRules = listOf(valueMapping(mutableMapOf("seed" to "seed"))), + tensorNames = mutableMapOf("shape" to "shape","lambda" to "rate")) + +val randomShuffle = mapTensorNamesWithOp(inputFrameworkOpName = "RandomShuffle",opName = "random_shuffle", + tensorNames = mutableMapOf("input" to "value"), + attributeMappingRules = listOf(valueMapping(mutableMapOf("seeds" to "seed")))) + +//TODO: Look at extra arguments generated like T_ARG(1)); +val randomStandardNormal = multipleNameMapping(inputFrameworkOpNames = listOf("RandomStandardNormal"),opName = "random_normal", + tensorNames = mutableMapOf("input" to "shape")) + +//note: tensorflow hard codes the value at 0 to 1 while we allow customization here +val randomUniformHardCoded = multipleNameMapping( + inputFrameworkOpNames = listOf("RandomUniform","StatelessRandomUniform"), + opName = "randomuniform", + tensorNames = mutableMapOf("shape" to "shape"), + attributeMappingRules = listOf( + dataTypeToInt(mutableMapOf("dataType" to "T")), + valueMapping(mutableMapOf("dtype" to "T")), + argDescriptorConstant(listOf( + ArgDescriptor { + name = "min" + doubleValue = 0.0 + argType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + argIndex = 0 + }, + ArgDescriptor { + name = "max" + doubleValue = 1.0 + argType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + argIndex = 1 + }, + ArgDescriptor { + name = "min" + argIndex = 1 + inputValue = nameSpaceTensorFromNDarray(Nd4j.scalar(1.0)) + argType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + }, + ArgDescriptor { + name = "max" + argIndex = 2 + inputValue = nameSpaceTensorFromNDarray(Nd4j.scalar(1.0)) + argType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + } + ))) +) + +val randomUniformInt = TensorflowMappingProcess( + inputFrameworkOpName = "RandomUniformInt", + opName = "randomuniform", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("shape" to "shape","min" to "minval","max" to "maxval"))), + attributeMappingRules = listOf( + convertNDArrayInputToNumericalAttr(mutableMapOf("min" to "minval","max" to "maxval")), + dataTypeToInt(mutableMapOf("dataType" to "T")) + ), + opMappingRegistry = tensorflowOpRegistry +) + + +val range = multipleNameMapping(inputFrameworkOpNames = listOf("Range"),opName = "range", + attributeMappingRules = listOf( + convertNDArrayInputToNumericalAttr(mutableMapOf("from" to "start", + "to" to "limit","step" to "delta"))), + tensorNames = mutableMapOf("from" to "start","to" to "limit","step" to "delta")) + +val relu = mapTensorNamesWithOp(inputFrameworkOpName = "Relu",opName = "relu",tensorNames = mutableMapOf("input" to "features"), + attributeMappingRules = listOf(doubleConstant(inputName = "cutoff",constantValue = 0.0,argumentIndex = 0)[0], + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0])) + + +val reshape = multipleNameMapping(inputFrameworkOpNames = listOf("Reshape"),opName = "reshape", + tensorNames = mutableMapOf("input" to "tensor","shape" to "shape"), + attributeMappingRules = listOf(ndarrayToIntList(mutableMapOf("shapeArr" to "shape")))) + +val resizeArea = multipleNameMapping(inputFrameworkOpNames = listOf("ResizeArea"),opName = "resize_area", + attributeMappingRules = listOf(valueMapping(mutableMapOf("alignCorners" to "align_corners"))), + tensorNames = mutableMapOf("image" to "images","size" to "size")) + +val resizeBiCubic = multipleNameMapping(inputFrameworkOpNames = listOf("ResizeBicubic"),opName = "resize_bicubic", + attributeMappingRules = listOf(valueMapping(mutableMapOf("alignCorners" to "align_corners")), + booleanConstant(inputName = "alignPixelCenters",constantValue = false,argumentIndex = 1)[0]), + tensorNames = mutableMapOf("image" to "images","size" to "size")) + +val resizeBiLinear = multipleNameMapping(inputFrameworkOpNames = listOf("ResizeBilinear"),opName = "resize_bilinear", + attributeMappingRules = listOf(valueMapping(mutableMapOf("alignCorners" to "align_corners")), + booleanConstant(inputName = "halfPixelCenter",constantValue = false,argumentIndex = 1)[0]), + tensorNames = mutableMapOf("image" to "images","newImageSize" to "size")) + +val resizeNearestNeighbor = multipleNameMapping(inputFrameworkOpNames = listOf("ResizeNearestNeighbor"),opName = "resize_nearest_neighbor", + attributeMappingRules = listOf(valueMapping(mutableMapOf("alignCorners" to "align_corners")), + booleanConstant(inputName = "halfPixelCenter",constantValue = false,argumentIndex = 1)[0]), + tensorNames = mutableMapOf("image" to "images","newImageSize" to "size")) + +val reverse = multipleNameMapping(inputFrameworkOpNames = listOf("ReverseV2"),opName = "reverse", + attributeMappingRules = listOf(ndarrayToIntList(mutableMapOf("dimensions" to "axis"))), + tensorNames = mutableMapOf("input" to "tensor")) + +val reverseSequence = multipleNameMapping(inputFrameworkOpNames = listOf("ReverseSequence"),opName = "reverse_sequence", + attributeMappingRules = listOf(valueMapping(mutableMapOf("batchDim" to "batch_dim","seqDim" to "seq_dim"))), + tensorNames = mutableMapOf("input" to "input","seqLengths" to "seq_lengths")) + +val roll = multipleNameMapping(inputFrameworkOpNames = listOf("Roll"),opName = "roll", + attributeMappingRules = listOf(ndarrayToIntList(mutableMapOf("shift" to "shift"))), + tensorNames = mutableMapOf("input" to "input","dimensions" to "axis","shiftsI" to "shift")) + +//TODO: verify usingLocking property, it's not showing up in descriptors +val scatterAdd = multipleNameMapping(inputFrameworkOpNames = listOf("TensorScatterAdd"),opName = "scatter_add", + tensorNames = mutableMapOf("input" to "tensor","indices" to "indices","updates" to "updates"), + attributeMappingRules = + listOf(booleanConstant(inputName = "lock",constantValue = false,0)[0], + booleanConstant(inputName = "checkIndices",constantValue = false,argumentIndex = 1)[0])) + +/* +val scatterDiv = multipleNameMapping(inputFrameworkOpNames = listOf("TensorScatterDiv"),opName = "scatter_div", + tensorNames = mutableMapOf("input" to "tensor","indices" to "indices","updates" to "updates")) +*/ + +/* +val scatterMax = multipleNameMapping(inputFrameworkOpNames = listOf("TensorScatterMax"),opName = "scatter_max", + tensorNames = mutableMapOf("input" to "tensor","indices" to "indices","updates" to "updates")) +*/ + + +/* +val scatterMin = multipleNameMapping(inputFrameworkOpNames = listOf("TensorScatterMin"),opName = "scatter_min", + tensorNames = mutableMapOf("input" to "tensor","indices" to "indices","updates" to "updates")) +*/ + +/* +val scatterMul = multipleNameMapping(inputFrameworkOpNames = listOf("TensorScatterMul"),opName = "scatter_mul", + tensorNames = mutableMapOf("input" to "tensor","indices" to "indices","updates" to "updates")) +*/ + +val scatterNd = multipleNameMapping(inputFrameworkOpNames = listOf("ScatterNd"),opName = "scatter_nd", + tensorNames = mutableMapOf("indices" to "indices","updates" to "updates","shape" to "shape"), + attributeMappingRules = listOf( + booleanConstant(inputName = "lock",constantValue = false,argumentIndex = 0)[0], + booleanConstant(inputName = "checkIndices",constantValue = false,argumentIndex = 1)[0])) + +/* +val scatterNdAdd = multipleNameMapping(inputFrameworkOpNames = listOf("TensorScatterNdAdd"),opName = "scatter_nd_add", + tensorNames = mutableMapOf("indices" to "indices","updates" to "updates","input" to "tensor")) +*/ + +/* +val scatterNdSub = multipleNameMapping(inputFrameworkOpNames = listOf("TensorScatterNdSub"),opName = "scatter_nd_sub", + tensorNames = mutableMapOf("indices" to "indices","updates" to "updates","input" to "tensor")) +*/ + +/* +val scatterNdUpdate = multipleNameMapping(inputFrameworkOpNames = listOf("TensorScatterNdUpdate"),opName = "scatter_nd_update", + tensorNames = mutableMapOf("indices" to "indices","updates" to "updates","input" to "tensor")) +*/ + + +val scatterSub = multipleNameMapping(inputFrameworkOpNames = listOf("TensorScatterSub"), + opName = "scatter_sub", + tensorNames = mutableMapOf("indices" to "indices", + "updates" to "updates","input" to "tensor"), + attributeMappingRules = listOf( + booleanConstant(inputName = "lock",constantValue = false, + argumentIndex = 0)[0], + booleanConstant(inputName = "checkIndices",constantValue = false, + argumentIndex = 1)[0])) + +//TODO: note: TF expects indices, we don't support them? +val scatterUpdate = multipleNameMapping(inputFrameworkOpNames = listOf("TensorScatterUpdate"),opName = "scatter_update", + attributeMappingRules = listOf(intConstant(inputName = "dimension",constantValue = 0 as Integer,argumentIndex = 1)[0], + ndarrayToIntList(mutableMapOf("indices" to "indices"))), + tensorNames = mutableMapOf("operand" to "tensor","updates" to "updates")) + +val select = mapTensorNamesWithOp(inputFrameworkOpName = "Select",opName = "select",tensorNames = mutableMapOf("cond" to "condition","input" to "t","y" to "e")) + +val segmentMean = multipleNameMapping(inputFrameworkOpNames = listOf("SegmentMean"),opName = "segment_mean", + tensorNames = mutableMapOf("input" to "data","idxSegments" to "segment_ids")) + +val segmentMin = multipleNameMapping(inputFrameworkOpNames = listOf("SegmentMin"),opName = "segment_min", + tensorNames = mutableMapOf("input" to "data","idxSegments" to "segment_ids")) + + +val segmentMax = multipleNameMapping(inputFrameworkOpNames = listOf("SegmentMax"),opName = "segment_max", + tensorNames = mutableMapOf("input" to "data","idxSegments" to "segment_ids")) + + +val segmentProd = multipleNameMapping(inputFrameworkOpNames = listOf("SegmentProd"),opName = "segment_prod", + tensorNames = mutableMapOf("input" to "data","idxSegments" to "segment_ids")) + +val segmentSum = multipleNameMapping(inputFrameworkOpNames = listOf("SegmentSum"),opName = "segment_sum", + tensorNames = mutableMapOf("input" to "data","idxSegments" to "segment_ids")) + +val size = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + inputFrameworkOpName = "Size", + opName = "size", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))) +) + +val slice = mapTensorNamesWithOp(inputFrameworkOpName = "Slice",opName = "slice", + tensorNames = mutableMapOf("input" to "input","b" to "begin","e" to "size"), + attributeMappingRules = listOf(ndarrayToIntList(mutableMapOf("size" to "size")))) + +val selu = mapTensorNamesWithOp(inputFrameworkOpName = "Selu",opName = "selu",tensorNames = mutableMapOf("input" to "features"), + attributeMappingRules = + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)) + +val shapeOf = mapTensorNamesWithOp(inputFrameworkOpName = "Shape", + opName = "shape_of", + tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = listOf( + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0], + valueMapping(mutableMapOf("dtype" to "out_type")))) + +val softPlus = mapTensorNamesWithOp(inputFrameworkOpName = "Softplus",opName = "softplus",tensorNames = mutableMapOf("input" to "features"), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)) +val softSign = mapTensorNamesWithOp(inputFrameworkOpName = "Softsign",opName = "softsign",tensorNames = mutableMapOf("input" to "features"), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)) + +val shapeN = mapTensorNamesWithOp(inputFrameworkOpName = "ShapeN",opName = "shapes_of",tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)) + +val softMax = mapTensorNamesWithOp(inputFrameworkOpName = "Softmax",opName = "softmax",tensorNames = mutableMapOf("input" to "logits"),attributeMappingRules = +listOf(argDescriptorConstant( + listOf( + ArgDescriptor { + name = "dimension" + int64Value = 1 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + argIndex = 0 + }, + ArgDescriptor { + name = "inPlace" + boolValue = false + argType = OpNamespace.ArgDescriptor.ArgType.BOOL + argIndex = 0 + } + ) +))) + + + + +val spaceToBatch = TensorflowMappingProcess( + opName = "space_to_batch", + inputFrameworkOpName = "SpaceToBatch", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf( + valueMapping(mapOf("blockSize" to "block_size"))), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input","padding" to "paddings"))) +) + +val spaceToBatchNd = TensorflowMappingProcess( + opName = "space_to_batch_nd", + inputFrameworkOpName = "SpaceToBatchND", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf( + ndarrayToIntList(mutableMapOf("blocks" to "block_shape")), + argDescriptorConstant(listOf( + ArgDescriptor { + name = "inPlace" + boolValue = false + argType = OpNamespace.ArgDescriptor.ArgType.BOOL + argIndex = 0 + + } + ))), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input","blockShape" to "block_shape","padding" to "paddings"))) +) + +val spaceToDepth = TensorflowMappingProcess( + opName = "space_to_depth", + inputFrameworkOpName = "SpaceToDepth", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf(valueMapping(mapOf("block_size" to "block_size")), + stringEqualsRule("isNHWC",inputFrameworkAttributeName = "data_format",valueToTest = "NHWC",argumentIndex = 1)), + opMappingRegistry = tensorflowOpRegistry +) + +val split = TensorflowMappingProcess( + opName = "split", + inputFrameworkOpName = "Split", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("a" to "split_dim","b" to "value"))), + attributeMappingRules = listOf(valueMapping(mapOf("numSplit" to "num_split")) + , ndarrayToIntList(mutableMapOf("dimensions" to "split_dim"))), + opMappingRegistry = tensorflowOpRegistry +) + + +val splitV = TensorflowMappingProcess( + opName = "split_v", + inputFrameworkOpName = "SplitV", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf( + "input" to "value", + "sizes" to "size_splits", + "_a" to "split_dim"))), + attributeMappingRules = listOf( + valueMapping(mutableMapOf("numSplit" to "num_split")), + convertNDArrayInputToNumericalAttr(mutableMapOf("dimensions" to "split_dim")), + ndarrayToIntList(mutableMapOf("dimensions" to "split_dim"))), + opMappingRegistry = tensorflowOpRegistry +) + +val squeeze = TensorflowMappingProcess( + opName = "squeeze", + inputFrameworkOpName = "Squeeze", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf( + listNumberToNDarray(mutableMapOf("a" to "squeeze_dims")), + listNumberToListNumber(outputAttributeValue = "_a",inputAttributeValue = "squeeze_dims")), + opMappingRegistry = tensorflowOpRegistry +) + +val stridedSlice = TensorflowMappingProcess( + opName = "strided_slice", + inputFrameworkOpName = "StridedSlice", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input", + "v_begin" to "begin", + "v_end" to "end", + "v_stride" to "strides"))), + attributeMappingRules = listOf( + valueMapping(mutableMapOf("begin_mask" to "begin_mask","end_mask" to "end_mask", + "ellipsis_mask" to "ellipsis_mask","new_axis_mask" to "new_axis_mask", + "shrink_axis_mask" to "shrink_axis_mask"))) +) + + +/* +val svd = TensorflowMappingProcess( + opName = "svd", + inputFrameworkOpName = "Svd", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf(valueMapping(mutableMapOf("computeUv" to "compute_uv","fullMatrices" to "full_matrices"))) +) +*/ + +val switch = TensorflowMappingProcess( + opName = "Switch", + inputFrameworkOpName = "Switch", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data","condition" to "pred"))) +) + + +//TODO: revisit this, not sure why the ops are off +val tensorArrayConcat = multipleNameMapping(inputFrameworkOpNames = listOf("TensorArrayConcat", "TensorArrayConcatV2", "TensorArrayConcatV3"), + opName = "stack_list", + tensorNames = mutableMapOf("list" to "flow_in")) + +//TODO: revisit this, not sure why the ops are off +val tensorArrayGather = multipleNameMapping(inputFrameworkOpNames = listOf("TensorArrayGather", "TensorArrayGatherV2", "TensorArrayGatherV3"), + opName = "gather_list", + tensorNames = mutableMapOf("indices" to "indices","list" to "flow_in")) +//TODO: revisit this, not sure why the ops are off +/*val tensorArrayPack = multipleNameMapping(inputFrameworkOpNames = listOf("TensorArrayPack", "TensorArrayPackV2", "TensorArrayPackV3"), + opName = "tensorarraypackv3", + tensorNames = mutableMapOf("indices" to "indices"))*/ +//TODO: revisit this, not sure why the ops are off + +val tensorArrayRead = multipleNameMapping(inputFrameworkOpNames = listOf("TensorArrayRead", "TensorArrayReadV2", "TensorArrayReadV3"), + opName = "read_list", + attributeMappingRules = listOf(ndarrayToIntList(mutableMapOf("index" to "index"))), + tensorNames = mutableMapOf("list" to "flow_in")) +//TODO: revisit this, not sure why the ops are off + +val tensorArrayScatter = multipleNameMapping(inputFrameworkOpNames = listOf("TensorArrayScatter", "TensorArrayScatterV2", "TensorArrayScatterV3"), + opName = "scatter_list", + tensorNames = mutableMapOf("array" to "value","sizes" to "indices","list" to "flow_in")) + +//TODO: revisit this, not sure why the ops are off + +val tensorArraySize = multipleNameMapping(inputFrameworkOpNames = listOf("TensorArraySize", "TensorArraySizeV2", "TensorArraySizeV3"), + opName = "size_list", + tensorNames = mutableMapOf("list" to "handle","list" to "flow_in")) + +//TODO: revisit this, not sure why the ops are off + +val tensorArraySplit = multipleNameMapping(inputFrameworkOpNames = listOf("TensorArraySplit", "TensorArraySplitV2", "TensorArraySplitV3"), + opName = "split_list", + tensorNames = mutableMapOf("sizes" to "lengths","list" to "value")) + +val tile = mapTensorNamesWithOp(inputFrameworkOpName = "Tile",opName = "tile", + attributeMappingRules = listOf(intConstant(inputName = "dimensions",constantValue = 0 as Integer,argumentIndex = 0)[0], + booleanConstant(inputName = "is_static_reps",constantValue = true,argumentIndex = 0)[0]), + tensorNames = mutableMapOf("input" to "input","reps_vector" to "multiples")) + +val topk = multipleNameMapping(inputFrameworkOpNames = listOf("TopK"),opName = "top_k", + tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = listOf(valueMapping(mutableMapOf("needSort" to "sorted","k" to "k")))) + +val topkV2 = multipleNameMapping(inputFrameworkOpNames = listOf("TopKV2"),opName = "top_k", + tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = listOf(valueMapping(mutableMapOf("needSort" to "sorted")), + convertNDArrayInputToNumericalAttr(mutableMapOf("k" to "k")))) + +val transpose = mapTensorNamesWithOp( + inputFrameworkOpName = "Transpose", + opName = "transpose", + tensorNames = mutableMapOf("input" to "x","permuteDims" to "perm")) + + +//note we don't allow unique with an axis argument +val unique = multipleNameMapping( + inputFrameworkOpNames = listOf("Unique","UniqueV2"), + opName = "unique", + tensorNames = mutableMapOf("input" to "x") +) + + +/** + * NOTE: Ours only supports vectors, not 2d. + */ +val uniqueWithCounts = multipleNameMapping( + inputFrameworkOpNames = listOf("UniqueWithCounts","UniqueWithCountsV2"), + opName = "unique_with_counts", + tensorNames = mutableMapOf("input" to "x") +) + +val unpack = multipleNameMapping(inputFrameworkOpNames = listOf("Unpack"), + opName = "unstack", + tensorNames = mutableMapOf("input" to "value"), + attributeMappingRules = listOf(valueMapping(mutableMapOf("dimensions" to "axis","num" to "num")))) + + +val unsortedSegmentMax = mapTensorNamesWithOp(inputFrameworkOpName = "UnsortedSegmentMax", + opName = "unsorted_segment_max", + attributeMappingRules = listOf( + convertNDArrayInputToNumericalAttr(mutableMapOf("numSegments" to "num_segments","numSegments" to "num_segments"))), + tensorNames = mutableMapOf("input" to "data","idxSegments" to "segment_ids")) + +val unsortedSegmentMin = mapTensorNamesWithOp(inputFrameworkOpName = "UnsortedSegmentMin", + opName = "unsorted_segment_min", + attributeMappingRules = listOf(convertNDArrayInputToNumericalAttr(mutableMapOf("numSegments" to "num_segments"))), + tensorNames = mutableMapOf("input" to "data","idxSegments" to "segment_ids")) + +val unsortedSegmentProd = mapTensorNamesWithOp(inputFrameworkOpName = "UnsortedSegmentProd", + opName = "unsorted_segment_prod", + attributeMappingRules = listOf( + convertNDArrayInputToNumericalAttr(mutableMapOf("numSegments" to "num_segments"))), + tensorNames = mutableMapOf("input" to "data","idxSegments" to "segment_ids")) + + +val unsortedSegmentSum = mapTensorNamesWithOp(inputFrameworkOpName = "UnsortedSegmentSum", + opName = "unsorted_segment_sum", + attributeMappingRules = listOf(convertNDArrayInputToNumericalAttr(mutableMapOf("numSegments" to "num_segments"))), + tensorNames = mutableMapOf("input" to "data","idxSegments" to "segment_ids")) + +//TODO: Figure out if need to map +val nextIteration = mapTensorNamesWithOp(inputFrameworkOpName = "NextIteration",opName = "next_iteration", + tensorNames = mutableMapOf("input" to "data")) + +val noOp = mapTensorNamesWithOp(inputFrameworkOpName = "NoOp",opName = "noop",tensorNames = mutableMapOf()) + +val where = mapTensorNamesWithOp(inputFrameworkOpName = "Where",opName = "Where", + tensorNames = mutableMapOf("condition" to "input") +) + +val whileOp = mapTensorNamesWithOp(inputFrameworkOpName = "While",opName = "While", + tensorNames = mutableMapOf("condition" to "input"), + attributeMappingRules = booleanConstant(inputName = "isConstant",constantValue = false,argumentIndex = 0) +) + +val zerosLike = mapTensorNamesWithOp(inputFrameworkOpName = "ZerosLike",opName = "zeroslike", + tensorNames = mutableMapOf("input" to "x"), + attributeMappingRules = listOf( + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0], + valueMapping(mutableMapOf("dataType" to "T")) + )) + +val zeta = mapTensorNamesWithOp(inputFrameworkOpName = "Zeta",opName = "zeta", + tensorNames = mutableMapOf("input" to "x","q" to "q"), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)) + + +object TensorflowOpDeclarations { + init { + val groupedOps = tensorflowOps.opList.groupBy { input -> input.name } + val singleGroupedOps = HashMap() + groupedOps.forEach { name, node -> + singleGroupedOps[name] = node[0] + } + + OpRegistryHolder.registerOpList("tensorflow", singleGroupedOps) + tensorflowOps.opList.forEach { + tensorflowOpRegistry.registerInputFrameworkOpDef(it.name,it) + } + + nd4jOpDescriptors.opListList.forEach { + tensorflowOpRegistry.registerNd4jOpDef(it.name,it) + } + + reduceOps.forEach { tensorflowOpName, nd4jOpName -> + defineSingularReduce(inputFrameworkOpName = tensorflowOpName,inputOpName = nd4jOpName) + } + + + singleTransformArgs.forEach { + defineTensorflowSingleTransform(inputFrameworkOpName = it.key,inputOpName = it.value) + } + + elementWiseTransformOps.forEach { + defineTensorflowPairwiseTransforms(opName = it.value,inputFrameworkOpName = it.key) + } + + OpRegistryHolder.registerOpMappingRegistry("tensorflow", tensorflowOpRegistry) + + + + } +} + + diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/tensorflow/TensorflowProtobufExtensions.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/tensorflow/TensorflowProtobufExtensions.kt new file mode 100644 index 000000000..8fdbb7bf7 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/tensorflow/TensorflowProtobufExtensions.kt @@ -0,0 +1,169 @@ +package org.nd4j.codegen.ir.tensorflow + +import org.nd4j.shade.protobuf.ByteString +import org.tensorflow.framework.* +import java.nio.charset.Charset + +fun GraphDef.nodeByName(name: String): NodeDef { + val nodeNames = nodeList.map { node -> node.name } + return nodeList.first { it.name == name }!! +} + +fun ListAttrValue(vararg i: Long): AttrValue.ListValue = + AttrValue.ListValue.newBuilder().apply { + i.forEach { addI(it) } + }.build() + +fun TensorProto(block: TensorProto.Builder.() -> Unit): TensorProto { + return TensorProto.newBuilder().apply(block).build() +} + +fun TensorProto.Builder.RawData(byteArray: ByteArray) { + this.tensorContent = ByteString.copyFrom(byteArray) +} + +fun TensorProto.Builder.Shape(shape: List) { + this.tensorShape = TensorShapeProto { + Dims(shape) + } +} + +fun TensorProto.Builder.DataType(value: DataType) { + this.dtype = value +} + +fun TensorProto.Builder.String(value: String) { + this.addStringVal(ByteString.copyFrom(value.toByteArray(Charset.defaultCharset()))) +} + +fun TensorProto.Builder.StringData(value: List) { + this.addAllStringVal(value.map { value -> ByteString.copyFrom(value.toByteArray(Charset.defaultCharset())) }) +} + +fun TensorProto.Builder.Boolean(value: Boolean) { + this.addBoolVal(value) +} + +fun TensorProto.Builder.BooleanData(value: List) { + this.addAllBoolVal(value) +} + +fun TensorProto.Builder.Double(value: Double) { + this.addDoubleVal(value) +} + +fun TensorProto.Builder.Int64Data(value: List) { + this.addAllInt64Val(value) +} + + +fun TensorProto.Builder.Int32Data(value: List) { + this.addAllIntVal(value) +} + +fun TensorProto.Builder.DoubleData(value: List) { + this.addAllDoubleVal(value) +} + +fun TensorProto.Builder.Float(value: Float) { + this.addFloatVal(value) +} + +fun TensorProto.Builder.FloatData(value: List) { + this.addAllFloatVal(value) +} + +fun TensorShapeProto.Builder.Dim(name: String, size: Long) { + this.addDim(TensorShapeProto.Dim.newBuilder().setName(name).setSize(size).build()) +} + +fun Dim(block: TensorShapeProto.Dim.Builder.() -> Unit): TensorShapeProto.Dim { + return TensorShapeProto.Dim.newBuilder().apply(block).build() +} + +fun TensorShapeProto.Builder.Dims(shape: List) { + shape.forEachIndexed { index, value -> this.addDim( + Dim { + name = index.toString() + size = value + }) + } +} + +fun TensorShapeProto(block: TensorShapeProto.Builder.() -> Unit): TensorShapeProto { + return TensorShapeProto.newBuilder().apply(block).build() +} + +fun AttrValue(block: AttrValue.Builder.() -> Unit): AttrValue { + return AttrValue.newBuilder().apply(block).build() +} + + + +fun AttrValue.Builder.ListDataType(listDataTypes: List) { + this.listBuilder.addAllType(listDataTypes) +} + +fun AttrValue.Builder.ListInts(listInts: List) { + this.listBuilder.addAllI(listInts) +} + +fun AttrValue.Builder.LongVal(intVal: Long) { + this.i = intVal +} + +fun AttrValue.Builder.ListFloats(listFloats: List) { + this.listBuilder.addAllF(listFloats) +} + + + +fun GraphDef(block: GraphDef.Builder.() -> Unit): GraphDef { + return GraphDef.newBuilder().apply(block).build() +} + +fun GraphDef.Builder.Node(inputNode: NodeDef) { + this.addNode(inputNode) +} + +fun String.toByteString() = ByteString.copyFrom(this, Charset.defaultCharset()) + +fun OpDef(block: OpDef.Builder.() -> Unit): OpDef { + return OpDef.newBuilder().apply(block).build() +} + +fun NodeDef(block: NodeDef.Builder.() -> Unit): NodeDef { + return NodeDef.newBuilder().apply(block).build() +} + +fun ListValue(block: AttrValue.ListValue.Builder.() -> Unit): AttrValue.ListValue { + return AttrValue.ListValue.newBuilder().apply(block).build() +} + +fun AttrValue.ListValue.Builder.LongItems(value: List) { + this.addAllI(value) +} + +fun AttrValue.ListValue.Builder.IntItems(value: List) { + this.addAllI(value.map { it.toLong() }) +} + +fun AttrValue.ListValue.Builder.IntItem(value: Long) { + this.addI(value) +} + +fun NodeDef.Builder.Input(name: String) { + this.addInput(name) +} + +fun NodeDef.Builder.Attribute(name: String, value: AttrValue) { + this.putAttr(name, value) +} + +fun OpList.findOp(name: String): OpDef { + if(!this.opList.map { input -> input.name }.contains(name)) { + throw IllegalArgumentException("Op $name not found!") + } + return this.opList.first { it.name == name }!! +} + diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/tensorflow/TensorflowRuleDeclarations.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/tensorflow/TensorflowRuleDeclarations.kt new file mode 100644 index 000000000..e9f9d1470 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/ir/tensorflow/TensorflowRuleDeclarations.kt @@ -0,0 +1,1222 @@ +package org.nd4j.codegen.ir.tensorflow + +import org.nd4j.codegen.ir.* +import org.nd4j.ir.OpNamespace +import org.tensorflow.framework.* + + +class TensorflowConditionalFieldValueIntIndexNDArrayRule + (mappingNamesToPerform: Map, transformerArgs: Map>) : + ConditionalFieldValueIntIndexNDArrayRule + (mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowTensorName(name,opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess< + GraphDef,OpDef, NodeDef, TensorProto, OpDef.AttrDef, AttrValue, DataType>): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowAttributeName(name,opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return tensorflowAttributeValueTypeFor(attributeName = name,opDef = opDef) + } + + +} + +fun conditionalFieldValueIntIndexNDArrayRule(outputAttribute: String, + inputFrameworkStringNameToTest: String, + targetValue: String, + trueIndex: Int, + falseIndex: Int, + attributeNameOfListAttribute: String, + argumentIndex: Int): TensorflowConditionalFieldValueIntIndexNDArrayRule { + return TensorflowConditionalFieldValueIntIndexNDArrayRule( + mappingNamesToPerform = mapOf(outputAttribute to inputFrameworkStringNameToTest), + transformerArgs = mapOf(outputAttribute to listOf( + ArgDescriptor { + name = "targetValue" + stringValue = targetValue + argIndex = argumentIndex + }, + ArgDescriptor { + name = "trueIndex" + int32Value = trueIndex + argIndex = argumentIndex + }, + ArgDescriptor { + name = "falseIndex" + int32Value = falseIndex + argIndex = argumentIndex + }, + ArgDescriptor { + name = "attributeNameOfListAttribute" + stringValue = attributeNameOfListAttribute + argIndex = argumentIndex + })) + ) +} + + + + + +class TensorflowConditionalFieldValueIntIndexArrayRule + (mappingNamesToPerform: Map, transformerArgs: Map>) : + ConditionalFieldValueIntIndexArrayRule + (mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowTensorName(name,opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess< + GraphDef,OpDef, NodeDef, TensorProto, OpDef.AttrDef, AttrValue, DataType>): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowAttributeName(name,opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return tensorflowAttributeValueTypeFor(attributeName = name,opDef = opDef) + } + + +} + +fun conditionalFieldValueIntIndexArrayRule(outputAttribute: String, + inputFrameworkStringNameToTest: String, + targetValue: String, + trueIndex: Int, + falseIndex: Int, + attributeNameOfListAttribute: String, + argumentIndex: Int): TensorflowConditionalFieldValueIntIndexArrayRule { + return TensorflowConditionalFieldValueIntIndexArrayRule( + mappingNamesToPerform = mapOf(outputAttribute to inputFrameworkStringNameToTest), + transformerArgs = mapOf(outputAttribute to listOf( + ArgDescriptor { + name = "targetValue" + stringValue = targetValue + argIndex = argIndex + }, + ArgDescriptor { + name = "trueIndex" + int32Value = trueIndex + argIndex = argumentIndex + }, + ArgDescriptor { + name = "falseIndex" + int32Value = falseIndex + argIndex = argumentIndex + }, + ArgDescriptor { + name = "attributeNameOfListAttribute" + stringValue = attributeNameOfListAttribute + argIndex = argumentIndex + })) + ) +} + +class TensorflowNDArraySizeAt(mappingNamesToPerform: Map, transformerArgs: Map>): + NDArraySizeAtRule(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowTensorName(name,opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowAttributeName(name,opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return tensorflowAttributeValueTypeFor(attributeName = name,opDef = opDef) + } +} + +fun sizeAtRule(dimensionIndex: Int, + outputAttributeName: String, + inputFrameworkAttributeName: String, + argumentIndex: Int): TensorflowNDArraySizeAt { + return TensorflowNDArraySizeAt( + mappingNamesToPerform = mapOf(outputAttributeName to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttributeName to listOf(OpNamespace.ArgDescriptor.newBuilder().apply { + name = inputFrameworkAttributeName + int32Value = dimensionIndex + argIndex = argumentIndex + }.build())) + ) +} + +class TensorflowNDArrayExtractScalarValue(mappingNamesToPerform: Map = emptyMap(), + transformerArgs: Map> = emptyMap()) : + NDArrayExtractScalarValue + ( mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowTensorName(name,opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowAttributeName(name,opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return tensorflowAttributeValueTypeFor(attributeName = name,opDef = opDef) + } +} + +fun ndarrayExtractScalarValue(outputAttribute: String, + inputFrameworkAttributeName: String, + argumentIndex: Int, + scalarIndex: Int): TensorflowNDArrayExtractScalarValue { + return TensorflowNDArrayExtractScalarValue( + mappingNamesToPerform = mapOf(outputAttribute to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttribute to listOf( + ArgDescriptor { + name = outputAttribute + int64Value = scalarIndex.toLong() + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + argIndex = argumentIndex + }))) +} + + + + +class TensorflowStringEqualsAdapterRule(mappingNamesToPerform: Map = emptyMap(), + transformerArgs: Map> = emptyMap()) : + StringEqualsAdapterRule + ( mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowTensorName(name,opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowAttributeName(name,opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return tensorflowAttributeValueTypeFor(attributeName = name,opDef = opDef) + } +} + +fun stringEqualsRule(outputAttribute: String, + inputFrameworkAttributeName: String, + valueToTest: String, + argumentIndex: Int): TensorflowStringEqualsAdapterRule { + return TensorflowStringEqualsAdapterRule( + mappingNamesToPerform = mapOf(outputAttribute to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttribute to listOf( + ArgDescriptor { + name = inputFrameworkAttributeName + stringValue = valueToTest + argType = OpNamespace.ArgDescriptor.ArgType.STRING + argIndex = argumentIndex + }))) +} + + +class TensorflowStringNotEqualsAdapterRule(mappingNamesToPerform: Map = emptyMap(), + transformerArgs: Map> = emptyMap()) : + StringNotEqualsAdapterRule + ( mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowTensorName(name,opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, + mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowAttributeName(name,opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, + mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return tensorflowAttributeValueTypeFor(attributeName = name,opDef = opDef) + } +} + +fun stringNotEqualsRule(outputAttribute: String, inputFrameworkAttributeName: String, valueToTest: String,argumentIndex: Int): TensorflowStringNotEqualsAdapterRule { + return TensorflowStringNotEqualsAdapterRule( + mappingNamesToPerform = mapOf(outputAttribute to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttribute to listOf(OpNamespace.ArgDescriptor.newBuilder().apply { + name = inputFrameworkAttributeName + stringValue = valueToTest + argIndex = argumentIndex + }.build()))) +} + + +class TensorflowStringContainsAdapterRule(mappingNamesToPerform: Map = emptyMap(), + transformerArgs: Map> = emptyMap()) : + StringContainsAdapterRule + ( mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowTensorName(name,opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowAttributeName(name,opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return tensorflowAttributeValueTypeFor(attributeName = name,opDef = opDef) + } +} + +fun stringContainsRule(outputAttribute: String, inputFrameworkAttributeName: String, valueToTest: String): TensorflowStringContainsAdapterRule { + return TensorflowStringContainsAdapterRule( + mappingNamesToPerform = mapOf(outputAttribute to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttribute to listOf(OpNamespace.ArgDescriptor.newBuilder().apply { + name = inputFrameworkAttributeName + stringValue = valueToTest + }.build()))) +} + + +class TensorflowAttributeScalarNDArrayAttribute(mappingNamesToPerform: Map = emptyMap(), + transformerArgs: Map> = emptyMap()) : + AttributeScalarNDArrayAttribute + ( mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowTensorName(name,opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowAttributeName(name,opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return tensorflowAttributeValueTypeFor(attributeName = name,opDef = opDef) + } +} + +fun attributeScalarToNDArrayInput(outputAttribute: String, inputFrameworkAttributeName: String): TensorflowAttributeScalarNDArrayAttribute { + return TensorflowAttributeScalarNDArrayAttribute( + mappingNamesToPerform = mapOf(outputAttribute to inputFrameworkAttributeName)) +} + + + + +class TensorflowValueMappingRule(mappingNamesToPerform: Map, transformerArgs: Map>) : + ValueMapping(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowTensorName(name,opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowAttributeName(name,opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return tensorflowAttributeValueTypeFor(attributeName = name,opDef = opDef) + } +} + +fun valueMapping(mappings: Map): TensorflowValueMappingRule { + return TensorflowValueMappingRule(mappingNamesToPerform = mappings,transformerArgs = emptyMap()) +} + +class TensorflowInvertBooleanNumber(mappingNamesToPerform: Map, transformerArgs: Map>) : + InvertBooleanNumber(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowTensorName(name,opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowAttributeName(name,opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return tensorflowAttributeValueTypeFor(attributeName = name,opDef = opDef) + } +} + +fun invertBooleanNumber(mappings: Map): TensorflowInvertBooleanNumber { + return TensorflowInvertBooleanNumber(mappingNamesToPerform = mappings,transformerArgs = emptyMap()) +} + + + + + +class TensorflowNDArrayToIntAttributeValue(mappingNamesToPerform: Map) : NDArrayToIntAttributeValue(mappingNamesToPerform = mappingNamesToPerform,transformerArgs = emptyMap()) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(attrDef,attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowTensorName(name,opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowAttributeName(name,opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return tensorflowAttributeValueTypeFor(attributeName = name,opDef = opDef) + } +} + +fun ndarrayToIntList(ndarrayNameToAttributeName: MutableMap): TensorflowNDArrayToIntAttributeValue { + return TensorflowNDArrayToIntAttributeValue(mappingNamesToPerform = ndarrayNameToAttributeName) +} + +class TensorflowNdArrayToStringIndex(mappingNamesToPerform: Map, transformerArgs: Map>) : StringToInt(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(inputAttributeValue = attributeValueType,inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowTensorName(name,opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowAttributeName(name,opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return tensorflowAttributeValueTypeFor(attributeName = name,opDef = opDef) + } +} + +fun ndarrayStringToIndex(outputAttributeValue: String,inputAttributeValue: String, listOfValues: List,argumentIndex: Int): TensorflowNdArrayToStringIndex { + return TensorflowNdArrayToStringIndex(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = mapOf(outputAttributeValue to listOfValues.map { + valueName -> ArgDescriptor { + name = valueName + stringValue = valueName + argIndex = argumentIndex + } + })) +} + + +class TensorflowMapStringToInt(mappingNamesToPerform: Map, transformerArgs: Map>) : MapStringToInt(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(inputAttributeValue = attributeValueType,inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowTensorName(name,opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowAttributeName(name,opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return tensorflowAttributeValueTypeFor(attributeName = name,opDef = opDef) + } +} + +fun mapStringToInt(outputAttributeValue: String, inputAttributeValue: String, mapOfValuesToInts: Map,argumentIndex: Int,lookupIndex:Int): TensorflowMapStringToInt { + return TensorflowMapStringToInt(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = + mapOf(outputAttributeValue to mapOfValuesToInts.map { + entry -> ArgDescriptor { + name = entry.key + int64Value = entry.value.toLong() + argIndex = argumentIndex + } + },"index" to listOf(ArgDescriptor { + name = "index" + int64Value = lookupIndex.toLong() + }))) +} + + + + +class TensorflowListNumberToListNumber(mappingNamesToPerform: Map, transformerArgs: Map>) : ListNumberToListNumber(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(inputAttributeValue = attributeValueType,inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowTensorName(name,opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowAttributeName(name,opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return tensorflowAttributeValueTypeFor(attributeName = name,opDef = opDef) + } +} + +fun listNumberToListNumber(outputAttributeValue: String, inputAttributeValue: String): TensorflowListNumberToListNumber { + return TensorflowListNumberToListNumber(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = emptyMap()) +} + +class TensorflowStringAttributeToNDArray(mappingNamesToPerform: Map, transformerArgs: Map>) : StringAttributeToNDArray(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(inputAttributeValue = attributeValueType,inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowTensorName(name,opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowAttributeName(name,opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return tensorflowAttributeValueTypeFor(attributeName = name,opDef = opDef) + } +} + +fun convertStringToInputNDArray(mappings: Map): TensorflowStringAttributeToNDArray { + return TensorflowStringAttributeToNDArray(mappingNamesToPerform = mappings,transformerArgs = emptyMap()) +} + + + + + + + + +class TensorflowAttributeNumberListNDArray(mappingNamesToPerform: Map, transformerArgs: Map>) : AttributeNumberListNDArray(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(inputAttributeValue = attributeValueType,inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowTensorName(name,opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowAttributeName(name,opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return tensorflowAttributeValueTypeFor(attributeName = name,opDef = opDef) + } +} + +fun convertNumberListToInputNDArray(outputAttributeValue: String, inputAttributeValue: String): TensorflowAttributeNumberListNDArray { + return TensorflowAttributeNumberListNDArray(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = emptyMap()) +} + + +class TensorflowListAttributeValueLookupToIndex(mappingNamesToPerform: Map, transformerArgs: Map>) : ListAttributeValueLookupToIndex(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(inputAttributeValue = attributeValueType,inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowTensorName(name,opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowAttributeName(name,opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return tensorflowAttributeValueTypeFor(attributeName = name,opDef = opDef) + } +} + +fun listAttributeValueLookupToIndex(outputAttributeValue: String, inputAttributeValue: String, idx: Int,argumentIndex: Int): TensorflowListAttributeValueLookupToIndex { + return TensorflowListAttributeValueLookupToIndex(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue), + transformerArgs = mapOf(outputAttributeValue to listOf(ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + int64Value = idx.toLong() + name = "index" + argIndex = argumentIndex + }))) +} + + + + + +class TensorflowDataTypeToInt(mappingNamesToPerform: Map, transformerArgs: Map>) : + DataTypeToInt(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(inputAttributeValue = attributeValueType,inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowTensorName(name,opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowAttributeName(name,opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return tensorflowAttributeValueTypeFor(attributeName = name,opDef = opDef) + } +} + +fun dataTypeToInt(mutableMap: MutableMap): TensorflowDataTypeToInt { + return TensorflowDataTypeToInt(mappingNamesToPerform = mutableMap,transformerArgs = emptyMap()) +} + + + + +class TensorflowNDArrayInputToNumericalAttribute(mappingNamesToPerform: Map, transformerArgs: Map>) : + NDArrayInputToNumericalAttribute(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(inputAttributeValue = attributeValueType,inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowTensorName(name,opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowAttributeName(name,opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return tensorflowAttributeValueTypeFor(attributeName = name,opDef = opDef) + } +} + +fun convertNDArrayInputToNumericalAttr(mutableMap: MutableMap): TensorflowNDArrayInputToNumericalAttribute { + return TensorflowNDArrayInputToNumericalAttribute(mappingNamesToPerform = mutableMap,transformerArgs = emptyMap()) +} + +class TensorflowListNumberToNDArray(mappingNamesToPerform: Map, transformerArgs: Map>) : + ListNumberToNDArray(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(inputAttributeValue = attributeValueType,inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowTensorName(name,opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowAttributeName(name,opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return tensorflowAttributeValueTypeFor(attributeName = name,opDef = opDef) + } +} + +fun listNumberToNDarray(mutableMap: MutableMap): TensorflowListNumberToNDArray { + return TensorflowListNumberToNDArray(mappingNamesToPerform = mutableMap,transformerArgs = emptyMap()) +} + + +class TensorflowNDArrayAttributeToNDArrayInput(mappingNamesToPerform: Map, transformerArgs: Map>) : + NDArrayAttributeToNDArrayInput(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(inputAttributeValue = attributeValueType,inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowTensorName(name,opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowAttributeName(name,opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return tensorflowAttributeValueTypeFor(attributeName = name,opDef = opDef) + } +} + +fun ndArrayAttributeToNDarrayInput(mutableMap: MutableMap): TensorflowNDArrayAttributeToNDArrayInput { + return TensorflowNDArrayAttributeToNDArrayInput(mappingNamesToPerform = mutableMap,transformerArgs = emptyMap()) +} + + +class TensorflowArgDescriptorConstant(mappingNamesToPerform: Map, transformerArgs: Map>) + : ArgDescriptorConstant(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(inputAttributeValue = attributeValueType,inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowTensorName(name,opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowAttributeName(name,opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return tensorflowAttributeValueTypeFor(attributeName = name,opDef = opDef) + } +} + +fun argDescriptorConstant(argDescriptorConstants: List): TensorflowArgDescriptorConstant { + return TensorflowArgDescriptorConstant(mappingNamesToPerform = emptyMap(),transformerArgs = mapOf("value" to argDescriptorConstants)) +} + + +class TensorflowAttributeNDArrayToScalarAttribute(mappingNamesToPerform: Map, transformerArgs: Map>) + : AttributeNDArrayToScalarAttribute(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(inputAttributeValue = attributeValueType,inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowTensorName(name,opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return isTensorflowAttributeName(name,opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = nd4jOpDescriptors.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = tensorflowOps.findOp(mappingProcess.inputFrameworkOpName()) + return tensorflowAttributeValueTypeFor(attributeName = name,opDef = opDef) + } +} + +fun ndarrayAttributeToScalarAttribute(argDescriptorConstants: List): TensorflowAttributeNDArrayToScalarAttribute { + return TensorflowAttributeNDArrayToScalarAttribute(mappingNamesToPerform = emptyMap(),transformerArgs = mapOf("value" to argDescriptorConstants)) +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/util/GenerateOps.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/util/GenerateOps.kt new file mode 100644 index 000000000..cfb123be7 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/util/GenerateOps.kt @@ -0,0 +1,16 @@ +package org.nd4j.codegen.util + +import org.nd4j.codegen.impl.java.JavaPoetGenerator +import org.nd4j.codegen.ops.Bitwise +import org.nd4j.codegen.ops.Random +import java.io.File + +fun main() { + val outDir = File("F:\\dl4j-builds\\deeplearning4j\\nd4j\\nd4j-backends\\nd4j-api-parent\\nd4j-api\\src\\main\\java\\") + outDir.mkdirs() + + listOf(Bitwise(), Random()).forEach { + val generator = JavaPoetGenerator() + generator.generateNamespaceNd4j(it, null, outDir, it.name + ".java") + } +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/util/extract/ExtractFromExisting.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/util/extract/ExtractFromExisting.kt new file mode 100644 index 000000000..b883fc934 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/util/extract/ExtractFromExisting.kt @@ -0,0 +1,66 @@ +package org.nd4j.codegen.util.extract + +import java.io.File +import java.util.stream.Collectors + + +private data class Parameter(val name: String, val outType: String) +private data class Op(val name: String, val outType: String, val documentation: String, val parameters: List) + +fun main() { + val inputFile = File("/home/atuzhykov/SkyMind/deeplearning4j/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDImage.java") + val mainRegex = "/\\*\\*(?!\\*)(.*?)\\*/.*?public (.+?) (.+?)\\s*\\((.+?)\\)".toRegex(RegexOption.DOT_MATCHES_ALL) + val parameterRegex = "(?:@.+?\\s+)?([^\\s,]+?) ([^\\s,]+)".toRegex() + + val contents = inputFile.readText() + + val all = mainRegex.findAll(contents) + val ops = all.toList().stream().skip(1).map { + val description = it.groups[1]!!.value.let { + it.replace("^\\s*\\*".toRegex(RegexOption.MULTILINE), "") + } + val outType = it.groups[2]!!.value + val name = it.groups[3]!!.value + val parameterString = it.groups[4]!!.value + + val params = parameterRegex.findAll(parameterString).toList().map { Parameter(it.groups[2]!!.value, it.groups[1]!!.value) } + + + Op(name, outType, description, params) + } + .filter { it.parameters.first().name == "name" } + .collect(Collectors.toList()) + + + val out = ops.map { it.toDSL() }.joinToString("\n\n") + println(""" + import org.nd4j.codegen.api.Language + import org.nd4j.codegen.api.doc.DocScope + import org.nd4j.codegen.dsl.* + import org.nd4j.codegen.api.DataType.* + + fun ${inputFile.nameWithoutExtension}() = Namespace("${inputFile.nameWithoutExtension}"){ + val namespaceJavaPackage = "TODO" + ${out} + } + """.trimIndent()) +} + +private fun Op.toDSL(): String { + return """ + Op("${name}") { + javaPackage = namespaceJavaPackage + ${parameters.filterNot { it.name == "name" }.map { it.toDSL() }.joinToString("\n ")} + + Output(NUMERIC, "output"){ description = "" } + + Doc(Language.ANY, DocScope.ALL){ + ${"\"\"\"\n" + documentation + "\n\"\"\".trimIndent()"} + } + } + """.trimIndent() +} + +private fun Parameter.toDSL(): String { + return """Input(NUMERIC, "${name}") { description = "" }""" +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/util/extract/FindUsedParameterTypes.kt b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/util/extract/FindUsedParameterTypes.kt new file mode 100644 index 000000000..afc7a18d9 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/kotlin/org/nd4j/codegen/util/extract/FindUsedParameterTypes.kt @@ -0,0 +1,29 @@ +package org.nd4j.codegen.util.extract + +import java.io.File +import kotlin.streams.toList + + +fun main() { + val inputDir = File("F:\\dl4j-builds\\deeplearning4j\\nd4j\\nd4j-backends\\nd4j-api-parent\\nd4j-api\\src\\main\\java\\org\\nd4j\\autodiff\\samediff\\ops\\") + val mainRegex = "/\\*\\*(?!\\*)(.*?)\\*/.*?public (.+?) (.+?)\\s*\\((.+?)\\)".toRegex(RegexOption.DOT_MATCHES_ALL) + val parameterRegex = "(?:@.+?\\s+)?([^\\s,]+?) ([^\\s,]+)".toRegex() + + + val pairs = inputDir.listFiles().filterNot { it.name == "SDValidation.java" }.flatMap { inputFile -> + val contents = inputFile.readText() + + val all = mainRegex.findAll(contents).toList().stream().skip(1).toList() + all.flatMap { + val name = it.groups[3]!!.value + val parameterString = it.groups[4]!!.value + parameterRegex.findAll(parameterString).toList().mapNotNull { if(!listOf("name", "names").contains(it.groups[2]!!.value)){name to it.groups[1]!!.value}else{null} } + } + } + + val groups = pairs.groupBy { it.second }.mapValues { it.value.count() }.toSortedMap() + + groups.forEach { k, v -> + println("$k: $v") + } +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/mixins/Mixins.kt b/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/mixins/Mixins.kt new file mode 100644 index 000000000..031ee4993 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/mixins/Mixins.kt @@ -0,0 +1,126 @@ +package org.nd4j.codegen.mixins + +import org.nd4j.codegen.api.AtLeast +import org.nd4j.codegen.api.DataType +import org.nd4j.codegen.api.Exactly +import org.nd4j.codegen.api.Language +import org.nd4j.codegen.api.doc.DocScope +import org.nd4j.codegen.dsl.* + +val broadcastingDoc = Mixin("broadcastingDoc"){ + Doc(Language.ANY, DocScope.ALL){ + //TODO: finalize content for this broadcasting mixin doc. + """ + Note: supports broadcasting if x and y have different shapes and are broadcastable. + For example, if X has shape [1,10] and Y has shape [5,10] then op(X,Y) has output shape [5,10] + Broadcast rules are the same as NumPy: https://docs.scipy.org/doc/numpy/user/basics.broadcasting.html + """.trimIndent() + } +} + +val transform = Mixin("transform"){ + legacy = true + Input(DataType.NUMERIC, "x") { description = "Input variable" } + Output(DataType.NUMERIC, "output"){ description = "Output variable" } +} + +val transformArithmetic = Mixin("transformArithmetic"){ + useMixin(transform) + legacy = false + Input(DataType.NUMERIC, "y") { description = "Input variable" } + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.pairwise.arithmetic" +} + +val transformCustom2 = Mixin("transformCustom2"){ + Input(DataType.NUMERIC, "x") { description = "First input variable, x" } + Input(DataType.NUMERIC, "y") { description = "Second input variable, y" } + Output(DataType.NUMERIC, "out"){ description = "Output"} + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" +} + +val transformStrict = Mixin("transformStrict"){ + useMixin(transform) + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.strict" +} + +val transformSame = Mixin("transformSame"){ + useMixin(transform) + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.same" +} + +val transformBool = Mixin("transformBool"){ + useMixin(transform) + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.bool" +} + +val transformAny = Mixin("transformAny"){ + useMixin(transform) + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.any" +} + +val transformFloating = Mixin("transformFloating"){ + useMixin(transform) + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.floating" +} + +val scalar = Mixin("scalar"){ + legacy = true + javaPackage = "org.nd4j.linalg.api.ops.impl.scalar" + Input(DataType.NUMERIC, "x") { description = "Input variable" } + Arg(DataType.NUMERIC, "value") { description = "Scalar value for op" } + Output(DataType.NUMERIC, "output"){ description = "Output variable" } +} + +val reduce = Mixin("reduce"){ + legacy = true + Input(DataType.NUMERIC, "in") { description = "Input variable" } + Arg(DataType.INT, "dimensions"){ count = AtLeast(0); description = "Dimensions to reduce over. If dimensions are not specified, full array reduction is performed" } + Output(DataType.NUMERIC, "output"){ description = "Reduced array of rank (input rank - num dimensions)" } +} + +val reduceFloating = Mixin("reduceFloating"){ + useMixin(reduce) + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce.floating" +} + +val reduceSame = Mixin("reduceSame"){ + useMixin(reduce) + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce.same" +} + +val reduceLong = Mixin("reduceLong"){ + useMixin(reduce) + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce.longer" +} + +val reduce3 = Mixin("reduce3"){ + legacy = true + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce3" + Input(DataType.NUMERIC, "x") { description = "Input variable x" } + Input(DataType.NUMERIC, "y") { description = "Input variable y" } + Arg(DataType.INT, "dimensions"){ count = AtLeast(0); description = "Dimensions to calculate %OPNAME% over" } + Output(DataType.NUMERIC, "output"){ description = "Output variable" } +} + +val indexAccum = Mixin("indexAccum"){ + legacy = true + javaPackage = "org.nd4j.linalg.api.ops.impl.indexaccum" + val input = Input(DataType.NUMERIC, "in") { description = "Input variable" } + val keepDims = Arg(DataType.BOOL, "keepDims") { description = "If true: keep the dimensions that are reduced on (as length 1). False: remove the reduction dimensions"; defaultValue = false } + val dims = Arg(DataType.INT, "dimensions"){ count = AtLeast(1); isVargarg = true; description = "Dimensions to reduce over. If dimensions are not specified, full array reduction is performed" } + Output(DataType.NUMERIC, "output"){ description = "Reduced array of rank (input rank - num dimensions)" } + + Signature(input, dims) + AllParamSignature(withOutput = false) +} + +val indexAccumCustom = Mixin("indexAccumCustom"){ + javaPackage = "org.nd4j.linalg.api.ops.impl.indexaccum.custom" + val input = Input(DataType.NUMERIC, "in") { description = "Input variable" } + val keepDims = Arg(DataType.BOOL, "keepDims") { description = "If true: keep the dimensions that are reduced on (as length 1). False: remove the reduction dimensions"; defaultValue = false } + val dims = Arg(DataType.INT, "dimensions"){ count = AtLeast(1); isVargarg = true; description = "Dimensions to reduce over. If dimensions are not specified, full array reduction is performed" } + Output(DataType.NUMERIC, "output"){ description = "Reduced array of rank (input rank - num dimensions)" } + + Signature(input, dims) + AllParamSignature(withOutput = false) +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/Bitwise.kt b/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/Bitwise.kt new file mode 100644 index 000000000..536687fe7 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/Bitwise.kt @@ -0,0 +1,205 @@ +package org.nd4j.codegen.ops + +import org.nd4j.codegen.api.DataType.INT +import org.nd4j.codegen.api.Language +import org.nd4j.codegen.api.doc.DocScope +import org.nd4j.codegen.dsl.* + + +fun Bitwise() = Namespace("Bitwise"){ + val namespaceJavaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + + Op("leftShift") { + javaPackage = namespaceJavaPackage + javaOpClass = "ShiftBits" + + Input(INT, "x") { description = "Input to be bit shifted" } + Input(INT, "y") { description = "Amount to shift elements of x array" } + + Output(INT, "output"){ description = "Bitwise shifted input x" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Bitwise left shift operation. Supports broadcasting. + """.trimIndent() + } + } + + Op("rightShift") { + javaPackage = namespaceJavaPackage + javaOpClass = "RShiftBits" + + Input(INT, "x") { description = "Input to be bit shifted" } + Input(INT, "y") { description = "Amount to shift elements of x array" } + + Output(INT, "output"){ description = "Bitwise shifted input x" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Bitwise right shift operation. Supports broadcasting. + """.trimIndent() + } + } + + Op("leftShiftCyclic") { + javaPackage = namespaceJavaPackage + javaOpClass = "CyclicShiftBits" + + Input(INT, "x") { description = "Input to be bit shifted" } + Input(INT, "y") { description = "Amount to shift elements of x array" } + + Output(INT, "output"){ description = "Bitwise cyclic shifted input x" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Bitwise left cyclical shift operation. Supports broadcasting. + Unlike #leftShift(%INPUT_TYPE%, %INPUT_TYPE%) the bits will "wrap around": + {@code leftShiftCyclic(01110000, 2) -> 11000001} + """.trimIndent() + } + } + + Op("rightShiftCyclic") { + javaPackage = namespaceJavaPackage + javaOpClass = "CyclicRShiftBits" + + Input(INT, "x") { description = "Input to be bit shifted" } + Input(INT, "y") { description = "Amount to shift elements of x array" } + + Output(INT, "output"){ description = "Bitwise cyclic shifted input x" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Bitwise right cyclical shift operation. Supports broadcasting. + Unlike rightShift(%INPUT_TYPE%, %INPUT_TYPE%) the bits will "wrap around": + {@code rightShiftCyclic(00001110, 2) -> 10000011} + """.trimIndent() + } + } + + Op("bitsHammingDistance") { + javaPackage = namespaceJavaPackage + javaOpClass = "BitsHammingDistance" + + val x = Input(INT, "x") { description = "First input array." } + val y = Input(INT, "y") { description = "Second input array." } + Constraint("Must be same types"){ sameType(x, y) } + + Output(INT, "output"){ description = "bitwise Hamming distance" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Bitwise Hamming distance reduction over all elements of both input arrays.
+ For example, if x=01100000 and y=1010000 then the bitwise Hamming distance is 2 (due to differences at positions 0 and 1) + """.trimIndent() + } + } + + Op("and") { + javaPackage = namespaceJavaPackage + javaOpClass = "BitwiseAnd" + + val x = Input(INT, "x") { description = "First input array" } + val y = Input(INT, "y") { description = "Second input array" } + Constraint("Must be same types"){ sameType(x, y) } + BackendConstraint("Must have broadcastable shapes"){ broadcastableShapes(x, y) } + + Output(INT, "output"){ description = "Bitwise AND array" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Bitwise AND operation. Supports broadcasting. + """.trimIndent() + } + } + + Op("or") { + javaPackage = namespaceJavaPackage + javaOpClass = "BitwiseOr" + + val x = Input(INT, "x") { description = "First input array" } + val y = Input(INT, "y") { description = "First input array" } + Constraint("Must be same types"){ sameType(x, y) } + BackendConstraint("Must have broadcastable shapes"){ broadcastableShapes(x, y) } + + Output(INT, "output"){ description = "Bitwise OR array" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Bitwise OR operation. Supports broadcasting. + """.trimIndent() + } + } + + Op("xor") { + javaPackage = namespaceJavaPackage + javaOpClass = "BitwiseXor" + + val x = Input(INT, "x") { description = "First input array" } + val y = Input(INT, "y") { description = "First input array" } + Constraint("Must be same types"){ sameType(x, y) } + BackendConstraint("Must have broadcastable shapes"){ broadcastableShapes(x, y) } + + Output(INT, "output"){ description = "Bitwise XOR array" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Bitwise XOR operation (exclusive OR). Supports broadcasting. + """.trimIndent() + } + } + + Op("bitShift") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "ShiftBits" + Input(INT, "x") { description = "Input 1" } + Input(INT, "shift") { description = "Number of bits to shift." } + Output(INT, "output"){ description = "SDVariable with shifted bits" } + Doc(Language.ANY, DocScope.ALL){ + """ + Shift integer bits to the left, i.e. var << 4 + """.trimIndent() + } + } + + Op("bitShiftRight") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "RShiftBits" + Input(INT, "x") { description = "Input 1" } + Input(INT, "shift") { description = "Number of bits to shift." } + Output(INT, "output"){ description = "SDVariable with shifted bits" } + Doc(Language.ANY, DocScope.ALL){ + """ + Shift integer bits to the right, i.e. var >> 4 + """.trimIndent() + } + } + + Op("bitRotl") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "CyclicShiftBits" + Input(INT, "x") { description = "Input 1" } + Input(INT, "shift") { description = "Number of bits to shift." } + Output(INT, "output"){ description = "SDVariable with shifted bits" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Roll integer bits to the left, i.e. var << 4 | var >> (32 - 4) + """.trimIndent() + } + } + + Op("bitRotr") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "CyclicRShiftBits" + Input(INT, "x") { description = "Input 1" } + Input(INT, "shift") { description = "Number of bits to shift." } + Output(INT, "output"){ description = "SDVariable with shifted bits" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Roll integer bits to the right, i.e. var >> 4 | var << (32 - 4) + """.trimIndent() + } + } +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/CNN.kt b/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/CNN.kt new file mode 100644 index 000000000..6c968b49e --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/CNN.kt @@ -0,0 +1,566 @@ +package org.nd4j.codegen.ops + +import org.nd4j.codegen.api.AtLeast +import org.nd4j.codegen.api.Language +import org.nd4j.codegen.api.doc.DocScope +import org.nd4j.codegen.dsl.* +import org.nd4j.codegen.api.DataType.* +import org.nd4j.codegen.api.Exactly + +fun SDCNN() = Namespace("CNN"){ + val namespaceJavaPackage = "org.nd4j.linalg.api.ops.impl.layers.convolution" + + val dataFormat = Mixin("dataFormat"){ + Arg(ENUM, "dataFormat") { possibleValues = listOf("NCHW", "NHWC"); description = "Data format: \"NCHW\" or \"NHWC\"" } + } + + + val conv1DConfig = Config("Conv1DConfig"){ + Arg(LONG, "k"){ description = "Kernel"; defaultValue=-1L} + Arg(LONG, "s"){ description = "stride"; defaultValue=1} + Arg(LONG, "p"){ description = "padding"; defaultValue=0} + Arg(LONG, "d"){ description = "dilation"; defaultValue=1} + Arg(BOOL, "isSameMode"){ description = "Same mode"; defaultValue=true} + Arg(STRING, "dataFormat"){ description = "Data format"; defaultValue="NCW"} + javaClassOverride = "org.nd4j.linalg.api.ops.impl.layers.convolution.config.Conv1DConfig" + } + + val conv2DConfig = Config("Conv2DConfig"){ + Arg(LONG, "kH"){ description = "Kernel height"; defaultValue=-1L} + Arg(LONG, "kW"){ description = "Kernel width"; defaultValue=-1L} + Arg(LONG, "sH"){ description = "Stride along height dimension"; defaultValue=1}; + Arg(LONG, "sW"){ description = "Stride along width dimension"; defaultValue=1}; + Arg(LONG, "pH"){ description = "Padding along height dimension"; defaultValue=0}; + Arg(LONG, "pW"){ description = "Padding along width dimension"; defaultValue=0}; + Arg(LONG, "dH"){ description = "Dilation along height dimension"; defaultValue=1}; + Arg(LONG, "dW"){ description = "Dilation along width dimension"; defaultValue=1}; + Arg(BOOL, "isSameMode"){ description = "Same mode"; defaultValue=true} + Arg(STRING, "dataFormat"){ description = "Data format"; defaultValue="NCHW"} + javaClassOverride = "org.nd4j.linalg.api.ops.impl.layers.convolution.config.Conv2DConfig" + } + + val conv3DConfig = Config("Conv3DConfig"){ + Arg(LONG, "kD"){ description = "Kernel depth"; defaultValue=-1} + Arg(LONG, "kW"){ description = "Kernel width"; defaultValue=-1} + Arg(LONG, "kH"){ description = "Kernel height"; defaultValue=-1}; + Arg(LONG, "sD"){ description = "Stride depth"; defaultValue=1}; + Arg(LONG, "sW"){ description = "Stride width"; defaultValue=1}; + Arg(LONG, "sH"){ description = "Stride height"; defaultValue=1}; + Arg(LONG, "pD"){ description = "Padding depth"; defaultValue=0}; + Arg(LONG, "pW"){ description = "Padding width"; defaultValue=0}; + Arg(LONG, "pH"){ description = "Padding height"; defaultValue=0}; + Arg(LONG, "dD"){ description = "Dilation depth"; defaultValue=1}; + Arg(LONG, "dW"){ description = "Dilation width"; defaultValue=1}; + Arg(LONG, "dH"){ description = "Dilation height"; defaultValue=1}; + Arg(BOOL, "biasUsed"){ description = "biasUsed"; defaultValue=false} + Arg(BOOL, "isSameMode"){ description = "Same mode"; defaultValue=true} + Arg(STRING, "dataFormat"){ description = "Data format"; defaultValue="NDHWC"} + javaClassOverride = "org.nd4j.linalg.api.ops.impl.layers.convolution.config.Conv3DConfig" + } + + + val deconv2DConfig = Config("DeConv2DConfig"){ + Arg(LONG, "kH"){ description = "Kernel height"; defaultValue=-1L} + Arg(LONG, "kW"){ description = "Kernel width"; defaultValue=-1L} + Arg(LONG, "sH"){ description = "Stride along height dimension"; defaultValue=1L}; + Arg(LONG, "sW"){ description = "Stride along width dimension"; defaultValue=1L}; + Arg(LONG, "pH"){ description = "Padding along height dimension"; defaultValue=0}; + Arg(LONG, "pW"){ description = "Padding along width dimension"; defaultValue=0}; + Arg(LONG, "dH"){ description = "Dilation along height dimension"; defaultValue=1L}; + Arg(LONG, "dW"){ description = "Dilation along width dimension"; defaultValue=1L}; + Arg(BOOL, "isSameMode"){ description = "Same mode"; defaultValue=false} + Arg(STRING, "dataFormat"){ description = "Data format"; defaultValue="NCHW"} + javaClassOverride = "org.nd4j.linalg.api.ops.impl.layers.convolution.config.DeConv2DConfig" + } + + + val deconv3DConfig = Config("DeConv3DConfig"){ + Arg(LONG, "kD"){ description = "Kernel depth"; defaultValue=-1L} + Arg(LONG, "kW"){ description = "Kernel width"; defaultValue=-1L} + Arg(LONG, "kH"){ description = "Kernel height"; defaultValue=-1L}; + Arg(LONG, "sD"){ description = "Stride depth"; defaultValue=1L}; + Arg(LONG, "sW"){ description = "Stride width"; defaultValue=1L}; + Arg(LONG, "sH"){ description = "Stride height"; defaultValue=1L}; + Arg(LONG, "pD"){ description = "Padding depth"; defaultValue=0}; + Arg(LONG, "pW"){ description = "Padding width"; defaultValue=0}; + Arg(LONG, "pH"){ description = "Padding height"; defaultValue=0}; + Arg(LONG, "dD"){ description = "Dilation depth"; defaultValue=1L}; + Arg(LONG, "dW"){ description = "Dilation width"; defaultValue=1L}; + Arg(LONG, "dH"){ description = "Dilation height"; defaultValue=1L}; + Arg(BOOL, "isSameMode"){ description = "Same mode"; defaultValue=false} + Arg(STRING, "dataFormat"){ description = "Data format"; defaultValue="NCDHW"} + javaClassOverride = "org.nd4j.linalg.api.ops.impl.layers.convolution.config.DeConv3DConfig" + } + + + + + val pooling2DConfig = Config("Pooling2DConfig"){ + Arg(LONG, "kH"){ description = "Kernel height"; defaultValue=-1} + Arg(LONG, "kW"){ description = "Kernel width"; defaultValue=-1} + Arg(LONG, "sH"){ description = "Stride along height dimension"; defaultValue=1}; + Arg(LONG, "sW"){ description = "Stride along width dimension"; defaultValue=1}; + Arg(LONG, "pH"){ description = "Padding along height dimension"; defaultValue=0}; + Arg(LONG, "pW"){ description = "Padding along width dimension"; defaultValue=0}; + Arg(LONG, "dH"){ description = "Dilation along height dimension"; defaultValue=1}; + Arg(LONG, "dW"){ description = "Dilation along width dimension"; defaultValue=1}; + Arg(BOOL, "isSameMode"){ description = "Same mode"; defaultValue=true} + Arg(STRING, "dataFormat"){ description = "Data format"; defaultValue="nchw"} + javaClassOverride = "org.nd4j.linalg.api.ops.impl.layers.convolution.config.Pooling2DConfig" + } + + val pooling3DConfig = Config("Pooling3DConfig"){ + Arg(LONG, "kD"){ description = "Kernel depth"; defaultValue=-1} + Arg(LONG, "kW"){ description = "Kernel width"; defaultValue=-1} + Arg(LONG, "kH"){ description = "Kernel height"; defaultValue=-1}; + Arg(LONG, "sD"){ description = "Stride depth"; defaultValue=1}; + Arg(LONG, "sW"){ description = "Stride width"; defaultValue=1}; + Arg(LONG, "sH"){ description = "Stride height"; defaultValue=1}; + Arg(LONG, "pD"){ description = "Padding depth"; defaultValue=0}; + Arg(LONG, "pW"){ description = "Padding width"; defaultValue=0}; + Arg(LONG, "pH"){ description = "Padding height"; defaultValue=0}; + Arg(LONG, "dD"){ description = "Dilation depth"; defaultValue=1}; + Arg(LONG, "dW"){ description = "Dilation width"; defaultValue=1}; + Arg(LONG, "dH"){ description = "Dilation height"; defaultValue=1}; + Arg(BOOL, "isSameMode"){ description = "Same mode"; defaultValue=true} + Arg(STRING, "dataFormat"){ description = "Data format"; defaultValue="NCDHW"} + javaClassOverride = "org.nd4j.linalg.api.ops.impl.layers.convolution.config.Pooling3DConfig" + } + + + val LocalResponseNormalizationConfig = Config("LocalResponseNormalizationConfig"){ + Arg(NUMERIC, "alpha"){ description = "alpha"; defaultValue=1} + Arg(NUMERIC, "beta"){ description = "beta"; defaultValue=0.5} + Arg(NUMERIC, "bias"){ description = "bias"; defaultValue=1} + Arg(INT, "depth"){ description = "depth"; defaultValue=5} + javaClassOverride = "org.nd4j.linalg.api.ops.impl.layers.convolution.config.LocalResponseNormalizationConfig" + + + } + + + + + Op("avgPooling2d") { + javaPackage = namespaceJavaPackage + javaOpClass = "AvgPooling2D" + Input(NUMERIC, "input") { description = "the input to average pooling 2d operation - 4d CNN (image) activations in NCHW format (shape [minibatch, channels, height, width]) or NHWC format (shape [minibatch, height, width, channels])" } + useConfig(pooling2DConfig) + + Output(NUMERIC, "output"){ description = "Result after applying average pooling on the input" } + + Doc(Language.ANY, DocScope.ALL){ + """ + 2D Convolution layer operation - average pooling 2d + """.trimIndent() + } + } + + Op("avgPooling3d") { + javaPackage = namespaceJavaPackage + javaOpClass = "AvgPooling3D" + Input(NUMERIC, "input") {description = "the input to average pooling 3d operation - 5d activations in NCDHW format (shape [minibatch, channels, depth, height, width]) or NDHWC format (shape [minibatch, depth, height, width, channels])" } + useConfig(pooling3DConfig) + + Output(NUMERIC, "output"){ description = "after applying average pooling on the input" } + + Doc(Language.ANY, DocScope.ALL){ + """ + 3D convolution layer operation - average pooling 3d + """.trimIndent() + } + } + + Op("batchToSpace") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "BatchToSpace" + Input(NUMERIC, "x") { description = "Input variable. 4d input" } + Arg(INT, "blocks") { count=Exactly(2); description = "Block size, in the height/width dimension" } + Arg(INT, "croppingTop") { count=Exactly(2)} + Arg(INT, "croppingBottom") { count=Exactly(2)} + Output(NUMERIC, "output"){ description = "Output variable" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Convolution 2d layer batch to space operation on 4d input. + Reduces input batch dimension by rearranging data into a larger spatial dimensions + """.trimIndent() + } + } + + Op("col2Im") { + javaPackage = namespaceJavaPackage + javaOpClass = "Col2Im" + + Input(NUMERIC, "in") { description = "Input - rank 6 input with shape [minibatch, inputChannels, kernelHeight, kernelWidth, outputHeight, outputWidth]" } + useConfig(conv2DConfig) + + Output(NUMERIC, "output"){ description = "Col2Im output variable" } + + Doc(Language.ANY, DocScope.ALL){ + """ + col2im operation for use in 2D convolution operations. Outputs a 4d array with shape + [minibatch, inputChannels, height, width] + """.trimIndent() + } + } + + + + Op("conv1d") { + javaPackage = namespaceJavaPackage + javaOpClass = "Conv1D" + Input(NUMERIC, "input") { description = "the inputs to conv1d" } + Input(NUMERIC, "weights") { description = "weights for conv1d op - rank 3 array with shape [kernelSize, inputChannels, outputChannels]" } + Input(NUMERIC, "bias") { description = "bias for conv1d op - rank 1 array with shape [outputChannels]. May be null."; defaultValue=null } + useConfig(conv1DConfig) + + Output(NUMERIC, "output"){ description = "result of conv1d op" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Conv1d operation. + """.trimIndent() + } + } + + + + Op("conv2d") { + javaPackage = namespaceJavaPackage + javaOpClass = "Conv2D" + Input(NUMERIC, "layerInput") { description = "the input to max pooling 2d operation - 4d CNN (image) activations in NCHW format" } + Input(NUMERIC, "weights") { description = "Weights for the convolution operation. 4 dimensions with format [kernelHeight, kernelWidth, inputChannels, outputChannels]" } + Input(NUMERIC, "bias") { description = "Optional 1D bias array with shape [outputChannels]. May be null."; defaultValue=null } + useConfig(conv2DConfig) + + Output(NUMERIC, "output"){ description = "result of conv2d op" } + + Doc(Language.ANY, DocScope.ALL){ + """ + 2D Convolution operation with optional bias + """.trimIndent() + } + } + + + + + Op("conv3d") { + javaPackage = namespaceJavaPackage + javaOpClass = "Conv3D" + Input(NUMERIC, "input") { description = "the input to average pooling 3d operation - 5d activations in NCDHW format (shape [minibatch, channels, depth, height, width]) or NDHWC format (shape [minibatch, depth, height, width, channels])" } + Input(NUMERIC, "weights") { description = " Weights for conv3d. Rank 5 with shape [kernelDepth, kernelHeight, kernelWidth, inputChannels, outputChannels]." } + Input(NUMERIC, "bias") { description = " Optional 1D bias array with shape [outputChannels]. May be null."; defaultValue=null } + useConfig(conv3DConfig) + + Output(NUMERIC, "output"){ description = "Conv3d output variable" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Convolution 3D operation with optional bias + """.trimIndent() + } + } + + + + Op("deconv2d") { + javaPackage = namespaceJavaPackage + javaOpClass = "DeConv2D" + Input(NUMERIC, "layerInput") { description = "the input to deconvolution 2d operation - 4d CNN (image) activations in NCHW format (shape [minibatch, channels, height, width]) or NHWC format (shape [minibatch, height, width, channels])" } + Input(NUMERIC, "weights") { description = "Weights for the 2d deconvolution operation. 4 dimensions with format [inputChannels, outputChannels, kernelHeight, kernelWidth]" } + Input(NUMERIC, "bias") { description = "Optional 1D bias array with shape [outputChannels]. May be null."; defaultValue=null } + useConfig(deconv2DConfig) + Output(NUMERIC, "output"){ description = "result of deconv2d op" } + + Doc(Language.ANY, DocScope.ALL){ + """ + 2D deconvolution operation with optional bias + """.trimIndent() + } + } + + + + + + Op("deconv3d") { + javaPackage = namespaceJavaPackage + javaOpClass = "DeConv3D" + Input(NUMERIC, "input") { description = "Input array - shape [bS, iD, iH, iW, iC] (NDHWC) or [bS, iC, iD, iH, iW] (NCDHW)" } + Input(NUMERIC, "weights") { description = "Weights array - shape [kD, kH, kW, oC, iC]" } + Input(NUMERIC, "bias") { description = "Bias array - optional, may be null. If non-null, must have shape [outputChannels]"; defaultValue=null } + useConfig(deconv3DConfig) + + Output(NUMERIC, "output"){ description = "result of 3D CNN deconvolution operation" } + + Doc(Language.ANY, DocScope.ALL){ + """ + 3D CNN deconvolution operation with or without optional bias + """.trimIndent() + } + } + + Op("depthToSpace") { + javaPackage = namespaceJavaPackage + javaOpClass = "DepthToSpace" + Input(NUMERIC, "x") { description = "the input to depth to space pooling 2d operation - 4d activations in NCHW format (shape [minibatch, channels, height, width]) or NHWC format (shape [minibatch, height, width, channels])" } + Arg(INT, "blockSize") { description = "Block size, in the height/width dimension" } + useMixin(dataFormat) + Output(NUMERIC, "output"){ description = "Output variable" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Convolution 2d layer batch to space operation on 4d input.
+ Reduces input channels dimension by rearranging data into a larger spatial dimensions
+ Example: if input has shape [mb, 8, 2, 2] and block size is 2, then output size is [mb, 8/(2*2), 2*2, 2*2] + = [mb, 2, 4, 4] + """.trimIndent() + } + } + + + Op("depthWiseConv2d") { + javaPackage = namespaceJavaPackage + javaOpClass = "DepthwiseConv2D" + Input(NUMERIC, "layerInput") { description = "the input to max pooling 2d operation - 4d CNN (image) activations in NCHW format" } + Input(NUMERIC, "depthWeights") { description = "Depth-wise conv2d weights. 4 dimensions with format [kernelHeight, kernelWidth, inputChannels, depthMultiplier]" } + Input(NUMERIC, "bias") { description = "Optional 1D bias array with shape [outputChannels]. May be null."; defaultValue=null } + useConfig(conv2DConfig) + + Output(NUMERIC, "output"){ description = "result of depthwise conv2d op" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Depth-wise 2D convolution operation with optional bias + """.trimIndent() + } + } + + + + Op("dilation2D") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "Dilation2D" + Input(NUMERIC, "df") { description = "" } + Input(NUMERIC, "weights") { description = "df" } + Arg(INT, "strides") { count = Exactly(2); description = "weights" } + Arg(INT, "rates") {count = Exactly(2); description = "strides" } + Arg(BOOL, "isSameMode") { description = "isSameMode" } + + Output(NUMERIC, "output"){ description = "Computed the grayscale dilation of 4-D input and 3-D filters tensors." } + + Doc(Language.ANY, DocScope.ALL){ + """ + TODO doc string + """.trimIndent() + } + } + + Op("extractImagePatches") { + javaPackage = "org.nd4j.linalg.api.ops.impl.image" + javaOpClass = "ExtractImagePatches" + Input(NUMERIC, "input") { description = "Input array. Must be rank 4, with shape [minibatch, height, width, channels]" } + Arg(INT, "kH") { description = "Kernel height" } + Arg(INT, "kW") { description = "Kernel width" } + Arg(INT, "sH") { description = "Stride height" } + Arg(INT, "sW") { description = "Stride width" } + Arg(INT, "rH") { description = "Rate height" } + Arg(INT, "rW") { description = "Rate width" } + Arg(BOOL, "sameMode") { description = "If true: use same mode padding. If false" } + + Output(NUMERIC, "output"){ description = "The result is a 4D tensor which is indexed by batch, row, and column." } + + Doc(Language.ANY, DocScope.ALL){ + """ + Extract image patches + """.trimIndent() + } + } + + Op("im2Col") { + javaPackage = namespaceJavaPackage + javaOpClass = "Im2col" + Input(NUMERIC, "in") { description = "Input - rank 4 input with shape [minibatch, inputChannels, height, width]" } + useConfig(conv2DConfig) + + Output(NUMERIC, "output"){ description = "Im2Col output variable" } + + Doc(Language.ANY, DocScope.ALL){ + """ + im2col operation for use in 2D convolution operations. Outputs a 6d array with shape + [minibatch, inputChannels, kernelHeight, kernelWidth, outputHeight, outputWidth] + """.trimIndent() + } + } + + Op("localResponseNormalization") { + javaPackage = namespaceJavaPackage + javaOpClass = "LocalResponseNormalization" + Input(NUMERIC, "input") { description = "the inputs to lrn" } + useConfig(LocalResponseNormalizationConfig) + + Output(NUMERIC, "output"){ description = "Result after Local Response Normalization"} + + Doc(Language.ANY, DocScope.ALL){ + """ + 2D convolution layer operation - local response normalization + """.trimIndent() + } + } + + Op("maxPooling2d") { + javaPackage = namespaceJavaPackage + javaOpClass = "MaxPooling2D" + Input(NUMERIC, "input") { description = "the input to max pooling 2d operation - 4d CNN (image) activations in NCHW format (shape [minibatch, channels, height, width]) or NHWC format (shape [minibatch, height, width, channels])" } + useConfig(pooling2DConfig) + + Output(NUMERIC, "output"){ description = "Result after applying max pooling on the input" } + + Doc(Language.ANY, DocScope.ALL){ + """ + 2D Convolution layer operation - max pooling 2d + """.trimIndent() + } + } + + Op("maxPoolWithArgmax") { + javaPackage = namespaceJavaPackage + javaOpClass = "MaxPoolWithArgmax" + Input(NUMERIC, "input") { description = "the input to max pooling 2d operation - 4d CNN (image) activations in NCHW format (shape [minibatch, channels, height, width]) or NHWC format (shape [minibatch, height, width, channels])" } + useConfig(pooling2DConfig) + + Output(NUMERIC, "output"){ description = "Result after applying max pooling on the input" } + Output(NUMERIC, "indexes"){ description = "Argmax array" } + + Doc(Language.ANY, DocScope.ALL){ + """ + 2D Convolution layer operation - Max pooling on the input and outputs both max values and indices + """.trimIndent() + } + } + + Op("maxPooling3d") { + javaPackage = namespaceJavaPackage + javaOpClass = "MaxPooling3D" + Input(NUMERIC, "input") { description = "the input to average pooling 3d operation - 5d activations in NCDHW format (shape [minibatch, channels, depth, height, width]) or NDHWC format (shape [minibatch, depth, height, width, channels])" } + useConfig(pooling3DConfig) + + Output(NUMERIC, "output"){ description = "Result after applying max pooling on the input" } + + Doc(Language.ANY, DocScope.ALL){ + """ + 3D convolution layer operation - max pooling 3d operation. + """.trimIndent() + } + } + + + + Op("separableConv2d") { + javaPackage = "org.nd4j.linalg.api.ops.impl.layers.convolution" + javaOpClass = "SConv2D" + Input(NUMERIC, "layerInput") { description = "the input to max pooling 2d operation - 4d CNN (image) activations in NCHW format (shape [minibatch, channels, height, width]) or NHWC format (shape [minibatch, height, width, channels])" } + Input(NUMERIC, "depthWeights") { description = "Separable conv2d depth weights. 4 dimensions with format [kernelHeight, kernelWidth, inputChannels, depthMultiplier]" } + Input(NUMERIC, "pointWeights") { description = "Point weights, rank 4 with format [1, 1, inputChannels*depthMultiplier, outputChannels]. May be null" } + Input(NUMERIC, "bias") { description = "Optional bias, rank 1 with shape [outputChannels]. May be null."; defaultValue=null} + useConfig(conv2DConfig) + + Output(NUMERIC, "output"){ description = "result of separable convolution 2d operation" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Separable 2D convolution operation with optional bias + """.trimIndent() + } + } + + + + Op("spaceToBatch") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "SpaceToBatch" + Input(NUMERIC, "x") { description = "Input variable. 4d input" } + Arg(INT, "blocks") { count = Exactly(2); description = "Block size, in the height/width dimension" } + Arg(INT, "paddingTop") {count = Exactly(2); description = "Optional 2d int[] array for padding the result: values [[pad top, pad bottom], [pad left, pad right]]" } + Arg(INT, "paddingBottom") {count = Exactly(2); description = "Optional 2d int[] array for padding the result: values [[pad top, pad bottom], [pad left, pad right]]" } + + Output(NUMERIC, "output"){ description = "Output variable" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Convolution 2d layer space to batch operation on 4d input. + Increases input batch dimension by rearranging data from spatial dimensions into batch dimension + """.trimIndent() + } + } + + Op("spaceToDepth") { + javaPackage = namespaceJavaPackage + Input(NUMERIC, "x") { description = "the input to depth to space pooling 2d operation - 4d activations in NCHW format (shape [minibatch, channels, height, width]) or NHWC format (shape [minibatch, height, width, channels])" } + Arg(INT, "blockSize") { description = " Block size, in the height/width dimension" } + useMixin(dataFormat) + Output(NUMERIC, "output"){ description = "Output variable" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Convolution 2d layer space to depth operation on 4d input.
+ Increases input channels (reduced spatial dimensions) by rearranging data into a larger channels dimension
+ Example: if input has shape [mb, 2, 4, 4] and block size is 2, then output size is [mb, 8/(2*2), 2*2, 2*2] + = [mb, 2, 4, 4] + """.trimIndent() + } + } + + Op("upsampling2d") { + javaPackage = namespaceJavaPackage + Input(NUMERIC, "input") { description = "Input in NCHW format" } + Arg(INT, "scale") { description = "The scale for both height and width dimensions." } + + Output(NUMERIC, "output"){ description = "Upsampled input"} + + Doc(Language.ANY, DocScope.ALL){ + """ + Upsampling layer for 2D inputs. + scale is used for both height and width dimensions. + """.trimIndent() + } + } + + Op("upsampling2d") { + javaPackage = namespaceJavaPackage + Input(NUMERIC, "input") { description = "Input in NCHW format" } + Arg(INT, "scaleH") { description = "Scale to upsample in height dimension" } + Arg(INT, "scaleW") { description = "Scale to upsample in width dimension" } + Arg(BOOL ,"nchw") { description = "If true: input is in NCHW (minibatch, channels, height, width) format. False: NHWC format" } + + + Output(NUMERIC, "output"){ description = "Upsampled input" } + + Doc(Language.ANY, DocScope.ALL){ + """ + 2D Convolution layer operation - Upsampling 2d + """.trimIndent() + } + } + + Op("upsampling3d") { + javaPackage = namespaceJavaPackage + javaOpClass = "Upsampling3d" + Input(NUMERIC, "input") { description = "Input in NCHW format" } + Arg(BOOL ,"ncdhw") { description = "If true: input is in NCDHW (minibatch, channels, depth, height, width) format. False: NDHWC format" } + Arg(INT, "scaleD") { description = "Scale to upsample in depth dimension" } + Arg(INT, "scaleH") { description = "Scale to upsample in height dimension" } + Arg(INT, "scaleW") { description = "Scale to upsample in width dimension" } + + + Output(NUMERIC, "output"){ description = "Upsampled input" } + + Doc(Language.ANY, DocScope.ALL){ + """ + 3D Convolution layer operation - Upsampling 3d + """.trimIndent() + } + } +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/Image.kt b/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/Image.kt new file mode 100644 index 000000000..a682d67b8 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/Image.kt @@ -0,0 +1,242 @@ +package org.nd4j.codegen.ops + +import org.nd4j.codegen.api.AtLeast +import org.nd4j.codegen.api.Language +import org.nd4j.codegen.api.doc.DocScope +import org.nd4j.codegen.dsl.* +import org.nd4j.codegen.api.DataType.* +import org.nd4j.codegen.api.Exactly + + +fun SDImage() = Namespace("Image"){ + val namespaceJavaPackage = "org.nd4j.linalg.api.ops.custom" + Op("CropAndResize") { + javaPackage = "org.nd4j.linalg.api.ops.impl.image" + javaOpClass = "CropAndResize" + Input(NUMERIC, "image") { description = "Input image, with shape [batch, height, width, channels]" } + Input(NUMERIC, "cropBoxes") { description = "Float32 crop, shape [numBoxes, 4] with values in range 0 to 1" } + Input(NUMERIC, "boxIndices") { description = "Indices: which image (index to dimension 0) the cropBoxes belong to. Rank 1, shape [numBoxes]" } + Input(INT, "cropOutSize") { description = "Output size for the images - int32, rank 1 with values [outHeight, outWidth]" } + Arg(NUMERIC, "extrapolationValue") { description = "Used for extrapolation, when applicable. 0.0 should be used for the default"; defaultValue=0.0 } + + Output(NUMERIC, "output"){ description = "Cropped and resized images" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Given an input image and some crop boxes, extract out the image subsets and resize them to the specified size. + """.trimIndent() + } + } + + Op("extractImagePatches") { + javaPackage = "org.nd4j.linalg.api.ops.impl.image" + javaOpClass = "ExtractImagePatches" + Input(NUMERIC, "image") { description = "Input image to extract image patches from - shape [batch, height, width, channels]" } + Arg(INT, "kSizes") { count = Exactly(2); description = "Kernel size - size of the image patches, [height, width]" } + Arg(INT, "strides") { count = Exactly(2);description = "Stride in the input dimension for extracting image patches, [stride_height, stride_width]" } + Arg(INT, "rates") { count = AtLeast(0); description = "Usually [1,1]. Equivalent to dilation rate in dilated convolutions - how far apart the output pixels\n" + + " in the patches should be, in the input. A dilation of [a,b] means every {@code a}th pixel is taken\n" + + " along the height/rows dimension, and every {@code b}th pixel is take along the width/columns dimension" } + Arg(BOOL, "sameMode") { description = "Padding algorithm. If true: use Same padding" } + + Output(NUMERIC, "output"){ description = "The extracted image patches" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Given an input image, extract out image patches (of size kSizes - h x w) and place them in the depth dimension. + """.trimIndent() + } + } + + Op("nonMaxSuppression") { + javaPackage = "org.nd4j.linalg.api.ops.impl.image" + javaOpClass = "NonMaxSuppression" + Input(NUMERIC, "boxes") { description = "Might be null. Name for the output variable" } + Input(NUMERIC, "scores") { description = "vector of shape [num_boxes]" } + Arg(INT, "maxOutSize") { description = "scalar representing the maximum number of boxes to be selected" } + Arg(NUMERIC, "iouThreshold") { description = "threshold for deciding whether boxes overlap too much with respect to IOU" } + Arg(NUMERIC, "scoreThreshold") { description = "threshold for deciding when to remove boxes based on score" } + + Output(NUMERIC, "output"){ description = "vectort of shape [M] representing the selected indices from the boxes tensor, where M <= max_output_size" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Greedily selects a subset of bounding boxes in descending order of score + """.trimIndent() + } + } + + Op("adjustContrast") { + javaPackage = namespaceJavaPackage + javaOpClass = "AdjustContrast" + Input(NUMERIC, "in") { description = "images to adjust. 3D shape or higher" } + Arg(FLOATING_POINT, "factor") { description = "multiplier for adjusting contrast" } + + Output(NUMERIC, "output"){ description = "Contrast-adjusted image" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Adjusts contrast of RGB or grayscale images. + """.trimIndent() + } + } + + Op("adjustSaturation") { + javaPackage = namespaceJavaPackage + javaOpClass = "AdjustSaturation" + Input(NUMERIC, "in") { description = "RGB image as 3D array" } + Arg(FLOATING_POINT, "factor") { description = "factor for saturation" } + + Output(NUMERIC, "output"){ description = "adjusted image" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Adjust saturation of RGB images + """.trimIndent() + } + } + + Op("adjustHue") { + javaPackage = namespaceJavaPackage + javaOpClass = "AdjustHue" + Input(NUMERIC, "in") { description = "image as 3D array" } + Arg(NUMERIC, "delta") { description = "value to add to hue channel" } + + Output(NUMERIC, "output"){ description = "adjusted image" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Adjust hue of RGB image + """.trimIndent() + } + } + + Op("randomCrop") { + javaPackage = namespaceJavaPackage + javaOpClass = "RandomCrop" + Input(NUMERIC, "input") { description = "input array" } + Input(INT, "shape") { description = "shape for crop" } + + Output(NUMERIC, "output"){ description = "cropped array" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Randomly crops image + """.trimIndent() + } + } + + Op("rgbToHsv") { + javaPackage = namespaceJavaPackage + javaOpClass = "RgbToHsv" + Input(NUMERIC, "input") { description = "3D image" } + + Output(NUMERIC, "output"){ description = "3D image" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Converting array from HSV to RGB format + """.trimIndent() + } + } + + Op("hsvToRgb") { + javaPackage = namespaceJavaPackage + javaOpClass = "HsvToRgb" + Input(NUMERIC, "input") { description = "3D image" } + + Output(NUMERIC, "output"){ description = "3D image" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Converting image from HSV to RGB format + """.trimIndent() + } + } + + Op("rgbToYiq") { + javaPackage = namespaceJavaPackage + javaOpClass = "RgbToYiq" + Input(NUMERIC, "input") { description = "3D image" } + + Output(NUMERIC, "output"){ description = "3D image" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Converting array from RGB to YIQ format + """.trimIndent() + } + } + + Op("yiqToRgb") { + javaPackage = namespaceJavaPackage + javaOpClass = "YiqToRgb" + Input(NUMERIC, "input") { description = "3D image" } + + Output(NUMERIC, "output"){ description = "3D image" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Converting image from YIQ to RGB format + """.trimIndent() + } + } + + Op("rgbToYuv") { + javaPackage = namespaceJavaPackage + javaOpClass = "RgbToYuv" + + Input(NUMERIC, "input") { description = "3D image" } + + Output(NUMERIC, "output"){ description = "3D image" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Converting array from RGB to YUV format + """.trimIndent() + } + } + + Op("yuvToRgb") { + javaPackage = namespaceJavaPackage + javaOpClass = "YuvToRgb" + + Input(NUMERIC, "input") { description = "3D image" } + + Output(NUMERIC, "output"){ description = "3D image" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Converting image from YUV to RGB format + """.trimIndent() + } + } + + Op("imageResize") { + javaPackage = "org.nd4j.linalg.api.ops.impl.image" + javaOpClass = "ImageResize" + + Input(NUMERIC, "input") { description = "4D image [NHWC]" } + Input(INT, "size") { description = "new height and width" } + Arg(BOOL, "preserveAspectRatio") { description = "Whether to preserve the aspect ratio." + + " If this is set, then images will be resized to a size that fits in size while preserving the aspect ratio" + + " of the original image. Scales up the image if size is bigger than the current size of the image. Defaults to False."; defaultValue=false; } + Arg(BOOL, "antialis") { description = "Whether to use an anti-aliasing filter when downsampling an image"; defaultValue=false; } + Arg(ENUM, "ImageResizeMethod") { possibleValues = listOf( "ResizeBilinear", "ResizeBicubic", "ResizeNearest", "ResizeGaussian", + "ResizeLanczos5", "ResizeMitchelcubic", "ResizeArea"); description = "ResizeBilinear: Bilinear interpolation. If 'antialias' is true, becomes a hat/tent filter function with radius 1 when downsampling.\n" + + "ResizeLanczos5: Lanczos kernel with radius 5. Very-high-quality filter but may have stronger ringing.\n" + + "ResizeBicubic: Cubic interpolant of Keys. Equivalent to Catmull-Rom kernel. Reasonably good quality and faster than Lanczos3Kernel, particularly when upsampling.\n" + + "ResizeGaussian: Gaussian kernel with radius 3, sigma = 1.5 / 3.0.\n" + + "ResizeNearest: Nearest neighbor interpolation. 'antialias' has no effect when used with nearest neighbor interpolation.\n" + + "ResizeArea: Anti-aliased resampling with area interpolation. 'antialias' has no effect when used with area interpolation; it always anti-aliases.\n" + + "ResizeMitchelcubic: Mitchell-Netravali Cubic non-interpolating filter. For synthetic images (especially those lacking proper prefiltering), less ringing than Keys cubic kernel but less sharp." } + + Output(NUMERIC, "output"){ description = "Output image" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Resize images to size using the specified method. + """.trimIndent() + } + } +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/Linalg.kt b/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/Linalg.kt new file mode 100644 index 000000000..1ed0f8dcc --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/Linalg.kt @@ -0,0 +1,248 @@ +package org.nd4j.codegen.ops + +import org.nd4j.codegen.api.DataType +import org.nd4j.codegen.api.DataType.* +import org.nd4j.codegen.api.Language +import org.nd4j.codegen.api.doc.DocScope +import org.nd4j.codegen.dsl.* +import org.nd4j.codegen.api.Range + + +fun Linalg() = Namespace("Linalg") { + //val namespaceJavaPackage = "org.nd4j.linalg" + + Op("Cholesky") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms" + javaOpClass = "Cholesky" + Input(DataType.NUMERIC, "input") { description = "Input tensor with inner-most 2 dimensions forming square matrices" } + Output(DataType.NUMERIC, "output"){ description = "Transformed tensor" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Computes the Cholesky decomposition of one or more square matrices. + """.trimIndent() + } + } + + Op("Lstsq") { + javaPackage = "org.nd4j.linalg.api.ops.custom" + javaOpClass = "Lstsq" + + Input(DataType.NUMERIC, "matrix") {description = "input tensor"} + Input(DataType.NUMERIC, "rhs") {description = "input tensor"} + Arg(DataType.FLOATING_POINT, "l2_reguralizer") {description = "regularizer"} + Arg(DataType.BOOL, "fast") {description = "fast mode, defaults to True"; defaultValue = true} + Output(DataType.FLOATING_POINT, "output"){ description = "Transformed tensor" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Solver for linear squares problems. + """.trimIndent() + } + } + + Op("Solve") { + javaPackage = "org.nd4j.linalg.api.ops.custom" + javaOpClass = "LinearSolve" + + Input(DataType.NUMERIC, "matrix") {description = "input tensor"} + Input(DataType.NUMERIC, "rhs") {description = "input tensor"} + Arg(DataType.BOOL, "adjoint") {description = "adjoint mode, defaults to False"; defaultValue = false} + Output(FLOATING_POINT, "output"){ description = "Output tensor" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Solver for systems of linear equations. + """.trimIndent() + } + } + + Op("TriangularSolve") { + javaPackage = "org.nd4j.linalg.api.ops.custom" + javaOpClass = "TriangularSolve" + + Input(DataType.NUMERIC, "matrix") {description = "input tensor"} + Input(DataType.NUMERIC, "rhs") {description = "input tensor"} + Arg(DataType.BOOL, "lower") {description = "defines whether innermost matrices in matrix are lower or upper triangular"} + Arg(DataType.BOOL, "adjoint") {description = "adjoint mode"} + Output(DataType.FLOATING_POINT, "output") + + Doc(Language.ANY, DocScope.ALL){ + """ + Solver for systems of linear questions. + """.trimIndent() + } + } + + Op("Lu") { + javaPackage = "org.nd4j.linalg.api.ops.custom" + javaOpClass = "Lu" + + Input(DataType.NUMERIC, "input") {description = "input tensor"} + Output(FLOATING_POINT, "output") + + Doc(Language.ANY, DocScope.ALL){ + """ + Computes LU decomposition. + """.trimIndent() + } + } + + Op("Matmul") { + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce" + javaOpClass = "Mmul" + + Input(DataType.NUMERIC, "a") {description = "input tensor"} + Input(DataType.NUMERIC, "b") {description = "input tensor"} + Output(DataType.FLOATING_POINT, "output") + + Doc(Language.ANY, DocScope.ALL){ + """ + Performs matrix mutiplication on input tensors. + """.trimIndent() + } + } + + Op("Qr") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "Qr" + + Input(DataType.NUMERIC, "input") {description = "input tensor"} + Arg(DataType.BOOL, "full") {description = "full matrices mode"; defaultValue = false} + Output(FLOATING_POINT, "outputQ") + Output(FLOATING_POINT, "outputR") + + Doc(Language.ANY, DocScope.ALL){ + """ + Computes the QR decompositions of input matrix. + """.trimIndent() + } + } + + Op("MatrixBandPart") { + javaPackage = "org.nd4j.linalg.api.ops.custom" + javaOpClass = "MatrixBandPart" + + Input(DataType.NUMERIC, "input") { description = "input tensor" } + Arg(DataType.INT, "minLower") { description = "lower diagonal count" } + Arg(DataType.INT, "maxUpper") { description = "upper diagonal count" } + Output(DataType.FLOATING_POINT, "output1") + Output(DataType.FLOATING_POINT, "output2") + + Doc(Language.ANY, DocScope.ALL){ + """ + Copy a tensor setting outside a central band in each innermost matrix. + """.trimIndent() + } + } + + Op("cross") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + javaOpClass = "Cross" + + Input(DataType.NUMERIC, "a") {"Input tensor a"} + Input(DataType.NUMERIC, "b") {"Input tensor b"} + Output(FLOATING_POINT, "output") + + Doc(Language.ANY, DocScope.ALL){ + """ + Computes pairwise cross product. + """.trimIndent() + } + } + + Op("diag") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + javaOpClass = "Diag" + + Input(DataType.NUMERIC, "input") {"Input tensor"} + Output(DataType.FLOATING_POINT, "output") + + Doc(Language.ANY, DocScope.ALL){ + """ + Calculates diagonal tensor. + """.trimIndent() + } + } + + Op("diag_part") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + javaOpClass = "DiagPart" + + Input(DataType.NUMERIC, "input") {"Input tensor"} + Output(DataType.FLOATING_POINT, "output") + + Doc(Language.ANY, DocScope.ALL){ + """ + Calculates diagonal tensor. + """.trimIndent() + } + } + + Op("logdet") { + javaPackage = "org.nd4j.linalg.api.ops.custom" + javaOpClass = "Logdet" + + Input(DataType.NUMERIC, "input") {"Input tensor"} + Output(FLOATING_POINT, "output") + + Doc(Language.ANY, DocScope.ALL){ + """ + Calculates log of determinant. + """.trimIndent() + } + } + + Op("svd") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "Svd" + + Input(DataType.NUMERIC, "input") {"Input tensor"} + Arg(DataType.BOOL, "fullUV") {"Full matrices mode"} + Arg(DataType.BOOL, "computeUV") {"Compute U and V"} + Arg(DataType.INT, "switchNum") {"Switch number"; defaultValue = 16} + Output(FLOATING_POINT, "output") + + Doc(Language.ANY, DocScope.ALL){ + """ + Calculates singular value decomposition. + """.trimIndent() + } + } + + Op("tri") { + javaPackage = "org.nd4j.linalg.api.ops.custom" + javaOpClass = "Tri" + + Arg(DATA_TYPE, "dataType") { description = "Data type"; defaultValue = org.nd4j.linalg.api.buffer.DataType.FLOAT } + Arg(INT, "row") {"Number of rows in the array"; } + Arg(INT, "column") {"Number of columns in the array"; } + Arg(INT, "diagonal") {"The sub-diagonal at and below which the array is filled. k = 0 is the main diagonal, while k < 0 is below it, and k > 0 is above. The default is 0."; defaultValue = 0} + + + Output(FLOATING_POINT, "output") + + Doc(Language.ANY, DocScope.ALL){ + """ + An array with ones at and below the given diagonal and zeros elsewhere. + """.trimIndent() + } + } + + Op("triu") { + javaPackage = "org.nd4j.linalg.api.ops.custom" + javaOpClass = "Triu" + Input(DataType.NUMERIC, "input") {"Input tensor"} + Arg(DataType.INT, "diag") {"diagonal"; defaultValue = 0} + + Output(FLOATING_POINT, "output") + + Doc(Language.ANY, DocScope.ALL){ + """ + Upper triangle of an array. Return a copy of a input tensor with the elements below the k-th diagonal zeroed. + """.trimIndent() + } + } + + Alias(SDBaseOps(), "mmul") +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/Math.kt b/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/Math.kt new file mode 100644 index 000000000..79b188a76 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/Math.kt @@ -0,0 +1,1368 @@ +/** + * Generated using ExtractFromExisting.kt + */ +package org.nd4j.codegen.ops + +import org.nd4j.codegen.api.AtLeast +import org.nd4j.codegen.api.DataType +import org.nd4j.codegen.api.DataType.* +import org.nd4j.codegen.api.Language +import org.nd4j.codegen.api.doc.DocScope +import org.nd4j.codegen.dsl.* +import org.nd4j.codegen.mixins.* + + +fun Math() = Namespace("Math"){ + Op("abs", transformSame) { + javaOpClass = "Abs" + Doc(Language.ANY, DocScope.ALL){ + """ + Elementwise absolute value operation: out = abs(x) + """.trimIndent() + } + } + + Op("acos", transformStrict) { + javaOpClass = "ACos" + Doc(Language.ANY, DocScope.ALL){ + """ + Elementwise acos (arccosine, inverse cosine) operation: out = arccos(x) + """.trimIndent() + } + } + + Op("acosh", transformStrict) { + javaOpClass = "ACosh" + Doc(Language.ANY, DocScope.ALL){ + """ + Elementwise acosh (inverse hyperbolic cosine) function: out = acosh(x) + """.trimIndent() + } + } + + Op("add", transformArithmetic){ + javaOpClass = "AddOp" + Doc(Language.ANY, DocScope.ALL){ + """ + Pairwise addition operation, out = x + y + """.trimIndent() + } + useMixin(broadcastingDoc) + } + + Op("add", scalar){ + javaOpClass = "ScalarAdd" + Doc(Language.ANY, DocScope.ALL){ + """ + Scalar add operation, out = in + scalar + """.trimIndent() + } + } + + + // TODO should we call these "reduceAMax", "reduceAMean", "reduceMin" etc? + // TODO: There are 2 implementations of amax in org.nd4j.linalg.api.ops.impl + Op("amax", reduceSame) { + javaOpClass = "AMax" + Doc(Language.ANY, DocScope.ALL){ + """ + Absolute max array reduction operation, optionally along specified dimensions: out = max(abs(x)) + """.trimIndent() + } + } + + Op("amean", reduceFloating) { + javaOpClass = "AMean" + Doc(Language.ANY, DocScope.ALL){ + """ + Absolute mean array reduction operation, optionally along specified dimensions: out = mean(abs(x)) + """.trimIndent() + } + } + + // TODO: There are 2 implementations of amax in org.nd4j.linalg.api.ops.impl + Op("amin", reduceSame) { + javaOpClass = "AMin" + Doc(Language.ANY, DocScope.ALL){ + """ + Absolute min array reduction operation, optionally along specified dimensions: out = min(abs(x)) + """.trimIndent() + } + } + + Op("and") { + legacy = true + javaOpClass = "And" + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.pairwise.bool" + Input(BOOL, "x") { description = "Input 1" } + Input(BOOL, "y") { description = "Input 2" } + Output(BOOL, "output"){ description = "%INPUT_TYPE% with values 0 and 1 based on where the condition is satisfied" } + Doc(Language.ANY, DocScope.ALL){ + """ + Boolean AND operation: elementwise (x != 0) && (y != 0) + If x and y arrays have equal shape, the output shape is the same as these inputs. + Note: supports broadcasting if x and y have different shapes and are broadcastable. + Returns an array with values 1 where condition is satisfied, or value 0 otherwise. + """.trimIndent() + } + } + + Op("asin", transformStrict) { + javaOpClass = "ASin" + Doc(Language.ANY, DocScope.ALL){ + """ + Elementwise asin (arcsin, inverse sine) operation: out = arcsin(x) + """.trimIndent() + } + } + + // TODO: There are 2 implementations + Op("asinh", transformStrict) { + javaOpClass = "ASinh" + Doc(Language.ANY, DocScope.ALL){ + """ + Elementwise asinh (inverse hyperbolic sine) function: out = asinh(x) + """.trimIndent() + } + } + + Op("asum", reduceSame) { + javaOpClass = "ASum" + Doc(Language.ANY, DocScope.ALL){ + """ + Absolute sum array reduction operation, optionally along specified dimensions: out = sum(abs(x)) + """.trimIndent() + } + } + + Op("atan", transformStrict) { + javaOpClass = "ATan" + Doc(Language.ANY, DocScope.ALL){ + """ + Elementwise atan (arctangent, inverse tangent) operation: out = arctangent(x) + """.trimIndent() + } + } + + Op("atan2") {// TODO: We need to generate a constructor that includes SameDiff(). + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "ATan2" + Input(NUMERIC, "y") { description = "Input Y variable" } + Input(NUMERIC, "x") { description = "Input X variable" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Elementwise atan (arctangent, inverse tangent) operation: out = atan2(x,y). + Similar to atan(y/x) but sigts of x and y are used to determine the location of the result + """.trimIndent() + } + } + + Op("atanh", transformStrict) { + javaOpClass = "ATanh" + Doc(Language.ANY, DocScope.ALL){ + """ + Elementwise atanh (inverse hyperbolic tangent) function: out = atanh(x) + """.trimIndent() + } + } + + Op("ceil", transformSame) { + Doc(Language.ANY, DocScope.ALL){ + """ + Element-wise ceiling function: out = ceil(x). + Rounds each value up to the nearest integer value (if not already an integer) + """.trimIndent() + } + } + + Op("clipByNorm") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.clip" + val x = Input(NUMERIC, "x") { description = "Input variable" } + val clipValue = Arg(NUMERIC, "clipValue") { description = "Clipping value (maximum l2 norm)" } + Arg(INT, "dimensions"){ count = AtLeast(0); description = "Dimensions to reduce over. If dimensions are not specified, full array reduction is performed"} //; defaultValue = intArrayOf(0) } //TODO + Output(NUMERIC, "output"){ description = "Output variable" } + +// AllParamSignature(withOutput = false) +// Signature(x, clipValue) + Doc(Language.ANY, DocScope.ALL){ + """ + Clipping by L2 norm, optionally along dimension(s) + if l2Norm(x,dimension) < clipValue, then input is returned unmodifed + Otherwise, out[i] = in[i] * clipValue / l2Norm(in, dimensions) where each value is clipped according + to the corresponding l2Norm along the specified dimensions + """.trimIndent() + } + } + + Op("clipByValue") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.clip" + javaOpClass = "ClipByValue" + Input(NUMERIC, "x") { description = "Input variable" } + Arg(NUMERIC, "clipValueMin") { description = "Minimum value for clipping" } + Arg(NUMERIC, "clipValueMax") { description = "Maximum value for clipping" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Element-wise clipping function: + out[i] = in[i] if in[i] >= clipValueMin and in[i] <= clipValueMax + out[i] = clipValueMin if in[i] < clipValueMin + out[i] = clipValueMax if in[i] > clipValueMax + """.trimIndent() + } + } + + + Op("ClipByAvgNorm") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.clip" + javaOpClass = "ClipByAvgNorm" + Input(NUMERIC, "x") { description = "Input variable" } + Arg(NUMERIC, "clipValue") { description = "Value for clipping" } + Arg(INT, "dimensions"){ count = AtLeast(0); description = "Dimensions to reduce over"} + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Clips tensor values to a maximum average L2-norm. + """.trimIndent() + } + } + + //TODO consolidate these confusionMatrix ops into one? + Op("confusionMatrix") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "labels") { description = "Labels - 1D array of integer values representing label values" } + Input(NUMERIC, "pred") { description = "Predictions - 1D array of integer values representing predictions. Same length as labels" } + Arg(DATA_TYPE, "dataType") { description = "Data type" } + + Output(NUMERIC, "output"){ description = "variable (2D, shape [numClasses, numClasses})" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Compute the 2d confusion matrix of size [numClasses, numClasses] from a pair of labels and predictions, both of + which are represented as integer values. This version assumes the number of classes is 1 + max(max(labels), max(pred)) + For example, if labels = [0, 1, 1] and predicted = [0, 2, 1] then output is: + [1, 0, 0] + [0, 1, 1] + [0, 0, 0] + """.trimIndent() + } + } + + Op("confusionMatrix") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "labels") { description = "Labels - 1D array of integer values representing label values" } + Input(NUMERIC, "pred") { description = "Predictions - 1D array of integer values representing predictions. Same length as labels" } + Arg(INT, "numClasses") { description = "Number of classes" } + Output(NUMERIC, "output"){ description = "variable (2D, shape [numClasses, numClasses})" } + Doc(Language.ANY, DocScope.ALL){ + """ + Compute the 2d confusion matrix of size [numClasses, numClasses] from a pair of labels and predictions, both of + which are represented as integer values. + For example, if labels = [0, 1, 1], predicted = [0, 2, 1], and numClasses=4 then output is: + [1, 0, 0, 0] + [0, 1, 1, 0] + [0, 0, 0, 0] + [0, 0, 0, 0] + """.trimIndent() + } + } + + Op("confusionMatrix") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "labels") { description = "Labels - 1D array of integer values representing label values" } + Input(NUMERIC, "pred") { description = "Predictions - 1D array of integer values representing predictions. Same length as labels" } + Input(NUMERIC, "weights") { description = "Weights - 1D array of values (may be real/decimal) representing the weight/contribution of each prediction. Must be same length as both labels and predictions arrays" } + Output(NUMERIC, "output"){ description = "variable (2D, shape [numClasses, numClasses})" } + Doc(Language.ANY, DocScope.ALL){ + """ + Compute the 2d confusion matrix of size [numClasses, numClasses] from a pair of labels and predictions, both of + which are represented as integer values. This version assumes the number of classes is 1 + max(max(labels), max(pred)) + For example, if labels = [0, 1, 1], predicted = [0, 2, 1] and weights = [1, 2, 3] + [1, 0, 0] + [0, 3, 2] + [0, 0, 0] + """.trimIndent() + } + } + + Op("confusionMatrix") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "labels") { description = "Labels - 1D array of integer values representing label values" } + Input(NUMERIC, "pred") { description = "Predictions - 1D array of integer values representing predictions. Same length as labels" } + Arg(INT, "numClasses") { description = "" } + Input(NUMERIC, "weights") { description = "Weights - 1D array of values (may be real/decimal) representing the weight/contribution of each prediction. Must be same length as both labels and predictions arrays" } + Output(NUMERIC, "output"){ description = "Output variable (2D, shape [numClasses, numClasses})" } + Doc(Language.ANY, DocScope.ALL){ + """ + Compute the 2d confusion matrix of size [numClasses, numClasses] from a pair of labels and predictions, both of + which are represented as integer values. + For example, if labels = [0, 1, 1], predicted = [0, 2, 1], numClasses = 4, and weights = [1, 2, 3] + [1, 0, 0, 0] + [0, 3, 2, 0] + [0, 0, 0, 0] + [0, 0, 0, 0] + """.trimIndent() + } + } + + Op("cos", transformStrict) { + Doc(Language.ANY, DocScope.ALL){ + """ + Elementwise cosine operation: out = cos(x) + """.trimIndent() + } + } + + Op("cosh", transformStrict) { + Doc(Language.ANY, DocScope.ALL){ + """ + Elementwise cosh (hyperbolic cosine) operation: out = cosh(x) + """.trimIndent() + } + } + + Op("cosineDistance", reduce3) { + Doc(Language.ANY, DocScope.ALL){ + """ + Cosine distance reduction operation. The output contains the cosine distance for each + tensor/subset along the specified dimensions: + out = 1.0 - cosineSimilarity(x,y) + """.trimIndent() + } + } + + Op("cosineSimilarity", reduce3) { + Doc(Language.ANY, DocScope.ALL){ + """ + Cosine similarity pairwise reduction operation. The output contains the cosine similarity for each tensor/subset + along the specified dimensions: + out = (sum_i x[i] * y[i]) / ( sqrt(sum_i x[i]^2) * sqrt(sum_i y[i]^2) + """.trimIndent() + } + } + + Op("countNonZero", reduceLong) { + Doc(Language.ANY, DocScope.ALL){ + """ + Count non zero array reduction operation, optionally along specified dimensions: out = count(x != 0) + """.trimIndent() + } + } + + Op("countZero", reduceLong) { + Doc(Language.ANY, DocScope.ALL){ + """ + Count zero array reduction operation, optionally along specified dimensions: out = count(x == 0) + """.trimIndent() + } + } + + Op("cross") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "a") { description = "First input" } + Input(NUMERIC, "b") { description = "Second input" } + Output(NUMERIC, "output"){ description = "Element-wise cross product" } + Doc(Language.ANY, DocScope.ALL){ + """ + Returns the pair-wise cross product of equal size arrays a and b: a x b = ||a||x||b|| sin(theta). + Can take rank 1 or above inputs (of equal shapes), but note that the last dimension must have dimension 3 + """.trimIndent() + } + } + + Op("cube", transformSame) { + Doc(Language.ANY, DocScope.ALL){ + """ + Element-wise cube function: out = x^3 + """.trimIndent() + } + } + + Op("diag") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "x") { description = "Input variable" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Returns an output variable with diagonal values equal to the specified values; off-diagonal values will be set to 0 + For example, if input = [1,2,3], then output is given by: + [ 1, 0, 0] + [ 0, 2, 0] + [ 0, 0, 3] + + Higher input ranks are also supported: if input has shape [a,...,R-1] then output[i,...,k,i,...,k] = input[i,...,k]. + i.e., for input rank R, output has rank 2R + """.trimIndent() + } + } + + Op("diagPart") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "x") { description = "Input variable" } + Output(NUMERIC, "output"){ description = "Diagonal part of the input" } + Doc(Language.ANY, DocScope.ALL){ + """ + Extract the diagonal part from the input array. + If input is + [ 1, 0, 0] + [ 0, 2, 0] + [ 0, 0, 3] + then output is [1, 2, 3]. + Supports higher dimensions: in general, out[i,...,k] = in[i,...,k,i,...,k] + """.trimIndent() + } + } + + Op("div", transformArithmetic){ + javaOpClass = "DivOp" + Doc(Language.ANY, DocScope.ALL){ + """ + Pairwise division operation, out = x / y + """.trimIndent() + } + useMixin(broadcastingDoc) + } + + Op("div", scalar){ + javaOpClass = "ScalarDivision" + Doc(Language.ANY, DocScope.ALL){ + """ + Scalar division operation, out = in / scalar + """.trimIndent() + } + } + + Op("entropy", reduceFloating) { + Doc(Language.ANY, DocScope.ALL){ + """ + Entropy reduction: -sum(x * log(x)) + """.trimIndent() + } + } + + Op("erf", transformStrict) { + Doc(Language.ANY, DocScope.ALL){ + """ + Element-wise Gaussian error function - out = erf(in) + """.trimIndent() + } + } + + Op("erfc", transformStrict) { + Doc(Language.ANY, DocScope.ALL){ + """ + Element-wise complementary Gaussian error function - out = erfc(in) = 1 - erf(in) + """.trimIndent() + } + } + + Op("euclideanDistance", reduce3) { + Doc(Language.ANY, DocScope.ALL){ + """ + Euclidean distance (l2 norm, l2 distance) reduction operation. The output contains the Euclidean distance for each + tensor/subset along the specified dimensions: + out = sqrt( sum_i (x[i] - y[i])^2 ) + """.trimIndent() + } + } + + Op("exp", transformStrict) { + Doc(Language.ANY, DocScope.ALL){ + """ + Elementwise exponent function: out = exp(x) = 2.71828...^x + """.trimIndent() + } + } + + Op("expm1", transformStrict) { + Doc(Language.ANY, DocScope.ALL){ + """ + Elementwise 1.0 - exponent function: out = 1.0 - exp(x) = 1.0 - 2.71828...^x + """.trimIndent() + } + } + + //TODO consolidate eye ops into one and use different signatures? + Op("eye") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Arg(INT, "rows") { description = "Number of rows" } + Output(NUMERIC, "output"){ description = "Identity matrix" } + Doc(Language.ANY, DocScope.ALL){ + """ + Generate an identity matrix with the specified number of rows and columns. + """.trimIndent() + } + } + + Op("eye") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Arg(INT, "rows") { description = "Number of rows" } + Arg(INT, "cols") { description = "Number of columns" } + Output(NUMERIC, "output"){ description = "" } + Doc(Language.ANY, DocScope.ALL){ + """ + As per eye(String, int, int, DataType) but with the default datatype, Eye.DEFAULT_DTYPE + """.trimIndent() + } + } + + Op("eye") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Arg(INT, "rows") { description = "Number of rows" } + Arg(INT, "cols") { description = "Number of columns" } + Arg(DATA_TYPE, "dataType") { description = "Data type" } //TODO: Mapped DataType to INT. + Arg(DataType.INT, "dimensions"){ count = AtLeast(0)} + Output(NUMERIC, "output"){ description = "Identity matrix" } + Doc(Language.ANY, DocScope.ALL){ + """ + Generate an identity matrix with the specified number of rows and columns + Example: +
+                {@code %INPUT_TYPE% eye = eye(3,2)
+                eye:
+                [ 1, 0]
+                [ 0, 1]
+                [ 0, 0]}
+                
+ """.trimIndent() + } + } + + Op("eye") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(INT, "rows") { description = "Number of rows" } + Input(INT, "cols") { description = "Number of columns" } + Output(NUMERIC, "output"){ description = "Identity matrix" } + Doc(Language.ANY, DocScope.ALL){ + """ + As per eye(int, int) bit with the number of rows/columns specified as scalar %INPUT_TYPE%s + """.trimIndent() + } + } + + Op("eye") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(INT, "rows") { description = "Number of rows" } + Output(NUMERIC, "output"){ description = "SDVaribable identity matrix" } + Doc(Language.ANY, DocScope.ALL){ + """ + As per eye(String, int) but with the number of rows specified as a scalar %INPUT_TYPE% + """.trimIndent() + } + } + + Op("firstIndex", indexAccum, keepSignatures=false) { + var c = Arg(CONDITION, "condition") { description = "Condition to check on input variable" } + Signature(this.inputs.get(0), c, this.args.get(1)) //in, condition, dimensions - for vararg + Signature(this.inputs.get(0), c, this.args.get(0), this.args.get(1)) //in, condition, keepDims, dimensions + + Doc(Language.ANY, DocScope.ALL){ + """ + First index reduction operation. + Returns a variable that contains the index of the first element that matches the specified condition (for each + slice along the specified dimensions) + Note that if keepDims = true, the output variable has the same rank as the input variable, + with the reduced dimensions having size 1. This can be useful for later broadcast operations (such as subtracting + the mean along a dimension). + Example: if input has shape [a,b,c] and dimensions=[1] then output has shape: + keepDims = true: [a,1,c] + keepDims = false: [a,c] + """.trimIndent() + } + } + + Op("floor", transformSame) { + Doc(Language.ANY, DocScope.ALL){ + """ + Element-wise floor function: out = floor(x). + Rounds each value down to the nearest integer value (if not already an integer) + """.trimIndent() + } + } + + Op("floorDiv", transformArithmetic){ + javaOpClass = "FloorDivOp" + Doc(Language.ANY, DocScope.ALL){ + """ + Pairwise floor division operation, out = floor(x / y) + """.trimIndent() + } + useMixin(broadcastingDoc) + } + + Op("floorMod", transformArithmetic){ + javaOpClass = "FloorModOp" + Doc(Language.ANY, DocScope.ALL){ + """ + Pairwise Modulus division operation + """.trimIndent() + } + useMixin(broadcastingDoc) + } + + Op("floorMod", scalar){ + javaOpClass = "ScalarFMod" + Doc(Language.ANY, DocScope.ALL){ + """ + Scalar floor modulus operation + """.trimIndent() + } + } + + Op("hammingDistance", reduce3) { + Doc(Language.ANY, DocScope.ALL){ + """ + Hamming distance reduction operation. The output contains the cosine distance for each + tensor/subset along the specified dimensions: + out = count( x[i] != y[i] ) + """.trimIndent() + } + } + + Op("iamax", indexAccumCustom) { + javaOpClass = "ArgMax" + //Signature(in, dimensions) + Doc(Language.ANY, DocScope.ALL){ + """ + Index of the max absolute value: argmax(abs(in)) + see argmax(String, %INPUT_TYPE%, boolean, int...) + """.trimIndent() + } + } + + Op("iamin", indexAccumCustom) { + javaOpClass = "ArgMin" + Doc(Language.ANY, DocScope.ALL){ + """ + Index of the min absolute value: argmin(abs(in)) + see argmin(String, %INPUT_TYPE%, boolean, int...) + """.trimIndent() + } + } + + Op("isFinite", transformBool) { + Doc(Language.ANY, DocScope.ALL){ + """ + Is finite operation: elementwise isFinite(x) + Returns an array with the same shape/size as the input, with values 1 where condition is satisfied, or + value 0 otherwise + """.trimIndent() + } + } + + Op("isInfinite", transformBool) { + javaOpClass = "IsInf" + Doc(Language.ANY, DocScope.ALL){ + """ + Is infinite operation: elementwise isInfinite(x) + Returns an array with the same shape/size as the input, with values 1 where condition is satisfied, or + value 0 otherwise + """.trimIndent() + } + } + + Op("isMax", transformAny) { + legacy = false + Doc(Language.ANY, DocScope.ALL){ + """ + Is maximum operation: elementwise x == max(x) + Returns an array with the same shape/size as the input, with values 1 where condition is satisfied, or + value 0 otherwise + """.trimIndent() + } + } + + Op("isNaN", transformBool) { + Doc(Language.ANY, DocScope.ALL){ + """ + Is Not a Number operation: elementwise isNaN(x) + Returns an array with the same shape/size as the input, with values 1 where condition is satisfied, or + value 0 otherwise + """.trimIndent() + } + } + + Op("isNonDecreasing") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + Input(NUMERIC, "x") { description = "Input variable" } + Output(NUMERIC, "output"){ description = "Scalar variable with value 1 if non-decreasing, or 0 otherwise" } + Doc(Language.ANY, DocScope.ALL){ + """ + Is the array non decreasing? + An array is non-decreasing if for every valid i, x[i] <= x[i+1]. For Rank 2+ arrays, values are compared + in 'c' (row major) order + """.trimIndent() + } + } + + Op("isStrictlyIncreasing") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + Input(NUMERIC, "x") { description = "Input variable" } + Output(NUMERIC, "output"){ description = "Scalar variable with value 1 if strictly increasing, or 0 otherwise" } + Doc(Language.ANY, DocScope.ALL){ + """ + Is the array strictly increasing? + An array is strictly increasing if for every valid i, x[i] < x[i+1]. For Rank 2+ arrays, values are compared + in 'c' (row major) order + """.trimIndent() + } + } + + Op("jaccardDistance", reduce3) { + Doc(Language.ANY, DocScope.ALL){ + """Jaccard similarity reduction operation. The output contains the Jaccard distance for each + tensor along the specified dimensions. + """.trimIndent() + } + } + + Op("lastIndex", indexAccum, keepSignatures=false) { + var c = Arg(CONDITION, "condition") { description = "Condition to check on input variable" } + Signature(this.inputs.get(0), c, this.args.get(1)) //in, condition, dimensions - for vararg + Signature(this.inputs.get(0), c, this.args.get(0), this.args.get(1)) //in, condition, keepDims, dimensions + Doc(Language.ANY, DocScope.ALL){ + """ + Last index reduction operation. + Returns a variable that contains the index of the last element that matches the specified condition (for each + slice along the specified dimensions) + Note that if keepDims = true, the output variable has the same rank as the input variable, + with the reduced dimensions having size 1. This can be useful for later broadcast operations (such as subtracting + the mean along a dimension). + Example: if input has shape [a,b,c] and dimensions=[1] then output has shape: + keepDims = true: [a,1,c] + keepDims = false: [a,c] + """.trimIndent() + } + } + + Op("log", transformStrict) { + Doc(Language.ANY, DocScope.ALL){ + """ + Element-wise logarithm function (base e - natural logarithm): out = log(x) + """.trimIndent() + } + } + + Op("log", transformStrict) { + javaOpClass = "LogX" + javaPackage = "org.nd4j.linalg.api.ops.impl.scalar" + Arg(NUMERIC, "base") { description = "Logarithm base" } + Doc(Language.ANY, DocScope.ALL){ + """ + Element-wise logarithm function (with specified base): out = log_{base}(x) + """.trimIndent() + } + } + + Op("log1p", transformStrict) { + Doc(Language.ANY, DocScope.ALL){ + """ + Elementwise natural logarithm function: out = log_e (1 + x) + """.trimIndent() + } + } + + Op("logEntropy", reduceFloating) { + Doc(Language.ANY, DocScope.ALL){ + """ + Log entropy reduction: log(-sum(x * log(x))) + """.trimIndent() + } + } + + Op("logSumExp") { + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce.custom" + Input(NUMERIC, "input") { description = "Input variable" } + Arg(INT, "dimensions"){ count = AtLeast(0); description = "Optional dimensions to reduce along" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Log-sum-exp reduction (optionally along dimension). + Computes log(sum(exp(x)) + """.trimIndent() + } + } + + Op("manhattanDistance", reduce3) { + Doc(Language.ANY, DocScope.ALL){ + """ + Manhattan distance (l1 norm, l1 distance) reduction operation. The output contains the Manhattan distance for each + tensor/subset along the specified dimensions: + out = sum_i abs(x[i]-y[i]) + """.trimIndent() + } + } + + Op("matrixDeterminant") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + Input(NUMERIC, "in") { description = "Input" } + Output(NUMERIC, "output"){ description = "Matrix determinant variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Matrix determinant op. For 2D input, this returns the standard matrix determinant. + For higher dimensional input with shape [..., m, m] the matrix determinant is returned for each + shape [m,m] sub-matrix. + """.trimIndent() + } + } + + Op("matrixInverse") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + Input(NUMERIC, "in") { description = "Input" } + Output(NUMERIC, "output"){ description = "Matrix inverse variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Matrix inverse op. For 2D input, this returns the standard matrix inverse. + For higher dimensional input with shape [..., m, m] the matrix inverse is returned for each + shape [m,m] sub-matrix. + """.trimIndent() + } + } + + Op("mergeAdd") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.pairwise.arithmetic" + javaOpClass = "MergeAddOp" + Input(NUMERIC, "inputs"){ count = AtLeast(1); description = "Input variables" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Merge add function: merges an arbitrary number of equal shaped arrays using element-wise addition: + out = sum_i in[i] + """.trimIndent() + } + } + + Op("mergeAvg") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "inputs"){ count = AtLeast(1); description = "Input variables" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Merge average function: merges an arbitrary number of equal shaped arrays using element-wise mean operation: + out = mean_i in[i] + """.trimIndent() + } + } + + Op("mergeMax") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "inputs"){ count = AtLeast(1); description = "Input variables" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Merge max function: merges an arbitrary number of equal shaped arrays using element-wise maximum operation: + out = max_i in[i] + """.trimIndent() + } + } + + Op("mod", transformArithmetic){ + javaOpClass = "ModOp" + Doc(Language.ANY, DocScope.ALL){ + """ + Pairwise modulus (remainder) operation, out = x % y + """.trimIndent() + } + useMixin(broadcastingDoc) + } + + Op("moments") { + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce" + Input(NUMERIC, "input") { description = "Input to calculate moments for" } + Arg(INT, "axes"){ count = AtLeast(0); description = "Dimensions to perform calculation over" } + Output(NUMERIC, "output_mean"){ description = "Mean variable" } + Output(NUMERIC, "output_variance"){ description = "Variance variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Calculate the mean and (population) variance for the input variable, for the specified axis + """.trimIndent() + } + } + + Op("neg", transformSame) { + javaOpClass = "Negative" + Doc(Language.ANY, DocScope.ALL){ + """ + Elementwise negative operation: out = -x + """.trimIndent() + } + } + + Op("normalizeMoments") { + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce" + Input(NUMERIC, "counts") { description = "Rank 0 (scalar) value with the total number of values used to calculate the sufficient statistics" } + Input(NUMERIC, "means") { description = "Mean-value sufficient statistics: this is the SUM of all data values" } + Input(NUMERIC, "variances") { description = "Variaance sufficient statistics: this is the squared sum of all data values" } + Arg(NUMERIC, "shift") { description = "Shift value, possibly 0, used when calculating the sufficient statistics (for numerical stability)" } + Output(NUMERIC, "output_mean"){ description = "Mean variable" } + Output(NUMERIC, "output_population"){ description = "Population variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Calculate the mean and variance from the sufficient statistics + """.trimIndent() + } + } + + Op("or") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.pairwise.bool" + Input(BOOL, "x") { description = "Input 1" } + Input(BOOL, "y") { description = "Input 2" } + Output(BOOL, "output"){ description = "%INPUT_TYPE% with values 0 and 1 based on where the condition is satisfied" } + legacy = true + Doc(Language.ANY, DocScope.ALL){ + """ + Boolean OR operation: elementwise (x != 0) || (y != 0) + If x and y arrays have equal shape, the output shape is the same as these inputs. + Note: supports broadcasting if x and y have different shapes and are broadcastable. + Returns an array with values 1 where condition is satisfied, or value 0 otherwise. + """.trimIndent() + } + } + + Op("pow", scalar) { + Doc(Language.ANY, DocScope.ALL){ + """ + Element-wise power function: out = x^value + """.trimIndent() + } + } + + Op("pow") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + Input(NUMERIC, "x") { description = "Input variable" } + Input(NUMERIC, "y") { description = "Power" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Element-wise (broadcastable) power function: out = x[i]^y[i] + """.trimIndent() + } + } + + Op("rationalTanh", transformStrict) { + Doc(Language.ANY, DocScope.ALL){ + """ + Rational Tanh Approximation elementwise function, as described in the paper: + Compact Convolutional Neural Network Cascade for Face Detection + This is a faster Tanh approximation + """.trimIndent() + } + } + + Op("rectifiedTanh", transformStrict) { + Doc(Language.ANY, DocScope.ALL){ + """ + Rectified tanh operation: max(0, tanh(in)) + """.trimIndent() + } + } + + Op("reciprocal", transformSame) { + Doc(Language.ANY, DocScope.ALL){ + """ + Element-wise reciprocal (inverse) function: out[i] = 1 / in[i] + """.trimIndent() + } + } + + Op("rdiv", transformArithmetic){ + javaOpClass = "RDivOp" + Doc(Language.ANY, DocScope.ALL){ + """ + Pairwise reverse division operation, out = y / x + """.trimIndent() + } + useMixin(broadcastingDoc) + } + + Op("rdiv", scalar){ + javaOpClass = "ScalarReverseDivision" + Doc(Language.ANY, DocScope.ALL){ + """ + Scalar reverse division operation, out = scalar / in + """.trimIndent() + } + } + + Op("round", transformSame) { + Doc(Language.ANY, DocScope.ALL){ + """ + Element-wise round function: out = round(x). + Rounds (up or down depending on value) to the nearest integer value. + """.trimIndent() + } + } + + Op("rsqrt", transformFloating) { + javaOpClass = "RSqrt" + Doc(Language.ANY, DocScope.ALL){ + """ + Element-wise reciprocal (inverse) of square root: out = 1.0 / sqrt(x) + """.trimIndent() + } + } + + Op("rsub", transformArithmetic){ + javaOpClass = "RSubOp" + Doc(Language.ANY, DocScope.ALL){ + """ + Pairwise reverse subtraction operation, out = y - x + """.trimIndent() + } + useMixin(broadcastingDoc) + } + + Op("rsub", scalar){ + javaOpClass = "ScalarReverseSubtraction" + Doc(Language.ANY, DocScope.ALL){ + """ + Scalar reverse subtraction operation, out = scalar - in + """.trimIndent() + } + } + + + Op("setDiag") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "MatrixSetDiag" + Input(NUMERIC, "in") { description = "Input variable" } + Input(NUMERIC, "diag") { description = "Diagonal" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Set the diagonal value to the specified values + If input is + [ a, b, c] + [ d, e, f] + [ g, h, i] + and diag = [ 1, 2, 3] then output is + [ 1, b, c] + [ d, 2, f] + [ g, h, 3] + """.trimIndent() + } + } + + Op("shannonEntropy", reduceFloating) { + Doc(Language.ANY, DocScope.ALL){ + """ + Shannon Entropy reduction: -sum(x * log2(x)) + """.trimIndent() + } + } + + Op("sign", transformSame) { + Doc(Language.ANY, DocScope.ALL){ + """ + Element-wise sign (signum) function: + out = -1 if in < 0 + out = 0 if in = 0 + out = 1 if in > 0 + """.trimIndent() + } + } + + Op("sin", transformStrict) { + Doc(Language.ANY, DocScope.ALL){ + """ + Elementwise sine operation: out = sin(x) + """.trimIndent() + } + } + + Op("sinh", transformStrict) { + Doc(Language.ANY, DocScope.ALL){ + """ + Elementwise sinh (hyperbolic sine) operation: out = sinh(x) + """.trimIndent() + } + } + + Op("sqrt", transformFloating) { + Doc(Language.ANY, DocScope.ALL){ + """ + Element-wise square root function: out = sqrt(x) + """.trimIndent() + } + } + + Op("square", transformSame) { + Doc(Language.ANY, DocScope.ALL){ + """ + Element-wise square function: out = x^2 + """.trimIndent() + } + } + + Op("squaredDifference", transformArithmetic) { + javaOpClass = "SquaredDifferenceOp" + Doc(Language.ANY, DocScope.ALL){ + """ + Pairwise squared difference operation. + """.trimIndent() + } + useMixin(broadcastingDoc) + } + + Op("step", scalar) { + Doc(Language.ANY, DocScope.ALL){ + """ + Elementwise step function: + out(x) = 1 if x >= cutoff + out(x) = 0 otherwise + """.trimIndent() + } + } + + Op("standardize") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + Input(NUMERIC, "x") { description = "Input variable" } + Arg(INT, "dimensions"){ count = AtLeast(1); description = "" } //TODO: Missing description for dimension. + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Standardize input variable along given axis +

+ out = (x - mean) / stdev +

+ with mean and stdev being calculated along the given dimension. +

+ For example: given x as a mini batch of the shape [numExamples, exampleLength]: +

    +
  • use dimension 1 too use the statistics (mean, stdev) for each example
  • +
  • use dimension 0 if you want to use the statistics for each column across all examples
  • +
  • use dimensions 0,1 if you want to use the statistics across all columns and examples
  • +
+ """.trimIndent() + } + } + + Op("sub", transformArithmetic){ + javaOpClass = "SubOp" + Doc(Language.ANY, DocScope.ALL){ + """ + Pairwise subtraction operation, out = x - y + """.trimIndent() + } + useMixin(broadcastingDoc) + } + + Op("sub", scalar){ + javaOpClass = "ScalarSubtraction" + Doc(Language.ANY, DocScope.ALL){ + """ + Scalar subtraction operation, out = in - scalar + """.trimIndent() + } + } + + Op("tan", transformStrict) { + Doc(Language.ANY, DocScope.ALL){ + """ + Elementwise tangent operation: out = tan(x) + """.trimIndent() + } + } + + Op("tanh", transformStrict) { + Doc(Language.ANY, DocScope.ALL){ + """ + Elementwise tanh (hyperbolic tangent) operation: out = tanh(x) + """.trimIndent() + } + } + + Op("trace") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + Input(NUMERIC, "in") { description = "Input variable" } + Output(NUMERIC, "output"){ description = "Trace" } + Doc(Language.ANY, DocScope.ALL){ + """ + Matrix trace operation + For rank 2 matrices, the output is a scalar vith the trace - i.e., sum of the main diagonal. + For higher rank inputs, output[a,b,c] = trace(in[a,b,c,:,:]) + """.trimIndent() + } + } + + Op("xor") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.pairwise.bool" + legacy = true + Input(BOOL, "x") { description = "Input 1" } + Input(BOOL, "y") { description = "Input 2" } + Output(BOOL, "output"){ description = "%INPUT_TYPE% with values 0 and 1 based on where the condition is satisfied" } + Doc(Language.ANY, DocScope.ALL){ + """ + Boolean XOR (exclusive OR) operation: elementwise (x != 0) XOR (y != 0) + If x and y arrays have equal shape, the output shape is the same as these inputs. + Note: supports broadcasting if x and y have different shapes and are broadcastable. + Returns an array with values 1 where condition is satisfied, or value 0 otherwise. + """.trimIndent() + } + } + + Op("zeroFraction") { + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce" + Input(NUMERIC, "input") { description = "Input variable" } + Output(NUMERIC, "output"){ description = "Reduced array of rank 0 (scalar)" } + Doc(Language.ANY, DocScope.ALL){ + """ + Full array zero fraction array reduction operation, optionally along specified dimensions: out = (count(x == 0) / length(x)) + """.trimIndent() + } + } + + Op("listDiff") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + Input(NUMERIC, "x") { description = "Input variable X" } + Input(NUMERIC, "y") { description = "Input variable Y" } + Output(NUMERIC, "output1"){ description = "Calculated difference between X and Y" } + Output(NUMERIC, "output2"){ description = "Calculated difference between X and Y" } + Doc(Language.ANY, DocScope.ALL){ + """ + Calculates difference between inputs X and Y. + """.trimIndent() + } + } + + Op("max", transformCustom2){ + javaOpClass = "Max" + Doc(Language.ANY, DocScope.ALL){ + """ + Pairwise max operation, out = max(x, y) + """.trimIndent() + } + useMixin(broadcastingDoc) + } + + Op("meshgrid") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + javaOpClass = "MeshGrid" + Arg(BOOL, "cartesian") + Input(NUMERIC, "inputs") { count = AtLeast(0) } + + Output(NUMERIC, "output1"){ description = "Output array" } + Output(NUMERIC, "output2"){ description = "Output array" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Broadcasts parameters for evaluation on an N-D grid. + """.trimIndent() + } + } + + Op("min", transformCustom2){ + javaOpClass = "Min" + Doc(Language.ANY, DocScope.ALL){ + """ + Pairwise max operation, out = min(x, y) + """.trimIndent() + } + useMixin(broadcastingDoc) + } + + Op("mul", transformArithmetic){ + javaOpClass = "MulOp" + Doc(Language.ANY, DocScope.ALL){ + """ + Pairwise multiplication operation, out = x * y + """.trimIndent() + } + useMixin(broadcastingDoc) + } + + Op("mul", scalar){ + javaOpClass = "ScalarMultiplication" + Doc(Language.ANY, DocScope.ALL){ + """ + Scalar multiplication operation, out = in * scalar + """.trimIndent() + } + } + + Op("bitShift") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "ShiftBits" + Input(NUMERIC, "x") {description = "input"} + Input(NUMERIC, "shift") {description = "shift value"} + Output(NUMERIC, "output") {description = "shifted output"} + + Doc(Language.ANY, DocScope.ALL){ + """ + Bit shift operation + """.trimIndent() + } + } + + Op("bitShiftRight") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "RShiftBits" + Input(NUMERIC, "x") {description = "Input tensor"} + Input(NUMERIC, "shift") {description = "shift argument"} + Output(NUMERIC, "output") {description = "shifted output"} + + Doc(Language.ANY, DocScope.ALL){ + """ + Right bit shift operation + """.trimIndent() + } + } + + Op("bitShiftRotl") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "CyclicShiftBits" + Input(NUMERIC, "x") {description = "Input tensor"} + Input(NUMERIC, "shift") {description = "shift argy=ument"} + Output(NUMERIC, "output") {description = "shifted output"} + + Doc(Language.ANY, DocScope.ALL){ + """ + Cyclic bit shift operation + """.trimIndent() + } + } + + Op("bitShiftRotr") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "CyclicRShiftBits" + Input(NUMERIC, "x") {description = "Input tensor"} + Input(NUMERIC, "shift") {description = "Shift argument"} + Output(NUMERIC, "output") {description = "Shifted output"} + + Doc(Language.ANY, DocScope.ALL){ + """ + Cyclic right shift operation + """.trimIndent() + } + } + + Op("EmbeddingLookup") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape.tensorops" + javaOpClass = "EmbeddingLookup" + Input(NUMERIC, "x") {description = "Input tensor"} + Input(INT, "indices") {description = "A Tensor containing the ids to be looked up."} + Arg(ENUM, "PartitionMode") { possibleValues = listOf( "MOD","DIV"); description ="partition_mode == 0 - i.e. 'mod' , 1 - 'div'"} + Output(NUMERIC, "output") {description = "Shifted output"} + + Doc(Language.ANY, DocScope.ALL){ + """ + Looks up ids in a list of embedding tensors. + + """.trimIndent() + } + } + + Op("MergeMaxIndex") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + javaOpClass = "MergeMaxIndex" + Input(NUMERIC, "x") {count = AtLeast(1); description = "Input tensor"} + Arg(DATA_TYPE, "dataType") { description = "Data type"; defaultValue = org.nd4j.linalg.api.buffer.DataType.INT } + Output(INT, "output") {description = "Array max elements indices with along dimensions."} + + Doc(Language.ANY, DocScope.ALL){ + """ + Return array of max elements indices with along tensor dimensions + """.trimIndent() + } + } +} diff --git a/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/NeuralNetwork.kt b/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/NeuralNetwork.kt new file mode 100644 index 000000000..0f974682f --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/NeuralNetwork.kt @@ -0,0 +1,529 @@ +package org.nd4j.codegen.ops + +import org.nd4j.codegen.api.AtLeast +import org.nd4j.codegen.api.DataType.* +import org.nd4j.codegen.api.Language +import org.nd4j.codegen.api.doc.DocScope +import org.nd4j.codegen.dsl.* +import org.nd4j.codegen.mixins.transformStrict + +fun NN() = Namespace("NN") { + val convPkg = "org.nd4j.linalg.api.ops.impl.layers.convolution" + + Op("batchNorm") { + javaPackage = convPkg + Input(NUMERIC, "input") { description = "Input variable." } + Input(NUMERIC, "mean") { description = "Mean value. For 1d axis, this should match input.size(axis)" } + Input(NUMERIC, "variance") { description = "Variance value. For 1d axis, this should match input.size(axis)" } + Input(NUMERIC, "gamma") { description = "Gamma value. For 1d axis, this should match input.size(axis)" } + Input(NUMERIC, "beta") { description = "Beta value. For 1d axis, this should match input.size(axis)" } + Arg(NUMERIC, "epsilon") { description = "Epsilon constant for numerical stability (to avoid division by 0)" } + Arg(INT, "axis") { + count = AtLeast(1) + description = "For 2d CNN activations: 1 for NCHW format activations, or 3 for NHWC format activations.\n" + + "For 3d CNN activations: 1 for NCDHW format, 4 for NDHWC\n" + + "For 1d/RNN activations: 1 for NCW format, 2 for NWC" + } + + Output(NUMERIC, "output") { description = "variable for batch normalization" } + + Doc(Language.ANY, DocScope.ALL) { + """ + Neural network batch normalization operation. + For details, see https://arxiv.org/abs/1502.03167 + """.trimIndent() + } + } + + Op("biasAdd") { + javaPackage = "org.nd4j.linalg.api.ops.impl.broadcast" + Input(NUMERIC, "input") { description = "4d input variable" } + Input(NUMERIC, "bias") { description = "1d bias" } + Arg(BOOL, "nchw") { description = "The format - nchw=true means [minibatch, channels, height, width] format; nchw=false - [minibatch, height, width, channels].\n" + + "Unused for 2d inputs" } + + Output(NUMERIC, "output") { description = "Output variable, after applying bias add operation" } + + Doc(Language.ANY, DocScope.ALL) { + """ + Bias addition operation: a special case of addition, typically used with CNN 4D activations and a 1D bias vector + """.trimIndent() + } + } + + Op("dropout") { + javaPackage = "org.nd4j.linalg.api.ops.random.impl" + javaOpClass = "DropOut" + legacy = true + Input(NUMERIC, "input") { description = "Input array" } + Arg(NUMERIC, "inputRetainProbability") { description = "Probability of retaining an input (set to 0 with probability 1-p)" } + + Output(NUMERIC, "output") { description = "Output" } + + Doc(Language.ANY, DocScope.ALL) { + """ + Dropout operation + """.trimIndent() + } + } + + Op("elu", transformStrict) { + javaOpClass = "ELU" + legacy = false + Doc(Language.ANY, DocScope.ALL) { + """ + Element-wise exponential linear unit (ELU) function: + out = x if x > 0 + out = a * (exp(x) - 1) if x <= 0 + with constant a = 1.0 +

+ See: https://arxiv.org/abs/1511.07289 + """.trimIndent() + } + } + + Op("gelu", transformStrict) { + javaOpClass = "GELU" + + Doc(Language.ANY, DocScope.ALL) { + """ + GELU activation function - Gaussian Error Linear Units + For more details, see Gaussian Error Linear Units (GELUs) - https://arxiv.org/abs/1606.08415 + This method uses the sigmoid approximation + """.trimIndent() + } + } + + Op("hardSigmoid", transformStrict) { + Doc(Language.ANY, DocScope.ALL) { + """ + Element-wise hard sigmoid function: + out[i] = 0 if in[i] <= -2.5 + out[1] = 0.2*in[i]+0.5 if -2.5 < in[i] < 2.5 + out[i] = 1 if in[i] >= 2.5 + """.trimIndent() + } + } + + Op("hardTanh", transformStrict) { + Doc(Language.ANY, DocScope.ALL) { + """ + Element-wise hard tanh function: + out[i] = -1 if in[i] <= -1 + out[1] = in[i] if -1 < in[i] < 1 + out[i] = 1 if in[i] >= 1 + """.trimIndent() + } + } + + Op("hardTanhDerivative") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.gradient" + legacy = true + Input(NUMERIC, "x") { description = "Input variable" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL) { + """ + Derivative (dOut/dIn) of the element-wise hard Tanh function - hardTanh(%INPUT_TYPE%) + """.trimIndent() + } + } + + Op("leakyRelu") { + javaPackage = "org.nd4j.linalg.api.ops.impl.scalar" + javaOpClass = "LeakyReLU" + legacy = true + Input(NUMERIC, "x") { description = "Input variable" } + Arg(NUMERIC, "alpha") { description = "Cutoff - commonly 0.01" } + + Output(NUMERIC, "output") { description = "Output variable" } + + Doc(Language.ANY, DocScope.ALL) { + """ + Element-wise leaky ReLU function: + out = x if x >= 0.0 + out = alpha * x if x < cutoff + Alpha value is most commonly set to 0.01 + """.trimIndent() + } + } + + Op("leakyReluDerivative") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.gradient" + javaOpClass = "LeakyReLUDerivative" + legacy = true + Input(NUMERIC, "x") { description = "Input variable" } + Arg(FLOATING_POINT, "alpha") { description = "Cutoff - commonly 0.01" } + + Output(NUMERIC, "output") { description = "Output variable" } + + Doc(Language.ANY, DocScope.ALL) { + """ + Leaky ReLU derivative: dOut/dIn given input. + """.trimIndent() + } + } + + Op("CReLU") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "CReLU" + Input(NUMERIC, "x") { description = "Input variable" } + Output(NUMERIC, "output") { description = "Output variable" } + + Doc(Language.ANY, DocScope.ALL) { + """ + Concatenates a ReLU which selects only the positive part of the activation with a ReLU which selects only the negative part of the activation. Note that as a result this non-linearity doubles the depth of the activations. + """.trimIndent() + } + } + + Op("linear") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "XwPlusB" + Input(NUMERIC, "input") { description = "Input data" } + Input(NUMERIC, "weights") { description = "Weights variable, shape [nIn, nOut]" } + Input(NUMERIC, "bias") { description = "Optional bias variable (may be null)" /*; optional = true*/ } + + Output(NUMERIC, "output") { description = "Output variable" } + + Doc(Language.ANY, DocScope.ALL) { + """ + Linear layer operation: out = mmul(in,w) + bias + Note that bias array is optional + """.trimIndent() + } + } + + Op("logSigmoid", transformStrict) { + Doc(Language.ANY, DocScope.ALL) { + """ + Element-wise sigmoid function: out[i] = log(sigmoid(in[i])) + """.trimIndent() + } + } + + Op("logSoftmax") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "LogSoftMax" + Input(NUMERIC, "x") { description = "" } + Output(NUMERIC, "output") { description = "" } + Doc(Language.ANY, DocScope.ALL) { + """ + Log softmax activation + """.trimIndent() + } + } + + Op("logSoftmax") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "LogSoftMax" + Input(NUMERIC, "x") { description = "Input" } + Arg(INT, "dimension") { description = "Dimension along which to apply log softmax" } + Output(NUMERIC, "output") { description = "Output - log(softmax(input))" } + + Doc(Language.ANY, DocScope.ALL) { + """ + Log softmax activation + """.trimIndent() + } + } + + Op("relu") { + javaPackage = "org.nd4j.linalg.api.ops.impl.scalar" + javaOpClass = "RectifiedLinear" + legacy = true + Input(NUMERIC, "x") { description = "Input" } + Arg(NUMERIC, "cutoff") { description = "Cutoff value for ReLU operation - x > cutoff ? x : 0. Usually 0" } + Output(NUMERIC, "output") { description = "Output" } + + Doc(Language.ANY, DocScope.ALL) { + """ + Element-wise rectified linear function with specified cutoff: + out[i] = in[i] if in[i] >= cutoff + out[i] = 0 otherwise + """.trimIndent() + } + } + + Op("relu6") { + javaPackage = "org.nd4j.linalg.api.ops.impl.scalar" + legacy = true + Input(NUMERIC, "x") { description = "Input" } + Arg(NUMERIC, "cutoff") { description = "Cutoff value for ReLU operation. Usually 0" } + Output(NUMERIC, "output") { description = "Output" } + + Doc(Language.ANY, DocScope.ALL) { + """ + Element-wise "rectified linear 6" function with specified cutoff: + out[i] = min(max(in, cutoff), 6) + """.trimIndent() + } + } + + Op("reluLayer") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms" + Input(NUMERIC, "input") { description = "Input data" } + Input(NUMERIC, "weights") { description = "Weights variable" } + Input(NUMERIC, "bias") { description = "Optional bias variable (may be null)" /*; optional = true*/ } + Output(NUMERIC, "output") { description = "Output variable" } + + Doc(Language.ANY, DocScope.ALL) { + """ + ReLU (Rectified Linear Unit) layer operation: out = relu(mmul(in,w) + bias) + Note that bias array is optional + """.trimIndent() + } + } + + Op("preciseGelu", transformStrict) { + javaOpClass = "PreciseGELU" + + Doc(Language.ANY, DocScope.ALL) { + """ + GELU activation function - Gaussian Error Linear Units + For more details, see Gaussian Error Linear Units (GELUs) - https://arxiv.org/abs/1606.08415 + This method uses the precise method + """.trimIndent() + } + } + + Op("prelu") { + javaPackage = "org.nd4j.linalg.api.ops.impl.scalar" + javaOpClass = "PRelu" + Input(NUMERIC, "input") { description = "Input data" } + Input(NUMERIC, "alpha") { description = "The cutoff variable. Note that the batch dimension (the 0th, whether it is batch or not) should not be part of alpha." } + Arg(INT, "sharedAxes") { count = AtLeast(1); description = "Which axes to share cutoff parameters along." } + + Output(NUMERIC, "output") { description = "Output" } + + Doc(Language.ANY, DocScope.ALL) { + """ + PReLU (Parameterized Rectified Linear Unit) operation. Like LeakyReLU with a learnable alpha: + out[i] = in[i] if in[i] >= 0 + out[i] = in[i] * alpha[i] otherwise + + sharedAxes allows you to share learnable parameters along axes. + For example, if the input has shape [batchSize, channels, height, width] + and you want each channel to have its own cutoff, use sharedAxes = [2, 3] and an + alpha with shape [channels]. + """.trimIndent() + } + } + + Op("selu", transformStrict) { + javaOpClass = "SELU" + Doc(Language.ANY, DocScope.ALL) { + """ + Element-wise SeLU function - Scaled exponential Lineal Unit: see Self-Normalizing Neural Networks + + out[i] = scale * alpha * (exp(in[i])-1) if in[i]>0, or 0 if in[i] <= 0 + Uses default scale and alpha values. + """.trimIndent() + } + } + + Op("sigmoid", transformStrict) { + Doc(Language.ANY, DocScope.ALL) { + """ + Element-wise sigmoid function: out[i] = 1.0/(1+exp(-in[i])) + """.trimIndent() + } + } + + Op("sigmoidDerivative") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.gradient" + Input(NUMERIC, "x") { description = "Input Variable" } + Input(NUMERIC, "wrt") { description = "Gradient at the output - dL/dOut. Must have same shape as the input" } + Output(NUMERIC, "output") { description = "Output (gradient at input of sigmoid)" } + + Doc(Language.ANY, DocScope.ALL) { + """ + Element-wise sigmoid function derivative: dL/dIn given input and dL/dOut + """.trimIndent() + } + } + + Op("softmax") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "SoftMax" + Input(NUMERIC, "x") { description = "Input" } + Arg(INT, "dimension") { description = "Dimension along which to apply softmax"; defaultValue = -1 } + Output(NUMERIC, "output") { description = "Output variable" } + Doc(Language.ANY, DocScope.ALL) { + """ + Softmax activation, along the specified dimension + """.trimIndent() + } + } + + Op("softmaxDerivative") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.gradient" + javaOpClass = "SoftmaxBp" + Input(NUMERIC, "x") { description = "Softmax input" } + Input(NUMERIC, "wrt") { description = "Gradient at output, dL/dx" } + Arg(INT, "dimension"){description = "Softmax dimension"} + + Output(NUMERIC, "output") { description = "" } + + Doc(Language.ANY, DocScope.ALL) { + """ + Softmax derivative function + """.trimIndent() + } + } + + Op("softplus", transformStrict) { + javaOpClass = "SoftPlus" + Doc(Language.ANY, DocScope.ALL) { + """ + Element-wise softplus function: out = log(exp(x) + 1) + """.trimIndent() + } + } + + Op("softsign", transformStrict) { + javaOpClass = "SoftSign" + Doc(Language.ANY, DocScope.ALL) { + """ + Element-wise softsign function: out = x / (abs(x) + 1) + """.trimIndent() + } + } + + Op("softsignDerivative") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.gradient" + javaOpClass = "SoftSignDerivative" + legacy = true + Input(NUMERIC, "x") { description = "Input variable" } + Output(NUMERIC, "output") { description = "Output" } + + Doc(Language.ANY, DocScope.ALL) { + """ + Element-wise derivative (dOut/dIn) of the softsign function softsign(%INPUT_TYPE%) + """.trimIndent() + } + } + + Op("swish", transformStrict) { + Doc(Language.ANY, DocScope.ALL) { + """ + Element-wise "swish" function: out = x * sigmoid(b*x) with b=1.0 + See: https://arxiv.org/abs/1710.05941 + """.trimIndent() + } + } + + Op("layerNorm") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + val input = Input(NUMERIC, "input") { description = "Input variable" } + val g = Input(NUMERIC, "gain") { description = "Gain" } + Input(NUMERIC, "bias") { description = "Bias"; defaultValue = null} + val ch = Arg(BOOL, "channelsFirst") { description = "For 2D input - unused. True for NCHW (minibatch, channels, height, width), false for NHWC data" } + val dim = Arg(INT, "dimensions") { count = AtLeast(1); description = "Dimensions to perform layer norm over - dimension=1 for 2d/MLP data, dimension=1,2,3 for CNNs" } + + Output(NUMERIC, "output") { description = "Output variable" } + + AllParamSignature() + Signature(input, g, ch, dim) + + Doc(Language.ANY, DocScope.ALL) { + """ + Apply Layer Normalization + + y = gain * standardize(x) + bias + """.trimIndent() + } + } + + Op("dotProductAttention") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + val q = Input(NUMERIC, "queries") { description = "input 3D array \"queries\" of shape [batchSize, featureKeys, queryCount]\n" + + "or 4D array of shape [batchSize, numHeads, featureKeys, queryCount]" } + val k = Input(NUMERIC, "keys") { description = "input 3D array \"keys\" of shape [batchSize, featureKeys, timesteps]\n" + + "or 4D array of shape [batchSize, numHeads, featureKeys, timesteps]" } + val v = Input(NUMERIC, "values") { description = "input 3D array \"values\" of shape [batchSize, featureValues, timesteps]\n" + + "or 4D array of shape [batchSize, numHeads, featureValues, timesteps]" } + val m = Input(NUMERIC, "mask") { description = "OPTIONAL; array that defines which values should be skipped of shape [batchSize, timesteps]" } + val s = Arg(BOOL, "scaled") { description = "normalization, false -> do not apply normalization, true -> apply normalization" } + Arg(BOOL, "withWeights") { defaultValue = false; description = "withWeights return attention weights as well, false -> only one output, true -> two outputs" } + + Output(NUMERIC, "output") { description = " Attention result arrays of shape [batchSize, featureValues, queryCount] or [batchSize, numHeads, featureValues, queryCount],\n" + + "(optionally) Attention Weights of shape [batchSize, timesteps, queryCount] or [batchSize, numHeads, timesteps, queryCount]" } + + Signature(q, k, v, m, s) + + Doc(Language.ANY, DocScope.ALL) { + """ + This operation performs dot product attention on the given timeseries input with the given queries + out = sum(similarity(k_i, q) * v_i) + + similarity(k, q) = softmax(k * q) where x * q is the dot product of x and q + + Optionally with normalization step: + similarity(k, q) = softmax(k * q / sqrt(size(q)) + + See also "Attention is all you need" (https://arxiv.org/abs/1706.03762, p. 4, eq. 1) + + Note: This supports multiple queries at once, if only one query is available the queries vector still has to + be 3D but can have queryCount = 1 + + Note: keys and values usually is the same array. If you want to use it as the same array, simply pass it for + both. + + Note: Queries, keys and values must either be all rank 3 or all rank 4 arrays. Mixing them doesn't work. The + output rank will depend on the input rank. + """.trimIndent() + } + } + + Op("multiHeadDotProductAttention") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + val q = Input(NUMERIC, "queries") { description = "input 3D array \"queries\" of shape [batchSize, featureKeys, queryCount]" } + val k = Input(NUMERIC, "keys") { description = "input 3D array \"keys\" of shape [batchSize, featureKeys, timesteps]" } + val v = Input(NUMERIC, "values") { description = "input 3D array \"values\" of shape [batchSize, featureValues, timesteps]" } + val wq = Input(NUMERIC, "Wq") { description = "input query projection weights of shape [numHeads, projectedKeys, featureKeys]" } + val wk = Input(NUMERIC, "Wk") { description = "input key projection weights of shape [numHeads, projectedKeys, featureKeys]" } + val wv = Input(NUMERIC, "Wv") { description = "input value projection weights of shape [numHeads, projectedValues, featureValues]" } + val wo = Input(NUMERIC, "Wo") { description = "output projection weights of shape [numHeads * projectedValues, outSize]" } + val m = Input(NUMERIC, "mask") { description = "OPTIONAL; array that defines which values should be skipped of shape [batchSize, timesteps]" } + val s = Arg(BOOL, "scaled") { description = "normalization, false -> do not apply normalization, true -> apply normalization" } + Arg(BOOL, "withWeights") { defaultValue = false; description = "return attention weights as well, false -> only one output, true -> two outputs" } + + Output(NUMERIC, "output") { description = "Attention result arrays of shape [batchSize, outSize, queryCount]\n" + + "(optionally) Attention Weights of shape [batchSize, numHeads, timesteps, queryCount]" } + + Signature(q, k, v, wq, wk, wv, wo, m, s) + + Doc(Language.ANY, DocScope.ALL) { + """ + This performs multi-headed dot product attention on the given timeseries input + out = concat(head_1, head_2, ..., head_n) * Wo + head_i = dot_product_attention(Wq_i*q, Wk_i*k, Wv_i*v) + + Optionally with normalization when calculating the attention for each head. + + See also "Attention is all you need" (https://arxiv.org/abs/1706.03762, pp. 4,5, "3.2.2 Multi-Head Attention") + + This makes use of dot_product_attention OP support for rank 4 inputs. + see dotProductAttention(%INPUT_TYPE%, %INPUT_TYPE%, %INPUT_TYPE%, %INPUT_TYPE%, boolean, boolean) + """.trimIndent() + } + } + + Op("pad") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms" + Input(NUMERIC, "input") { description = "Input tensor"} + Input(NUMERIC, "padding") { description = "Padding value" } + Arg(ENUM, "PadMode") { possibleValues = listOf("CONSTANT", "REFLECT", "SYMMETRIC"); description = "Padding format"; defaultValue="CONSTANT" } + Arg(NUMERIC, "constant") { description = "Padding constant" } + + Output(NUMERIC, "output"){ description = "Padded input" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Padding operation + """.trimIndent() + } + } + + Alias(Math(), "tanh") +} diff --git a/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/RNN.kt b/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/RNN.kt new file mode 100644 index 000000000..7559965ea --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/RNN.kt @@ -0,0 +1,337 @@ +package org.nd4j.codegen.ops + +import org.nd4j.codegen.api.AtLeast +import org.nd4j.codegen.api.Language +import org.nd4j.codegen.api.doc.DocScope +import org.nd4j.codegen.dsl.* +import org.nd4j.codegen.api.DataType.* + +fun SDRNN() = Namespace("RNN") { + + + val LSTMConfiguration = Config("LSTMConfiguration") { + + Arg(ENUM, "RnnDataFormat") { + possibleValues = listOf("TNS", "NST", "NTS"); description = " The data format of the input. Input shape depends on data format (in config):
\n" + + " TNS -> [timeSteps, batchSize, inSize]
\n" + + " NST -> [batchSize, inSize, timeSteps]
\n" + + " NTS -> [batchSize, timeSteps, inSize]
" + } + + + Arg(BOOL, "peepHole") { description = "Whether to provide peephole connections"; } + Arg(NUMERIC, "forgetBias") { description = "The bias added to forget gates in order to reduce the scale of forgetting in the beginning of the training."; } + Arg(NUMERIC, "clippingCellValue") { description = "The bias added to forget gates in order to reduce the scale of forgetting in the beginning of the training."; } + + javaClassOverride = "org.nd4j.linalg.api.ops.impl.layers.recurrent.config.LSTMConfiguration" + } + + + val LSTMLayerConfig = Config("LSTMLayerConfig") { + + Arg(ENUM, "LSTMDataFormat") { + possibleValues = listOf("TNS", "NST", "NTS", "T2NS"); + description = "for unidirectional:" + + " TNS: shape [timeLength, numExamples, inOutSize] - sometimes referred to as \"time major\"
\n" + + " NST: shape [numExamples, inOutSize, timeLength]
\n" + + " NTS: shape [numExamples, timeLength, inOutSize] - TF \"time_major=false\" layout
" + + " for bidirectional:\n" + + " T2NS: 3 = [timeLength, 2, numExamples, inOutSize] (for ONNX)" + } + + + Arg(ENUM, "LSTMDirectionMode") { + possibleValues = listOf("FWD", "BWD", "BIDIR_SUM", "BIDIR_CONCAT", "BIDIR_EXTRA_DIM"); description = "direction
\n" + + " FWD: 0 = fwd\n" + + " BWD: 1 = bwd\n" + + " BIDIR_SUM: 2 = bidirectional sum\n" + + " BIDIR_CONCAT: 3 = bidirectional concat\n" + + " BIDIR_EXTRA_DIM: 4 = bidirectional extra output dim (in conjunction with format dataFormat = 3)" + } + + Arg(ENUM, "gateAct") { + possibleValues = listOf("TANH", + "RELU", + "SIGMOID", + "AFFINE", + "LEAKY_RELU", + "THRESHHOLD_RELU", + "SCALED_TAHN", + "HARD_SIGMOID", + "ELU", + "SOFTSIGN", + "SOFTPLUS"); description = "Activations" + } + + + Arg(ENUM, "cellAct") { + possibleValues = listOf("TANH", + "RELU", + "SIGMOID", + "AFFINE", + "LEAKY_RELU", + "THRESHHOLD_RELU", + "SCALED_TAHN", + "HARD_SIGMOID", + "ELU", + "SOFTSIGN", + "SOFTPLUS"); description = "Activations" + } + + + Arg(ENUM, "outAct") { + possibleValues = listOf("TANH", + "RELU", + "SIGMOID", + "AFFINE", + "LEAKY_RELU", + "THRESHHOLD_RELU", + "SCALED_TAHN", + "HARD_SIGMOID", + "ELU", + "SOFTSIGN", + "SOFTPLUS"); description = "Activations" + } + + + Arg(BOOL, "retFullSequence") { description = "indicates whether to return whole time sequence h {h_0, h_1, ... , h_sL-1}"; defaultValue = true } + Arg(BOOL, "retLastH") { + description = "indicates whether to return output at last time step only,\n" + + " in this case shape would be [bS, nOut] (exact shape depends on dataFormat argument)"; defaultValue = false + } + Arg(BOOL, "retLastC") { + description = "indicates whether to return cells state at last time step only,\n" + + " in this case shape would be [bS, nOut] (exact shape depends on dataFormat argument)"; defaultValue = false + } + Arg(NUMERIC, "cellClip") { description = "Cell clipping value, if it = 0 then do not apply clipping"; defaultValue = 0.0} + + Arg(NUMERIC, "gateAlpha") {defaultValue=0.0} + Arg(NUMERIC, "gateBeta") {defaultValue=0.0} + Arg(NUMERIC, "cellAlpha") {defaultValue=0.0} + Arg(NUMERIC, "cellBeta") {defaultValue=0.0} + Arg(NUMERIC, "outAlpha") {defaultValue=0.0} + Arg(NUMERIC, "outBeta") {defaultValue=0.0} + + + javaClassOverride = "org.nd4j.linalg.api.ops.impl.layers.recurrent.config.LSTMLayerConfig" + } + + + val GRUWeights = Config("GRUWeights") { + Input(NUMERIC, "ruWeight") + Input(NUMERIC, "cWeight") + Input(NUMERIC, "ruBias") + Input(NUMERIC, "cBias") + javaClassOverride = "org.nd4j.linalg.api.ops.impl.layers.recurrent.weights.GRUWeights" + } + + val SRUWeights = Config("SRUWeights") { + Input(NUMERIC, "weights") + Input(NUMERIC, "bias") + javaClassOverride = "org.nd4j.linalg.api.ops.impl.layers.recurrent.weights.SRUWeights" + } + + val LSTMWeights = Config("LSTMWeights") { + Input(NUMERIC, "ruWeight") + Input(NUMERIC, "inputPeepholeWeights") + Input(NUMERIC, "forgetPeepholeWeights") + Input(NUMERIC, "outputPeepholeWeights") + Input(NUMERIC, "bias") + + javaClassOverride = "org.nd4j.linalg.api.ops.impl.layers.recurrent.weights.LSTMWeights" + } + + val LSTMLayerWeights = Config("LSTMLayerWeights") { + Input(NUMERIC, "inputWeights") {description="input weights Wx:\n" + + " 1) shapes `[nIn, 4*nOut]` for FWD,BWD " + + " 2) shapes `[2, nIn, 4*nOut]` BIDIR_SUM, BIDIR_CONCAT and BIDIR_EXTRA_DIM"} + Input(NUMERIC, "recurrentWeights") {description="recurrent weights Wr:\n" + + " 1) shapes `[nIn, 4*nOut]` for FWD, BWD " + + " 2) shapes `[2, nIn, 4*nOut]` BIDIR_SUM, BIDIR_CONCAT and BIDIR_EXTRA_DIM"} + Input(NUMERIC, "biases") {description="biases\n"+ + " 1) shapes `[4*nOut]` for FWD, BWD " + + " 2) shapes `[2, 4*nOut]` for BIDIR_SUM, BIDIR_CONCAT and BIDIR_EXTRA_DIM" + defaultValue=null} + Input(NUMERIC, "peepholeWeights") {description="peephole weights Wp:\n" + + " 1) `[3*nOut]` when directionMode < 2\n" + + " 2) `[2, 3*nOut]` when directionMode >= 2"; defaultValue=null} + + + javaClassOverride = "org.nd4j.linalg.api.ops.impl.layers.recurrent.weights.LSTMLayerWeights" + } + + + val namespaceJavaPackage = "org.nd4j.linalg.api.ops.impl.layers.recurrent" + Op("gruCell") { + javaPackage = namespaceJavaPackage + javaOpClass = "GRUCell" + Input(NUMERIC, "x") { description = "Input, with shape [batchSize, inSize]" } + Input(NUMERIC, "hLast") { description = "Output of the previous cell/time step, with shape [batchSize, numUnits]" } + useConfig(GRUWeights) + Output(NUMERIC, "r") { description = "Reset gate output" } + Output(NUMERIC, "u") { description = "Update gate output" } + Output(NUMERIC, "c") { description = "Cell gate output" } + Output(NUMERIC, "h") { description = "Cell output" } + + Doc(Language.ANY, DocScope.ALL) { + """ + The GRU cell. Does a single time step operation + """.trimIndent() + } + } + + Op("gru") { + javaPackage = namespaceJavaPackage + javaOpClass = "GRU" + Input(NUMERIC, "x") { description = "input [time, bS, nIn]" } + Input(NUMERIC, "hLast") { description = "initial cell output (at time step = 0) [bS, nOut]" } + Input(NUMERIC, "Wx") { description = "input-to-hidden weights, [nIn, 3*nOut]" } + Input(NUMERIC, "Wh") { description = "hidden-to-hidden weights, [nOut, 3*nOut]" } + Input(NUMERIC, "biases") { description = "biases, [3*nOut]" } + + Output(NUMERIC, "h") { description = "cell outputs [time, bS, nOut], that is per each time step" } + + + + Doc(Language.ANY, DocScope.ALL) { + """ + The GRU operation. Gated Recurrent Unit - Cho et al. 2014. + + + """.trimIndent() + } + } + + + + + + + Op("lstmCell") { + javaPackage = namespaceJavaPackage + javaOpClass = "LSTMBlockCell" + Input(NUMERIC, "x") { description = "Input, with shape [batchSize, inSize]" } + Input(NUMERIC, "cLast") { description = "Previous cell state, with shape [batchSize, numUnits]" } + Input(NUMERIC, "yLast") { description = "revious cell output, with shape [batchSize, numUnits]" } + useConfig(LSTMWeights) + useConfig(LSTMConfiguration) + + Output(NUMERIC, "i") { description = "Output - input modulation gate activations [batchSize, numUnits]." } + Output(NUMERIC, "c") { description = "Output - Activations, cell state (pre tanh) [batchSize, numUnits]." } + Output(NUMERIC, "f") { description = "Output - forget gate activations [batchSize, numUnits]." } + Output(NUMERIC, "o") { description = "Output - output gate activations [batchSize, numUnits]." } + Output(NUMERIC, "z") { description = "Output - input gate activations [batchSize, numUnits]." } + Output(NUMERIC, "h") { description = "Cell state, post tanh [batchSize, numUnits]." } + Output(NUMERIC, "y") { description = "Current cell output [batchSize, numUnits]." } + + Doc(Language.ANY, DocScope.ALL) { + """ + The LSTM cell. Does a single time step operation. + """.trimIndent() + } + } + + + + Op("lstmblock") { + javaPackage = namespaceJavaPackage + javaOpClass = "LSTMBlock" + Input(NUMERIC, "maxTSLength") {defaultValue=null} + Input(NUMERIC, "x") { description = " Input, with shape dependent on the data format (in config)." } + Input(NUMERIC, "cLast") { description = "Previous/initial cell state, with shape [batchSize, numUnits]" ; defaultValue=null} + Input(NUMERIC, "yLast") { description = "Previous/initial cell output, with shape [batchSize, numUnits]" ; defaultValue=null } + useConfig(LSTMWeights) + useConfig(LSTMConfiguration) + + Output(NUMERIC, "output") { description = "The layer's outputs." } + + Doc(Language.ANY, DocScope.ALL) { + """ + The LSTM block + """.trimIndent() + } + } + + + + Op("lstmLayer") { + javaPackage = namespaceJavaPackage + javaOpClass = "LSTMLayer" + Input(NUMERIC, "x") { description = " Input, with shape dependent on the data format (in config)." } + Input(NUMERIC, "cLast") { description = "Previous/initial cell state, with shape [batchSize, numUnits]"; defaultValue=null } + Input(NUMERIC, "yLast") { description = "Previous/initial cell output, with shape [batchSize, numUnits]"; defaultValue=null } + Input(NUMERIC, "maxTSLength") { description = "maxTSLength with shape [batchSize]"; defaultValue=null } + useConfig(LSTMLayerWeights) + useConfig(LSTMLayerConfig) + + //TODO these are optional + Output(NUMERIC, "output") { description = "The layer's outputs - full time series" } + Output(NUMERIC, "yLast") { description = "The layer's outputs - last time step activations (yLast)" } + Output(NUMERIC, "cLast") { description = "The layer's outputs - last time step cell state (cLast)" } + + Doc(Language.ANY, DocScope.ALL) { + """ + Long Short-Term Memory layer - Hochreiter 1997. + SUPPORTS following data formats: + for unidirectional: + TNS: shapes [timeLength, numExamples, inOutSize] + NST: shapes [numExamples, inOutSize, timeLength] + NTS: shapes [numExamples, timeLength, inOutSize] + for bidirectional: + T2NS: shapes [timeLength, 2, numExamples, inOutSize] (for ONNX) + SUPPORTS following direction modes: + FWD: forward + BWD: backward + BIDIR_SUM: bidirectional sum + BIDIR_CONCAT: bidirectional concat + BIDIR_EXTRA_DIM: bidirectional extra output dim (in conjunction with format dataFormat - T2NS) + You may use different gate configurations: + specify gate/cell/out aplha/beta and numbers of activations for gate/cell/out described in activations enum + ("RELU","SIGMOID","AFFINE","LEAKY_RELU","THRESHHOLD_RELU","SCALED_TAHN","HARD_SIGMOID","ELU","SOFTSIGN","SOFTPLUS") + Also this layer supports MKLDNN (DNNL) and cuDNN acceleration + """.trimIndent() + } + } + + + + Op("sruCell") { + javaPackage = namespaceJavaPackage + javaOpClass = "SRUCell" + Input(NUMERIC, "x") { description = "Input, with shape [batchSize, inSize]" } + Input(NUMERIC, "cLast") { description = "Previous cell state, with shape [batchSize, inSize]" } + useConfig(SRUWeights) + + Output(NUMERIC, "output") { description = "The cell's outputs." } + + Doc(Language.ANY, DocScope.ALL) { + """ + The SRU layer. Does a single time step operation. + """.trimIndent() + } + } + + + Op("sru") { + javaPackage = namespaceJavaPackage + javaOpClass = "SRU" + Input(NUMERIC, "x") { description = "Input, with shape [batchSize, inSize]" } + Input(NUMERIC, "initialC") { description = "Initial cell state, with shape [batchSize, inSize]" } + Input(NUMERIC, "mask") { description = "An optional dropout mask, with shape [batchSize, inSize]"; defaultValue = null } + + useConfig(SRUWeights) + + Output(NUMERIC, "output") { description = "The cell's outputs.." } + + Doc(Language.ANY, DocScope.ALL) { + """ + The SRU layer. Does a single time step operation. + """.trimIndent() + } + + } +} + + + + diff --git a/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/Random.kt b/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/Random.kt new file mode 100644 index 000000000..21246acfa --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/Random.kt @@ -0,0 +1,122 @@ +package org.nd4j.codegen.ops + +import org.nd4j.codegen.api.AtLeast +import org.nd4j.codegen.api.DataType.* +import org.nd4j.codegen.api.Language +import org.nd4j.codegen.api.doc.DocScope +import org.nd4j.codegen.dsl.* + +fun Random() = Namespace("Random") { + val random = Mixin("random"){ + Arg(DATA_TYPE, "datatype"){ description = "Data type of the output variable"} + Arg(LONG, "shape") { count = AtLeast(0); description = "Shape of the new random %INPUT_TYPE%, as a 1D array" } + Output(NUMERIC, "output") { description = "Tensor with the given shape where values are randomly sampled according to a %OP_NAME% distribution" } + } + + val legacyRandom = Mixin("legacyRandom"){ + useMixin(random) + javaPackage = "org.nd4j.linalg.api.ops.random.impl" + legacy = true + } + + val normalRandom = Mixin("normalRandom"){ + Arg(FLOATING_POINT, "mean") { description = "Mean value for the random array" } + Arg(FLOATING_POINT, "stddev") { description = "Standard deviation for the random array" } + useMixin(legacyRandom) + } + + Op("bernoulli") { + javaOpClass = "BernoulliDistribution" + Arg(FLOATING_POINT, "p") { description = "Probability of value 1" } + useMixin(legacyRandom) + + Doc(Language.ANY, DocScope.ALL) { + """ + Generate a new random %INPUT_TYPE%, where values are randomly sampled according to a Bernoulli distribution, + with the specified probability. Array values will have value 1 with probability P and value 0 with probability + 1-P. + """.trimIndent() + } + } + + Op("binomial") { + javaOpClass = "BinomialDistribution" + + Arg(INT, "nTrials") { description = "Number of trials parameter for the binomial distribution" } + Arg(FLOATING_POINT, "p") { description = "Probability of success for each trial" } + useMixin(legacyRandom) + + Doc(Language.ANY, DocScope.ALL) { + """ + Generate a new random %INPUT_TYPE%, where values are randomly sampled according to a Binomial distribution, + with the specified number of trials and probability. + """.trimIndent() + } + } + + Op("exponential") { + javaPackage = "org.nd4j.linalg.api.ops.random.custom" + javaOpClass = "RandomExponential" + + val lambda = Arg(FLOATING_POINT, "lambda") { description = "lambda parameter" } + Constraint("Must be positive") { lambda gt 0 } + useMixin(random) + + + Doc(Language.ANY, DocScope.ALL) { + """ + Generate a new random %INPUT_TYPE%, where values are randomly sampled according to a exponential distribution: + P(x) = lambda * exp(-lambda * x) + """.trimIndent() + } + } + + Op("logNormal", normalRandom) { + javaOpClass = "LogNormalDistribution" + + Doc(Language.ANY, DocScope.ALL) { + """ + Generate a new random %INPUT_TYPE%, where values are randomly sampled according to a Log Normal distribution, + i.e., {@code log(x) ~ N(mean, stdev)} + """.trimIndent() + } + } + + Op("normal", normalRandom) { + javaPackage = "org.nd4j.linalg.api.ops.random.impl" + javaOpClass = "GaussianDistribution" + + Doc(Language.ANY, DocScope.ALL) { + """ + Generate a new random %INPUT_TYPE%, where values are randomly sampled according to a Gaussian (normal) distribution, + N(mean, stdev)
+ """.trimIndent() + } + } + + Op("normalTruncated", normalRandom) { + javaOpClass = "TruncatedNormalDistribution" + + Doc(Language.ANY, DocScope.ALL) { + """ + Generate a new random %INPUT_TYPE%, where values are randomly sampled according to a Gaussian (normal) distribution, + N(mean, stdev). However, any values more than 1 standard deviation from the mean are dropped and re-sampled + """.trimIndent() + } + } + + Op("uniform") { + javaOpClass = "UniformDistribution" + + Arg(FLOATING_POINT, "min") { description = "Minimum value" } + Arg(FLOATING_POINT, "max") { description = "Maximum value." } + useMixin(legacyRandom) + + Doc(Language.ANY, DocScope.ALL) { + """ + Generate a new random %INPUT_TYPE%, where values are randomly sampled according to a uniform distribution, + U(min,max) + """.trimIndent() + } + } +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/SDBaseOps.kt b/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/SDBaseOps.kt new file mode 100644 index 000000000..e7fb0caba --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/SDBaseOps.kt @@ -0,0 +1,1666 @@ +/** + * Generated using ExtractFromExisting.kt + */ +package org.nd4j.codegen.ops + +import org.nd4j.codegen.api.AtLeast +import org.nd4j.codegen.api.Language +import org.nd4j.codegen.api.doc.DocScope +import org.nd4j.codegen.dsl.* +import org.nd4j.codegen.api.DataType.* +import org.nd4j.codegen.mixins.* +import org.nd4j.linalg.api.buffer.DataType +import java.lang.Boolean.FALSE + +fun SDBaseOps() = Namespace("BaseOps"){ + + val keepDimsDoc = Mixin("keepDims"){ + Doc(Language.ANY, DocScope.ALL){ + """ + Note that if keepDims = true, the output variable has the same rank as the input variable, + with the reduced dimensions having size 1. This can be useful for later broadcast operations (such as subtracting + the mean along a dimension). + Example: if input has shape [a,b,c] and dimensions=[1] then output has shape: + keepDims = true: [a,1,c] + keepDims = false: [a,c] + """.trimIndent() + } + } + + val booleanReturnDoc = Mixin("booleanReturnDoc"){ + Doc(Language.ANY, DocScope.ALL) { + """ + Return boolean array with values true where satisfied, or false otherwise. + """.trimIndent() + } + } + + val scatterOp = Mixin("scatterOp "){ + javaPackage = "org.nd4j.linalg.api.ops.impl.scatter" + Input(NUMERIC, "ref") { description = "Initial/source variable" } + Input(NUMERIC, "indices") { description = "Indices array" } + Input(NUMERIC, "updates") { description = "Updates to add to the initial/source array" } + Output(NUMERIC, "output"){ description = "The updated variable" } + } + + val scatterDoc = Mixin("scatterDoc "){ + Doc(Language.ANY, DocScope.ALL) { + """ + If indices is rank 0 (a scalar), then out[index, ...] = out[index, ...] + op(updates[...]) + If indices is rank 1 (a vector), then for each position i, out[indices[i], ...] = out[indices[i], ...] + op(updates[i, ...]) + If indices is rank 2+, then for each position (i,...,k), out[indices[i], ..., indices[k], ...] = out[indices[i], ..., indices[k], ...] + op(updates[i, ..., k, ...]) + Note that if multiple indices refer to the same location, the contributions from each is handled correctly. + """.trimIndent() + } + } + + val segmentOp = Mixin("segmentOp"){ + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom.segment" + Input(NDARRAY, "data") { description = "Data to perform segment max on" } + Input(NUMERIC, "segmentIds") { description = "Variable for the segment IDs" } + Output(NUMERIC, "output"){ description = "Segment output" } + } + + val segmentDoc = Mixin("segmentDoc") { + Doc(Language.ANY, DocScope.ALL) { + """ + If data = [3, 6, 1, 4, 9, 2, 8] + segmentIds = [0, 0, 1, 1, 1, 2, 2] + then output = [6, 9, 8] = [op(3,6), op(1,4,9), op(2,8)] + Note that the segment IDs must be sorted from smallest to largest segment. + See {unsortedSegment (String, SDVariable, SDVariable, int) ops + for the same op without this sorted requirement + """.trimIndent() + } + } + + val unsortedSegmentOp = Mixin("unsortedSegmentOp") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.segment" + Input(NUMERIC, "data") { description = "Data (variable) to perform unsorted segment max on" } + Input(NUMERIC, "segmentIds") { description = "Variable for the segment IDs" } + Arg(INT, "numSegments") { description = "Number of segments" } + Output(NUMERIC, "output") { description = "Unsorted segment output" } + } + + Op("argmax") { + javaPackage = "org.nd4j.linalg.api.ops.impl.indexaccum.custom" + javaOpClass = "ArgMax" + Input(NUMERIC, "in") { description = "Input variable" } + Arg(BOOL, "keepDims") { description = "If true: keep the dimensions that are reduced on (as size 1). False: remove the reduction dimensions"; defaultValue = false } + Arg(INT, "dimensions"){ count = AtLeast(0); description = "Dimensions to reduce over. If dimensions are not specified, full array reduction is performed" } + + Output(NUMERIC, "output"){ description = "reduced array of rank (input rank - num dimensions) if keepDims = false, or\n" + + " of rank (input rank) if keepdims = true" } + Doc(Language.ANY, DocScope.ALL){ + """ + Argmax array reduction operation, optionally along specified dimensions. + Output values are the index of the maximum value of each slice along the specified dimension. + """.trimIndent() + } + useMixin(keepDimsDoc) + } + + Op("argmin") { + javaPackage = "org.nd4j.linalg.api.ops.impl.indexaccum.custom" + javaOpClass = "ArgMin" + Input(NUMERIC, "in") { description = "Input variable" } + Arg(BOOL, "keepDims") { description = "If true: keep the dimensions that are reduced on (as size 1). False: remove the reduction dimensions"; defaultValue = false } + Arg(INT, "dimensions"){ count = AtLeast(0); description = "Dimensions to reduce over. If dimensions are not specified, full array reduction is performed" } + Output(NUMERIC, "output"){ description = "reduced array of rank (input rank - num dimensions) if keepDims = false, or of rank (input rank) if keepdims = true" } + Doc(Language.ANY, DocScope.ALL){ + """ + Argmin array reduction operation, optionally along specified dimensions. + Output values are the index of the minimum value of each slice along the specified dimension. + """.trimIndent() + } + useMixin(keepDimsDoc) + useMixin(broadcastingDoc) + } + + Op("concat") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + javaOpClass = "Concat" + argsFirst = true + Arg(INT, "dimension"){ description = "Dimension to concatenate on" } + val inputs = Input(NUMERIC, "inputs") {count = AtLeast(1); description = "Input variables" } + Output(NUMERIC, "output"){ description = "" } + Constraint("Input arrays must all be the same datatype"){ sameType(inputs) } //TODO: Fix, generates error in java, + Doc(Language.ANY, DocScope.ALL){ + """ + Concatenate a set of inputs along the specified dimension. + Note that inputs must have identical rank and identical dimensions, other than the dimension to stack on. + For example, if 2 inputs have shape [a, x, c] and [a, y, c] and dimension = 1, then the output has shape [a, x+y, c] + """.trimIndent() + } + } + + Op("cumprod") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "CumProd" + Input(NUMERIC, "in") { description = "Input variable" } + Arg(BOOL, "exclusive") { description = "If true: exclude the first value"; defaultValue = FALSE } + Arg(BOOL, "reverse") { description = "If true: reverse the direction of the accumulation"; defaultValue = FALSE } + Arg(INT, "axis") { count = AtLeast(1); description = "Scalar axis argument for dimension to perform cumululative sum operations along" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Cumulative product operation. + For input: [ a, b, c], output is: + exclusive=false, reverse=false: [a, a*b, a*b*c] + exclusive=true, reverse=false, [0, a, a*b] + exclusive=false, reverse=true: [a*b*c, b*c, c] + exclusive=true, reverse=true: [b*c, c, 0] + """.trimIndent() + } + } + + Op("cumsum") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "CumSum" + Input(NUMERIC, "in") { description = "Input variable" } + Arg(BOOL, "exclusive") { description = "If true: exclude the first value"; defaultValue = FALSE } + Arg(BOOL, "reverse") { description = "If true: reverse the direction of the accumulation"; defaultValue = FALSE } + Arg(INT, "axis") { count = AtLeast(1); description = "Scalar axis argument for dimension to perform cumululative sum operations along" } + Output(NUMERIC, "output"){ description = "" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Cumulative sum operation. + For input: [ a, b, c], output is: + exclusive=false, reverse=false: [a, a+b, a+b+c] + exclusive=true, reverse=false, [0, a, a+b] + exclusive=false, reverse=true: [a+b+c, b+c, c] + exclusive=true, reverse=true: [b+c, c, 0] + """.trimIndent() + } + } + + Op("dot") { + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce3" + javaOpClass = "Dot" + legacy = true + Input(NUMERIC, "x") { description = "first input" } + Input(NUMERIC, "y") { description = "second input" } + Arg(INT, "dimensions") {count = AtLeast(0); description = "Dimensions to reduce over. If dimensions are not specified, full array reduction is performed" } + Output(NUMERIC, "output"){ description = "output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Pairwise dot product reduction along dimension + output = sum(i=0 ... size(dim)-1) x[i] * y[i] + """.trimIndent() + } + } + + Op("dynamicPartition") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "DynamicPartition" + Input(NUMERIC, "x") { description = "Input variable" } + Input(INT, "partitions") { description = "1D input with values 0 to numPartitions-1" } + Arg(INT, "numPartitions") { description = "Number of partitions, >= 1" } + Output(NUMERIC, "output"){ multiOutput=true; description = "Output variables (equal in number to numPartitions)" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Dynamically partition the input variable values into the specified number of paritions, using the indices. + Example: +

+                input = [1,2,3,4,5]
+                numPartitions = 2
+                partitions = [1,0,0,1,0]
+                out[0] = [2,3,5]
+                out[1] = [1,4] }
+                
+ """.trimIndent() + } + } + + Op("dynamicStitch") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "DynamicStitch" + Input(INT, "indices") {count = AtLeast(1); description = "Indices to use when merging. Must be >= 1, same length as input variables" } + Input(NUMERIC, "x") { count = AtLeast(1); description = "Input variables." } + Output(NUMERIC, "output"){ description = "Merged output variable" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Dynamically merge the specified input arrays into a single array, using the specified indices + """.trimIndent() + } + } + + Op("eq") { + javaPackage = "org.nd4j.linalg.api.ops.impl.scalar.comparison" + javaOpClass = "ScalarEquals" + legacy = true + Input(NUMERIC, "x") { description = "Input array" } + Arg(NUMERIC, "y") { description = "Double value argument to use in operation" } + Output(NUMERIC, "output"){ description = "Boolean array out, with values true/false based on where the condition is satisfied" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Equals operation: elementwise x == y + """.trimIndent() + } + useMixin(booleanReturnDoc) + } + + Op("eq") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "EqualTo" + Input(NUMERIC, "x") { description = "Input 1" } + Input(NUMERIC, "y") { description = "Input 2" } + Output(NUMERIC, "output"){ description = "Boolean array out, with values true/false based on where the condition is satisfied" } + Doc(Language.ANY, DocScope.ALL){ + """ + Equal to operation: elementwise x == y + If x and y arrays have equal shape, the output shape is the same as these inputs. + """.trimIndent() + } + useMixin(broadcastingDoc) + useMixin(booleanReturnDoc) + } + + Op("expandDims") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + javaOpClass = "ExpandDims" + Input(NDARRAY, "x") { description = "Input variable" } + Arg(INT, "axis") { description = "Axis to expand" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Reshape the input by adding a 1 at the specified location. + For example, if input has shape [a, b], then output shape is: + axis = 0: [1, a, b] + axis = 1: [a, 1, b] + axis = 2: [a, b, 1] + """.trimIndent() + } + } + + Op("fill") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + Input(INT, "shape") { description = "Shape: must be a 1D array/variable" } + Arg(DATA_TYPE, "dataType") { description = "Datatype of the output array" } + Arg(NUMERIC, "value") { description = "Value to set all elements to" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Generate an output variable with the specified (dynamic) shape with all elements set to the specified value + """.trimIndent() + } + } + + Op("gather") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "df") { description = "Input variable" } + Arg(INT, "indices") { count = AtLeast(1); description = "Indices to get" } + Arg(INT, "axis") { description = "Axis that the indices refer to" } + Output(NUMERIC, "output"){ description = "Output variable with slices pulled from the specified axis" } + Doc(Language.ANY, DocScope.ALL){ + """ + Gather slices from the input variable where the indices are specified as fixed int[] values. + Output shape is same as input shape, except for axis dimension, which has size equal to indices.length. + """.trimIndent() + } + } + + Op("gather") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "df") { description = "Input variable" } + Input(INT, "indices") { description = "Indices to get slices for. Rank 0 or 1 input" } + Arg(INT, "axis") { description = "Axis that the indices refer to" } + Output(NUMERIC, "output"){ description = "Output variable with slices pulled from the specified axis" } + Doc(Language.ANY, DocScope.ALL){ + """ + Gather slices from the input variable where the indices are specified as dynamic array values. + Output shape is same as input shape, except for axis dimension, which has size equal to indices.length. + """.trimIndent() + } + } + + Op("gatherNd") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + javaOpClass = "GatherNd" + Input(NUMERIC, "df") {description = "" } + Input(NUMERIC, "indices") {description = "" } + Output(NUMERIC, "output"){ description = "" } + Doc(Language.ANY, DocScope.ALL){ + """ + Gather slices from df with shape specified by indices. + """.trimIndent() + } + } + + Op("gt") { + javaPackage = "org.nd4j.linalg.api.ops.impl.scalar.comparison" + javaOpClass = "ScalarGreaterThan" + legacy = true + Input(NUMERIC, "x") { description = "Input array" } + Arg(NUMERIC, "y") { description = "Double value argument to use in operation" } + Output(NUMERIC, "output"){ description = "Boolean array out, with values true/false based on where the condition is satisfied" } + Doc(Language.ANY, DocScope.ALL){ + """ + Greater than operation: elementwise x > y + """.trimIndent() + } + useMixin(booleanReturnDoc) + } + + Op("gt") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "GreaterThan" + Input(NUMERIC, "x") { description = "Input 1" } + Input(NUMERIC, "y") { description = "Input 2" } + Output(NUMERIC, "output"){ description = "Output Boolean array out, with values true/false based on where the condition is satisfied" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Greater than operation: elementwise x > y + If x and y arrays have equal shape, the output shape is the same as these inputs. + """.trimIndent() + } + useMixin(broadcastingDoc) + useMixin(booleanReturnDoc) + } + + Op("gte") { + javaPackage = "org.nd4j.linalg.api.ops.impl.scalar.comparison" + javaOpClass = "ScalarGreaterThanOrEqual" + legacy = true + Input(NUMERIC, "x") { description = "Input array" } + Arg(NUMERIC, "y") { description = "Double value argument to use in operation" } + Output(NUMERIC, "output"){ description = "Output Boolean array out, with values true/false based on where the condition is satisfied" } + Doc(Language.ANY, DocScope.ALL){ + """ + Greater than or equals operation: elementwise x >= y + """.trimIndent() + } + useMixin(booleanReturnDoc) + } + + Op("gte") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "GreaterThanOrEqual" + Input(NUMERIC, "x") { description = "Input 1" } + Input(NUMERIC, "y") { description = "Input 2" } + Output(NUMERIC, "output"){ description = "" } + Doc(Language.ANY, DocScope.ALL){ + """ + Greater than or equal to operation: elementwise x >= y + If x and y arrays have equal shape, the output shape is the same as these inputs. + """.trimIndent() + } + useMixin(broadcastingDoc) + useMixin(booleanReturnDoc) + } + + Op("identity") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.same" + Input(NUMERIC, "input") { description = "Input variable" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Elementwise identity operation: out = x + """.trimIndent() + } + } + + Op("invertPermutation") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + Input(INT, "input") { description = "1D indices for permutation" } + Output(INT, "output"){ description = "1D inverted permutation" } + Doc(Language.ANY, DocScope.ALL){ + """ + Compute the inverse permutation indices for a permutation operation + Example: if input is [2, 0, 1] then output is [1, 2, 0] + The idea is that x.permute(input).permute(invertPermutation(input)) == x + """.trimIndent() + } + } + + Op("isNumericTensor") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + Input(NUMERIC, "x") { description = "Input variable" } + Output(NDARRAY, "output"){ description = "scalar boolean with value true or false" } + Doc(Language.ANY, DocScope.ALL){ + """ + Is the director a numeric tensor? In the current version of ND4J/SameDiff, this always returns true/1 + """.trimIndent() + } + } + + Op("linspace") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Arg(DATA_TYPE, "dataType") { description = "Data type of the output array" } + Arg(NUMERIC, "start") { description = "Start value" } + Arg(NUMERIC, "stop") { description = "Stop value" } + Arg(LONG, "number") { description = "Number of values to generate" } + Output(NUMERIC, "output"){ description = "INDArray with linearly spaced elements" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Create a new 1d array with values evenly spaced between values 'start' and 'stop' + For example, linspace(start=3.0, stop=4.0, number=3) will generate [3.0, 3.5, 4.0] + """.trimIndent() + } + } + + Op("linspace") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "start") { description = "Start value" } + Input(NUMERIC, "stop") { description = "Stop value" } + Input(LONG, "number") { description = "Number of values to generate" } + Arg(DATA_TYPE, "dataType") { description = "Data type of the output array" } + Output(NUMERIC, "output"){ description = "INDArray with linearly spaced elements" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Create a new 1d array with values evenly spaced between values 'start' and 'stop' + For example, linspace(start=3.0, stop=4.0, number=3) will generate [3.0, 3.5, 4.0] + """.trimIndent() + } + } + + Op("lt") { + javaPackage = "org.nd4j.linalg.api.ops.impl.scalar.comparison" + javaOpClass = "ScalarLessThan" + legacy = true + Input(NUMERIC, "x") { description = "Input array" } + Arg(NUMERIC, "y") { description = "Double value argument to use in operation" } + Output(NUMERIC, "output"){ description = "Boolean array out, with values true/false based on where the condition is satisfied" } + Doc(Language.ANY, DocScope.ALL){ + """ + Less than operation: elementwise x < y + """.trimIndent() + } + useMixin(booleanReturnDoc) + } + + Op("lt") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "LessThan" + Input(NUMERIC, "x") {description = "Input 1" } + Input(NUMERIC, "y") {description = "Input 2" } + Output(NUMERIC, "output"){ description = "Output Boolean array out, with values true/false based on where the condition is satisfied" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Less than operation: elementwise x < y + If x and y arrays have equal shape, the output shape is the same as these inputs. + """.trimIndent() + } + useMixin(broadcastingDoc) + useMixin(booleanReturnDoc) + } + + Op("lte") { + javaPackage = "org.nd4j.linalg.api.ops.impl.scalar.comparison" + javaOpClass = "ScalarLessThanOrEqual" + legacy = true + Input(NUMERIC, "x") { description = "Input array" } + Arg(NUMERIC, "y") { description = "Double value argument to use in operation" } + Output(NUMERIC, "output"){ description = "Boolean array out, with values true/false based on where the condition is satisfied" } + Doc(Language.ANY, DocScope.ALL){ + """ + Less than or equals operation: elementwise x <= y + """.trimIndent() + } + useMixin(booleanReturnDoc) + } + + Op("lte") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "LessThanOrEqual" + Input(NUMERIC, "x") { description = "Input 1" } + Input(NUMERIC, "y") { description = "Input 2" } + Output(NUMERIC, "output"){ description = "Output Boolean array out, with values true/false based on where the condition is satisfied" } + Doc(Language.ANY, DocScope.ALL){ + """ + Less than or equal to operation: elementwise x <= y + If x and y arrays have equal shape, the output shape is the same as these inputs. + """.trimIndent() + } + useMixin(broadcastingDoc) + useMixin(booleanReturnDoc) + } + + Op("matchCondition") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.bool" + javaOpClass = "MatchConditionTransform" + legacy = true + Input(NUMERIC, "in") { description = "Input" } + Arg(CONDITION, "condition") { description = "Condition" } + Output(NUMERIC, "output"){ description = "Boolean mask" } + Doc(Language.ANY, DocScope.ALL){ + """ + Returns a boolean mask of equal shape to the input, where the condition is satisfied - value 1 where satisfied, 0 otherwise + """.trimIndent() + } + } + + Op("matchConditionCount") { + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce.longer" + javaOpClass = "MatchCondition" + legacy = true + Input(NUMERIC, "in") { description = "Input" } + Arg(CONDITION, "condition") { description = "Condition" } + Output(NUMERIC, "output"){ description = "Number of elements that the condition is satisfied for" } + Doc(Language.ANY, DocScope.ALL){ + """ + Returns a count of the number of elements that satisfy the condition + """.trimIndent() + } + } + + Op("matchConditionCount") { + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce.longer" + javaOpClass = "MatchCondition" + legacy = true + Input(NUMERIC, "in") { description = "Input variable" } + Arg(CONDITION, "condition") { description = "Condition" } + Arg(BOOL, "keepDim") { description = "If true: keep the dimensions that are reduced on (as size 1). False: remove the reduction dimensions"; defaultValue=FALSE} + Arg(INT, "dimensions") {count = AtLeast(0); description = "Dimensions to reduce over. If dimensions are not specified, full array reduction is performed" } + Output(NUMERIC, "output"){ description = "Number of elements that the condition is satisfied for" } + Doc(Language.ANY, DocScope.ALL){ + """ + Returns a count of the number of elements that satisfy the condition (for each slice along the specified dimensions) + """.trimIndent() + } + useMixin(keepDimsDoc) + } + + Op("max") { + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce.same" + legacy = true + Input(NUMERIC, "x") { description = "Input variable" } + Arg(BOOL, "keepDims") { description = "If true: keep the dimensions that are reduced on (as size 1). False: remove the reduction dimensions" + ; defaultValue=FALSE } + Arg(INT, "dimensions") { count = AtLeast(0); description = "Dimensions to reduce over. If dimensions are not specified, full array reduction is performed" } + Output(NUMERIC, "output"){ description = "Reduced array of rank (input rank - num dimensions)" } + Doc(Language.ANY, DocScope.ALL){ + """ + Max array reduction operation, optionally along specified dimensions + """.trimIndent() + } + useMixin(keepDimsDoc) + } + + Op("max") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + Input(NUMERIC, "first") { description = "First input array" } + Input(NUMERIC, "second") { description = "Second input array" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Element-wise maximum operation: out[i] = max(first[i], second[i]) + """.trimIndent() + } + useMixin(broadcastingDoc) + } + + Op("mean") { + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce.floating" + legacy = true + Input(NUMERIC, "x") { description = "Input variable" } + Arg(BOOL, "keepDims") { description = "If true: keep the dimensions that are reduced on (as size 1). False: remove the reduction dimensions"; defaultValue=false } + Arg(INT, "dimensions") { count = AtLeast(0); description = "Dimensions to reduce over. If dimensions are not specified, full array reduction is performed" } + Output(NUMERIC, "output"){ description = "Reduced array of rank (input rank - num dimensions)" } + Doc(Language.ANY, DocScope.ALL){ + """ + Mean (average) array reduction operation, optionally along specified dimensions + """.trimIndent() + } + useMixin(keepDimsDoc) + } + + Op("merge") { + javaPackage = "org.nd4j.linalg.api.ops.impl.controlflow.compat" + Input(NUMERIC, "x") { description = "Input variable" } + Input(NUMERIC, "y") { description = "Input variable" } + Output(NUMERIC, "output"){ description = "Output" } + Doc(Language.ANY, DocScope.ALL){ + """ + The merge operation is a control operation that forwards the either of the inputs to the output, when + the first of them becomes available. If both are available, the output is undefined (either input could + be forwarded to the output) + """.trimIndent() + } + } + + + Op("min") { + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce.same" + legacy = true + Input(NUMERIC, "x") { description = "Input variable" } + Arg(BOOL, "keepDims") { description = "If true: keep the dimensions that are reduced on (as size 1). False: remove the reduction dimensions"; defaultValue=false } + Arg(INT, "dimensions") { count = AtLeast(0); description = "Dimensions to reduce over. If dimensions are not specified, full array reduction is performed" } + Output(NUMERIC, "output"){ description = "Reduced array of rank (input rank - num dimensions)" } + Doc(Language.ANY, DocScope.ALL){ + """ + Minimum array reduction operation, optionally along specified dimensions. out = min(in) + """.trimIndent() + } + useMixin(keepDimsDoc) + } + + Op("min") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + Input(NUMERIC, "first") { description = "First input array" } + Input(NUMERIC, "second") { description = "Second input array" } + Output(NUMERIC, "output"){ description = "Second input array" } + Doc(Language.ANY, DocScope.ALL){ + """ + Element-wise minimum operation: out[i] = min(first[i], second[i]) + """.trimIndent() + } + useMixin(broadcastingDoc) + } + + Op("mmul") { + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce" + Input(NUMERIC, "x") { description = "First input variable" } + Input(NUMERIC, "y") { description = "Second input variable" } + Arg(BOOL, "transposeX") { description = "Transpose x (first argument)"; defaultValue=false } + Arg(BOOL, "transposeY") { description = "Transpose y (second argument)"; defaultValue=false } + Arg(BOOL, "transposeZ") { description = "Transpose result array"; defaultValue=false } + Output(NUMERIC, "output"){ description = "" } + Doc(Language.ANY, DocScope.ALL){ + """ + Matrix multiplication: out = mmul(x,y) + Supports specifying transpose argument to perform operation such as mmul(a^T, b), etc. + """.trimIndent() + } + } + + Op("neq") { + javaPackage = "org.nd4j.linalg.api.ops.impl.scalar.comparison" + javaOpClass = "ScalarNotEquals" + legacy = true + Input(NUMERIC, "x") { description = "Input array" } + Arg(NUMERIC, "y") { description = "Double value argument to use in operation" } + Output(NUMERIC, "output"){ description = "Boolean array out, with values true/false based on where the condition is satisfied" } + Doc(Language.ANY, DocScope.ALL){ + """ + Not equals operation: elementwise x != y + """.trimIndent() + } + useMixin(booleanReturnDoc) + } + + Op("neq") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + javaOpClass = "NotEqualTo" + Input(NUMERIC, "x") { description = "Input 1" } + Input(NUMERIC, "y") { description = "Input 2" } + Output(NUMERIC, "output"){ description = "Boolean array out, with values true/false based on where the condition is satisfied" } + Doc(Language.ANY, DocScope.ALL){ + """ + Not equal to operation: elementwise x != y + If x and y arrays have equal shape, the output shape is the same as these inputs. + """.trimIndent() + } + useMixin(broadcastingDoc) + useMixin(booleanReturnDoc) + } + + Op("norm1") { + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce.floating" + legacy = true + Input(NUMERIC, "x") { description = "Input variable" } + Arg(BOOL, "keepDims") { description = "If true: keep the dimensions that are reduced on (as size 1). False: remove the reduction dimensions"; defaultValue=false } + Arg(INT, "dimensions") { count = AtLeast(0); description = "dimensions to reduce over" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Norm1 (L1 norm) reduction operation: The output contains the L1 norm for each tensor/subset along the specified dimensions: + out = sum_i abs(x[i]) + """.trimIndent() + } + useMixin(keepDimsDoc) + } + + Op("norm2") { + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce.floating" + legacy = true + Input(NUMERIC, "x") { description = "Input variable" } + Arg(BOOL, "keepDims") { description = "If true: keep the dimensions that are reduced on (as size 1). False: remove the reduction dimensions"; defaultValue=false } + Arg(INT, "dimensions") { count = AtLeast(0); description = "dimensions dimensions to reduce over" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Norm2 (L2 norm) reduction operation: The output contains the L2 norm for each tensor/subset along the specified dimensions: + out = sqrt(sum_i x[i]^2) + """.trimIndent() + } + useMixin(keepDimsDoc) + } + + Op("normmax") { + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce.floating" + javaOpClass = "NormMax" + legacy = true + Input(NUMERIC, "x") { description = "Input variable" } + Arg(BOOL, "keepDims") { description = "If true: keep the dimensions that are reduced on (as size 1). False: remove the reduction dimensions"; defaultValue=false } + Arg(INT, "dimensions") { count = AtLeast(0); description = "dimensions to reduce over" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Max norm (infinity norm) reduction operation: The output contains the max norm for each tensor/subset along the + specified dimensions: + out = max(abs(x[i])) + """.trimIndent() + } + useMixin(keepDimsDoc) + } + + Op("oneHot") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "indices") { description = "Indices - value 0 to depth-1" } + Arg(INT, "depth") { description = "Number of classes" } + Arg(INT, "axis") { description = "" } + Arg(NUMERIC, "on") { description = "" } + Arg(NUMERIC, "off") { description = "" } + Arg(DATA_TYPE, "dataType") { description = "Output data type"; defaultValue = DataType.FLOAT } + Output(NUMERIC, "output"){ description = "Output variable" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Convert the array to a one-hot array with walues and for each entry + If input has shape [ a, ..., n] then output has shape [ a, ..., n, depth], + with {out[i, ..., j, in[i,...,j]] with other values being set to + """.trimIndent() + } + } + + Op("oneHot") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "indices") { description = "Indices - value 0 to depth-1" } + Arg(INT, "depth") { description = "Number of classes" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Convert the array to a one-hot array with walues 0 and 1 for each entry + If input has shape [ a, ..., n] then output has shape [ a, ..., n, depth], + with out[i, ..., j, in[i,...,j]] = 1 with other values being set to 0 + see oneHot(SDVariable, int, int, double, double) + """.trimIndent() + } + } + + Op("onesLike") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "input") { description = "Input INDArray " } + Output(NUMERIC, "output"){ description = "A new INDArray with the same (dynamic) shape as the input" } + Doc(Language.ANY, DocScope.ALL){ + """ + Return a variable of all 1s, with the same shape as the input variable. Note that this is dynamic: + if the input shape changes in later execution, the returned variable's shape will also be updated + """.trimIndent() + } + } + + Op("onesLike") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "input") { description = "" } + Arg(DATA_TYPE, "dataType") { description = "" } + Output(NUMERIC, "output"){ description = "" } + Doc(Language.ANY, DocScope.ALL){ + """ + As per onesLike(String, SDVariable) but the output datatype may be specified + """.trimIndent() + } + } + + Op("permute") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "x") { description = "Input variable" } + Input(INT, "dimensions") { description = "Permute dimensions" } + Output(NUMERIC, "output"){ description = "Output variable (permuted input)" } + Doc(Language.ANY, DocScope.ALL){ + """ + Array permutation operation: permute the dimensions according to the specified permutation indices. + Example: if input has shape [a,b,c] and dimensions = [2,0,1] the output has shape [c,a,b] + """.trimIndent() + } + } + + Op("permute") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "x") { description = "Input variable" } + Arg(INT, "dimensions") { count = AtLeast(0); description = "" } + Output(NUMERIC, "output"){ description = "Output variable (permuted input)" } + Doc(Language.ANY, DocScope.ALL){ + """ + Array permutation operation: permute the dimensions according to the specified permutation indices. + Example: if input has shape [a,b,c] and dimensions = [2,0,1] the output has shape [c,a,b] + """.trimIndent() + } + } + + Op("prod") { + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce.same" + legacy = true + Input(NUMERIC, "x") { description = "Input variable" } + Arg(BOOL, "keepDims") { description = "If true: keep the dimensions that are reduced on (as size 1). False: remove the reduction dimensions"; defaultValue=false } + Arg(INT, "dimensions") { count = AtLeast(0); description = "Dimensions to reduce over. If dimensions are not specified, full array reduction is performed" } + Output(NUMERIC, "output"){ description = "" } + Doc(Language.ANY, DocScope.ALL){ + """ + Product array reduction operation, optionally along specified dimensions + """.trimIndent() + } + useMixin(keepDimsDoc) + } + + Op("range") { + javaPackage = "org.nd4j.linalg.api.ops.random.impl" + Arg(NUMERIC, "from") { description = "Initial/smallest value" } + Arg(NUMERIC, "to") { description = "Largest value (exclusive)" } + Arg(NUMERIC, "step") { description = "Step size" } + Arg(DATA_TYPE, "dataType") { description = "" } + Output(NUMERIC, "output"){ description = "INDArray with the specified values" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Create a new variable with a 1d array, where the values start at from and increment by step + up to (but not including) limit. + For example, range(1.0, 3.0, 0.5) will return [1.0, 1.5, 2.0, 2.5] + """.trimIndent() + } + } + + Op("range") { + javaPackage = "org.nd4j.linalg.api.ops.random.impl" + Input(NUMERIC, "from") { description = "Initial/smallest value" } + Input(NUMERIC, "to") { description = "Largest value (exclusive)" } + Input(NUMERIC, "step") { description = "Step size" } + Arg(DATA_TYPE, "dataType") { description = "" } + Output(NUMERIC, "output"){ description = "INDArray with the specified values" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Create a new variable with a 1d array, where the values start at from and increment by step + up to (but not including) limit. + For example, range(1.0, 3.0, 0.5) will return [1.0, 1.5, 2.0, 2.5] + """.trimIndent() + } + } + + Op("rank") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "in") { description = "Input variable" } + Output(NUMERIC, "output"){ description = "(scalar) output variable with value equal to the rank of the input variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Returns the rank (number of dimensions, i.e., length(shape)) of the specified INDArray as a 0D scalar variable + """.trimIndent() + } + } + + /* + Op("repeat") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "df") { description = "" } + Arg(INT, "axis") { description = "" } + Output(NUMERIC, "output"){ description = "" } + Doc(Language.ANY, DocScope.ALL){ + """ + see repeat(String, SDVariable, int) + """.trimIndent() + } + } + */ + + Op("replaceWhere") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.comparison" + javaOpClass = "CompareAndReplace" + legacy = true + Input(NUMERIC, "update") { description = "Source array" } + Input(NUMERIC, "from") { description = "Replacement values array (used conditionally). Must be same shape as 'update' array" } + Arg(CONDITION, "condition") { description = "Condition to check on update array elements" } + Output(NUMERIC, "output"){ description = "New array with values replaced where condition is satisfied" } + Doc(Language.ANY, DocScope.ALL){ + """ + Element-wise replace where condition: + out[i] = from[i] if condition(update[i]) is satisfied, or + out[i] = update[i] if condition(update[i]) is NOT satisfied + """.trimIndent() + } + } + + Op("replaceWhere") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.comparison" + javaOpClass = "CompareAndSet" + legacy = true + Input(NUMERIC, "update") { description = "Source array" } + Arg(NUMERIC, "value") { description = "Value to set at the output, if the condition is satisfied" } + Arg(CONDITION, "condition") { description = "Condition to check on update array elements" } + Output(NUMERIC, "output"){ description = "New array with values replaced where condition is satisfied" } + Doc(Language.ANY, DocScope.ALL){ + """ + Element-wise replace where condition: + out[i] = value if condition(update[i]) is satisfied, or + out[i] = update[i] if condition(update[i]) is NOT satisfied + """.trimIndent() + } + } + + Op("reshape") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "x") { description = "Input variable" } + Input(NUMERIC, "shape") { description = "New shape for variable" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Reshape the input variable to the specified (fixed) shape. The output variable will have the same values as the + input, but with the specified shape. + Note that prod(shape) must match length(input) == prod(input.shape) + """.trimIndent() + } + } + + Op("reshape") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "x") { description = "Input variable" } + Arg(LONG, "shape") { count=AtLeast(0); description = "New shape for variable" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Reshape the input variable to the specified (fixed) shape. The output variable will have the same values as the + input, but with the specified shape. + Note that prod(shape) must match length(input) == prod(input.shape) + """.trimIndent() + } + } + + Op("reverse") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + Input(NUMERIC, "x") { description = "Input variable" } + Arg(INT, "dimensions") { count = AtLeast(0); description = "Input variable" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Reverse the values of an array for the specified dimensions + If input is: + [ 1, 2, 3] + [ 4, 5, 6] + then + reverse(in, 0): + [3, 2, 1] + [6, 5, 4] + reverse(in, 1): + [4, 5, 6] + [1, 2 3] + """.trimIndent() + } + } + + Op("reverseSequence") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.custom" + Input(NUMERIC, "x") { description = "Input variable" } + Input(INT, "seq_lengths") { description = "Length of the sequences" } + Arg(INT, "seqDim") { description = "Sequence dimension"; defaultValue=-1} + Arg(INT, "batchDim") { description = "Batch dimension"; defaultValue=0 } + Output(NUMERIC, "output"){ description = "Reversed sequences" } + Doc(Language.ANY, DocScope.ALL){ + """ + Reverse sequence op: for each slice along dimension seqDimension, the first seqLength values are reversed + """.trimIndent() + } + } + + Op("scalarFloorMod") { + javaPackage = "org.nd4j.linalg.api.ops.impl.scalar" + javaOpClass = "ScalarFMod" + legacy = true + Input(NUMERIC, "in") { description = "Input variable" } + Arg(NUMERIC, "value") { description = "Scalar value to compare" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Element-wise scalar floor modulus operation: out = floorMod(in, value). + i.e., returns the remainder after division by 'value' + """.trimIndent() + } + } + + Op("scalarMax") { + javaPackage = "org.nd4j.linalg.api.ops.impl.scalar" + legacy = true + Input(NUMERIC, "in") { description = "Input variable" } + Arg(NUMERIC, "value") { description = "Scalar value to compare" } + Output(NUMERIC, "output"){ description = "Scalar value to compare" } + Doc(Language.ANY, DocScope.ALL){ + """ + Element-wise scalar maximum operation: out = max(in, value) + """.trimIndent() + } + } + + Op("scalarMin") { + javaPackage = "org.nd4j.linalg.api.ops.impl.scalar" + legacy = true + Input(NUMERIC, "in") { description = "Input variable" } + Arg(NUMERIC, "value") { description = "Scalar value to compare" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Element-wise scalar minimum operation: out = min(in, value) + """.trimIndent() + } + } + + Op("scalarSet") { + javaPackage = "org.nd4j.linalg.api.ops.impl.scalar" + legacy = true + Input(NUMERIC, "in") { description = "Input variable" } + Arg(NUMERIC, "set") { description = "Value to set" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Return a variable with equal shape to the input, but all elements set to value 'set' + """.trimIndent() + } + } + + Op("scatterAdd") { + useMixin(scatterOp) + Doc(Language.ANY, DocScope.ALL){ + """ + Scatter addition operation. + """.trimIndent() + } + useMixin(scatterDoc) + } + + Op("scatterDiv") { + useMixin(scatterOp) + Doc(Language.ANY, DocScope.ALL){ + """ + Scatter division operation. + """.trimIndent() + } + useMixin(scatterDoc) + } + + Op("scatterMax") { + useMixin(scatterOp) + Doc(Language.ANY, DocScope.ALL){ + """ + Scatter max operation. + """.trimIndent() + } + useMixin(scatterDoc) + } + + Op("scatterMin") { + useMixin(scatterOp) + Doc(Language.ANY, DocScope.ALL){ + """ + Scatter min operation. + """.trimIndent() + } + useMixin(scatterDoc) + } + + Op("scatterMul") { + useMixin(scatterOp) + Doc(Language.ANY, DocScope.ALL){ + """ + Scatter multiplication operation. + """.trimIndent() + } + useMixin(scatterDoc) + } + + Op("scatterSub") { + useMixin(scatterOp) + Doc(Language.ANY, DocScope.ALL){ + """ + Scatter subtraction operation. + """.trimIndent() + } + useMixin(scatterDoc) + } + + Op("scatterUpdate") { + useMixin(scatterOp) + Doc(Language.ANY, DocScope.ALL){ + """ + Scatter update operation. + """.trimIndent() + } + useMixin(scatterDoc) + } + + Op("segmentMax") { + useMixin(segmentOp) + Doc(Language.ANY, DocScope.ALL){ + """ + Segment max operation. + """.trimIndent() + } + useMixin(segmentDoc) + } + + Op("segmentMean") { + useMixin(segmentOp) + Doc(Language.ANY, DocScope.ALL){ + """ + Segment mean operation. + """.trimIndent() + } + useMixin(segmentDoc) + } + + Op("segmentMin") { + useMixin(segmentOp) + Doc(Language.ANY, DocScope.ALL){ + """ + Segment min operation. + """.trimIndent() + } + useMixin(segmentDoc) + } + + Op("segmentProd") { + useMixin(segmentOp) + Doc(Language.ANY, DocScope.ALL){ + """ + Segment product operation. + """.trimIndent() + } + useMixin(segmentDoc) + } + + Op("segmentSum") { + useMixin(segmentOp) + Doc(Language.ANY, DocScope.ALL){ + """ + Segment sum operation. + """.trimIndent() + } + useMixin(segmentDoc) + } + + Op("sequenceMask") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "lengths") { description = "Lengths of the sequences" } + Arg(INT, "maxLen") { description = "Maximum sequence length" } + Arg(DATA_TYPE, "dataType") { description = "" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Generate a sequence mask (with values 0 or 1) based on the specified lengths + Specifically, out[i, ..., k, j] = (j < lengths[i, ..., k] ? 1.0 : 0.0) + """.trimIndent() + } + } + + Op("sequenceMask") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "lengths") { description = "Lengths of the sequences" } + Input(INT, "maxLen") { description = "Maximum sequence length" } + Arg(DATA_TYPE, "dataType") { description = "" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Generate a sequence mask (with values 0 or 1) based on the specified lengths + Specifically, out[i, ..., k, j] = (j < lengths[i, ..., k] ? 1.0 : 0.0) + """.trimIndent() + } + } + + Op("sequenceMask") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "lengths") { description = "" } + Arg(DATA_TYPE, "dataType") { description = "" } + Output(NUMERIC, "output"){ description = "" } + + Doc(Language.ANY, DocScope.ALL){ + """ + see sequenceMask(String, SDVariable, SDVariable, DataType) + """.trimIndent() + } + } + + Op("shape") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "input") { description = "Input variable" } + Output(NUMERIC, "output"){ description = "1D output variable with contents equal to the shape of the input" } + Doc(Language.ANY, DocScope.ALL){ + """ + Returns the shape of the specified INDArray as a 1D INDArray + """.trimIndent() + } + } + + Op("size") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "in") { description = "Input variable" } + Output(NUMERIC, "output"){ description = "0D (scalar) output variable with value equal to the number of elements in the specified array" } + Doc(Language.ANY, DocScope.ALL){ + """ + Returns the size (number of elements, i.e., prod(shape)) of the specified INDArray as a 0D scalar variable + """.trimIndent() + } + } + + Op("sizeAt") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "in") { description = "Input variable" } + Arg(INT, "dimension") { description = "Dimension to get size of" } + Output(NUMERIC, "output"){ description = "Scalar INDArray for size at specified variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Returns a rank 0 (scalar) variable for the size of the specified dimension. + For example, if X has shape [10,20,30] then sizeAt(X,1)=20. Similarly, sizeAt(X,-1)=30 + """.trimIndent() + } + } + + Op("slice") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "input") { description = "input Variable to get subset of" } + Arg(INT, "begin") { count = AtLeast(1); description = "Beginning index. Must be same length as rank of input array" } + Arg(INT, "size") { count = AtLeast(1); description = "Size of the output array. Must be same length as rank of input array" } + Output(NUMERIC, "output"){ description = "Subset of the input" } + Doc(Language.ANY, DocScope.ALL){ + """ + Get a subset of the specified input, by specifying the first element and the size of the array. + For example, if input is: + [a, b, c] + [d, e, f] + then slice(input, begin=[0,1], size=[2,1] will return: + [b] + [e] + Note that for each dimension i, begin[i] + size[i] <= input.size(i) + """.trimIndent() + } + } + + Op("slice") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "input") { description = "input Variable to get subset of" } + Input(INT, "begin") { description = "Beginning index. Must be same length as rank of input array" } + Input(INT, "size") { description = "Size of the output array. Must be same length as rank of input array" } + Output(NUMERIC, "output"){ description = "Subset of the input" } + Doc(Language.ANY, DocScope.ALL){ + """ + Get a subset of the specified input, by specifying the first element and the size of the array. + For example, if input is: + [a, b, c] + [d, e, f] + then slice(input, begin=[0,1], size=[2,1] will return: + [b] + [e] + Note that for each dimension i, begin[i] + size[i] <= input.size(i) + """.trimIndent() + } + } + + Op("squaredNorm") { + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce.floating" + legacy = true + Input(NUMERIC, "x") { description = "" } + Arg(BOOL, "keepDims") { description = ""; defaultValue=false } + Arg(INT, "dimensions") { count = AtLeast(0); description = "" } + Output(NUMERIC, "output"){ description = "" } + Doc(Language.ANY, DocScope.ALL){ + """ + Squared L2 norm: see norm2(String, SDVariable, boolean, int...) + """.trimIndent() + } + useMixin(keepDimsDoc) + } + + Op("squeeze") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "x") { description = "Input variable" } + Arg(INT, "axis") { description = "Size 1 dimension to remove" } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Remove a single dimension of size 1. + For example, if input has shape [a,b,1,c] then squeeze(input, 2) returns an array of shape [a,b,c] + """.trimIndent() + } + } + + Op("stack") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + argsFirst = true + Input(NDARRAY, "values") { count=AtLeast(1); description = "Input variables to stack. Must have the same shape for all inputs" } + Arg(INT, "axis") { description = "Axis to stack on" } + Output(NDARRAY, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Stack a set of N INDArray of rank X into one rank X+1 variable. + If inputs have shape [a,b,c] then output has shape: + axis = 0: [N,a,b,c] + axis = 1: [a,N,b,c] + axis = 2: [a,b,N,c] + axis = 3: [a,b,c,N] + see unstack(String[], SDVariable, int, int) + """.trimIndent() + } + } + + Op("standardDeviation") { + javaPackage = "org.nd4j.linalg.api.ops.impl.summarystats" + legacy = true + Input(NUMERIC, "x") { description = "Input variable" } + Arg(BOOL, "biasCorrected") { description = "If true: divide by (N-1) (i.e., sample stdev). If false: divide by N (population stdev)" } + Arg(BOOL, "keepDims") { description = "If true: keep the dimensions that are reduced on (as size 1). False: remove the reduction dimensions"; defaultValue=false } + Arg(INT, "dimensions") { count= AtLeast(0); description = "Dimensions to reduce over. If dimensions are not specified, full array reduction is performed" } + Output(NUMERIC, "output"){ description = "reduced array of rank (input rank - num dimensions)" } + Doc(Language.ANY, DocScope.ALL){ + """ + Stardard deviation array reduction operation, optionally along specified dimensions + """.trimIndent() + } + useMixin(keepDimsDoc) + } + + Op("stridedSlice") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "in") { description = "Variable to get subset of" } + Arg(LONG, "begin") { count = AtLeast(1); description = "Beginning index" } + Arg(LONG, "end") { count = AtLeast(1); description = "End index" } + Arg(LONG, "strides") { count = AtLeast(1); description = "Stride (\"step size\") for each dimension. For example, stride of 2 means take every second element." } + Arg(INT, "beginMask") { description = "Bit mask: If the ith bit is set to 1, then the value in the begin long[] is ignored, and a value of 0 is used instead for the beginning index for that dimension"; defaultValue=0 } + Arg(INT, "endMask") { description = "Bit mask: If the ith bit is set to 1, then the value in the end long[] is ignored, and a value of size(i)-1 is used instead for the end index for that dimension"; defaultValue=0 } + Arg(INT, "ellipsisMask") { description = "Bit mask: only one non-zero value is allowed here. If a non-zero value is set, then other dimensions are inserted as required at the specified position"; defaultValue=0 } + Arg(INT, "newAxisMask") { description = "Bit mask: if the ith bit is set to 1, then the begin/end/stride values are ignored, and a size 1 dimension is inserted at this point"; defaultValue=0 } + Arg(INT, "shrinkAxisMask") { description = "Bit mask: if the ith bit is set to 1, then the begin/end/stride values are ignored, and a size 1 dimension is removed at this point. Note that begin/end/stride values must result in a size 1 output for these dimensions"; defaultValue=0 } + Output(NUMERIC, "output"){ description = "A subset of the input array" } + Doc(Language.ANY, DocScope.ALL){ + """ + Get a subset of the specified input, by specifying the first element, last element, and the strides. + For example, if input is: + [a, b, c] + [d, e, f] + [g, h, i] + then stridedSlice(input, begin=[0,1], end=[2,2], strides=[2,1], all masks = 0) will return: + [b, c] + [h, i] + """.trimIndent() + } + } + + Op("sum") { + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce.same" + legacy = true + Input(NUMERIC, "x") { description = "Input variable" } + Arg(BOOL, "keepDims") { description = "If true: keep the dimensions that are reduced on (as length 1). False: remove the reduction dimensions"; defaultValue=false } + Arg(INT, "dimensions") { count= AtLeast(0); description = "Dimensions to reduce over. If dimensions are not specified, full array reduction is performed" } + Output(NUMERIC, "output"){ description = "reduced array of rank (input rank - num dimensions) if keepDims = false, or of rank (input rank) if keepdims = true" } + Doc(Language.ANY, DocScope.ALL){ + """ + Sum array reduction operation, optionally along specified dimensions. + """.trimIndent() + } + useMixin(keepDimsDoc) + } + + Op("switchOp") { + javaPackage = "org.nd4j.linalg.api.ops.impl.controlflow.compat" + javaOpClass = "Switch" + legacy = false + Input(NDARRAY, "x") { description = "Input variable" } + Input(BOOL, "predicate"){ description = "Predictate - if false, values are output to left (first) branch/output; if true, to right (second) branch/output"} + Output(NUMERIC, "outputLeft"){ description = "Output when predicate is false" } + Output(NUMERIC, "outputRight"){ description = "Output when predicate is false" } + Doc(Language.ANY, DocScope.ALL){ + """ + Switch operation + Predictate - if false, values are output to left (first) branch/output; if true, to right (second) branch/output + """.trimIndent() + } + } + + Op("tensorMmul") { + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce" + Input(NUMERIC, "x") { description = "Input variable x" } + Input(NUMERIC, "y") { description = "Input variable y" } + Arg(INT, "dimensionsX") { count=AtLeast(1); description = "dimensions for first input array (x)" } + Arg(INT, "dimensionsY") { count=AtLeast(1); description = "dimensions for second input array (y)" } + Arg(BOOL, "transposeX") { description = "Transpose x (first argument)"; defaultValue=false } + Arg(BOOL, "transposeY") { description = "Transpose y (second argument)"; defaultValue=false } + Arg(BOOL, "transposeZ") { description = "Transpose result array"; defaultValue=false } + Output(NUMERIC, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + //TODO: Ops must be documented. + """.trimIndent() + } + } + + Op("tile") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NDARRAY, "x") { description = "Input variable" } + Input(INT, "repeat") { description = "Number of times to repeat in each axis. Must have length equal to the rank of the input array" } + Output(NDARRAY, "output"){ description = "Output variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Repeat (tile) the input tensor the specified number of times. + For example, if input is + [1, 2] + [3, 4] + and repeat is [2, 3] + then output is + [1, 2, 1, 2, 1, 2] + [3, 4, 3, 4, 3, 4] + [1, 2, 1, 2, 1, 2] + [3, 4, 3, 4, 3, 4] + """.trimIndent() + } + } + + Op("tile") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NDARRAY, "x") { description = "" } + Arg(INT, "repeat") { count= AtLeast(1); description = "" } + Output(NDARRAY, "output"){ description = "" } + Doc(Language.ANY, DocScope.ALL){ + """ + see tile(String, SDVariable, int...) + """.trimIndent() + } + } + + Op("transpose") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NDARRAY, "x") { description = "Input variable" } + Output(NDARRAY, "output"){ description = "transposed input" } + Doc(Language.ANY, DocScope.ALL){ + """ + Matrix transpose operation: If input has shape [a,b] output has shape [b,a] + """.trimIndent() + } + } + + Op("unsortedSegmentMax") { + useMixin(unsortedSegmentOp) + Doc(Language.ANY, DocScope.ALL){ + """ + Unsorted segment max operation. As per segmentMax(String, SDVariable, SDVariable) but without + the requirement for the indices to be sorted. + If data = [1, 3, 2, 6, 4, 9, 8] + segmentIds = [1, 0, 2, 0, 1, 1, 2] + then output = [6, 9, 8] = [max(3,6), max(1,4,9), max(2,8)] + """.trimIndent() + } + } + + Op("unsortedSegmentMean") { + useMixin(unsortedSegmentOp) + Doc(Language.ANY, DocScope.ALL){ + """ + Unsorted segment mean operation. As per segmentMean(String, SDVariable, SDVariable) but without + the requirement for the indices to be sorted. + If data = [1, 3, 2, 6, 4, 9, 8] + segmentIds = [1, 0, 2, 0, 1, 1, 2] + then output = [4.5, 4.666, 5] = [mean(3,6), mean(1,4,9), mean(2,8)] + """.trimIndent() + } + } + + Op("unsortedSegmentMin") { + useMixin(unsortedSegmentOp) + Doc(Language.ANY, DocScope.ALL){ + """ + Unsorted segment min operation. As per segmentMin(String, SDVariable, SDVariable) but without + the requirement for the indices to be sorted. + If data = [1, 3, 2, 6, 4, 9, 8] + segmentIds = [1, 0, 2, 0, 1, 1, 2] + then output = [3, 1, 2] = [min(3,6), min(1,4,9), min(2,8)] + """.trimIndent() + } + } + + Op("unsortedSegmentProd") { + useMixin(unsortedSegmentOp) + Doc(Language.ANY, DocScope.ALL){ + """ + Unsorted segment product operation. As per segmentProd(String, SDVariable, SDVariable) but without + the requirement for the indices to be sorted. + If data = [1, 3, 2, 6, 4, 9, 8] + segmentIds = [1, 0, 2, 0, 1, 1, 2] + then output = [4.5, 4.666, 5] = [mean(3,6), mean(1,4,9), mean(2,8)] + """.trimIndent() + } + } + + Op("unsortedSegmentSqrtN") { + useMixin(unsortedSegmentOp) + Doc(Language.ANY, DocScope.ALL){ + """ + Unsorted segment sqrtN operation. Simply returns the sqrt of the count of the number of values in each segment + If data = [1, 3, 2, 6, 4, 9, 8] + segmentIds = [1, 0, 2, 0, 1, 1, 2] + then output = [1.414, 1.732, 1.414] = [sqrt(2), sqrtN(3), sqrtN(2)] + """.trimIndent() + } + } + + Op("unsortedSegmentSum") { + useMixin(unsortedSegmentOp) + Doc(Language.ANY, DocScope.ALL){ + """ + Unsorted segment sum operation. As per segmentSum(String, SDVariable, SDVariable) but without + the requirement for the indices to be sorted. + If data = [1, 3, 2, 6, 4, 9, 8] + segmentIds = [1, 0, 2, 0, 1, 1, 2] + then output = [9, 14, 10] = [sum(3,6), sum(1,4,9), sum(2,8)] + """.trimIndent() + } + } + + Op("variance") { + javaPackage = "org.nd4j.linalg.api.ops.impl.summarystats" + legacy = true + Input(NUMERIC, "x") { description = "Input variable" } + Arg(BOOL, "biasCorrected") { description = "If true: divide by (N-1) (i.e., sample variable). If false: divide by N (population variance)" } + Arg(BOOL, "keepDims") { description = "If true: keep the dimensions that are reduced on (as size 1). False: remove the reduction dimensions"; defaultValue=false } + Arg(INT, "dimensions") { count=AtLeast(0); description = "Dimensions to reduce over. If dimensions are not specified, full array reduction is performed" } + Output(NUMERIC, "output"){ description = "reduced array of rank (input rank - num dimensions)" } + Doc(Language.ANY, DocScope.ALL){ + """ + Variance array reduction operation, optionally along specified dimensions + """.trimIndent() + } + useMixin(keepDimsDoc) + } + + Op("zerosLike") { + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NUMERIC, "input") { description = "Input " } + Output(NUMERIC, "output"){ description = "A new Variable with the same (dynamic) shape as the input" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Return a variable of all 0s, with the same shape as the input variable. Note that this is dynamic: + if the input shape changes in later execution, the returned variable's shape will also be updated + """.trimIndent() + } + } + + Op("any") { + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce.bool" + legacy = true + Input(NDARRAY, "x") { description = " Input variable" } + Arg(INT, "dimensions"){ count = AtLeast(0); description = "Dimensions to reduce over. If dimensions are not specified, full array reduction is performed" } + Output(BOOL, "output"){ description = "reduced array of rank (input rank - num dimensions)" } + Doc(Language.ANY, DocScope.ALL){ + """ + Boolean or array reduction operation, optionally along specified dimensions + """.trimIndent() + } + } + + Op("all") { + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce.bool" + legacy = true + Input(NDARRAY, "x") { description = "Input variable" } + Arg(INT, "dimensions"){ count = AtLeast(0); description = "Dimensions to reduce over. If dimensions are not specified, full array reduction is performed" } + Output(BOOL, "output"){ description = "reduced array of rank (input rank - num dimensions)" } + Doc(Language.ANY, DocScope.ALL){ + """ + Boolean and array reduction operation, optionally along specified dimensions + """.trimIndent() + } + } + + Op("castTo"){ + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.dtype" + javaOpClass = "Cast" + Input(NDARRAY, "arg") { description = "Input variable to cast"} + Arg(DATA_TYPE, "datatype"){ description = "Datatype to cast to"} + Output(NDARRAY, "output"){ description = "Output array (after casting)"} + Doc(Language.ANY, DocScope.ALL){ + """ + Cast the array to a new datatype - for example, Integer -> Float + """.trimIndent() + } + } + + + Op("batchMmul"){ + javaPackage = "org.nd4j.linalg.api.ops.impl.reduce.custom" + Input(NUMERIC, "inputsA"){ count = AtLeast(1); description = "First array of input matrices, all of shape (M, N) or (N, M)"} + Input(NUMERIC, "inputsB"){ count = AtLeast(1); description = " Second array of input matrices, all of shape (N, K) or (K, N)"} + Arg(BOOL, "transposeA"){ description = "Whether to transpose A arrays or not"; defaultValue=false} + Arg(BOOL, "transposeB"){ description = "Whether to transpose B arrays or not"; defaultValue=false} + Output(NUMERIC, "output1"){multiOutput=true; description = "Array of multiplied SDVariables of shape (M, K)"} + + Doc(Language.ANY, DocScope.ALL){ + """ + Matrix multiply a batch of matrices. matricesA and matricesB have to be arrays of same + length and each pair taken from these sets has to have dimensions (M, N) and (N, K), + respectively. If transposeA is true, matrices from matricesA will have shape (N, M) instead. + Likewise, if transposeB is true, matrices from matricesB will have shape (K, N). + + The result of this operation will be a batch of multiplied matrices. The + result has the same length as both input batches and each output matrix is of shape (M, K). + """.trimIndent() + } + } + + Op("unstack"){ + javaPackage = "org.nd4j.linalg.api.ops.impl.shape" + Input(NDARRAY, "value"){ description="Input variable to unstack"} + Arg(INT, "axis"){description = "Axis to unstack on"} + Arg(INT, "num"){ description = "Number of output variables"} + + Doc(Language.ANY, DocScope.ALL){ + """ + Unstack a variable of rank X into N rank X-1 variables by taking slices along the specified axis. + If input has shape [a,b,c] then output has shape: + axis = 0: [b,c] + axis = 1: [a,c] + axis = 2: [a,b] + """.trimIndent() + } + } +} diff --git a/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/SDLoss.kt b/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/SDLoss.kt new file mode 100644 index 000000000..9884dd3e9 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/ops/org/nd4j/codegen/ops/SDLoss.kt @@ -0,0 +1,255 @@ +/** + * Generated using ExtractFromExisting.kt + */ + +package org.nd4j.codegen.ops + +import org.nd4j.codegen.api.Language +import org.nd4j.codegen.api.doc.DocScope +import org.nd4j.codegen.dsl.* +import org.nd4j.codegen.api.DataType.* +import org.nd4j.codegen.api.LossReduce + +fun SDLoss() = Namespace("Loss"){ + + Op("absoluteDifference") { + javaPackage = "org.nd4j.linalg.api.ops.impl.loss" + javaOpClass = "AbsoluteDifferenceLoss" + Input(NUMERIC, "label") { description = "Label array" } + Input(NUMERIC, "predictions") { description = "Predictions array" } + Input(NUMERIC, "weights") { description = "Weights array. May be null. If null, a weight of 1.0 is used" } + Arg(LOSS_REDUCE, "lossReduce") { description = "Reduction type for the loss. See LossReduce for more details. Default: LossReduce#MEAN_BY_NONZERO_WEIGHT_COUNT"; defaultValue = LossReduce.MEAN_BY_NONZERO_WEIGHT_COUNT} + Output(NUMERIC, "output"){ description = "loss variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Absolute difference loss: {@code sum_i abs( label[i] - predictions[i] )} + """.trimIndent() + } + } + + Op("cosineDistance") { + javaPackage = "org.nd4j.linalg.api.ops.impl.loss" + javaOpClass = "CosineDistanceLoss" + Input(NUMERIC, "label") { description = "Label array" } + Input(NUMERIC, "predictions") { description = "Predictions array" } + Input(NUMERIC, "weights") { description = "Weights array. May be null. If null, a weight of 1.0 is use" } + Arg(LOSS_REDUCE, "lossReduce") { description = "Reduction type for the loss. See LossReduce for more details. Default: LossReduce#MEAN_BY_NONZERO_WEIGHT_COUNT"; defaultValue = LossReduce.MEAN_BY_NONZERO_WEIGHT_COUNT} + Arg(INT, "dimension") { description = "Dimension to perform the cosine distance over" } + Output(NUMERIC, "output"){ description = "Cosine distance loss " } + Doc(Language.ANY, DocScope.ALL){ + """ + Cosine distance loss: {@code 1 - cosineSimilarity(x,y)} or {@code 1 - sum_i label[i] * prediction[i]}, which is + equivalent to cosine distance when both the predictions and labels are normalized.
+ Note: This loss function assumes that both the predictions and labels are normalized to have unit l2 norm. + If this is not the case, you should normalize them first by dividing by norm2(String, SDVariable, boolean, int...) + along the cosine distance dimension (with keepDims=true). + """.trimIndent() + } + } + + Op("hingeLoss") { + javaPackage = "org.nd4j.linalg.api.ops.impl.loss" + javaOpClass = "HingeLoss" + Input(NUMERIC, "label") { description = "Label array. Each value should be 0.0 or 1.0 (internally -1 to 1 is used)" } + Input(NUMERIC, "predictions") { description = "Predictions array" } + Input(NUMERIC, "weights") { description = "Weights array. May be null. If null, a weight of 1.0 is used" } + Arg(LOSS_REDUCE, "lossReduce") { description = "Reduction type for the loss. See LossReduce for more details. Default: LossReduce#MEAN_BY_NONZERO_WEIGHT_COUNT"; defaultValue = LossReduce.MEAN_BY_NONZERO_WEIGHT_COUNT} + Output(NUMERIC, "output"){ description = "Loss variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Hinge loss: a loss function used for training classifiers. + Implements {@code L = max(0, 1 - t * predictions)} where t is the label values after internally converting to {-1,1} + from the user specified {0,1}. Note that Labels should be provided with values {0,1}. + """.trimIndent() + } + } + + + Op("huberLoss") { + javaPackage = "org.nd4j.linalg.api.ops.impl.loss" + javaOpClass = "HuberLoss" + Input(NUMERIC, "label") { description = "Label array" } + Input(NUMERIC, "predictions") { description = "Predictions array" } + Input(NUMERIC, "weights") { description = "Weights array. May be null. If null, a weight of 1.0 is used" } + Arg(LOSS_REDUCE, "lossReduce") { description = "Reduction type for the loss. See LossReduce for more details. Default: LossReduce#MEAN_BY_NONZERO_WEIGHT_COUNT"; defaultValue = LossReduce.MEAN_BY_NONZERO_WEIGHT_COUNT} + Arg(FLOATING_POINT, "delta") { description = "Loss function delta value" } + Output(NUMERIC, "output"){ description = "Huber loss" } + Doc(Language.ANY, DocScope.ALL){ + """ + Huber loss function, used for robust regression. It is similar both squared error loss and absolute difference loss, + though is less sensitive to outliers than squared error.
+ Huber loss implements: +
+                {@code L = 0.5 * (label[i] - predictions[i])^2 if abs(label[i] - predictions[i]) < delta}
+                {@code L = delta * abs(label[i] - predictions[i]) - 0.5 * delta^2 otherwise}
+                
+ """.trimIndent() + } + } + + Op("l2Loss") { + javaPackage = "org.nd4j.linalg.api.ops.impl.loss" + javaOpClass = "L2Loss" + Input(NUMERIC, "var") { description = "Variable to calculate L2 loss of" } + Output(NUMERIC, "output"){ description = "L2 loss" } + Doc(Language.ANY, DocScope.ALL){ + """ + L2 loss: 1/2 * sum(x^2) + """.trimIndent() + } + } + + Op("logLoss") { + javaPackage = "org.nd4j.linalg.api.ops.impl.loss" + javaOpClass = "LogLoss" + Input(NUMERIC, "label") { description = "Label array" } + Input(NUMERIC, "predictions") { description = "Predictions array" } + Input(NUMERIC, "weights") { description = "Weights array. May be null. If null, a weight of 1.0 is used"; defaultValue = null } + Arg(LOSS_REDUCE, "lossReduce") { description = "Reduction type for the loss. See LossReduce for more details. Default: LossReduce#MEAN_BY_NONZERO_WEIGHT_COUNT"; defaultValue = LossReduce.MEAN_BY_NONZERO_WEIGHT_COUNT} + Arg(FLOATING_POINT, "epsilon") { description = "epsilon"; defaultValue = 0.0 } + Output(NUMERIC, "output"){ description = "Log loss " } + Doc(Language.ANY, DocScope.ALL){ + """ + Log loss, i.e., binary cross entropy loss, usually used for binary multi-label classification. Implements: + {@code -1/numExamples * sum_i (labels[i] * log(predictions[i] + epsilon) + (1-labels[i]) * log(1-predictions[i] + epsilon))} + """.trimIndent() + } + } + + Op("logPoisson") { + javaPackage = "org.nd4j.linalg.api.ops.impl.loss" + javaOpClass = "LogPoissonLoss" + Input(NUMERIC, "label") { description = "Label array. Each value should be 0.0 or 1.0" } + Input(NUMERIC, "predictions") { description = "Predictions array (has to be log(x) of actual predictions)" } + Input(NUMERIC, "weights") { description = "Weights array. May be null. If null, a weight of 1.0 is used" } + Arg(LOSS_REDUCE, "lossReduce") { description = "Reduction type for the loss. See LossReduce for more details. Default: LossReduce#MEAN_BY_NONZERO_WEIGHT_COUNT"; defaultValue = LossReduce.MEAN_BY_NONZERO_WEIGHT_COUNT} + Arg(BOOL, "full") {description = "Boolean flag. true for logPoissonFull, false for logPoisson"} + Output(NUMERIC, "output"){ description = "Loss variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Log poisson loss: a loss function used for training classifiers. + Implements {@code L = exp(c) - z * c} where c is log(predictions) and z is labels. + """.trimIndent() + } + } + + // logPoissonFull is not implemented. Simply a moniker for logPoisson with full = true + + Op("meanPairwiseSquaredError") { + javaPackage = "org.nd4j.linalg.api.ops.impl.loss" + javaOpClass = "MeanPairwiseSquaredErrorLoss" + Input(NUMERIC, "label") { description = "Label array" } + Input(NUMERIC, "predictions") { description = "Predictions array" } + Input(NUMERIC, "weights") { description = "Weights array. May be null. If null, a weight of 1.0 is used. Must be either null, scalar, or have shape [batchSize]" } + Arg(LOSS_REDUCE, "lossReduce") { description = "Reduction type for the loss. See LossReduce for more details. Default: LossReduce#MEAN_BY_NONZERO_WEIGHT_COUNT"; defaultValue = LossReduce.MEAN_BY_NONZERO_WEIGHT_COUNT} + Output(NUMERIC, "output"){ description = "Loss variable, scalar output" } + Doc(Language.ANY, DocScope.ALL){ + """ + Mean pairwise squared error.
+ MPWSE loss calculates the difference between pairs of consecutive elements in the predictions and labels arrays. + For example, if predictions = [p0, p1, p2] and labels are [l0, l1, l2] then MPWSE is: + {@code [((p0-p1) - (l0-l1))^2 + ((p0-p2) - (l0-l2))^2 + ((p1-p2) - (l1-l2))^2] / 3}
+ """.trimIndent() + } + } + + Op("meanSquaredError") { + javaPackage = "org.nd4j.linalg.api.ops.impl.loss" + javaOpClass = "MeanSquaredErrorLoss" + Input(NUMERIC, "label") { description = "Label array" } + Input(NUMERIC, "predictions") { description = "Predictions array" } + Input(NUMERIC, "weights") { description = "Weights array. May be null. If null, a weight of 1.0 is used" } + Arg(LOSS_REDUCE, "lossReduce") { description = "Reduction type for the loss. See LossReduce for more details. Default: LossReduce#MEAN_BY_NONZERO_WEIGHT_COUNT"; defaultValue = LossReduce.MEAN_BY_NONZERO_WEIGHT_COUNT} + Output(NUMERIC, "output"){ description = "Loss variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Mean squared error loss function. Implements {@code (label[i] - prediction[i])^2} - i.e., squared error on a per-element basis. + When averaged (using LossReduce#MEAN_BY_WEIGHT or LossReduce#MEAN_BY_NONZERO_WEIGHT_COUNT (the default)) + this is the mean squared error loss function. + """.trimIndent() + } + } + + Op("sigmoidCrossEntropy") { + javaPackage = "org.nd4j.linalg.api.ops.impl.loss" + javaOpClass = "SigmoidCrossEntropyLoss" + Input(NUMERIC, "label") { description = "Label array" } + Input(NUMERIC, "predictionLogits") { description = "Predictions array" } + Input(NUMERIC, "weights") { description = "Weights array. May be null. If null, a weight of 1.0 is used" } + Arg(LOSS_REDUCE, "lossReduce") { description = "Reduction type for the loss. See LossReduce for more details. Default: LossReduce#MEAN_BY_NONZERO_WEIGHT_COUNT"; defaultValue = LossReduce.MEAN_BY_NONZERO_WEIGHT_COUNT} + Arg(FLOATING_POINT, "labelSmoothing") { description = "Label smoothing value. Default value: 0"; defaultValue = 0.0} + Output(NUMERIC, "output"){ description = "Loss variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Sigmoid cross entropy: applies the sigmoid activation function on the input logits (input "pre-sigmoid preductions") + and implements the binary cross entropy loss function. This implementation is numerically more stable than using + standard (but separate) sigmoid activation function and log loss (binary cross entropy) loss function.
+ Implements: + {@code -1/numExamples * sum_i (labels[i] * log(sigmoid(logits[i])) + (1-labels[i]) * log(1-sigmoid(logits[i])))} + though this is done in a mathematically equivalent but more numerical stable form.
+
+ When label smoothing is > 0, the following label smoothing is used:
+
+                {@code numClasses = labels.size(1);
+                label = (1.0 - labelSmoothing) * label + 0.5 * labelSmoothing}
+                
+ """.trimIndent() + } + } + + Op("softmaxCrossEntropy") { + javaPackage = "org.nd4j.linalg.api.ops.impl.loss" + javaOpClass = "SoftmaxCrossEntropyLoss" + Input(NUMERIC, "oneHotLabels") { description = "Label array. Should be one-hot per example and same shape as predictions (for example, [mb, nOut])" } + Input(NUMERIC, "logitPredictions") { description = "Predictions array (pre-softmax)" } + Input(NUMERIC, "weights") { description = "Weights array. May be null. If null, a weight of 1.0 is used" } + Arg(LOSS_REDUCE, "lossReduce") { description = "Reduction type for the loss. See LossReduce for more details. Default: LossReduce#MEAN_BY_NONZERO_WEIGHT_COUNT"; defaultValue = LossReduce.MEAN_BY_NONZERO_WEIGHT_COUNT} + Arg(FLOATING_POINT, "labelSmoothing") { description = "Label smoothing value. Default value: 0"; defaultValue = 0.0} + Output(NUMERIC, "output"){ description = "Loss variable" } + Doc(Language.ANY, DocScope.ALL){ + """ + Applies the softmax activation function to the input, then implement multi-class cross entropy:
+ {@code -sum_classes label[i] * log(p[c])} where {@code p = softmax(logits)}
+ If LossReduce#NONE is used, returned shape is [numExamples] out for [numExamples, numClasses] predicitons/labels; + otherwise, the output is a scalar.
+

+ When label smoothing is > 0, the following label smoothing is used:
+

+                {@code numClasses = labels.size(1);
+                oneHotLabel = (1.0 - labelSmoothing) * oneHotLabels + labelSmoothing/numClasses}
+                
+ """.trimIndent() + } + } + + Op("sparseSoftmaxCrossEntropy") { + javaPackage = "org.nd4j.linalg.api.ops.impl.loss" + javaOpClass = "SparseSoftmaxCrossEntropyLossWithLogits" + Input(NUMERIC, "logits") { description = "Logits array (\"pre-softmax activations\")" } + Input(INT, "labels") { description = "Labels array. Must be an integer type." } + Output(NUMERIC, "output"){ description = "Softmax cross entropy" } + Doc(Language.ANY, DocScope.ALL){ + """ + As per softmaxCrossEntropy(String, SDVariable, SDVariable, LossReduce) but the labels variable + is represented as an integer array instead of the equivalent one-hot array.
+ i.e., if logits are rank N, then labels have rank N-1 + """.trimIndent() + } + } + + + Op("weightedCrossEntropyWithLogits") { + javaPackage = "org.nd4j.linalg.api.ops.impl.loss" + javaOpClass = "WeightedCrossEntropyLoss" + Input(NUMERIC, "targets") { description = "targets array" } + Input(NUMERIC, "inputs") { description = "input array" } + Input(NUMERIC, "weights") { description = "eights array. May be null. If null, a weight of 1.0 is used" } + Output(NUMERIC, "output"){ description = "Loss variable" } + + Doc(Language.ANY, DocScope.ALL){ + """ + Weighted cross entropy loss with logits + """.trimIndent() + } + } +} diff --git a/contrib/codegen-tools/codegen/src/main/resources/java/utilClasses/NDValidation.java b/contrib/codegen-tools/codegen/src/main/resources/java/utilClasses/NDValidation.java new file mode 100644 index 000000000..1493e61bc --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/resources/java/utilClasses/NDValidation.java @@ -0,0 +1,122 @@ +/******************************************************************************* + * Copyright (c) 2015-2019 Skymind, Inc. + * Copyright (c) 2019 Konduit, KK. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License, Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * SPDX-License-Identifier: Apache-2.0 + ******************************************************************************/ + +package org.nd4j.linalg.api.ops.experimental; + +import org.nd4j.linalg.api.ndarray.INDArray; +import org.nd4j.linalg.api.buffer.DataType; + +import java.util.Arrays; + +public class NDValidation { + + private NDValidation() { + } + + /** + * Validate that the operation is being applied on a numerical INDArray (not boolean or utf8). + * Some operations (such as sum, norm2, add(Number) etc don't make sense when applied to boolean/utf8 arrays + * + * @param opName Operation name to print in the exception + * @param v Variable to perform operation on + */ + protected static void validateNumerical(String opName, INDArray v, String inputName) { + if (v == null) + return; + if (v.dataType() == DataType.BOOL || v.dataType() == DataType.UTF8) + throw new IllegalStateException("Cannot apply operation \"" + opName + "\" to input \"" + inputName + "\" with non-numerical data type " + v.dataType()); + } + + + /** + * Validate that the operation is being applied on an integer type INDArray + * + * @param opName Operation name to print in the exception + * @param v Variable to validate datatype for (input to operation) + */ + protected static void validateInteger(String opName, INDArray v, String inputName) { + if (v == null) + return; + if (!v.dataType().isIntType()) + throw new IllegalStateException("Cannot apply operation \"" + opName + "\" to input \"" + inputName + "\" with non-integer data type " + v.dataType()); + } + + + /** + * Validate that the operation is being applied on an floating point type INDArray + * + * @param opName Operation name to print in the exception + * @param v Variable to validate datatype for (input to operation) + */ + protected static void validateFloatingPoint(String opName, INDArray v, String inputName) { + if (v == null) + return; + if (!v.dataType().isFPType()) + throw new IllegalStateException("Cannot apply operation \"" + opName + "\" to input \"" + inputName + "\" with non-floating point data type " + v.dataType()); + } + + + /** + * Validate that the operation is being applied on a boolean type INDArray + * + * @param opName Operation name to print in the exception + * @param v Variable to validate datatype for (input to operation) + */ + protected static void validateBool(String opName, INDArray v, String inputName) { + if (v == null) + return; + if (v.dataType() != DataType.BOOL) + throw new IllegalStateException("Cannot apply operation \"" + opName + "\" to inputName \"" + inputName + "\" with non-boolean point data type " + v.dataType()); + } + + /** + * Validate that the operation is being applied on array with the exact same datatypes + * + * @param opName Operation name to print in the exception + * @param vars Variable to perform operation on + */ + protected static void validateSameType(String opName, INDArray... vars) { + if (isSameType(vars)){ + return; + } + else{ + DataType[] dtypes = new DataType[vars.length]; + for (int j = 0; j < vars.length; j++) { + dtypes[j] = vars[j].dataType(); + } + throw new IllegalStateException("Cannot perform operation \"" + opName + "\" to inputs with different datatypes:" + + " datatypes " + Arrays.toString(dtypes)); + } + } + + /** + * Is the operation being applied on array with the exact same datatypes? + * + * @param vars Variable to perform operation on + */ + protected static boolean isSameType(INDArray... vars) { + if (vars.length > 1) { + DataType first = vars[0].dataType(); + for (int i = 1; i < vars.length; i++) { + if (first != vars[i].dataType()) { + return false; + } + } + } + return true; + } +} diff --git a/contrib/codegen-tools/codegen/src/main/resources/logback.xml b/contrib/codegen-tools/codegen/src/main/resources/logback.xml new file mode 100644 index 000000000..a56d5131d --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/resources/logback.xml @@ -0,0 +1,49 @@ + + + + + + + + logs/application.log + + %logger{15} - %message%n%xException{5} + + + + + + + %logger{15} - %message%n%xException{5} + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/main/resources/namespaces/math.json b/contrib/codegen-tools/codegen/src/main/resources/namespaces/math.json new file mode 100644 index 000000000..59ea7917d --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/resources/namespaces/math.json @@ -0,0 +1,54 @@ +{ "name" : "math", + + "include" : [ + + ], + + "ops": [ + + { + "opName" : "BaseArithmeticOp", + "isAbstract" : true, + "javaPackage" : "org.nd4j.linalg.api.ops.impl.transforms.pairwise.arithmetic", + "inputs" : [ { + "name" : "x", + "description" : "First input to %OPNAME%", + "constraints" : ["T"] + }, { + "name" : "y", + "description" : "Second input to %OPNAME%", + "constraints" : ["T"] + } ], + "outputs" : [ { + "name" : "z", + "description" : "Output array after executing %OPNAME% on inputs" + } ], + "args" : null, + "constraints" : { + "T": { + "type": "allowed_dtype", + "values": [ + "NUMERICAL" + ] + } + }, + "doc" : [ { + "scope" : "ALL", + "language" : "ANY", + "text" : "%OPNAME% op doc text that will appear everywhere - classes, constructors, op creators" + } ] + }, + + + { + "opName" : "Add", + "libnd4jOpName" : "add", + "extendsOp" : "BaseArithmeticOp" + }, + + { + "opName" : "Sub", + "libnd4jOpName" : "sub", + "extendsOp" : "BaseArithmeticOp" + } +]} diff --git a/contrib/codegen-tools/codegen/src/main/resources/nd4j-op-defs-2.proto b/contrib/codegen-tools/codegen/src/main/resources/nd4j-op-defs-2.proto new file mode 100644 index 000000000..747cc4414 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/resources/nd4j-op-defs-2.proto @@ -0,0 +1,20155 @@ +opList { + name: "Assert" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "BinaryMinimalRelativeError" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "thresholdRelative" + argType: DOUBLE + } + argDescriptor { + name: "thresholdAbsolute" + argType: DOUBLE + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "BinaryRelativeError" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "threshold" + argType: DOUBLE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "ClipByValue" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "clipValueMin" + argType: DOUBLE + } + argDescriptor { + name: "clipValueMax" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } +} +opList { + name: "Conditional" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LOGIC_OP_IMPL +} +opList { + name: "ExternalErrorsFn" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "Floor" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "Log1p" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "ParallelConcat" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "Pow" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "Pow_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdz" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdx" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdy" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dLdx" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdy" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "Reciprocal" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "RelativeError" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "Return" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LOGIC_OP_IMPL +} +opList { + name: "Scope" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LOGIC_OP_IMPL +} +opList { + name: "Switch" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "condition" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: DIVERGENT_OP_IMPL +} +opList { + name: "Where" + argDescriptor { + name: "condition" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "While" + argDescriptor { + name: "condition" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "isConstant" + argType: BOOL + } + opDeclarationType: LOGIC_OP_IMPL +} +opList { + name: "_geluderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "_mishderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "_powderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "pow" + argType: DOUBLE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "_precise_geluderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "precise" + argType: BOOL + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "_sigmoidderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "_swishderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "_tanhderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "abs" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "absolute_difference_loss" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "absolute_difference_loss_grad" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "acos" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "acosh" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "ada_delta_updater" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "initStateMsg" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "initStateMsdx" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "rho" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "updatedStateMsdx" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "update" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "stateMsg" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "stateMsdx" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dRho" + argType: DOUBLE + } + argDescriptor { + name: "dEpsilon" + argType: DOUBLE + argIndex: 1 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "ada_grad_updater" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "initState" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "lr" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "update" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "stateH" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLr" + argType: DOUBLE + } + argDescriptor { + name: "dEpsilon" + argType: DOUBLE + argIndex: 1 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "ada_max_updater" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "initStateU" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "initStateM" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "lr" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "beta1" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "beta2" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "update" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "stateU" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "stateM" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLr" + argType: DOUBLE + } + argDescriptor { + name: "dBeta1" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dBeta2" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "dEpsilon" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "iteration" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "adam_updater" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "initStateU" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "initStateM" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "lr" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "beta1" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "beta2" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "update" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "stateU" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "stateM" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLr" + argType: DOUBLE + } + argDescriptor { + name: "dBeta1" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dBeta2" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "dEpsilon" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "iteration" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "add" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "add_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "add_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "adjust_contrast" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "factor" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "adjust_contrast_v2" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "factor" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "adjust_hue" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "delta" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "factor" + argType: DOUBLE + } + argDescriptor { + name: "dimC" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "adjust_saturation" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "factor" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "factor" + argType: DOUBLE + } + argDescriptor { + name: "dimC" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "all" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "alpha_dropout" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "a" + argType: DOUBLE + } + argDescriptor { + name: "b" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "alphaPrime" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "beta" + argType: DOUBLE + argIndex: 3 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "alpha_dropout_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradOut" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "reduceShape" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "probValue" + argType: DOUBLE + } + argDescriptor { + name: "alphaValue" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "alpha1Value" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "betaValue" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "seed" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "amax" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "amax_pairwise" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "amean" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "amin" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "amin_pairwise" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "ams_grad_updater" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "initStateV" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "initStateM" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "initStateH" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "lr" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "beta1" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "beta2" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "update" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "stateV" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "stateM" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "stateH" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLr" + argType: DOUBLE + } + argDescriptor { + name: "dBeta1" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dBeta2" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "dEpsilon" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "iteration" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "and" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "comparable" + argType: DOUBLE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "and_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "any" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "apply_sgd" + argDescriptor { + name: "parameters" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradients" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "tarr" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Z" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "lr" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "applygradientdescent" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "argamax" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "argamin" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "argmax" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "argmin" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "asin" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "asinh" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "assign" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "assign_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "asum" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "atan" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "atanh" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "avgpool2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "avgpool2d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "avgpool3dnew" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kD" + argType: INT64 + } + argDescriptor { + name: "kH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sD" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "pD" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "dD" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 11 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 12 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 13 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 14 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "avgpool3dnew_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kD" + argType: INT64 + } + argDescriptor { + name: "kH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sD" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "pD" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "dD" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 11 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 12 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 13 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 14 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "axpy" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "alpha" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "a" + argType: DOUBLE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "barnes_edge_forces" + argDescriptor { + name: "rowP" + argType: INPUT_TENSOR + } + argDescriptor { + name: "colP" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "valP" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dataP" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "N" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "barnes_gains" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradX" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "barnes_symmetrized" + argDescriptor { + name: "rowP" + argType: INPUT_TENSOR + } + argDescriptor { + name: "colP" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "valP" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outRows" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outputRows" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "outputCols" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputVals" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "N" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "batch_to_space" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "crop" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "blockSize" + argType: INT64 + } + argDescriptor { + name: "croppingTop" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "croppingBottom" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "batch_to_space_nd" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "blockShape" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "crop" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "blocks" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "batched_gemm" + argDescriptor { + name: "alpha" + argType: INPUT_TENSOR + } + argDescriptor { + name: "beta" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "vA" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "vB" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "vC" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "transposeA" + argType: BOOL + } + argDescriptor { + name: "transposeB" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "transA" + argType: INT64 + } + argDescriptor { + name: "transB" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "M" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "N" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "K" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "ldA" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "ldB" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "ldC" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "batchSize" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "batchnorm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "mean" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "variance" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gamma" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: DOUBLE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "applyGamma" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "applyBeta" + argType: BOOL + argIndex: 2 + } + argDescriptor { + name: "applyScale" + argType: INT64 + } + argDescriptor { + name: "applyOffset" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "batchnorm_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "mean" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "variance" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gamma" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdM" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdV" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdG" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "epsilon" + argType: DOUBLE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "applyGamma" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "applyBeta" + argType: BOOL + argIndex: 2 + } + argDescriptor { + name: "applyScale" + argType: INT64 + } + argDescriptor { + name: "applyOffset" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "betainc" + argDescriptor { + name: "a" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "biasadd" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "nchw" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "biasadd_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "nchw" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "bincount" + argDescriptor { + name: "values" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "min" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "max" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "minLength" + argType: INT64 + } + argDescriptor { + name: "maxLength" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "outputType" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "outputType" + argType: DATA_TYPE + } +} +opList { + name: "bitcast" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "newType" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "bits_hamming_distance" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "bitwise_and" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "bitwise_or" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "bitwise_xor" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "bool_not" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "boolean_and" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "boolean_not" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "boolean_or" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "boolean_xor" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "broadcast_amax" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_amin" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_dynamic_shape" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "broadcast_equalto" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dimension" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_greaterthan" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_greaterthanorequal" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_lessthan" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_lessthanorequal" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_max" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_min" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_notequal" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_to" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "broadcastadd" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dimension" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcastcopy" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcastdiv" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcastgradientargs" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimension" + argType: INT64 + } + opDeclarationType: OP_IMPL +} +opList { + name: "broadcastmul" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcastrdiv" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcastrsub" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcastsub" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "car" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "compare" + argType: DOUBLE + } + argDescriptor { + name: "set" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "eps" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "mode" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cas" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "compare" + argType: DOUBLE + } + argDescriptor { + name: "set" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "eps" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "mode" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cast" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dst" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "cbow" + argDescriptor { + name: "target" + argType: INPUT_TENSOR + } + argDescriptor { + name: "ngStarter" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "context" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "codes" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "syn0" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "syn1" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "syn1neg" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "expTable" + argType: INPUT_TENSOR + argIndex: 8 + } + argDescriptor { + name: "negTable" + argType: INPUT_TENSOR + argIndex: 9 + } + argDescriptor { + name: "alpha" + argType: INPUT_TENSOR + argIndex: 10 + } + argDescriptor { + name: "randomValue" + argType: INPUT_TENSOR + argIndex: 11 + } + argDescriptor { + name: "numLabels" + argType: INPUT_TENSOR + argIndex: 12 + } + argDescriptor { + name: "lockedWords" + argType: INPUT_TENSOR + argIndex: 13 + } + argDescriptor { + name: "inferenceVector" + argType: INPUT_TENSOR + argIndex: 14 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "trainWords" + argType: BOOL + } + argDescriptor { + name: "isInference" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "numWorkers" + argType: INT64 + } + argDescriptor { + name: "nsRounds" + argType: INT64 + argIndex: 1 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "ceil" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cell_contains" + argDescriptor { + name: "corner" + argType: INPUT_TENSOR + } + argDescriptor { + name: "width" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "point" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "contains" + argType: BOOL + } + argDescriptor { + name: "dimension" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "check_numerics" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "message" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "choice" + argDescriptor { + name: "source" + argType: INPUT_TENSOR + } + argDescriptor { + name: "probabilities" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cholesky" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "choose" + argDescriptor { + name: "arg" + argType: INPUT_TENSOR + } + argDescriptor { + name: "comp" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numResults" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "scalar" + argType: DOUBLE + } + argDescriptor { + name: "mode" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "clip_by_global_norm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "clipNorm" + argType: DOUBLE + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "clipbyavgnorm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "clipNorm" + argType: DOUBLE + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "clipbyavgnorm_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "clipNorm" + argType: DOUBLE + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "clipbynorm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "clipValue" + argType: DOUBLE + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "clipbynorm_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "clipValue" + argType: DOUBLE + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "clipbyvalue" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "left" + argType: DOUBLE + } + argDescriptor { + name: "right" + argType: DOUBLE + argIndex: 1 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "clone_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "col2im" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inputArrays" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "strideY" + argType: INT64 + } + argDescriptor { + name: "strideX" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "padHeight" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "padWidth" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "imgHeight" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "imgWidth" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dY" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dX" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "compare_and_bitpack" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "threshold" + argType: DOUBLE + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "compat_sparse_to_dense" + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "values" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "def" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "compat_string_split" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "delim" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "values" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "indices" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "values" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "concat" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "concatDimension" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "isDynamicAxis" + argType: BOOL + } + argDescriptor { + name: "concatDimension" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "concat_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "originalChunk" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsilonChunk" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dynamicAxis" + argType: BOOL + } + argDescriptor { + name: "concatDimension" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "confusion_matrix" + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + } + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numClasses" + argType: INT64 + } + argDescriptor { + name: "dataType" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "conv1d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kW" + argType: INT64 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "paddingMode" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "isNCW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "conv1d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "kW" + argType: INT64 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "paddingMode" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "isNCW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "conv2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "conv2d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "conv2d_input_bp" + argDescriptor { + name: "gradIShape" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "conv3dnew" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kD" + argType: INT64 + } + argDescriptor { + name: "kH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sD" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "pD" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "dD" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 11 + } + argDescriptor { + name: "paddingMode" + argType: INT64 + argIndex: 12 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 13 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 14 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "conv3dnew_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "kD" + argType: INT64 + } + argDescriptor { + name: "kH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sD" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "pD" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "dD" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 11 + } + argDescriptor { + name: "paddingMode" + argType: INT64 + argIndex: 12 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 13 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 14 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "copy" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cos" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cosh" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cosine_distance_loss" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } + argDescriptor { + name: "dimensions" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "cosine_distance_loss_grad" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } + argDescriptor { + name: "dimensions" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "cosinedistance" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "allDistances" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cosinesimilarity" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "allDistances" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "countNonZero" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "countZero" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "create" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "init" + argType: BOOL + } + argDescriptor { + name: "order" + argType: INT64 + } + argDescriptor { + name: "outputType" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "outputType" + argType: DATA_TYPE + } +} +opList { + name: "create_list" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "height" + argType: INT64 + } + argDescriptor { + name: "expandable" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "crelu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "crelu_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilonNext" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsilon" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "crop_and_resize" + argDescriptor { + name: "image" + argType: INPUT_TENSOR + } + argDescriptor { + name: "boxes" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "boxIndexes" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "newImageSize" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "extrapolationVal" + argType: DOUBLE + } + argDescriptor { + name: "method" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "cross" + argDescriptor { + name: "a" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "o" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "cube" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "cube_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "cubederivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cumprod" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "exclusive" + argType: BOOL + } + argDescriptor { + name: "reverse" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "exclusive" + argType: INT64 + } + argDescriptor { + name: "reverse" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + argIndex: 2 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "cumprod_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradOut" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "exclusive" + argType: BOOL + } + argDescriptor { + name: "reverse" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "exclusive" + argType: INT64 + } + argDescriptor { + name: "reverse" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "cumsum" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "exclusive" + argType: BOOL + } + argDescriptor { + name: "reverse" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "exclusive" + argType: INT64 + } + argDescriptor { + name: "reverse" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + argIndex: 2 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "cumsum_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradOut" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "exclusive" + argType: BOOL + } + argDescriptor { + name: "reverse" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "exclusive" + argType: INT64 + } + argDescriptor { + name: "reverse" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "cyclic_rshift_bits" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "cyclic_shift_bits" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "decode_bitmap" + argDescriptor { + name: "start" + argType: INPUT_TENSOR + } + argDescriptor { + name: "encoded" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "decode_threshold" + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + } + argDescriptor { + name: "encoded" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "deconv2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "deconv2d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "deconv2d_tf" + argDescriptor { + name: "gradIShape" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "deconv3d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kD" + argType: INT64 + } + argDescriptor { + name: "kH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sD" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "pD" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "dD" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 11 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 12 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 13 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 14 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "deconv3d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "kD" + argType: INT64 + } + argDescriptor { + name: "kH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sD" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "pD" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "dD" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 11 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 12 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 13 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 14 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "deconv3d_tf" + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "depth_to_space" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "block_size" + argType: INT64 + } + argDescriptor { + name: "isNHWC" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "depthwise_conv2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "depthwise_conv2d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "diag" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "diag_part" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "digamma" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "dilation2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "r" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "s" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "isSameMode" + argType: BOOL + } + argDescriptor { + name: "isSameMode" + argType: INT64 + } + argDescriptor { + name: "rates" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "strides" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "distribution_bernoulli" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "prob" + argType: DOUBLE + } + argDescriptor { + name: "dataType" + argType: INT64 + } + argDescriptor { + name: "shape" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "distribution_binomial" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "probability" + argType: DOUBLE + } + argDescriptor { + name: "trials" + argType: INT64 + } + argDescriptor { + name: "dataType" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "shape" + argType: INT64 + argIndex: 2 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "distribution_binomial_ex" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "probability" + argType: DOUBLE + } + argDescriptor { + name: "trials" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "distribution_gaussian" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "mean" + argType: DOUBLE + } + argDescriptor { + name: "stddev" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: INT64 + } + argDescriptor { + name: "shape" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "distribution_lognormal" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "mean" + argType: DOUBLE + } + argDescriptor { + name: "stdev" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: INT64 + } + argDescriptor { + name: "shape" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "distribution_truncated" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "mean" + argType: DOUBLE + } + argDescriptor { + name: "stddev" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: INT64 + } + argDescriptor { + name: "shape" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "distribution_uniform" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "from" + argType: DOUBLE + } + argDescriptor { + name: "to" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: INT64 + } + argDescriptor { + name: "shape" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "div_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "divide" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "divide_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "divide_no_nan" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "dot" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "newFormat" + argType: BOOL + } + argDescriptor { + name: "keepDims" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "dot_product_attention" + argDescriptor { + name: "queries" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keys" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "values" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "mask" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "scaled" + argType: BOOL + } + argDescriptor { + name: "withWeights" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "normalization" + argType: INT64 + } + argDescriptor { + name: "outputWeights" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "dot_product_attention_bp" + argDescriptor { + name: "queries" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keys" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "values" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "eps" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "mask" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dLdq" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdk" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdv" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "scaled" + argType: BOOL + } + argDescriptor { + name: "normalization" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "draw_bounding_boxes" + argDescriptor { + name: "images" + argType: INPUT_TENSOR + } + argDescriptor { + name: "boxes" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "colors" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "dropout" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "reduceShape" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "probValue" + argType: DOUBLE + } + argDescriptor { + name: "seed" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "dropout_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradOut" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "reduceShape" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "probValue" + argType: DOUBLE + } + argDescriptor { + name: "seed" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "dropout_inverted" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "p" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "dynamic_bidirectional_rnn" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "WxFW" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "WhFW" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "bFW" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "WxBW" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "WhBW" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "bBW" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "h0FW" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "h0BW" + argType: INPUT_TENSOR + argIndex: 8 + } + argDescriptor { + name: "hFW" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "hBW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "hFWFinal" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "hBWFinal" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "timeMajor" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "dynamic_partition" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputList" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numPartitions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "dynamic_partition_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradsAtOutput" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputList" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numPartition" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "dynamic_rnn" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wh" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "maxTimeStep" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "hFinal" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "timeMajor" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "dynamic_stitch" + argDescriptor { + name: "index" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numPartitions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "elu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "elu_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "embedding_lookup" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "partition_mode" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "encode_bitmap" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "encoded" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "counter" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "encoded" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "counter" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "threshold" + argType: DOUBLE + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "encode_threshold" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "encoded" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updated" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "encoded" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "threshold" + argType: DOUBLE + } + argDescriptor { + name: "boundary" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "enter" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "isConstant" + argType: BOOL + } +} +opList { + name: "entropy" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "eps" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "eps_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "equals" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_BOOL_OP_IMPL +} +opList { + name: "equals_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "equals_with_eps" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "eps" + argType: DOUBLE + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "erf" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "erfc" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "euclidean" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "allDistances" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "evaluate_reduction_shape" + argDescriptor { + name: "inputShape" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "oldFormat" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "exit" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "exp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "expand_dims" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "expm1" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "expose" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "extract_image_patches" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "sameMode" + argType: BOOL + } + argDescriptor { + name: "ksizeRows" + argType: INT64 + } + argDescriptor { + name: "ksizeCols" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kstrideRows" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "kstrideCols" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "krateRows" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "krateCols" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "eye" + argDescriptor { + name: "numRows" + argType: INPUT_TENSOR + } + argDescriptor { + name: "numCols" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DOUBLE + } + argDescriptor { + name: "numRows" + argType: INT64 + } + argDescriptor { + name: "numCols" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "batchDimension" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "dataType" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "fake_quant_with_min_max_args" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "min" + argType: DOUBLE + } + argDescriptor { + name: "max" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "narrowRange" + argType: BOOL + } + argDescriptor { + name: "numBits" + argType: INT64 + } +} +opList { + name: "fake_quant_with_min_max_vars" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "min" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "max" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "m" + argType: DOUBLE + } + argDescriptor { + name: "m2" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "narrowed" + argType: BOOL + } + argDescriptor { + name: "numBits" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "fake_quant_with_min_max_vars_per_channel" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "min" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "max" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "narrowed" + argType: BOOL + } + argDescriptor { + name: "numBits" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "fill" + argDescriptor { + name: "shapeArray" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "value" + argType: DOUBLE + } + argDescriptor { + name: "outputDataType" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "fill_as" + argDescriptor { + name: "s" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "firas_sparse" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "first_index" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "compare" + argType: DOUBLE + } + argDescriptor { + name: "eps" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "mode" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "flatten" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "order" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "floor" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "floordiv" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "floordiv_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "floormod" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "floormod_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "fmod" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "fmod_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "fused_batch_norm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "scale" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "offset" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "mean" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "variance" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "batchMeanVar" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "y" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "batchMean" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "batchVar" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "epsilon" + argType: DOUBLE + } + argDescriptor { + name: "dataFormat" + argType: INT64 + } + argDescriptor { + name: "isTraining" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "gather" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "intArgs" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "gather_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "gather_nd" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "checkIndices" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "gelu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "precise" + argType: BOOL + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "get_seed" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "gradientbackwards" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "greater" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_BOOL_OP_IMPL +} +opList { + name: "greater_equal" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_BOOL_OP_IMPL +} +opList { + name: "greaterthan_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "greaterthanorequal_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "grid_free" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "gru" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "hI" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Wh" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "gruCell" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "hLast" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wru" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Wc" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "bru" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "bc" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "r" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "u" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "c" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "gruCell_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "hi" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "W" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Wc" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "bc" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "dLdr" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "dLdu" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "dLdc" + argType: INPUT_TENSOR + argIndex: 8 + } + argDescriptor { + name: "dLdh" + argType: INPUT_TENSOR + argIndex: 9 + } + argDescriptor { + name: "dLdx" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdhi" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdW" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdWc" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdb" + argType: OUTPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dLdbc" + argType: OUTPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "gru_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "hI" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Wh" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dLdh" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "dLdx" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdhI" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdWx" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdWh" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdb" + argType: OUTPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "hammingdistance" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "allDistances" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "hard_sigmoid" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "hard_sigmoidderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "hardsigmoid" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "hardsigmoid_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "hardtanh" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "hardtanh_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "hardtanhderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "hashcode" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "hasinf" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "hasnan" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "hinge_loss" + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "hinge_loss_grad" + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "histogram" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numBins" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "histogram_fixed_width" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "range" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "numBins" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "nbins" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "hsv_to_rgb" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "huber_loss" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "delta" + argType: DOUBLE + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "huber_loss_grad" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "delta" + argType: DOUBLE + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "identity" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: OP_IMPL +} +opList { + name: "identity_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "identity_n" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "igamma" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "igammac" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "im2col" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inputArrays" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "zeroPadVal" + argType: DOUBLE + } + argDescriptor { + name: "kernelHeight" + argType: INT64 + } + argDescriptor { + name: "kernelWidth" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "strideY" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "strideX" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "padHeight" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "padWidth" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dY" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dX" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "im2col_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradAtOutput" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "zeroPadVal" + argType: DOUBLE + } + argDescriptor { + name: "kernelHeight" + argType: INT64 + } + argDescriptor { + name: "kernelWidth" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "strideY" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "strideX" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dY" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dX" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "image_resize" + argDescriptor { + name: "image" + argType: INPUT_TENSOR + } + argDescriptor { + name: "size" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "preserveAspectRatio" + argType: BOOL + } + argDescriptor { + name: "antialias" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "method" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "in_top_k" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "target" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "sorted" + argType: BOOL + } + argDescriptor { + name: "k" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "invert_permutation" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "is_non_decreasing" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BOOLEAN_OP_IMPL +} +opList { + name: "is_numeric_tensor" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BOOLEAN_OP_IMPL +} +opList { + name: "is_strictly_increasing" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BOOLEAN_OP_IMPL +} +opList { + name: "isfinite" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "isinf" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "ismax" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "isnan" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "jaccarddistance" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "allDistances" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "knn_mindistance" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "lowest" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "highest" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "distance" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "l2_loss" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "last_index" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "compare" + argType: DOUBLE + } + argDescriptor { + name: "eps" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "mode" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "layer_norm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gain" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "noBias" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "layer_norm_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gain" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "eps" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdx" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dLdg" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "dLdb" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "dLdx" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdg" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdb" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "noBias" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "leakyrelu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "leakyreluderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: DOUBLE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "less" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_BOOL_OP_IMPL +} +opList { + name: "less_equal" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_BOOL_OP_IMPL +} +opList { + name: "lessthan_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "lessthanorequal_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "lgamma" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "lin_space" + argDescriptor { + name: "start" + argType: INPUT_TENSOR + } + argDescriptor { + name: "finish" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "numOfElements" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "start" + argType: DOUBLE + } + argDescriptor { + name: "stop" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "elements" + argType: INT64 + } + argDescriptor { + name: "number" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } +} +opList { + name: "linspace_random" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "from" + argType: DOUBLE + } + argDescriptor { + name: "step" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "length" + argType: INT64 + } + argDescriptor { + name: "dataType" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "listdiff" + argDescriptor { + name: "values" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keep" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "output1" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "output2" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "log" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "log1p" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "log_loss" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: DOUBLE + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "log_loss_grad" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "epsilon" + argType: DOUBLE + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "log_matrix_determinant" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "log_poisson_loss" + argDescriptor { + name: "log_predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "full" + argType: BOOL + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "log_poisson_loss_grad" + argDescriptor { + name: "log_predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "full" + argType: BOOL + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "log_softmax" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimension" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "log_softmax_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimension" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "log_x" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "base" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "logdet" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "logentropy" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "logsigmoid" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "loop_cond" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "lrelu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "lrelu_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "lrn" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "bias" + argType: DOUBLE + } + argDescriptor { + name: "alpha" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "beta" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "depth" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "lrn_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "bias" + argType: DOUBLE + } + argDescriptor { + name: "alpha" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "beta" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "depth" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "lstm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "h0" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "c0" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "Wh" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "Wc" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "Wp" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "c" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "clippingCellValue" + argType: DOUBLE + } + argDescriptor { + name: "clippingProjValue" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "forgetBias" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "peephole" + argType: INT64 + } + argDescriptor { + name: "projection" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "lstmBlock" + argDescriptor { + name: "maxTSLength" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "cLast" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "yLast" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "W" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "Wci" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "Wcf" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "Wco" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 8 + } + argDescriptor { + name: "i" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "c" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "f" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "o" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "y" + argType: OUTPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "forgetBias" + argType: DOUBLE + } + argDescriptor { + name: "clippingCellValue" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "peephole" + argType: INT64 + } + argDescriptor { + name: "dataFormat" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "lstmBlockCell" + argDescriptor { + name: "xt" + argType: INPUT_TENSOR + } + argDescriptor { + name: "cLast" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "yLast" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "W" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "Wci" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "Wcf" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "Wco" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "i" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "c" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "f" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "o" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "y" + argType: OUTPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "forgetBias" + argType: DOUBLE + } + argDescriptor { + name: "clippingCellValue" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "peephole" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "lstmCell" + argDescriptor { + name: "xt" + argType: INPUT_TENSOR + } + argDescriptor { + name: "ht_1" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "ct_1" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "Wh" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "Wc" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "Wp" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "ht" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "ct" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "clippingCellValue" + argType: DOUBLE + } + argDescriptor { + name: "clippingProjValue" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "forgetBias" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "peephole" + argType: INT64 + } + argDescriptor { + name: "projection" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "lstmLayer" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wr" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "seqLen" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "hI" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "cI" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "Wp" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "hL" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "cL" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "cellClip" + argType: DOUBLE + } + argDescriptor { + name: "gateAlpha" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "gateBeta" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "cellAlpha" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "cellBeta" + argType: DOUBLE + argIndex: 4 + } + argDescriptor { + name: "outAlpha" + argType: DOUBLE + argIndex: 5 + } + argDescriptor { + name: "outBeta" + argType: DOUBLE + argIndex: 6 + } + argDescriptor { + name: "hasBiases" + argType: BOOL + } + argDescriptor { + name: "hasSeqLen" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "hasInitH" + argType: BOOL + argIndex: 2 + } + argDescriptor { + name: "hasInitC" + argType: BOOL + argIndex: 3 + } + argDescriptor { + name: "hasPH" + argType: BOOL + argIndex: 4 + } + argDescriptor { + name: "retFullSeq" + argType: BOOL + argIndex: 5 + } + argDescriptor { + name: "retLastH" + argType: BOOL + argIndex: 6 + } + argDescriptor { + name: "retLastC" + argType: BOOL + argIndex: 7 + } + argDescriptor { + name: "dataFormat" + argType: INT64 + } + argDescriptor { + name: "directionMode" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "gateAct" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "cellAct" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "outAct" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "lstmLayerCell" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wr" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "hI" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "cI" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "Wp" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "c" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "cellClip" + argType: DOUBLE + } + argDescriptor { + name: "gateAlpha" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "gateBeta" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "cellAlpha" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "cellBeta" + argType: DOUBLE + argIndex: 4 + } + argDescriptor { + name: "outAlpha" + argType: DOUBLE + argIndex: 5 + } + argDescriptor { + name: "outBeta" + argType: DOUBLE + argIndex: 6 + } + argDescriptor { + name: "hasBiases" + argType: BOOL + } + argDescriptor { + name: "hasPH" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "gateAct" + argType: INT64 + } + argDescriptor { + name: "cellAct" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "outAct" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "lstmLayerCellBp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wr" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "hI" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "cI" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "Wp" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "dLdh" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "dLdx" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdWx" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdWr" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdb" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdhI" + argType: OUTPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dLdcI" + argType: OUTPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "dLdWp" + argType: OUTPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "cellClip" + argType: DOUBLE + } + argDescriptor { + name: "gateAlpha" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "gateBeta" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "cellAlpha" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "cellBeta" + argType: DOUBLE + argIndex: 4 + } + argDescriptor { + name: "outAlpha" + argType: DOUBLE + argIndex: 5 + } + argDescriptor { + name: "outBeta" + argType: DOUBLE + argIndex: 6 + } + argDescriptor { + name: "hasBiases" + argType: BOOL + } + argDescriptor { + name: "hasPH" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "gateAct" + argType: INT64 + } + argDescriptor { + name: "cellAct" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "outAct" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "lstmLayer_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wr" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "seqLen" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "hI" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "cI" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "Wp" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "dLdh" + argType: INPUT_TENSOR + argIndex: 8 + } + argDescriptor { + name: "dLdhL" + argType: INPUT_TENSOR + argIndex: 9 + } + argDescriptor { + name: "dLdcL" + argType: INPUT_TENSOR + argIndex: 10 + } + argDescriptor { + name: "dLdsL" + argType: INPUT_TENSOR + argIndex: 11 + } + argDescriptor { + name: "dLdx" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdWx" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdWr" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdb" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdhI" + argType: OUTPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dLdcI" + argType: OUTPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "dLdWp" + argType: OUTPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "cellClip" + argType: DOUBLE + } + argDescriptor { + name: "gateAlpha" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "gateBeta" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "cellAlpha" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "cellBeta" + argType: DOUBLE + argIndex: 4 + } + argDescriptor { + name: "outAlpha" + argType: DOUBLE + argIndex: 5 + } + argDescriptor { + name: "outBeta" + argType: DOUBLE + argIndex: 6 + } + argDescriptor { + name: "hasBiases" + argType: BOOL + } + argDescriptor { + name: "hasSeqLen" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "hasInitH" + argType: BOOL + argIndex: 2 + } + argDescriptor { + name: "hasInitC" + argType: BOOL + argIndex: 3 + } + argDescriptor { + name: "hasPH" + argType: BOOL + argIndex: 4 + } + argDescriptor { + name: "retFullSeq" + argType: BOOL + argIndex: 5 + } + argDescriptor { + name: "retLastH" + argType: BOOL + argIndex: 6 + } + argDescriptor { + name: "retLastC" + argType: BOOL + argIndex: 7 + } + argDescriptor { + name: "dataFormat" + argType: INT64 + } + argDescriptor { + name: "directionMode" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "gateAct" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "cellAct" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "outAct" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "lstsq" + argDescriptor { + name: "a" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "l2_factor" + argType: DOUBLE + } + argDescriptor { + name: "fastFlag" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "lu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "p" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "manhattan" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "allDistances" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "match_condition" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "compare" + argType: DOUBLE + } + argDescriptor { + name: "eps" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "mode" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "match_condition_transform" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "compare" + argType: DOUBLE + } + argDescriptor { + name: "mode" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "matmul" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: DOUBLE + } + argDescriptor { + name: "beta" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "transposeX" + argType: BOOL + } + argDescriptor { + name: "transposeY" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "transposeZ" + argType: BOOL + argIndex: 2 + } + argDescriptor { + name: "transX" + argType: INT64 + } + argDescriptor { + name: "transY" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "transZ" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "matmul_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "eps" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dldx" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dldy" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dldx" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dldy" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "alpha" + argType: DOUBLE + } + argDescriptor { + name: "beta" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "transX" + argType: INT64 + } + argDescriptor { + name: "transY" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "transZ" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "matrix_band_part" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "minLowerT" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "maxUpperT" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "minLower" + argType: INT64 + } + argDescriptor { + name: "maxUpper" + argType: INT64 + argIndex: 1 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "matrix_determinant" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "matrix_diag" + argDescriptor { + name: "diagonal" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "matrix_diag_part" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "matrix_inverse" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: OP_IMPL +} +opList { + name: "matrix_set_diag" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "diagonal" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "max_pairwise" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "max_pool_with_argmax" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outArgMax" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "max_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "maximum" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "maximum_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "maxout" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "maxpool2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "maxpool2d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "maxpool3dnew" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kD" + argType: INT64 + } + argDescriptor { + name: "kH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sD" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "pD" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "dD" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 11 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 12 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 13 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 14 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "maxpool3dnew_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kD" + argType: INT64 + } + argDescriptor { + name: "kH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sD" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "pD" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "dD" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 11 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 12 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 13 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 14 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "mean_pairwssqerr_loss" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "mean_pairwssqerr_loss_grad" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "mean_sqerr_loss" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "mean_sqerr_loss_grad" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "merge" + argDescriptor { + name: "a" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "mergeadd" + argDescriptor { + name: "inArrs" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: OP_IMPL +} +opList { + name: "mergeadd_bp" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outArrs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "mergeavg" + argDescriptor { + name: "inArrs" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "mergeavg_bp" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outArrs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "mergemax" + argDescriptor { + name: "inArrs" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "mergemax_bp" + argDescriptor { + name: "inArrs" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outArrs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "mergemaxindex" + argDescriptor { + name: "inArrs" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "mergesum" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "meshgrid" + argDescriptor { + name: "inArrs" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outArrs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "cartesian" + argType: BOOL + } + argDescriptor { + name: "swapFirst2Dims" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "meta_postulate" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "meta_predicate" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "meta_predicate_inverted" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "meta_reduce" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "min_pairwise" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "minimum" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "minimum_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "mirror_pad" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "paddings" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "isSymmetric" + argType: BOOL + } + argDescriptor { + name: "mode" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "mish" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "mod" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "mod_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "moments" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outStd" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "means" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "variances" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "keepDims" + argType: DOUBLE + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "mul_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "multi_head_dot_product_attention" + argDescriptor { + name: "queries" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keys" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "values" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Wq" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "Wk" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "Wv" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "Wo" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "mask" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "scaled" + argType: BOOL + } + argDescriptor { + name: "withWeights" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "normalization" + argType: INT64 + } + argDescriptor { + name: "weights" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "multi_head_dot_product_attention_bp" + argDescriptor { + name: "queries" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keys" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "values" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Wq" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "Wk" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "Wv" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "Wo" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "eps" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "mask" + argType: INPUT_TENSOR + argIndex: 8 + } + argDescriptor { + name: "dLdq" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdk" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdv" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdWq" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdWk" + argType: OUTPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dLdWv" + argType: OUTPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "dLdWo" + argType: OUTPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "scaled" + argType: BOOL + } + argDescriptor { + name: "normalization" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "multiply" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "multiply_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "nadam_updater" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "initStateV" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "initStateM" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "lr" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "beta1" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "beta2" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "update" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "stateV" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "stateM" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLr" + argType: DOUBLE + } + argDescriptor { + name: "dBeta1" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dBeta2" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "dEpsilon" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "iteration" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "neg" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "nesterovs_updater" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "initState" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "lr" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "momentum" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "update" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "stateV" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLr" + argType: DOUBLE + } + argDescriptor { + name: "dMomentum" + argType: DOUBLE + argIndex: 1 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "next_iteration" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "non_max_suppression" + argDescriptor { + name: "boxes" + argType: INPUT_TENSOR + } + argDescriptor { + name: "scales" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "maxOutputSize" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "overlayThreshold" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "scoreThreshold" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "iouThreshold" + argType: DOUBLE + } + argDescriptor { + name: "scoreThreshold" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "maxOutputSize" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "non_max_suppression_overlaps" + argDescriptor { + name: "boxes" + argType: INPUT_TENSOR + } + argDescriptor { + name: "scales" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "maxOutSize" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "iouThreshold" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "scoreThreshold" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "overlapThreshold" + argType: DOUBLE + } + argDescriptor { + name: "scoreThreshold" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "maxOutputSize" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "non_max_suppression_v3" + argDescriptor { + name: "boxes" + argType: INPUT_TENSOR + } + argDescriptor { + name: "scales" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "maxOutSize" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "iouThreshold" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "scoreThreshold" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "maxOutputSize" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "noop" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "norm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "*output" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "mode" + argType: DOUBLE + } + opDeclarationType: REDUCTION_OP_IMPL +} +opList { + name: "normalize_moments" + argDescriptor { + name: "counts" + argType: INPUT_TENSOR + } + argDescriptor { + name: "means" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "variances" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outMean" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outVar" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "resMeans" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "resVariances" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "shift" + argType: DOUBLE + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "not" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "comparable" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "not_equals" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_BOOL_OP_IMPL +} +opList { + name: "not_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "notequals_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "nth_element" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "n" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "reverse" + argType: BOOL + } + argDescriptor { + name: "reverse" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "old_assign" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "onehot" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "depth" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "on" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "off" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "on" + argType: DOUBLE + } + argDescriptor { + name: "off" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "depth" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "oneminus" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "ones_as" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "or" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "comparable" + argType: DOUBLE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "or_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "order" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "pad" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "paddings" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "padValue" + argType: DOUBLE + } + argDescriptor { + name: "mode" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "parallel_stack" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inArrs" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "percentile" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "q" + argType: DOUBLE + } + argDescriptor { + name: "interpolation" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "keepDims" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "permute" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "permutationVector" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "permuteDims" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "pick_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "ia" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "pnormpool2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kY" + argType: INT64 + } + argDescriptor { + name: "kX" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sY" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sX" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pY" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pX" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dY" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dX" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "pnormpool2d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "eps" + argType: DOUBLE + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "pnorm" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "pointwise_conv2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "isNCHW" + argType: INT64 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "polygamma" + argDescriptor { + name: "n" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "pooling3dpool3dnew_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inputArrays" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } +} +opList { + name: "pow" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "pow" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "pow" + argType: DOUBLE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "pow_pairwise" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "precise_gelu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "precise" + argType: BOOL + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "prelu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "sharedAxes" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "prelu_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdO" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdI" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdA" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dLdI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdA" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "sharedAxes" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "print_affinity" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "print_variable" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "message" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "printSpecial" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "probablistic_merge" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "probability" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "qr" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputQ" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "outputR" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "fullMatricies" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "random_bernoulli" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "f" + argType: DOUBLE + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "random_crop" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "seed" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "random_exponential" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "lambda" + argType: DOUBLE + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "random_gamma" + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "beta" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "seed" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "random_multinomial" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inputSamples" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "random_normal" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "random_poisson" + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + } + argDescriptor { + name: "lambda" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "seed" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "random_shuffle" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "seeds" + argType: INT64 + } + opDeclarationType: OP_IMPL +} +opList { + name: "randomnormal" + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "mean" + argType: DOUBLE + } + argDescriptor { + name: "stdev" + argType: DOUBLE + argIndex: 1 + } +} +opList { + name: "randomuniform" + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + } + argDescriptor { + name: "min" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "max" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "min" + argType: DOUBLE + } + argDescriptor { + name: "max" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "range" + argDescriptor { + name: "from" + argType: INPUT_TENSOR + } + argDescriptor { + name: "to" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "step" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "from" + argType: DOUBLE + } + argDescriptor { + name: "to" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "step" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "from" + argType: INT64 + } + argDescriptor { + name: "to" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "step" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "rank" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "rational_tanh" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "rational_tanh_derivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "rationaltanh" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "rationaltanh_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "rdiv_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "read_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "vec" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "index" + argType: INT64 + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "realdiv" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "realdiv_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "rectified_tanh" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "rectified_tanh_derivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "rectifiedtanh" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "rectifiedtanh_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "reduce_dot_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outputY" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reduce_logsumexp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: DOUBLE + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reduce_max" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reduce_max_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reduce_mean" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reduce_mean_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reduce_min" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reduce_min_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reduce_norm1" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reduce_norm1_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reduce_norm2" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reduce_norm2_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reduce_norm_max" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reduce_norm_max_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reduce_normmax" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "reduce_prod" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reduce_prod_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reduce_sqnorm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reduce_sqnorm_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reduce_stdev" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: DOUBLE + } + argDescriptor { + name: "biasCorrected" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reduce_stdev_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: DOUBLE + } + argDescriptor { + name: "biasCorrected" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "biasCorrected" + argType: BOOL + } + argDescriptor { + name: "keepDims" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reduce_sum" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reduce_sum_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reduce_variance" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: DOUBLE + } + argDescriptor { + name: "biasCorrected" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reduce_variance_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: DOUBLE + } + argDescriptor { + name: "biasCorrected" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "biasCorrected" + argType: BOOL + } + argDescriptor { + name: "keepDims" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "relu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "cutoff" + argType: DOUBLE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "relu6" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "cutoff" + argType: DOUBLE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "relu6_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "cutoff" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "relu_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "scalar" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "relu_layer" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "w" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "remainder" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "remainder_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "repeat" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "replace_nans" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "set" + argType: DOUBLE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "reshape" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shapeArr" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reshapeas" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "resize_area" + argDescriptor { + name: "image" + argType: INPUT_TENSOR + } + argDescriptor { + name: "size" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alignCorners" + argType: BOOL + } + argDescriptor { + name: "height" + argType: INT64 + } + argDescriptor { + name: "width" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "resize_bicubic" + argDescriptor { + name: "image" + argType: INPUT_TENSOR + } + argDescriptor { + name: "size" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alignCorners" + argType: BOOL + } + argDescriptor { + name: "alignPixelCenters" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "resize_bilinear" + argDescriptor { + name: "image" + argType: INPUT_TENSOR + } + argDescriptor { + name: "newImageSize" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alignCorners" + argType: BOOL + } + argDescriptor { + name: "halfPixelCenter" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "height" + argType: INT64 + } + argDescriptor { + name: "width" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "resize_images" + argDescriptor { + name: "image" + argType: INPUT_TENSOR + } + argDescriptor { + name: "size" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "methodT" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alignCorners" + argType: BOOL + } + argDescriptor { + name: "preserveAspectRatio" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "resize_nearest_neighbor" + argDescriptor { + name: "image" + argType: INPUT_TENSOR + } + argDescriptor { + name: "newImageSize" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alignCorners" + argType: BOOL + } + argDescriptor { + name: "halfPixelCenter" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "height" + argType: INT64 + } + argDescriptor { + name: "width" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "restorev2" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "reverse" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "reverse_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "grad" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "eps" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reverse_sequence" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "seqLengths" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "seqDim" + argType: INT64 + } + argDescriptor { + name: "batchDim" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reverse_v2" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "isLegacy" + argType: BOOL + } +} +opList { + name: "reversedivide" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "reversedivide_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reversemod" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "reversemod_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "reversesubtract" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "reversesubtract_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "rgb_to_grs" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "rgb_to_hsv" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "rgb_to_yiq" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "rgb_to_yuv" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "rint" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: OP_IMPL +} +opList { + name: "rms_prop_updater" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "initState" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "lr" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "rmsDecay" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "update" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "stateG" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLr" + argType: DOUBLE + } + argDescriptor { + name: "dRmsDecay" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dEpsilon" + argType: DOUBLE + argIndex: 2 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "roll" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "shiftsI" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shift" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "round" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "rshift_bits" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "rsqrt" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "rsub_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "savev2" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "scalar_min" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "scatter_add" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_div" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "array" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "sizes" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "scatter_max" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_min" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_mul" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_nd" + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "scatter_nd_add" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_nd_sub" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_nd_update" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_sub" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_upd" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_update" + argDescriptor { + name: "operand" + argType: INPUT_TENSOR + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "sconv2d" + argDescriptor { + name: "*input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "*weightsDepth" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "*output" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "sconv2d_bp" + argDescriptor { + name: "*input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "*gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "*weightsDepth" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "*gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "*gradWD" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradWP" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "segment_max" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "segment_max_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradOut" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "outIndices" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "segment_mean" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "segment_mean_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradOut" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "outIndices" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "segment_min" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "segment_min_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradOut" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "outIndices" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "segment_prod" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "segment_prod_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradOut" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "outIndices" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "segment_sum" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "segment_sum_bp" + argDescriptor { + name: "data" + argType: INPUT_TENSOR + } + argDescriptor { + name: "segmentIds" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "select" + argDescriptor { + name: "cond" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "selu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "selu_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "seluderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "sequence_mask" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "maxlen" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "is_static_maxlen" + argType: BOOL + } + argDescriptor { + name: "maxInd" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "set" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "set_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "set_seed" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "seed" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "setrange" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "min" + argType: DOUBLE + } + argDescriptor { + name: "max" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "setvalorless_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "sgd_updater" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "lr" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "lr" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "shannonentropy" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "shape_of" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "shapes_of" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "shift_bits" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "sigm_cross_entropy_loss" + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "labelsSmoothing" + argType: DOUBLE + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "sigm_cross_entropy_loss_grad" + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "labelSmoothing" + argType: DOUBLE + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "sigmoid" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "sigmoid_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "sign" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "sin" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "sinh" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "size" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "size_at" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "size_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "skipgram" + argDescriptor { + name: "target" + argType: INPUT_TENSOR + } + argDescriptor { + name: "ngStarter" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "codes" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "syn0" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "syn1" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "syn1neg" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "expTable" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "negTable" + argType: INPUT_TENSOR + argIndex: 8 + } + argDescriptor { + name: "alpha" + argType: INPUT_TENSOR + argIndex: 9 + } + argDescriptor { + name: "randomValue" + argType: INPUT_TENSOR + argIndex: 10 + } + argDescriptor { + name: "inferenceVector" + argType: INPUT_TENSOR + argIndex: 11 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "isInference" + argType: BOOL + } + argDescriptor { + name: "isPreciseMode" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "numWorkers" + argType: INT64 + } + argDescriptor { + name: "nsRounds" + argType: INT64 + argIndex: 1 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "slice" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "e" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "size" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "slice_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "e" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "size" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "softmax" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dimension" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "softmax_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimension" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "softmax_cross_entropy_loss" + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "labelsSmoothing" + argType: DOUBLE + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "softmax_cross_entropy_loss_grad" + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "labelsSmoothing" + argType: DOUBLE + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "softmax_cross_entropy_loss_with_logits" + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "classesDim" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "softmax_cross_entropy_loss_with_logits_grad" + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "classesDim" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "softplus" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "softplus_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "softsign" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "softsign_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "softsignderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "solve" + argDescriptor { + name: "a" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "adjoint" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "useAdjoint" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "solve_ls" + argDescriptor { + name: "a" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "l2_factor" + argType: DOUBLE + } + argDescriptor { + name: "fastFlag" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "somepoolingpool2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "somepoolingpool2d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "grad" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "space_to_batch" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "padding" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "blockSize" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "space_to_batch_nd" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "blockShape" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "padding" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "blocks" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "space_to_depth" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "block_size" + argType: INT64 + } + argDescriptor { + name: "isNHWC" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "sparse_softmax_cross_entropy_loss_with_logits" + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + } + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "sparse_softmax_cross_entropy_loss_with_logits_grad" + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + } + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "split" + argDescriptor { + name: "a" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outArrs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSplit" + argType: INT64 + } + argDescriptor { + name: "dimensions" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "split_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "array" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "sizes" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "split_string" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "delim" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "split_v" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "sizes" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "_a" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "numSplit" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "sqrt" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "sqrtm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "square" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: OP_IMPL +} +opList { + name: "squaredsubtract" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "squaredsubtract_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "squeeze" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "a" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "_a" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "sru" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "w" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "c0" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "mask" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "c" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "sruCell" + argDescriptor { + name: "xt" + argType: INPUT_TENSOR + } + argDescriptor { + name: "ct_1" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "w" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "ht" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "ct" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "sru_bi" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "w" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "c0" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "mask" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "ht" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "ct" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "sru_bi_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "w" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "c0" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "ct" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "inGradC0" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "inGradHt" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "mask" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradC0" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "sru_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "w" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "c0" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "c" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "inGradCt" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "inGradH" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "mask" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradInit" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "stabilize" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "realMin" + argType: DOUBLE + } + argDescriptor { + name: "cutOff" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "k" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "stack" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inArrs" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "stack_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "standardize" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "standardize_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "eps" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "static_bidirectional_rnn" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "WxFW" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "WhFW" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "bFW" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "WxBW" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "WhBW" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "bBW" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "h0FW" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "h0BW" + argType: INPUT_TENSOR + argIndex: 8 + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "hFWFinal" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "hBWFinal" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "static_rnn" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wh" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "maxTimeStep" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "hFinal" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "std" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "biasCorrected" + argType: BOOL + } + argDescriptor { + name: "keepDims" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "step" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "cutoff" + argType: DOUBLE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "stop_gradient" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: OP_IMPL +} +opList { + name: "strided_slice" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "v_begin" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "v_end" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "v_stride" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "begin_mask" + argType: INT64 + } + argDescriptor { + name: "ellipsis_mask" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "end_mask" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "new_axis_mask" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "shrink_axis_mask" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "strided_slice_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "v_begin" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "v_end" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "v_stride" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "begin_mask" + argType: INT64 + } + argDescriptor { + name: "ellipsis_mask" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "end_mask" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "new_axis_mask" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "shrink_axis_mask" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "sub_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "subtract" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "subtract_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "sufficient_statistics" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "shift" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dataCount" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "sum" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "squares" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "shift" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "svd" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "s" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "u" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "v" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "fullUV" + argType: BOOL + } + argDescriptor { + name: "computeUv" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "fullUV" + argType: INT64 + } + argDescriptor { + name: "calcUV" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "switchNum" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "swish" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "switch" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "predicate" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "tan" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "tanderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "tanh" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "tanh_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "tear" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outE" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "tensorarrayconcatv3" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "tensorarraygatherv3" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "tensorarrayreadv3" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "tensorarrayscatterv3" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "tensorarraysizev3" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "tensorarraysplitv3" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "tensorarrayv3" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: INT64 + } +} +opList { + name: "tensorarraywritev3" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "tensordot" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "addedEdges" + argType: BOOL + } + argDescriptor { + name: "transposeY" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "transposeZ" + argType: BOOL + argIndex: 2 + } + argDescriptor { + name: "dimensionsY" + argType: INT64 + } +} +opList { + name: "tensormmul" + argDescriptor { + name: "a" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "c" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "axe0_size" + argType: INT64 + } + argDescriptor { + name: "axe1_size" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "tensormmul_bp" + argDescriptor { + name: "A" + argType: INPUT_TENSOR + } + argDescriptor { + name: "B" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdC" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdA" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdB" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "axe0Size" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "test_output_reshape" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "test_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "testcustom" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "testop2i2o" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "xO" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "yO" + argType: OUTPUT_TENSOR + argIndex: 1 + } + opDeclarationType: OP_IMPL +} +opList { + name: "testreduction" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: REDUCTION_OP_IMPL +} +opList { + name: "tf_atan2" + argDescriptor { + name: "y" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "thresholdedrelu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "cutoff" + argType: DOUBLE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "thresholdedrelu_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dLdO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "cutoff" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "tile" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "reps_vector" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "is_static_reps" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "tile_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "grad" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "tile_to_shape" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "tile_to_shape_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "timesoneminus" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "to_double" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "to_float16" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "to_float32" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "to_int32" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "to_int64" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "to_uint32" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "to_uint64" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "toggle_bits" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "top_k" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "values" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "needSort" + argType: BOOL + } + argDescriptor { + name: "k" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "trace" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "transpose" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "permuteDims" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "tri" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "row" + argType: INT64 + } + argDescriptor { + name: "column" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "diag" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "triangular_solve" + argDescriptor { + name: "a" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "lower" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "adjoint" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "isLower" + argType: BOOL + } + argDescriptor { + name: "useAdjoint" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "triu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "diag" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "triu_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "diag" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "truncatediv" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "unique" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "values" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "unique_with_counts" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "values" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "counts" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "unsorted_segment_max" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "unsorted_segment_max_bp" + argDescriptor { + name: "data" + argType: INPUT_TENSOR + } + argDescriptor { + name: "segmentIds" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "unsorted_segment_mean" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "unsorted_segment_mean_bp" + argDescriptor { + name: "data" + argType: INPUT_TENSOR + } + argDescriptor { + name: "segmentIds" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "unsorted_segment_min" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "unsorted_segment_min_bp" + argDescriptor { + name: "data" + argType: INPUT_TENSOR + } + argDescriptor { + name: "segmentIds" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "unsorted_segment_prod" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "unsorted_segment_prod_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "eps" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "unsorted_segment_sqrt_n" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "unsorted_segment_sqrt_n_bp" + argDescriptor { + name: "data" + argType: INPUT_TENSOR + } + argDescriptor { + name: "segmentIds" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "unsorted_segment_sum" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "unsorted_segment_sum_bp" + argDescriptor { + name: "data" + argType: INPUT_TENSOR + } + argDescriptor { + name: "segmentIds" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "unstack" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outArrs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "num" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "unstack_list" + argDescriptor { + name: "outputList" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "upsampling2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "nchw" + argType: BOOL + } + argDescriptor { + name: "factorH" + argType: INT64 + } + argDescriptor { + name: "factorW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "upsampling2d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "nchw" + argType: BOOL + } + argDescriptor { + name: "scaleW" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "upsampling3d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "ncdhw" + argType: BOOL + } + argDescriptor { + name: "factorD" + argType: INT64 + } + argDescriptor { + name: "factorH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "factorW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "upsampling3d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "ncdhw" + argType: BOOL + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "var" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "biasCorrected" + argType: BOOL + } + argDescriptor { + name: "keepDims" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "weighted_cross_entropy_with_logits" + argDescriptor { + name: "targets" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "where_np" + argDescriptor { + name: "condition" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "write_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "idx" + argType: INT64 + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "xor" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "comparable" + argType: DOUBLE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "xor_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "xw_plus_b" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "bTranspose" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "xw_plus_b_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "w" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdz" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdx" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdb" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "bTranspose" + argType: INT64 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "yiq_to_rgb" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "yuv_to_rgb" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "zero_fraction" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "zeros_as" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } +} +opList { + name: "zeros_like" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "zeroslike" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dataType" + argType: INT64 + } +} +opList { + name: "zeta" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "q" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "placeholder" + opDeclarationType: LOGIC_OP_IMPL +} diff --git a/contrib/codegen-tools/codegen/src/main/resources/onnx-op-defs.pb b/contrib/codegen-tools/codegen/src/main/resources/onnx-op-defs.pb new file mode 100644 index 000000000..023f31b24 Binary files /dev/null and b/contrib/codegen-tools/codegen/src/main/resources/onnx-op-defs.pb differ diff --git a/contrib/codegen-tools/codegen/src/main/resources/onnx.pbtxt b/contrib/codegen-tools/codegen/src/main/resources/onnx.pbtxt new file mode 100644 index 000000000..5fa814d06 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/main/resources/onnx.pbtxt @@ -0,0 +1,6004 @@ +input: "X" +output: "Y" +name: "Abs" +op_type: "Abs" +attribute { + name: "X-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nAbsolute takes one input data (Tensor) and produces one output data\n(Tensor) where the absolute is, y = abs(x), is applied to\nthe tensor elementwise.\n" +----f +input: "input" +output: "output" +name: "Acos" +op_type: "Acos" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the arccosine (inverse of cosine) of the given input tensor, element-wise.\n" +----f +input: "input" +output: "output" +name: "Acosh" +op_type: "Acosh" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the hyperbolic arccosine of the given input tensor element-wise.\n" +----f +input: "R" +input: "T" +input: "inputs" +output: "outputs" +name: "Adagrad" +op_type: "Adagrad" +attribute { + name: "decay_factor" + f: 0.0 + type: FLOAT +} +attribute { + name: "epsilon" + f: 1e-06 + type: FLOAT +} +attribute { + name: "norm_coefficient" + f: 0.0 + type: FLOAT +} +attribute { + name: "R-types" + strings: "float" + strings: "double" + type: STRINGS +} +attribute { + name: "T-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "inputs-types" + strings: "float" + strings: "double" + type: STRINGS +} +doc_string: "\n Compute one iteration of ADAGRAD, a stochastic gradient based optimization\n algorithm. This operator can conduct the optimization of multiple tensor variables.\n\n Let\'s define the behavior of this operator. As you can imagine, ADAGRAD requires\n some parameters:\n \n - The initial learning-rate \"R\".\n - The update count \"T\". That is, the number of training iterations conducted.\n - A L2-norm regularization coefficient \"norm_coefficient\".\n - A learning-rate decay factor \"decay_factor\".\n - A small constant \"epsilon\" to avoid dividing-by-zero. \n\n At each ADAGRAD iteration, the optimized tensors are moved along a direction\n computed based on their estimated gradient and accumulated squared gradient. Assume\n that only a single tensor \"X\" is updated by this operator. We need the value of \"X\",\n its gradient \"G\", and its accumulated squared gradient \"H\". Therefore, variables in\n this operator\'s input list are sequentially \"R\", \"T\", \"X\", \"G\", and \"H\". Other\n parameters are given as attributes because they are usually constants. Also, the\n corresponding output tensors are the new value of \"X\" (called \"X_new\"), and then\n the new accumulated squared gradient (called \"H_new\"). Those outputs are computed\n from the given inputs following the pseudo code below.\n\n Let \"+\", \"-\", \"*\", and \"/\" are all element-wise arithmetic operations with\n numpy-style broadcasting support. The pseudo code to compute those outputs is:\n\n // Compute a scalar learning-rate factor. At the first update of X, T is generally\n // 0 (0-based update index) or 1 (1-based update index).\n r = R / (1 + T * decay_factor);\n\n // Add gradient of 0.5 * norm_coefficient * ||X||_2^2, where ||X||_2 is the 2-norm.\n G_regularized = norm_coefficient * X + G;\n\n // Compute new accumulated squared gradient.\n H_new = H + G_regularized * G_regularized;\n\n // Compute the adaptive part of per-coordinate learning rate. Note that Sqrt(...)\n // computes element-wise square-root.\n H_adaptive = Sqrt(H_new) + epsilon\n\n // Compute the new value of \"X\".\n X_new = X - r * G_regularized / H_adaptive;\n\n If one assign this operators to optimize multiple inputs, for example, \"X_1\" and \"X_2\", the same\n pseudo code may be extended to handle all tensors jointly. More specifically, we can view \"X\" as a\n concatenation of \"X_1\" and \"X_2\" (of course, their gradient and accumulate gradient should\n be concatenated too) and then just reuse the entire pseudo code.\n\n Note that ADAGRAD was first proposed in http://jmlr.org/papers/volume12/duchi11a/duchi11a.pdf.\n In that reference paper, this operator is a special case of the Figure 1\'s composite mirror\n descent update.\n" +----f +input: "R" +input: "T" +input: "inputs" +output: "outputs" +name: "Adam" +op_type: "Adam" +attribute { + name: "alpha" + f: 0.9 + type: FLOAT +} +attribute { + name: "beta" + f: 0.999 + type: FLOAT +} +attribute { + name: "epsilon" + f: 1e-06 + type: FLOAT +} +attribute { + name: "norm_coefficient" + f: 0.0 + type: FLOAT +} +attribute { + name: "norm_coefficient_post" + f: 0.0 + type: FLOAT +} +attribute { + name: "R-types" + strings: "float" + strings: "double" + type: STRINGS +} +attribute { + name: "T-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "inputs-types" + strings: "float" + strings: "double" + type: STRINGS +} +doc_string: "\n Compute one iteration of Adam, a stochastic gradient based optimization\n algorithm. This operator can conduct the optimization of multiple tensor variables.\n\n Let\'s define the behavior of this operator. First of all, Adam requires\n some parameters:\n \n - The learning-rate \"R\".\n - The update count \"T\". That is, the number of training iterations conducted.\n - A L2-norm regularization coefficient \"norm_coefficient\".\n - A small constant \"epsilon\" to avoid dividing-by-zero. \n - Two coefficients, \"alpha\" and \"beta\".\n\n At each Adam iteration, the optimized tensors are moved along a direction\n computed based on their exponentially-averaged historical gradient and\n exponentially-averaged historical squared gradient. Assume that only a tensor\n \"X\" is being optimized. The rest of required information is\n \n - the value of \"X\",\n - \"X\"\'s gradient (denoted by \"G\"),\n - \"X\"\'s exponentially-averaged historical gradient (denoted by \"V\"), and\n - \"X\"\'s exponentially-averaged historical squared gradient (denoted by \"H\").\n\n Some of those parameters are passed into this operator as input tensors and others\n are stored as this operator\'s attributes. Specifically, this operator\'s input tensor\n list is [\"R\", \"T\", \"X\", \"G\", \"V\", \"H\"]. That is, \"R\" is the first input, \"T\" is\n the second input, and so on. Other parameters are given as attributes because they\n are constants. Moreover, the corresponding output tensors are \n \n - the new value of \"X\" (called \"X_new\"),\n - the new exponentially-averaged historical gradient (denoted by \"V_new\"), and\n - the new exponentially-averaged historical squared gradient (denoted by \"H_new\").\n\n Those outputs are computed following the pseudo code below.\n\n Let \"+\", \"-\", \"*\", and \"/\" are all element-wise arithmetic operations with\n numpy-style broadcasting support. The pseudo code to compute those outputs is:\n\n // Add gradient of 0.5 * norm_coefficient * ||X||_2^2, where ||X||_2 is the 2-norm.\n G_regularized = norm_coefficient * X + G\n\n // Update exponentially-averaged historical gradient.\n V_new = alpha * V + (1 - alpha) * G_regularized\n\n // Update exponentially-averaged historical squared gradient.\n H_new = beta * H + (1 - beta) * G_regularized * G_regularized\n\n // Compute the element-wise square-root of H_new. V_new will be element-wisely\n // divided by H_sqrt for a better update direction.\n H_sqrt = Sqrt(H_new) + epsilon\n\n // Compute learning-rate. Note that \"alpha**T\"/\"beta**T\" is alpha\'s/beta\'s T-th power.\n R_adjusted = T > 0 ? R * Sqrt(1 - beta**T) / (1 - alpha**T) : R\n\n // Compute new value of \"X\".\n X_new = X - R_adjusted * V_new / H_sqrt\n\n // Post-update regularization.\n X_final = (1 - norm_coefficient_post) * X_new \n\n If there are multiple inputs to be optimized, the pseudo code will be applied\n independently to each of them.\n" +----f +input: "A" +input: "B" +output: "C" +name: "Add" +op_type: "Add" +attribute { + name: "A-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +attribute { + name: "B-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nPerforms element-wise binary addition (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "A" +input: "B" +output: "C" +name: "And" +op_type: "And" +attribute { + name: "A-types" + strings: "bool" + type: STRINGS +} +attribute { + name: "B-types" + strings: "bool" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `and` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "data" +output: "reduced" +name: "ArgMax" +op_type: "ArgMax" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "select_last_index" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the indices of the max elements of the input tensor\'s element along the \nprovided axis. The resulting tensor has the same rank as the input if keepdims equal 1. \nIf keepdims equal 0, then the resulting tensor have the reduced dimension pruned. \nIf select_last_index is True (default False), the index of the last occurrence of the max \nis selected if the max appears more than once in the input. Otherwise the index of the \nfirst occurrence is selected.\nThe type of the output tensor is integer." +----f +input: "data" +output: "reduced" +name: "ArgMin" +op_type: "ArgMin" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "select_last_index" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the indices of the min elements of the input tensor\'s element along the \nprovided axis. The resulting tensor has the same rank as the input if keepdims equal 1. \nIf keepdims equal 0, then the resulting tensor have the reduced dimension pruned. \nIf select_last_index is True (default False), the index of the last occurrence of the min \nis selected if the min appears more than once in the input. Otherwise the index of the \nfirst occurrence is selected.\nThe type of the output tensor is integer." +----f +input: "X" +input: "Y" +output: "Z" +name: "ArrayFeatureExtractor" +op_type: "ArrayFeatureExtractor" +attribute { + name: "X-types" + strings: "int32" + strings: "string" + strings: "double" + strings: "int64" + strings: "float" + type: STRINGS +} +attribute { + name: "Y-types" + strings: "int64" + type: STRINGS +} +doc_string: "\n Select elements of the input tensor based on the indices passed.
\n The indices are applied to the last axes of the tensor.\n" +----f +input: "input" +output: "output" +name: "Asin" +op_type: "Asin" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the arcsine (inverse of sine) of the given input tensor, element-wise.\n" +----f +input: "input" +output: "output" +name: "Asinh" +op_type: "Asinh" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the hyperbolic arcsine of the given input tensor element-wise.\n" +----f +input: "input" +output: "output" +name: "Atan" +op_type: "Atan" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the arctangent (inverse of tangent) of the given input tensor, element-wise.\n" +----f +input: "input" +output: "output" +name: "Atanh" +op_type: "Atanh" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the hyperbolic arctangent of the given input tensor element-wise.\n" +----f +input: "X" +output: "Y" +name: "AveragePool" +op_type: "AveragePool" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "ceil_mode" + i: 0 + type: INT +} +attribute { + name: "count_include_pad" + i: 0 + type: INT +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\n AveragePool consumes an input tensor X and applies average pooling across\n the tensor according to kernel sizes, stride sizes, and pad lengths.\n average pooling consisting of computing the average on all values of a\n subset of the input tensor according to the kernel size and downsampling the\n data into the output tensor Y for further processing. The output spatial shape will be following:\n ```\n output_spatial_shape[i] = floor((input_spatial_shape[i] + pad_shape[i] - kernel_spatial_shape[i]) / strides_spatial_shape[i] + 1)\n ```\n or\n ```\n output_spatial_shape[i] = ceil((input_spatial_shape[i] + pad_shape[i] - kernel_spatial_shape[i]) / strides_spatial_shape[i] + 1)\n ```\n if ceil_mode is enabled\n\n ```\n * pad_shape[i] is sum of pads along axis i\n ```\n\n `auto_pad` is a DEPRECATED attribute. If you are using them currently, the output spatial shape will be following:\n ```\n VALID: output_spatial_shape[i] = ceil((input_spatial_shape[i] - kernel_spatial_shape[i] + 1) / strides_spatial_shape[i])\n SAME_UPPER or SAME_LOWER: output_spatial_shape[i] = ceil(input_spatial_shape[i] / strides_spatial_shape[i])\n ```\n And pad shape will be following if `SAME_UPPER` or `SAME_LOWER`:\n ```\n pad_shape[i] = (output_spatial_shape[i] - 1) * strides_spatial_shape[i] + kernel_spatial_shape[i] - input_spatial_shape[i]\n ```\n The output of each pooling window is divided by the number of elements (exclude pad when attribute count_include_pad is zero).\n " +----f +input: "X" +input: "scale" +input: "B" +input: "mean" +input: "var" +output: "Y" +output: "mean" +output: "var" +output: "saved_mean" +output: "saved_var" +name: "BatchNormalization" +op_type: "BatchNormalization" +attribute { + name: "epsilon" + f: 1e-05 + type: FLOAT +} +attribute { + name: "momentum" + f: 0.9 + type: FLOAT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "scale-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "mean-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "var-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCarries out batch normalization as described in the paper\nhttps://arxiv.org/abs/1502.03167. Depending on the mode it is being run,\nthere are multiple cases for the number of outputs, which we list below:\n\nOutput case #1: Y, mean, var, saved_mean, saved_var (training mode)\nOutput case #2: Y (test mode)\n\nFor previous (depreciated) non-spatial cases, implementors are suggested\nto flatten the input shape to (N x C*D1*D2 ..*Dn) before a BatchNormalization Op.\nThis operator has **optional** inputs/outputs. See [the doc](IR.md) for more details about the representation of optional arguments. An empty string may be used in the place of an actual argument\'s name to indicate a missing argument. Trailing optional arguments (those not followed by an argument that is present) may also be simply omitted.\n" +----f +input: "X" +output: "Y" +name: "Binarizer" +op_type: "Binarizer" +attribute { + name: "threshold" + f: 0.0 + type: FLOAT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n Maps the values of the input tensor to either 0 or 1, element-wise, based on the outcome of a comparison against a threshold value.\n" +----f +input: "X" +input: "Y" +output: "Z" +name: "BitShift" +op_type: "BitShift" +attribute { + name: "direction" + s: "" + type: STRING +} +attribute { + name: "X-types" + strings: "uint32" + strings: "uint16" + strings: "uint8" + strings: "uint64" + type: STRINGS +} +attribute { + name: "Y-types" + strings: "uint32" + strings: "uint16" + strings: "uint8" + strings: "uint64" + type: STRINGS +} +doc_string: "\nBitwise shift operator performs element-wise operation. For each input element, if the\n attribute \"direction\" is \"RIGHT\", this operator moves its binary representation toward\n the right side so that the input value is effectively decreased. If the attribute \"direction\"\n is \"LEFT\", bits of binary representation moves toward the left side, which results the\n increase of its actual value. The input X is the tensor to be shifted and another input\n Y specifies the amounts of shifting. For example, if \"direction\" is \"Right\", X is [1, 4],\n and S is [1, 1], the corresponding output Z would be [0, 2]. If \"direction\" is \"LEFT\" with\n X=[1, 2] and S=[1, 2], the corresponding output Y would be [2, 8].\n \n Because this operator supports Numpy-style broadcasting, X\'s and Y\'s shapes are\n not necessarily identical.\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md)." +----f +input: "input" +output: "output" +name: "Cast" +op_type: "Cast" +attribute { + name: "to" + s: "" + type: INT +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "float16" + strings: "int32" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nThe operator casts the elements of a given input tensor to a data type\nspecified by the \'to\' argument and returns an output tensor of the same size in\nthe converted type. The \'to\' argument must be one of the data types specified\nin the \'DataType\' enum field in the TensorProto message.\n\nCasting from string tensor in plain (e.g., \"3.14\" and \"1000\") and scientific numeric representations\n(e.g., \"1e-5\" and \"1E8\") to float types is supported. For example, converting string \"100.5\" to an integer may\nresult 100. There are some string literals reserved for special floating-point values;\n\"+INF\" (and \"INF\"), \"-INF\", and \"NaN\" are positive infinity, negative infinity, and not-a-number, respectively.\nAny string which can exactly match \"+INF\" in a case-insensitive way would be mapped to positive infinite. Similarly,\nthis case-insensitive rule is applied to \"INF\" and \"NaN\". When casting from numeric tensors\nto string tensors, plain floating-point representation (such as \"314.15926\") would be used. \nConverting non-numerical-literal string such as \"Hello World!\" is an undefined behavior. Cases \nof converting string representing floating-point arithmetic value, such as \"2.718\", to INT is an undefined behavior.\n\nConversion from a numerical type to any numerical type is always allowed.\nUser must be aware of precision loss and value change caused by range difference between two types.\nFor example, a 64-bit float 3.1415926459 may be round to a 32-bit float 3.141592. Similarly, converting\nan integer 36 to Boolean may produce 1 because we truncate bits which can\'t be stored in the targeted type.\n" +----f +input: "X" +output: "Y" +name: "CastMap" +op_type: "CastMap" +attribute { + name: "cast_to" + s: "TO_FLOAT" + type: STRING +} +attribute { + name: "map_form" + s: "DENSE" + type: STRING +} +attribute { + name: "max_map" + i: 1 + type: INT +} +attribute { + name: "X-types" + strings: "map(int64,string" + strings: "map(int64,float" + type: STRINGS +} +doc_string: "\n Converts a map to a tensor.
The map key must be an int64 and the values will be ordered\n in ascending order based on this key.
The operator supports dense packing or sparse packing.\n If using sparse packing, the key cannot exceed the max_map-1 value.\n" +----f +input: "X" +output: "Y" +name: "CategoryMapper" +op_type: "CategoryMapper" +attribute { + name: "cats_int64s" + s: "" + type: INTS +} +attribute { + name: "cats_strings" + s: "" + type: STRINGS +} +attribute { + name: "default_int64" + i: -1 + type: INT +} +attribute { + name: "default_string" + s: "_Unused" + type: STRING +} +attribute { + name: "X-types" + strings: "string" + strings: "int64" + type: STRINGS +} +doc_string: "\n Converts strings to integers and vice versa.
\n Two sequences of equal length are used to map between integers and strings,\n with strings and integers at the same index detailing the mapping.
\n Each operator converts either integers to strings or strings to integers, depending \n on which default value attribute is provided. Only one default value attribute\n should be defined.
\n If the string default value is set, it will convert integers to strings.\n If the int default value is set, it will convert strings to integers.\n" +----f +input: "X" +output: "Y" +name: "Ceil" +op_type: "Ceil" +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCeil takes one input data (Tensor) and produces one output data\n(Tensor) where the ceil is, y = ceil(x), is applied to\nthe tensor elementwise.\n" +----f +input: "X" +output: "Y" +name: "Celu" +op_type: "Celu" +attribute { + name: "alpha" + f: 1.0 + type: FLOAT +} +attribute { + name: "X-types" + strings: "float" + type: STRINGS +} +doc_string: "\nContinuously Differentiable Exponential Linear Units:\nPerform the linear unit element-wise on the input tensor X\nusing formula: \n\n```\nmax(0,x) + min(0,alpha*(exp(x/alpha)-1))\n```\n" +----f +input: "input" +input: "min" +input: "max" +output: "output" +name: "Clip" +op_type: "Clip" +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "min-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "max-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nClip operator limits the given input within an interval. The interval is\nspecified by the inputs \'min\' and \'max\'. They default to\nnumeric_limits::lowest() and numeric_limits::max(), respectively.\n" +----f +input: "input" +input: "condition" +output: "output" +name: "Compress" +op_type: "Compress" +attribute { + name: "axis" + s: "" + type: INT +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "condition-types" + strings: "bool" + type: STRINGS +} +doc_string: "\n Selects slices from an input tensor along a given axis where condition evaluates to True for each axis index.\n In case axis is not provided, input is flattened before elements are selected.\n Compress behaves like numpy.compress: https://docs.scipy.org/doc/numpy/reference/generated/numpy.compress.html\n " +----f +input: "inputs" +output: "concat_result" +name: "Concat" +op_type: "Concat" +attribute { + name: "axis" + s: "" + type: INT +} +attribute { + name: "inputs-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "Concatenate a list of tensors into a single tensor. All input tensors must have the same shape, except for the dimension size of the axis to concatenate on." +----f +input: "input_sequence" +output: "concat_result" +name: "ConcatFromSequence" +op_type: "ConcatFromSequence" +attribute { + name: "axis" + s: "" + type: INT +} +attribute { + name: "new_axis" + i: 0 + type: INT +} +attribute { + name: "input_sequence-types" + strings: "seq(bool" + strings: "seq(complex128" + strings: "seq(string" + strings: "seq(float16" + strings: "seq(int64" + strings: "seq(float" + strings: "seq(int32" + strings: "seq(uint32" + strings: "seq(uint16" + strings: "seq(int8" + strings: "seq(int16" + strings: "seq(complex64" + strings: "seq(uint64" + strings: "seq(double" + strings: "seq(uint8" + type: STRINGS +} +doc_string: "\nConcatenate a sequence of tensors into a single tensor.\nAll input tensors must have the same shape, except for the dimension size of the axis to concatenate on.\nBy default \'new_axis\' is 0, the behavior is similar to numpy.concatenate.\nWhen \'new_axis\' is 1, the behavior is similar to numpy.stack.\n" +----f +output: "output" +name: "Constant" +op_type: "Constant" +attribute { + name: "sparse_value" + s: "" + type: SPARSE_TENSOR +} +attribute { + name: "value" + s: "" + type: TENSOR +} +attribute { + name: "value_float" + s: "" + type: FLOAT +} +attribute { + name: "value_floats" + s: "" + type: FLOATS +} +attribute { + name: "value_int" + s: "" + type: INT +} +attribute { + name: "value_ints" + s: "" + type: INTS +} +attribute { + name: "value_string" + s: "" + type: STRING +} +attribute { + name: "value_strings" + s: "" + type: STRINGS +} +doc_string: "\nThis operator produces a constant tensor. Exactly one of the provided attributes, either value, sparse_value,\nor value_* must be specified.\n" +----f +input: "input" +output: "output" +name: "ConstantOfShape" +op_type: "ConstantOfShape" +attribute { + name: "value" + s: "" + type: TENSOR +} +attribute { + name: "input-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nGenerate a tensor with given value and shape.\n" +----f +input: "X" +input: "W" +input: "B" +output: "Y" +name: "Conv" +op_type: "Conv" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "dilations" + s: "" + type: INTS +} +attribute { + name: "group" + i: 1 + type: INT +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "W-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nThe convolution operator consumes an input tensor and a filter, and\ncomputes the output." +----f +input: "x" +input: "w" +input: "x_zero_point" +input: "w_zero_point" +output: "y" +name: "ConvInteger" +op_type: "ConvInteger" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "dilations" + s: "" + type: INTS +} +attribute { + name: "group" + i: 1 + type: INT +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "x-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "w-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "x_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "w_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nThe integer convolution operator consumes an input tensor, its zero-point, a filter, and its zero-point,\nand computes the output. The production MUST never overflow. The accumulation may overflow if and only if in 32 bits.\n" +----f +input: "X" +input: "W" +input: "B" +output: "Y" +name: "ConvTranspose" +op_type: "ConvTranspose" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "dilations" + s: "" + type: INTS +} +attribute { + name: "group" + i: 1 + type: INT +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "output_padding" + s: "" + type: INTS +} +attribute { + name: "output_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "W-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nThe convolution transpose operator consumes an input tensor and a filter,\nand computes the output.\n\nIf the pads parameter is provided the shape of the output is calculated via the following equation:\n\n output_shape[i] = stride[i] * (input_size[i] - 1) + output_padding[i] + ((kernel_shape[i] - 1) * dilations[i] + 1) - pads[start_i] - pads[end_i]\n\noutput_shape can also be explicitly specified in which case pads values are auto generated using these equations:\n\n total_padding[i] = stride[i] * (input_size[i] - 1) + output_padding[i] + ((kernel_shape[i] - 1) * dilations[i] + 1) - output_shape[i]\n If (auto_pads != SAME_UPPER): pads[start_i] = total_padding[i]/2; pads[end_i] = total_padding[i] - (total_padding[i]/2)\n Else: pads[start_i] = total_padding[i] - (total_padding[i]/2); pads[end_i] = (total_padding[i]/2).\n\n " +----f +input: "input" +output: "output" +name: "Cos" +op_type: "Cos" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the cosine of the given input tensor, element-wise.\n" +----f +input: "input" +output: "output" +name: "Cosh" +op_type: "Cosh" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the hyperbolic cosine of the given input tensor element-wise.\n" +----f +input: "x" +input: "axis" +output: "y" +name: "CumSum" +op_type: "CumSum" +attribute { + name: "exclusive" + i: 0 + type: INT +} +attribute { + name: "reverse" + i: 0 + type: INT +} +attribute { + name: "x-types" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +attribute { + name: "axis-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nPerforms cumulative sum of the input elements along the given axis.\nBy default, it will do the sum inclusively meaning the first element is copied as is.\nThrough an `exclusive` attribute, this behavior can change to exclude the first element.\nIt can also perform summation in the opposite direction of the axis. For that, set `reverse` attribute to 1.\n\nExample:\n```\ninput_x = [1, 2, 3]\naxis=0\noutput = [1, 3, 6]\nexclusive=1\noutput = [0, 1, 3]\nexclusive=0\nreverse=1\noutput = [6, 5, 3]\nexclusive=1\nreverse=1\noutput = [5, 3, 0]\n```\n " +----f +input: "input" +output: "output" +name: "DepthToSpace" +op_type: "DepthToSpace" +attribute { + name: "blocksize" + s: "" + type: INT +} +attribute { + name: "mode" + s: "DCR" + type: STRING +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "DepthToSpace rearranges (permutes) data from depth into blocks of spatial data.\nThis is the reverse transformation of SpaceToDepth. More specifically, this op outputs a copy of\nthe input tensor where values from the depth dimension are moved in spatial blocks to the height\nand width dimensions. By default, `mode` = `DCR`.\nIn the DCR mode, elements along the depth dimension from the input tensor are rearranged in the\nfollowing order: depth, column, and then row. The output y is computed from the input x as below:\n\nb, c, h, w = x.shape\n\ntmp = np.reshape(x, [b, blocksize, blocksize, c // (blocksize**2), h, w])\n\ntmp = np.transpose(tmp, [0, 3, 4, 1, 5, 2])\n\ny = np.reshape(tmp, [b, c // (blocksize**2), h * blocksize, w * blocksize])\n\n\nIn the CRD mode, elements along the depth dimension from the input tensor are rearranged in the\nfollowing order: column, row, and the depth. The output y is computed from the input x as below:\n\nb, c, h, w = x.shape\n\ntmp = np.reshape(x, [b, c // (blocksize ** 2), blocksize, blocksize, h, w])\n\ntmp = np.transpose(tmp, [0, 1, 4, 2, 5, 3])\n\ny = np.reshape(tmp, [b, c // (blocksize ** 2), h * blocksize, w * blocksize])\n\n" +----f +input: "x" +input: "x_scale" +input: "x_zero_point" +output: "y" +name: "DequantizeLinear" +op_type: "DequantizeLinear" +attribute { + name: "x-types" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "x_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "x_zero_point-types" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nThe linear dequantization operator. It consumes a quantized tensor, a scale, a zero point to compute the full precision tensor.\nThe dequantization formula is y = (x - x_zero_point) * x_scale. \'x_scale\' and \'x_zero_point\' must have same shape.\n\'x_zero_point\' and \'x\' must have same type. \'x\' and \'y\' must have same shape. In the case of dequantizing int32,\nthere\'s no zero point (zero point is supposed to be 0).\n" +----f +input: "X" +output: "Y" +name: "Det" +op_type: "Det" +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nDet calculates determinant of a square matrix or batches of square matrices.\nDet takes one input tensor of shape `[*, M, M]`, where `*` is zero or more batch dimensions,\nand the inner-most 2 dimensions form square matrices.\nThe output is a tensor of shape `[*]`, containing the determinants of all input submatrices.\ne.g., When the input is 2-D, the output is a scalar(shape is empty: `[]`).\n" +----f +input: "X" +output: "Y" +name: "DictVectorizer" +op_type: "DictVectorizer" +attribute { + name: "int64_vocabulary" + s: "" + type: INTS +} +attribute { + name: "string_vocabulary" + s: "" + type: STRINGS +} +attribute { + name: "X-types" + strings: "map(int64,float" + strings: "map(int64,string" + strings: "map(string,int64" + strings: "map(string,float" + strings: "map(string,double" + strings: "map(int64,double" + type: STRINGS +} +doc_string: "\n Uses an index mapping to convert a dictionary to an array.
\n Given a dictionary, each key is looked up in the vocabulary attribute corresponding to\n the key type. The index into the vocabulary array at which the key is found is then\n used to index the output 1-D tensor \'Y\' and insert into it the value found in the dictionary \'X\'.
\n The key type of the input map must correspond to the element type of the defined vocabulary attribute.\n Therefore, the output array will be equal in length to the index mapping vector parameter.\n All keys in the input dictionary must be present in the index mapping vector.\n For each item in the input dictionary, insert its value in the output array.\n Any keys not present in the input dictionary, will be zero in the output array.
\n For example: if the ``string_vocabulary`` parameter is set to ``[\"a\", \"c\", \"b\", \"z\"]``,\n then an input of ``{\"a\": 4, \"c\": 8}`` will produce an output of ``[4, 8, 0, 0]``.\n " +----f +input: "A" +input: "B" +output: "C" +name: "Div" +op_type: "Div" +attribute { + name: "A-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +attribute { + name: "B-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nPerforms element-wise binary division (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "data" +input: "ratio" +input: "training_mode" +output: "output" +output: "mask" +name: "Dropout" +op_type: "Dropout" +attribute { + name: "seed" + s: "" + type: INT +} +attribute { + name: "data-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "ratio-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "training_mode-types" + strings: "bool" + type: STRINGS +} +doc_string: "\nDropout takes an input floating-point tensor, an optional input ratio (floating-point scalar) and an optional input training_mode (boolean scalar). It produces two tensor outputs,\noutput (floating-point tensor) and mask (optional `Tensor`). If `training_mode` is true then the output Y will be a random dropout;\nNote that this Dropout scales the masked input data by the following equation, so to convert the trained model into inference mode,\nthe user can simply not pass `training_mode` input or set it to false.\n```\noutput = scale * data * mask,\n```\nwhere\n```\nscale = 1. / (1. - ratio).\n```\nThis operator has **optional** inputs/outputs. See [the doc](IR.md) for more details about the representation of optional arguments. An empty string may be used in the place of an actual argument\'s name to indicate a missing argument. Trailing optional arguments (those not followed by an argument that is present) may also be simply omitted.\n" +----f +input: "x" +output: "y" +output: "y_scale" +output: "y_zero_point" +name: "DynamicQuantizeLinear" +op_type: "DynamicQuantizeLinear" +attribute { + name: "x-types" + strings: "float" + type: STRINGS +} +doc_string: "\nA Function to fuse calculation for Scale, Zero Point and FP32->8Bit convertion of FP32 Input data.\nOutputs Scale, ZeroPoint and Quantized Input for a given FP32 Input.\nScale is calculated as:\n```\n y_scale = (max(x) - min(x))/(qmax - qmin)\n * where qmax and qmin are max and min values for quantization range .i.e [0, 255] in case of uint8\n * data range is adjusted to include 0.\n```\nZero point is calculated as:\n```\nintermediate_zero_point = qmin - min(x)/y_scale\ny_zero_point = cast(round(saturate(itermediate_zero_point)))\n* where qmax and qmin are max and min values for quantization range .i.e [0, 255] in case of uint8\n* for saturation, it saturates to [0, 255] if it\'s uint8, or [-127, 127] if it\'s int8. Right now only uint8 is supported.\n* rounding to nearest ties to even.\n```\nData quantization formula is:\n```\ny = saturate (round (x / y_scale) + y_zero_point)\n* for saturation, it saturates to [0, 255] if it\'s uint8, or [-127, 127] if it\'s int8. Right now only uint8 is supported.\n* rounding to nearest ties to even.\n```\n" +----f +input: "Inputs" +output: "Output" +name: "Einsum" +op_type: "Einsum" +attribute { + name: "equation" + s: "" + type: STRING +} +attribute { + name: "Inputs-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nAn einsum of the form ```term1, term2 -> output-term``` produces an output tensor using the following equation\n\n```output[output-term] = reduce-sum( input1[term1] * input2[term] )```\n\nwhere the reduce-sum performs a summation over all the indices occurring in in the input terms (term1, term2)\nthat do not occur in the output-term.\n\nThe Einsum operator evaluates algebraic tensor operations on a sequence of tensors, using the Einstein summation\nconvention. The equation string contains a comma-separated sequence of lower case letters. Each term corresponds to\nan operand tensor, and the characters within the terms correspond to operands dimensions.\n\nThis sequence may be followed by \"->\" to separate the left and right hand side of the equation.\nIf the equation contains \"->\" followed by the right-hand side, the explicit (not classical) form of the Einstein\nsummation is performed, and the right-hand side indices indicate output tensor dimensions. In other cases,\noutput indices are (implicitly) set to the alphabetically sorted sequence of indices appearing exactly once in the\nequation.\n\nWhen a dimension character is repeated in the left-hand side, it represents summation along the dimension.\n\nThe equation may contain ellipsis (\"...\") to enable broadcasting. Ellipsis must indicate a fixed number of dimensions.\nSpecifically, every occurrence of ellipsis in the equation must represent the same number of dimensions.\nThe right-hand side may contain exactly one ellipsis. In implicit mode, the ellipsis dimensions are set to the\nbeginning of the output. The equation string may contain space (U+0020) character.\n" +----f +input: "X" +output: "Y" +name: "Elu" +op_type: "Elu" +attribute { + name: "alpha" + f: 1.0 + type: FLOAT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nElu takes one input data (Tensor) and produces one output data\n(Tensor) where the function `f(x) = alpha * (exp(x) - 1.) for x <\n0`, `f(x) = x for x >= 0`., is applied to the tensor elementwise.\n\n" +----f +input: "A" +input: "B" +output: "C" +name: "Equal" +op_type: "Equal" +attribute { + name: "A-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "B-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `equal` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "input" +output: "output" +name: "Erf" +op_type: "Erf" +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the error function of the given input tensor element-wise.\n" +----f +input: "input" +output: "output" +name: "Exp" +op_type: "Exp" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the exponential of the given input tensor, element-wise.\n" +----f +input: "input" +input: "shape" +output: "output" +name: "Expand" +op_type: "Expand" +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "shape-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nBroadcast the input tensor following the given shape and the broadcast rule.\nThe broadcast rule is similar to numpy.array(input) * numpy.ones(shape):\nDimensions are right alignment;\nTwo corresponding dimension must have the same value, or one of them is equal to 1.\nAlso, this operator is similar to numpy.broadcast_to(input, shape),\nbut the major difference is numpy.broadcast_to() does not allow shape to be smaller than input.size().\nIt is possible that the output.shape is not equal to shape, when some dimensions in shape is equal to 1,\nor the shape.ndim < input.shape.ndim.\n" +----f +input: "input" +output: "output" +name: "EyeLike" +op_type: "EyeLike" +attribute { + name: "dtype" + s: "" + type: INT +} +attribute { + name: "k" + i: 0 + type: INT +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "float16" + strings: "int32" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nGenerate a 2D tensor (matrix) with ones on the diagonal and zeros everywhere else. Only 2D\ntensors are supported, i.e. input T1 must be of rank 2. The shape of the output tensor is the\nsame as the input tensor. The data type can be specified by the \'dtype\' argument. If\n\'dtype\' is not specified, then the type of input tensor is used. By default, the main diagonal\nis populated with ones, but attribute \'k\' can be used to populate upper or lower diagonals.\nThe \'dtype\' argument must be one of the data types specified in the \'DataType\' enum field in the\nTensorProto message and be valid as an output type.\n" +----f +input: "X" +output: "Y" +name: "FeatureVectorizer" +op_type: "FeatureVectorizer" +attribute { + name: "inputdimensions" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n Concatenates input tensors into one continuous output.
\n All input shapes are 2-D and are concatenated along the second dimention. 1-D tensors are treated as [1,C].\n Inputs are copied to the output maintaining the order of the input arguments.
\n All inputs must be integers or floats, while the output will be all floating point values.\n" +----f +input: "input" +output: "output" +name: "Flatten" +op_type: "Flatten" +attribute { + name: "axis" + i: 1 + type: INT +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nFlattens the input tensor into a 2D matrix. If input tensor has shape\n(d_0, d_1, ... d_n) then the output will have shape\n(d_0 X d_1 ... d_(axis-1), d_axis X d_(axis+1) ... X dn).\n" +----f +input: "X" +output: "Y" +name: "Floor" +op_type: "Floor" +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nFloor takes one input data (Tensor) and produces one output data\n(Tensor) where the floor is, y = floor(x), is applied to\nthe tensor elementwise.\n" +----f +input: "X" +input: "W" +input: "R" +input: "B" +input: "sequence_lens" +input: "initial_h" +output: "Y" +output: "Y_h" +name: "GRU" +op_type: "GRU" +attribute { + name: "activation_alpha" + s: "" + type: FLOATS +} +attribute { + name: "activation_beta" + s: "" + type: FLOATS +} +attribute { + name: "activations" + s: "" + type: STRINGS +} +attribute { + name: "clip" + s: "" + type: FLOAT +} +attribute { + name: "direction" + s: "forward" + type: STRING +} +attribute { + name: "hidden_size" + s: "" + type: INT +} +attribute { + name: "linear_before_reset" + i: 0 + type: INT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "W-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "R-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "sequence_lens-types" + strings: "int32" + type: STRINGS +} +attribute { + name: "initial_h-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nComputes an one-layer GRU. This operator is usually supported via some custom\nimplementation such as CuDNN.\n\nNotations:\n\n`X` - input tensor\n\n`z` - update gate\n\n`r` - reset gate\n\n`h` - hidden gate\n\n`t` - time step (t-1 means previous time step)\n\n`W[zrh]` - W parameter weight matrix for update, reset, and hidden gates\n\n`R[zrh]` - R recurrence weight matrix for update, reset, and hidden gates\n\n`Wb[zrh]` - W bias vectors for update, reset, and hidden gates\n\n`Rb[zrh]` - R bias vectors for update, reset, and hidden gates\n\n`WB[zrh]` - W parameter weight matrix for backward update, reset, and hidden gates\n\n`RB[zrh]` - R recurrence weight matrix for backward update, reset, and hidden gates\n\n`WBb[zrh]` - W bias vectors for backward update, reset, and hidden gates\n\n`RBb[zrh]` - R bias vectors for backward update, reset, and hidden gates\n\n`H` - Hidden state\n\n`num_directions` - 2 if direction == bidirectional else 1\n\nActivation functions:\n\n Relu(x) - max(0, x)\n\n Tanh(x) - (1 - e^{-2x})/(1 + e^{-2x})\n\n Sigmoid(x) - 1/(1 + e^{-x})\n\n (NOTE: Below are optional)\n\n Affine(x) - alpha*x + beta\n\n LeakyRelu(x) - x if x >= 0 else alpha * x\n\n ThresholdedRelu(x) - x if x >= alpha else 0\n\n ScaledTanh(x) - alpha*Tanh(beta*x)\n\n HardSigmoid(x) - min(max(alpha*x + beta, 0), 1)\n\n Elu(x) - x if x >= 0 else alpha*(e^x - 1)\n\n Softsign(x) - x/(1 + |x|)\n\n Softplus(x) - log(1 + e^x)\n\nEquations (Default: f=Sigmoid, g=Tanh):\n\n - zt = f(Xt*(Wz^T) + Ht-1*(Rz^T) + Wbz + Rbz)\n\n - rt = f(Xt*(Wr^T) + Ht-1*(Rr^T) + Wbr + Rbr)\n\n - ht = g(Xt*(Wh^T) + (rt (.) Ht-1)*(Rh^T) + Rbh + Wbh) # default, when linear_before_reset = 0\n\n - ht = g(Xt*(Wh^T) + (rt (.) (Ht-1*(Rh^T) + Rbh)) + Wbh) # when linear_before_reset != 0\n\n - Ht = (1 - zt) (.) ht + zt (.) Ht-1\nThis operator has **optional** inputs/outputs. See [the doc](IR.md) for more details about the representation of optional arguments. An empty string may be used in the place of an actual argument\'s name to indicate a missing argument. Trailing optional arguments (those not followed by an argument that is present) may also be simply omitted.\n" +----f +input: "data" +input: "indices" +output: "output" +name: "Gather" +op_type: "Gather" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "indices-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nGiven `data` tensor of rank r >= 1, and `indices` tensor of rank q, gather\nentries of the axis dimension of `data` (by default outer-most one as axis=0) indexed by `indices`, and concatenates\nthem in an output tensor of rank q + (r - 1).\n\naxis = 0 :\n\nLet\nk = indices[i_{0}, ..., i_{q-1}]\nThen\noutput[i_{0}, ..., i_{q-1}, j_{0}, ..., j_{r-2}] = input[k , j_{0}, ..., j_{r-2}]\n\n```\n data = [\n [1.0, 1.2],\n [2.3, 3.4],\n [4.5, 5.7],\n ]\n indices = [\n [0, 1],\n [1, 2],\n ]\n output = [\n [\n [1.0, 1.2],\n [2.3, 3.4],\n ],\n [\n [2.3, 3.4],\n [4.5, 5.7],\n ],\n ]\n```\naxis = 1 :\n\nLet\nk = indices[i_{0}, ..., i_{q-1}]\nThen\noutput[i_{0}, ..., i_{q-1}, j_{0}, ..., j_{r-2}] = input[j_{0}, k, j_{1}, ..., j_{r-2}]\n\n```\n data = [\n [1.0, 1.2, 1.9],\n [2.3, 3.4, 3.9],\n [4.5, 5.7, 5.9],\n ]\n indices = [\n [0, 2],\n ]\n axis = 1,\n output = [\n [\n [1.0, 1.9],\n [2.3, 3.9],\n [4.5, 5.9],\n ],\n ]\n```\n" +----f +input: "data" +input: "indices" +output: "output" +name: "GatherElements" +op_type: "GatherElements" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "indices-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n\nGatherElements takes two inputs `data` and `indices` of the same rank r >= 1\nand an optional attribute `axis` that identifies an axis of `data`\n(by default, the outer-most axis, that is axis 0). It is an indexing operation\nthat produces its output by indexing into the input data tensor at index\npositions determined by elements of the `indices` tensor.\nIts output shape is the same as the shape of `indices` and consists of one value\n(gathered from the `data`) for each element in `indices`.\n\nFor instance, in the 3-D case (r = 3), the output produced is determined\nby the following equations: \n```\n out[i][j][k] = input[index[i][j][k]][j][k] if axis = 0,\n out[i][j][k] = input[i][index[i][j][k]][k] if axis = 1,\n out[i][j][k] = input[i][j][index[i][j][k]] if axis = 2,\n```\n\nThis operator is also the inverse of ScatterElements. It is similar to Torch\'s gather operation.\n\nExample 1:\n```\n data = [\n [1, 2],\n [3, 4],\n ]\n indices = [\n [0, 0],\n [1, 0],\n ]\n axis = 1\n output = [\n [\n [1, 1],\n [4, 3],\n ],\n ]\n```\nExample 2:\n```\n data = [\n [1, 2, 3],\n [4, 5, 6],\n [7, 8, 9],\n ]\n indices = [\n [1, 2, 0],\n [2, 0, 0],\n ]\n axis = 0\n output = [\n [\n [4, 8, 3],\n [7, 2, 3],\n ],\n ]\n```\n" +----f +input: "data" +input: "indices" +output: "output" +name: "GatherND" +op_type: "GatherND" +attribute { + name: "batch_dims" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "indices-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nGiven `data` tensor of rank `r` >= 1, `indices` tensor of rank `q` >= 1, and `batch_dims` integer `b`, this operator gathers \nslices of `data` into an output tensor of rank `q + r - indices_shape[-1] - 1 - b`.\n\n`indices` is an q-dimensional integer tensor, best thought of as a `(q-1)`-dimensional tensor of index-tuples into `data`, \nwhere each element defines a slice of `data`\n\n`batch_dims` (denoted as `b`) is an integer indicating the number of batch dimensions, i.e the leading `b` number of dimensions of \n`data` tensor and `indices` are representing the batches, and the gather starts from the `b+1` dimension. \n\nSome salient points about the inputs\' rank and shape:\n \n1) r >= 1 and q >= 1 are to be honored. There is no dependency condition to be met between ranks `r` and `q`\n\n2) The first `b` dimensions of the shape of `indices` tensor and `data` tensor must be equal.\n\n3) b < min(q, r) is to be honored.\n\n4) The `indices_shape[-1]` should have a value between 1 (inclusive) and rank `r-b` (inclusive) \n\n5) All values in `indices` are expected to be within bounds [-s, s-1] along axis of size `s` (i.e.) `-data_shape[i] <= indices[...,i] <= data_shape[i] - 1`.\n It is an error if any of the index values are out of bounds.\n\nThe output is computed as follows:\n\nThe output tensor is obtained by mapping each index-tuple in the `indices` tensor to the corresponding slice of the input `data`.\n \n1) If `indices_shape[-1] > r-b` => error condition\n\n2) If `indices_shape[-1] == r-b`, since the rank of `indices` is `q`, `indices` can be thought of as `N` `(q-b-1)`-dimensional tensors\n containing 1-D tensors of dimension `r-b`, where `N` is an integer equals to the product of 1 and all the elements in the batch dimensions \n of the indices_shape. Let us think of each such `r-b` ranked tensor as `indices_slice`. Each *scalar value* corresponding to `data[0:b-1,indices_slice]` \n is filled into the corresponding location of the `(q-b-1)`-dimensional tensor to form the `output` tensor (Example 1 below)\n\n3) If `indices_shape[-1] < r-b`, since the rank of `indices` is `q`, `indices` can be thought of as `N` `(q-b-1)`-dimensional tensor\n containing 1-D tensors of dimension `< r-b`. Let us think of each such tensors as `indices_slice`. Each *tensor slice* corresponding \n to `data[0:b-1, indices_slice , :]` is filled into the corresponding location of the `(q-b-1)`-dimensional tensor \n to form the `output` tensor (Examples 2, 3, 4 and 5 below)\n\nThis operator is the inverse of `ScatterND`.\n\n`Example 1`\n\n batch_dims = 0\n\n data = [[0,1],[2,3]] # data_shape = [2, 2]\n\n indices = [[0,0],[1,1]] # indices_shape = [2, 2]\n\n output = [0,3] # output_shape = [2]\n\n`Example 2`\n\n batch_dims = 0\n\n data = [[0,1],[2,3]] # data_shape = [2, 2]\n\n indices = [[1],[0]] # indices_shape = [2, 1]\n\n output = [[2,3],[0,1]] # output_shape = [2, 2]\n\n`Example 3`\n\n batch_dims = 0\n\n data = [[[0,1],[2,3]],[[4,5],[6,7]]] # data_shape = [2, 2, 2]\n\n indices = [[0,1],[1,0]] # indices_shape = [2, 2]\n\n output = [[2,3],[4,5]] # output_shape = [2, 2] \n\n`Example 4`\n\n batch_dims = 0\n\n data = [[[0,1],[2,3]],[[4,5],[6,7]]] # data_shape = [2, 2, 2]\n\n indices = [[[0,1]],[[1,0]]] # indices_shape = [2, 1, 2]\n\n output = [[[2,3]],[[4,5]]] # output_shape = [2, 1, 2] \n\n`Example 5`\n\n batch_dims = 1\n\n data = [[[0,1],[2,3]],[[4,5],[6,7]]] # data_shape = [2, 2, 2]\n\n indices = [[1],[0]] # indices_shape = [2, 1]\n\n output = [[2,3],[4,5]] # output_shape = [2, 2] \n\n\n" +----f +input: "A" +input: "B" +input: "C" +output: "Y" +name: "Gemm" +op_type: "Gemm" +attribute { + name: "alpha" + f: 1.0 + type: FLOAT +} +attribute { + name: "beta" + f: 1.0 + type: FLOAT +} +attribute { + name: "transA" + i: 0 + type: INT +} +attribute { + name: "transB" + i: 0 + type: INT +} +attribute { + name: "A-types" + strings: "int32" + strings: "float16" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +attribute { + name: "B-types" + strings: "int32" + strings: "float16" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +attribute { + name: "C-types" + strings: "int32" + strings: "float16" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "General Matrix multiplication:\nhttps://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms#Level_3\n\nA\' = transpose(A) if transA else A\n\nB\' = transpose(B) if transB else B\n\nCompute Y = alpha * A\' * B\' + beta * C, where input tensor A has shape (M, K) or (K, M),\ninput tensor B has shape (K, N) or (N, K), input tensor C is broadcastable to shape (M, N),\nand output tensor Y has shape (M, N). A will be transposed before doing the\ncomputation if attribute transA is non-zero, same for B and transB.\nThis operator supports **unidirectional broadcasting** (tensor C should be unidirectional broadcastable to tensor A * B); for more details please check [the doc](Broadcasting.md).\nThis operator has **optional** inputs/outputs. See [the doc](IR.md) for more details about the representation of optional arguments. An empty string may be used in the place of an actual argument\'s name to indicate a missing argument. Trailing optional arguments (those not followed by an argument that is present) may also be simply omitted.\n" +----f +input: "X" +output: "Y" +name: "GlobalAveragePool" +op_type: "GlobalAveragePool" +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\n GlobalAveragePool consumes an input tensor X and applies average pooling across\n the values in the same channel. This is equivalent to AveragePool with kernel size\n equal to the spatial dimension of input tensor." +----f +input: "X" +output: "Y" +name: "GlobalLpPool" +op_type: "GlobalLpPool" +attribute { + name: "p" + i: 2 + type: INT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\n GlobalLpPool consumes an input tensor X and applies lp pool pooling across\n the values in the same channel. This is equivalent to LpPool with kernel size\n equal to the spatial dimension of input tensor." +----f +input: "X" +output: "Y" +name: "GlobalMaxPool" +op_type: "GlobalMaxPool" +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\n GlobalMaxPool consumes an input tensor X and applies max pooling across\n the values in the same channel. This is equivalent to MaxPool with kernel size\n equal to the spatial dimension of input tensor." +----f +input: "Inputs" +output: "Outputs" +name: "Gradient" +op_type: "Gradient" +attribute { + name: "xs" + s: "" + type: STRINGS +} +attribute { + name: "y" + s: "" + type: STRING +} +attribute { + name: "zs" + s: "" + type: STRINGS +} +attribute { + name: "Inputs-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nGradient operator computes the partial derivatives of a specific tensor w.r.t.\nsome other tensors. This operator is widely used in gradient-based training\nalgorithms. To illustrate its use, let\'s consider a computation graph,\n\n```\nX -----.\n |\n v\nW --> Conv --> H --> Gemm --> Y\n ^\n |\n Z\n```\n\n, where W and Z are trainable tensors. Note that operators\' attributes are\nomitted for the sake of simplicity. Let dY/dW (dY/dZ) be the gradient of\nY with respect to W (Z). The user can compute gradient by inserting Gradient\noperator to form another graph shown below.\n\n```\nW --> Conv --> H --> Gemm --> Y\n| ^ ^\n| | |\n| X Z\n| | |\n| | .----------\'\n| | | (W/Z/X is the 1st/2nd/3rd input of Gradient as shown in\n| | | \"xs\" followed by \"zs\")\n| v v\n\'---> Gradient(xs=[\"W\", \"Z\"], zs=[\"X\"], y=\"Y\")\n | |\n | \'-----------------------------------> dY/dW (1st output of Gradient)\n |\n \'---------------------------------------> dY/dZ (2nd output of Gradient)\n```\n\nBy definition, the tensor \"y\" is a function of independent variables in \"xs\"\nand \"zs\". Since we only compute the gradient of \"y\" w.r.t. the differentiable\nvariables in \"xs\", this Gradient only outputs dY/dW and dY/dZ. Note that \"H\"\ncannot appear in \"xs\" and \"zs\". The reason is that \"H\" can be determined by\ntensors \"W\" and \"X\" and therefore \"H\" is not an independent variable.\n\nAll outputs are optional. If needed, for example, user can assign an empty\nstring to the 1st output name of that Gradient to skip the generation of dY/dW.\nNote that the concept of optional outputs can also be found in ONNX\'s RNN, GRU,\nand LSTM.\n\nGradient operator can compute derivative against intermediate tensors. For\nexample, the gradient of Y with respect to H can be done via\n\n```\nW --> Conv --> H --> Gemm --> Y\n ^ | ^\n | | |\n X | Z\n .-------\' |\n | .----------\'\n | | (H/Z is the 1st/2nd input of Gradient as shown in \"xs\")\n v v\n Gradient(xs=[\"H\", \"Z\"], y=\"Y\")\n | |\n | \'-----------------------------------> dY/dH (1st output of Gradient)\n |\n \'---------------------------------------> dY/dZ (2nd output of Gradient)\n```\n\nIt is possible to represent high-order differentiation using Gradient operators.\nFor example, given the following linear model:\n\n```\nW --> Gemm --> Y --> Loss --> O\n ^ ^\n | |\n X L\n```\n\nTo compute the 2nd order derivative of O with respect to W (denoted by\nd^2O/dW^2), one can do\n\n```\nW --> Gemm --> Y --> Loss --> O\n| ^ ^\n| | |\n| X .------------L\n| | | |\n| | | v\n+------+-+> Gradient(xs=[\"X\", \"W\"], zs=[\"L\"], y=\"O\") ---> dO/dX (1st output of Gradient)\n| | | |\n| | | \'---> dO/dW (2nd output of Gradient)\n| v v\n\'---> Gradient(xs=[\"X\", \"W\"], zs=[\"L\"], y=\"dO/dW\") ---> d(dO/dW)dX (1st output of\n | Gradient)\n |\n |\n \'---> d^2O/dW^2 (2nd output of Gradient)\n```\n\nThe tensors named in attributes \"xs\", \"zs\", and \"y\" define the differentiated\ncomputation graph, and the inputs to Gradient node define the values at\nwhich the gradient is computed. We can feed different tensors to the identified\ngraph. For example, one can compute the gradient of Y with respect to H at \na specific value of H, H_1, by providing that value as an input to the Gradient\nnode.\n\n```\nW --> Conv --> H --> Gemm --> Y\n ^ ^\n | |\n X Z\n\n Z_1 (2nd input of Gradient)\n |\n v\nH_1 --> Gradient(xs=[\"H\", \"Z\"], y=\"Y\") ---> dY/dH when H = H_1 and Y = Y_1.\n |\n \'------------------------------> dY/dZ (2nd output of Gradient)\n```\n\nWhen the inputs of Gradient are the tensors named in \"xs\" and \"zs\", the\ncomputation can be optimized. More specifically, intermediate variables in\nforward pass can be reused if the gradient is computed via reverse-mode\nauto-differentiation.\n\n" +----f +input: "Inputs" +output: "Outputs" +name: "GraphCall" +op_type: "GraphCall" +attribute { + name: "graph_name" + s: "" + type: STRING +} +attribute { + name: "Inputs-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nThe GraphCall operator invokes a graph inside TrainingInfoProto\'s\nalgorithm field. The GraphCall inputs and outputs are bound to those of\ninvoked graph by position. If a graph input has an initializer, that input\nis considered optional. All graph outputs are optional.\n\nBelow Python syntax is used for describing dictionary and list.\n\nAssume that ModelProto\'s graph field has\n- name: \"MyInferenceGraph\"\n- input: [\"X\", \"W\", \"Z\"]\n- initializer: [W]\n- output: [\"Y\"]\n\nas visualized below for inference.\n\n```\nX -----.\n |\n v\nW --> Conv --> H --> Gemm --> Y\n ^\n |\n Z\n```\n\nAssume that the training algorithm contains\n\n- inputs: [\"X_1\", \"Z_1\", \"C\"]\n- initializer: [T]\n- outputs: [\"W_new\"]\n\nwith a dictionary\n\n- update_binding: {\"W\": \"W_new\", \"T\": \"T_new\"}\n\nInside the training algorithm graph, one can invoke the inference\ngraph via adding a GraphCall node with\n\n- inputs: [\"X_1\", \"W\", Z_1\"]\n- outputs: [\"Y_1\"]\n- an attribute graph_name=\"MyInferenceGraph\",\n\nThe initializers, \"W\" and \"T\" in this case, in update_binding\nare considered globally-visible and mutable variables, which\ncan be used as inputs of operators in the training graph.\n\nAn example training algorithm graph may look like\n\n```\n.-------- W (a global and mutable variable from\n| | the inference graph)\n| |\n| .-----\'-----------.\n| | |\n| | v\n| | .-- X_1 --> GraphCall(graph_name=\"MyInferenceGraph\")\n| | | | |\n| | | | |\n| | | Z_1 -----\' |\n| | | | V\n| | | | Y_1 ---> Loss ---> O\n| | | | ^\n| | | | |\n| | `--. | C\n| | | | |\n| | | | .----------------\'\n| | | | |\n| | v v v\n| `--> Gradient(xs=[\"W\"], zs=[\"X_1\", \"Z_1\", \"C\"], y=\"O\")\n| |\n| v\n| dO_dW (gradient of W) 1 (a scalar one)\n| | |\n| V v\n| Div <--- T ------------> Add ---> T_new\n| | (T is the number of training iterations.\n| | T is also globally visible and mutable.)\n| v\n`-----> Sub ----> W_new\n```\n\nwhere Loss is a dummy node which computes the minimized objective function.\n\nThe variable \"W\" is an optional input in the called graph.\nIf the user omits it, the input list of GraphCall becomes [\"X_1\", \"\", \"Z_1\"].\nIn this case, from the view of computation graph, the Conv operator invoked by\nGraphCall\'s may be still connected the global \"W\" variable and therefore the\nstructure of the computation graph is unchanged.\n" +----f +input: "A" +input: "B" +output: "C" +name: "Greater" +op_type: "Greater" +attribute { + name: "A-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "B-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `greater` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "A" +input: "B" +output: "C" +name: "GreaterOrEqual" +op_type: "GreaterOrEqual" +attribute { + name: "A-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "B-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `greater_equal` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "X" +output: "Y" +name: "HardSigmoid" +op_type: "HardSigmoid" +attribute { + name: "alpha" + f: 0.2 + type: FLOAT +} +attribute { + name: "beta" + f: 0.5 + type: FLOAT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nHardSigmoid takes one input data (Tensor) and produces one output data\n(Tensor) where the HardSigmoid function, y = max(0, min(1, alpha * x + beta)),\nis applied to the tensor elementwise.\n" +----f +input: "input" +output: "output" +name: "Hardmax" +op_type: "Hardmax" +attribute { + name: "axis" + i: 1 + type: INT +} +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nThe operator computes the hardmax (1 for the first maximum value, and 0 for all others) values for each layer in the batch\n of the given input.\n\nThe input does not need to explicitly be a 2D vector; rather, it will be\ncoerced into one. For an arbitrary n-dimensional tensor\ninput \\in [a_0, a_1, ..., a_{k-1}, a_k, ..., a_{n-1}] and k is\nthe axis provided, then input will be coerced into a 2-dimensional tensor with\ndimensions [a_0 * ... * a_{k-1}, a_k * ... * a_{n-1}]. For the default\ncase where axis=1, this means the input tensor will be coerced into a 2D tensor\nof dimensions [a_0, a_1 * ... * a_{n-1}], where a_0 is often the batch size.\nIn this situation, we must have a_0 = N and a_1 * ... * a_{n-1} = D.\nEach of these dimensions must be matched correctly, or else the operator\nwill throw errors. The output tensor has the same shape\nand contains the hardmax values of the corresponding input.\n" +----f +input: "input" +output: "output" +name: "Identity" +op_type: "Identity" +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "Identity operator" +----f +input: "cond" +output: "outputs" +name: "If" +op_type: "If" +attribute { + name: "else_branch" + s: "" + type: GRAPH +} +attribute { + name: "then_branch" + s: "" + type: GRAPH +} +attribute { + name: "cond-types" + strings: "bool" + type: STRINGS +} +doc_string: "If conditional" +----f +input: "X" +output: "Y" +name: "Imputer" +op_type: "Imputer" +attribute { + name: "imputed_value_floats" + s: "" + type: FLOATS +} +attribute { + name: "imputed_value_int64s" + s: "" + type: INTS +} +attribute { + name: "replaced_value_float" + f: 0.0 + type: FLOAT +} +attribute { + name: "replaced_value_int64" + i: 0 + type: INT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n Replaces inputs that equal one value with another, leaving all other elements alone.
\n This operator is typically used to replace missing values in situations where they have a canonical\n representation, such as -1, 0, NaN, or some extreme value.
\n One and only one of imputed_value_floats or imputed_value_int64s should be defined -- floats if the input tensor\n holds floats, integers if the input tensor holds integers. The imputed values must all fit within the\n width of the tensor element type. One and only one of the replaced_value_float or replaced_value_int64 should be defined,\n which one depends on whether floats or integers are being processed.
\n The imputed_value attribute length can be 1 element, or it can have one element per input feature.
In other words, if the input tensor has the shape [*,F], then the length of the attribute array may be 1 or F. If it is 1, then it is broadcast along the last dimension and applied to each feature.\n" +----f +input: "input" +input: "scale" +input: "B" +output: "output" +name: "InstanceNormalization" +op_type: "InstanceNormalization" +attribute { + name: "epsilon" + f: 1e-05 + type: FLOAT +} +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "scale-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCarries out instance normalization as described in the paper\nhttps://arxiv.org/abs/1607.08022.\n\ny = scale * (x - mean) / sqrt(variance + epsilon) + B,\nwhere mean and variance are computed per instance per channel.\n\n" +----f +input: "X" +output: "Y" +name: "IsInf" +op_type: "IsInf" +attribute { + name: "detect_negative" + i: 1 + type: INT +} +attribute { + name: "detect_positive" + i: 1 + type: INT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + type: STRINGS +} +doc_string: "Map infinity to true and other values to false." +----f +input: "X" +output: "Y" +name: "IsNaN" +op_type: "IsNaN" +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "Returns which elements of the input are NaN." +----f +input: "X" +output: "Y" +name: "LRN" +op_type: "LRN" +attribute { + name: "alpha" + f: 0.0001 + type: FLOAT +} +attribute { + name: "beta" + f: 0.75 + type: FLOAT +} +attribute { + name: "bias" + f: 1.0 + type: FLOAT +} +attribute { + name: "size" + s: "" + type: INT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nLocal Response Normalization proposed in the [AlexNet paper](https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf).\nIt normalizes over local input regions.\nThe local region is defined across the channels. For an element X[n, c, d1, ..., dk] in a tensor\nof shape (N x C x D1 x D2, ..., Dk), its region is\n{X[n, i, d1, ..., dk] | max(0, c - floor((size - 1) / 2)) <= i <= min(C - 1, c + ceil((size - 1) / 2))}.\n\nsquare_sum[n, c, d1, ..., dk] = sum(X[n, i, d1, ..., dk] ^ 2),\nwhere max(0, c - floor((size - 1) / 2)) <= i <= min(C - 1, c + ceil((size - 1) / 2)).\n\nY[n, c, d1, ..., dk] = X[n, c, d1, ..., dk] / (bias + alpha / size * square_sum[n, c, d1, ..., dk] ) ^ beta\n" +----f +input: "X" +input: "W" +input: "R" +input: "B" +input: "sequence_lens" +input: "initial_h" +input: "initial_c" +input: "P" +output: "Y" +output: "Y_h" +output: "Y_c" +name: "LSTM" +op_type: "LSTM" +attribute { + name: "activation_alpha" + s: "" + type: FLOATS +} +attribute { + name: "activation_beta" + s: "" + type: FLOATS +} +attribute { + name: "activations" + s: "" + type: STRINGS +} +attribute { + name: "clip" + s: "" + type: FLOAT +} +attribute { + name: "direction" + s: "forward" + type: STRING +} +attribute { + name: "hidden_size" + s: "" + type: INT +} +attribute { + name: "input_forget" + i: 0 + type: INT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "W-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "R-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "sequence_lens-types" + strings: "int32" + type: STRINGS +} +attribute { + name: "initial_h-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "initial_c-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "P-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nComputes an one-layer LSTM. This operator is usually supported via some\ncustom implementation such as CuDNN.\n\nNotations:\n\n`X` - input tensor\n\n`i` - input gate\n\n`o` - output gate\n\n`f` - forget gate\n\n`c` - cell gate\n\n`t` - time step (t-1 means previous time step)\n\n`W[iofc]` - W parameter weight matrix for input, output, forget, and cell gates\n\n`R[iofc]` - R recurrence weight matrix for input, output, forget, and cell gates\n\n`Wb[iofc]` - W bias vectors for input, output, forget, and cell gates\n\n`Rb[iofc]` - R bias vectors for input, output, forget, and cell gates\n\n`P[iof]` - P peephole weight vector for input, output, and forget gates\n\n`WB[iofc]` - W parameter weight matrix for backward input, output, forget, and cell gates\n\n`RB[iofc]` - R recurrence weight matrix for backward input, output, forget, and cell gates\n\n`WBb[iofc]` - W bias vectors for backward input, output, forget, and cell gates\n\n`RBb[iofc]` - R bias vectors for backward input, output, forget, and cell gates\n\n`PB[iof]` - P peephole weight vector for backward input, output, and forget gates\n\n`H` - Hidden state\n\n`num_directions` - 2 if direction == bidirectional else 1\n\nActivation functions:\n\n Relu(x) - max(0, x)\n\n Tanh(x) - (1 - e^{-2x})/(1 + e^{-2x})\n\n Sigmoid(x) - 1/(1 + e^{-x})\n\n (NOTE: Below are optional)\n\n Affine(x) - alpha*x + beta\n\n LeakyRelu(x) - x if x >= 0 else alpha * x\n\n ThresholdedRelu(x) - x if x >= alpha else 0\n\n ScaledTanh(x) - alpha*Tanh(beta*x)\n\n HardSigmoid(x) - min(max(alpha*x + beta, 0), 1)\n\n Elu(x) - x if x >= 0 else alpha*(e^x - 1)\n\n Softsign(x) - x/(1 + |x|)\n\n Softplus(x) - log(1 + e^x)\n\nEquations (Default: f=Sigmoid, g=Tanh, h=Tanh):\n\n - it = f(Xt*(Wi^T) + Ht-1*(Ri^T) + Pi (.) Ct-1 + Wbi + Rbi)\n\n - ft = f(Xt*(Wf^T) + Ht-1*(Rf^T) + Pf (.) Ct-1 + Wbf + Rbf)\n\n - ct = g(Xt*(Wc^T) + Ht-1*(Rc^T) + Wbc + Rbc)\n\n - Ct = ft (.) Ct-1 + it (.) ct\n\n - ot = f(Xt*(Wo^T) + Ht-1*(Ro^T) + Po (.) Ct + Wbo + Rbo)\n\n - Ht = ot (.) h(Ct)\nThis operator has **optional** inputs/outputs. See [the doc](IR.md) for more details about the representation of optional arguments. An empty string may be used in the place of an actual argument\'s name to indicate a missing argument. Trailing optional arguments (those not followed by an argument that is present) may also be simply omitted.\n" +----f +input: "X" +output: "Y" +name: "LabelEncoder" +op_type: "LabelEncoder" +attribute { + name: "default_float" + f: -0.0 + type: FLOAT +} +attribute { + name: "default_int64" + i: -1 + type: INT +} +attribute { + name: "default_string" + s: "_Unused" + type: STRING +} +attribute { + name: "keys_floats" + s: "" + type: FLOATS +} +attribute { + name: "keys_int64s" + s: "" + type: INTS +} +attribute { + name: "keys_strings" + s: "" + type: STRINGS +} +attribute { + name: "values_floats" + s: "" + type: FLOATS +} +attribute { + name: "values_int64s" + s: "" + type: INTS +} +attribute { + name: "values_strings" + s: "" + type: STRINGS +} +attribute { + name: "X-types" + strings: "string" + strings: "float" + strings: "int64" + type: STRINGS +} +doc_string: "\n Maps each element in the input tensor to another value.
\n The mapping is determined by the two parallel attributes, \'keys_*\' and\n \'values_*\' attribute. The i-th value in the specified \'keys_*\' attribute\n would be mapped to the i-th value in the specified \'values_*\' attribute. It\n implies that input\'s element type and the element type of the specified\n \'keys_*\' should be identical while the output type is identical to the\n specified \'values_*\' attribute. If an input element can not be found in the\n specified \'keys_*\' attribute, the \'default_*\' that matches the specified\n \'values_*\' attribute may be used as its output value.
\n Let\'s consider an example which maps a string tensor to an integer tensor.\n Assume and \'keys_strings\' is [\"Amy\", \"Sally\"], \'values_int64s\' is [5, 6],\n and \'default_int64\' is \'-1\'. The input [\"Dori\", \"Amy\", \"Amy\", \"Sally\",\n \"Sally\"] would be mapped to [-1, 5, 5, 6, 6].
\n Since this operator is an one-to-one mapping, its input and output shapes\n are the same. Notice that only one of \'keys_*\'/\'values_*\' can be set.
\n For key look-up, bit-wise comparison is used so even a float NaN can be\n mapped to a value in \'values_*\' attribute.
\n" +----f +input: "X" +output: "Y" +name: "LeakyRelu" +op_type: "LeakyRelu" +attribute { + name: "alpha" + f: 0.01 + type: FLOAT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nLeakyRelu takes input data (Tensor) and an argument alpha, and produces one\noutput data (Tensor) where the function `f(x) = alpha * x for x < 0`,\n`f(x) = x for x >= 0`, is applied to the data tensor elementwise.\n" +----f +input: "A" +input: "B" +output: "C" +name: "Less" +op_type: "Less" +attribute { + name: "A-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "B-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `less` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "A" +input: "B" +output: "C" +name: "LessOrEqual" +op_type: "LessOrEqual" +attribute { + name: "A-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "B-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `less_equal` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "X" +output: "Y" +output: "Z" +name: "LinearClassifier" +op_type: "LinearClassifier" +attribute { + name: "classlabels_ints" + s: "" + type: INTS +} +attribute { + name: "classlabels_strings" + s: "" + type: STRINGS +} +attribute { + name: "coefficients" + s: "" + type: FLOATS +} +attribute { + name: "intercepts" + s: "" + type: FLOATS +} +attribute { + name: "multi_class" + i: 0 + type: INT +} +attribute { + name: "post_transform" + s: "NONE" + type: STRING +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n Linear classifier\n" +----f +input: "X" +output: "Y" +name: "LinearRegressor" +op_type: "LinearRegressor" +attribute { + name: "coefficients" + s: "" + type: FLOATS +} +attribute { + name: "intercepts" + s: "" + type: FLOATS +} +attribute { + name: "post_transform" + s: "NONE" + type: STRING +} +attribute { + name: "targets" + i: 1 + type: INT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n Generalized linear regression evaluation.
\n If targets is set to 1 (default) then univariate regression is performed.
\n If targets is set to M then M sets of coefficients must be passed in as a sequence\n and M results will be output for each input n in N.
\n The coefficients array is of length n, and the coefficients for each target are contiguous.\n Intercepts are optional but if provided must match the number of targets.\n" +----f +input: "input" +output: "output" +name: "Log" +op_type: "Log" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the natural log of the given input tensor, element-wise.\n" +----f +input: "input" +output: "output" +name: "LogSoftmax" +op_type: "LogSoftmax" +attribute { + name: "axis" + i: 1 + type: INT +} +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nThe operator computes the logsoftmax (log of softmax) values for each layer in the batch\n of the given input.\n\nThe input does not need to explicitly be a 2D vector; rather, it will be\ncoerced into one. For an arbitrary n-dimensional tensor\ninput \\in [a_0, a_1, ..., a_{k-1}, a_k, ..., a_{n-1}] and k is\nthe axis provided, then input will be coerced into a 2-dimensional tensor with\ndimensions [a_0 * ... * a_{k-1}, a_k * ... * a_{n-1}]. For the default\ncase where axis=1, this means the input tensor will be coerced into a 2D tensor\nof dimensions [a_0, a_1 * ... * a_{n-1}], where a_0 is often the batch size.\nIn this situation, we must have a_0 = N and a_1 * ... * a_{n-1} = D.\nEach of these dimensions must be matched correctly, or else the operator\nwill throw errors. The output tensor has the same shape\nand contains the logsoftmax values of the corresponding input.\n" +----f +input: "M" +input: "cond" +input: "v_initial" +output: "v_final_and_scan_outputs" +name: "Loop" +op_type: "Loop" +attribute { + name: "body" + s: "" + type: GRAPH +} +attribute { + name: "M-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "cond-types" + strings: "bool" + type: STRINGS +} +attribute { + name: "v_initial-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nGeneric Looping construct. This loop has multiple termination conditions:\n\n1) Trip count. Iteration count specified at runtime. Set by\n specifying the input M. Optional. Set to empty string to omit.\n Note that a static trip count (specified at graph construction time) can be\n specified by passing in a constant node for input M.\n2) Loop termination condition. This is an input to the op that determines\n whether to run the first iteration and also a loop-carried dependency for\n the body graph. The body graph must yield a value for the condition variable,\n whether this input is provided or not.\n\nThis table summarizes the operating modes of this operator with equivalent\nC-style code:\n\n Operator inputs defined as (max_trip_count, condition_var).\n\n input (\"\", \"\"):\n for (int i=0; ; ++i) {\n cond = ... // Note this value is ignored, but is required in the body\n }\n\n input (\"\", cond) // Note this is analogous to a while loop\n bool cond = ...;\n for (int i=0; cond; ++i) {\n cond = ...;\n }\n\n input (\"\", 1) // Note this is analogous to a do-while loop\n bool cond = true\n for (int i=0; cond; ++i) {\n cond = ...;\n }\n\n input (trip_count, \"\") // Note this is analogous to a for loop\n int trip_count = ...\n for (int i=0; i < trip_count; ++i) {\n cond = ...; // ignored\n }\n\n input (trip_count, cond)\n int trip_count = ...;\n bool cond = ...;\n for (int i=0; i < trip_count && cond; ++i) {\n cond = ...;\n }\n\n\n*Sample usage - cond as well as trip count*\n\n graph predict-net {\n %a = Constant[value = ]()\n %b = Constant[value = ]()\n %keepgoing = Constant[value = ]()\n %max_trip_count = Constant[value = ]()\n %keepgoing_out, %b_out, %user_defined_vals = Loop[body = ](%max_trip_count, %keepgoing, %b)\n return\n }\n\n graph body-net (\n %i[INT32, scalar] // iteration number\n %keepgoing_in[BOOL, scalar] // incoming loop-termination-condition; not used\n %b_in[INT32, scalar] // incoming value of loop-carried-dependency b\n ) {\n %my_local = Add(%a, %b_in)\n %b_out = Sub(%a, %b_in) // outgoing value of loop-carried-dependency b\n %keepgoing_out = Greater(%my_local, %b_out) // outgoing loop-termination-condition\n %user_defined_val = Add(%b_in, %b_in) // scan-output value to be accumulated\n return %keepgoing_out, %b_out, %user_defined_val\n }\n\n*Sample equivalent C code*\n\n {\n /* User-defined code (enclosing scope) */\n int a = 3, b = 6;\n bool keepgoing = true; // Analogous to input cond\n /* End user-defined code */\n\n /* Implicitly-defined code */\n const int max_trip_count = 10; // Analogous to input M\n int user_defined_vals[]; // Imagine this is resizable\n /* End implicitly-defined code */\n /* initialize loop-carried variables and scan-output variables */\n bool keepgoing_out = keepgoing\n int b_out = b\n\n for (int i=0; i < max_trip_count && keepgoing_out; ++i) {\n /* Implicitly-defined code: bind actual parameter values\n to formal parameter variables of loop-body */\n bool keepgoing_in = keepgoing_out; \n bool b_in = b_out;\n\n /* User-defined code (loop body) */\n int my_local = a + b_in; // Reading value \"a\" from the enclosing scope is fine\n b_out = a - b_in;\n keepgoing_out = my_local > b_out; \n user_defined_val = b_in + b_in; // b_in and b_out are different variables\n /* End user-defined code */\n\n /* Implicitly defined-code */\n user_defined_vals[i] = user_defined_val // accumulate scan-output values\n }\n // int t = my_local; // Can\'t do this. my_local is not accessible here.\n\n // The values below are bound to the output variables of the loop and therefore accessible\n // b_out; user_defined_vals; keepgoing_out;\n }\n\nThere are several things of note in this code snippet:\n\n1) Values from the enclosing scope (i.e. variable \"a\" here) are in scope and can\n be referenced in the inputs of the loop.\n2) Any values computed in the loop body that needs to be used in a subsequent\n iteration or after the loop are modelled using a pair of variables in the loop-body,\n consisting of an input variable (eg., b_in) and an output variable (eg., b_out).\n These are referred to as loop-carried dependences. The loop operation node\n supplies the input value of the input variable for the first iteration, and\n returns the output value of the output variable produced by the final\n iteration.\n3) Scan_output variables are used to implicitly concatenate values computed across\n all the iterations. In the above example, the value of user_defined_val computed\n over all iterations are concatenated and returned as the value of user_defined_vals\n after the loop.\n4) Values created in the body cannot be accessed in the enclosing scope,\n except using the mechanism described above.\n\nNote that the semantics of this op support \"diagonal\" or \"wavefront\" execution.\n(See Step 3 here for an example:\nhttps://devblogs.nvidia.com/optimizing-recurrent-neural-networks-cudnn-5/).\nFrontends should emit multi-layer RNNs as a series of While operators (with\ntime being the inner looping dimension), with each successive layer consuming\nthe scan_outputs from the previous layer, possibly going through several\npoint-wise operators (e.g. dropout, residual connections, linear layer).\n" +----f +input: "input" +output: "output" +name: "LpNormalization" +op_type: "LpNormalization" +attribute { + name: "axis" + i: -1 + type: INT +} +attribute { + name: "p" + i: 2 + type: INT +} +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nGiven a matrix, apply Lp-normalization along the provided axis.\n" +----f +input: "X" +output: "Y" +name: "LpPool" +op_type: "LpPool" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "p" + i: 2 + type: INT +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\n LpPool consumes an input tensor X and applies Lp pooling across\n the tensor according to kernel sizes, stride sizes, and pad lengths.\n Lp pooling consisting of computing the Lp norm on all values of a subset\n of the input tensor according to the kernel size and downsampling the\n data into the output tensor Y for further processing." +----f +input: "A" +input: "B" +output: "Y" +name: "MatMul" +op_type: "MatMul" +attribute { + name: "A-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +attribute { + name: "B-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nMatrix product that behaves like numpy.matmul: https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.matmul.html\n" +----f +input: "A" +input: "B" +input: "a_zero_point" +input: "b_zero_point" +output: "Y" +name: "MatMulInteger" +op_type: "MatMulInteger" +attribute { + name: "A-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "B-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "a_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "b_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nMatrix product that behaves like numpy.matmul: https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.matmul.html.\nThe production MUST never overflow. The accumulation may overflow if and only if in 32 bits.\n" +----f +input: "data_0" +output: "max" +name: "Max" +op_type: "Max" +attribute { + name: "data_0-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nElement-wise max of each of the input tensors (with Numpy-style broadcasting support).\nAll inputs and outputs must have the same data type.\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "X" +output: "Y" +output: "Indices" +name: "MaxPool" +op_type: "MaxPool" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "ceil_mode" + i: 0 + type: INT +} +attribute { + name: "dilations" + s: "" + type: INTS +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "storage_order" + i: 0 + type: INT +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "int8" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n MaxPool consumes an input tensor X and applies max pooling across\n the tensor according to kernel sizes, stride sizes, and pad lengths.\n max pooling consisting of computing the max on all values of a\n subset of the input tensor according to the kernel size and downsampling the\n data into the output tensor Y for further processing. The output spatial shape will be following:\n ```\n output_spatial_shape[i] = floor((input_spatial_shape[i] + pad_shape[i] - ((kernel_spatial_shape[i] - 1) * dilations[i] + 1)) / strides_spatial_shape[i] + 1)\n ```\n or\n ```\n output_spatial_shape[i] = ceil((input_spatial_shape[i] + pad_shape[i] - ((kernel_spatial_shape[i] - 1) * dilations[i] + 1)) / strides_spatial_shape[i] + 1)\n ```\n if ceil_mode is enabled\n\n ```\n * pad_shape[i] is sum of pads along axis i\n ```\n\n `auto_pad` is a DEPRECATED attribute. If you are using them currently, the output spatial shape will be following:\n ```\n VALID: output_spatial_shape[i] = ceil((input_spatial_shape[i] - ((kernel_spatial_shape[i] - 1) * dilations[i] + 1) + 1) / strides_spatial_shape[i])\n SAME_UPPER or SAME_LOWER: output_spatial_shape[i] = ceil(input_spatial_shape[i] / strides_spatial_shape[i])\n ```\n And pad shape will be following if `SAME_UPPER` or `SAME_LOWER`:\n ```\n pad_shape[i] = (output_spatial_shape[i] - 1) * strides_spatial_shape[i] + ((kernel_spatial_shape[i] - 1) * dilations[i] + 1) - input_spatial_shape[i]\n ```\n The output of each pooling window is maximum number of elements exclude pad. \n " +----f +input: "X" +input: "rois" +output: "Y" +name: "MaxRoiPool" +op_type: "MaxRoiPool" +attribute { + name: "pooled_shape" + s: "" + type: INTS +} +attribute { + name: "spatial_scale" + f: 1.0 + type: FLOAT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "rois-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\n ROI max pool consumes an input tensor X and region of interests (RoIs) to\n apply max pooling across each RoI, to produce output 4-D tensor of shape\n (num_rois, channels, pooled_shape[0], pooled_shape[1])." +----f +input: "X" +input: "I" +input: "output_shape" +output: "output" +name: "MaxUnpool" +op_type: "MaxUnpool" +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "I-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "output_shape-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nMaxUnpool essentially computes the partial inverse of the MaxPool op.\n The input information to this op is typically the the output information from a MaxPool op. The first\n input tensor X is the tensor that needs to be unpooled, which is typically the pooled tensor (first output)\n from MaxPool. The second input tensor, I, contains the indices to the (locally maximal) elements corrsponding\n to the elements in the first input tensor X. Input tensor I is typically the second output of the MaxPool op.\n The third (optional) input is a tensor that specifies the output size of the unpooling operation.\n\nMaxUnpool is intended to do \'partial\' inverse of the MaxPool op. \'Partial\' because all the non-maximal\n values from the original input to MaxPool are set to zero in the output of the MaxUnpool op. Pooling\n the result of an unpooling operation should give back the original input to the unpooling op.\n\nMaxUnpool can produce the same output size for several input sizes, which makes unpooling op ambiguous.\n The third input argument, output_size, is meant to disambiguate the op and produce output tensor of\n known/predictable size.\n\nIn addition to the inputs, MaxUnpool takes three attributes, namely kernel_shape, strides, and pads,\n which define the exact unpooling op. The attributes typically have the same values as the corrsponding\n pooling op that the unpooling op is trying to invert.\n" +----f +input: "data_0" +output: "mean" +name: "Mean" +op_type: "Mean" +attribute { + name: "data_0-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nElement-wise mean of each of the input tensors (with Numpy-style broadcasting support).\nAll inputs and outputs must have the same data type.\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "X" +output: "Y" +name: "MeanVarianceNormalization" +op_type: "MeanVarianceNormalization" +attribute { + name: "axes" + ints: 0 + ints: 2 + ints: 3 + type: INTS +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\n A MeanVarianceNormalization Function: Perform mean variance normalization\n on the input tensor X using formula:
``` (X-EX)/sqrt(E(X-EX)^2) ```\n" +----f +input: "data_0" +output: "min" +name: "Min" +op_type: "Min" +attribute { + name: "data_0-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nElement-wise min of each of the input tensors (with Numpy-style broadcasting support).\nAll inputs and outputs must have the same data type.\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "A" +input: "B" +output: "C" +name: "Mod" +op_type: "Mod" +attribute { + name: "fmod" + i: 0 + type: INT +} +attribute { + name: "A-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "B-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\n Performs element-wise binary modulus (with Numpy-style broadcasting support). \n The sign of the remainder is the same as that of the Divisor.\n \n Mod operator can also behave like C fmod() or numpy.fmod. In this case, the sign of the remainder however, will be the same as the Dividend \n (in contrast to integer mod). To force a behavior like numpy.fmod() an \'fmod\' Attribute is provided.\n This attribute is set to 0 by default causing the behavior to be like integer mod. \n Setting this attribute to 1 causes the remainder to be calculated similar to that of numpy.fmod().\n\n If the input type is floating point, then `fmod` attribute must be set to 1.\n \n In case of dividend being zero, the results will be platform dependent.\n\n This operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "R" +input: "T" +input: "inputs" +output: "outputs" +name: "Momentum" +op_type: "Momentum" +attribute { + name: "alpha" + s: "" + type: FLOAT +} +attribute { + name: "beta" + s: "" + type: FLOAT +} +attribute { + name: "mode" + s: "" + type: STRING +} +attribute { + name: "norm_coefficient" + s: "" + type: FLOAT +} +attribute { + name: "R-types" + strings: "float" + strings: "double" + type: STRINGS +} +attribute { + name: "T-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "inputs-types" + strings: "float" + strings: "double" + type: STRINGS +} +doc_string: "\n Compute one iteration of stochastic gradient update with momentum.\n This operator can conduct the optimization of multiple tensor variables.\n\n Let\'s define the behavior of this operator. As you can imagine, SG with momentum requires\n several parameters:\n \n - The learning-rate \"R\".\n - The update count \"T\". That is, the number of conducted training iterations. It should\n be zero in the first training iteration.\n - A L2-norm regularization coefficient \"norm_coefficient\".\n - A decay coefficient of previous accumulated gradient (i.e., momentum) \"alpha\".\n - The scaling coefficient of current gradient \"beta\".\n - An attribute to choose either standard momentum or Nesterov\'s momentum \"mode\" should\n be used.\n\n For the sake of simplicity, assume that there is only one tensor (called \"X\") to be optimized.\n Other necessary inputs are \"X\"\'s gradient (called \"G\") and \"X\"\'s momentum (called \"V\"). This\n Momentum operator maps all these inputs to the new value of \"X\" (called \"X_new\") and its new\n momentum (called \"V_new\").\n \n This operator supports two different momentum algorithms. Set the attribute \"mode\" to\n \"nesterov\" if Nesterov\'s momentum is desired. Otherwise, set the attribute \"model\" to\n \"standard\" to use standard momentum. Computation details are described subsequently.\n\n Let \"+\", \"-\", \"*\", and \"/\" are all element-wise operations with numpy-style broadcasting.\n\n Pseudo code for SG with standard momentum:\n\n // Add gradient of 0.5 * norm_coefficient * ||X||^2, where ||X|| is the sum of squared\n // values of all elements in X.\n G_regularized = norm_coefficient * X + G\n\n // In the first training iteration, beta should always be 1.\n beta_adjusted = T > 0 ? beta : 1\n\n // Compute the current momentum based on previous momentum and the current gradient.\n V_new = alpha * V + beta_adjusted * G_regularized\n\n // Update X.\n X_new = X - R * V_new\n\n Pseudo code for SG with Nesterov\'s momentum:\n\n // Add gradient of 0.5 * norm_coefficient * ||X||^2, where ||X|| is the sum of squared\n // values of all elements in X.\n G_regularized = norm_coefficient * X + G;\n\n // In the first training iteration, beta should always be 1.\n beta_adjusted = T > 0 ? beta : 1\n\n // Compute the current momentum based on previous momentum and the current gradient.\n V_new = alpha * V + beta_adjusted * G_regularized;\n\n // Compute final update direction and then update X.\n X_new = X - R * (G_regularized + alpha * V_new)\n\n If one assign this operators to optimize multiple inputs, for example, \"X_1\" and \"X_2\". The same\n pseudo code would be extended to handle all tensors jointly. More specifically, we can view \"X\" as a\n concatenation of \"X_1\" and \"X_2\" (of course, their gradient and accumulate gradient should\n be concatenated too) and then our pseudo code becomes applicable.\n" +----f +input: "A" +input: "B" +output: "C" +name: "Mul" +op_type: "Mul" +attribute { + name: "A-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +attribute { + name: "B-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nPerforms element-wise binary multiplication (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "input" +output: "output" +name: "Multinomial" +op_type: "Multinomial" +attribute { + name: "dtype" + i: 6 + type: INT +} +attribute { + name: "sample_size" + i: 1 + type: INT +} +attribute { + name: "seed" + s: "" + type: FLOAT +} +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nGenerate a tensor of samples from a multinomial distribution according to the probabilities\nof each of the possible outcomes.\n" +----f +input: "X" +output: "Y" +name: "Neg" +op_type: "Neg" +attribute { + name: "X-types" + strings: "int8" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "float" + strings: "int16" + type: STRINGS +} +doc_string: "\nNeg takes one input data (Tensor) and produces one output data\n(Tensor) where each element flipped sign, y = -x, is applied to\nthe tensor elementwise.\n" +----f +input: "input" +input: "target" +input: "weight" +output: "loss" +name: "NegativeLogLikelihoodLoss" +op_type: "NegativeLogLikelihoodLoss" +attribute { + name: "ignore_index" + s: "" + type: INT +} +attribute { + name: "reduction" + s: "mean" + type: STRING +} +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "target-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "weight-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nA NegativeLogLikelihoodLoss operator computes (weighted) negative log likelihood loss.\nIts \"input\" tensor has the shape of (N, C, d1, d2, ..., dk) where k >= 0.\nThe \"input\" tensor contains log-probabilities for input[n, :, d_1, d_2,..., d_k] being in a class of [0, C).\nThe operator\'s \"target\" input tensor has the shape of (N, d1, d2, ..., dk). It encodes class labels (one of C classes)\nor it may contain a special value (indicated by an attribute ignore_index) for N x d1 x d2 x ... x dk samples.\nThe loss value for input[n, :, d_1, d_2,...d_k] being classified as class c = target[n][d_1][d_2]...[d_k] is computed as:\n\n loss[n][d_1][d_2]...[d_k] = -input[n][c][d_1][d_2]...[d_k].\n\nWhen an optional \"weight\" is provided, the sample loss is calculated as:\n\n loss[n][d_1][d_2]...[d_k] = -input[n][c][d_1][d_2]...[d_k] * weight[c].\n\nloss is zero for the case when target-value equals ignore_index.\n \n loss[n][d_1][d_2]...[d_k] = 0, when target[n][d_1][d_2]...[d_k] = ignore_index\n\nIf \"reduction\" attribute is set to \"none\", the operator\'s output will be the above loss with shape (N, d1, d2, ..., dk).\nIf \"reduction\" attribute is set to \"mean\" (the default attribute value), the output loss is (weight) averaged:\n\n mean(loss), if \"weight\" is not provided,\n\nor if weight is provided,\n\n sum(loss) / sum(weight[target[n][d_1][d_2]...[d_k]]]), for all samples.\n\nIf \"reduction\" attribute is set to \"sum\", the output is a scalar:\n sum(loss).\n\nSee also https://pytorch.org/docs/stable/nn.html#torch.nn.NLLLoss.\n\nExample 1:\n\n // negative log likelihood loss, \"none\" reduction\n N, C, d1 = 2, 3, 2\n input = [[[1.0, 2.0], [2.0, 2.0], [3.0, 2.0]],\n [[0.0, 1.0], [2.0, 2.0], [1.0, 2]]]\n target = [[2, 1], [0, 2]]\n\n loss = np.zeros((N, d1))\n for n in range(N):\n for d_1 in range(d1):\n c = target[n][d_1]\n loss[n][d_1] = -input[n][c][d_1]\n\n // print(loss)\n // [[-3. -2.]\n // [-0. -2.]]\n\nExample 2:\n\n // weighted negative log likelihood loss, sum reduction\n N, C, d1 = 2, 3, 2\n input = [[[1.0, 2.0], [2.0, 2.0], [3.0, 2.0]],\n [[0.0, 1.0], [2.0, 2.0], [1.0, 2]]]\n target = [[2, 1], [0, 2]]\n weight = [0.2, 0.3, 0.1]\n loss = np.zeros((N, d1))\n for n in range(N):\n for d_1 in range(d1):\n c = target[n][d_1]\n loss[n][d_1] = -input[n][c][d_1] * weight[c]\n\n loss = np.sum(loss)\n // print(loss)\n // -1.1\n\nExample 3:\n\n // weighted negative log likelihood loss, mean reduction\n N, C, d1 = 2, 3, 2\n input = [[[1.0, 2.0], [2.0, 2.0], [3.0, 2.0]],\n [[0.0, 1.0], [2.0, 2.0], [1.0, 2]]]\n target = [[2, 1], [0, 2]]\n weight = [0.2, 0.3, 0.1]\n loss = np.zeros((N, d1))\n weight_total = 0\n for n in range(N):\n for d_1 in range(d1):\n c = target[n][d_1]\n loss[n][d_1] = -input[n][c][d_1] * weight[c]\n weight_total = weight_total + weight[c]\n\n loss = np.sum(loss) / weight_total\n // print(loss)\n // -1.57\n" +----f +input: "boxes" +input: "scores" +input: "max_output_boxes_per_class" +input: "iou_threshold" +input: "score_threshold" +output: "selected_indices" +name: "NonMaxSuppression" +op_type: "NonMaxSuppression" +attribute { + name: "center_point_box" + i: 0 + type: INT +} +attribute { + name: "boxes-types" + strings: "float" + type: STRINGS +} +attribute { + name: "scores-types" + strings: "float" + type: STRINGS +} +attribute { + name: "max_output_boxes_per_class-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "iou_threshold-types" + strings: "float" + type: STRINGS +} +attribute { + name: "score_threshold-types" + strings: "float" + type: STRINGS +} +doc_string: "\nFilter out boxes that have high intersection-over-union (IOU) overlap with previously selected boxes.\nBounding boxes with score less than score_threshold are removed. Bounding box format is indicated by attribute center_point_box.\nNote that this algorithm is agnostic to where the origin is in the coordinate system and more generally is invariant to\northogonal transformations and translations of the coordinate system; thus translating or reflections of the coordinate system\nresult in the same boxes being selected by the algorithm.\nThe selected_indices output is a set of integers indexing into the input collection of bounding boxes representing the selected boxes.\nThe bounding box coordinates corresponding to the selected indices can then be obtained using the Gather or GatherND operation.\n" +----f +input: "X" +output: "Y" +name: "NonZero" +op_type: "NonZero" +attribute { + name: "X-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\n Returns the indices of the elements that are non-zero\n (in row-major order - by dimension).\n NonZero behaves similar to numpy.nonzero:\n https://docs.scipy.org/doc/numpy/reference/generated/numpy.nonzero.html\n" +----f +input: "X" +output: "Y" +name: "Normalizer" +op_type: "Normalizer" +attribute { + name: "norm" + s: "MAX" + type: STRING +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n Normalize the input. There are three normalization modes, which have the corresponding formulas,\n defined using element-wise infix operators \'/\' and \'^\' and tensor-wide functions \'max\' and \'sum\':
\n
\n Max: Y = X / max(X)
\n L1: Y = X / sum(X)
\n L2: Y = sqrt(X^2 / sum(X^2)}
\n In all modes, if the divisor is zero, Y == X.\n
\n For batches, that is, [N,C] tensors, normalization is done along the C axis. In other words, each row\n of the batch is normalized independently.\n" +----f +input: "X" +output: "Y" +name: "Not" +op_type: "Not" +attribute { + name: "X-types" + strings: "bool" + type: STRINGS +} +doc_string: "\nReturns the negation of the input tensor element-wise.\n" +----f +input: "indices" +input: "depth" +input: "values" +output: "output" +name: "OneHot" +op_type: "OneHot" +attribute { + name: "axis" + i: -1 + type: INT +} +attribute { + name: "indices-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "depth-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "values-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\n Produces a one-hot tensor based on inputs.\n The locations represented by the index values in the \'indices\' input tensor will have \'on_value\'\n and the other locations will have \'off_value\' in the output tensor, where \'on_value\' and \'off_value\'\n are specified as part of required input argument \'values\', which is a two-element tensor of format\n [off_value, on_value]. The rank of the output tensor will be one greater than the rank of the\n input tensor. The additional dimension is for one-hot representation. The additional dimension will\n be inserted at the position specified by \'axis\'. If \'axis\' is not specified then then additional\n dimension will be inserted as the innermost dimension, i.e. axis=-1. The size of the additional\n dimension is specified by required scalar input \'depth\'. The type of the output tensor is the same\n as the type of the \'values\' input. Any entries in the \'indices\' input tensor with values outside\n the range [-depth, depth-1] will result in one-hot representation with all \'off_value\' values in the\n output tensor.\n\n when axis = 0:\n output[input[i, j, k], i, j, k] = 1 for all i, j, k and 0 otherwise.\n\n when axis = -1:\n output[i, j, k, input[i, j, k]] = 1 for all i, j, k and 0 otherwise.\n\n" +----f +input: "X" +output: "Y" +name: "OneHotEncoder" +op_type: "OneHotEncoder" +attribute { + name: "cats_int64s" + s: "" + type: INTS +} +attribute { + name: "cats_strings" + s: "" + type: STRINGS +} +attribute { + name: "zeros" + i: 1 + type: INT +} +attribute { + name: "X-types" + strings: "int32" + strings: "string" + strings: "double" + strings: "int64" + strings: "float" + type: STRINGS +} +doc_string: "\n Replace each input element with an array of ones and zeros, where a single\n one is placed at the index of the category that was passed in. The total category count \n will determine the size of the extra dimension of the output array Y.
\n For example, if we pass a tensor with a single value of 4, and a category count of 8, \n the output will be a tensor with ``[0,0,0,0,1,0,0,0]``.
\n This operator assumes every input feature is from the same set of categories.
\n If the input is a tensor of float, int32, or double, the data will be cast\n to integers and the cats_int64s category list will be used for the lookups.\n" +----f +input: "A" +input: "B" +output: "C" +name: "Or" +op_type: "Or" +attribute { + name: "A-types" + strings: "bool" + type: STRINGS +} +attribute { + name: "B-types" + strings: "bool" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `or` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "X" +input: "slope" +output: "Y" +name: "PRelu" +op_type: "PRelu" +attribute { + name: "X-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +attribute { + name: "slope-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nPRelu takes input data (Tensor) and slope tensor as input, and produces one\noutput data (Tensor) where the function `f(x) = slope * x for x < 0`,\n`f(x) = x for x >= 0`., is applied to the data tensor elementwise.\nThis operator supports **unidirectional broadcasting** (tensor slope should be unidirectional broadcastable to input tensor X); for more details please check [the doc](Broadcasting.md)." +----f +input: "data" +input: "pads" +input: "constant_value" +output: "output" +name: "Pad" +op_type: "Pad" +attribute { + name: "mode" + s: "constant" + type: STRING +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "pads-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "constant_value-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nGiven a tensor containing the data to be padded (`data`), a tensor containing the number of start and end pad values for axis (`pads`), (optionally) a `mode`, and (optionally) `constant_value`, \na padded tensor (`output`) is generated.\n\nThe three supported `modes` are (similar to corresponding modes supported by `numpy.pad`):\n\n1) `constant`(default) - pads with a given constant value as specified by `constant_value` (which defaults to 0)\n\n2) `reflect` - pads with the reflection of the vector mirrored on the first and last values of the vector along each axis\n\n3) `edge` - pads with the edge values of array\n\n\nExample 1 (`constant` mode):\n Insert 0 pads to the beginning of the second dimension.\n\n data = \n [\n [1.0, 1.2],\n [2.3, 3.4],\n [4.5, 5.7],\n ] \n\n pads = [0, 2, 0, 0]\n\n mode = \'constant\'\n\n constant_value = 0.0\n\n output = \n [\n [\n [0.0, 0.0, 1.0, 1.2],\n [0.0, 0.0, 2.3, 3.4],\n [0.0, 0.0, 4.5, 5.7],\n ],\n ]\n\n\nExample 2 (`reflect` mode):\n data = \n [\n [1.0, 1.2],\n [2.3, 3.4],\n [4.5, 5.7],\n ] \n\n pads = [0, 2, 0, 0]\n\n mode = \'reflect\'\n\n output = \n [\n [\n [1.0, 1.2, 1.0, 1.2],\n [2.3, 3.4, 2.3, 3.4],\n [4.5, 5.7, 4.5, 5.7],\n ],\n ]\n\n\nExample 3 (`edge` mode):\n data = \n [\n [1.0, 1.2],\n [2.3, 3.4],\n [4.5, 5.7],\n ] \n\n pads = [0, 2, 0, 0]\n\n mode = \'edge\'\n\n output = \n [\n [\n [1.0, 1.0, 1.0, 1.2],\n [2.3, 2.3, 2.3, 3.4],\n [4.5, 4.5, 4.5, 5.7],\n ],\n ]\n\n" +----f +input: "X" +input: "Y" +output: "Z" +name: "Pow" +op_type: "Pow" +attribute { + name: "X-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "float" + type: STRINGS +} +attribute { + name: "Y-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nPow takes input data (Tensor) and exponent Tensor, and\nproduces one output data (Tensor) where the function `f(x) = x^exponent`,\nis applied to the data tensor elementwise.\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md)." +----f +input: "x" +input: "x_scale" +input: "x_zero_point" +input: "w" +input: "w_scale" +input: "w_zero_point" +input: "y_scale" +input: "y_zero_point" +input: "B" +output: "y" +name: "QLinearConv" +op_type: "QLinearConv" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "dilations" + s: "" + type: INTS +} +attribute { + name: "group" + i: 1 + type: INT +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "x-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "x_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "x_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "w-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "w_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "w_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "y_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "y_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "B-types" + strings: "int32" + type: STRINGS +} +doc_string: "\nThe convolution operator consumes a quantized input tensor, its scale and zero point,\na quantized filter, its scale and zero point, and output\'s scale and zero point,\nand computes the quantized output. Each scale and zero-point pair must have same shape.\nIt means they must be either scalars (per tensor) or 1-D tensors (per output channel).\nEach input or output and its related zero point must have same type.\nWhen bias is present it must be quantized using scale = input scale * weight scale and \nzero point as 0.\n" +----f +input: "a" +input: "a_scale" +input: "a_zero_point" +input: "b" +input: "b_scale" +input: "b_zero_point" +input: "y_scale" +input: "y_zero_point" +output: "y" +name: "QLinearMatMul" +op_type: "QLinearMatMul" +attribute { + name: "a-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "a_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "a_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "b-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "b_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "b_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "y_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "y_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nMatrix product that behaves like numpy.matmul: https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.matmul.html.\nIt consumes two quantized input tensors, their scales and zero points, scale and zero point of output, and computes the quantized output.\nThe quantization formula is y = saturate((x / y_scale) + y_zero_point). For (x / y_scale), it is rounding to nearest ties to even.\nRefer to https://en.wikipedia.org/wiki/Rounding for details. Scale and zero point must have same shape.\nThey must be either scalar (per tensor) or 1-D tensor (per row for \'a\' and per column for \'b\'). If scale and zero point are 1-D tensor,\nthe number of elements of scale and zero point tensor of input \'a\' and output \'y\' should be equal to the number of rows of input \'a\',\nand the number of elements of scale and zero point tensor of input \'b\' should be equal to the number of columns of input \'b\'.\nProduction must never overflow, and accumulation may overflow if and only if in 32 bits.\n" +----f +input: "x" +input: "y_scale" +input: "y_zero_point" +output: "y" +name: "QuantizeLinear" +op_type: "QuantizeLinear" +attribute { + name: "x-types" + strings: "float" + strings: "int32" + type: STRINGS +} +attribute { + name: "y_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "y_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nThe linear per-tensor/layer quantization operator. It consumes a high precision tensor, a scale, a zero point to compute the low precision / quantized tensor.\nThe quantization formula is y = saturate ((x / y_scale) + y_zero_point). For saturation, it saturates to [0, 255] if it\'s uint8, or [-128, 127] if it\'s int8.\nFor (x / y_scale), it\'s rounding to nearest ties to even. Refer to https://en.wikipedia.org/wiki/Rounding for details. \'y_zero_point\' and \'y\' must have same type.\n" +----f +input: "X" +input: "W" +input: "R" +input: "B" +input: "sequence_lens" +input: "initial_h" +output: "Y" +output: "Y_h" +name: "RNN" +op_type: "RNN" +attribute { + name: "activation_alpha" + s: "" + type: FLOATS +} +attribute { + name: "activation_beta" + s: "" + type: FLOATS +} +attribute { + name: "activations" + strings: "Tanh" + strings: "Tanh" + type: STRINGS +} +attribute { + name: "clip" + s: "" + type: FLOAT +} +attribute { + name: "direction" + s: "forward" + type: STRING +} +attribute { + name: "hidden_size" + s: "" + type: INT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "W-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "R-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "sequence_lens-types" + strings: "int32" + type: STRINGS +} +attribute { + name: "initial_h-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nComputes an one-layer simple RNN. This operator is usually supported\nvia some custom implementation such as CuDNN.\n\nNotations:\n\n`X` - input tensor\n\n`i` - input gate\n\n`t` - time step (t-1 means previous time step)\n\n`Wi` - W parameter weight matrix for input gate\n\n`Ri` - R recurrence weight matrix for input gate\n\n`Wbi` - W parameter bias vector for input gate\n\n`Rbi` - R parameter bias vector for input gate\n\n`WBi` - W parameter weight matrix for backward input gate\n\n`RBi` - R recurrence weight matrix for backward input gate\n\n`WBbi` - WR bias vectors for backward input gate\n\n`RBbi` - RR bias vectors for backward input gate\n\n`H` - Hidden state\n\n`num_directions` - 2 if direction == bidirectional else 1\n\nActivation functions:\n\n Relu(x) - max(0, x)\n\n Tanh(x) - (1 - e^{-2x})/(1 + e^{-2x})\n\n Sigmoid(x) - 1/(1 + e^{-x})\n\n (NOTE: Below are optional)\n\n Affine(x) - alpha*x + beta\n\n LeakyRelu(x) - x if x >= 0 else alpha * x\n\n ThresholdedRelu(x) - x if x >= alpha else 0\n\n ScaledTanh(x) - alpha*Tanh(beta*x)\n\n HardSigmoid(x) - min(max(alpha*x + beta, 0), 1)\n\n Elu(x) - x if x >= 0 else alpha*(e^x - 1)\n\n Softsign(x) - x/(1 + |x|)\n\n Softplus(x) - log(1 + e^x)\n\nEquations (Default: f=Tanh):\n\n - Ht = f(Xt*(Wi^T) + Ht-1*(Ri^T) + Wbi + Rbi)\nThis operator has **optional** inputs/outputs. See [the doc](IR.md) for more details about the representation of optional arguments. An empty string may be used in the place of an actual argument\'s name to indicate a missing argument. Trailing optional arguments (those not followed by an argument that is present) may also be simply omitted.\n" +----f +output: "output" +name: "RandomNormal" +op_type: "RandomNormal" +attribute { + name: "dtype" + i: 1 + type: INT +} +attribute { + name: "mean" + f: 0.0 + type: FLOAT +} +attribute { + name: "scale" + f: 1.0 + type: FLOAT +} +attribute { + name: "seed" + s: "" + type: FLOAT +} +attribute { + name: "shape" + s: "" + type: INTS +} +doc_string: "\nGenerate a tensor with random values drawn from a normal distribution. The shape\nof the tensor is specified by the `shape` argument and the parameter of the normal distribution\nspecified by `mean` and `scale`.\n\nThe data type is specified by the \'dtype\' argument. The \'dtype\' argument must\nbe one of the data types specified in the \'DataType\' enum field in the\nTensorProto message.\n" +----f +input: "input" +output: "output" +name: "RandomNormalLike" +op_type: "RandomNormalLike" +attribute { + name: "dtype" + s: "" + type: INT +} +attribute { + name: "mean" + f: 0.0 + type: FLOAT +} +attribute { + name: "scale" + f: 1.0 + type: FLOAT +} +attribute { + name: "seed" + s: "" + type: FLOAT +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nGenerate a tensor with random values drawn from a normal distribution.\nThe shape of the output tensor is copied from the shape of the input tensor,\nand the parameters of the normal distribution are specified by `mean` and `scale`.\n\nThe data type is specified by the \'dtype\' argument, or copied from the input tensor if not provided.\nThe \'dtype\' argument must be one of the data types specified in the \'DataType\' enum field in the\nTensorProto message, and be valid as an output type.\n" +----f +output: "output" +name: "RandomUniform" +op_type: "RandomUniform" +attribute { + name: "dtype" + i: 1 + type: INT +} +attribute { + name: "high" + f: 1.0 + type: FLOAT +} +attribute { + name: "low" + f: 0.0 + type: FLOAT +} +attribute { + name: "seed" + s: "" + type: FLOAT +} +attribute { + name: "shape" + s: "" + type: INTS +} +doc_string: "\nGenerate a tensor with random values drawn from a uniform distribution. The shape\nof the tensor is specified by the `shape` argument and the range by `low` and `high`.\n\nThe data type is specified by the \'dtype\' argument. The \'dtype\' argument must\nbe one of the data types specified in the \'DataType\' enum field in the\nTensorProto message.\n" +----f +input: "input" +output: "output" +name: "RandomUniformLike" +op_type: "RandomUniformLike" +attribute { + name: "dtype" + s: "" + type: INT +} +attribute { + name: "high" + f: 1.0 + type: FLOAT +} +attribute { + name: "low" + f: 0.0 + type: FLOAT +} +attribute { + name: "seed" + s: "" + type: FLOAT +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nGenerate a tensor with random values drawn from a uniform distribution.\nThe shape of the output tensor is copied from the shape of the input tensor,\nand the parameters of the uniform distribution are specified by `low` and `high`.\n\nThe data type is specified by the \'dtype\' argument, or copied from the input tensor if not provided.\nThe \'dtype\' argument must be one of the data types specified in the \'DataType\' enum field in the\nTensorProto message and be valid as an output type.\n" +----f +input: "start" +input: "limit" +input: "delta" +output: "output" +name: "Range" +op_type: "Range" +attribute { + name: "start-types" + strings: "int32" + strings: "double" + strings: "int64" + strings: "float" + strings: "int16" + type: STRINGS +} +attribute { + name: "limit-types" + strings: "int32" + strings: "double" + strings: "int64" + strings: "float" + strings: "int16" + type: STRINGS +} +attribute { + name: "delta-types" + strings: "int32" + strings: "double" + strings: "int64" + strings: "float" + strings: "int16" + type: STRINGS +} +doc_string: "\nGenerate a tensor containing a sequence of numbers that begin at `start` and extends by increments of `delta`\nup to `limit` (exclusive).\n\nThe number of elements in the output of range is computed as below-\n\n`number_of_elements = max( ceil( (limit - start) / delta ) , 0 )`\n\nThe pseudocode determining the contents of the output is shown below-\n\n`for(int i=0; i) and produces one output data\n(Tensor) where the reciprocal is, y = 1/x, is applied to\nthe tensor elementwise.\n" +----f +input: "data" +output: "reduced" +name: "ReduceL1" +op_type: "ReduceL1" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the L1 norm of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +----f +input: "data" +output: "reduced" +name: "ReduceL2" +op_type: "ReduceL2" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the L2 norm of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +----f +input: "data" +output: "reduced" +name: "ReduceLogSum" +op_type: "ReduceLogSum" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the log sum of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +----f +input: "data" +output: "reduced" +name: "ReduceLogSumExp" +op_type: "ReduceLogSumExp" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the log sum exponent of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +----f +input: "data" +output: "reduced" +name: "ReduceMax" +op_type: "ReduceMax" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "int8" + strings: "float16" + strings: "int32" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the max of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +----f +input: "data" +output: "reduced" +name: "ReduceMean" +op_type: "ReduceMean" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the mean of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +----f +input: "data" +output: "reduced" +name: "ReduceMin" +op_type: "ReduceMin" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "int8" + strings: "float16" + strings: "int32" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the min of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +----f +input: "data" +output: "reduced" +name: "ReduceProd" +op_type: "ReduceProd" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the product of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +----f +input: "data" +output: "reduced" +name: "ReduceSum" +op_type: "ReduceSum" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the sum of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +----f +input: "data" +output: "reduced" +name: "ReduceSumSquare" +op_type: "ReduceSumSquare" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the sum square of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +----f +input: "X" +output: "Y" +name: "Relu" +op_type: "Relu" +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nRelu takes one input data (Tensor) and produces one output data\n(Tensor) where the rectified linear function, y = max(0, x), is applied to\nthe tensor elementwise.\n" +----f +input: "data" +input: "shape" +output: "reshaped" +name: "Reshape" +op_type: "Reshape" +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "shape-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nReshape the input tensor similar to numpy.reshape.\nFirst input is the data tensor, second input is a shape tensor which specifies the output shape. It outputs the reshaped tensor.\nAt most one dimension of the new shape can be -1. In this case, the value is\ninferred from the size of the tensor and the remaining dimensions. A dimension\ncould also be 0, in which case the actual dimension value is unchanged (i.e. taken\nfrom the input tensor)." +----f +input: "X" +input: "roi" +input: "scales" +input: "sizes" +output: "Y" +name: "Resize" +op_type: "Resize" +attribute { + name: "coordinate_transformation_mode" + s: "half_pixel" + type: STRING +} +attribute { + name: "cubic_coeff_a" + f: -0.75 + type: FLOAT +} +attribute { + name: "exclude_outside" + i: 0 + type: INT +} +attribute { + name: "extrapolation_value" + f: 0.0 + type: FLOAT +} +attribute { + name: "mode" + s: "nearest" + type: STRING +} +attribute { + name: "nearest_mode" + s: "round_prefer_floor" + type: STRING +} +attribute { + name: "X-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "roi-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "scales-types" + strings: "float" + type: STRINGS +} +attribute { + name: "sizes-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nResize the input tensor. In general, it calculates every value in the output tensor as a weighted average of neighborhood (a.k.a. sampling locations) in the input tensor.\nEach dimension value of the output tensor is:\n output_dimension = floor(input_dimension * (roi_end - roi_start) * scale) if input \\\"sizes\\\" is not specified.\n" +----f +input: "input" +input: "sequence_lens" +output: "Y" +name: "ReverseSequence" +op_type: "ReverseSequence" +attribute { + name: "batch_axis" + i: 1 + type: INT +} +attribute { + name: "time_axis" + i: 0 + type: INT +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "sequence_lens-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nReverse batch of sequences having different lengths specified by `sequence_lens`.\n\nFor each slice i iterating on batch axis, the operator reverses the first sequence_lens[i] elements on time axis,\nand copies elements whose index\'s beyond sequence_lens[i] to the output. So the output slice i contains reversed\nsequences on the first sequence_lens[i] elements, then have original values copied for the other elements.\n\nExample 1:\n input = [[0.0, 4.0, 8.0, 12.0],\n [1.0, 5.0, 9.0, 13.0],\n [2.0, 6.0, 10.0, 14.0],\n [3.0, 7.0, 11.0, 15.0]]\n sequence_lens = [4, 3, 2, 1]\n time_axis = 0\n batch_axis = 1\n\n output = [[3.0, 6.0, 9.0, 12.0],\n [2.0, 5.0, 8.0, 13.0],\n [1.0, 4.0, 10.0, 14.0],\n [0.0, 7.0, 11.0, 15.0]]\n\nExample 2:\n input = [[0.0, 1.0, 2.0, 3.0 ],\n [4.0, 5.0, 6.0, 7.0 ],\n [8.0, 9.0, 10.0, 11.0],\n [12.0, 13.0, 14.0, 15.0]]\n sequence_lens = [1, 2, 3, 4]\n time_axis = 1\n batch_axis = 0\n\n output = [[0.0, 1.0, 2.0, 3.0 ],\n [5.0, 4.0, 6.0, 7.0 ],\n [10.0, 9.0, 8.0, 11.0],\n [15.0, 14.0, 13.0, 12.0]]\n" +----f +input: "X" +input: "rois" +input: "batch_indices" +output: "Y" +name: "RoiAlign" +op_type: "RoiAlign" +attribute { + name: "mode" + s: "avg" + type: STRING +} +attribute { + name: "output_height" + i: 1 + type: INT +} +attribute { + name: "output_width" + i: 1 + type: INT +} +attribute { + name: "sampling_ratio" + i: 0 + type: INT +} +attribute { + name: "spatial_scale" + f: 1.0 + type: FLOAT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "rois-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "batch_indices-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nRegion of Interest (RoI) align operation described in the\n[Mask R-CNN paper](https://arxiv.org/abs/1703.06870).\nRoiAlign consumes an input tensor X and region of interests (rois)\nto apply pooling across each RoI; it produces a 4-D tensor of shape\n(num_rois, C, output_height, output_width).\n\nRoiAlign is proposed to avoid the misalignment by removing\nquantizations while converting from original image into feature\nmap and from feature map into RoI feature; in each ROI bin,\nthe value of the sampled locations are computed directly\nthrough bilinear interpolation.\n" +----f +input: "X" +output: "Y" +name: "Round" +op_type: "Round" +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nRound takes one input Tensor and rounds the values, element-wise, meaning\nit finds the nearest integer for each value.\nIn case of halfs, the rule is to round them to the nearest even integer.\nThe output tensor has the same shape and type as the input.\n\nExamples:\n```\nround([0.9]) = [1.0]\nround([2.5]) = [2.0]\nround([2.3]) = [2.0]\nround([1.5]) = [2.0]\nround([-4.5]) = [-4.0]\n```\n" +----f +input: "X" +output: "Y" +output: "Z" +name: "SVMClassifier" +op_type: "SVMClassifier" +attribute { + name: "classlabels_ints" + s: "" + type: INTS +} +attribute { + name: "classlabels_strings" + s: "" + type: STRINGS +} +attribute { + name: "coefficients" + s: "" + type: FLOATS +} +attribute { + name: "kernel_params" + s: "" + type: FLOATS +} +attribute { + name: "kernel_type" + s: "LINEAR" + type: STRING +} +attribute { + name: "post_transform" + s: "NONE" + type: STRING +} +attribute { + name: "prob_a" + s: "" + type: FLOATS +} +attribute { + name: "prob_b" + s: "" + type: FLOATS +} +attribute { + name: "rho" + s: "" + type: FLOATS +} +attribute { + name: "support_vectors" + s: "" + type: FLOATS +} +attribute { + name: "vectors_per_class" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n Support Vector Machine classifier\n" +----f +input: "X" +output: "Y" +name: "SVMRegressor" +op_type: "SVMRegressor" +attribute { + name: "coefficients" + s: "" + type: FLOATS +} +attribute { + name: "kernel_params" + s: "" + type: FLOATS +} +attribute { + name: "kernel_type" + s: "LINEAR" + type: STRING +} +attribute { + name: "n_supports" + i: 0 + type: INT +} +attribute { + name: "one_class" + i: 0 + type: INT +} +attribute { + name: "post_transform" + s: "NONE" + type: STRING +} +attribute { + name: "rho" + s: "" + type: FLOATS +} +attribute { + name: "support_vectors" + s: "" + type: FLOATS +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n Support Vector Machine regression prediction and one-class SVM anomaly detection.\n" +----f +input: "X" +output: "Y" +name: "Scaler" +op_type: "Scaler" +attribute { + name: "offset" + s: "" + type: FLOATS +} +attribute { + name: "scale" + s: "" + type: FLOATS +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n Rescale input data, for example to standardize features by removing the mean and scaling to unit variance.\n" +----f +input: "initial_state_and_scan_inputs" +output: "final_state_and_scan_outputs" +name: "Scan" +op_type: "Scan" +attribute { + name: "body" + s: "" + type: GRAPH +} +attribute { + name: "num_scan_inputs" + s: "" + type: INT +} +attribute { + name: "scan_input_axes" + s: "" + type: INTS +} +attribute { + name: "scan_input_directions" + s: "" + type: INTS +} +attribute { + name: "scan_output_axes" + s: "" + type: INTS +} +attribute { + name: "scan_output_directions" + s: "" + type: INTS +} +attribute { + name: "initial_state_and_scan_inputs-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nScan can be used to iterate over one or more scan_input tensors,\nconstructing zero or more scan_output tensors. It combines ideas from general recurrences,\nfunctional programming constructs such as scan, fold, map, and zip and is intended to enable\ngeneralizations of RNN-like constructs for sequence-to-sequence processing.\nOther tensors (referred to as state_variables here) can be used to carry a state\nwhen iterating from one element to another (similar to hidden-state in RNNs, also referred\nto as loop-carried dependences in the context of loops).\nMany common usages involve a single scan_input tensor (where functionality\nsimilar to scan, fold and map can be obtained). When more than one scan_input is used,\na behavior similar to zip is obtained.\n\nThe attribute body must be a graph, specifying the computation to be performed in\nevery iteration. It takes as input the current values of the state_variables and\nthe current iterated element of the scan_inputs. It must return the (updated) values\nof the state_variables and zero or more scan_output_element tensors. The values of the\nscan_output_element tensors are concatenated over all the iterations to produce the\nscan_output values of the scan construct (similar to the concatenated intermediate\nhidden-state values of RNN-like constructs). All the output tensors (state_variables as\nwell as scan_output_element tensors) are required to have the same shape in each iteration\nof the loop (a restriction imposed to enable efficient memory allocation).\n\nNote that the iterated element passed to the body subgraph does not have a sequence\naxis. It will have a rank one less than the rank of the corresponding scan_input.\n\nThe scan operation returns the final values of the state_variables as well as the\nscan_outputs.\n\nThe optional attribute scan_input_directions specifies the direction (forward or backward)\nfor each scan input. If this attribute is omitted, all sequences are scanned in the forward\ndirection. A bidirectional scan may be performed by specifying the same tensor input twice\nin the scan_inputs, once with a forward direction, and once with a backward direction.\n\nThe scan_output of the operation is produced by concatenating the scan_output_element\nvalues produced by the body in each iteration. The optional attribute scan_output_directions\nspecifies the direction in which scan_output is constructed (by appending or prepending the\nscan_output_element to scan_output in each iteration) for each scan_output. If this attribute\nis omitted, the scan_output_element is appended to the scan_output in each iteration.\n\nThe optional attribute scan_input_axes specifies the axis to be scanned for each scan_input.\nIf omitted, every scan_input will be scanned in axis 0. For example, if axis 0 is the\nbatch axis and axis 1 is the time axis (to be scanned), specify an axis value of 1.\nNote that scanning a non-zero axis may be less efficient than scanning axis zero.\n\nThe optional attribute scan_output_axes specifies the axis along which the scan_outputs\nare accumulated for each scan_output. For example, if axis 1 is the time axis (to be\nscanned) for both inputs and outputs, specify a scan_input axis and scan_output axis\nvalue of 1.\n\nNote that because of the ONNX restriction that only the last parameter of an operator can\nbe variadic, the initial-states and scan-inputs are listed together as one input parameter.\nSimilarly, the final-states and scan-outputs are listed together as one output parameter.\nThe attribute num_scan_inputs indicates the number M of scan-inputs.\n\nThe behavior of\n\n Scan <\n num_scan_inputs = m,\n body = loop-body,\n scan_input_axes = [axis_1, ..., axis_m]\n > (init_1, ..., init_n, scan_1, ..., scan_m)\n\nis equivalent to the following pseudo-code:\n\n // scan_i.shape[axis_i] denotes the (max) sequence-length of scan_i\n // scan_i.shape[axis_i] is required to be equal to scan_j.shape[axis_j] for all i,j.\n sequence_length = scan_1.shape[axis_1];\n\n // initialize state-variables\n st_1 = init_1; ... st_n = init_n;\n // initialize scan-output variables: [] denotes an empty tensor\n scan_out_1 = []; ...; scan_out_k = [];\n // identify number of iterations:\n\n // execute loop\n for (int t = 0; t < sequence_length; ++t) {\n // generate the scan-input elements: the notation T[t] indicates the sub-tensor\n // of rank one less than T obtained by indexing T at position t along axis k.\n si_1 = scan_1[t];\n ... ;\n si_m = scan_m[t];\n // execute loop-body\n st_1, ..., st_n, so_1, ..., so_k = loop-body(st_1, ..., st_n, si_1, ..., si_m)\n // accumulate the scan-output elements\n scan_out_1 = Concat(scan_out_1, so_1); ... ; scan_out_k = Concat(scan_out_k, so_k);\n }\n\n return st_1, ..., st_n, scan_out_1, ..., scan_out_k;\n\n*Sample usage: Encoding RNN using a Scan*\n\nThe following example shows how a simple RNN over an input tensor %X, with weight tensor %Wi,\nrecurrence weight tensor %Ri, bias tensors %Wbi and %Rbi, and initial hidden-state %H_0 can\nbe encoded as a ScanLoop. Note that the loop-body is a nested graph, and it directly computes\n%Wi, %Ri, %Wbi, and %Rbi (typically constants or initializers in the body graph). If these\nvalues are computed in the outer graph, they need to be passed in as extra state_variables.\n\n graph rnn-encoding {\n %H_0 = ... \n %X = ...\n %Y_h, %Y = Scan[body = , num_scan_inputs=1](%H_0, %X)\n return %Y, %Y_h\n }\n\n graph rnn-cell-1 (\n %H_tminus1[FLOAT, tensor]\n %X_t[FLOAT, tensor]\n ) {\n %Wi = ...\n %Ri = ...\n %Wbi = ...\n %Rbi = ...\n %t1 = X_t * (Wi^T)\n %t2 = H_tminus1*(Ri^T)\n %t3 = Add(%t1, %t2)\n %t4 = Add(%t3, %Wbi)\n %t5 = Add(%t4, %Rbi)\n %Ht = Tanh(%t5)\n %Accumulate = Identity(%Ht)\n return %Ht, %Accumulate\n }\n\n" +----f +input: "data" +input: "indices" +input: "updates" +output: "output" +name: "Scatter" +op_type: "Scatter" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "indices-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "updates-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nThis operator is deprecated. Please use ScatterElements, which provides the same functionality.\n\nScatter takes three inputs `data`, `updates`, and `indices` of the same\nrank r >= 1 and an optional attribute axis that identifies an axis of `data`\n(by default, the outer-most axis, that is axis 0). The output of the operation\nis produced by creating a copy of the input `data`, and then updating its value\nto values specified by `updates` at specific index positions specified by\n`indices`. Its output shape is the same as the shape of `data`.\n\nFor each entry in `updates`, the target index in `data` is obtained by combining\nthe corresponding entry in `indices` with the index of the entry itself: the\nindex-value for dimension = axis is obtained from the value of the corresponding\nentry in `indices` and the index-value for dimension != axis is obtained from the\nindex of the entry itself.\n\nFor instance, in a 2-D tensor case, the update corresponding to the [i][j] entry\nis performed as below:\n```\n output[indices[i][j]][j] = updates[i][j] if axis = 0, \n output[i][indices[i][j]] = updates[i][j] if axis = 1,\n```\n\nThis operator is the inverse of GatherElements. It is similar to Torch\'s Scatter operation.\n\nExample 1:\n```\n data = [\n [0.0, 0.0, 0.0],\n [0.0, 0.0, 0.0],\n [0.0, 0.0, 0.0],\n ]\n indices = [\n [1, 0, 2],\n [0, 2, 1],\n ]\n updates = [\n [1.0, 1.1, 1.2],\n [2.0, 2.1, 2.2],\n ]\n output = [\n [2.0, 1.1, 0.0]\n [1.0, 0.0, 2.2]\n [0.0, 2.1, 1.2]\n ]\n```\nExample 2:\n```\n data = [[1.0, 2.0, 3.0, 4.0, 5.0]]\n indices = [[1, 3]]\n updates = [[1.1, 2.1]]\n axis = 1\n output = [[1.0, 1.1, 3.0, 2.1, 5.0]]\n```\n" +----f +input: "data" +input: "indices" +input: "updates" +output: "output" +name: "ScatterElements" +op_type: "ScatterElements" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "indices-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "updates-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nScatterElements takes three inputs `data`, `updates`, and `indices` of the same\nrank r >= 1 and an optional attribute axis that identifies an axis of `data`\n(by default, the outer-most axis, that is axis 0). The output of the operation\nis produced by creating a copy of the input `data`, and then updating its value\nto values specified by `updates` at specific index positions specified by\n`indices`. Its output shape is the same as the shape of `data`.\n\nFor each entry in `updates`, the target index in `data` is obtained by combining\nthe corresponding entry in `indices` with the index of the entry itself: the\nindex-value for dimension = axis is obtained from the value of the corresponding\nentry in `indices` and the index-value for dimension != axis is obtained from the\nindex of the entry itself.\n\nFor instance, in a 2-D tensor case, the update corresponding to the [i][j] entry\nis performed as below:\n```\n output[indices[i][j]][j] = updates[i][j] if axis = 0, \n output[i][indices[i][j]] = updates[i][j] if axis = 1,\n```\n\nThis operator is the inverse of GatherElements. It is similar to Torch\'s Scatter operation.\n\nExample 1:\n```\n data = [\n [0.0, 0.0, 0.0],\n [0.0, 0.0, 0.0],\n [0.0, 0.0, 0.0],\n ]\n indices = [\n [1, 0, 2],\n [0, 2, 1],\n ]\n updates = [\n [1.0, 1.1, 1.2],\n [2.0, 2.1, 2.2],\n ]\n output = [\n [2.0, 1.1, 0.0]\n [1.0, 0.0, 2.2]\n [0.0, 2.1, 1.2]\n ]\n```\nExample 2:\n```\n data = [[1.0, 2.0, 3.0, 4.0, 5.0]]\n indices = [[1, 3]]\n updates = [[1.1, 2.1]]\n axis = 1\n output = [[1.0, 1.1, 3.0, 2.1, 5.0]]\n```\n" +----f +input: "data" +input: "indices" +input: "updates" +output: "output" +name: "ScatterND" +op_type: "ScatterND" +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "indices-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "updates-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nScatterND takes three inputs `data` tensor of rank r >= 1, `indices` tensor of rank q >= 1,\nand `updates` tensor of rank q + r - indices.shape[-1] - 1. The output of the operation\nis produced by creating a copy of the input `data`, and then updating its value to values\nspecified by `updates` at specific index positions specified by `indices`. Its output shape\nis the same as the shape of `data`. Note that `indices` should not have duplicate entries.\nThat is, two or more `updates` for the same index-location is not supported.\n\n`indices` is an integer tensor. Let k denote indices.shape[-1], the last dimension in the shape of `indices`.\n `indices` is treated as a (q-1)-dimensional tensor of k-tuples, where each k-tuple is a partial-index into `data`.\nHence, k can be a value at most the rank of `data`. When k equals rank(data), each update entry specifies an\nupdate to a single element of the tensor. When k is less than rank(data) each update entry specifies an\nupdate to a slice of the tensor.\n\n`updates` is treated as a (q-1)-dimensional tensor of replacement-slice-values. Thus, the\nfirst (q-1) dimensions of updates.shape must match the first (q-1) dimensions of indices.shape.\nThe remaining dimensions of `updates` correspond to the dimensions of the\nreplacement-slice-values. Each replacement-slice-value is a (r-k) dimensional tensor,\ncorresponding to the trailing (r-k) dimensions of `data`. Thus, the shape of `updates`\nmust equal indices.shape[0:q-1] ++ data.shape[k:r-1], where ++ denotes the concatenation\nof shapes.\n\nThe `output` is calculated via the following equation:\n\n output = np.copy(data)\n update_indices = indices.shape[:-1]\n for idx in np.ndindex(update_indices):\n output[indices[idx]] = updates[idx]\n\nThe order of iteration in the above loop is not specified.\nIn particular, indices should not have duplicate entries: that is, if idx1 != idx2, then indices[idx1] != indices[idx2].\nThis ensures that the output value does not depend on the iteration order.\n\nThis operator is the inverse of GatherND.\n\nExample 1:\n```\n data = [1, 2, 3, 4, 5, 6, 7, 8]\n indices = [[4], [3], [1], [7]]\n updates = [9, 10, 11, 12]\n output = [1, 11, 3, 10, 9, 6, 7, 12]\n```\n\nExample 2:\n```\n data = [[[1, 2, 3, 4], [5, 6, 7, 8], [8, 7, 6, 5], [4, 3, 2, 1]],\n [[1, 2, 3, 4], [5, 6, 7, 8], [8, 7, 6, 5], [4, 3, 2, 1]],\n [[8, 7, 6, 5], [4, 3, 2, 1], [1, 2, 3, 4], [5, 6, 7, 8]],\n [[8, 7, 6, 5], [4, 3, 2, 1], [1, 2, 3, 4], [5, 6, 7, 8]]]\n indices = [[0], [2]]\n updates = [[[5, 5, 5, 5], [6, 6, 6, 6], [7, 7, 7, 7], [8, 8, 8, 8]],\n [[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3], [4, 4, 4, 4]]]\n output = [[[5, 5, 5, 5], [6, 6, 6, 6], [7, 7, 7, 7], [8, 8, 8, 8]],\n [[1, 2, 3, 4], [5, 6, 7, 8], [8, 7, 6, 5], [4, 3, 2, 1]],\n [[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3], [4, 4, 4, 4]],\n [[8, 7, 6, 5], [4, 3, 2, 1], [1, 2, 3, 4], [5, 6, 7, 8]]]\n```\n" +----f +input: "X" +output: "Y" +name: "Selu" +op_type: "Selu" +attribute { + name: "alpha" + f: 1.6732632 + type: FLOAT +} +attribute { + name: "gamma" + f: 1.050701 + type: FLOAT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nSelu takes one input data (Tensor) and produces one output data\n(Tensor) where the scaled exponential linear unit function,\n`y = gamma * (alpha * e^x - alpha) for x <= 0`, `y = gamma * x for x > 0`,\nis applied to the tensor elementwise.\n" +----f +input: "input_sequence" +input: "position" +output: "tensor" +name: "SequenceAt" +op_type: "SequenceAt" +attribute { + name: "input_sequence-types" + strings: "seq(bool" + strings: "seq(complex128" + strings: "seq(string" + strings: "seq(float16" + strings: "seq(int64" + strings: "seq(float" + strings: "seq(int32" + strings: "seq(uint32" + strings: "seq(uint16" + strings: "seq(int8" + strings: "seq(int16" + strings: "seq(complex64" + strings: "seq(uint64" + strings: "seq(double" + strings: "seq(uint8" + type: STRINGS +} +attribute { + name: "position-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nOutputs a tensor copy from the tensor at \'position\' in \'input_sequence\'.\nAccepted range for \'position\' is in `[-n, n - 1]`, where `n` is the number of tensors in \'input_sequence\'.\nNegative value means counting positions from the back.\n" +----f +input: "inputs" +output: "output_sequence" +name: "SequenceConstruct" +op_type: "SequenceConstruct" +attribute { + name: "inputs-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nConstruct a tensor sequence containing \'inputs\' tensors.\nAll tensors in \'inputs\' must have the same data type.\n" +----f +output: "output" +name: "SequenceEmpty" +op_type: "SequenceEmpty" +attribute { + name: "dtype" + s: "" + type: INT +} +doc_string: "\nConstruct an empty tensor sequence, with given data type.\n" +----f +input: "input_sequence" +input: "position" +output: "output_sequence" +name: "SequenceErase" +op_type: "SequenceErase" +attribute { + name: "input_sequence-types" + strings: "seq(bool" + strings: "seq(complex128" + strings: "seq(string" + strings: "seq(float16" + strings: "seq(int64" + strings: "seq(float" + strings: "seq(int32" + strings: "seq(uint32" + strings: "seq(uint16" + strings: "seq(int8" + strings: "seq(int16" + strings: "seq(complex64" + strings: "seq(uint64" + strings: "seq(double" + strings: "seq(uint8" + type: STRINGS +} +attribute { + name: "position-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nOutputs a tensor sequence that removes the tensor at \'position\' from \'input_sequence\'.\nAccepted range for \'position\' is in `[-n, n - 1]`, where `n` is the number of tensors in \'input_sequence\'.\nNegative value means counting positions from the back.\n\'position\' is optional, by default it erases the last tensor from \'input_sequence\'.\n" +----f +input: "input_sequence" +input: "tensor" +input: "position" +output: "output_sequence" +name: "SequenceInsert" +op_type: "SequenceInsert" +attribute { + name: "input_sequence-types" + strings: "seq(bool" + strings: "seq(complex128" + strings: "seq(string" + strings: "seq(float16" + strings: "seq(int64" + strings: "seq(float" + strings: "seq(int32" + strings: "seq(uint32" + strings: "seq(uint16" + strings: "seq(int8" + strings: "seq(int16" + strings: "seq(complex64" + strings: "seq(uint64" + strings: "seq(double" + strings: "seq(uint8" + type: STRINGS +} +attribute { + name: "tensor-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "position-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nOutputs a tensor sequence that inserts \'tensor\' into \'input_sequence\' at \'position\'.\n\'tensor\' must have the same data type as \'input_sequence\'.\nAccepted range for \'position\' is in `[-n, n]`, where `n` is the number of tensors in \'input_sequence\'.\nNegative value means counting positions from the back.\n\'position\' is optional, by default it inserts \'tensor\' to the back of \'input_sequence\'.\n" +----f +input: "input_sequence" +output: "length" +name: "SequenceLength" +op_type: "SequenceLength" +attribute { + name: "input_sequence-types" + strings: "seq(bool" + strings: "seq(complex128" + strings: "seq(string" + strings: "seq(float16" + strings: "seq(int64" + strings: "seq(float" + strings: "seq(int32" + strings: "seq(uint32" + strings: "seq(uint16" + strings: "seq(int8" + strings: "seq(int16" + strings: "seq(complex64" + strings: "seq(uint64" + strings: "seq(double" + strings: "seq(uint8" + type: STRINGS +} +doc_string: "\nProduces a scalar(tensor of empty shape) containing the number of tensors in \'input_sequence\'.\n" +----f +input: "data" +output: "shape" +name: "Shape" +op_type: "Shape" +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nTakes a tensor as input and outputs an 1D int64 tensor containing the shape of the input tensor.\n" +----f +input: "input" +output: "output" +name: "Shrink" +op_type: "Shrink" +attribute { + name: "bias" + f: 0.0 + type: FLOAT +} +attribute { + name: "lambd" + f: 0.5 + type: FLOAT +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nShrink takes one input data (Tensor) and produces one Tensor output,\nhaving same datatype and shape with input. It has two attributes, lambd and\nbias. The formula of this operator is: If x < -lambd, y = x + bias;\nIf x > lambd, y = x - bias; Otherwise, y = 0.\n" +----f +input: "X" +output: "Y" +name: "Sigmoid" +op_type: "Sigmoid" +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nSigmoid takes one input data (Tensor) and produces one output data\n(Tensor) where the sigmoid function, y = 1 / (1 + exp(-x)), is applied to the\ntensor elementwise.\n" +----f +input: "input" +output: "output" +name: "Sign" +op_type: "Sign" +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nCalculate the sign of the given input tensor element-wise.\nIf input > 0, output 1. if input < 0, output -1. if input == 0, output 0.\n" +----f +input: "input" +output: "output" +name: "Sin" +op_type: "Sin" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the sine of the given input tensor, element-wise.\n" +----f +input: "input" +output: "output" +name: "Sinh" +op_type: "Sinh" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the hyperbolic sine of the given input tensor element-wise.\n" +----f +input: "data" +output: "size" +name: "Size" +op_type: "Size" +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nTakes a tensor as input and outputs a int64 scalar that equals to the total number of elements of the input tensor.\n" +----f +input: "data" +input: "starts" +input: "ends" +input: "axes" +input: "steps" +output: "output" +name: "Slice" +op_type: "Slice" +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "starts-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "ends-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "axes-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "steps-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nProduces a slice of the input tensor along multiple axes. Similar to numpy:\nhttps://docs.scipy.org/doc/numpy/reference/arrays.indexing.html\nSlices uses `starts`, `ends`, `axes` and `steps` inputs to specify the start and end\ndimension and step for each axis in the list of axes, it uses this information to\nslice the input `data` tensor. If a negative value is passed for any of the\nstart or end indices, it represents number of elements before the end of that\ndimension. If the value passed to start or end is larger than the `n` (the\nnumber of elements in this dimension), it represents `n`. For slicing to the\nend of a dimension with unknown size, it is recommended to pass in `INT_MAX` \nwhen sclicing forward and \'INT_MIN\' when slicing backward.\nIf a negative value is passed for step, it represents slicing backward. \nHowever step value cannot be 0.\nIf `axes` are omitted, they are set to `[0, ..., ndim-1]`.\nIf `steps` are omitted, they are set to `[1, ..., 1]` of length `len(starts)`\nExample 1:\n data = [\n [1, 2, 3, 4],\n [5, 6, 7, 8],\n ]\n axes = [0, 1]\n starts = [1, 0]\n ends = [2, 3]\n steps = [1, 2]\n result = [\n [5, 7],\n ]\nExample 2:\n data = [\n [1, 2, 3, 4],\n [5, 6, 7, 8],\n ]\n starts = [0, 1]\n ends = [-1, 1000]\n result = [\n [2, 3, 4],\n ]\n" +----f +input: "input" +output: "output" +name: "Softmax" +op_type: "Softmax" +attribute { + name: "axis" + i: 1 + type: INT +} +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nThe operator computes the softmax (normalized exponential) values for each layer in the batch\n of the given input.\n\nThe input does not need to explicitly be a 2D vector; rather, it will be\ncoerced into one. For an arbitrary n-dimensional tensor\ninput \\in [a_0, a_1, ..., a_{k-1}, a_k, ..., a_{n-1}] and k is\nthe axis provided, then input will be coerced into a 2-dimensional tensor with\ndimensions [a_0 * ... * a_{k-1}, a_k * ... * a_{n-1}]. For the default\ncase where axis=1, this means the input tensor will be coerced into a 2D tensor\nof dimensions [a_0, a_1 * ... * a_{n-1}], where a_0 is often the batch size.\nIn this situation, we must have a_0 = N and a_1 * ... * a_{n-1} = D.\nEach of these dimensions must be matched correctly, or else the operator\nwill throw errors. The output tensor has the same shape\nand contains the softmax values of the corresponding input.\n" +----f +input: "scores" +input: "labels" +input: "weights" +output: "output" +output: "log_prob" +name: "SoftmaxCrossEntropyLoss" +op_type: "SoftmaxCrossEntropyLoss" +attribute { + name: "ignore_index" + s: "" + type: INT +} +attribute { + name: "reduction" + s: "mean" + type: STRING +} +attribute { + name: "scores-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "labels-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "weights-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "Loss function that measures the softmax cross entropy\nbetween \'scores\' and \'labels\'.\nThis operator first computes a loss tensor whose shape is identical to the labels input.\nIf the input is 2-D with shape (N, C), the loss tensor may be a N-element vector L = (l_1, l_2, ..., l_N).\nIf the input is N-D tensor with shape (N, C, D1, D2, ..., Dk),\nthe loss tensor L may have (N, D1, D2, ..., Dk) as its shape and L[i,][j_1][j_2]...[j_k] denotes a scalar element in L.\nAfter L is available, this operator can optionally do a reduction operator.\n\nshape(scores): (N, C) where C is the number of classes, or (N, C, D1, D2,..., Dk),\n with K >= 1 in case of K-dimensional loss.\nshape(labels): (N) where each value is 0 <= labels[i] <= C-1, or (N, D1, D2,..., Dk),\n with K >= 1 in case of K-dimensional loss.\n\nThe loss for one sample, l_i, can caculated as follows:\n l[i][d1][d2]...[dk] = -y[i][c][d1][d2]..[dk], where i is the index of classes.\nor\n l[i][d1][d2]...[dk] = -y[i][c][d1][d2]..[dk] * weights[c], if \'weights\' is provided.\n\nloss is zero for the case when label-value equals ignore_index.\n l[i][d1][d2]...[dk] = 0, when labels[n][d1][d2]...[dk] = ignore_index\n\nwhere:\n p = Softmax(scores)\n y = Log(p)\n c = labels[i][d1][d2]...[dk]\n\nFinally, L is optionally reduced:\nIf reduction = \'none\', the output is L with shape (N, D1, D2, ..., Dk).\nIf reduction = \'sum\', the output is scalar: Sum(L).\nIf reduction = \'mean\', the output is scalar: ReduceMean(L), or if weight is provided: ReduceSum(L) / ReduceSum(W),\nwhere tensor W is of shape (N, D1, D2, ..., Dk) and W[n][d1][d2]...[dk] = weights[labels[i][d1][d2]...[dk]].\n" +----f +input: "X" +output: "Y" +name: "Softplus" +op_type: "Softplus" +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nSoftplus takes one input data (Tensor) and produces one output data\n(Tensor) where the softplus function, y = ln(exp(x) + 1), is applied to\nthe tensor elementwise.\n" +----f +input: "input" +output: "output" +name: "Softsign" +op_type: "Softsign" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the softsign (x/(1+|x|)) of the given input tensor element-wise.\n" +----f +input: "input" +output: "output" +name: "SpaceToDepth" +op_type: "SpaceToDepth" +attribute { + name: "blocksize" + s: "" + type: INT +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "SpaceToDepth rearranges blocks of spatial data into depth. More specifically,\nthis op outputs a copy of the input tensor where values from the height and width dimensions\nare moved to the depth dimension.\n" +----f +input: "input" +output: "outputs" +name: "Split" +op_type: "Split" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "split" + s: "" + type: INTS +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "Split a tensor into a list of tensors, along the specified\n\'axis\'. Lengths of the parts can be specified using argument \'split\'.\nOtherwise, the tensor is split to equal sized parts.\n" +----f +input: "input" +input: "split" +output: "output_sequence" +name: "SplitToSequence" +op_type: "SplitToSequence" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "split-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "Split a tensor into a sequence of tensors, along the specified\n\'axis\'. Lengths of the parts can be specified using argument \'split\'.\n\'split\' must contain only positive numbers.\n\'split\' is either a scalar (tensor of empty shape), or a 1-D tensor.\nIf \'split\' is a scalar, then \'input\' will be split into equally sized chunks(if possible).\nLast chunk will be smaller if the \'input\' size along the given axis \'axis\' is not divisible\nby \'split\'.\nOtherwise, the tensor is split into \'size(split)\' chunks, with lengths of the parts on \'axis\'\nspecified in \'split\'. In this scenario, the sum of entries in \'split\' must be equal to the\ndimension size of input tensor on \'axis\'.\n" +----f +input: "X" +output: "Y" +name: "Sqrt" +op_type: "Sqrt" +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nSquare root takes one input data (Tensor) and produces one output data\n(Tensor) where the square root is, y = x^0.5, is applied to\nthe tensor elementwise. If x is negative, then it will return NaN.\n" +----f +input: "data" +output: "squeezed" +name: "Squeeze" +op_type: "Squeeze" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nRemove single-dimensional entries from the shape of a tensor.\nTakes a parameter `axes` with a list of axes to squeeze.\nIf `axes` is not provided, all the single dimensions will be removed from\nthe shape. If an axis is selected with shape entry not equal to one, an error is raised.\n" +----f +input: "X" +output: "Y" +name: "StringNormalizer" +op_type: "StringNormalizer" +attribute { + name: "case_change_action" + s: "NONE" + type: STRING +} +attribute { + name: "is_case_sensitive" + i: 0 + type: INT +} +attribute { + name: "locale" + s: "" + type: STRING +} +attribute { + name: "stopwords" + s: "" + type: STRINGS +} +attribute { + name: "X-types" + strings: "string" + type: STRINGS +} +doc_string: "\nStringNormalization performs string operations for basic cleaning.\nThis operator has only one input (denoted by X) and only one output\n(denoted by Y). This operator first examines the elements in the X,\nand removes elements specified in \"stopwords\" attribute.\nAfter removing stop words, the intermediate result can be further lowercased,\nuppercased, or just returned depending the \"case_change_action\" attribute.\nThis operator only accepts [C]- and [1, C]-tensor.\nIf all elements in X are dropped, the output will be the empty value of string tensor with shape [1]\nif input shape is [C] and shape [1, 1] if input shape is [1, C].\n" +----f +input: "A" +input: "B" +output: "C" +name: "Sub" +op_type: "Sub" +attribute { + name: "A-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +attribute { + name: "B-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nPerforms element-wise binary subtraction (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "data_0" +output: "sum" +name: "Sum" +op_type: "Sum" +attribute { + name: "data_0-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nElement-wise sum of each of the input tensors (with Numpy-style broadcasting support).\nAll inputs and outputs must have the same data type.\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "input" +output: "output" +name: "Tan" +op_type: "Tan" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the tangent of the given input tensor, element-wise.\n" +----f +input: "input" +output: "output" +name: "Tanh" +op_type: "Tanh" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the hyperbolic tangent of the given input tensor element-wise.\n" +----f +input: "X" +output: "Y" +name: "TfIdfVectorizer" +op_type: "TfIdfVectorizer" +attribute { + name: "max_gram_length" + s: "" + type: INT +} +attribute { + name: "max_skip_count" + s: "" + type: INT +} +attribute { + name: "min_gram_length" + s: "" + type: INT +} +attribute { + name: "mode" + s: "" + type: STRING +} +attribute { + name: "ngram_counts" + s: "" + type: INTS +} +attribute { + name: "ngram_indexes" + s: "" + type: INTS +} +attribute { + name: "pool_int64s" + s: "" + type: INTS +} +attribute { + name: "pool_strings" + s: "" + type: STRINGS +} +attribute { + name: "weights" + s: "" + type: FLOATS +} +attribute { + name: "X-types" + strings: "string" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nThis transform extracts n-grams from the input sequence and save them as a vector. Input can\nbe either a 1-D or 2-D tensor. For 1-D input, output is the n-gram representation of that input.\nFor 2-D input, the output is also a 2-D tensor whose i-th row is the n-gram representation of the i-th input row.\nMore specifically, if input shape is [C], the corresponding output shape would be [max(ngram_indexes) + 1].\nIf input shape is [N, C], this operator produces a [N, max(ngram_indexes) + 1]-tensor.\n\nIn contrast to standard n-gram extraction, here, the indexes of extracting an n-gram from the original\nsequence are not necessarily consecutive numbers. The discontinuity between indexes are controlled by the number of skips.\nIf the number of skips is 2, we should skip two tokens when scanning through the original sequence.\nLet\'s consider an example. Assume that input sequence is [94, 17, 36, 12, 28] and the number of skips is 2.\nThe associated 2-grams are [94, 12] and [17, 28] respectively indexed by [0, 3] and [1, 4].\nIf the number of skips becomes 0, the 2-grams generated are [94, 17], [17, 36], [36, 12], [12, 28]\nindexed by [0, 1], [1, 2], [2, 3], [3, 4], respectively.\n\nThe output vector (denoted by Y) stores the count of each n-gram;\nY[ngram_indexes[i]] indicates the times that the i-th n-gram is found. The attribute ngram_indexes is used to determine the mapping\nbetween index i and the corresponding n-gram\'s output coordinate. If pool_int64s is [94, 17, 17, 36], ngram_indexes is [1, 0],\nngram_counts=[0, 0], then the Y[0] (first element in Y) and Y[1] (second element in Y) are the counts of [17, 36] and [94, 17],\nrespectively. An n-gram which cannot be found in pool_strings/pool_int64s should be ignored and has no effect on the output.\nNote that we may consider all skips up to S when generating the n-grams.\n\nThe examples used above are true if mode is \"TF\". If mode is \"IDF\", all the counts larger than 1 would be truncated to 1 and\nthe i-th element in weights would be used to scale (by multiplication) the count of the i-th n-gram in pool. If mode is \"TFIDF\",\nthis operator first computes the counts of all n-grams and then scale them by the associated values in the weights attribute.\n\nOnly one of pool_strings and pool_int64s can be set. If pool_int64s is set, the input should be an integer tensor.\nIf pool_strings is set, the input must be a string tensor.\n" +----f +input: "X" +output: "Y" +name: "ThresholdedRelu" +op_type: "ThresholdedRelu" +attribute { + name: "alpha" + f: 1.0 + type: FLOAT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nThresholdedRelu takes one input data (Tensor) and produces one output data\n(Tensor) where the rectified linear function, y = x for x > alpha, y = 0 otherwise,\nis applied to the tensor elementwise.\n" +----f +input: "input" +input: "repeats" +output: "output" +name: "Tile" +op_type: "Tile" +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "repeats-types" + strings: "int64" + type: STRINGS +} +doc_string: "Constructs a tensor by tiling a given tensor.\nThis is the same as function `tile` in Numpy, but no broadcast.\nFor example A = [[1, 2], [3, 4]], B = [1, 2], tile(A, B) = [[1, 2, 1, 2], [3, 4, 3, 4]]\n" +----f +input: "X" +input: "K" +output: "Values" +output: "Indices" +name: "TopK" +op_type: "TopK" +attribute { + name: "axis" + i: -1 + type: INT +} +attribute { + name: "largest" + i: 1 + type: INT +} +attribute { + name: "sorted" + i: 1 + type: INT +} +attribute { + name: "X-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "K-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nRetrieve the top-K largest or smallest elements along a specified axis. Given an input tensor of\nshape [a_1, a_2, ..., a_n, r] and integer argument k, return two outputs:\n -Value tensor of shape [a_1, a_2, ..., a_{axis-1}, k, a_{axis+1}, ... a_n]\n which contains the values of the top k elements along the specified axis\n -Index tensor of shape [a_1, a_2, ..., a_{axis-1}, k, a_{axis+1}, ... a_n] which\n contains the indices of the top k elements (original indices from the input\n tensor).\n\nIf \"largest\" is 1 (the default value) then the k largest elements are returned.\nIf \"sorted\" is 1 (the default value) then the resulting k elements will be sorted.\nIf \"sorted\" is 0, order of returned \'Values\' and \'Indices\' are undefined.\n\nGiven two equivalent values, this operator uses the indices along the axis as\n a tiebreaker. That is, the element with the lower index will appear first.\n" +----f +input: "data" +output: "transposed" +name: "Transpose" +op_type: "Transpose" +attribute { + name: "perm" + s: "" + type: INTS +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nTranspose the input tensor similar to numpy.transpose. For example, when\nperm=(1, 0, 2), given an input tensor of shape (1, 2, 3), the output shape\nwill be (2, 1, 3).\n" +----f +input: "X" +output: "Y" +output: "Z" +name: "TreeEnsembleClassifier" +op_type: "TreeEnsembleClassifier" +attribute { + name: "base_values" + s: "" + type: FLOATS +} +attribute { + name: "class_ids" + s: "" + type: INTS +} +attribute { + name: "class_nodeids" + s: "" + type: INTS +} +attribute { + name: "class_treeids" + s: "" + type: INTS +} +attribute { + name: "class_weights" + s: "" + type: FLOATS +} +attribute { + name: "classlabels_int64s" + s: "" + type: INTS +} +attribute { + name: "classlabels_strings" + s: "" + type: STRINGS +} +attribute { + name: "nodes_falsenodeids" + s: "" + type: INTS +} +attribute { + name: "nodes_featureids" + s: "" + type: INTS +} +attribute { + name: "nodes_hitrates" + s: "" + type: FLOATS +} +attribute { + name: "nodes_missing_value_tracks_true" + s: "" + type: INTS +} +attribute { + name: "nodes_modes" + s: "" + type: STRINGS +} +attribute { + name: "nodes_nodeids" + s: "" + type: INTS +} +attribute { + name: "nodes_treeids" + s: "" + type: INTS +} +attribute { + name: "nodes_truenodeids" + s: "" + type: INTS +} +attribute { + name: "nodes_values" + s: "" + type: FLOATS +} +attribute { + name: "post_transform" + s: "NONE" + type: STRING +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n Tree Ensemble classifier. Returns the top class for each of N inputs.
\n The attributes named \'nodes_X\' form a sequence of tuples, associated by \n index into the sequences, which must all be of equal length. These tuples\n define the nodes.
\n Similarly, all fields prefixed with \'class_\' are tuples of votes at the leaves.\n A leaf may have multiple votes, where each vote is weighted by\n the associated class_weights index.
\n One and only one of classlabels_strings or classlabels_int64s\n will be defined. The class_ids are indices into this list.\n" +----f +input: "X" +output: "Y" +name: "TreeEnsembleRegressor" +op_type: "TreeEnsembleRegressor" +attribute { + name: "aggregate_function" + s: "SUM" + type: STRING +} +attribute { + name: "base_values" + s: "" + type: FLOATS +} +attribute { + name: "n_targets" + s: "" + type: INT +} +attribute { + name: "nodes_falsenodeids" + s: "" + type: INTS +} +attribute { + name: "nodes_featureids" + s: "" + type: INTS +} +attribute { + name: "nodes_hitrates" + s: "" + type: FLOATS +} +attribute { + name: "nodes_missing_value_tracks_true" + s: "" + type: INTS +} +attribute { + name: "nodes_modes" + s: "" + type: STRINGS +} +attribute { + name: "nodes_nodeids" + s: "" + type: INTS +} +attribute { + name: "nodes_treeids" + s: "" + type: INTS +} +attribute { + name: "nodes_truenodeids" + s: "" + type: INTS +} +attribute { + name: "nodes_values" + s: "" + type: FLOATS +} +attribute { + name: "post_transform" + s: "NONE" + type: STRING +} +attribute { + name: "target_ids" + s: "" + type: INTS +} +attribute { + name: "target_nodeids" + s: "" + type: INTS +} +attribute { + name: "target_treeids" + s: "" + type: INTS +} +attribute { + name: "target_weights" + s: "" + type: FLOATS +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n Tree Ensemble regressor. Returns the regressed values for each input in N.
\n All args with nodes_ are fields of a tuple of tree nodes, and\n it is assumed they are the same length, and an index i will decode the\n tuple across these inputs. Each node id can appear only once\n for each tree id.
\n All fields prefixed with target_ are tuples of votes at the leaves.
\n A leaf may have multiple votes, where each vote is weighted by\n the associated target_weights index.
\n All trees must have their node ids start at 0 and increment by 1.
\n Mode enum is BRANCH_LEQ, BRANCH_LT, BRANCH_GTE, BRANCH_GT, BRANCH_EQ, BRANCH_NEQ, LEAF\n" +----f +input: "X" +output: "Y" +output: "indices" +output: "inverse_indices" +output: "counts" +name: "Unique" +op_type: "Unique" +attribute { + name: "axis" + s: "" + type: INT +} +attribute { + name: "sorted" + i: 1 + type: INT +} +attribute { + name: "X-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nFind the unique elements of a tensor. When an optional attribute \'axis\' is provided, unique subtensors sliced along the \'axis\' are returned. \nOtherwise the input tensor is flattened and unique values of the flattened tensor are returned. \n\nThis operator returns the unique values or sliced unique subtensors of the input tensor and three optional outputs. \nThe first output tensor \'Y\' contains all unique values or subtensors of the input. \nThe second optional output tensor \'indices\' contains indices of \'Y\' elements\' first occurance in \'X\'.. \nThe third optional output tensor \'inverse_indices\' contains, for elements of \'X\', its corresponding indices in \'Y\'. \". \nThe fourth optional output tensor \'counts\' contains the count of each element of \'Y\' in the input. \n\nOutputs are either sorted in ascending order or optionally in the order of the first occurrence of the values in the input. \n\nhttps://docs.scipy.org/doc/numpy/reference/generated/numpy.unique.html\n\nExample 1:\n input_X = [2, 1, 1, 3, 4, 3]\n attribute_sorted = 0\n attribute_axis = None\n output_Y = [2, 1, 3, 4]\n output_indices = [0, 1, 3, 4]\n output_inverse_indices = [0, 1, 1, 2, 3, 2]\n output_counts = [1, 2, 2, 1]\n\nExample 2:\n input_X = [[1, 3], [2, 3]]\n attribute_sorted = 1\n attribute_axis = None\n output_Y = [1, 2, 3]\n output_indices = [0, 2, 1]\n output_inverse_indices = [0, 2, 1, 2]\n output_counts = [1, 1, 2]\n\nExample 3:\n input_X = [[1, 0, 0], [1, 0, 0], [2, 3, 4]]\n attribute_sorted = 1\n attribute_axis = 0\n output_Y = [[1, 0, 0], [2, 3, 4]]\n output_indices = [0, 2]\n output_inverse_indices = [0, 0, 1]\n output_counts = [2, 1]\n\nExample 4:\n input_x = [[[1., 1.], [0., 1.], [2., 1.], [0., 1.]], \n [[1., 1.], [0., 1.], [2., 1.], [0., 1.]]]\n attribute_sorted = 1\n attribute_axis = 1\n\n intermediate data are presented below for better understanding: \n \n there are 4 subtensors sliced along axis 1 of input_x (shape = (2, 4, 2)):\n A: [[1, 1], [1, 1]], \n [[0, 1], [0, 1]], \n [[2, 1], [2, 1]], \n [[0, 1], [0, 1]].\n \n there are 3 unique subtensors: \n [[1, 1], [1, 1]], \n [[0, 1], [0, 1]], \n [[2, 1], [2, 1]].\n \n sorted unique subtensors:\n B: [[0, 1], [0, 1]], \n [[1, 1], [1, 1]], \n [[2, 1], [2, 1]].\n \n output_Y is constructed from B:\n [[[0. 1.], [1. 1.], [2. 1.]], \n [[0. 1.], [1. 1.], [2. 1.]]]\n\n output_indices is to map from B to A:\n [1, 0, 2]\n \n output_inverse_indices is to map from A to B:\n [1, 0, 2, 0]\n\n output_counts = [2 1 1]\n" +----f +input: "data" +output: "expanded" +name: "Unsqueeze" +op_type: "Unsqueeze" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nInsert single-dimensional entries to the shape of an input tensor (`data`).\nTakes one required argument `axes` - which contains a list of dimension indices and this operator will insert a dimension of value `1` into the corresponding index of the output tensor (`expanded`).\n\nFor example:\n Given an input tensor (`data`) of shape [3, 4, 5], then\n Unsqueeze(data, axes=[0, 4]) outputs a tensor (`expanded`) containing same data as `data` but with shape [1, 3, 4, 5, 1].\n\nThe attribute `axes` should not contain any duplicate entries. It is an error if it contains duplicates.\nThe rank of the output tensor (`output_rank`) is the rank of the input tensor (`data`) plus the number of values in `axes`.\nEach value in `axes` should be within the (inclusive) range [-output_rank , output_rank - 1]. \nThe order of values in `axes` does not matter and can come in any order. \n\n" +----f +input: "X" +input: "scales" +output: "Y" +name: "Upsample" +op_type: "Upsample" +attribute { + name: "mode" + s: "nearest" + type: STRING +} +attribute { + name: "X-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "scales-types" + strings: "float" + type: STRINGS +} +doc_string: "\nUpsample the input tensor.\nEach dimension value of the output tensor is:\n output_dimension = floor(input_dimension * scale).\n" +----f +input: "condition" +input: "X" +input: "Y" +output: "output" +name: "Where" +op_type: "Where" +attribute { + name: "condition-types" + strings: "bool" + type: STRINGS +} +attribute { + name: "X-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "Y-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\n Return elements, either from X or Y, depending on condition\n (with Numpy-style broadcasting support).\n Where behaves like numpy.where with three parameters:\n https://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html\n" +----f +input: "A" +input: "B" +output: "C" +name: "Xor" +op_type: "Xor" +attribute { + name: "A-types" + strings: "bool" + type: STRINGS +} +attribute { + name: "B-types" + strings: "bool" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `xor` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "X" +output: "Z" +name: "ZipMap" +op_type: "ZipMap" +attribute { + name: "classlabels_int64s" + s: "" + type: INTS +} +attribute { + name: "classlabels_strings" + s: "" + type: STRINGS +} +attribute { + name: "X-types" + strings: "float" + type: STRINGS +} +doc_string: "\n Creates a map from the input and the attributes.
\n The values are provided by the input tensor, while the keys are specified by the attributes.\n Must provide keys in either classlabels_strings or classlabels_int64s (but not both).
\n The columns of the tensor correspond one-by-one to the keys specified by the attributes. There must be as many columns as keys.
\n" +----f diff --git a/contrib/codegen-tools/codegen/src/main/resources/tensorflowOpMappings.csv b/contrib/codegen-tools/codegen/src/main/resources/tensorflowOpMappings.csv new file mode 100644 index 000000000..e69de29bb diff --git a/contrib/codegen-tools/codegen/src/test/java/org/nd4j/codegen/dsl/DocsGeneratorTest.java b/contrib/codegen-tools/codegen/src/test/java/org/nd4j/codegen/dsl/DocsGeneratorTest.java new file mode 100644 index 000000000..802c71348 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/test/java/org/nd4j/codegen/dsl/DocsGeneratorTest.java @@ -0,0 +1,27 @@ +package org.nd4j.codegen.dsl; + +import org.apache.commons.lang3.StringUtils; +import org.junit.jupiter.api.Test; +import org.nd4j.codegen.impl.java.DocsGenerator; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class DocsGeneratorTest { + + @Test + public void testJDtoMDAdapter() { + String original = "{@code %INPUT_TYPE% eye = eye(3,2)\n" + + " eye:\n" + + " [ 1, 0]\n" + + " [ 0, 1]\n" + + " [ 0, 0]}"; + String expected = "{ INDArray eye = eye(3,2)\n" + + " eye:\n" + + " [ 1, 0]\n" + + " [ 0, 1]\n" + + " [ 0, 0]}"; + DocsGenerator.JavaDocToMDAdapter adapter = new DocsGenerator.JavaDocToMDAdapter(original); + String out = adapter.filter("@code", StringUtils.EMPTY).filter("%INPUT_TYPE%", "INDArray").toString(); + assertEquals(out, expected); + } +} diff --git a/contrib/codegen-tools/codegen/src/test/java/org/nd4j/codegen/dsl/TestGeneration.java b/contrib/codegen-tools/codegen/src/test/java/org/nd4j/codegen/dsl/TestGeneration.java new file mode 100644 index 000000000..41d76de16 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/test/java/org/nd4j/codegen/dsl/TestGeneration.java @@ -0,0 +1,47 @@ +package org.nd4j.codegen.dsl; + +import org.apache.commons.io.FileUtils; +import org.apache.commons.lang3.StringUtils; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; +import org.nd4j.codegen.api.NamespaceOps; +import org.nd4j.codegen.impl.java.Nd4jNamespaceGenerator; +import org.nd4j.codegen.ops.RNNKt; + +import java.io.File; +import java.nio.charset.StandardCharsets; +import java.util.Arrays; +import java.util.Iterator; +import java.util.List; + +class TestGeneration { + + @SuppressWarnings("unused") + @TempDir + public File testDir; + + @Test + void test() throws Exception { + File f = testDir; + +// List list = Arrays.asList(BitwiseKt.Bitwise(), RandomKt.Random()); + List list = Arrays.asList(RNNKt.SDRNN()); + + for(NamespaceOps ops : list) { + Nd4jNamespaceGenerator.generate(ops, null, f, ops.getName() + ".java", "org.nd4j.linalg.factory", StringUtils.EMPTY); + } + + File[] files = f.listFiles(); + Iterator iter = FileUtils.iterateFiles(f, null, true); + if(files != null) { + while(iter.hasNext()){ + File file = iter.next(); + if(file.isDirectory()) + continue; + System.out.println(FileUtils.readFileToString(file, StandardCharsets.UTF_8)); + System.out.println("\n\n================\n\n"); + } + } + } + +} diff --git a/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/dsl/ConfigTest.kt b/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/dsl/ConfigTest.kt new file mode 100644 index 000000000..474e9f42b --- /dev/null +++ b/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/dsl/ConfigTest.kt @@ -0,0 +1,44 @@ +package org.nd4j.codegen.dsl + +import org.junit.jupiter.api.Test +import org.nd4j.codegen.api.DataType.FLOATING_POINT +import org.nd4j.codegen.api.Language +import org.nd4j.codegen.api.doc.DocScope + +class ConfigTest { + @Test + fun allGood(){ + Namespace("RNN"){ + val sruWeights = Config("SRUWeights"){ + Input(FLOATING_POINT, "weights"){ description = "Weights, with shape [inSize, 3*inSize]" } + Input(FLOATING_POINT, "bias"){ description = "Biases, with shape [2*inSize]" } + } + + Op("SRU"){ + Input(FLOATING_POINT, "x"){ description = "..." } + Input(FLOATING_POINT, "initialC"){ description = "..." } + Input(FLOATING_POINT, "mask"){ description = "..." } + + useConfig(sruWeights) + + Output(FLOATING_POINT, "out"){ description = "..." } + + Doc(Language.ANY, DocScope.ALL){ "some doc" } + } + + Op("SRUCell"){ + val x = Input(FLOATING_POINT, "x"){ description = "..." } + val cLast = Input(FLOATING_POINT, "cLast"){ description = "..." } + + val conf = useConfig(sruWeights) + + Output(FLOATING_POINT, "out"){ description = "..." } + + // Just for demonstration purposes + Signature(x, cLast, conf) + + Doc(Language.ANY, DocScope.ALL){ "some doc" } + } + } + } +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/dsl/ConstraintTest.kt b/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/dsl/ConstraintTest.kt new file mode 100644 index 000000000..0abde7720 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/dsl/ConstraintTest.kt @@ -0,0 +1,79 @@ +package org.nd4j.codegen.dsl + +import org.junit.jupiter.api.Test +import org.nd4j.codegen.api.Arg +import org.nd4j.codegen.api.DataType +import org.nd4j.codegen.api.Expression +import org.nd4j.codegen.api.Input +import org.nd4j.codegen.impl.java.JavaConstraintCodeGenerator +import kotlin.test.assertEquals + + +class ConstraintTest { + + + private fun buildConstraint(block: ConstraintBuilder.() -> Expression): Expression { + return ConstraintBuilder().block() + } + + @Test + fun simpleConstraintTest() { + val expected = "x.rank() == 3" + val input = Input(name = "x", type = DataType.INT) + val constraint = buildConstraint { input.rank() eq 3 } + val out = JavaConstraintCodeGenerator().generateExpression(constraint) + assertEquals(expected, out) + } + + @Test + fun simple2ConstraintTest() { + val expected = "(x.rank() == 3) && (x.sizeAt(2) >= 7)" + val input = Input(name = "x", type = DataType.INT) + val constraint = buildConstraint { (input.rank() eq 3) and (input.sizeAt(2) gte 7) } + val out = JavaConstraintCodeGenerator().generateExpression(constraint) + assertEquals(expected, out) + } + + @Test + fun simple3ConstraintTest() { + val expected = "((x.rank() == 3) || (x.sizeAt(2) >= 7)) || (x.sizeAt(4) < 5)" + val input = Input(name = "x", type = DataType.INT) + val constraint = buildConstraint { some( + input.rank() eq 3, + input.sizeAt(2) gte 7, + input.sizeAt(4) lt 5 + ) } + val out = JavaConstraintCodeGenerator().generateExpression(constraint) + assertEquals(expected, out) + } + + @Test + fun complexConstraintTest() { + val expected = "(x.rank() == 3) == false" + val input = Input(name = "x", type = DataType.INT) + val constraint = buildConstraint { not(input.rank() eq 3) } + val out = JavaConstraintCodeGenerator().generateExpression(constraint) + assertEquals(expected, out) + } + + @Test + fun argConstraintTest() { + val expected = "(x.rank() == rank) == false" + val arg = Arg(name = "rank", type = DataType.NUMERIC) + val input = Input(name = "x", type = DataType.INT) + val constraint = buildConstraint { not(input.rank() eq arg) } + val out = JavaConstraintCodeGenerator().generateExpression(constraint) + assertEquals(expected, out) + } + + @Test + fun specificConstraintTest(){ + val expected = "isSameType(x, y, z)" + val x = Input(name = "x", type = DataType.INT) + val y = Input(name = "y", type = DataType.INT) + val z = Input(name = "z", type = DataType.INT) + val constraint = buildConstraint { sameType(x, y, z) } + val out = JavaConstraintCodeGenerator().generateExpression(constraint) + assertEquals(expected, out) + } +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/dsl/NamespaceInvariantTest.kt b/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/dsl/NamespaceInvariantTest.kt new file mode 100644 index 000000000..1fdd88717 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/dsl/NamespaceInvariantTest.kt @@ -0,0 +1,21 @@ +package org.nd4j.codegen.dsl + +import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.assertThrows +import org.nd4j.codegen.api.DataType + +class NamespaceInvariantTest { + @Test + fun checkForUnusedConfigs(){ + val thrown = assertThrows { + Namespace("RNN"){ + Config("SRUWeights"){ + Input(DataType.FLOATING_POINT, "weights"){ description = "Weights, with shape [inSize, 3*inSize]" } + Input(DataType.FLOATING_POINT, "bias"){ description = "Biases, with shape [2*inSize]" } + } + } + } + assertEquals("Found unused configs: SRUWeights", thrown.message) + } +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/dsl/OpBuilderTest.kt b/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/dsl/OpBuilderTest.kt new file mode 100644 index 000000000..111fe875c --- /dev/null +++ b/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/dsl/OpBuilderTest.kt @@ -0,0 +1,151 @@ +package org.nd4j.codegen.dsl + +import org.apache.commons.io.FileUtils +import org.junit.jupiter.api.Test +import org.nd4j.codegen.api.AtLeast +import org.nd4j.codegen.api.AtMost +import org.nd4j.codegen.api.DataType.* +import org.nd4j.codegen.api.Exactly +import org.nd4j.codegen.api.Language +import org.nd4j.codegen.api.doc.DocScope +import org.nd4j.codegen.impl.java.JavaPoetGenerator +import java.io.File +import java.nio.charset.StandardCharsets +import kotlin.test.assertTrue + +class OpBuilderTest { + private var testDir = createTempDir() + + @Test + fun opBuilderTest() { + val outDir = testDir + + val mathNs = Namespace("math") { + val config = Config("bla"){ + val a = Input(NUMERIC, "a") { description = "This is A!"} + Input(NUMERIC, "c") { count = AtLeast(1); description = "This is C!"} + Input(NUMERIC, "e") { defaultValue = a} + val b = Arg(NUMERIC, "b") { description = "This is B!"} + Arg(NUMERIC, "d") { count = AtMost(7); description = "This is D!"} + Arg(NUMERIC, "f") { defaultValue = 12} + + Constraint("Some constraint"){ + a.isScalar() + } + Constraint("Some different constraint"){ + b eq 7 + } + + Doc(Language.JAVA, DocScope.ALL){ + "This is some config documentation" + } + } + Op("add") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.pairwise.arithmetic" + + val x = Input(NUMERIC, "x") { description = "First input to add" } + Input(NUMERIC,"y") { count = AtLeast(1); description = "Second input to add"; defaultValue = x } + Arg(INT,"shape") { count = AtLeast(1); description = "shape"; defaultValue = intArrayOf(1,2,3) } + + + Output(NUMERIC, "z") { description = "Output (x+y)" } + + + Doc(Language.ANY, DocScope.ALL) { + """ + (From AddOp) Add op doc text that will appear everywhere - classes, constructors, op creators + """.trimIndent() + } + Doc(Language.ANY, DocScope.CLASS_DOC_ONLY) { + "Add op doc text that will appear in all class docs (javadoc etc)" + } + Doc(Language.ANY, DocScope.CONSTRUCTORS_ONLY) { + "Add op doc text for constructors only" + } + + } + + val baseArithmeticOp = Mixin("BaseArithmeticOp") { + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.pairwise.arithmetic" + + Input(NUMERIC,"x") { count = Exactly(1); description = "First operand to %OPNAME%" } + Input(NUMERIC,"y") { count = Exactly(1); description = "Second operand" } + + + Output(NUMERIC,"z") { description = "Output" } + + Doc(Language.ANY, DocScope.ALL) { + "(From BaseArithmeticOp) op doc text that will appear everywhere - classes, constructors, op creators" + } + Doc(Language.ANY, DocScope.CLASS_DOC_ONLY) { + "op doc text that will appear in all class docs (javadoc etc)" + } + Doc(Language.ANY, DocScope.CONSTRUCTORS_ONLY) { + "op doc text for constructors only" + } + + } + + Op("sub", extends = baseArithmeticOp) + + Op("mul", extends = baseArithmeticOp) + + Op("rsub", extends = baseArithmeticOp) { + isAbstract = false + javaPackage = "org.nd4j.some.other.package" + Doc(Language.ANY, DocScope.CREATORS_ONLY) { + "(From rsub) This doc section will appear only in creator method for %OPNAME%" + } + } + + Op("div"){ + javaPackage = "org.nd4j.linalg.api.ops.impl.transforms.pairwise.arithmetic" + + val x = Input(NUMERIC,"x") { description = "First operand to div" } + val y = Input(NUMERIC,"y") { description = "Second operand to div" } + val idx = Arg(INT, "idx") { description = "Some kind of Index" } + Constraint("Compatible Rank"){ + x.rank() eq idx + } + + Constraint("Compatible Shapes"){ + sameShape(x,y) + } + + + Output(NUMERIC,"z") { description = "Output" } + + Doc(Language.ANY, DocScope.ALL) { + "op doc text that will appear everywhere - classes, constructors, op creators" + } + } + + Op("zfoo"){ + javaPackage = "bar" + javaOpClass = "FooBarOp" + val x = Input(NUMERIC,"x") { description = "First operand to %OPNAME% (%INPUT_TYPE%)" } + val y = Input(NUMERIC,"y") { description = "Second operand to div" } + val z = Arg(ENUM, "fooMode"){ description = "Something or other"; possibleValues = listOf("SOME", "value", "Spam", "eGGs")} + val bla = useConfig(config) + + Constraint("foo bar"){ + x.sizeAt(7) eq 7 and y.isScalar() + } + + Doc(Language.ANY, DocScope.ALL) { + "op doc text that will appear everywhere - classes, constructors, op creators" + } + + Signature(x, y, z, bla) + } + } + + val generator = JavaPoetGenerator() + generator.generateNamespaceNd4j(mathNs, null, outDir, "Nd4jMath") + val exp = File(outDir, "org/nd4j/linalg/factory/ops/Nd4jMath.java") + assertTrue(exp.isFile) + + println(FileUtils.readFileToString(exp, StandardCharsets.UTF_8)) + + } +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/dsl/OpInvariantTest.kt b/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/dsl/OpInvariantTest.kt new file mode 100644 index 000000000..ab7882bef --- /dev/null +++ b/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/dsl/OpInvariantTest.kt @@ -0,0 +1,813 @@ +package org.nd4j.codegen.dsl + +import org.junit.jupiter.api.Assertions.assertSame +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.assertThrows +import org.nd4j.codegen.api.* +import org.nd4j.codegen.api.doc.DocScope +import kotlin.test.assertEquals +import kotlin.test.assertNotSame + + +class OpInvariantTest { + + @Test + fun opMustBeDocumented() { + val thrown = assertThrows { + Namespace("math") { + Op("foo") {} + } + } + assertEquals("foo: Ops must be documented!", thrown.message) + } + + + @Test + fun opMustBeDocumentedAndNotEmpty() { + val thrown = assertThrows { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "" } + } + } + } + assertEquals("foo: Ops must be documented!", thrown.message) + } + + @Test + fun opMustBeDocumentedWithDoc() { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + } + } + } + + @Test + fun opSignatureMustCoverAllParameters() { + val thrown = assertThrows { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val x = Input(DataType.NUMERIC, "x") + val y = Input(DataType.NUMERIC, "y") + + Signature(x) + } + } + } + assertEquals("foo: Signature(x) does not cover all parameters! Missing: y", thrown.message) + } + + @Test + fun opSignatureMustCoverAllParameters2() { + val thrown = assertThrows { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val x = Input(DataType.NUMERIC, "x") + val y = Arg(DataType.NUMERIC, "y") + + Signature(x) + } + } + } + + assertEquals("foo: Signature(x) does not cover all parameters! Missing: y", thrown.message) + } + + @Test + fun opSignatureMustCoverAllParametersWithoutDefaults() { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val x = Input(DataType.NUMERIC, "x") + val y = Arg(DataType.NUMERIC, "y") { + defaultValue = 7 + } + + Signature(x) + } + } + } + + @Test + fun opSignatureMustTakeEachParameterOnlyOnce() { + val thrown = assertThrows { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val x = Input(DataType.NUMERIC, "x") + val y = Arg(DataType.NUMERIC, "y") + + Signature(x, x, x) + } + } + } + + assertEquals("A parameter may not be used twice in a signature!", thrown.message) + } + + @Test + fun opSignatureMustAllowOutputs() { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val x = Input(DataType.NUMERIC, "x") + val y = Arg(DataType.NUMERIC, "y") { + defaultValue = 7 + } + val out = Output(DataType.NUMERIC, "out") + + Signature(out, x) + } + } + } + + @Test + fun opSignatureMustAllowOutputsOnlyOnce() { + val thrown = assertThrows { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val x = Input(DataType.NUMERIC, "x") + val y = Arg(DataType.NUMERIC, "y") { + defaultValue = 7 + } + val out = Output(DataType.NUMERIC, "out") + + Signature(out, x, out) + } + } + } + + assertEquals("A parameter may not be used twice in a signature!", thrown.message) + } + + @Test + fun opSignatureDefaultValueMustHaveCorrectShape() { + val thrown = assertThrows { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") + val y = Arg(DataType.INT, "y") { + defaultValue = x.shape() + } + + Signature(x) + } + } + } + + assertEquals("Illegal default value for Arg(INT, y). Got x.shape() (org.nd4j.codegen.api.TensorShapeValue)", thrown.message) + } + + @Test + fun opSignatureDefaultValue() { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") + val y = Arg(DataType.INT, "y") { + defaultValue = 2 + } + + Signature(x) + } + } + } + + @Test + fun opSignatureDefaultValueMustHaveCorrectDataType() { + val thrown = assertThrows { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") + val y = Arg(DataType.INT, "y") { + defaultValue = 1.7 + } + + Signature(x) + } + } + } + + assertEquals("Illegal default value for Arg(INT, y). Got 1.7 (java.lang.Double)", thrown.message) + } + + + @Test + fun opSignatureDefaultInputReference() { + val thrown = assertThrows { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") + val z = Input(DataType.NUMERIC, "z") + val y = Arg(DataType.INT, "y") { + count = AtLeast(1) + defaultValue = z.shape() + } + + Signature(x) + } + } + } + + assertEquals("foo: Signature(x) does not cover all parameters! Missing: z, y", thrown.message) + } + + @Test + fun opSignatureDefaultOutputReference() { + val thrown = assertThrows { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") + val y = Arg(DataType.INT, "y") { + count = AtLeast(1) + defaultValue = out.shape() + } + + Signature(x) + } + } + } + + assertEquals("foo: Signature(x) does not cover all parameters! Missing: y", thrown.message) + } + + @Test + fun opSignatureDefaultWithOutputReference() { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") + val y = Arg(DataType.INT, "y") { + count = AtLeast(1) + defaultValue = out.shape() + } + + Signature(out, x) + } + } + } + + @Test + fun opSignatureDefaultReferenceChain() { + val thrown = assertThrows { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") + val z = Input(DataType.NUMERIC, "z") + val u = Input(DataType.NUMERIC, "u") { defaultValue = z } + val v = Input(DataType.NUMERIC, "v") { defaultValue = u } + val y = Arg(DataType.INT, "y") { + count = AtLeast(1) + defaultValue = v.shape() + } + + Signature(x) + } + } + } + + assertEquals("foo: Signature(x) does not cover all parameters! Missing: z, u, v, y", thrown.message) + } + + @Test + fun opSignatureDefaultReferenceChainWorking() { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") + val z = Input(DataType.NUMERIC, "z") { defaultValue = x } + val u = Input(DataType.NUMERIC, "u") { defaultValue = z } + val v = Input(DataType.NUMERIC, "v") { defaultValue = u } + val y = Arg(DataType.INT, "y") { + count = AtLeast(1) + defaultValue = v.shape() + } + + Signature(x) + } + } + } + + @Test + fun opSignatureShorthandAllParams() { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") + val z = Input(DataType.NUMERIC, "z") { defaultValue = x } + val u = Input(DataType.NUMERIC, "u") { defaultValue = z } + val v = Input(DataType.NUMERIC, "v") { defaultValue = u } + val y = Arg(DataType.INT, "y") { + count = AtLeast(1) + defaultValue = v.shape() + } + + AllParamSignature() + } + } + + } + + @Test + fun opSignatureNullDefaults() { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") + val y = Arg(DataType.INT, "y") { + count = AtLeast(1) + defaultValue = null + } + + AllDefaultsSignature() + } + } + } + + @Test + fun opSignatureNullDefaultsForInputs() { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") { defaultValue = null } + + AllDefaultsSignature() + } + } + } + + @Test + fun opSignatureShorthandDefaultParams() { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") + val z = Input(DataType.NUMERIC, "z") { defaultValue = x } + val u = Input(DataType.NUMERIC, "u") { defaultValue = z } + val v = Input(DataType.NUMERIC, "v") { defaultValue = u } + val y = Arg(DataType.INT, "y") { + count = AtLeast(1) + defaultValue = v.shape() + } + + AllDefaultsSignature() + } + } + } + + @Test + fun opSignatureSupportsArrayDefaults() { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") + val y = Arg(DataType.INT, "y") { count = AtLeast(0); defaultValue = intArrayOf() } + val z = Arg(DataType.FLOATING_POINT, "z") { count = Range(2, 5); defaultValue = doubleArrayOf(1.0, 2.0, 3.0) } + val a = Arg(DataType.BOOL, "a") { count = AtLeast(1); defaultValue = booleanArrayOf(true) } + + AllDefaultsSignature() + } + } + } + + @Test + fun opSignatureSupportsArrayDefaultsAtLeast() { + val thrown = assertThrows { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + Output(DataType.NUMERIC, "out") + Input(DataType.NUMERIC, "x") + Arg(DataType.INT, "y") { count = AtLeast(1); defaultValue = intArrayOf() } + } + } + } + + assertEquals("Illegal default value for Arg(INT, y){ count = AtLeast(min=1) }. Got [] ([I)", thrown.message) + + } + + @Test + fun opSignatureSupportsArrayDefaultsAtMost() { + val thrown = assertThrows { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + Output(DataType.NUMERIC, "out") + Input(DataType.NUMERIC, "x") + Arg(DataType.INT, "y") { count = AtMost(1); defaultValue = intArrayOf(1, 2) } + } + } + } + + assertEquals("Illegal default value for Arg(INT, y){ count = AtMost(max=1) }. Got [1, 2] ([I)", thrown.message) + + } + + @Test + fun opSignatureSupportsArrayDefaultsRange() { + val thrown = assertThrows { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + Output(DataType.NUMERIC, "out") + Input(DataType.NUMERIC, "x") + Arg(DataType.INT, "y") { count = Range(3, 7); defaultValue = intArrayOf() } + } + } + } + + assertEquals("Illegal default value for Arg(INT, y){ count = Range(from=3, to=7) }. Got [] ([I)", thrown.message) + } + + @Test + fun opSignatureSupportsArrayDefaultsExactly() { + val thrown = assertThrows { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + Output(DataType.NUMERIC, "out") + Input(DataType.NUMERIC, "x") + Arg(DataType.INT, "y") { count = Exactly(7); defaultValue = intArrayOf() } + } + } + } + + assertEquals("Illegal default value for Arg(INT, y){ count = Exactly(count=7) }. Got [] ([I)", thrown.message) + + } + + @Test + fun opSignatureHasExpectedNumberOfSignatures() { + Namespace("math") { + val op = Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") + val y = Arg(DataType.INT, "y") { count = AtLeast(0); defaultValue = intArrayOf() } + + AllParamSignature() + AllDefaultsSignature() + } + + assertEquals(2, op.signatures.size) + } + } + + @Test + fun opSignatureHasExpectedNumberOfSignaturesWithOutput() { + Namespace("math") { + val op = Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") + val y = Arg(DataType.INT, "y") { count = AtLeast(0); defaultValue = intArrayOf() } + + AllParamSignature(true) + AllDefaultsSignature(true) + } + + assertEquals(4, op.signatures.size) + } + } + + @Test + fun opSignatureHasExpectedNumberOfSignaturesNoDefaults() { + Namespace("math") { + val op = Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") + val y = Arg(DataType.INT, "y") { count = AtLeast(0); } + + AllParamSignature() + AllDefaultsSignature() + } + + assertEquals(1, op.signatures.size) + } + } + + @Test + fun opSignatureHasExpectedNumberOfSignaturesWithOutputNoDefaults() { + Namespace("math") { + val op = Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") + val y = Arg(DataType.INT, "y") { count = AtLeast(0); } + + AllParamSignature(true) + AllDefaultsSignature(true) + } + + assertEquals(2, op.signatures.size) + } + } + + @Test + fun argEnum() { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") + val y = Arg(DataType.ENUM, "y") { possibleValues = listOf("FOO", "BAR", "BAZ"); description = "Enums require some docs" } + + } + } + } + + @Test + fun argEnumDefaultValue() { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") + val y = Arg(DataType.ENUM, "y") { + possibleValues = listOf("FOO", "BAR", "BAZ") + defaultValue = "BAZ" + description = "Enums require some docs" + } + + AllDefaultsSignature() + } + } + } + + @Test + fun argEnumBadDefaultValue() { + val thrown = assertThrows { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") + val y = Arg(DataType.ENUM, "y") { + possibleValues = listOf("FOO", "BAR", "BAZ") + defaultValue = "SPAM" + } + + AllDefaultsSignature() + } + } + } + + assertEquals("Illegal default value for Arg(ENUM(FOO, BAR, BAZ), y). Got SPAM (java.lang.String)", thrown.message) + } + + @Test + fun argEnumEmptyPossibleValues() { + val thrown = assertThrows { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") + val y = Arg(DataType.ENUM, "y") { + possibleValues = listOf() + } + + } + } + } + + assertEquals("Arg(ENUM(null), y): Can not set empty possibleValues.", thrown.message) + } + + @Test + fun argEnumBadType() { + val thrown = assertThrows { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") + val y = Arg(DataType.NUMERIC, "y") { + possibleValues = listOf("FOO", "BAR", "BAZ") + defaultValue = "SPAM" + } + + AllDefaultsSignature() + } + } + } + + assertEquals("Arg(NUMERIC, y): Can not set possibleValues on non ENUM typed Arg.", thrown.message) + } + + @Test + fun argEnumBadCount() { + val thrown = assertThrows { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") + val y = Arg(DataType.ENUM, "y") { + count = AtLeast(1) + possibleValues = listOf("FOO", "BAR", "BAZ") + } + + AllDefaultsSignature() + } + } + } + + assertEquals("Arg(ENUM(null), y): ENUM typed Arg can not be array", thrown.message) + } + + @Test + fun argEnumGoodCount() { + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") + val y = Arg(DataType.ENUM, "y") { + count = Exactly(1) + possibleValues = listOf("FOO", "BAR", "BAZ") + description = "Enums require some docs" + } + + AllDefaultsSignature() + } + } + } + + @Test + fun onlyValidParametersAreUsedInSignaturesBadCase() { + val thrown = assertThrows { + val mixin = Mixin("Bar") { + Input(DataType.NUMERIC, "a") + Arg(DataType.BOOL, "b") + } + + Namespace("math") { + Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") + + Signature(out, x, mixin.input("a"), mixin.arg("b")) + } + } + } + assertEquals("You can only use parameters in a signature that are actually defined in Op(opName=foo, libnd4jOpName=foo, isAbstract=false)! Did you forget to useMixin(...) a mixin?", thrown.message) + } + + @Test + fun onlyValidParametersAreUsedInSignaturesGoodCase() { + val mixin = Mixin("Bar") { + Input(DataType.NUMERIC, "a") + Arg(DataType.BOOL, "b") + } + + Namespace("math") { + Op("foo", mixin) { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + val out = Output(DataType.NUMERIC, "out") + val x = Input(DataType.NUMERIC, "x") + + Signature(out, x, mixin.input("a"), mixin.arg("b")) + } + } + } + + @Test + fun lastMixinDefinitionWins(){ + val mixin = Mixin("Bar") { + Input(DataType.NUMERIC, "a") + Arg(DataType.BOOL, "b") + } + + Namespace("math") { + val op = Op("foo", mixin) { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + Output(DataType.NUMERIC, "out") + Input(DataType.NUMERIC, "a") { count=Exactly(1)} + } + + assertNotSame(mixin.inputs.find { it.name == "a"}, op.inputs.find { it.name == "a"}) + } + + } + + @Test + fun lastMixinDefinitionWins2(){ + val mixin = Mixin("Bar") { + Input(DataType.NUMERIC, "a") + Arg(DataType.BOOL, "b") + } + + Namespace("math") { + val op = Op("foo") { + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + Output(DataType.NUMERIC, "out") + Input(DataType.NUMERIC, "a") + useMixin(mixin) + } + + assertSame(mixin.inputs.find { it.name == "a"}, op.inputs.find { it.name == "a"}) + } + + } + + @Test + fun mixinDoesOnlyOverwritePropertiesIfSetNoneSetCase(){ + val mixin = Mixin("Bar") { + Input(DataType.NUMERIC, "a") + Arg(DataType.BOOL, "b") + } + + Namespace("math") { + val op = Op("foo") { + javaPackage = "fooPackage" + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + Output(DataType.NUMERIC, "out") + Input(DataType.NUMERIC, "a") + useMixin(mixin) + } + + assertEquals("fooPackage", op.javaPackage) + } + + } + + @Test + fun mixinDoesOnlyOverwritePropertiesIfSetSetCase(){ + val mixin = Mixin("Bar") { + javaPackage = "MixinPackage" + Input(DataType.NUMERIC, "a") + Arg(DataType.BOOL, "b") + } + + Namespace("math") { + val op = Op("foo") { + javaPackage = "fooPackage" + Doc(Language.ANY, DocScope.ALL) { "Some Documentation" } + Output(DataType.NUMERIC, "out") + Input(DataType.NUMERIC, "a") + useMixin(mixin) + } + + assertEquals("MixinPackage", op.javaPackage) + } + + } + + @Test + fun mixinDoesOnlyOverwritePropertiesIfSetNoneSetCaseOnMixins(){ + val mixin = Mixin("Bar") { + Input(DataType.NUMERIC, "a") + Arg(DataType.BOOL, "b") + } + + val op = Mixin("foo") { + javaPackage = "fooPackage" + useMixin(mixin) + } + + assertEquals("fooPackage", op.javaPackage) + + } + + @Test + fun mixinDoesOnlyOverwritePropertiesIfSetSetCaseOnMixins(){ + val mixin = Mixin("Bar") { + javaPackage = "MixinPackage" + Input(DataType.NUMERIC, "a") + Arg(DataType.BOOL, "b") + } + + val op = Mixin("foo") { + javaPackage = "fooPackage" + useMixin(mixin) + } + + assertEquals("MixinPackage", op.javaPackage) + } +} diff --git a/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/ir/TestIR.kt b/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/ir/TestIR.kt new file mode 100644 index 000000000..f38b862da --- /dev/null +++ b/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/ir/TestIR.kt @@ -0,0 +1,22 @@ +package org.nd4j.codegen.ir + +import com.google.common.reflect.TypeToken +import org.junit.jupiter.api.Test +import kotlin.test.assertTrue +import org.apache.commons.lang3.reflect.TypeUtils +import org.nd4j.codegen.ir.registry.OpMappingRegistry +import org.tensorflow.framework.* + + +class TestIR { + @Test + fun testLoadOpDescriptors() { + val outputType = TypeUtils.parameterize(OpMappingRegistry::class.java,GraphDef::class.java, NodeDef::class.java, OpDef::class.java, + TensorProto::class.java,DataType::class.java, OpDef.AttrDef::class.java,AttrValue::class.java) + val rawType = TypeToken.of(outputType).rawType + println(rawType) + val createdRegistry = rawType.getConstructor(String::class.java).newInstance("tensorflow") + println(createdRegistry) + } +} + diff --git a/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/ir/onnx/TestOnnxIR.kt b/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/ir/onnx/TestOnnxIR.kt new file mode 100644 index 000000000..a001b397b --- /dev/null +++ b/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/ir/onnx/TestOnnxIR.kt @@ -0,0 +1,1133 @@ +package org.nd4j.codegen.ir.onnx + +import junit.framework.Assert +import junit.framework.Assert.* +import onnx.Onnx +import org.junit.jupiter.api.Test +import org.nd4j.codegen.ir.ImportGraph +import org.nd4j.codegen.ir.registry.OpRegistryHolder +import org.nd4j.ir.OpNamespace +import org.nd4j.linalg.api.buffer.DataType +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.linalg.factory.Nd4j +import org.nd4j.shade.protobuf.ByteString +import java.nio.charset.Charset +import kotlin.test.assertTrue + +data class OnnxGraphInput(val graphDef: Onnx.GraphProto, val inputNames: List, val outputNames: List, + val inputArrays: Map, val dynamicArrays: Map) + + +class TestOnnxIR { + val declarations = OnnxOpDeclarations + + + + @Test + fun testInputOutputNames() { + val onnxOpNames = onnxOpRegistry.inputFrameworkOpNames() + val nd4jOpNames = onnxOpRegistry.nd4jOpNames() + onnxOpRegistry.mappingProcessNames().map { + onnxOpRegistry.lookupOpMappingProcess(it) + }.forEach { + println("Beginning processing of op ${it.inputFrameworkOpName()} and nd4j op ${it.opName()}") + assertTrue(onnxOpNames.contains(it.inputFrameworkOpName())) + assertTrue(nd4jOpNames.contains(it.opName())) + val nd4jOpDef = onnxOpRegistry.lookupNd4jOpDef(it.opName()) + val onnxOpDef = onnxOpRegistry.lookupInputFrameworkOpDef(it.inputFrameworkOpName()) + val inputNameArgDefs = nd4jOpDef.argDescriptorList.filter { + argDef -> argDef.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + }.map { argDef -> argDef.name } + + val inputFrameworkOpDefNames = onnxOpDef.inputList + + val nd4jArgDefNames = nd4jOpDef.argDescriptorList.map { nd4jArgDef -> nd4jArgDef.name } + val onnxAttrNames = onnxOpDef.attributeList.map { onnxAttr -> onnxAttr.name } + it.tensorMappingRules().forEach { tensorRules -> + println("Running tensor mapping rule ${tensorRules.name()} for op ${it.inputFrameworkOpName()} and nd4j op name ${it.opName()}") + run { + tensorRules.mappingNamesToPerform().forEach { tensorRule -> + run { + println("Testing assertion for nd4j name ${tensorRule.key} and input name ${tensorRule.value}") + assertTrue(inputNameArgDefs.contains(tensorRule.key)) ?: error("Failed on inputArgName ${tensorRule.key}") + assertTrue(inputFrameworkOpDefNames.contains(tensorRule.value)) ?: error("Failed on inputArgName ${tensorRule.value}") + } + + } + } + + } + + println("Running attribute mapping rules for ${it.opName()} and input op name ${it.inputFrameworkOpName()}") + it.attributeMappingRules().forEach { attrRule -> + run { + attrRule.mappingNamesToPerform().forEach { attrMapping -> + run { + println("Testing nd4j name ${attrMapping.key} and input framework name ${attrMapping.value}") + assertTrue(nd4jArgDefNames.contains(attrMapping.key) || inputNameArgDefs.contains(attrMapping.key)) + assertTrue(onnxAttrNames.contains(attrMapping.value) || inputFrameworkOpDefNames.contains(attrMapping.value)) + + } + + } + } + } + + } + } + + + @Test + fun testOpOrdering() { + val onnxOpNames = onnxOpRegistry.inputFrameworkOpNames() + //TODO: list ops need to work and TopK has a data type conversion issue with the k ndarray input + val bannedOps = setOf("Constant","Squeeze","ArgMax","Split", + "ReduceLogSumExp","AveragePool","TopK","RandomUniform") + val importGraph = ImportGraph() + + onnxOpNames.forEach { opName -> + if(onnxOpRegistry.hasMappingOpProcess(opName)) { + val opDef = onnxOpRegistry.lookupInputFrameworkOpDef(opName) + println("Processing op name $opName") + + val nodeBuilder = Onnx.NodeProto.newBuilder() + nodeBuilder.name = opName + val graphBuilder = Onnx.GraphProto.newBuilder() + nodeBuilder.opType = opName + val attrNames = opDef.attributeList.map {attrDef -> attrDef.name } + + //convert to a default case + return graph in new method + opDef.inputList.forEach { inputArgDef -> + //val inputNumberAttr = inputArgDef.numberAttr + val numAttributeValue = 1 + val typeAttrName = "$inputArgDef-types" + val typeAttrValue = opDef.attributeList.filter { attributeProto -> attributeProto.name == typeAttrName } + for(i in 0 until numAttributeValue) { + val listOfFloats = mutableListOf() + val listOfInts = mutableListOf() + val listOfDoubles = mutableListOf() + val listOfBools = mutableListOf() + val listOfLongs = mutableListOf() + val listOfStrings = mutableListOf() + //the largest tensors we're likely to touch are 5d + for(i in 0 until (1 * 2 * 3 * 4 * 5 * 6)) { + listOfFloats.add(i.toFloat()) + listOfInts.add(i) + listOfDoubles.add(i.toDouble()) + listOfBools.add(true) + listOfLongs.add(i.toLong()) + listOfStrings.add("$i") + } + + val nodeName = if(i <= 0) inputArgDef else inputArgDef + "$i" + nodeBuilder.addInput(nodeName) + + when(typeAttrValue[0].stringsList[0].toStringUtf8()) { + "double" -> { + val onnxTensorProto = Onnx.TensorProto.newBuilder() + onnxTensorProto.name = nodeName + onnxTensorProto.dataType = Onnx.TensorProto.DataType.DOUBLE + onnxTensorProto.addAllDoubleData(listOfDoubles) + onnxTensorProto.addAllDims(listOf(1,2,3,4,5,6)) + graphBuilder.addInitializer(onnxTensorProto.build()) + val onnxNodeToAdd = Onnx.NodeProto.newBuilder() + onnxNodeToAdd.name = nodeName + onnxNodeToAdd.opType = "Constant" + val attrValue = Onnx.AttributeProto.newBuilder() + attrValue.name = "value" + attrValue.addTensors(onnxTensorProto.build()) + onnxNodeToAdd.addAttribute(attrValue.build()) + graphBuilder.addNode(onnxNodeToAdd) + } + + "bool" -> { + val onnxTensorProto = Onnx.TensorProto.newBuilder() + onnxTensorProto.name = nodeName + onnxTensorProto.dataType = Onnx.TensorProto.DataType.BOOL + onnxTensorProto.addAllInt32Data(listOfInts) + onnxTensorProto.addAllDims(listOf(1,2,3,4,5,6)) + graphBuilder.addInitializer(onnxTensorProto.build()) + + val onnxNodeToAdd = Onnx.NodeProto.newBuilder() + onnxNodeToAdd.name = nodeName + onnxNodeToAdd.opType = "Constant" + val attrValue = Onnx.AttributeProto.newBuilder() + attrValue.name = "value" + attrValue.addTensors(onnxTensorProto.build()) + onnxNodeToAdd.addAttribute(attrValue.build()) + graphBuilder.addNode(onnxNodeToAdd) + } + + "float" -> { + val onnxTensorProto = Onnx.TensorProto.newBuilder() + onnxTensorProto.name = nodeName + onnxTensorProto.dataType = Onnx.TensorProto.DataType.FLOAT + onnxTensorProto.addAllFloatData(listOfFloats) + onnxTensorProto.addAllDims(listOf(1,2,3,4,5,6)) + graphBuilder.addInitializer(onnxTensorProto.build()) + + val onnxNodeToAdd = Onnx.NodeProto.newBuilder() + onnxNodeToAdd.name = nodeName + onnxNodeToAdd.opType = "Constant" + val attrValue = Onnx.AttributeProto.newBuilder() + attrValue.name = "value" + attrValue.addTensors(onnxTensorProto.build()) + onnxNodeToAdd.addAttribute(attrValue.build()) + graphBuilder.addNode(onnxNodeToAdd) + } + + + "int16","uint16" -> { + val onnxTensorProto = Onnx.TensorProto.newBuilder() + onnxTensorProto.name = nodeName + onnxTensorProto.dataType = Onnx.TensorProto.DataType.INT16 + onnxTensorProto.addAllInt32Data(listOfInts) + onnxTensorProto.addAllDims(listOf(1,2,3,4,5,6)) + graphBuilder.addInitializer(onnxTensorProto.build()) + val onnxNodeToAdd = Onnx.NodeProto.newBuilder() + onnxNodeToAdd.name = nodeName + onnxNodeToAdd.opType = "Constant" + val attrValue = Onnx.AttributeProto.newBuilder() + attrValue.name = "value" + attrValue.addTensors(onnxTensorProto.build()) + onnxNodeToAdd.addAttribute(attrValue.build()) + graphBuilder.addNode(onnxNodeToAdd) + } + + "int32","uint32" -> { + val onnxTensorProto = Onnx.TensorProto.newBuilder() + onnxTensorProto.name = nodeName + onnxTensorProto.dataType = Onnx.TensorProto.DataType.INT32 + onnxTensorProto.addAllDims(listOf(1,2,3,4,5,6)) + onnxTensorProto.addAllInt32Data(listOfInts) + graphBuilder.addInitializer(onnxTensorProto.build()) + val onnxNodeToAdd = Onnx.NodeProto.newBuilder() + onnxNodeToAdd.name = nodeName + onnxNodeToAdd.opType = "Constant" + val attrValue = Onnx.AttributeProto.newBuilder() + attrValue.name = "value" + attrValue.addTensors(onnxTensorProto.build()) + onnxNodeToAdd.addAttribute(attrValue.build()) + graphBuilder.addNode(onnxNodeToAdd) + } + + "int64","uint64" -> { + val onnxTensorProto = Onnx.TensorProto.newBuilder() + onnxTensorProto.name = nodeName + onnxTensorProto.addAllDims(listOf(1,2,3,4,5,6)) + onnxTensorProto.dataType = Onnx.TensorProto.DataType.INT64 + onnxTensorProto.addAllInt64Data(listOfLongs) + graphBuilder.addInitializer(onnxTensorProto.build()) + val onnxNodeToAdd = Onnx.NodeProto.newBuilder() + onnxNodeToAdd.name = nodeName + onnxNodeToAdd.opType = "Constant" + val attrValue = Onnx.AttributeProto.newBuilder() + attrValue.name = "value" + attrValue.addTensors(onnxTensorProto.build()) + onnxNodeToAdd.addAttribute(attrValue.build()) + graphBuilder.addNode(onnxNodeToAdd) + } + + "string" -> { + val onnxTensorProto = Onnx.TensorProto.newBuilder() + onnxTensorProto.name = nodeName + onnxTensorProto.dataType = Onnx.TensorProto.DataType.STRING + onnxTensorProto.addAllDims(listOf(1,2,3,4,5,6)) + onnxTensorProto.addAllStringData(listOfStrings.map { input -> ByteString.copyFrom(input.toByteArray( + Charset.defaultCharset())) }) + graphBuilder.addInitializer(onnxTensorProto.build()) + val onnxNodeToAdd = Onnx.NodeProto.newBuilder() + onnxNodeToAdd.name = nodeName + onnxNodeToAdd.opType = "Constant" + val attrValue = Onnx.AttributeProto.newBuilder() + attrValue.name = "value" + attrValue.addTensors(onnxTensorProto.build()) + onnxNodeToAdd.addAttribute(attrValue.build()) + graphBuilder.addNode(onnxNodeToAdd) + } + } + } + + } + + + opDef.attributeList.forEach { attr -> + when(attr.type) { + Onnx.AttributeProto.AttributeType.INTS -> { + //replace empty value with default ints for convolutions + val attrBuilder = Onnx.AttributeProto.newBuilder() + attrBuilder.addAllInts(listOf(1,1,1,1)) + attrBuilder.name = attr.name + nodeBuilder.addAttribute(attrBuilder.build()) + } + + Onnx.AttributeProto.AttributeType.FLOATS -> { + //replace empty value with default ints for convolutions + val attrBuilder = Onnx.AttributeProto.newBuilder() + attrBuilder.addAllFloats(listOf(1.0f,1.0f,1.0f,1.0f)) + attrBuilder.name = attr.name + nodeBuilder.addAttribute(attrBuilder.build()) + } + + + Onnx.AttributeProto.AttributeType.STRINGS -> { + //replace empty value with default ints for convolutions + val attrBuilder = Onnx.AttributeProto.newBuilder() + if(opName != "LSTM") + attrBuilder.addAllStrings(listOf("1","2","3","4").map { input -> ByteString.copyFrom(input.toByteArray( + Charset.defaultCharset())) + }) + else { + attrBuilder.addAllStrings(listOf("Relu","Tanh","Sigmoid","Relu").map { input -> ByteString.copyFrom(input.toByteArray( + Charset.defaultCharset())) + }) + } + attrBuilder.name = attr.name + nodeBuilder.addAttribute(attrBuilder.build()) + } + + Onnx.AttributeProto.AttributeType.TENSOR -> { + val attrBuilder = Onnx.AttributeProto.newBuilder() + attrBuilder.t = Onnx.TensorProto.newBuilder() + .addAllDims(listOf(1,1)).setDataType(Onnx.TensorProto.DataType.DOUBLE) + .addAllDoubleData(listOf(1.0)) + .build() + attrBuilder.name = attr.name + nodeBuilder.addAttribute(attrBuilder.build()) + } + + + + else -> { + nodeBuilder.addAttribute(attr) + } + } + + } + + + graphBuilder.addNode(nodeBuilder.build()) + val graph = graphBuilder.build() + + + + + if(!bannedOps.contains(opName)) { + val mappingProcess = onnxOpRegistry.lookupOpMappingProcess(opName) + val irGraph = OnnxIRGraph(graphDef = graph) + val mappingContext = OnnxMappingContext(opDef = opDef,node = nodeBuilder.build(),graph = irGraph,dynamicVariables = emptyMap()) + val mapResult = mappingProcess.applyProcess(mappingContext) + val groupedByArgType = mapResult.second.argDescriptorList.groupBy { keySelector -> keySelector.argType } + val sortedGroups = HashMap>() + groupedByArgType.forEach { (argType, argDescriptors) -> + sortedGroups[argType] = argDescriptors.sortedBy { argDescriptor -> argDescriptor.argIndex } + } + + //NOTE: Bitcast is in this list for examination outside of list offsets for assertions. We don't currently support data types for the test nodes. + sortedGroups.values.forEach { list -> run { + val namesEncountered = HashSet() + list.forEachIndexed { index, argDescriptor -> + //don't validate a name encountered more than once, this is probably an array + //note that we skip some ops here due to this assumption breaking for list types, we will test list types separately + if(!namesEncountered.contains(argDescriptor.name) + && !bannedOps.contains(opName)) { + assertEquals( + "Arg index $index for arg descriptor name ${argDescriptor.name} for nd4j op ${mappingContext.nd4jOpName()} when arg index was actually ${argDescriptor.argIndex}. Full arg descriptor was ${argDescriptor}.", + argDescriptor.argIndex, index + ) + namesEncountered.add(argDescriptor.name) + } + } + } + + val sameDiffResult = importGraph.importGraph(irGraph = irGraph,importOverride = null,opFilter = null,opMappingRegistry = OpRegistryHolder.onnx()) + println("Processed op name $opName") + + } + } + + + } + } + } + + + + @Test + fun testOpsMapped() { + val onnxOpNames = onnxOpRegistry.inputFrameworkOpNames().filter { onnxOpRegistry.registeredOps.containsKey(it) } + val nd4jOpNames = onnxOpRegistry.nd4jOpNames() + /** + * TODO: Assert each op is mapped. + * + * Assert all attributes in nd4j are mapped. + * If not, let's document what isn't and why for each op. + * + * Create an op generation tool that allows random generation of test cases + * based on existing mapped ops between nd4j and tensorflow. + */ + onnxOpNames.map { onnxOpName -> onnxOpRegistry.lookupOpMappingProcess(onnxOpName)} + .forEach { + val onnxNamesMapped = HashSet() + val nd4jNamesMapped = HashSet() + //we can ignore dtype for now + nd4jNamesMapped.add("dtype") + val opDef = onnxOpRegistry.lookupNd4jOpDef(it.opName()) + val onnxOpDef = onnxOpRegistry.lookupInputFrameworkOpDef(it.inputFrameworkOpName()) + val onnxAssertionNames = HashSet() + onnxAssertionNames.addAll(onnxOpDef.inputList.map { arg -> arg.toString() }) + onnxAssertionNames.addAll(onnxOpDef.attributeList.map { attr -> attr.name }) + val nd4jOpDefAssertions = HashSet() + nd4jOpDefAssertions.addAll(opDef.argDescriptorList.map { argDescriptor -> argDescriptor.name }) + val numRequiredInputs = onnxOpDef.inputCount + val nd4jInputs = opDef.argDescriptorList.filter { arg -> arg.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR }.count() + /** + * TODO: Grab total collection of mapped nd4j names + * as outputs and mapped tensorflow names as inputs. + * Compare the mapped names to the op definitions + * in nd4j and tensorflow respectively. + */ + it.tensorMappingRules().forEach { mappingRule -> + mappingRule.mappingNamesToPerform().forEach { mappingName -> + onnxNamesMapped.add(mappingName.value) + nd4jNamesMapped.add(mappingName.key) + } + } + + it.attributeMappingRules().forEach { mappingRule -> + mappingRule.mappingNamesToPerform().forEach { mappingName -> + onnxNamesMapped.add(mappingName.value) + nd4jNamesMapped.add(mappingName.key) + } + + mappingRule.mappingTransformerArgs().forEach {transformerArg -> + run { + transformerArg.value.forEach { argValue -> + nd4jNamesMapped.add(argValue.name) + + } + } + } + + } + + + onnxOpDef.inputList.forEach { inputName -> + Assert.assertTrue(onnxAssertionNames.contains(inputName)) + } + + onnxOpDef.attributeList.map { attrDef -> attrDef.name }.forEach { attrName -> + Assert.assertTrue(onnxAssertionNames.contains(attrName)) + } + + + + opDef.argDescriptorList.forEach { argDef -> + //only require it when the + + when(argDef.argType) { + OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR -> { + /** + * Nd4j typically has many optional inputs that can also double as attributes + * We need to allow for a bit of flexibility in how we handle op definitions. If they're not mapped 1 to 1, + * we just log a warning for unmapped inputs. Otherwise we can do an assertion. + */ + if(numRequiredInputs == nd4jInputs) + assertTrue("Nd4j op name ${opDef.name} with onnx mapping ${onnxOpDef.name} has missing mapping ${argDef.name}", nd4jNamesMapped.contains(argDef.name)) + else if(!nd4jNamesMapped.contains(argDef.name)) { + println("Warning: Nd4j op name ${opDef.name} with onnx mapping ${onnxOpDef.name} has missing mapping ${argDef.name}") + } + } + OpNamespace.ArgDescriptor.ArgType.INT32,OpNamespace.ArgDescriptor.ArgType.INT64 -> { + assertTrue("Nd4j op name ${opDef.name} with onnx mapping ${onnxOpDef.name} has missing mapping ${argDef.name}", nd4jNamesMapped.contains(argDef.name)) + } + OpNamespace.ArgDescriptor.ArgType.DOUBLE, OpNamespace.ArgDescriptor.ArgType.FLOAT -> { + assertTrue("Nd4j op name ${opDef.name} with onnx mapping ${onnxOpDef.name} has missing mapping ${argDef.name}", nd4jNamesMapped.contains(argDef.name)) + } + OpNamespace.ArgDescriptor.ArgType.BOOL -> { + assertTrue("Nd4j op name ${opDef.name} with onnx mapping ${onnxOpDef.name} has missing mapping ${argDef.name}", nd4jNamesMapped.contains(argDef.name)) + } + } + + } + + } + } + + @Test + fun testOpExecution() { + val scalarInputs = mapOf( + "abs" to -1.0, + "copy" to 1.0, + "erfc" to 1.0, + "exp" to 1.0, + "identity" to 1.0, + "neg" to 1.0, + "ones_as" to 1.0, + "relu6" to 1.0, + "round" to 1.0, + "sign" to 1.0, + "sin" to 1.0, + "square" to 1.0, + "sqrt" to 1.0) + + val scalarFloatOps = mapOf( + "acos" to 1.0f, + "asin" to 1.0f, + "acosh" to 1.0f, + "asinh" to 1.0f, + "atan" to 1.0f, + "atanh" to 0.5f, + "ceil" to 1.0f, + "cosh" to 1.0f, + "cos" to 1.0f, + "erf" to 1.0f, + "hard_sigmoid" to 1.0f, + "floor" to 1.0f, + "log" to 1.0f, + "round" to 1.0f, + "relu" to 1.0f, + "selu" to 1.0f, + "sinh" to 1.0f, + "sigmoid" to 1.0f, + "softplus" to 1.0f, + "softsign" to 1.0f, + "tan" to 1.0f, + "tanh" to 1.0f + ) + + + val singleInputOps = scalarInputs.keys + val singleInputBooleanOps = mapOf( + "not" to false + ) + + val singleOutputBooleanOps = mapOf( + "isfinite" to 1.0f, + "isinf" to 1.0f, + "isnan" to 1.0f, + ) + + val pairWiseBooleanOps = mapOf( + "min" to listOf(1.0,2.0), + "max" to listOf(1.0,2.0), + "equals" to listOf(2.0,2.0), + "greater" to listOf(2.0,1.0), + "greater_equal" to listOf(2.0,1.0), + "less" to listOf(2.0,1.0), + "less_equal" to listOf(2.0,1.0)) + + + val singleInputIntOutput = mapOf( + "size" to Nd4j.linspace(1,4,4).reshape(2,2), + "shape_of" to Nd4j.linspace(1,4,4).reshape(2,2) + ) + + val pairWiseBooleanInputs = mapOf( + "or" to listOf(true,false), + "and" to listOf(false,false), + "xor" to listOf(false,true) + ) + + + val singleReduceOps = mapOf( + "reduce_mean" to Nd4j.linspace(1,4,4).reshape(2,2), + "reduce_max" to Nd4j.linspace(1,4,4).reshape(2,2), + "reduce_sum" to Nd4j.linspace(1,4,4).reshape(2,2), + "reduce_prod" to Nd4j.linspace(1,4,4).reshape(2,2), + "reduce_norm1" to Nd4j.linspace(1,4,4).reshape(2,2), + "reduce_norm2" to Nd4j.linspace(1,4,4).reshape(2,2) + // "reduce_logsumexp" to Nd4j.linspace(1,4,4).reshape(2,2) + ) + + + val pairwise = mapOf( + "add" to listOf(1.0,1.0), + "subtract" to listOf(2.0,1.0), + "multiply" to listOf(2.0,1.0), + "divide" to listOf(2.0,1.0), + "pow" to listOf(2.0,1.0) + ) + + val mappedOps = setOf("elu","transpose","argmin","argmax","leakyrelu","prelu","non_max_suppression_v3")//,"top_k") + + /** + * NOTE WHEN WRITING TESTS, IF YOU SEE AN ERROR like: + * java.lang.RuntimeException: Could not find an implementation for the node output:Cos(7) + * + * Check the supported data types for each op here: + * https://github.com/microsoft/onnxruntime/blob/master/docs/OperatorKernels.md + */ + + val importGraph = ImportGraph() + val finishedOps = HashSet() + onnxOpRegistry.mappingProcessNames() + .filter { onnxOpRegistry.hasMappingOpProcess(it) } + .map { onnxOpRegistry.lookupOpMappingProcess(it) }.forEach { mappingProcess -> + val nd4jOpDef = onnxOpRegistry.lookupNd4jOpDef(mappingProcess.opName()) + val onnxOpDef = onnxOpRegistry.lookupInputFrameworkOpDef(mappingProcess.inputFrameworkOpName()) + if(scalarInputs.containsKey(nd4jOpDef.name)) { + print("Running op $nd4jOpDef.name") + val input = Nd4j.scalar(scalarInputs[mappingProcess.opName()]).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(input,"input")) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = onnxOpDef.opType + Input("input") + Output("output") + + }) + + Output(createValueInfoFromTensor(input,"output")) + } + + + val onnxIRGraph = OnnxIRGraph(graphToRun) + val onnxGraphRunner = OnnxIRGraphRunner(onnxIRGraph,listOf("input"),listOf("output")) + val importedGraph = importGraph.importGraph(onnxIRGraph,null,null,emptyMap(),OpRegistryHolder.onnx()) + val inputs = mapOf("input" to input) + val assertion = onnxGraphRunner.run(inputs) + val result = importedGraph.output(inputs,"output") + assertEquals("Function ${nd4jOpDef.name} failed with input $input",assertion["output"]!!.reshape(1,1),result["output"]!!.reshape(1,1)) + finishedOps.add(nd4jOpDef.name) + + } else if(scalarFloatOps.containsKey(nd4jOpDef.name)) { + print("Running op $nd4jOpDef.name") + val input = Nd4j.scalar(scalarFloatOps[mappingProcess.opName()]).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(input,"input")) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = onnxOpDef.opType + Input("input") + Output("output") + + }) + + Output(createValueInfoFromTensor(input,"output")) + } + + + val onnxIRGraph = OnnxIRGraph(graphToRun) + val onnxGraphRunner = OnnxIRGraphRunner(onnxIRGraph,listOf("input"),listOf("output")) + val importedGraph = importGraph.importGraph(onnxIRGraph,null,null,emptyMap(),OpRegistryHolder.onnx()) + val inputs = mapOf("input" to input) + val assertion = onnxGraphRunner.run(inputs) + val result = importedGraph.output(inputs,"output") + assertEquals("Function ${nd4jOpDef.name} failed with input $input",assertion["output"]!!.reshape(1,1),result["output"]!!.reshape(1,1)) + finishedOps.add(nd4jOpDef.name) + + } + + else if(singleOutputBooleanOps.containsKey(nd4jOpDef.name)) { + print("Running op $nd4jOpDef.name") + val input = Nd4j.scalar(singleOutputBooleanOps[mappingProcess.opName()]).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + val convertedTensor = convertToOnnxTensor(input,"input") + val convertedOutputTensor = convertToOnnxTensor(input,"output") + + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(input,"input")) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = onnxOpDef.opType + Input("input") + Output("output") + + }) + + Output(createValueInfoFromTensor(Nd4j.create(booleanArrayOf(true)).reshape(),"output")) + } + + + val onnxIRGraph = OnnxIRGraph(graphToRun) + val onnxGraphRunner = OnnxIRGraphRunner(onnxIRGraph,listOf("input"),listOf("output")) + val importedGraph = importGraph.importGraph(onnxIRGraph,null,null,emptyMap(),OpRegistryHolder.onnx()) + val inputs = mapOf("input" to input) + val assertion = onnxGraphRunner.run(inputs) + val result = importedGraph.output(inputs,"output") + assertEquals("Function ${nd4jOpDef.name} failed with input $input",assertion["output"]!!.reshape(1,1),result["output"]!!.reshape(1,1)) + finishedOps.add(nd4jOpDef.name) + + } + + + else if(pairwise.containsKey(nd4jOpDef.name)) { + print("Running op def $nd4jOpDef.name") + val x = Nd4j.scalar(pairwise[mappingProcess.opName()]!![0]!!).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + val y = Nd4j.scalar(pairwise[mappingProcess.opName()]!![1]!!).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(x,"x")) + Input(createValueInfoFromTensor(y,"y")) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = onnxOpDef.opType + Input("x") + Input("y") + Output("output") + + }) + + Output(createValueInfoFromTensor(x,"output")) + } + + + val onnxIRGraph = OnnxIRGraph(graphToRun) + val onnxGraphRunner = OnnxIRGraphRunner(onnxIRGraph,listOf("x","y"),listOf("output")) + val importedGraph = importGraph.importGraph(onnxIRGraph,null,null, + mapOf("x" to convertToOnnxTensor(x,"x"),"y" to convertToOnnxTensor(y,"y")),OpRegistryHolder.onnx()) + val inputs = mapOf("x" to x,"y" to y) + val result = importedGraph.output(inputs,"output") + val assertion = onnxGraphRunner.run(inputs) + assertEquals("Function ${nd4jOpDef.name} failed with input $x $y",assertion["output"]!!.getDouble(0),result["output"]!!.getDouble(0)) + finishedOps.add(nd4jOpDef.name) + + } else if(pairWiseBooleanInputs.containsKey(nd4jOpDef.name)) { + print("Running op def $nd4jOpDef.name") + val x = Nd4j.scalar(pairWiseBooleanInputs[mappingProcess.opName()]!![0]!!).castTo(org.nd4j.linalg.api.buffer.DataType.BOOL) + val y = Nd4j.scalar(pairWiseBooleanInputs[mappingProcess.opName()]!![1]!!).castTo(org.nd4j.linalg.api.buffer.DataType.BOOL) + + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(x,"x")) + Input(createValueInfoFromTensor(y,"y")) + Node(NodeProto { + name = "output" + opType = onnxOpDef.opType + Input("x") + Input("y") + Output("output") + + }) + + Output(createValueInfoFromTensor(x,"output")) + } + + + val onnxIRGraph = OnnxIRGraph(graphToRun) + val onnxGraphRunner = OnnxIRGraphRunner(onnxIRGraph,listOf("x","y"),listOf("output")) + val importedGraph = importGraph.importGraph(onnxIRGraph,null,null, + mapOf("x" to convertToOnnxTensor(x,"x"),"y" to convertToOnnxTensor(y,"y")),OpRegistryHolder.onnx()) + val inputs = mapOf("x" to x,"y" to y) + val assertion = onnxGraphRunner.run(inputs) + val result = importedGraph.output(inputs,"output") + assertEquals("Function ${nd4jOpDef.name} failed with input $x $y",assertion["output"]!!.getDouble(0),result["output"]!!.getDouble(0)) + finishedOps.add(nd4jOpDef.name) + + } else if(pairWiseBooleanOps.containsKey(nd4jOpDef.name)) { + print("Running op def $nd4jOpDef.name") + val x = Nd4j.scalar(pairWiseBooleanOps[mappingProcess.opName()]!![0]!!).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + val y = Nd4j.scalar(pairWiseBooleanOps[mappingProcess.opName()]!![1]!!).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + val output = Nd4j.scalar(pairWiseBooleanOps[mappingProcess.opName()]!![1]!!).castTo(org.nd4j.linalg.api.buffer.DataType.BOOL) + + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(x,"x")) + Input(createValueInfoFromTensor(y,"y")) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = onnxOpDef.opType + Input("x") + Input("y") + Output("output") + + }) + + Output(createValueInfoFromTensor(output,"output")) + } + + + val onnxIRGraph = OnnxIRGraph(graphToRun) + val onnxGraphRunner = OnnxIRGraphRunner(onnxIRGraph,listOf("x","y"),listOf("output")) + val importedGraph = importGraph.importGraph(onnxIRGraph,null,null, + mapOf("x" to convertToOnnxTensor(x,"x"),"y" to convertToOnnxTensor(y,"y")),OpRegistryHolder.onnx()) + val inputs = mapOf("x" to x,"y" to y) + val assertion = onnxGraphRunner.run(inputs) + val result = importedGraph.output(inputs,"output") + assertEquals("Function ${nd4jOpDef.name} failed with input $x $y",assertion["output"]!!.getDouble(0),result["output"]!!.getDouble(0)) + finishedOps.add(nd4jOpDef.name) + + } + + else if(singleInputBooleanOps.containsKey(nd4jOpDef.name)) { + print("Running op def $nd4jOpDef.name") + val x = Nd4j.create(booleanArrayOf(singleInputBooleanOps[mappingProcess.opName()]!!)).castTo(org.nd4j.linalg.api.buffer.DataType.BOOL) + val output = Nd4j.create(booleanArrayOf(singleInputBooleanOps[mappingProcess.opName()]!!)).castTo(org.nd4j.linalg.api.buffer.DataType.BOOL) + + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(x,"x")) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = onnxOpDef.opType + Input("x") + Output("output") + + }) + + Output(createValueInfoFromTensor(output,"output")) + } + + + val onnxIRGraph = OnnxIRGraph(graphToRun) + val onnxGraphRunner = OnnxIRGraphRunner(onnxIRGraph,listOf("x"),listOf("output")) + val importedGraph = importGraph.importGraph(onnxIRGraph,null,null,mapOf("x" to convertToOnnxTensor(x,"x")),OpRegistryHolder.onnx()) + val inputs = mapOf("x" to x) + val assertion = onnxGraphRunner.run(inputs) + val result = importedGraph.output(inputs,"output") + finishedOps.add(nd4jOpDef.name) + + //assertEquals("Function ${nd4jOpDef.name} failed with input $x",assertion["output"]!!.reshape(1,1),result["output"]!!.reshape(1,1)) + } + + else if(singleReduceOps.containsKey(nd4jOpDef.name)) { + print("Running op def $nd4jOpDef.name") + val x = singleReduceOps[mappingProcess.opName()]!!.castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + val output = x.mean(0).reshape(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(x,"x")) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = onnxOpDef.opType + Input("x") + Output("output") + Attribute(Onnx.AttributeProto.newBuilder() + .setType(Onnx.AttributeProto.AttributeType.INTS) + .setName("axes").addInts(0).build()) + Attribute(Onnx.AttributeProto.newBuilder() + .setType(Onnx.AttributeProto.AttributeType.INT) + .setI(0) + .setName("keepdims").build()) + + }) + + Output(createValueInfoFromTensor(output,"output")) + } + + + val onnxIRGraph = OnnxIRGraph(graphToRun) + val inputs = mapOf("x" to x) + val importedGraph = importGraph.importGraph(onnxIRGraph,null,null,mapOf("x" to convertToOnnxTensor(x,"x")),OpRegistryHolder.onnx()) + val result = importedGraph.output(inputs,"output") + val onnxGraphRunner = OnnxIRGraphRunner(onnxIRGraph,listOf("x"),listOf("output")) + val assertion = onnxGraphRunner.run(inputs) + assertEquals("Function ${nd4jOpDef.name} failed with input $x",assertion["output"]!!.reshape(1,2),result["output"]!!.reshape(1,2)) + finishedOps.add(nd4jOpDef.name) + + } else if(mappedOps.contains(nd4jOpDef.name)){ + val graphForOp = graphForOp(nd4jOpDef.name) + graphForOp.forEach { graph -> + val onnxIRGraph = OnnxIRGraph(graph.graphDef) + val inputs =graph.inputArrays + val convertedArrays = HashMap() + graph.inputArrays.forEach { name, arr -> + convertedArrays[name] = convertToOnnxTensor(arr,name) + } + val importedGraph = importGraph.importGraph(onnxIRGraph,null,null,convertedArrays,OpRegistryHolder.onnx()) + val onnxGraphRunner = OnnxIRGraphRunner(onnxIRGraph,graph.inputNames,graph.outputNames) + val assertion = onnxGraphRunner.run(inputs) + val result = importedGraph.output(inputs,graph.outputNames) + assertEquals(assertion.keys,result.keys) + result.forEach { name,arr -> + if(arr.length().toInt() == 1) { + assertEquals("Function ${nd4jOpDef.name} failed with input ${graph.inputNames}",assertion[name]!!.getDouble(0),arr.getDouble(0),1e-3) + } + else { + assertEquals("Function ${nd4jOpDef.name} failed with input ${graph.inputNames}",assertion[name],arr) + } + } + + finishedOps.add(nd4jOpDef.name) + + + } + + + } else if(singleInputIntOutput.containsKey(nd4jOpDef.name)) { + print("Running op $nd4jOpDef.name") + val input = singleInputIntOutput[mappingProcess.opName()]!!.castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(input,"input")) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = onnxOpDef.opType + Input("input") + Output("output") + + }) + + Output(createValueInfoFromTensor(input,"output",false )) + } + + + val onnxIRGraph = OnnxIRGraph(graphToRun) + val onnxGraphRunner = OnnxIRGraphRunner(onnxIRGraph,listOf("input"),listOf("output")) + val importedGraph = importGraph.importGraph(onnxIRGraph,null,null,emptyMap(),OpRegistryHolder.onnx()) + val inputs = mapOf("input" to input) + val assertion = onnxGraphRunner.run(inputs) + val result = importedGraph.output(inputs,"output") + if(assertion["output"]!!.length() == 1L) + assertEquals("Function ${nd4jOpDef.name} failed with input $input",assertion["output"]!!.reshape(1,1),result["output"]!!.reshape(1,1)) + else + assertEquals("Function ${nd4jOpDef.name} failed with input $input",assertion["output"]!!.ravel(),result["output"]!!.ravel()) + finishedOps.add(nd4jOpDef.name) + + } + } + + println("Finished ops totaling ${finishedOps.size} out of ${onnxOpRegistry.mappedNd4jOpNames().size}") + } + + + + fun graphForOp(opName: String): List { + when(opName) { + "non_max_suppression_v3" -> { + /** + * TODO: Add pre and post processing for each node. + * Our NMS requires 2d, but onnx is 3d. Attempt to see + * if generalized pre/post processing node additions as part of a mapping process can work. + * + */ + print("Running op def $opName") + val boxesVal = Nd4j.create(arrayOf( + floatArrayOf(0f,0f,1f,1f), + floatArrayOf(0f,0.1f,1f,1.1f), + floatArrayOf(0f,-0.1f,1f,0.9f), + floatArrayOf(0f,10f,1f,11f) + )).reshape(1,4,4).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val scoresVal = Nd4j.create(listOf(0.9f,0.75f,0.6f,0.95f).toFloatArray()) + .reshape(1,1,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + val maxOutputSize = Nd4j.scalar(4.0).castTo(DataType.INT64) + val iouThreshold = Nd4j.scalar(0.5).castTo(DataType.FLOAT) + val scoreThreshold = Nd4j.scalar(0.0).castTo(DataType.FLOAT) + + val inputs = mapOf("boxes" to boxesVal,"scores" to scoresVal,"max_output_boxes_per_class" to maxOutputSize, + "iou_threshold" to iouThreshold,"score_threshold" to scoreThreshold) + val output = Nd4j.scalar(1) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(boxesVal,"boxes",false)) + Input(createValueInfoFromTensor(scoresVal,"scores",false)) + Input(createValueInfoFromTensor(maxOutputSize,"max_output_boxes_per_class",false)) + Input(createValueInfoFromTensor(iouThreshold,"iou_threshold",false)) + Input(createValueInfoFromTensor(scoreThreshold,"score_threshold",false)) + + //Initializer(convertedTensor) + Node(NodeProto { + Input("boxes") + Input("scores") + Input("max_output_boxes_per_class") + Input("iou_threshold") + Input("score_threshold") + Output("output") + name = "output" + opType = "NonMaxSuppression" + + + + }) + + Output(createValueInfoFromTensor(output,"output",false)) + } + + return listOf(OnnxGraphInput(graphToRun,listOf("boxes","scores","max_output_boxes_per_class","iou_threshold","score_threshold"),listOf("output"),inputs,inputs)) + } + "argmin","argmax" -> { + print("Running op def $opName") + val x = Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + val output = x.mean(0).reshape(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(x,"x")) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = if(opName == "argmin") "ArgMin" else "ArgMax" + Input("x") + Output("output") + Attribute(Onnx.AttributeProto.newBuilder() + .setType(Onnx.AttributeProto.AttributeType.INT) + .setName("axis").setI(0).build()) + Attribute(Onnx.AttributeProto.newBuilder() + .setType(Onnx.AttributeProto.AttributeType.INT) + .setI(0) + .setName("keepdims").build()) + Attribute(Onnx.AttributeProto.newBuilder() + .setType(Onnx.AttributeProto.AttributeType.INT) + .setI(1) + .setName("select_last_index").build()) + + }) + + Output(createValueInfoFromTensor(output,"output",false)) + } + + val inputMap = mapOf("x" to x) + return listOf(OnnxGraphInput(graphToRun,listOf("x"),listOf("output"),inputMap,inputMap)) + } + "top_k" -> { + val input = Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + val k = Nd4j.scalar(2.0).castTo(DataType.INT64).reshape(1) + val output = Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(input,"input")) + Input(createValueInfoFromTensor(k,"k")) + Node(NodeProto { + name = "output" + opType = "TopK" + Input("input") + Input("k") + Output("output") + Output("indices") + Attribute(Onnx.AttributeProto.newBuilder() + .setType(Onnx.AttributeProto.AttributeType.INT) + .setI(0) + .setName("axis").build()) + Attribute(Onnx.AttributeProto.newBuilder() + .setType(Onnx.AttributeProto.AttributeType.INT) + .setI(1) + .setName("sorted").build()) + Attribute(Onnx.AttributeProto.newBuilder() + .setType(Onnx.AttributeProto.AttributeType.INT) + .setI(1) + .setName("largest").build()) + + }) + + + Output(createValueInfoFromTensor(input,"output",false)) + Output(createValueInfoFromTensor(output,"indices",false)) + } + + val inputMap = mapOf("input" to input,"k" to k) + return listOf(OnnxGraphInput(graphToRun,listOf("input","k"),listOf("output","indices"),inputMap,inputMap)) + + } + "transpose" -> { + val input = Nd4j.linspace(1,6,6).reshape(3,2).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + val output = Nd4j.linspace(1,6,6).reshape(2,3).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(input,"input")) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = "Transpose" + Input("input") + Output("output") + Attribute(Onnx.AttributeProto.newBuilder() + .setType(Onnx.AttributeProto.AttributeType.INTS) + .addInts(1).addInts(0) + .setName("perm").build()) + + }) + + Output(createValueInfoFromTensor(output,"output")) + } + + val inputMap = mapOf("input" to input) + return listOf(OnnxGraphInput(graphToRun,listOf("input"),listOf("output"),inputMap,inputMap)) + + } + "prelu" -> { + val input = Nd4j.randn(3,4,5).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + val alpha = Nd4j.zeros(1,1,5).addi(0.1).castTo(DataType.FLOAT) + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(input,"input",false)) + Input(createValueInfoFromTensor(input,"slope",false)) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = "PRelu" + Input("input") + Input("slope") + Output("output") + + }) + + Output(createValueInfoFromTensor(input,"output",false)) + } + + val inputMap = mapOf("input" to input,"slope" to alpha) + return listOf(OnnxGraphInput(graphToRun,listOf("input","slope"),listOf("output"),inputMap,inputMap)) + + } + "elu","leakyrelu" -> { + val input = Nd4j.scalar(1.0f).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(input,"input")) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = if(name == "elu") "Elu" else "LeakyRelu" + Input("input") + Output("output") + Attribute(Onnx.AttributeProto.newBuilder() + .setType(Onnx.AttributeProto.AttributeType.FLOAT) + .setF(1.0f) + .setName("alpha").build()) + + }) + + Output(createValueInfoFromTensor(input,"output")) + } + + val inputMap = mapOf("input" to input) + return listOf(OnnxGraphInput(graphToRun,listOf("input"),listOf("output"),inputMap,inputMap)) + + } + + "mod" -> { + val x = Nd4j.scalar(2.0).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + val y = Nd4j.scalar(2.0).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(x,"x")) + Input(createValueInfoFromTensor(y,"y")) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = "Mod" + Input("x") + Input("y") + Output("output") + Attribute(Onnx.AttributeProto.newBuilder() + .setType(Onnx.AttributeProto.AttributeType.INT) + .setI(1) + .setName("fmod").build()) + }) + + Output(createValueInfoFromTensor(x,"output")) + } + + val inputMap = mapOf("x" to x,"y" to y) + return listOf(OnnxGraphInput(graphToRun,listOf("x","y"),listOf("output"),inputMap,inputMap)) + + + } + else -> { + throw IllegalArgumentException("Illegal op name $opName") + } + + } + } + +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/ir/onnx/TestOnnxRuleDeclarations.kt b/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/ir/onnx/TestOnnxRuleDeclarations.kt new file mode 100644 index 000000000..8ce422569 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/ir/onnx/TestOnnxRuleDeclarations.kt @@ -0,0 +1,478 @@ +package org.nd4j.codegen.ir.onnx + +import org.junit.jupiter.api.Test +import org.nd4j.codegen.ir.ArgDescriptor +import org.nd4j.codegen.ir.onnx.attributeScalarToNDArrayInput +import org.nd4j.codegen.ir.onnx.conditionalFieldValueIntIndexArrayRule +import org.nd4j.codegen.ir.onnx.convertNDArrayInputToScalarAttr +import org.nd4j.ir.TensorNamespace +import org.nd4j.shade.protobuf.ByteString +import java.nio.charset.Charset +import kotlin.test.assertEquals +import kotlin.test.assertTrue + +class TestOnnxRuleDeclarations { + + /* @Test + fun testArgConstant() { + val opDef = onnxops.first { it.name == "Dilation2D" } + val intItems = listOf(2,1,1,1) + val valueNodeDef = NodeProto { + opType = "Dilation2D" + name = "inputs" + AttributeProto { + + } + } + + val shape = listOf(1,1).map { it.toLong() } + val valueNodeDef2 = NodeProto { + opType = "Constant" + name = "inputs" + AttributeProto { + + } + Attribute(name = "value",value = AttributeProto { + tensor = TensorProto { + Shape(shape) + DoubleData(listOf(1.0)) + } + }) + } + + + + val graphDef = GraphProto { + Node(valueNodeDef) + Node(valueNodeDef2) + } + + val tfGraph = OnnxIRGraph(graphDef) + val mappingContext = OnnxMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph) + val convertNumberListToInputNDArrayRule = org.nd4j.codegen.ir.tensorflow.argDescriptorConstant(listOf(ArgDescriptor { + name = "value" + int32Value = 1 + })) + + val convertNumberListToInputNDArrayResult = convertNumberListToInputNDArrayRule.convertAttributes(mappingContext) + + assertEquals(1,convertNumberListToInputNDArrayResult.size) + assertEquals(1,convertNumberListToInputNDArrayResult[0].int32Value) + } + + + + @Test + fun testConvertNDArrayInputToScalarAttr() { + val opDef = onnxops.findOp("Dilation2D") + val intItems = listOf(2,1,1,1) + val valueNodeDef = NodeProto { + op = "Dilation2D" + name = "inputs" + Attribute(name = "strides",value = AttributeProto { + list = ListValue { + IntItems(intItems) + } + }) + } + + val shape = listOf(1,1).map { it.toLong() } + val valueNodeDef2 = NodeProto { + op = "Constant" + name = "inputs" + Attribute(name = "value",value = AttrValue { + tensor = TensorProto { + Shape(shape) + DoubleData(listOf(1.0)) + } + }) + } + + + + val graphDef = GraphProto { + Node(valueNodeDef) + Node(valueNodeDef2) + } + + val tfGraph = OnnxIRGraph(graphDef) + val mappingContext = OnnxMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph) + val convertNumberListToInputNDArrayRule = convertNDArrayInputToScalarAttr(mutableMapOf("output" to "inputs ")) + val convertNumberListToInputNDArrayResult = convertNumberListToInputNDArrayRule.convertAttributes(mappingContext) + assertEquals(1,convertNumberListToInputNDArrayResult.size) + assertEquals(2,convertNumberListToInputNDArrayResult[0].int64Value) + } + + @Test + fun testListAttributeValueLookupToIndex() { + val opDef = onnxops.findOp("Dilation2D") + val intItems = listOf(2,1,1,1) + val valueNodeDef = NodeDef { + op = "Dilation2D" + name = "inputs" + Attribute(name = "strides",value = AttrValue { + list = ListValue { + IntItems(intItems) + } + }) + } + + + val graphDef = GraphDef { + Node(valueNodeDef) + } + + val tfGraph = OnnxIRGraph(graphDef, onnxops) + val mappingContext = OnnxMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph) + val convertNumberListToInputNDArrayRule = listAttributeValueLookupToIndex(outputAttributeValue = "output", inputAttributeValue = "strides", idx = 0) + val convertNumberListToInputNDArrayResult = convertNumberListToInputNDArrayRule.convertAttributes(mappingContext) + assertEquals(1,convertNumberListToInputNDArrayResult.size) + assertEquals(2,convertNumberListToInputNDArrayResult[0].int64Value) + } + + + @Test + fun testConvertNumberListToInputNDArray() { + val opDef = onnxops.findOp("Dilation2D") + val intItems = listOf(1,1,1,1) + val valueNodeDef = NodeProto { + op = "Dilation2D" + name = "inputs" + Attribute(name = "strides",value = AttrValue { + list = ListValue { + IntItems(intItems) + } + }) + } + + + val graphDef = GraphProto { + Node(valueNodeDef) + } + + val tfGraph = OnnxIRGraph(graphDef) + val mappingContext = OnnxMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph) + val convertNumberListToInputNDArrayRule = convertNumberListToInputNDArray(outputAttributeValue = "output", inputAttributeValue = "strides") + val convertNumberListToInputNDArrayResult = convertNumberListToInputNDArrayRule.convertAttributes(mappingContext) + assertEquals(1,convertNumberListToInputNDArrayResult.size) + val inputVal = convertNumberListToInputNDArrayResult[0].inputValue + assertEquals(2,inputVal.dimsCount) + val testList = inputVal.int64DataList + testList.forEach { + assertEquals(1,it) + } + } + + @Test + fun testValueMapping() { + val opDef = onnxops.findOp("CudnnRNN") + val valueNodeDef = NodeProto { + op = "CudnnRNN" + name = "inputs" + Attribute(name = "is_training",value = AttrValue { + b = true + }) + Attribute(name = "seed",value = AttrValue { + i = 1 + }) + Attribute(name = "dropout",value = AttrValue { + f = 1.0f + }) + Attribute(name = "direction",value = AttrValue { + s = ByteString.copyFrom("unidirectional".toByteArray(Charset.defaultCharset())) + }) + } + + + val graphDef = GraphProto { + Node(valueNodeDef) + } + + val tfGraph = OnnxIRGraph(graphDef) + val mappingContext = OnnxMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph) + val booleanToInt = valueMapping(mapOf("output" to "is_training","output2" to "seed","output3" to "dropout","output4" to "direction")) + val booleanToIntResult = booleanToInt.convertAttributes(mappingContext) + assertEquals(4,booleanToIntResult.size) + val boolValue = booleanToIntResult.first { it.name == "output" }.boolValue + val intValue = booleanToIntResult.first {it.name == "output2" }.int64Value + val floatValue = booleanToIntResult.first {it.name == "output3"}.floatValue + val stringVal = booleanToIntResult.first {it.name == "output4" }.stringValue + assertEquals(true,boolValue) + assertEquals(1,intValue) + assertEquals(1.0f,floatValue) + assertEquals("unidirectional",stringVal) + } + + @Test + fun testBooleanToInt() { + val opDef = onnxops.findOp("CudnnRNN") + val valueNodeDef = NodeProto { + op = "CudnnRNN" + name = "inputs" + Attribute(name = "is_training",value = AttrValue { + b = true + }) + } + + + val graphDef = GraphProto { + Node(valueNodeDef) + } + + val tfGraph = OnnxIRGraph(graphDef, onnxops) + val mappingContext = OnnxMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph) + val booleanToInt = org.nd4j.codegen.ir.tensorflow.booleanToInt(mapOf("output" to "is_training")) + val booleanToIntResult = booleanToInt.convertAttributes(mappingContext) + assertEquals(1,booleanToIntResult.size) + val boolValue = booleanToIntResult[0].int64Value + assertEquals(1,boolValue) + } + + @Test + fun testAttributeScalarToNDArrayInputRuleDouble() { + val opDef = onnxops.findOp("CudnnRNN") + val valueNodeDef = NodeProto { + op = "CudnnRNN" + name = "inputs" + Attribute(name = "dropout",value = AttrValue { + f = 1.0f + }) + } + + + val graphDef = GraphProto { + Node(valueNodeDef) + } + + val tfGraph = OnnxIRGraph(graphDef) + val mappingContext = OnnxMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph) + val ndarrScalarRule = attributeScalarToNDArrayInput(outputAttribute = "output",inputFrameworkAttributeName = "dropout") + val ndarrScalarRuleResult = ndarrScalarRule.convertAttributes(mappingContext) + assertEquals(1,ndarrScalarRuleResult.size) + assertTrue {ndarrScalarRuleResult[0].hasInputValue()} + val tensorValue = ndarrScalarRuleResult[0].inputValue + assertEquals(2,tensorValue.dimsCount) + assertEquals(TensorNamespace.DataType.FLOAT.ordinal,tensorValue.dataType) + val floatValue = tensorValue.floatDataList[0] + assertEquals(1.0f,floatValue) + } + + @Test + fun testAttributeScalarToNDArrayInputRuleInt() { + val opDef = onnxops.findOp("CountUpTo") + val valueNodeDef = NodeProto { + op = "CountUpTo" + name = "inputs" + Attribute(name = "limit",value = AttrValue { + i = 1 + }) + } + + + val graphDef = GraphProto { + Node(valueNodeDef) + } + + val tfGraph = OnnxIRGraph(graphDef) + val mappingContext = OnnxMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph) + val ndarrScalarRule = attributeScalarToNDArrayInput(outputAttribute = "output",inputFrameworkAttributeName = "limit") + val ndarrScalarRuleResult = ndarrScalarRule.convertAttributes(mappingContext) + assertEquals(1,ndarrScalarRuleResult.size) + assertTrue {ndarrScalarRuleResult[0].hasInputValue()} + val tensorValue = ndarrScalarRuleResult[0].inputValue + assertEquals(2,tensorValue.dimsCount) + assertEquals(TensorNamespace.DataType.INT64.ordinal,tensorValue.dataType) + val intValue = tensorValue.int64DataList[0] + assertEquals(1,intValue) + } + + @Test + fun testStringNotEqualsRule() { + val opDef = onnxops.findOp("Const") + val valueNodeDef = NodeProto { + op = "Const" + name = "inputs" + Attribute(name = "value",value = AttrValue { + s = ByteString.copyFrom("value".toByteArray(Charset.defaultCharset())) + }) + } + + + val graphDef = GraphProto { + Node(valueNodeDef) + } + + val tfGraph = OnnxIRGraph(graphDef) + val mappingContext = OnnxMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph) + listOf("value","notValue").zip(listOf(false,true)).forEach { (valueToTest,assertionResult) -> + val stringNotEqualsRule = org.nd4j.codegen.ir.tensorflow.stringNotEqualsRule(outputAttribute = "output", inputFrameworkAttributeName = "value", valueToTest = valueToTest) + val stringEqualsResult = stringNotEqualsRule.convertAttributes(mappingCtx = mappingContext) + assertEquals(1,stringEqualsResult.size) + assertEquals(assertionResult,stringEqualsResult[0].boolValue) + + } + + + } + + + @Test + fun testStringContainsRule() { + val opDef = onnxops.findOp("Const") + val valueNodeDef = NodeProto { + op = "Const" + name = "inputs" + Attribute(name = "value",value = AttrValue { + s = ByteString.copyFrom("value".toByteArray(Charset.defaultCharset())) + }) + } + + + val graphDef = GraphProto { + Node(valueNodeDef) + + } + + val tfGraph = OnnxIRGraph(graphDef) + val mappingContext = OnnxMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph) + listOf("value","notValue").zip(listOf(true,false)).forEach { (valueToTest,assertionResult) -> + val stringContainsRule = org.nd4j.codegen.ir.tensorflow.stringContainsRule(outputAttribute = "output", inputFrameworkAttributeName = "value", valueToTest = valueToTest) + val stringEqualsResult = stringContainsRule.convertAttributes(mappingCtx = mappingContext) + assertEquals(1,stringEqualsResult.size) + assertEquals(assertionResult,stringEqualsResult[0].boolValue) + + } + + + } + + + @Test + fun testStringEqualsRule() { + val opDef = onnxops.findOp("Const") + val valueNodeDef = NodeDef { + op = "Const" + name = "inputs" + Attribute(name = "value",value = AttrValue { + s = ByteString.copyFrom("value".toByteArray(Charset.defaultCharset())) + }) + } + + + val graphDef = GraphDef { + Node(valueNodeDef) + + } + + val tfGraph = TensorflowIRGraph(graphDef, onnxops) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph) + listOf("value","notValue").zip(listOf(true,false)).forEach { (valueToTest,assertionResult) -> + val stringEqualsRule = org.nd4j.codegen.ir.tensorflow.stringEqualsRule(outputAttribute = "output", inputFrameworkAttributeName = "value", valueToTest = valueToTest) + val stringEqualsResult = stringEqualsRule.convertAttributes(mappingCtx = mappingContext) + assertEquals(1,stringEqualsResult.size) + assertEquals(assertionResult,stringEqualsResult[0].boolValue) + + } + + + } + + + @Test + fun testNDArraySizeAtRule() { + val opDef = onnxops.findOp("AddN") + val nodeDef = NodeDef { + op = "AddN" + Input("inputs") + Input("y") + name = "test" + } + + val shape = listOf(1,2).map { it.toLong() } + + val valueNodeDef = NodeDef { + op = "Constant" + name = "inputs" + Attribute(name = "value",value = AttrValue { + tensor = TensorProto { + Shape(shape) + DoubleData(listOf(1.0,2.0)) + } + }) + } + + + val graphDef = GraphDef { + Node(nodeDef) + Node(valueNodeDef) + + } + + val tfGraph = TensorflowIRGraph(graphDef, onnxops) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = nodeDef,graph = tfGraph) + shape.forEachIndexed { i,value -> + val sizeAtRule = org.nd4j.codegen.ir.tensorflow.sizeAtRule(dimensionIndex = i, outputAttributeName = "output", inputFrameworkAttributeName = "inputs") + val sizeAtRuleResult = sizeAtRule.convertAttributes(mappingCtx = mappingContext) + assertEquals(1,sizeAtRuleResult.size) + assertEquals(value,sizeAtRuleResult[0].int64Value) + + } + + } + + + @Test + fun testConditionalIndex() { + + val opDef = onnxops.findOp("AddN") + val strings = listOf("value","falseValue") + //when item is equal to value return element at index 0 + //when item is not equal to value return element at index 1 + val assertionValue = mapOf("value" to 1,"falseValue" to 0) + val trueIndex = 0 + val falseIndex = 1 + val listOfItemsForTesting = listOf(1,0,2,3) + //true and false case with index 1 + for(string in strings) { + val nodeDef = NodeDef { + op = "AddN" + Input("inputs") + Input("y") + name = "test" + Attribute(name = "N",value = AttrValue { + name = "N" + list = ListValue { + IntItems(listOfItemsForTesting) + } + }) + Attribute(name = "T",value = AttrValue { + name = "T" + s = ByteString.copyFrom(string.toByteArray(Charset.defaultCharset())) + }) + } + + val graphDef = GraphDef { + Node(nodeDef) + } + + val tfGraph = TensorflowIRGraph(graphDef, onnxops) + + + val mappingContext = TensorflowMappingContext(opDef = opDef,node = nodeDef,graph = tfGraph) + + val conditionalIndex = conditionalFieldValueIntIndexArrayRule( + outputAttribute = "N", + attributeNameOfListAttribute = "N", + targetValue = "value", trueIndex = trueIndex, falseIndex = falseIndex, + inputFrameworkStringNameToTest = "T") + + val ret = conditionalIndex.convertAttributes(mappingContext) + assertEquals(1,ret.size) + assertEquals((assertionValue[string] ?: + error("No value found with string value $string")).toLong(),ret[0].int64Value) + assertEquals("N",ret[0].name) + + } + + }*/ +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/ir/tensorflow/TestTensorflowIR.kt b/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/ir/tensorflow/TestTensorflowIR.kt new file mode 100644 index 000000000..512f04d74 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/ir/tensorflow/TestTensorflowIR.kt @@ -0,0 +1,9021 @@ +package org.nd4j.codegen.ir.tensorflow + +import junit.framework.Assert.assertEquals +import junit.framework.Assert.assertTrue +import org.apache.commons.io.IOUtils +import org.junit.jupiter.api.Test +import org.nd4j.autodiff.samediff.SameDiff +import org.nd4j.codegen.ir.ImportGraph +import org.nd4j.codegen.ir.registry.OpMappingRegistry +import org.nd4j.codegen.ir.registry.OpRegistryHolder +import org.nd4j.common.io.ClassPathResource +import org.nd4j.ir.OpNamespace +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.linalg.api.ops.DynamicCustomOp +import org.nd4j.linalg.api.ops.impl.transforms.BinCount +import org.nd4j.linalg.api.ops.impl.transforms.floating.RSqrt +import org.nd4j.linalg.factory.Nd4j +import org.nd4j.linalg.profiler.ProfilerConfig +import org.nd4j.shade.protobuf.ByteString +import org.nd4j.tensorflow.conversion.graphrunner.GraphRunner +import org.tensorflow.framework.* +import java.lang.IllegalStateException +import java.nio.charset.Charset +import kotlin.math.max + +data class GraphInput(val graphDef: GraphDef,val inputNames: List,val outputNames: List, + val inputArrays: Map,val dynamicArrays: Map) + +class TestTensorflowIR { + val declarations = TensorflowOpDeclarations + + @Test + fun testTensorflowAbs() { + val opDef = tensorflowOps.findOp("Abs") + val nodeDef = NodeDef { + op = "Abs" + name = "test" + Input("x") + } + + + + + val x = NodeDef { + op = "Const" + name = "x" + Attribute(name = "value",value = AttrValue { + tensor = TensorProto.getDefaultInstance() + }) + } + + + val graphDef = GraphDef { + Node(nodeDef) + Node(x) + } + + val tensorflowNode = TensorflowIRNode(nodeDef, opDef) + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps) + val absMappingProcess = OpRegistryHolder.tensorflow().lookupOpMappingProcess(inputFrameworkOpName = "Abs") + + val mappingContext = TensorflowMappingContext(opDef = opDef,node = nodeDef,graph = tfGraph,dynamicVariables = emptyMap()) + val input = absMappingProcess.applyProcess(mappingContext) + println(input) + + } + + + @Test + fun loadModelTest() { + val importGraph = ImportGraph() + val inputs = listOf("input_0", "input_1") + val content = IOUtils.toByteArray(ClassPathResource("lenet_frozen.pb").inputStream) + val graphDef = GraphDef.parseFrom(content) + val irGraph = TensorflowIRGraph(graphDef, tensorflowOps) + val importedModel = importGraph.importGraph(irGraph = irGraph,importOverride = null,opFilter = null,opMappingRegistry = OpRegistryHolder.tensorflow()) + println(importedModel) + } + + + @Test + fun testRegistry() { + val registry = OpRegistryHolder.tensorflow() + val mappingProcess = registry.lookupOpMappingProcess("Conv2D") + println(mappingProcess) + } + + + @Test + fun testOpOrdering() { + val tensorflowOpNames = tensorflowOpRegistry.inputFrameworkOpNames() + val bannedOps = setOf("Assert","RandomUniformInt","ResizeArea","UnsortedSegmentProd","UnsortedSegmentMin","SpaceToBatch", + "ResizeNearestNeighbor","Dilation2D","Bitcast","LinSpace","UnsortedSegmentSum", + "TensorArrayScatter","OneHot","UnsortedSegmentMax","TopKV2","TopK","Range","HistogramFixedWidth","ClipByValue","ResizeBilinear","Bincount","SplitV") + + tensorflowOpNames.forEach { opName -> + if(tensorflowOpRegistry.hasMappingOpProcess(opName)) { + val opDef = tensorflowOps.findOp(opName) + println("Processing op name $opName") + + val nodeBuilder = NodeDef.newBuilder() + nodeBuilder.name = opName + val graphBuilder = GraphDef.newBuilder() + nodeBuilder.op = opName + val attrNames = opDef.attrList.map {attrDef -> attrDef.name } + + //convert to a default case + return graph in new method + opDef.inputArgList.forEach { inputArgDef -> + val inputNumberAttr = inputArgDef.numberAttr + val numAttributeValue = if(!inputNumberAttr.isEmpty()) max(opDef.attrList.find { attrDef -> attrDef.name == inputNumberAttr }!!.minimum,2) else 1 + val typeAttrName = if(inputArgDef.typeAttr.isNotEmpty()) inputArgDef.typeAttr else "T" + val typeAttrValue = if(inputArgDef.typeAttr.isNotEmpty() && attrNames.contains(inputArgDef.typeAttr)) + opDef.attrList.first { attrDef -> attrDef.name == inputArgDef.typeAttr }.defaultValue.type else inputArgDef.type + for(i in 0 until numAttributeValue) { + val listOfFloats = mutableListOf() + val listOfInts = mutableListOf() + val listOfDoubles = mutableListOf() + val listOfBools = mutableListOf() + val listOfLongs = mutableListOf() + //the largest tensors we're likely to touch are 5d + for(i in 0 until (1 * 2 * 3 * 4 * 5 * 6)) { + listOfFloats.add(i.toFloat()) + listOfInts.add(i) + listOfDoubles.add(i.toDouble()) + listOfBools.add(true) + listOfLongs.add(i.toLong()) + } + + val nodeName = if(i <= 0) inputArgDef.name else inputArgDef.name + "$i" + nodeBuilder.addInput(nodeName) + + when(typeAttrValue) { + DataType.DT_DOUBLE -> { + //add placeholders for all parameters + val placeHolder = NodeDef { + name = nodeName + op = "Const" + Attribute(name = typeAttrName,value = AttrValue { + type = DataType.DT_DOUBLE + }) + + Attribute(name = "value",value = AttrValue { + tensor = TensorProto { + Shape(listOf(1,2,3,4,5,6)) + DoubleData(listOfDoubles) + DataType(DataType.DT_DOUBLE) + } + }) + + } + + graphBuilder.addNode(placeHolder) + } + + DataType.DT_FLOAT -> { + //add placeholders for all parameters + val placeHolder = NodeDef { + name = nodeName + op = "Const" + Attribute(name = typeAttrName,value = AttrValue { + type = DataType.DT_FLOAT + }) + + Attribute(name = "value",value = AttrValue { + tensor = TensorProto { + Shape(listOf(1,2,3,4,5,6)) + FloatData(listOfFloats) + DataType(DataType.DT_FLOAT) + } + }) + + } + + graphBuilder.addNode(placeHolder) + } + + DataType.DT_BOOL -> { + //add placeholders for all parameters + val placeHolder = NodeDef { + name = nodeName + op = "Const" + Attribute(name = typeAttrName,value = AttrValue { + type = DataType.DT_BOOL + }) + + Attribute(name = "value",value = AttrValue { + tensor = TensorProto { + Shape(listOf(1,2,3,4,5,6)) + BooleanData(listOfBools) + DataType(DataType.DT_BOOL) + } + }) + + } + + graphBuilder.addNode(placeHolder) + } + + DataType.DT_INT16 -> { + //add placeholders for all parameters + val placeHolder = NodeDef { + name = nodeName + op = "Const" + Attribute(name = typeAttrName,value = AttrValue { + type = DataType.DT_INT16 + }) + + Attribute(name = "value",value = AttrValue { + tensor = TensorProto { + Shape(listOf(1,2,3,4,5,6)) + Int32Data(listOfInts) + DataType(DataType.DT_INT16) + } + }) + + } + + graphBuilder.addNode(placeHolder) + } + + DataType.DT_INT32 -> { + //add placeholders for all parameters + val placeHolder = NodeDef { + name = nodeName + op = "Const" + Attribute(name = typeAttrName,value = AttrValue { + type = DataType.DT_INT32 + }) + + Attribute(name = "value",value = AttrValue { + tensor = TensorProto { + Shape(listOf(1,2,3,4,5,6)) + Int32Data(listOfInts) + DataType(DataType.DT_INT32) + } + }) + + } + + graphBuilder.addNode(placeHolder) + } + + DataType.DT_INT64 -> { + //add placeholders for all parameters + val placeHolder = NodeDef { + name = nodeName + op = "Const" + Attribute(name = typeAttrName,value = AttrValue { + type = DataType.DT_INT64 + }) + + Attribute(name = "value",value = AttrValue { + tensor = TensorProto { + Shape(listOf(1,2,3,4,5,6)) + Int64Data(listOfLongs) + DataType(DataType.DT_INT64) + } + }) + + } + + graphBuilder.addNode(placeHolder) + } + + DataType.DT_STRING -> { + //add placeholders for all parameters + val placeHolder = NodeDef { + name = nodeName + op = "Const" + Attribute(name = typeAttrName,value = AttrValue { + type = DataType.DT_DOUBLE + }) + + Attribute(name = "value",value = AttrValue { + tensor = TensorProto { + Shape(listOf(1,2,3,4,5,6)) + FloatData(listOfFloats) + DataType(DataType.DT_DOUBLE) + } + }) + + } + + graphBuilder.addNode(placeHolder) + } + else -> { + + //add placeholders for all parameters + val placeHolder = NodeDef { + name = nodeName + op = "Const" + Attribute(name = typeAttrName,value = AttrValue { + type = DataType.DT_DOUBLE + }) + + Attribute(name = "value",value = AttrValue { + tensor = TensorProto { + Shape(listOf(1,2,3,4,5,6)) + DoubleData(listOfDoubles) + DataType(DataType.DT_DOUBLE) + } + }) + + } + + graphBuilder.addNode(placeHolder) + + } + + + } + } + + } + + + opDef.attrList.forEach { attr -> + if(attr.hasMinimum or attr.type.contains("list")) { + //it varies whether lists have minimums or not (some should) + //defaulting to size 4 or the minimum will hit most use cases + val listSize = max(attr.minimum,5) + when(attr.type) { + "list(int)" -> { + val attrList = ArrayList() + for(i in 0 until listSize) { + attrList.add(i) + } + + nodeBuilder.putAttr(attr.name, AttrValue { + ListInts(attrList) + }) + } + "list(float)" -> { + val attrList = ArrayList() + for(i in 0 until listSize) { + attrList.add(i.toFloat()) + } + nodeBuilder.putAttr(attr.name, AttrValue { + ListFloats(attrList) + }) + } + else -> { + if(attr.hasMinimum) { + when(attr.type) { + "float" -> { + nodeBuilder.putAttr(attr.name, org.nd4j.codegen.ir.tensorflow.AttrValue { + f = attr.minimum.toFloat() + }) + + } + "int" -> { + nodeBuilder.putAttr(attr.name, org.nd4j.codegen.ir.tensorflow.AttrValue { + i = attr.minimum.toLong() + }) + } + } + } + else + nodeBuilder.putAttr(attr.name,attr.defaultValue) + + } + } + } + else + nodeBuilder.putAttr(attr.name,attr.defaultValue) + } + + + graphBuilder.addNode(nodeBuilder.build()) + val graph = graphBuilder.build() + + val importGraph = ImportGraph() + + + + if(!bannedOps.contains(opName)) { + val mappingProcess = tensorflowOpRegistry.lookupOpMappingProcess(opName) + val irGraph = TensorflowIRGraph(graphDef = graph,opDef = tensorflowOps) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = nodeBuilder.build(),graph = irGraph,dynamicVariables = emptyMap()) + val mapResult = mappingProcess.applyProcess(mappingContext) + val groupedByArgType = mapResult.second.argDescriptorList.groupBy { keySelector -> keySelector.argType } + val sortedGroups = HashMap>() + groupedByArgType.forEach { (argType, argDescriptors) -> + sortedGroups[argType] = argDescriptors.sortedBy { argDescriptor -> argDescriptor.argIndex } + } + + //NOTE: Bitcast is in this list for examination outside of list offsets for assertions. We don't currently support data types for the test nodes. + sortedGroups.values.forEach { list -> run { + val namesEncountered = HashSet() + list.forEachIndexed { index, argDescriptor -> + //don't validate a name encountered more than once, this is probably an array + //note that we skip some ops here due to this assumption breaking for list types, we will test list types separately + if(!namesEncountered.contains(argDescriptor.name) && opName != "BatchToSpace" && !opName.contains("NonMaxSuppression") + && !bannedOps.contains(opName)) { + assertEquals("Arg index $index for arg descriptor name ${argDescriptor.name} for nd4j op ${mappingContext.nd4jOpName()} when arg index was actually ${argDescriptor.argIndex}. Full arg descriptor was ${argDescriptor}. Graph was ${graph}", + argDescriptor.argIndex, index) + namesEncountered.add(argDescriptor.name) + } + } + } + //SameDiff.importFrozenTF(irGraph.graphDef) + val sameDiffResult = importGraph.importGraph(irGraph = irGraph,importOverride = null,opFilter = null,opMappingRegistry = OpRegistryHolder.tensorflow()) + println("Processed op name $opName") + + } + } + + + } + } + } + + @Test + fun testTensorflowConv2dOld() { + val opDef = tensorflowOps.findOp("Conv2D") + val attrValue = AttrValue { + list = ListAttrValue(1,1,1,1) + } + + val dilationsAttr = AttrValue { + list = ListAttrValue(1,1,1,1) + } + + val dataFormatValue = AttrValue { + s = ByteString.copyFrom("NCHW", Charset.defaultCharset()) + } + + val paddingValue = AttrValue { + s = ByteString.copyFrom("SAME", Charset.defaultCharset()) + } + + val nodeDef = NodeDef { + Input("input") + Input("filter") + op = "Conv2D" + name = "input" + Attribute("strides",attrValue) + Attribute("data_format",dataFormatValue) + Attribute("padding",paddingValue) + Attribute("dilations",dilationsAttr) + } + + val tensorValue2 = TensorProto { + tensorShape = TensorShapeProto { + Dim(name = "0", size = 1) + Dim(name = "1", size = 5) + Dim(name = "2", size = 5) + Dim(name = "3", size = 6) + } + } + + val weightsNode = NodeDef { + op = "Const" + name = "filter" + Attribute("value", AttrValue { + tensor = tensorValue2 + }) + } + + val graphDef = GraphDef { + Node(nodeDef) + Node(weightsNode) + } + + + val tensorflowIRNode = TensorflowIRNode(nodeDef, opDef) + val conv2dMappingProcess = OpRegistryHolder.lookupOpMappingProcess(inputFrameworkName = "tensorflow",inputFrameworkOpName = "Conv2D") + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps) + """ + node { + name: "Lenet/conv1_1/Conv2D" + op: "Conv2D" + input: "Reshape" + input: "Lenet/conv1/weights" + attr { + key: "use_cudnn_on_gpu" + value { + b: true + } + } + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } + } + """.trimIndent() + + """ + node { + name: "Lenet/conv1/weights" + op: "Const" + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 5 + } + dim { + size: 5 + } + dim { + size: 1 + } + dim { + size: 6 + } + } + tensor_content: "\265`\023=\207\274\277<\345j\234<\2515\266<\217\001Y<\375\223\346<\375\236Q<\213\016D<\223s\376\272\313\2561<\352\374\303<\357\036{<\r1\272<\271\020\252\265;\232=\b<{a\236;\242j\243<\212\353\330<\227J\023=\026\210\252\271\b\035\263<\264;N<\372\215\227;\351g\226 tensorflowOpRegistry.lookupOpMappingProcess(tensorflowOpName)} + .forEach { + val tensorflowNamesMapped = HashSet() + val nd4jNamesMapped = HashSet() + //we can ignore dtype for now + nd4jNamesMapped.add("dtype") + val opDef = tensorflowOpRegistry.lookupNd4jOpDef(it.opName()) + val tensorflowOpDef = tensorflowOpRegistry.lookupInputFrameworkOpDef(it.inputFrameworkOpName()) + val tensorflowAssertionNames = HashSet() + tensorflowAssertionNames.addAll(tensorflowOpDef.inputArgList.map { arg -> arg.name }) + tensorflowAssertionNames.addAll(tensorflowOpDef.attrList.map { attr -> attr.name }) + val nd4jOpDefAssertions = HashSet() + nd4jOpDefAssertions.addAll(opDef.argDescriptorList.map { argDescriptor -> argDescriptor.name }) + val numRequiredInputsTf = tensorflowOpDef.inputArgCount + val nd4jInputs = opDef.argDescriptorList.filter { arg -> arg.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR }.count() + /** + * TODO: Grab total collection of mapped nd4j names + * as outputs and mapped tensorflow names as inputs. + * Compare the mapped names to the op definitions + * in nd4j and tensorflow respectively. + */ + it.tensorMappingRules().forEach { mappingRule -> + mappingRule.mappingNamesToPerform().forEach { mappingName -> + tensorflowNamesMapped.add(mappingName.value) + nd4jNamesMapped.add(mappingName.key) + } + } + + it.attributeMappingRules().forEach { mappingRule -> + mappingRule.mappingNamesToPerform().forEach { mappingName -> + tensorflowNamesMapped.add(mappingName.value) + nd4jNamesMapped.add(mappingName.key) + } + + mappingRule.mappingTransformerArgs().forEach {transformerArg -> + run { + transformerArg.value.forEach { argValue -> + nd4jNamesMapped.add(argValue.name) + + } + } + } + + } + + + tensorflowOpDef.inputArgList.map {input -> input.name}.forEach { inputName -> + assertTrue(tensorflowAssertionNames.contains(inputName)) + } + + tensorflowOpDef.attrList.filter { attrDef -> attrDef.type != "type" }.map {attrDef -> attrDef.name }.forEach { attrName -> + assertTrue(tensorflowAssertionNames.contains(attrName)) + } + + + + opDef.argDescriptorList.forEach { argDef -> + //only require it when the + + when(argDef.argType) { + OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR -> { + /** + * Nd4j typically has many optional inputs that can also double as attributes + * We need to allow for a bit of flexibility in how we handle op definitions. If they're not mapped 1 to 1, + * we just log a warning for unmapped inputs. Otherwise we can do an assertion. + */ + if(numRequiredInputsTf == nd4jInputs) + assertTrue("Nd4j op name ${opDef.name} with tensorflow mapping ${tensorflowOpDef.name} has missing mapping ${argDef.name}",nd4jNamesMapped.contains(argDef.name)) + else if(!nd4jNamesMapped.contains(argDef.name)) { + println("Warning: Nd4j op name ${opDef.name} with tensorflow mapping ${tensorflowOpDef.name} has missing mapping ${argDef.name}") + } + } + OpNamespace.ArgDescriptor.ArgType.INT32,OpNamespace.ArgDescriptor.ArgType.INT64 -> { + assertTrue("Nd4j op name ${opDef.name} with tensorflow mapping ${tensorflowOpDef.name} has missing mapping ${argDef.name}",nd4jNamesMapped.contains(argDef.name)) + } + OpNamespace.ArgDescriptor.ArgType.DOUBLE, OpNamespace.ArgDescriptor.ArgType.FLOAT -> { + assertTrue("Nd4j op name ${opDef.name} with tensorflow mapping ${tensorflowOpDef.name} has missing mapping ${argDef.name}",nd4jNamesMapped.contains(argDef.name)) + } + OpNamespace.ArgDescriptor.ArgType.BOOL -> { + assertTrue("Nd4j op name ${opDef.name} with tensorflow mapping ${tensorflowOpDef.name} has missing mapping ${argDef.name}",nd4jNamesMapped.contains(argDef.name)) + } + } + + } + + } + } + + @Test + fun testInputOutputNames() { + val tensorflowOpNames = tensorflowOpRegistry.inputFrameworkOpNames() + val nd4jOpNames = tensorflowOpRegistry.nd4jOpNames() + tensorflowOpRegistry.mappingProcessNames().map { + tensorflowOpRegistry.lookupOpMappingProcess(it) + }.forEach { + println("Beginning processing of op ${it.inputFrameworkOpName()} and nd4j op ${it.opName()}") + assertTrue(tensorflowOpNames.contains(it.inputFrameworkOpName())) + assertTrue(nd4jOpNames.contains(it.opName())) + val nd4jOpDef = tensorflowOpRegistry.lookupNd4jOpDef(it.opName()) + val tensorflowOpDef = tensorflowOpRegistry.lookupInputFrameworkOpDef(it.inputFrameworkOpName()) + val inputNameArgDefs = nd4jOpDef.argDescriptorList.filter { + argDef -> argDef.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + }.map { argDef -> argDef.name } + + val inputFrameworkOpDefNames = tensorflowOpDef.inputArgList.map { tfOpDef -> tfOpDef.name} + + val nd4jArgDefNames = nd4jOpDef.argDescriptorList.map { nd4jArgDef -> nd4jArgDef.name } + val tfAttrNames = tensorflowOpDef.attrList.map { tfAttr -> tfAttr.name } + it.tensorMappingRules().forEach { tensorRules -> + println("Running tensor mapping rule ${tensorRules.name()} for op ${it.inputFrameworkOpName()} and nd4j op name ${it.opName()}") + run { + tensorRules.mappingNamesToPerform().forEach { tensorRule -> + run { + println("Testing assertion for nd4j name ${tensorRule.key} and input name ${tensorRule.value}") + assertTrue(inputNameArgDefs.contains(tensorRule.key)) ?: error("Failed on inputArgName ${tensorRule.key}") + assertTrue(inputFrameworkOpDefNames.contains(tensorRule.value)) ?: error("Failed on inputArgName ${tensorRule.value}") + } + + } + } + + } + + println("Running attribute mapping rules for ${it.opName()} and input op name ${it.inputFrameworkOpName()}") + it.attributeMappingRules().forEach { attrRule -> + run { + attrRule.mappingNamesToPerform().forEach { attrMapping -> + run { + println("Testing nd4j name ${attrMapping.key} and input framework name ${attrMapping.value}") + assertTrue(nd4jArgDefNames.contains(attrMapping.key) || inputNameArgDefs.contains(attrMapping.key)) + assertTrue(tfAttrNames.contains(attrMapping.value) || inputFrameworkOpDefNames.contains(attrMapping.value)) + } + + } + } + } + + } + } + + @Test + fun testOpExecution() { + Nd4j.getRandom().setSeed(12345) + val scalarInputs = mapOf( + "abs" to -1.0, + "acos" to 1.0, + "acosh" to 1.0, + "asin" to 1.0, + "asinh" to 1.0, + "atan" to 1.0, + "atanh" to 0.5, + "ceil" to 1.0, + "copy" to 1.0, + "cos" to 1.0, + "cosh" to 1.0, + "erf" to 1.0, + "elu" to 1.0, + "erfc" to 1.0, + "exp" to 1.0, + "expm1" to 1.0, + "floor" to 1.0, + "identity" to 1.0, + "isfinite" to 1.0, + "isinf" to 1.0, + "isnan" to 1.0, + //"identity_n" to 1.0, + "log" to 1.0, + "log1p" to 1.0, + "neg" to 1.0, + "ones_as" to 1.0, + "Reciprocal" to 1.0, + "rank" to 1.0, + "relu6" to 1.0, + "rint" to 1.0, + "round" to 1.0, + "rsqrt" to 1.0, + "sigmoid" to 1.0, + "sign" to 1.0, + "size" to 1.0, + "sin" to 1.0, + "sinh" to 1.0, + "square" to 1.0, + "sqrt" to 1.0, + "tan" to 1.0, + "tanh" to 1.0, + "selu" to 1.0, + "softsign" to 1.0, + "softplus" to 1.0, + "zeroslike" to 1.0) + + val singleInputOps = scalarInputs.keys + + val pairWiseInputs = mapOf( + "add" to listOf(1.0,1.0), + "divide" to listOf(1.0,1.0), + "greater" to listOf(1.0,1.0), + "less" to listOf(1.0,1.0), + "less_equal" to listOf(1.0,1.0), + "multiply" to listOf(1.0,1.0), + "floordiv" to listOf(1.0,1.0), + "mod" to listOf(1.0,1.0), + "squaredsubtract" to listOf(1.0,1.0), + "not_equals" to listOf(1.0,1.0), + "realdiv" to listOf(1.0,1.0), + "tf_atan2" to listOf(1.0,1.0), + "maximum" to listOf(0.0,1.0), + "min_pairwise" to listOf(1.0,1.0), + "greater_equal" to listOf(1.0,1.0), + "equals" to listOf(1.0,1.0), + "min_pairwise" to listOf(1.0,1.0), + "divide_no_nan" to listOf(1.0,1.0), + "zeta" to listOf(2.0,3.0) + + + ) + + + + + + /** + * Control flow ops + */ + + /** + * Random distribution ops + */ + + + /** + * Creation ops + * Empty + * CopyHost + * Linspace + * OnesLike + */ + + /** + * Scatter ops: + * scatter_div + * scatter_add + * scatter_sub + * scatter_min + * scatter_mul + * scatter_update + * scatter_nd + * scatter_nd_add + * scatter_nd_sub + * scatter_nd_update + */ + + + + + val pairWiseIntOps = mapOf( + "fmod" to listOf(1,1), + "rshift_bits" to listOf(1,1), + "truncatediv" to listOf(1,1), + "bitwise_and" to listOf(1,1), + "bitwise_or" to listOf(1,1), + "bitwise_xor" to listOf(1,1), + "shift_bits" to listOf(1,1) + ) + + val pairWiseNames = pairWiseInputs.keys + + + val booleanReduceOps = mapOf( + "all" to Nd4j.create(listOf(true,false,true,false).toBooleanArray()).reshape(2,2), + "any" to Nd4j.create(listOf(true,false,true,false).toBooleanArray()).reshape(2,2) + ) + + val singularReduceOps = mapOf( + "reduce_mean" to Nd4j.linspace(1,4,4).reshape(2,2), + "reduce_prod" to Nd4j.linspace(1,4,4).reshape(2,2), + "reduce_min" to Nd4j.linspace(1,4,4).reshape(2,2), + "reduce_sum" to Nd4j.linspace(1,4,4).reshape(2,2), + "reduce_max" to Nd4j.linspace(1,4,4).reshape(2,2) + ) + + + + + val mappedOps = setOf( + "Assert", + "gather_nd", + "lstmBlock", + "lstmBlockCell", + "gruCell", + "igamma", + "igammac", + "lgamma", + "reduce_logsumexp", + "check_numerics", + "adjust_hue", + "adjust_saturation", + "reverse_sequence", + "depthwise_conv2d", + "resize_nearest_neighbor", + "scatter_nd", + "resize_area", + "rgb_to_hsv", + "resize_bicubic", + "resize_bilinear", + "listdiff", + "mirror_pad", + "histogram_fixed_width", + "extract_image_patches", + "ClipByValue", + "crop_and_resize", + "broadcast_dynamic_shape", + "broadcastgradientargs", + "lrn", + "batch_to_space_nd", + "space_to_batch_nd", + "draw_bounding_boxes", + "fused_batch_norm", + "conv3dnew", + "avgpool3dnew", + "maxpool3dnew", + "create", + "slice", + "strided_slice", + "select", + "compare_and_bitpack", + "bincount", + "broadcast_to", + "biasadd", + "condition", + "avgpool2d", + "maxpool2d", + "conv2d", + "dilation2d", + "batch_to_space", + "space_to_batch", + "dynamic_partition", + "dynamic_stitch", + "softmax", + "mergesum", + "matrix_set_diag", + "matrix_diag_part", + "identity_n", + "split", + "split_v", + "shapes_of", + "squeeze", + "bitcast", + "merge_sum", + "tile", + "matmul", + "range", + "lin_space", + "gather", + "betainc", + "concat", + "stack", + "unstack", + "merge", + "leakyrelu", + "shape_of", + "roll", + "reverse", + "relu", + "relu6", + "argmin", + "argmax", + "cross", + "cumsum", + "cumprod", + "diag", + "diag_part", + "digamma", + "depth_to_space", + "expand_dims", + "toggle_bits", + "invert_permutation", + //"enter", TODO: deal with frames or maybe ignore? + //"exit", + "in_top_k", + "top_k", + "lu", + "matrix_inverse", + "matrix_determinant", + "solve", + "triangular_solve", + "log_matrix_determinant", + "cholesky", + "reshape", + "noop", + "nth_element", + "non_max_suppression_overlaps", + "non_max_suppression", + "non_max_suppression_v3", + "onehot", + "pad", + "pow", + "transpose", + "space_to_depth", + "Where", + "unsorted_segment_max", + "unsorted_segment_min", + "unsorted_segment_prod", + "unsorted_segment_sum", + "unique_with_counts", + "unique", + "boolean_and", + "boolean_not", + "boolean_or", + "segment_mean", + "segment_min", + "segment_max", + "segment_prod", + "segment_sum" + + //"scatter_add", Skipping due to different op validation + //"scatter_sub", Skipping due to different op validation + //"scatter_update", Skipping due to different op validation + //"scatter_nd" Skipping due to different op validation + ) + + + + + //Skipping due to using references rather than tensors + //"scatter_nd_add", + //"scatter_nd_sub", + // "scatter_nd_update" + // //"scatter_min", + // //"scatter_mul",) + + val singularReduceNames = singularReduceOps.keys + val testedOps = HashSet() + //skip testing control flow + val controlFlowOps = setOf("Switch","While","placeholder","next_iteration","enter","exit","loop_cond") + val resourceOps = setOf("stack_list","size_list","scatter_list","read_list","split_list","gather_list") + val refOps = setOf("assign","scatter_add","scatter_sub","scatter_update") + val randomOps = setOf("random_gamma","random_crop","random_normal","random_poisson","random_shuffle","randomuniform") + testedOps.addAll(randomOps) + testedOps.addAll(controlFlowOps) + testedOps.addAll(resourceOps) + testedOps.addAll(refOps) + val importGraph = ImportGraph() + + tensorflowOpRegistry.mappingProcessNames().map { name -> + tensorflowOpRegistry.lookupOpMappingProcess(name) + }.forEach { mappingProcess -> + val nd4jOpDef = tensorflowOpRegistry.lookupNd4jOpDef(mappingProcess.opName()) + val tensorflowOpDef = tensorflowOpRegistry.lookupInputFrameworkOpDef(mappingProcess.inputFrameworkOpName()) + + if(singleInputOps.contains(nd4jOpDef.name) && tensorflowOpDef.name != "Variable" && tensorflowOpDef.name != "VariableV2" && tensorflowOpDef.name != "Const") { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("x") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + } + val tensorflowGraph = TensorflowIRGraph(graphDef, tensorflowOps) + val mappedGraph = importGraph.importGraph(tensorflowGraph,null,null,emptyMap(),OpRegistryHolder.tensorflow()).enableDebugMode()!! + Nd4j.getExecutioner().setProfilingConfig(ProfilerConfig.builder() + .stackTrace(true).build()) + val xVal = Nd4j.scalar(scalarInputs[mappingProcess.opName()]).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + val tensorflowRunner = TensorflowIRGraphRunner(irGraph = tensorflowGraph,inputNames = listOf("x"),outputNames = listOf("output")) + val inputs = mapOf("x" to xVal) + if(!mappedGraph.hasVariable("output")) + throw IllegalStateException("No output variable found. Variables include ${mappedGraph.variables}") + val tfResults = tensorflowRunner.run(inputs) + val results = mappedGraph.output(inputs,"output") + val tfOutput = tfResults["output"]!! + assertTrue(tfOutput.isScalar) + val nd4jOutput = results["output"]!! + assertTrue(nd4jOutput.isScalar) + assertEquals("Function ${nd4jOpDef.name} failed with input $xVal",nd4jOutput.getDouble(0), tfOutput.getDouble(0),1e-3) + testedOps.add(nd4jOpDef.name) + } + else if(singularReduceNames.contains(nd4jOpDef.name)) { + listOf(listOf(0),listOf(-1),listOf(0,1)).forEach { dimensions -> + listOf(true,false).forEach { keepDim -> + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val opNode = NodeDef { + Input("x") + Input("dimensions") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tidx",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("keep_dims",AttrValue { + b = keepDim + }) + } + + val tensorNode2 = NodeDef { + op = "Const" + name = "dimensions" + Attribute("value",AttrValue { + tensor = TensorProto { + Int32Data(dimensions) + dtype = DataType.DT_INT32 + tensorShape = TensorShapeProto { + Dims(listOf(1,dimensions.size.toLong())) + } + } + }) + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(tensorNode) + Node(tensorNode2) + Node(opNode) + } + + val mappingProcess = tensorflowOpRegistry.lookupOpMappingProcess(tensorflowOpDef.name) + val tensorflowGraph = TensorflowIRGraph(graphDef, tensorflowOps) + val mappedGraph = importGraph.importGraph(tensorflowGraph,null,null,emptyMap(),OpRegistryHolder.tensorflow())!! + val xVal = singularReduceOps[mappingProcess.opName()]!!.castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + val tensorflowRunner = TensorflowIRGraphRunner(irGraph = tensorflowGraph,inputNames = listOf("x"),outputNames = listOf("output")) + val inputs = mapOf("x" to xVal) + val results = mappedGraph.output(inputs,"output") + val tfResults = tensorflowRunner.run(inputs) + //2 dimensions means sum the whole array, sometimes there are subtle differences in the shape like 1,1 vs a zero length array which is effectively the same thing + if(dimensions.size < 2) + assertEquals("Function ${nd4jOpDef.name} failed with input $xVal and dimension ${dimensions}",tfResults["output"]!!, results["output"]!!) + else + assertEquals("Function ${nd4jOpDef.name} failed with input $xVal and dimension ${dimensions}",tfResults["output"]!!.reshape(1,1), results["output"]!!.reshape(1,1)) + + } + + } + + testedOps.add(nd4jOpDef.name) + + } else if(booleanReduceOps.keys.contains(nd4jOpDef.name)) { + listOf(listOf(0),listOf(-1),listOf(0,1)).forEach { dimensions -> + listOf(true,false).forEach { keepDim -> + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_BOOL + }) + } + + val opNode = NodeDef { + Input("x") + Input("dimensions") + op = tensorflowOpDef.name + name = "output" + + Attribute("Tidx",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("keep_dims",AttrValue { + b = keepDim + }) + } + + val tensorNode2 = NodeDef { + op = "Const" + name = "dimensions" + Attribute("value",AttrValue { + tensor = TensorProto { + Int32Data(dimensions) + dtype = DataType.DT_INT32 + tensorShape = TensorShapeProto { + Dims(listOf(1,dimensions.size.toLong())) + } + } + }) + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(tensorNode) + Node(tensorNode2) + Node(opNode) + } + + val mappingProcess = tensorflowOpRegistry.lookupOpMappingProcess(tensorflowOpDef.name) + val tensorflowGraph = TensorflowIRGraph(graphDef, tensorflowOps) + val mappedGraph = importGraph.importGraph(tensorflowGraph,null,null,emptyMap(),OpRegistryHolder.tensorflow())!! + val xVal = booleanReduceOps[mappingProcess.opName()]!! + val tensorflowRunner = TensorflowIRGraphRunner(irGraph = tensorflowGraph,inputNames = listOf("x"),outputNames = listOf("output")) + val inputs = mapOf("x" to xVal) + val results = mappedGraph.output(inputs,"output") + val tfResults = tensorflowRunner.run(inputs) + //2 dimensions means sum the whole array, sometimes there are subtle differences in the shape like 1,1 vs a zero length array which is effectively the same thing + if(dimensions.size < 2) + assertEquals("Function ${nd4jOpDef.name} failed with input $xVal and dimension ${dimensions}",tfResults["output"]!!, results["output"]!!) + else + assertEquals("Function ${nd4jOpDef.name} failed with input $xVal and dimension ${dimensions}",tfResults["output"]!!.reshape(1,1), results["output"]!!.reshape(1,1)) + + } + + } + + testedOps.add(nd4jOpDef.name) + + } else if(pairWiseNames.contains(nd4jOpDef.name)) { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val tensorNode2 = NodeDef { + op = "Placeholder" + name = "y" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val opNode = NodeDef { + Input("x") + Input("y") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + Node(tensorNode2) + } + + val mappingProcess = tensorflowOpRegistry.lookupOpMappingProcess(tensorflowOpDef.name) + val tensorflowGraph = TensorflowIRGraph(graphDef, tensorflowOps) + val mappedGraph = importGraph.importGraph(tensorflowGraph,null,null,dynamicVariables = mapOf("y" to TensorProto { + dtype = DataType.DT_DOUBLE + DoubleData(listOf(1.0)) + Shape(listOf(1,1)) + }),OpRegistryHolder.tensorflow())!! + + val xVal = Nd4j.scalar(pairWiseInputs[mappingProcess.opName()]!![0]) + .reshape(1,1) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + val yVal = Nd4j.scalar(pairWiseInputs[mappingProcess.opName()]!![1]) + .reshape(1,1) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val tensorflowRunner = TensorflowIRGraphRunner(irGraph = tensorflowGraph,inputNames = listOf("x","y"),outputNames = listOf("output")) + val inputs = mapOf("x" to xVal,"y" to yVal) + val results = mappedGraph.output(inputs,"output") + val tfResults = tensorflowRunner.run(inputs) + assertEquals("Function ${nd4jOpDef.name} failed with input $xVal",tfResults["output"]!!.reshape(1,1), results["output"]!!.reshape(1,1)) + testedOps.add(nd4jOpDef.name) + + } else if(pairWiseIntOps.contains(nd4jOpDef.name)) { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val tensorNode2 = NodeDef { + op = "Placeholder" + name = "y" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val opNode = NodeDef { + Input("x") + Input("y") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + } + + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + Node(tensorNode2) + } + + val tensorflowGraph = TensorflowIRGraph(graphDef, tensorflowOps) + val mappedGraph = importGraph.importGraph(tensorflowGraph,null,null,emptyMap(),OpRegistryHolder.tensorflow())!! + val xVal = Nd4j.scalar(pairWiseIntOps[mappingProcess.opName()]!![0]) + .reshape(1,1) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val yVal = Nd4j.scalar(pairWiseIntOps[mappingProcess.opName()]!![1]) + .reshape(1,1) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val tensorflowRunner = TensorflowIRGraphRunner(irGraph = tensorflowGraph,inputNames = listOf("x","y"),outputNames = listOf("output")) + val inputs = mapOf("x" to xVal,"y" to yVal) + val results = mappedGraph.output(inputs,"output") + val tfResults = tensorflowRunner.run(inputs) + assertEquals("Function ${nd4jOpDef.name} failed with input $xVal",tfResults["output"]!!.reshape(1,1), results["output"]!!.reshape(1,1)) + testedOps.add(nd4jOpDef.name) + + } else if(mappedOps.contains(mappingProcess.opName())) { + val graphInputList = graphForOp(nd4jOpName = mappingProcess.opName(),inputFrameworkOpName = mappingProcess.inputFrameworkOpName()) + graphInputList.forEach { graphInput -> + val tensorflowGraph = TensorflowIRGraph(graphInput.graphDef, tensorflowOps) + val dynamicOpsMap = HashMap() + graphInput.inputArrays.forEach { k, v -> + dynamicOpsMap[k] = convertNDArrayToTensorflowTensor(v) + } + + //NOTE: The output name here is different than the output names from samediff because we want every array from tensorflow for assertion purposes. + //The outputs from samediff might be slightly different (eg: not have every output tensorflow does or more) + + //tf2 ops don't currently work in nd4j-tensorflow and can't be verified + val tf2Ops = setOf("CheckNumericsV2","FusedBatchNormV3") + //these ops reflect ops that should generally be tested other ways and are usually tested down below + val bannedOps = setOf("noop","unique","unique_with_counts","matrix_determinant","log_matrix_determinant","Assert","split_v","identity_n","dynamic_partition","dynamic_stitch","draw_bounding_boxes","fused_batch_norm") + if(!bannedOps.contains(mappingProcess.opName()) && !tf2Ops.contains(mappingProcess.inputFrameworkOpName())) { + val tensorflowRunner = TensorflowIRGraphRunner(irGraph = tensorflowGraph,inputNames = graphInput.inputNames,outputNames = graphInput.outputNames) + + + val mappedGraph = importGraph.importGraph(tensorflowGraph,null,null,dynamicOpsMap,OpRegistryHolder.tensorflow()) + assertEquals("Input name mismatch with input array elements",graphInput.inputArrays.keys,graphInput.inputNames.toSet()) + + val tfResults = tensorflowRunner.run(graphInput.inputArrays) + val results = mappedGraph!!.output(graphInput.inputArrays,graphInput.outputNames) + if(mappingProcess.opName() == "bincount") { + val inputVal = Nd4j.create(doubleArrayOf(1.0, 2.0, 0.0, 1.0, 2.0, 2.0, 1.0, 2.0)) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val sizeVal = Nd4j.create(doubleArrayOf(3.0)) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val weightVal = Nd4j.create(doubleArrayOf(1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0)) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + println(Nd4j.getExecutioner().exec(DynamicCustomOp.builder("bincount").addInputs(inputVal,weightVal).addIntegerArguments(0,3).build())[0]) + println() + } + assertEquals("Function ${nd4jOpDef.name} failed with input ${graphInput.inputNames} " + + "with tfValue of shape ${tfResults.values.first().shapeInfoToString()} and nd4j ${results.values.first().shapeInfoToString()} and ${graphInput}" + ,tfResults.values.first(), results.values.first()) + } else if(mappingProcess.opName() == "unique_with_counts" || mappingProcess.opName() == "unique") { + //note: this is a separate case since the results are equal, minus dimensions + val tensorflowRunner = TensorflowIRGraphRunner(irGraph = tensorflowGraph,inputNames = graphInput.inputNames,outputNames = graphInput.outputNames) + + + val mappedGraph = importGraph.importGraph(tensorflowGraph,null,null,dynamicOpsMap,OpRegistryHolder.tensorflow()) + assertEquals("Input name mismatch with input array elements",graphInput.inputArrays.keys,graphInput.inputNames.toSet()) + + val tfResults = tensorflowRunner.run(graphInput.inputArrays) + val results = mappedGraph!!.output(graphInput.inputArrays,graphInput.outputNames) + assertEquals("Function ${nd4jOpDef.name} failed with input ${graphInput.inputNames}",tfResults.values.first().ravel(), results.values.first().ravel()) + }//slight difference in scalar result, doesn't matter in practice + else if(mappingProcess.opName() == "matrix_determinant" || mappingProcess.opName() == "log_matrix_determinant") { + //note: this is a separate case since the results are equal, minus dimensions + val tensorflowRunner = TensorflowIRGraphRunner(irGraph = tensorflowGraph,inputNames = graphInput.inputNames,outputNames = graphInput.outputNames) + + + val mappedGraph = importGraph.importGraph(tensorflowGraph,null,null,dynamicOpsMap,OpRegistryHolder.tensorflow()) + assertEquals("Input name mismatch with input array elements",graphInput.inputArrays.keys,graphInput.inputNames.toSet()) + + if(mappingProcess.opName() == "matrix_determinant") { + val tfResults = tensorflowRunner.run(graphInput.inputArrays) + val results = mappedGraph!!.output(graphInput.inputArrays,graphInput.outputNames) + assertEquals("Function ${nd4jOpDef.name} failed with input ${graphInput.inputNames}",tfResults["output"]!!.ravel().getDouble(0), results["output"]!!.ravel().getDouble(0),1e-3) + + } + } + else if(mappingProcess.opName() == "split_v" || mappingProcess.opName() == "identity_n" || mappingProcess.opName() == "dynamic_partition"|| mappingProcess.opName() == "dynamic_stitch") { + val tensorflowRunner = TensorflowIRGraphRunner(irGraph = tensorflowGraph,inputNames = graphInput.inputNames,outputNames = graphInput.outputNames) + + + val mappedGraph = importGraph.importGraph(tensorflowGraph,null,null,dynamicOpsMap,OpRegistryHolder.tensorflow()) + assertEquals("Input name mismatch with input array elements",graphInput.inputArrays.keys,graphInput.inputNames.toSet()) + + val tfResults = tensorflowRunner.run(graphInput.inputArrays) + val results = mappedGraph!!.output(graphInput.inputArrays,graphInput.outputNames) + assertEquals("Function ${nd4jOpDef.name} failed with input ${graphInput.inputNames}",tfResults, results) + + } else if(mappingProcess.opName() == "draw_bounding_boxes") { + val tensorflowRunner = TensorflowIRGraphRunner(irGraph = tensorflowGraph,inputNames = graphInput.inputNames,outputNames = graphInput.outputNames) + val mappedGraph = importGraph.importGraph(tensorflowGraph,null,null,dynamicOpsMap,OpRegistryHolder.tensorflow()) + assertEquals("Input name mismatch with input array elements",graphInput.inputArrays.keys,graphInput.inputNames.toSet()) + val tfResults = tensorflowRunner.run(graphInput.inputArrays) + val results = mappedGraph!!.output(graphInput.inputArrays,graphInput.outputNames) + assertEquals("Function ${nd4jOpDef.name} failed with input ${graphInput.inputNames}",tfResults, results) + + } + else if(mappingProcess.opName() == "fused_batch_norm") { + val tensorflowRunner = TensorflowIRGraphRunner(irGraph = tensorflowGraph,inputNames = graphInput.inputNames,outputNames = graphInput.outputNames) + + + val mappedGraph = importGraph.importGraph(tensorflowGraph,null,null,dynamicOpsMap,OpRegistryHolder.tensorflow()) + assertEquals("Input name mismatch with input array elements",graphInput.inputArrays.keys,graphInput.inputNames.toSet()) + + val tfResults = tensorflowRunner.run(graphInput.inputArrays) + val results = mappedGraph!!.output(graphInput.inputArrays,graphInput.outputNames) + assertEquals("Function ${nd4jOpDef.name} failed with input ${graphInput.inputNames}",tfResults["y"], results["y"]) + + } + + else if(!bannedOps.contains(mappingProcess.opName()) && !tf2Ops.contains(mappingProcess.inputFrameworkOpName())) { + //note that log outputs 2 results and the 2nd one is the one we need. The first result is a sign. + val tensorflowRunner = TensorflowIRGraphRunner(irGraph = tensorflowGraph,inputNames = graphInput.inputNames,outputNames = graphInput.outputNames) + + + val mappedGraph = importGraph.importGraph(tensorflowGraph,null,null,dynamicOpsMap,OpRegistryHolder.tensorflow()) + assertEquals("Input name mismatch with input array elements",graphInput.inputArrays.keys,graphInput.inputNames.toSet()) + + val tfResults = tensorflowRunner.run(graphInput.inputArrays) + val results = mappedGraph!!.output(graphInput.inputArrays,graphInput.outputNames) + assertEquals("Function ${nd4jOpDef.name} failed with input ${graphInput.inputNames}",tfResults["finalResult"]!!.ravel().getDouble(0), results["finalResult"]!!.ravel().getDouble(0),1e-3) + + } + + } + + testedOps.add(nd4jOpDef.name) + + } + } + + val differenceOfSet = tensorflowOpRegistry.mappedNd4jOpNames() - testedOps + println("Ops left to test is ${differenceOfSet.size} and ops are $differenceOfSet with total ops ran ${testedOps.size}") + println("Note we skipped ${controlFlowOps.size} testing control flow ops named $controlFlowOps") + println("Note we skipped ${resourceOps.size} testing resource ops named $resourceOps due to resources being handled differently than normal tensors") + println("Note we skipped ${refOps.size} testing resource ops named $refOps due to references being handled differently than normal tensors") + println("Note we skipped ${randomOps.size} testing resource ops named $randomOps due to random not being consistently testable. This may change in the short term.") + + } + + + + + + fun graphForOp(nd4jOpName: String,inputFrameworkOpName: String): List { + val tensorflowOpDef = tensorflowOpRegistry.lookupInputFrameworkOpDef(inputFrameworkOpName) + when (nd4jOpName) { + "check_numerics" -> { + val tensor = NodeDef { + name = "tensor" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("tensor") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("message",AttrValue { + s = ByteString.copyFrom("test message".toByteArray(Charset.defaultCharset())) + }) + } + + val graphDef = GraphDef { + Node(tensor) + Node(opNode) + } + + + + val xVal = Nd4j.create(floatArrayOf(1.0f,2.0f,3.0f)) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val inputs = mapOf("tensor" to xVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("tensor"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "gruCell" -> { + val x = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val hPrev = NodeDef { + name = "h_prev" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val wRu = NodeDef { + name = "w_ru" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val wC = NodeDef { + name = "w_c" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val bRu = NodeDef { + name = "b_ru" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val bc = NodeDef { + name = "b_c" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("x") + Input("h_prev") + Input("w_ru") + Input("w_c") + Input("b_ru") + Input("b_c") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val r = NodeDef { + name = "r" + Input("output:0") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val u = NodeDef { + name = "u" + Input("output:1") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val c = NodeDef { + name = "c" + Input("output:2") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val h = NodeDef { + name = "h" + Input("output:3") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val graphDef = GraphDef { + Node(x) + Node(hPrev) + Node(wRu) + Node(wC) + Node(bRu) + Node(bc) + Node(opNode) + Node(r) + Node(u) + Node(c) + Node(h) + } + + + + + val xVal = Nd4j.linspace(1,20,20).reshape(2,10) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val hPrevVal = Nd4j.linspace(1,8,8).reshape(2,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val wRuVal = Nd4j.linspace(1,112,112).reshape(14,8) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val wcVal = Nd4j.linspace(1,56,56).reshape(14,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val bRuVal = Nd4j.linspace(1,8,8).reshape(8) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val bcVal = Nd4j.linspace(1,4,4).reshape(4) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val inputs = mapOf("x" to xVal,"h_prev" to hPrevVal,"w_ru" to wRuVal,"w_c" to wcVal,"b_ru" to bRuVal,"b_c" to bcVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("x","h_prev","w_ru","w_c","b_ru","b_c"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "lstmBlockCell" -> { + val x = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val csPrev = NodeDef { + name = "cs_prev" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val hPrev = NodeDef { + name = "h_prev" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val w = NodeDef { + name = "w" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val wci = NodeDef { + name = "wci" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val wcf = NodeDef { + name = "wcf" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val wco = NodeDef { + name = "wco" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val bias = NodeDef { + name = "b" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("x") + Input("cs_prev") + Input("h_prev") + Input("w") + Input("wci") + Input("wcf") + Input("wco") + Input("b") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("forget_bias",AttrValue { + f = 2.0f + }) + + Attribute("use_peephole",AttrValue { + b = false + }) + } + + + val i = NodeDef { + name = "i" + Input("output:0") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val cs = NodeDef { + name = "cs" + Input("output:1") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val f = NodeDef { + name = "f" + Input("output:2") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val o = NodeDef { + name = "o" + Input("output:3") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val ci = NodeDef { + name = "ci" + Input("output:4") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val h = NodeDef { + name = "h" + Input("output:5") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val graphDef = GraphDef { + Node(x) + Node(csPrev) + Node(hPrev) + Node(w) + Node(wci) + Node(wcf) + Node(wco) + Node(bias) + Node(opNode) + Node(i) + Node(cs) + Node(f) + Node(o) + Node(ci) + Node(h) + } + + + + + val xVal = Nd4j.linspace(1,5,5).reshape(1,5) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val csPrevVal = Nd4j.linspace(1,3,3).reshape(1,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val hPrevVal = Nd4j.linspace(1,3,3).reshape(1,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val wVal = Nd4j.linspace(1,96,96).reshape(8,12) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val wciVal = Nd4j.linspace(1,3,3).reshape(3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val wcfVal = Nd4j.linspace(1,3,3).reshape(3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val wcoVal = Nd4j.linspace(1,3,3).reshape(3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val bVal = Nd4j.zeros(12) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + + + val inputs = mapOf("x" to xVal,"cs_prev" to csPrevVal,"h_prev" to hPrevVal,"w" to wVal,"wci" to wciVal,"wcf" to wcfVal,"wco" to wcoVal,"b" to bVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("x","cs_prev","h_prev","w","wci","wcf","wco","b"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "lstmBlock" -> { + if(inputFrameworkOpName == "BlockLSTM") { + val seqLenMax = NodeDef { + name = "seq_len_max" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val x = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val csPrev = NodeDef { + name = "cs_prev" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val hPrev = NodeDef { + name = "h_prev" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val w = NodeDef { + name = "w" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val wci = NodeDef { + name = "wci" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val wcf = NodeDef { + name = "wcf" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val wco = NodeDef { + name = "wco" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val bias = NodeDef { + name = "b" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("seq_len_max") + Input("x") + Input("cs_prev") + Input("h_prev") + Input("w") + Input("wci") + Input("wcf") + Input("wco") + Input("b") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("forget_bias",AttrValue { + f = 2.0f + }) + Attribute("forget_bias",AttrValue { + f = 3.0f + }) + Attribute("use_peephole",AttrValue { + b = false + }) + } + + + val i = NodeDef { + name = "i" + Input("output:0") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val cs = NodeDef { + name = "cs" + Input("output:1") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val f = NodeDef { + name = "f" + Input("output:2") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val o = NodeDef { + name = "o" + Input("output:3") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val ci = NodeDef { + name = "ci" + Input("output:4") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val h = NodeDef { + name = "h" + Input("output:5") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val graphDef = GraphDef { + Node(seqLenMax) + Node(x) + Node(csPrev) + Node(hPrev) + Node(w) + Node(wci) + Node(wcf) + Node(wco) + Node(bias) + Node(opNode) + Node(i) + Node(cs) + Node(f) + Node(o) + Node(ci) + Node(h) + } + + + + val seqLenVal = Nd4j.scalar(5.0) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + val xVal = Nd4j.linspace(1,20,20).reshape(5,1,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val csPrevVal = Nd4j.linspace(1,3,3).reshape(1,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val hPrevVal = Nd4j.linspace(1,3,3).reshape(1,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val wVal = Nd4j.linspace(1,84,84).reshape(7,12) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val wciVal = Nd4j.linspace(1,3,3).reshape(3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val wcfVal = Nd4j.linspace(1,3,3).reshape(3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val wcoVal = Nd4j.linspace(1,3,3).reshape(3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val bVal = Nd4j.zeros(12) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + + + val inputs = mapOf("seq_len_max" to seqLenVal,"x" to xVal,"cs_prev" to csPrevVal,"h_prev" to hPrevVal,"w" to wVal,"wci" to wciVal,"wcf" to wcfVal,"wco" to wcoVal,"b" to bVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("seq_len_max","x","cs_prev","h_prev","w","wci","wcf","wco","b"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } else { //BlockLSTMV2 + val seqLenMax = NodeDef { + name = "seq_len_max" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val x = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val csPrev = NodeDef { + name = "cs_prev" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val hPrev = NodeDef { + name = "h_prev" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val w = NodeDef { + name = "w" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val wci = NodeDef { + name = "wci" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val wcf = NodeDef { + name = "wcf" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val wco = NodeDef { + name = "wco" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val bias = NodeDef { + name = "b" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("seq_len_max") + Input("x") + Input("cs_prev") + Input("h_prev") + Input("w") + Input("wci") + Input("wcf") + Input("wco") + Input("b") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + + Attribute("use_peephole",AttrValue { + b = false + }) + } + + + val i = NodeDef { + name = "i" + Input("output:0") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val cs = NodeDef { + name = "cs" + Input("output:1") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val f = NodeDef { + name = "f" + Input("output:2") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val o = NodeDef { + name = "o" + Input("output:3") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val ci = NodeDef { + name = "ci" + Input("output:4") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val h = NodeDef { + name = "h" + Input("output:5") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val graphDef = GraphDef { + Node(seqLenMax) + Node(x) + Node(csPrev) + Node(hPrev) + Node(w) + Node(wci) + Node(wcf) + Node(wco) + Node(bias) + Node(opNode) + Node(i) + Node(cs) + Node(f) + Node(o) + Node(ci) + Node(h) + } + + + + val seqLenVal = Nd4j.scalar(5.0) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + val xVal = Nd4j.linspace(1,20,20).reshape(5,1,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val csPrevVal = Nd4j.linspace(1,3,3).reshape(1,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val hPrevVal = Nd4j.linspace(1,3,3).reshape(1,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val wVal = Nd4j.linspace(1,84,84).reshape(7,12) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val wciVal = Nd4j.linspace(1,3,3).reshape(3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val wcfVal = Nd4j.linspace(1,3,3).reshape(3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val wcoVal = Nd4j.linspace(1,3,3).reshape(3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val bVal = Nd4j.zeros(12) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + + + val inputs = mapOf("seq_len_max" to seqLenVal,"x" to xVal,"cs_prev" to csPrevVal,"h_prev" to hPrevVal,"w" to wVal,"wci" to wciVal,"wcf" to wcfVal,"wco" to wcoVal,"b" to bVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("seq_len_max","x","cs_prev","h_prev","w","wci","wcf","wco","b"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + } + + + + "adjust_hue","adjust_saturation" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val delta = NodeDef { + name = "delta" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("delta") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val graphDef = GraphDef { + Node(input) + Node(delta) + Node(opNode) + } + + + + val xVal = Nd4j.zeros(2,2,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val deltaVal = Nd4j.scalar(0.5).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val inputs = mapOf("input" to xVal,"delta" to deltaVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","delta"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "rgb_to_hsv" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val graphDef = GraphDef { + Node(input) + Node(opNode) + } + + + + val xVal = Nd4j.zeros(3,3,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val inputs = mapOf("input" to xVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "reverse_sequence" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val seqLengths = NodeDef { + name = "seq_lengths" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("seq_lengths") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("Tlen",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("seq_dim",AttrValue { + i = 2 + }) + Attribute("batch_dim",AttrValue { + i = 1 + }) + } + + val graphDef = GraphDef { + Node(input) + Node(seqLengths) + Node(opNode) + } + + + + val xVal = Nd4j.linspace(1,60,60).reshape(3,4,5) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val yVal = Nd4j.create(floatArrayOf(4f,4f,4f,4f)) + .reshape(4) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + + val inputs = mapOf("input" to xVal,"seq_lengths" to yVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","seq_lengths"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + "resize_nearest_neighbor" -> { + val images = NodeDef { + name = "images" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val size = NodeDef { + name = "size" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("images") + Input("size") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(images) + Node(size) + Node(opNode) + } + + + + val xVal = Nd4j.linspace(1,36,36).reshape(1,3,3,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val yVal = Nd4j.create(floatArrayOf(6f,6f)) + .reshape(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + + val inputs = mapOf("images" to xVal,"size" to yVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("images","size"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + "resize_bilinear" -> { + val images = NodeDef { + name = "images" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val size = NodeDef { + name = "size" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("images") + Input("size") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(images) + Node(size) + Node(opNode) + } + + + + val xVal = Nd4j.linspace(1,36,36).reshape(1,3,3,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val yVal = Nd4j.create(floatArrayOf(6f,6f)) + .reshape(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + + val inputs = mapOf("images" to xVal,"size" to yVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("images","size"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "resize_bicubic" -> { + val images = NodeDef { + name = "images" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val size = NodeDef { + name = "size" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("images") + Input("size") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(images) + Node(size) + Node(opNode) + } + + + + val xVal = Nd4j.linspace(1,36,36).reshape(1,3,3,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val yVal = Nd4j.create(floatArrayOf(6f,6f)) + .reshape(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + + val inputs = mapOf("images" to xVal,"size" to yVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("images","size"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "resize_area" -> { + val images = NodeDef { + name = "images" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val size = NodeDef { + name = "size" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("images") + Input("size") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(images) + Node(size) + Node(opNode) + } + + + + val xVal = Nd4j.linspace(1,36,36).reshape(1,3,3,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val yVal = Nd4j.create(floatArrayOf(6f,6f)) + .reshape(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + + val inputs = mapOf("images" to xVal,"size" to yVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("images","size"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "mirror_pad" -> { + val mirrorPadRet = ArrayList() + listOf("REFLECT","SYMMETRIC").forEach { mode -> + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val paddings = NodeDef { + name = "paddings" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("paddings") + op = tensorflowOpDef.name + name = "output" + Attribute("mode",AttrValue { + s = ByteString.copyFrom(mode.toByteArray(Charset.defaultCharset())) + }) + Attribute("Tpaddings",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val graphDef = GraphDef { + Node(input) + Node(paddings) + Node(opNode) + } + + + + val xVal = Nd4j.linspace(1,5,5).reshape(5) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val yVal = Nd4j.create(floatArrayOf(1f,1f)) + .reshape(1,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + + val inputs = mapOf("input" to xVal,"paddings" to yVal) + + + mirrorPadRet.add(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","paddings"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + return mirrorPadRet + } + + "listdiff" -> { + val x = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val y = NodeDef { + name = "y" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("x") + Input("y") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(x) + Node(y) + Node(opNode) + } + + + + val xVal = Nd4j.linspace(1,4,4).reshape(4) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val yVal = Nd4j.create(floatArrayOf(3f,1f)) + .reshape(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + + val inputs = mapOf("x" to xVal,"y" to yVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("x","y"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + + "histogram_fixed_width" -> { + val values = NodeDef { + name = "values" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val valueRange = NodeDef { + name = "value_range" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val nBins = NodeDef { + name = "nbins" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("values") + Input("value_range") + Input("nbins") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(values) + Node(valueRange) + Node(nBins) + Node(opNode) + } + + + + val valuesVal = Nd4j.ones(2,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val valueRangeVal = Nd4j.create(floatArrayOf(0f,5f)) + .reshape(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val nbinsVal = Nd4j.scalar(5f) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val inputs = mapOf("values" to valuesVal,"value_range" to valueRangeVal,"nbins" to nbinsVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("values","value_range","nbins"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + + "extract_image_patches" -> { + val images = NodeDef { + name = "images" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + // {2, 2, 2, 2, 0, 0, 1, 1, 1, 1, 1} + val opNode = NodeDef { + Input("images") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("ksizes",AttrValue { + ListInts(listOf(1,1,1,1)) + }) + Attribute("strides",AttrValue { + ListInts(listOf(1,1,1,1)) + }) + Attribute("rates",AttrValue { + ListInts(listOf(1,1,1,1)) + }) + Attribute("padding",AttrValue { + s = ByteString.copyFrom("SAME".toByteArray(Charset.defaultCharset())) + }) + } + val graphDef = GraphDef { + Node(images) + Node(opNode) + } + + //1,2,5,4 + + //3,2,2,2 + + + val imagesVal = Nd4j.ones(2,4,3,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + + + val inputs = mapOf("images" to imagesVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("images"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "crop_and_resize" -> { + val images = NodeDef { + name = "images" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val boxes = NodeDef { + name = "boxes" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val boxesI = NodeDef { + name = "boxesI" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val cropSize = NodeDef { + name = "cropSize" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("images") + Input("boxes") + Input("boxesI") + Input("cropSize") + + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val graphDef = GraphDef { + Node(images) + Node(boxes) + Node(boxesI) + Node(cropSize) + Node(opNode) + } + + + + val imagesVal = Nd4j.create(floatArrayOf(1f,2f,3f,4f)) + .reshape(1,2,2,1) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val boxesVal = Nd4j.create(floatArrayOf(0f,0f,1f,1f)) + .reshape(1,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val boxesIVal = Nd4j.create(floatArrayOf(0f)) + .reshape(1) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val cropSizeVal = Nd4j.create(floatArrayOf(1f,1f)) + .reshape(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val inputs = mapOf("images" to imagesVal,"boxes" to boxesVal,"boxesI" to boxesIVal,"cropSize" to cropSizeVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("images","boxes","boxesI","cropSize"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "broadcastgradientargs" -> { + val s0 = NodeDef { + name = "s0" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val s1 = NodeDef { + name = "s1" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("s0") + Input("s1") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(s0) + Node(s1) + Node(opNode) + } + + + + val s0Val = Nd4j.create(floatArrayOf(2f,2f,2f)) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val s1Val = Nd4j.create(floatArrayOf(2f,1f,2f)) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val inputs = mapOf("s0" to s0Val,"s1" to s1Val) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("s0","s1"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "broadcast_dynamic_shape" -> { + val s0 = NodeDef { + name = "s0" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val s1 = NodeDef { + name = "s1" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("s0") + Input("s1") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(s0) + Node(s1) + Node(opNode) + } + + + + val s0Val = Nd4j.create(floatArrayOf(2f,2f,2f)) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val s1Val = Nd4j.create(floatArrayOf(2f,1f,2f)) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val inputs = mapOf("s0" to s0Val,"s1" to s1Val) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("s0","s1"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "lrn" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + println("Running test import process for op ${tensorflowOpDef.name}") + // {2, 2, 2, 2, 0, 0, 1, 1, 1, 1, 1} + val opNode = NodeDef { + Input("input") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("depth_radius",AttrValue { + i = 5 + }) + Attribute("bias",AttrValue { + f = 1f + }) + Attribute("alpha",AttrValue { + f = 0.5f + }) + Attribute("beta",AttrValue { + f = 0.5f + }) + } + val graphDef = GraphDef { + Node(input) + Node(opNode) + } + + //1,2,5,4 + + //3,2,2,2 + + //1, 1,2,2,1, 1,2,2,1 + + val inputVal = Nd4j.linspace(1,16,16).reshape(2,2,2,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val inputs = mapOf("input" to inputVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "fused_batch_norm" -> { + val x = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val scale = NodeDef { + name = "scale" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val offset = NodeDef { + name = "offset" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val mean = NodeDef { + name = "mean" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val variance = NodeDef { + name = "variance" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + + val epsilon = 0.0001f + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("x") + Input("scale") + Input("offset") + Input("mean") + Input("variance") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("U",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("is_training",AttrValue { + b = false + }) + Attribute("data_format",AttrValue { + s = ByteString.copyFrom("NHWC".toByteArray(Charset.defaultCharset())) + }) + Attribute("epsilon",AttrValue { + f = epsilon + }) + } + + + val y = NodeDef { + name = "y" + Input("output:0") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val batchMean = NodeDef { + name = "batch_mean" + Input("output:1") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val batchVariance = NodeDef { + name = "batch_variance" + Input("output:2") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val graphDef = GraphDef { + Node(x) + Node(scale) + Node(mean) + Node(offset) + Node(variance) + Node(opNode) + Node(y) + Node(batchMean) + Node(batchVariance) + } + + + + val xVal = Nd4j.ones(2,2,2,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val scaleVal = Nd4j.zeros(2).addi(0.5) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + val offsetVal = Nd4j.zeros(2).addi(2).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + // xAffected *= (*variance + epsilon).transform(transform::RSqrt) * (*scale) + (*offset); + val testResult = Nd4j.ones(8,2).muli(Nd4j.exec(RSqrt(Nd4j.scalar(epsilon)))).muli(scaleVal).addi(offsetVal) + val meanVal = Nd4j.zeros(2) + val varianceVal = Nd4j.zeros(2) + val otherResult = xVal.sub(meanVal).div(varianceVal.add(epsilon)).mul(scaleVal).add(offsetVal) + // (batch - self.moving_mean) / (self.moving_var + epsilon) * gamma + beta. + + val inputs = mapOf("x" to xVal,"scale" to scaleVal,"mean" to meanVal,"offset" to offsetVal,"variance" to varianceVal) + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("x","scale","offset","mean","variance"), + outputNames = listOf("y","batch_mean","batch_variance"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + + "conv3dnew" -> { + // int bS=2, iD=3,iH=4,iW=3, iC=4,oC=3, kD=2,kH=3,kW=2, sD=1,sH=1,sW=1, pD=0,pH=0,pW=0, dD=1,dH=1,dW=1; + // int paddingMode = 1; // 1-SAME, 0-VALID; + //int dataFormat = 1; // 1-NDHWC, 0-NCDHW + //2,3,4,3,4 + //2,3,2,4,3 + //auto input = NDArrayFactory::create('c', {bS, iD, iH, iW, iC}); + //auto weights = NDArrayFactory::create('c', {kD, kH, kW, iC, oC}); +//, {kD,kH,kW, sD,sH,sW, pD,pH,pW, dD,dH,dW, paddingMode, 1, dataFormat} + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val filter = NodeDef { + name = "filter" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + // {2, 2, 2, 2, 0, 0, 1, 1, 1, 1, 1} + //, {kD,kH,kW, sD,sH,sW, pD,pH,pW, dD,dH,dW, paddingMode, 1, dataFormat} + + val opNode = NodeDef { + Input("input") + Input("filter") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("strides",AttrValue { + ListInts(listOf(1,1,1,1,1)) + }) + Attribute("padding",AttrValue { + s = ByteString.copyFrom("SAME".toByteArray(Charset.defaultCharset())) + }) + Attribute("data_format",AttrValue { + s = ByteString.copyFrom("NDHWC".toByteArray(Charset.defaultCharset())) + }) + } + val graphDef = GraphDef { + Node(input) + Node(filter) + Node(opNode) + } + + //1,2,5,4 + + //3,2,2,2 + + + val inputVal = Nd4j.ones(2,3,4,3,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val filterVal = Nd4j.ones(2,3,2,4,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("input" to inputVal,"filter" to filterVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","filter"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "avgpool3dnew","maxpool3dnew" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + // {2, 2, 2, 2, 0, 0, 1, 1, 1, 1, 1} + val opNode = NodeDef { + Input("input") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("ksize",AttrValue { + ListInts(listOf(1,1,1,1,1)) + }) + Attribute("strides",AttrValue { + ListInts(listOf(1,1,1,1,1)) + }) + Attribute("padding",AttrValue { + s = ByteString.copyFrom("SAME".toByteArray(Charset.defaultCharset())) + }) + Attribute("data_format",AttrValue { + s = ByteString.copyFrom("NDHWC".toByteArray(Charset.defaultCharset())) + }) + } + + + val graphDef = GraphDef { + Node(input) + Node(opNode) + } + + //2,3,3,43 + val inputVal = Nd4j.ones(2,3,3,4,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val inputs = mapOf("input" to inputVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "draw_bounding_boxes" -> { + val images = NodeDef { + name = "images" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val boxes = NodeDef { + name = "boxes" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val colors = NodeDef { + name = "colors" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("images") + Input("boxes") + Input("colors") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val graphDef = GraphDef { + Node(images) + Node(boxes) + Node(colors) + Node(opNode) + } + + + + val imagesVal = Nd4j.linspace(1,120,120).reshape(2,4,5,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val boxesVal = Nd4j.linspace(1,16,16).reshape(2,2,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + val colorVal = Nd4j.create(floatArrayOf(201f, 202f, 203f, 127f, 128f, 129f)).reshape(2,3) + + val inputs = mapOf("images" to imagesVal,"boxes" to boxesVal,"colors" to colorVal) + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("images","boxes","colors"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + + "create" -> { + val shape = NodeDef { + name = "shape" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("shape") + op = tensorflowOpDef.name + name = "output" + Attribute("init",AttrValue { + b = true + }) + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val graphDef = GraphDef { + Node(shape) + Node(opNode) + } + + + + val shapeVal = Nd4j.create(doubleArrayOf(1.0,2.0)) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val inputs = mapOf("shape" to shapeVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("shape"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + + "select" -> { + val condition = NodeDef { + name = "condition" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_BOOL + }) + } + + val t = NodeDef { + name = "t" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + val e = NodeDef { + name = "e" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("condition") + Input("t") + Input("e") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + val graphDef = GraphDef { + Node(condition) + Node(t) + Node(e) + Node(opNode) + } + + + + val conditionVal = Nd4j.create(booleanArrayOf(true,false,false)) + .castTo(org.nd4j.linalg.api.buffer.DataType.BOOL) + + val tVal = Nd4j.linspace(1,9,9).reshape(3,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val eVal = Nd4j.create(doubleArrayOf(9.0, 8.0, 7.0, 6.0, 5.0, 4.0, 3.0, 2.0, 1.0)) + .reshape(3,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("condition" to conditionVal,"t" to tVal,"e" to eVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("condition","t","e"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + + "compare_and_bitpack" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val threshold = NodeDef { + name = "threshold" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("threshold") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + val graphDef = GraphDef { + Node(input) + Node(threshold) + Node(opNode) + } + + + + val inputVal = Nd4j.create(floatArrayOf(-12f, -11f, -10f, -9f, -8f, -7f, -6f, -5f, -4f, -3f, -2f, -1f, 0f, 1f, 2f, 3f, 4f, 5f, 6f, 7f, 8f, 9f, 10f, 11f)).reshape(2,3,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val thresholdVal = Nd4j.scalar(2.0) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("input" to inputVal,"threshold" to thresholdVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","threshold"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "strided_slice" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val begin = NodeDef { + name = "begin" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val end = NodeDef { + name = "end" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val strides = NodeDef { + name = "strides" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("begin") + Input("end") + Input("strides") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Index",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("shrink_axis_mask",AttrValue { + i = 1 + }) + } + val graphDef = GraphDef { + Node(input) + Node(begin) + Node(end) + Node(strides) + Node(opNode) + } + + + + val inputVal = Nd4j.linspace(1,10,10).reshape(5,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val beginVal = Nd4j.create(doubleArrayOf(0.0)) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val endVal = Nd4j.create(doubleArrayOf(1.0)) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val strideVal = Nd4j.create(doubleArrayOf(1.0)) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val inputs = mapOf("input" to inputVal,"begin" to beginVal, "end" to endVal,"strides" to strideVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","begin","end","strides"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + "bincount" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val size = NodeDef { + name = "size" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val weights = NodeDef { + name = "weights" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("size") + Input("weights") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + val graphDef = GraphDef { + Node(input) + Node(size) + Node(weights) + Node(opNode) + } + + + + val inputVal = Nd4j.create(doubleArrayOf(1.0, 2.0, 0.0, 1.0, 2.0, 2.0, 1.0, 2.0)) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val sizeVal = Nd4j.create(doubleArrayOf(3.0)) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val weightVal = Nd4j.create(doubleArrayOf(1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0)) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("input" to inputVal,"size" to sizeVal, "weights" to weightVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","size","weights"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "broadcast_to" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val shape = NodeDef { + name = "shape" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("shape") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tidx",AttrValue { + type = DataType.DT_INT64 + }) + } + val graphDef = GraphDef { + Node(input) + Node(shape) + Node(opNode) + } + + + + val inputVal = Nd4j.create(doubleArrayOf(2.0)) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val shapeVal = Nd4j.zeros(2).addi(4) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + val inputs = mapOf("input" to inputVal,"shape" to shapeVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","shape"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "condition" -> { + val condition = NodeDef { + name = "condition" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_BOOL + }) + } + + val t = NodeDef { + name = "t" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val e = NodeDef { + name = "e" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("condition") + Input("t") + Input("e") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + val graphDef = GraphDef { + Node(condition) + Node(t) + Node(e) + Node(opNode) + } + + + + val conditionVal = Nd4j.create(booleanArrayOf(true,true,false,false)).reshape(2,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.BOOL) + + val tVal = Nd4j.linspace(1,4,4).reshape(2,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val eVal = Nd4j.linspace(1,4,4).reshape(2,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("condition" to conditionVal,"t" to tVal,"e" to eVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("condition","t","e"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "biasadd" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val bias = NodeDef { + name = "bias" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("bias") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + val graphDef = GraphDef { + Node(input) + Node(bias) + Node(opNode) + } + + + + val inputVal = Nd4j.linspace(1,2 * 3 * 3 * 2,2 * 3 * 3 * 2).reshape(2,3,3,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val biasVal = Nd4j.linspace(1,2,2).reshape(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("input" to inputVal,"bias" to biasVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","bias"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + "dilation2d" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val filter = NodeDef { + name = "filter" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + // {2, 2, 2, 2, 0, 0, 1, 1, 1, 1, 1} + val opNode = NodeDef { + Input("input") + Input("filter") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("strides",AttrValue { + ListInts(listOf(1,1,1,1)) + }) + Attribute("rates",AttrValue { + ListInts(listOf(1,1,1,1)) + }) + Attribute("padding",AttrValue { + s = ByteString.copyFrom("SAME".toByteArray(Charset.defaultCharset())) + }) + } + val graphDef = GraphDef { + Node(input) + Node(filter) + Node(opNode) + } + + //1,2,5,4 + + //3,2,2,2 + + //1, 1,2,2,1, 1,2,2,1 + + val inputVal = Nd4j.linspace(1,2 * 6 * 6 * 3,2 * 6 * 6 * 3).reshape(2,6,6,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val filterVal = Nd4j.linspace(1,3 * 2 * 3,3 * 2 * 3).reshape(3,2,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("input" to inputVal,"filter" to filterVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","filter"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "depthwise_conv2d" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val filter = NodeDef { + name = "filter" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + // {2, 2, 2, 2, 0, 0, 1, 1, 1, 1, 1} + val opNode = NodeDef { + Input("input") + Input("filter") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("strides",AttrValue { + ListInts(listOf(1,1,1,1)) + }) + Attribute("padding",AttrValue { + s = ByteString.copyFrom("SAME".toByteArray(Charset.defaultCharset())) + }) + Attribute("data_format",AttrValue { + s = ByteString.copyFrom("NHWC".toByteArray(Charset.defaultCharset())) + }) + } + val graphDef = GraphDef { + Node(input) + Node(filter) + Node(opNode) + } + + //1,2,5,4 + + //3,2,2,2 + + + val inputVal = Nd4j.ones(2,4,3,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val filterVal = Nd4j.ones(3,2,2,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("input" to inputVal,"filter" to filterVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","filter"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "conv2d" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val filter = NodeDef { + name = "filter" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + // {2, 2, 2, 2, 0, 0, 1, 1, 1, 1, 1} + val opNode = NodeDef { + Input("input") + Input("filter") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("strides",AttrValue { + ListInts(listOf(1,1,1,1)) + }) + Attribute("padding",AttrValue { + s = ByteString.copyFrom("SAME".toByteArray(Charset.defaultCharset())) + }) + Attribute("data_format",AttrValue { + s = ByteString.copyFrom("NHWC".toByteArray(Charset.defaultCharset())) + }) + } + val graphDef = GraphDef { + Node(input) + Node(filter) + Node(opNode) + } + + //1,2,5,4 + + //3,2,2,2 + + + val inputVal = Nd4j.ones(1,4,1,1) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val filterVal = Nd4j.ones(1,1,1,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("input" to inputVal,"filter" to filterVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","filter"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "avgpool2d","maxpool2d" -> { + if(tensorflowOpDef.name == "AvgPool" || tensorflowOpDef.name == "MaxPool") { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + // {2, 2, 2, 2, 0, 0, 1, 1, 1, 1, 1} + val opNode = NodeDef { + Input("input") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("ksize",AttrValue { + ListInts(listOf(1,1,1,1)) + }) + Attribute("strides",AttrValue { + ListInts(listOf(1,1,1,1)) + }) + Attribute("padding",AttrValue { + s = ByteString.copyFrom("SAME".toByteArray(Charset.defaultCharset())) + }) + Attribute("data_format",AttrValue { + s = ByteString.copyFrom("NHWC".toByteArray(Charset.defaultCharset())) + }) + } + + + val graphDef = GraphDef { + Node(input) + Node(opNode) + } + + val inputVal = Nd4j.ones(2,4,4,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + + val inputs = mapOf("input" to inputVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } else { //MaxPoolV2 + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val ksize = NodeDef { + name = "ksize" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val stride = NodeDef { + name = "stride" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + println("Running test import process for op ${tensorflowOpDef.name}") + // {2, 2, 2, 2, 0, 0, 1, 1, 1, 1, 1} + val opNode = NodeDef { + Input("input") + Input("ksize") + Input("stride") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + + Attribute("padding",AttrValue { + s = ByteString.copyFrom("SAME".toByteArray(Charset.defaultCharset())) + }) + Attribute("data_format",AttrValue { + s = ByteString.copyFrom("NHWC".toByteArray(Charset.defaultCharset())) + }) + } + + + val graphDef = GraphDef { + Node(input) + Node(ksize) + Node(stride) + Node(opNode) + } + + val inputVal = Nd4j.ones(2,4,4,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + val ksizeVal = Nd4j.create(floatArrayOf(1.0f,2.0f,2.0f,1.0f)).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val strideVal = Nd4j.create(floatArrayOf(1.0f,2.0f,2.0f,1.0f)).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val inputs = mapOf("input" to inputVal,"ksize" to ksizeVal,"stride" to strideVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","ksize","stride"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + } + + + "space_to_batch" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val paddings = NodeDef { + name = "paddings" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("paddings") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tpaddings",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("block_size",AttrValue { + i = 2 + }) + } + + + val graphDef = GraphDef { + Node(input) + Node(paddings) + Node(opNode) + } + + val inputVal = Nd4j.linspace(1,12,12).reshape(1,2,2,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val paddingsVal = Nd4j.zeros(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("input" to inputVal,"paddings" to paddingsVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","paddings"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + + "batch_to_space_nd" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val blockShape = NodeDef { + name = "block_shape" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("shape",AttrValue { + shape = TensorShapeProto { + Dims(listOf(3)) + } + }) + } + + val crops = NodeDef { + name = "crops" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("block_shape") + Input("crops") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tblock_shape",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("Tcrops",AttrValue { + type = DataType.DT_INT32 + }) + + } + + + val graphDef = GraphDef { + Node(input) + Node(blockShape) + Node(crops) + Node(opNode) + } + + val tVal = Nd4j.linspace(1,24,24).reshape(8,1,1,1,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val blockShapeVal = Nd4j.zeros(3).addi(2).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val cropsVal = Nd4j.zeros(3,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val inputs = mapOf("input" to tVal,"block_shape" to blockShapeVal,"crops" to cropsVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","block_shape","crops"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + "space_to_batch_nd" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val blockShape = NodeDef { + name = "block_shape" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("shape",AttrValue { + shape = TensorShapeProto { + Dims(listOf(3)) + } + }) + } + + val paddings = NodeDef { + name = "paddings" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("block_shape") + Input("paddings") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tblock_shape",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("Tpaddings",AttrValue { + type = DataType.DT_INT32 + }) + + } + + + val graphDef = GraphDef { + Node(input) + Node(blockShape) + Node(paddings) + Node(opNode) + } + + val tVal = Nd4j.linspace(1,48,48).reshape(2,2,4,3,1) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val blockShapeVal = Nd4j.create(floatArrayOf(2.0f,2.0f,3f)).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val paddingsVal = Nd4j.create(floatArrayOf(0f,0f,0f,2f,2f,1f)).reshape(3,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val inputs = mapOf("input" to tVal,"block_shape" to blockShapeVal,"paddings" to paddingsVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","block_shape","paddings"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + + "batch_to_space" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val crops = NodeDef { + name = "crops" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("crops") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tidx",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("block_size",AttrValue { + i = 2 + }) + } + + + val graphDef = GraphDef { + Node(input) + Node(crops) + Node(opNode) + } + + val tVal = Nd4j.linspace(1,12,12).reshape(4,1,1,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val cropsVal = Nd4j.zeros(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("input" to tVal,"crops" to cropsVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","crops"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + + "slice" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val begin = NodeDef { + name = "begin" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val size = NodeDef { + name = "size" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("begin") + Input("size") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Index",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val graphDef = GraphDef { + Node(input) + Node(begin) + Node(size) + Node(opNode) + } + + val tVal = Nd4j.linspace(1,12,12).reshape(3,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val beginVal = Nd4j.create(doubleArrayOf(0.0,1.0)).reshape(2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + val sizeVal = Nd4j.create(doubleArrayOf(0.0,1.0)).reshape(2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("input" to tVal,"begin" to beginVal,"size" to sizeVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","begin","size"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + + "ClipByValue" -> { + val t = NodeDef { + name = "t" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val clipValueMin = NodeDef { + name = "clip_value_min" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val clipValueMax = NodeDef { + name = "clip_value_max" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("t") + Input("clip_value_min") + Input("clip_value_max") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + val graphDef = GraphDef { + Node(t) + Node(clipValueMin) + Node(clipValueMax) + Node(opNode) + } + + val tVal = Nd4j.linspace(1,12,12).reshape(3,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val clipValueMinVal = Nd4j.scalar(0.0).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + val clipValueMaxVal = Nd4j.scalar(1.0).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + + val inputs = mapOf("t" to tVal,"clip_value_min" to clipValueMinVal,"clip_value_max" to clipValueMaxVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("t","clip_value_min","clip_value_max"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + + + + "squeeze" -> { + val value = NodeDef { + name = "value" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("value") + + op = tensorflowOpDef.name + name = "output" + Attribute("squeeze_dims",AttrValue { + ListInts(listOf(2)) + }) + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val graphDef = GraphDef { + Node(value) + Node(opNode) + } + + val valuesVal = Nd4j.linspace(1,12,12).reshape(3,4,1) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("value" to valuesVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("value"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + + "identity_n" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val input2 = NodeDef { + name = "input2" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("input2") + op = tensorflowOpDef.name + name = "output" + + Attribute("T",AttrValue { + ListDataType(listOf(DataType.DT_INT64,DataType.DT_INT64)) + }) + } + + + val out0 = NodeDef { + name = "out0" + Input("output:0") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + } + + val out1 = NodeDef { + name = "out1" + Input("output:1") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val graphDef = GraphDef { + Node(input) + Node(input2) + Node(opNode) + Node(out0) + Node(out1) + } + + + val inputVal = Nd4j.linspace(1,4,4) + .reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("input" to inputVal,"input2" to inputVal.dup()) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","input2"), + outputNames = listOf("out0","out1"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + + "shapes_of" -> { + val input1 = NodeDef { + name = "input1" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val input2 = NodeDef { + name = "input2" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val opNode = NodeDef { + Input("input1") + Input("input2") + + op = tensorflowOpDef.name + name = "output" + Attribute("N",AttrValue { + i = 2 + }) + + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("out_type",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val out0 = NodeDef { + name = "out0" + Input("output:0") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + } + + val out1 = NodeDef { + name = "out1" + Input("output:1") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + } + + + + val graphDef = GraphDef { + Node(input1) + Node(input2) + Node(opNode) + Node(out0) + Node(out1) + } + + val input1Val = Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + val input2Val = Nd4j.linspace(1,6,6).reshape(2,3).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("input1" to input1Val,"input2" to input2Val) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input1","input2"), + outputNames = listOf("out0","out1"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + + + "dynamic_stitch" -> { + val indices1 = NodeDef { + name = "indices" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val indices2 = NodeDef { + name = "indices2" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + val data0 = NodeDef { + name = "data0" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val data1 = NodeDef { + name = "data1" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("indices") + Input("indices2") + Input("data0") + Input("data1") + + op = tensorflowOpDef.name + name = "output" + Attribute("N",AttrValue { + i = 2 + }) + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + + + + val graphDef = GraphDef { + Node(indices1) + Node(indices2) + Node(data0) + Node(data1) + Node(opNode) + } + + val testGraph = GraphRunner.builder().graphBytes(graphDef.toByteArray()).build() + + val indicesVal = Nd4j.create(floatArrayOf(1.0f,3.0f)).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val indices2Val = Nd4j.create(floatArrayOf(5.0f,0.0f,2.0f,4.0f)).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val dataVal = Nd4j.create(floatArrayOf(-1f,-1f)).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + val data2Val = Nd4j.create(floatArrayOf(0.1f,5.2f,4.3f,7.4f)).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("indices" to indicesVal,"indices2" to indices2Val,"data0" to dataVal,"data1" to data2Val) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("indices","indices2","data0","data1"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + "dynamic_partition" -> { + val data = NodeDef { + name = "data" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val partitions = NodeDef { + name = "partitions" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("data") + Input("partitions") + + op = tensorflowOpDef.name + name = "output" + Attribute("num_partitions",AttrValue { + i = 2 + }) + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val out0 = NodeDef { + name = "out0" + Input("output:0") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val out1 = NodeDef { + name = "out1" + Input("output:1") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + } + + + + val graphDef = GraphDef { + Node(data) + Node(partitions) + Node(opNode) + Node(out0) + Node(out1) + } + + val testGraph = GraphRunner.builder().graphBytes(graphDef.toByteArray()).build() + + val partitionsVal = Nd4j.create(floatArrayOf(0f,0f,1f,1f,0f)).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val dataVal = Nd4j.create(floatArrayOf(10f, 20f, 30f, 40f, 50f)).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + val inputs = mapOf("data" to dataVal,"partitions" to partitionsVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("data","partitions"), + outputNames = listOf("out0","out1"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + + "split_v" -> { + val splitDim = NodeDef { + name = "split_dim" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + + val sizeSplits = NodeDef { + name = "size_splits" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val value = NodeDef { + name = "value" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("value") + Input("size_splits") + Input("split_dim") + + op = tensorflowOpDef.name + name = "output" + Attribute("num_split",AttrValue { + i = 2 + }) + Attribute("Tlen",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val out0 = NodeDef { + name = "out0" + Input("output:0") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + } + + val out1 = NodeDef { + name = "out1" + Input("output:1") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val graphDef = GraphDef { + Node(value) + Node(sizeSplits) + Node(splitDim) + Node(opNode) + Node(out0) + Node(out1) + } + + val splitDimVal = Nd4j.scalar(-2.0).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val sizeSplitsVal = Nd4j.create(floatArrayOf(5f,3f)).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + val valuesVal = Nd4j.linspace(1,56,56) + .reshape(8,7).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("split_dim" to splitDimVal,"value" to valuesVal,"size_splits" to sizeSplitsVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("value","size_splits","split_dim"), + outputNames = listOf("out0","out1"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + "split" -> { + val splitDim = NodeDef { + name = "split_dim" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val value = NodeDef { + name = "value" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("split_dim") + Input("value") + + op = tensorflowOpDef.name + name = "output" + Attribute("num_split",AttrValue { + i = 2 + }) + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val graphDef = GraphDef { + Node(splitDim) + Node(value) + Node(opNode) + } + + val concatDimVal = Nd4j.scalar(0.0).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val valuesVal = Nd4j.create(floatArrayOf(0f,1f,0f,1f)) + .reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("split_dim" to concatDimVal,"value" to valuesVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("split_dim","value"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + + "matmul" -> { + val mmulInput = ArrayList() + listOf(false,true).forEach { transA -> + listOf(false,true).forEach { transB -> + val a = NodeDef { + name = "a" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val bNode = NodeDef { + name = "b" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("a") + Input("b") + + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("transpose_a",AttrValue { + b = transA + }) + Attribute("transpose_b",AttrValue { + b = transB + }) + } + + + val graphDef = GraphDef { + Node(a) + Node(bNode) + Node(opNode) + } + + val aVal = Nd4j.linspace(1,4,4).reshape(2,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + val bVal = Nd4j.create(floatArrayOf(0f,1f,0f,1f)) + .reshape(2,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + + val inputs = mapOf("a" to aVal,"b" to bVal) + mmulInput.add(GraphInput( + graphDef =graphDef, + inputNames = listOf("a","b"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + } + + + return mmulInput + + + } + + "range" -> { + val start = NodeDef { + name = "start" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_INT32 + }) + } + + val limit = NodeDef { + name = "limit" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_INT32 + }) + } + + + val delta = NodeDef { + name = "delta" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_INT32 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("start") + Input("limit") + Input("delta") + op = tensorflowOpDef.name + name = "output" + Attribute("Tidx", AttrValue { + type = DataType.DT_INT32 + }) + } + + + val graphDef = GraphDef { + Node(start) + Node(limit) + Node(delta) + Node(opNode) + } + + val startVal = Nd4j.scalar(1) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val limitVal = Nd4j.scalar(1).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val deltaVal = Nd4j.scalar(1).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val inputs = mapOf("start" to startVal, "limit" to limitVal, "delta" to deltaVal) + + + return listOf( + GraphInput( + graphDef = graphDef, inputNames = listOf("start", "limit", "delta"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + ) + ) + + } + + "lin_space" -> { + val start = NodeDef { + name = "start" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val stop = NodeDef { + name = "stop" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + val num = NodeDef { + name = "num" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("start") + Input("stop") + Input("num") + op = tensorflowOpDef.name + name = "output" + Attribute("T", AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tidx", AttrValue { + type = DataType.DT_INT64 + }) + } + + + val graphDef = GraphDef { + Node(start) + Node(stop) + Node(num) + Node(opNode) + } + + val startVal = Nd4j.scalar(1) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + val limitVal = Nd4j.scalar(1).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + val deltaVal = Nd4j.scalar(1).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("start" to startVal,"stop" to + limitVal, "num" to deltaVal) + + + return listOf( + GraphInput( + graphDef = graphDef, + inputNames = listOf("start", "stop","num"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = mapOf("limit" to limitVal) + ) + ) + + } + + "gather","gather_nd" -> { + val params = NodeDef { + name = "params" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val indices = NodeDef { + name = "indices" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("params") + Input("indices") + + op = tensorflowOpDef.name + name = "output" + Attribute("Tparams",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("Tindices",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val graphDef = GraphDef { + Node(params) + Node(indices) + Node(opNode) + } + + val paramsVal = Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + val indicesVal = Nd4j.create(floatArrayOf(0f,1f,0f,1f)) + .reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("params" to paramsVal,"indices" to indicesVal.dup()) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("params","indices"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + "stack" -> { + val concat1 = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val concat2 = NodeDef { + name = "input2" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("input2") + + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("N",AttrValue { + i = 2 + }) + Attribute("axis",AttrValue { + i = 0 + }) + } + + + val graphDef = GraphDef { + Node(concat1) + Node(concat2) + Node(opNode) + } + + val inputVal = Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("input" to inputVal,"input2" to inputVal.dup()) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","input2"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "unstack" -> { + val concat1 = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("num",AttrValue { + i = 2 + }) + Attribute("axis",AttrValue { + i = 0 + }) + } + + + val graphDef = GraphDef { + Node(concat1) + Node(opNode) + } + + val inputVal = Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("input" to inputVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "mergesum" -> { + val concat1 = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val concat2 = NodeDef { + name = "input2" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("input2") + + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("N",AttrValue { + i = 2 + }) + } + + + val graphDef = GraphDef { + Node(concat1) + Node(concat2) + Node(opNode) + } + + val inputVal = Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("input" to inputVal,"input2" to inputVal.dup()) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","input2"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "merge" -> { + val concat1 = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val concat2 = NodeDef { + name = "input2" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("input2") + + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("N",AttrValue { + i = 2 + }) + } + + + val graphDef = GraphDef { + Node(concat1) + Node(concat2) + Node(opNode) + } + + val inputVal = Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("input" to inputVal,"input2" to inputVal.dup()) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","input2"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + "concat" -> { + if(inputFrameworkOpName == "Concat") { + val concatDim = NodeDef { + name = "concat_dim" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("value",AttrValue { + tensor = TensorProto { + dtype = DataType.DT_INT32 + Int32Data(listOf(0)) + Shape(listOf()) + } + }) + } + val concat1 = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val concat2 = NodeDef { + name = "input2" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("concat_dim") + Input("input") + Input("input2") + + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("N",AttrValue { + i = 2 + }) + } + + + val graphDef = GraphDef { + Node(concatDim) + Node(concat1) + Node(concat2) + Node(opNode) + } + + val inputVal = Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("input" to inputVal,"input2" to inputVal.dup()) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","input2"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } else { //ConcatV2 + val concatDim = NodeDef { + name = "concat_dim" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("value",AttrValue { + tensor = TensorProto { + dtype = DataType.DT_INT32 + Int32Data(listOf(0)) + Shape(listOf()) + } + }) + } + val concat1 = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val concat2 = NodeDef { + name = "input2" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("input2") + Input("concat_dim") + + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("N",AttrValue { + i = 2 + }) + } + + + val graphDef = GraphDef { + Node(concat1) + Node(concat2) + Node(concatDim) + Node(opNode) + } + + val inputVal = Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("input" to inputVal,"input2" to inputVal.dup()) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","input2"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + } + + "shape_of" -> { + val tensorNode = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("out_type",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + } + + val inputVal = Nd4j.create(floatArrayOf(1.0f,0.0f)).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("input" to inputVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "toggle_bits","invert_permutation" -> { + val tensorNode = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + } + + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + } + + val inputVal = Nd4j.create(floatArrayOf(1.0f,0.0f)).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val inputs = mapOf("input" to inputVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "reverse" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + + } + + val axis = NodeDef { + name = "axis" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + + } + + val opNode = NodeDef { + Input("input") + Input("axis") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("Tidx",AttrValue { + type = DataType.DT_INT32 + }) + } + + + + val graphDef = GraphDef { + Node(input) + Node(axis) + Node(opNode) + } + + + val inputVal = Nd4j.zeros(2,2).addi(0.5) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val axisVal = Nd4j.zeros(1).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val inputs = mapOf("input" to inputVal,"axis" to axisVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","axis"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "roll" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + + } + + val shift = NodeDef { + name = "shift" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + + } + + val axis = NodeDef { + name = "axis" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + + } + + val opNode = NodeDef { + Input("input") + Input("shift") + Input("axis") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("Tshift",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("Taxis",AttrValue { + type = DataType.DT_INT32 + }) + } + + + + val graphDef = GraphDef { + Node(input) + Node(shift) + Node(axis) + Node(opNode) + } + + + val inputVal = Nd4j.zeros(2,2).addi(0.5) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val shiftVal = Nd4j.zeros(2).addi(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val axisVal = Nd4j.zeros(2).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val inputs = mapOf("input" to inputVal,"shift" to shiftVal,"axis" to axisVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","shift","axis"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "tile" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + + } + + val multiples = NodeDef { + name = "multiples" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + + } + + val opNode = NodeDef { + Input("input") + Input("multiples") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("Tmultiples",AttrValue { + type = DataType.DT_INT32 + }) + } + + + + val graphDef = GraphDef { + Node(input) + Node(multiples) + Node(opNode) + } + + + val inputVal = Nd4j.zeros(2,2).addi(0.5) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val multiplesVal = Nd4j.zeros(2).addi(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val inputs = mapOf("input" to inputVal,"multiples" to multiplesVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","multiples"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "leakyrelu" -> { + val a = NodeDef { + name = "a" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + + } + + val opNode = NodeDef { + Input("a") + + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("alpha",AttrValue { + f = 0.1f + }) + } + + + + val graphDef = GraphDef { + Node(a) + Node(opNode) + } + + + val aVal = Nd4j.zeros(2,2).addi(0.5) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + + val inputs = mapOf("a" to aVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("a"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + "betainc" -> { + val a = NodeDef { + name = "a" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val b = NodeDef { + name = "b" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val x = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val opNode = NodeDef { + Input("a") + Input("b") + Input("x") + + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + + val graphDef = GraphDef { + Node(a) + Node(b) + Node(x) + Node(opNode) + } + + + val aVal = Nd4j.zeros(2,2).addi(0.5) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val bVal = Nd4j.zeros(2,2).addi(0.5) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val xVal = Nd4j.zeros(2,2).addi(0.5) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val inputs = mapOf("a" to aVal,"b" to bVal,"x" to xVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("a","b","x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + "top_k" -> { + if(tensorflowOpDef.name == "TopK") { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + + val opNode = NodeDef { + Input("input") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("k",AttrValue { + i = 2 + }) + } + + + + val graphDef = GraphDef { + Node(input) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + + val inputs = mapOf("input" to xVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } else { //TopKV2 + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val k = NodeDef { + name = "k" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("value",AttrValue { + tensor = TensorProto { + Int32Data(listOf(2)) + dtype = DataType.DT_INT32 + + } + }) + } + + val opNode = NodeDef { + Input("input") + Input("k") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + + } + + + + val graphDef = GraphDef { + Node(input) + Node(k) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + + val inputs = mapOf("input" to xVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + } + "enter" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + val opNode = NodeDef { + Input("input") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("is_constant",AttrValue { + b = false + }) + Attribute("frame_name",AttrValue { + s = ByteString.copyFrom("hello".toByteArray(Charset.defaultCharset())) + }) + + } + + val graphDef = GraphDef { + Node(input) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 6, 6) + .reshape(2, 3) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val inputs = mapOf("input" to xVal) + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "Assert" -> { + val condition = NodeDef { + name = "condition" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_BOOL + }) + } + + val input = NodeDef { + name = "input" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("value",AttrValue { + tensor = TensorProto { + FloatData(listOf(0.0f)) + dtype = DataType.DT_FLOAT + + } + }) + } + + + val opNode = NodeDef { + Input("condition") + Input("input") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + ListDataType(listOf(DataType.DT_FLOAT)) + }) + + } + + val graphDef = GraphDef { + Node(condition) + Node(input) + Node(opNode) + } + + + val xVal = Nd4j.create(listOf(true,true,true,true).toBooleanArray()) + + val inputs = mapOf("condition" to xVal) + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("condition"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + + "bitcast" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val opNode = NodeDef { + Input("input") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("type",AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(input) + Node(opNode) + } + + + val xVal = Nd4j.zeros(2,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + val inputs = mapOf("input" to xVal) + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "exit" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + val opNode = NodeDef { + Input("input") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + + } + + val graphDef = GraphDef { + Node(input) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 6, 6) + .reshape(2, 3) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val inputs = mapOf("input" to xVal) + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "expand_dims" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val n = NodeDef { + name = "dimension" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("value",AttrValue { + tensor = TensorProto { + Int32Data(listOf(0)) + dtype = DataType.DT_INT32 + + } + }) + } + + val opNode = NodeDef { + Input("input") + Input("dimension") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + + } + + val graphDef = GraphDef { + Node(input) + Node(n) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 6, 6) + .reshape(2, 3) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val inputs = mapOf("input" to xVal) + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "non_max_suppression","non_max_suppression_v3" -> { + if(inputFrameworkOpName == "NonMaxSuppression") { + val overlaps = NodeDef { + name = "overlaps" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val scores = NodeDef { + name = "scores" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val maxOutputSize = NodeDef { + name = "maxOutputSize" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("value",AttrValue { + tensor = TensorProto { + Int32Data(listOf(1)) + dtype = DataType.DT_INT32 + + } + }) + } + + + + val opNode = NodeDef { + Input("overlaps") + Input("scores") + Input("maxOutputSize") + op = tensorflowOpDef.name + name = "output" + Attribute("iou_threshold",AttrValue { + f = 0.5f + }) + } + + val graphDef = GraphDef { + Node(overlaps) + Node(scores) + Node(maxOutputSize) + Node(opNode) + } + + + + val overlapsVal = Nd4j.create(arrayOf( + floatArrayOf(0f,0f,1f,1f), + floatArrayOf(0f,0.1f,1f,1.1f), + floatArrayOf(0f,-0.1f,1f,0.9f), + floatArrayOf(0f,10f,1f,11f) + )).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val scoresVal = Nd4j.create(listOf(0.9f,0.75f,0.6f,0.95f).toFloatArray()) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val inputs = mapOf("overlaps" to overlapsVal,"scores" to scoresVal) + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("overlaps","scores"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + else if(inputFrameworkOpName == "NonMaxSuppressionV2") { + val overlaps = NodeDef { + name = "overlaps" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val scores = NodeDef { + name = "scores" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val maxOutputSize = NodeDef { + name = "maxOutputSize" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("value",AttrValue { + tensor = TensorProto { + Int32Data(listOf(1)) + dtype = DataType.DT_INT32 + + } + }) + } + + val iouThreshold = NodeDef { + name = "iouThreshold" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("value",AttrValue { + tensor = TensorProto { + FloatData(listOf(0.5f)) + dtype = DataType.DT_FLOAT + + } + }) + } + + + + val opNode = NodeDef { + Input("overlaps") + Input("scores") + Input("maxOutputSize") + Input("iouThreshold") + op = tensorflowOpDef.name + name = "output" + + } + + val graphDef = GraphDef { + Node(overlaps) + Node(scores) + Node(iouThreshold) + Node(maxOutputSize) + Node(opNode) + } + + + + val overlapsVal = Nd4j.create(arrayOf( + floatArrayOf(0f,0f,1f,1f), + floatArrayOf(0f,0.1f,1f,1.1f), + floatArrayOf(0f,-0.1f,1f,0.9f), + floatArrayOf(0f,10f,1f,11f) + )).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val scoresVal = Nd4j.create(listOf(0.9f,0.75f,0.6f,0.95f).toFloatArray()) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val inputs = mapOf("overlaps" to overlapsVal,"scores" to scoresVal) + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("overlaps","scores"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } else { + //V3 and later + val overlaps = NodeDef { + name = "overlaps" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val scores = NodeDef { + name = "scores" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val maxOutputSize = NodeDef { + name = "maxOutputSize" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("value",AttrValue { + tensor = TensorProto { + Int32Data(listOf(1)) + dtype = DataType.DT_INT32 + + } + }) + } + + val overlapThreshold = NodeDef { + name = "iouThreshold" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("value",AttrValue { + tensor = TensorProto { + FloatData(listOf(0.5f)) + dtype = DataType.DT_FLOAT + + } + }) + } + + val scoreThreshold = NodeDef { + name = "scoreThreshold" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("value",AttrValue { + tensor = TensorProto { + FloatData(listOf(0.5f)) + dtype = DataType.DT_FLOAT + + } + }) + } + + val opNode = NodeDef { + Input("overlaps") + Input("scores") + Input("maxOutputSize") + Input("iouThreshold") + Input("scoreThreshold") + op = tensorflowOpDef.name + name = "output" + + } + + val graphDef = GraphDef { + Node(overlaps) + Node(scores) + Node(scoreThreshold) + Node(overlapThreshold) + Node(maxOutputSize) + Node(opNode) + } + + + + val overlapsVal = Nd4j.create(arrayOf( + floatArrayOf(0f,0f,1f,1f), + floatArrayOf(0f,0.1f,1f,1.1f), + floatArrayOf(0f,-0.1f,1f,0.9f), + floatArrayOf(0f,10f,1f,11f) + )).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val scoresVal = Nd4j.create(listOf(0.9f,0.75f,0.6f,0.95f).toFloatArray()) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val inputs = mapOf("overlaps" to overlapsVal,"scores" to scoresVal) + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("overlaps","scores"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + } + + "non_max_suppression_overlaps" -> { + val overlaps = NodeDef { + name = "overlaps" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val scores = NodeDef { + name = "scores" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val maxOutputSize = NodeDef { + name = "maxOutputSize" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("value",AttrValue { + tensor = TensorProto { + Int32Data(listOf(1)) + dtype = DataType.DT_INT32 + + } + }) + } + + val overlapThreshold = NodeDef { + name = "overlapThreshold" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("value",AttrValue { + tensor = TensorProto { + FloatData(listOf(2.0f)) + dtype = DataType.DT_FLOAT + + } + }) + } + + val scoreThreshold = NodeDef { + name = "scoreThreshold" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("value",AttrValue { + tensor = TensorProto { + FloatData(listOf(0.5f)) + dtype = DataType.DT_FLOAT + + } + }) + } + + val opNode = NodeDef { + Input("overlaps") + Input("scores") + Input("maxOutputSize") + Input("overlapThreshold") + Input("scoreThreshold") + op = tensorflowOpDef.name + name = "output" + + } + + val graphDef = GraphDef { + Node(overlaps) + Node(scores) + Node(scoreThreshold) + Node(overlapThreshold) + Node(maxOutputSize) + Node(opNode) + } + + + + val overlapsVal = Nd4j.create(arrayOf( + floatArrayOf(0f,0f,1f,1f), + floatArrayOf(0f,0.1f,1f,1.1f), + floatArrayOf(0f,-0.1f,1f,0.9f), + floatArrayOf(0f,10f,1f,11f) + )).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val scoresVal = Nd4j.create(listOf(0.9f,0.75f,0.6f,0.95f).toFloatArray()) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val inputs = mapOf("overlaps" to overlapsVal,"scores" to scoresVal) + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("overlaps","scores"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + + )) + } + + "nth_element" -> { + val ret = ArrayList() + listOf(true,false).forEach { reverse -> + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val n = NodeDef { + name = "n" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("value",AttrValue { + tensor = TensorProto { + Int32Data(listOf(2)) + dtype = DataType.DT_INT32 + + } + }) + } + + val opNode = NodeDef { + Input("input") + Input("n") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + + Attribute("reverse",AttrValue { + type = DataType.DT_BOOL + b = reverse + }) + + } + + val graphDef = GraphDef { + Node(input) + Node(n) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 6, 6) + .reshape(2, 3) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val inputs = mapOf("input" to xVal) + + ret.add(GraphInput( + graphDef =graphDef, inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + return ret + } + + + "cholesky" -> { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + val opNode = NodeDef { + Input("x") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + + } + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + } + + + val xVal = Nd4j.create(floatArrayOf(4f,12f,-16f, 12f ,37f,-43f, -16f, -43f, 98f)) + .reshape(3,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("x" to xVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "matrix_diag_part" -> { + val retSolve = ArrayList() + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + + + val opNode = NodeDef { + Input("input") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + + + } + + val graphDef = GraphDef { + Node(input) + Node(opNode) + } + + + val inputVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + + val inputs = mapOf("input" to inputVal) + + + retSolve.add(GraphInput( + graphDef = graphDef, inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + + return retSolve + + } + + + "matrix_set_diag","matrix_diag_part" -> { + val retSolve = ArrayList() + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val diagonal = NodeDef { + name = "diagonal" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + + val opNode = NodeDef { + Input("input") + Input("diagonal") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + + + } + + val graphDef = GraphDef { + Node(input) + Node(diagonal) + Node(opNode) + } + + + val inputVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val diagonalVal = Nd4j.zeros(2).addi(1) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("input" to inputVal,"diagonal" to diagonalVal) + + + retSolve.add(GraphInput( + graphDef = graphDef, inputNames = listOf("input","diagonal"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + + return retSolve + + } + + "solve","triangular_solve" -> { + val retSolve = ArrayList() + listOf(false,true).forEach { useAdjoint -> + val a = NodeDef { + name = "a" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val bNode = NodeDef { + name = "b" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + + val opNode = NodeDef { + Input("a") + Input("b") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("adjoint",AttrValue { + b = useAdjoint + }) + + } + + val graphDef = GraphDef { + Node(a) + Node(bNode) + Node(opNode) + } + + + val aVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val bVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("a" to aVal,"b" to bVal) + + + retSolve.add(GraphInput( + graphDef = graphDef, inputNames = listOf("a","b"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + return retSolve + + } + + "matrix_determinant","log_matrix_determinant" -> { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + val opNode = NodeDef { + Input("x") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + + } + + val finalResult = NodeDef { + Input("output:1") + op = "Identity" + name = "finalResult" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + + } + + if(nd4jOpName == "log_matrix_determinant") { + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + Node(finalResult) + } + + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("x" to xVal) + + + return listOf(GraphInput( + graphDef = graphDef, inputNames = listOf("x"), + outputNames = listOf("finalResult"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } else { + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("x" to xVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + } + + + "lu" -> { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + val opNode = NodeDef { + Input("x") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + + } + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("x" to xVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "matrix_inverse" -> { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + val opNode = NodeDef { + Input("x") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + + } + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("x" to xVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "in_top_k" -> { + if(tensorflowOpDef.name == "InTopK") { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val predictions = NodeDef { + name = "predictions" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val opNode = NodeDef { + Input("x") + Input("predictions") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("k",AttrValue { + i = 2 + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(predictions) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val predictionsArr = Nd4j.linspace(1, 2, 2) + .reshape(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val inputs = mapOf("x" to xVal,"predictions" to predictionsArr) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("x","predictions"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } else { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val predictions = NodeDef { + name = "predictions" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val k = NodeDef { + name = "k" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("value",AttrValue { + tensor = TensorProto { + Int32Data(listOf(2)) + dtype = DataType.DT_INT32 + + } + }) + } + + val opNode = NodeDef { + Input("x") + Input("predictions") + Input("k") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(predictions) + Node(k) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val predictionsArr = Nd4j.linspace(1, 2, 2) + .reshape(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val inputs = mapOf("x" to xVal,"predictions" to predictionsArr) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("x","predictions"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + + } + + + "onehot" -> { + val indices = NodeDef { + name = "indices" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val depth = NodeDef { + name = "depth" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("value",AttrValue { + tensor = TensorProto { + dtype = DataType.DT_INT32 + Int32Data(listOf(1)) + + } + }) + } + + val onValue = NodeDef { + name = "on" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("value",AttrValue { + tensor = TensorProto { + dtype = DataType.DT_INT64 + Int64Data(listOf(1)) + + } + }) + } + + + val offValue = NodeDef { + name = "off" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("value",AttrValue { + tensor = TensorProto { + dtype = DataType.DT_INT64 + Int64Data(listOf(0)) + + } + }) + } + + + val opNode = NodeDef { + Input("indices") + Input("depth") + Input("on") + Input("off") + op = tensorflowOpDef.name + name = "output" + Attribute("TI",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + + Attribute("axis",AttrValue { + i = 0 + }) + } + + + + val graphDef = GraphDef { + Node(indices) + Node(depth) + Node(onValue) + Node(offValue) + Node(opNode) + } + + + val indicesVal = Nd4j.linspace(1, 4, 4) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + val inputs = mapOf("indices" to indicesVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("indices"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "cross" -> { + val a = NodeDef { + name = "a" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val b = NodeDef { + name = "b" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val opNode = NodeDef { + Input("a") + Input("b") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + + } + + + + val graphDef = GraphDef { + Node(a) + Node(b) + Node(opNode) + } + + + val aVal = Nd4j.linspace(1, 27, 27) + .reshape(3,3,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val bVal = Nd4j.linspace(1, 27, 27) + .reshape(3,3,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val inputs = mapOf("a" to aVal,"b" to bVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("a","b"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "transpose" -> { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val tensorNode2 = NodeDef { + op = "Const" + name = "perm" + Attribute("value",AttrValue { + tensor = TensorProto { + Int32Data(listOf(0,1)) + Shape(listOf(2)) + dtype = DataType.DT_INT32 + } + }) + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val opNode = NodeDef { + Input("x") + Input("perm") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tperm",AttrValue { + type = DataType.DT_INT32 + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(tensorNode2) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + + + val inputs = mapOf("x" to xVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + "relu", "relu6" -> { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + val opNode = NodeDef { + Input("x") + op = tensorflowOpDef.name + name = "output" + Attribute("T", AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("x" to xVal) + + return listOf(GraphInput( + graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + }, inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "depth_to_space","space_to_depth" -> { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + val opNode = NodeDef { + Input("x") + op = tensorflowOpDef.name + name = "output" + Attribute("T", AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("data_format", AttrValue { + s = ByteString.copyFrom("NHWC".toByteArray(Charset.defaultCharset())) + }) + Attribute("block_size", AttrValue { + i = 2 + }) + } + + val xVal = Nd4j.linspace(1, 256, 256) + .reshape(4, 4,4,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("x" to xVal) + + return listOf(GraphInput( + graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + }, inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "softmax","digamma","diag","diag_part","lgamma" -> { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + val opNode = NodeDef { + Input("x") + op = tensorflowOpDef.name + name = "output" + Attribute("T", AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("x" to xVal) + + return listOf(GraphInput( + graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + }, inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "cumsum","cumprod" -> { + val ret = ArrayList() + listOf(false,true).forEach { reverse -> + listOf(false,true).forEach { exclusive -> + val inputNames = listOf("x") + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val dimensions = listOf(1) + val tensorNode2 = NodeDef { + op = "Const" + name = "dimensions" + Attribute("value",AttrValue { + tensor = TensorProto { + Int32Data(dimensions) + dtype = DataType.DT_INT32 + tensorShape = TensorShapeProto { + Dims(listOf()) + } + } + }) + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val opNode = NodeDef { + Input("x") + Input("dimensions") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("exclusive",AttrValue { + b = exclusive + }) + + Attribute("reverse",AttrValue { + b = reverse + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(tensorNode2) + Node(opNode) + } + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + + val inputs = mapOf("x" to xVal) + ret.add(GraphInput( + graphDef =graphDef, inputNames = inputNames, + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + } + + return ret + + } + + "Assert" -> { + val tensorNode = NodeDef { + name = "condition" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_BOOL + }) + } + + val tensorNode2 = NodeDef { + op = "Placeholder" + name = "data" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running op def for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("condition") + Input("data") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + ListDataType(listOf(DataType.DT_DOUBLE)) + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + Node(tensorNode2) + } + + val inputs = mapOf("data" to Nd4j.linspace(1,4,4).castTo( + org.nd4j.linalg.api.buffer.DataType.DOUBLE + ),"condition" to Nd4j.ones(2).addi(1).castTo(org.nd4j.linalg.api.buffer.DataType.BOOL)) + return listOf(GraphInput(graphDef = graphDef, + inputNames = listOf("condition","data"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs)) + } + + + "Where" -> { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + println("Running op def for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("x") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + } + + val inputs = mapOf("x" to Nd4j.linspace(1,4,4).castTo( + org.nd4j.linalg.api.buffer.DataType.DOUBLE + )) + return listOf(GraphInput(graphDef = graphDef,inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs)) + } + + + + "boolean_or" -> { + println("Running op def for op ${tensorflowOpDef.name}") + val inputNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_BOOL + }) + } + + + val secondNode = NodeDef { + name = "y" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_BOOL + }) + } + + val opNode = NodeDef { + Input("x") + Input("y") + name = "and" + op = tensorflowOpDef.name + } + + + val inputs = mapOf("x" to Nd4j.ones(2,2).castTo( + org.nd4j.linalg.api.buffer.DataType.BOOL + ), "y" to Nd4j.zeros(2,2).castTo( + org.nd4j.linalg.api.buffer.DataType.BOOL + )) + + + val graphDef = GraphDef { + Node(inputNode) + Node(secondNode) + Node(opNode) + } + + return listOf(GraphInput(graphDef = graphDef,inputNames = listOf("x","y"), + outputNames = listOf("and"), + inputArrays = inputs, + dynamicArrays = inputs)) + } + + + "boolean_and" -> { + println("Running op def for op ${tensorflowOpDef.name}") + val inputNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_BOOL + }) + } + + + val secondNode = NodeDef { + name = "y" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_BOOL + }) + } + + val opNode = NodeDef { + Input("x") + Input("y") + name = "and" + op = tensorflowOpDef.name + } + + + val inputs = mapOf("x" to Nd4j.ones(2,2).castTo( + org.nd4j.linalg.api.buffer.DataType.BOOL + ), "y" to Nd4j.zeros(2,2).castTo( + org.nd4j.linalg.api.buffer.DataType.BOOL + )) + + + val graphDef = GraphDef { + Node(inputNode) + Node(secondNode) + Node(opNode) + } + + return listOf(GraphInput(graphDef = graphDef,inputNames = listOf("x","y"), + outputNames = listOf("and"), + inputArrays = inputs, + dynamicArrays = inputs)) + } + + + "igamma","igammac" -> { + println("Running op def for op ${tensorflowOpDef.name}") + val a = NodeDef { + name = "a" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val x = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + + val opNode = NodeDef { + Input("a") + Input("x") + name = "igamma" + op = tensorflowOpDef.name + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val inputs = mapOf("a" to Nd4j.ones(2,2).castTo( + org.nd4j.linalg.api.buffer.DataType.FLOAT + ),"x" to Nd4j.ones(2,2).castTo( + org.nd4j.linalg.api.buffer.DataType.FLOAT + )) + + val graphDef = GraphDef { + Node(a) + Node(x) + Node(opNode) + } + + return listOf(GraphInput(graphDef = graphDef,inputNames = listOf("a","x"), + outputNames = listOf("igamma"), + inputArrays = inputs, + dynamicArrays = inputs)) + } + + "boolean_not" -> { + println("Running op def for op ${tensorflowOpDef.name}") + val inputNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_BOOL + }) + } + + + + + val opNode = NodeDef { + Input("x") + name = "not" + op = tensorflowOpDef.name + } + + + val inputs = mapOf("x" to Nd4j.ones(2,2).castTo( + org.nd4j.linalg.api.buffer.DataType.BOOL + )) + + val graphDef = GraphDef { + Node(inputNode) + Node(opNode) + } + + return listOf(GraphInput(graphDef = graphDef,inputNames = listOf("x"), + outputNames = listOf("not"), + inputArrays = inputs, + dynamicArrays = inputs)) + } + + + "noop" -> { + println("Running op def for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + name = "noop" + op = tensorflowOpDef.name + } + + + + val graphDef = GraphDef { + Node(opNode) + } + + return listOf(GraphInput(graphDef = graphDef, + inputNames = listOf(), + outputNames = listOf(), + inputArrays = emptyMap(), + dynamicArrays = emptyMap())) + } + + "While" -> { + println("Running op def for op ${tensorflowOpDef.name}") + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + ListDataType(listOf(DataType.DT_DOUBLE)) + }) + } + + + val opNode = NodeDef { + Input("x") + name = "while" + op = tensorflowOpDef.name + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + } + + val inputs = mapOf("x" to Nd4j.scalar(1.0)) + + return listOf(GraphInput(graphDef = graphDef,inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs)) + } + + "unique_with_counts","unique" -> { + println("Running op def for op ${tensorflowOpDef.name}") + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + if(tensorflowOpDef.name == "UniqueWithCountsV2" || tensorflowOpDef.name == "UniqueV2") { + val axis = NodeDef { + name = "axis" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val opNode = NodeDef { + Input("x") + Input("axis") + name = "output" + op = tensorflowOpDef.name + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(axis) + Node(opNode) + } + + val inputs = mapOf("x" to Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE), + "axis" to Nd4j.scalar(1).reshape(1).castTo(org.nd4j.linalg.api.buffer.DataType.INT64)) + + return listOf(GraphInput(graphDef = graphDef,inputNames = listOf("x","axis"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs)) + } + else { + val opNode = NodeDef { + Input("x") + name = "output" + op = tensorflowOpDef.name + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + } + + val inputs = mapOf("x" to Nd4j.linspace(1,4,4).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE)) + + return listOf(GraphInput(graphDef = graphDef,inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs)) + } + + } + + + "pad" -> { + if(tensorflowOpDef.name == "Pad") { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val tensorNode2 = NodeDef { + op = "Placeholder" + name = "paddings" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val opNode = NodeDef { + Input("x") + Input("paddings") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tpaddings",AttrValue { + type = DataType.DT_INT32 + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + Node(tensorNode2) + } + + val inputs = mapOf("x" to Nd4j.linspace(1,4,4).castTo( + org.nd4j.linalg.api.buffer.DataType.DOUBLE + ),"paddings" to Nd4j.ones(1,2).addi(1).castTo(org.nd4j.linalg.api.buffer.DataType.INT32)) + return listOf(GraphInput(graphDef = graphDef,inputNames = listOf("x","paddings"),outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs)) + } else if(tensorflowOpDef.name == "PadV2"){ + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val tensorNode2 = NodeDef { + op = "Placeholder" + name = "paddings" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val constantValues = NodeDef { + op = "Const" + name = "constant_values" + Attribute("value",AttrValue { + tensor = TensorProto { + DoubleData(listOf(1.0)) + dtype = DataType.DT_DOUBLE + tensorShape = TensorShapeProto { + Dims(listOf()) + } + } + }) + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val opNode = NodeDef { + Input("x") + Input("paddings") + Input("constant_values") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tpaddings",AttrValue { + type = DataType.DT_INT32 + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + Node(constantValues) + Node(tensorNode2) + + } + + val inputs = mapOf("x" to Nd4j.linspace(1,4,4).castTo( + org.nd4j.linalg.api.buffer.DataType.DOUBLE + ),"paddings" to Nd4j.ones(1,2).addi(1).castTo(org.nd4j.linalg.api.buffer.DataType.INT32)) + return listOf(GraphInput(graphDef = graphDef,inputNames = listOf("x","paddings"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs)) + } else { + throw IllegalArgumentException("Illegal mapping for padding op $tensorflowOpDef.name") + } + + } + + + "reshape" -> { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val tensorNode2 = NodeDef { + op = "Placeholder" + name = "shape" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val opNode = NodeDef { + Input("x") + Input("shape") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + Node(tensorNode2) + } + + val inputs = mapOf("x" to Nd4j.linspace(1,4,4).castTo( + org.nd4j.linalg.api.buffer.DataType.DOUBLE + ),"shape" to Nd4j.ones(2).addi(1).castTo(org.nd4j.linalg.api.buffer.DataType.INT32)) + return listOf(GraphInput(graphDef = graphDef,inputNames = listOf("x","shape"),outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs)) + } + + "reduce_logsumexp" -> { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val opNode = NodeDef { + Input("x") + Input("dimensions") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tidx",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("exclusive",AttrValue { + b = false + }) + } + + val dimensions = listOf(0) + val tensorNode2 = NodeDef { + op = "Const" + name = "dimensions" + Attribute("value",AttrValue { + tensor = TensorProto { + Int32Data(dimensions) + dtype = DataType.DT_INT32 + tensorShape = TensorShapeProto { + Dims(listOf()) + } + } + }) + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(tensorNode) + Node(tensorNode2) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("x" to xVal) + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "argmin", "argmax" -> { + val ret = ArrayList() + listOf(true, false).forEach { keepDim -> + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val opNode = NodeDef { + Input("x") + Input("dimensions") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tidx",AttrValue { + type = DataType.DT_INT32 + }) + } + + val dimensions = listOf(0) + val tensorNode2 = NodeDef { + op = "Const" + name = "dimensions" + Attribute("value",AttrValue { + tensor = TensorProto { + Int32Data(dimensions) + dtype = DataType.DT_INT32 + tensorShape = TensorShapeProto { + Dims(listOf()) + } + } + }) + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(tensorNode) + Node(tensorNode2) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("x" to xVal) + + ret.add(GraphInput( + graphDef =graphDef, inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + return ret + } + + "pow" -> { + val ret = ArrayList() + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val tensorNode2 = NodeDef { + op = "Const" + name = "y" + Attribute("value",AttrValue { + tensor = TensorProto { + DoubleData(listOf(1.0)) + dtype = DataType.DT_DOUBLE + tensorShape = TensorShapeProto { + Dims(listOf()) + } + } + }) + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val opNode = NodeDef { + Input("x") + Input("y") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(tensorNode2) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("x" to xVal) + + ret.add(GraphInput( + graphDef =graphDef, inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + return ret + } + + + + //scatter_div + //TODO: Revisit. TF op validation seems to be different than ours. + "scatter_add","scatter_sub","scatter_min","scatter_sub","scatter_min","scatter_mul","scatter_update","scatter_nd","scatter_nd_add","scatter_nd_sub","scatter_nd_update" -> { + val ret = ArrayList() + listOf(true,false).forEach { lock -> + val xRef = NodeDef { + name = "shape" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + val tensorNode2 = NodeDef { + op = "Placeholder" + name = "indices" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + val updates2 = NodeDef { + op = "Placeholder" + name = "updates" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val opNode = NodeDef { + Input("indices") + Input("updates") + Input("shape") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("Tindices",AttrValue { + type = DataType.DT_INT32 + }) + } + + + val graphDef = GraphDef { + Node(xRef) + Node(tensorNode2) + Node(updates2) + Node(opNode) + } + + + //from testScatterOpGradients. + val shape = Nd4j.scalar(8).reshape(1).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val indices = Nd4j.create(floatArrayOf(4f,3f,1f,7f)).reshape(4,1) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val updates = Nd4j.linspace(1,4,4).reshape(4).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val inputs = mapOf("shape" to shape,"updates" to updates,"indices" to indices) + + ret.add(GraphInput( + graphDef =graphDef, inputNames = listOf("indices","updates","shape"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + + + + + return ret + } + + + + + "segment_mean", "segment_min","segment_max","segment_prod","segment_sum" -> { + val ret = ArrayList() + val tensorNode = NodeDef { + name = "data" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val segmentIds = NodeDef { + op = "Placeholder" + name = "segment_ids" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + val opNode = NodeDef { + Input("data") + Input("segment_ids") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tindices",AttrValue { + type = DataType.DT_INT32 + }) + + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(segmentIds) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 12, 12) + .reshape(3, 4) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + + val indices = Nd4j.create(floatArrayOf(1.0f,2.0f,3.0f)).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val inputs = mapOf("data" to xVal,"segment_ids" to indices) + + ret.add(GraphInput( + graphDef =graphDef, inputNames = listOf("data","segment_ids"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + + return ret + } + + + "unsorted_segment_sum", "unsorted_segment_prod","unsorted_segment_min","unsorted_segment_max" -> { + val ret = ArrayList() + val tensorNode = NodeDef { + name = "data" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val segmentIds = NodeDef { + op = "Placeholder" + name = "segment_ids" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val numSegmentsNode = NodeDef { + op = "Const" + name = "num_segments" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + + Attribute(name = "value",value = AttrValue { + tensor = TensorProto { + Shape(listOf()) + Int32Data(listOf(2)) + DataType(DataType.DT_INT32) + } + }) + } + + val opNode = NodeDef { + Input("data") + Input("segment_ids") + Input("num_segments") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tindices",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("Tnumsegments",AttrValue { + type = DataType.DT_INT32 + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(segmentIds) + Node(numSegmentsNode) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 12, 12) + .reshape(3, 4) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + + val indices = Nd4j.create(floatArrayOf(0.0f,1.0f,0.0f)).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val numSegments = Nd4j.scalar(2).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val inputs = mapOf("data" to xVal,"segment_ids" to indices,"num_segments" to numSegments) + + ret.add(GraphInput( + graphDef =graphDef, inputNames = listOf("data","segment_ids","num_segments"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + + return ret + } + + + else -> { + throw IllegalArgumentException("Illegal op name $inputFrameworkOpName") + } + } + } + +} + diff --git a/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/ir/tensorflow/TestTensorflowRuleDeclarations.kt b/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/ir/tensorflow/TestTensorflowRuleDeclarations.kt new file mode 100644 index 000000000..ed653e161 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/ir/tensorflow/TestTensorflowRuleDeclarations.kt @@ -0,0 +1,478 @@ +package org.nd4j.codegen.ir.tensorflow + +import org.junit.jupiter.api.Test +import org.nd4j.codegen.ir.ArgDescriptor +import org.nd4j.ir.TensorNamespace +import org.nd4j.shade.protobuf.ByteString +import java.nio.charset.Charset +import kotlin.test.assertEquals +import kotlin.test.assertTrue + +class TestTensorflowRuleDeclarations { + + @Test + fun testArgConstant() { + val opDef = tensorflowOps.findOp("Dilation2D") + val intItems = listOf(2,1,1,1) + val valueNodeDef = NodeDef { + op = "Dilation2D" + name = "inputs" + Attribute(name = "strides",value = AttrValue { + list = ListValue { + IntItems(intItems) + } + }) + } + + val shape = listOf(1,1).map { it.toLong() } + val valueNodeDef2 = NodeDef { + op = "Constant" + name = "inputs" + Attribute(name = "value",value = AttrValue { + tensor = TensorProto { + Shape(shape) + DoubleData(listOf(1.0)) + } + }) + } + + + + val graphDef = GraphDef { + Node(valueNodeDef) + Node(valueNodeDef2) + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph,dynamicVariables = emptyMap()) + val convertNumberListToInputNDArrayRule = argDescriptorConstant(listOf(ArgDescriptor { + name = "value" + int32Value = 1 + })) + + val convertNumberListToInputNDArrayResult = convertNumberListToInputNDArrayRule.convertAttributes(mappingContext) + + assertEquals(1,convertNumberListToInputNDArrayResult.size) + assertEquals(1,convertNumberListToInputNDArrayResult[0].int32Value) + } + + + + @Test + fun testConvertNDArrayInputToScalarAttr() { + val opDef = tensorflowOps.findOp("Dilation2D") + val intItems = listOf(2,1,1,1) + val valueNodeDef = NodeDef { + op = "Dilation2D" + name = "inputs" + Attribute(name = "strides",value = AttrValue { + list = ListValue { + IntItems(intItems) + } + }) + } + + val shape = listOf(1,1).map { it.toLong() } + val valueNodeDef2 = NodeDef { + op = "Constant" + name = "inputs" + Attribute(name = "value",value = AttrValue { + tensor = TensorProto { + Shape(shape) + DoubleData(listOf(1.0)) + } + }) + } + + + + val graphDef = GraphDef { + Node(valueNodeDef) + Node(valueNodeDef2) + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph,dynamicVariables = emptyMap()) + val convertNumberListToInputNDArrayRule = convertNDArrayInputToNumericalAttr(mutableMapOf("output" to "inputs ")) + val convertNumberListToInputNDArrayResult = convertNumberListToInputNDArrayRule.convertAttributes(mappingContext) + assertEquals(1,convertNumberListToInputNDArrayResult.size) + assertEquals(2,convertNumberListToInputNDArrayResult[0].int64Value) + } + + @Test + fun testListAttributeValueLookupToIndex() { + val opDef = tensorflowOps.findOp("Dilation2D") + val intItems = listOf(2,1,1,1) + val valueNodeDef = NodeDef { + op = "Dilation2D" + name = "inputs" + Attribute(name = "strides",value = AttrValue { + list = ListValue { + IntItems(intItems) + } + }) + } + + + val graphDef = GraphDef { + Node(valueNodeDef) + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph,dynamicVariables = emptyMap()) + val convertNumberListToInputNDArrayRule = listAttributeValueLookupToIndex(outputAttributeValue = "output", inputAttributeValue = "strides", idx = 0,argumentIndex = 0) + val convertNumberListToInputNDArrayResult = convertNumberListToInputNDArrayRule.convertAttributes(mappingContext) + assertEquals(1,convertNumberListToInputNDArrayResult.size) + assertEquals(2,convertNumberListToInputNDArrayResult[0].int64Value) + } + + + @Test + fun testConvertNumberListToInputNDArray() { + val opDef = tensorflowOps.findOp("Dilation2D") + val intItems = listOf(1,1,1,1) + val valueNodeDef = NodeDef { + op = "Dilation2D" + name = "inputs" + Attribute(name = "strides",value = AttrValue { + list = ListValue { + IntItems(intItems) + } + }) + } + + + val graphDef = GraphDef { + Node(valueNodeDef) + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph,dynamicVariables = emptyMap()) + val convertNumberListToInputNDArrayRule = convertNumberListToInputNDArray(outputAttributeValue = "output",inputAttributeValue = "strides") + val convertNumberListToInputNDArrayResult = convertNumberListToInputNDArrayRule.convertAttributes(mappingContext) + assertEquals(1,convertNumberListToInputNDArrayResult.size) + val inputVal = convertNumberListToInputNDArrayResult[0].inputValue + assertEquals(2,inputVal.dimsCount) + val testList = inputVal.int64DataList + testList.forEach { + assertEquals(1,it) + } + } + + @Test + fun testValueMapping() { + val opDef = tensorflowOps.findOp("CudnnRNN") + val valueNodeDef = NodeDef { + op = "CudnnRNN" + name = "inputs" + Attribute(name = "is_training",value = AttrValue { + b = true + }) + Attribute(name = "seed",value = AttrValue { + i = 1 + }) + Attribute(name = "dropout",value = AttrValue { + f = 1.0f + }) + Attribute(name = "direction",value = AttrValue { + s = ByteString.copyFrom("unidirectional".toByteArray(Charset.defaultCharset())) + }) + } + + + val graphDef = GraphDef { + Node(valueNodeDef) + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph,dynamicVariables = emptyMap()) + val booleanToInt = valueMapping(mapOf("output" to "is_training","output2" to "seed","output3" to "dropout","output4" to "direction")) + val booleanToIntResult = booleanToInt.convertAttributes(mappingContext) + assertEquals(4,booleanToIntResult.size) + val boolValue = booleanToIntResult.first { it.name == "output" }.boolValue + val intValue = booleanToIntResult.first {it.name == "output2" }.int64Value + val floatValue = booleanToIntResult.first {it.name == "output3"}.floatValue + val stringVal = booleanToIntResult.first {it.name == "output4" }.stringValue + assertEquals(true,boolValue) + assertEquals(1,intValue) + assertEquals(1.0f,floatValue) + assertEquals("unidirectional",stringVal) + } + + @Test + fun testBooleanToInt() { + val opDef = tensorflowOps.findOp("CudnnRNN") + val valueNodeDef = NodeDef { + op = "CudnnRNN" + name = "inputs" + Attribute(name = "is_training",value = AttrValue { + b = true + }) + } + + + val graphDef = GraphDef { + Node(valueNodeDef) + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph,dynamicVariables = emptyMap()) + val booleanToInt = invertBooleanNumber(mapOf("output" to "is_training")) + val booleanToIntResult = booleanToInt.convertAttributes(mappingContext) + assertEquals(1,booleanToIntResult.size) + val boolValue = booleanToIntResult[0].int64Value + assertEquals(1,boolValue) + } + + @Test + fun testAttributeScalarToNDArrayInputRuleDouble() { + val opDef = tensorflowOps.findOp("CudnnRNN") + val valueNodeDef = NodeDef { + op = "CudnnRNN" + name = "inputs" + Attribute(name = "dropout",value = AttrValue { + f = 1.0f + }) + } + + + val graphDef = GraphDef { + Node(valueNodeDef) + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph,dynamicVariables = emptyMap()) + val ndarrScalarRule = attributeScalarToNDArrayInput(outputAttribute = "output",inputFrameworkAttributeName = "dropout") + val ndarrScalarRuleResult = ndarrScalarRule.convertAttributes(mappingContext) + assertEquals(1,ndarrScalarRuleResult.size) + assertTrue {ndarrScalarRuleResult[0].hasInputValue()} + val tensorValue = ndarrScalarRuleResult[0].inputValue + assertEquals(2,tensorValue.dimsCount) + assertEquals(TensorNamespace.DataType.FLOAT.ordinal,tensorValue.dataType) + val floatValue = tensorValue.floatDataList[0] + assertEquals(1.0f,floatValue) + } + + @Test + fun testAttributeScalarToNDArrayInputRuleInt() { + val opDef = tensorflowOps.findOp("CountUpTo") + val valueNodeDef = NodeDef { + op = "CountUpTo" + name = "inputs" + Attribute(name = "limit",value = AttrValue { + i = 1 + }) + } + + + val graphDef = GraphDef { + Node(valueNodeDef) + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph,dynamicVariables = emptyMap()) + val ndarrScalarRule = attributeScalarToNDArrayInput(outputAttribute = "output",inputFrameworkAttributeName = "limit") + val ndarrScalarRuleResult = ndarrScalarRule.convertAttributes(mappingContext) + assertEquals(1,ndarrScalarRuleResult.size) + assertTrue {ndarrScalarRuleResult[0].hasInputValue()} + val tensorValue = ndarrScalarRuleResult[0].inputValue + assertEquals(2,tensorValue.dimsCount) + assertEquals(TensorNamespace.DataType.INT64.ordinal,tensorValue.dataType) + val intValue = tensorValue.int64DataList[0] + assertEquals(1,intValue) + } + + @Test + fun testStringNotEqualsRule() { + val opDef = tensorflowOps.findOp("Const") + val valueNodeDef = NodeDef { + op = "Const" + name = "inputs" + Attribute(name = "value",value = AttrValue { + s = ByteString.copyFrom("value".toByteArray(Charset.defaultCharset())) + }) + } + + + val graphDef = GraphDef { + Node(valueNodeDef) + + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph,dynamicVariables = emptyMap()) + listOf("value","notValue").zip(listOf(false,true)).forEach { (valueToTest,assertionResult) -> + val stringNotEqualsRule = stringNotEqualsRule(outputAttribute = "output",inputFrameworkAttributeName = "value",valueToTest = valueToTest,argumentIndex = 0) + val stringEqualsResult = stringNotEqualsRule.convertAttributes(mappingCtx = mappingContext) + assertEquals(1,stringEqualsResult.size) + assertEquals(assertionResult,stringEqualsResult[0].boolValue) + + } + + + } + + + @Test + fun testStringContainsRule() { + val opDef = tensorflowOps.findOp("Const") + val valueNodeDef = NodeDef { + op = "Const" + name = "inputs" + Attribute(name = "value",value = AttrValue { + s = ByteString.copyFrom("value".toByteArray(Charset.defaultCharset())) + }) + } + + + val graphDef = GraphDef { + Node(valueNodeDef) + + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph,dynamicVariables = emptyMap()) + listOf("value","notValue").zip(listOf(true,false)).forEach { (valueToTest,assertionResult) -> + val stringContainsRule = stringContainsRule(outputAttribute = "output",inputFrameworkAttributeName = "value",valueToTest = valueToTest) + val stringEqualsResult = stringContainsRule.convertAttributes(mappingCtx = mappingContext) + assertEquals(1,stringEqualsResult.size) + assertEquals(assertionResult,stringEqualsResult[0].boolValue) + + } + + + } + + + @Test + fun testStringEqualsRule() { + val opDef = tensorflowOps.findOp("Const") + val valueNodeDef = NodeDef { + op = "Const" + name = "inputs" + Attribute(name = "value",value = AttrValue { + s = ByteString.copyFrom("value".toByteArray(Charset.defaultCharset())) + }) + } + + + val graphDef = GraphDef { + Node(valueNodeDef) + + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph,dynamicVariables = emptyMap()) + listOf("value","notValue").zip(listOf(true,false)).forEach { (valueToTest,assertionResult) -> + val stringEqualsRule = stringEqualsRule(outputAttribute = "output",inputFrameworkAttributeName = "value",valueToTest = valueToTest,argumentIndex = 0) + val stringEqualsResult = stringEqualsRule.convertAttributes(mappingCtx = mappingContext) + assertEquals(1,stringEqualsResult.size) + assertEquals(assertionResult,stringEqualsResult[0].boolValue) + + } + + + } + + + @Test + fun testNDArraySizeAtRule() { + val opDef = tensorflowOps.findOp("AddN") + val nodeDef = NodeDef { + op = "AddN" + Input("inputs") + Input("y") + name = "test" + } + + val shape = listOf(1,2).map { it.toLong() } + + val valueNodeDef = NodeDef { + op = "Constant" + name = "inputs" + Attribute(name = "value",value = AttrValue { + tensor = TensorProto { + Shape(shape) + DoubleData(listOf(1.0,2.0)) + } + }) + } + + + val graphDef = GraphDef { + Node(nodeDef) + Node(valueNodeDef) + + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = nodeDef,graph = tfGraph,dynamicVariables = emptyMap()) + shape.forEachIndexed { i,value -> + val sizeAtRule = sizeAtRule(dimensionIndex = i,outputAttributeName = "output",inputFrameworkAttributeName = "inputs",argumentIndex = 0) + val sizeAtRuleResult = sizeAtRule.convertAttributes(mappingCtx = mappingContext) + assertEquals(1,sizeAtRuleResult.size) + assertEquals(value,sizeAtRuleResult[0].int64Value) + + } + + } + + + @Test + fun testConditionalIndex() { + + val opDef = tensorflowOps.findOp("AddN") + val strings = listOf("value","falseValue") + //when item is equal to value return element at index 0 + //when item is not equal to value return element at index 1 + val assertionValue = mapOf("value" to 1,"falseValue" to 0) + val trueIndex = 0 + val falseIndex = 1 + val listOfItemsForTesting = listOf(1,0,2,3) + //true and false case with index 1 + for(string in strings) { + val nodeDef = NodeDef { + op = "AddN" + Input("inputs") + Input("y") + name = "test" + Attribute(name = "N",value = AttrValue { + name = "N" + list = ListValue { + IntItems(listOfItemsForTesting) + } + }) + Attribute(name = "T",value = AttrValue { + name = "T" + s = ByteString.copyFrom(string.toByteArray(Charset.defaultCharset())) + }) + } + + val graphDef = GraphDef { + Node(nodeDef) + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps) + + + val mappingContext = TensorflowMappingContext(opDef = opDef,node = nodeDef,graph = tfGraph,dynamicVariables = emptyMap()) + + val conditionalIndex = conditionalFieldValueIntIndexArrayRule( + outputAttribute = "N", + attributeNameOfListAttribute = "N", + targetValue = "value", trueIndex = trueIndex, falseIndex = falseIndex, + inputFrameworkStringNameToTest = "T",argumentIndex = 0) + + val ret = conditionalIndex.convertAttributes(mappingContext) + assertEquals(1,ret.size) + assertEquals((assertionValue[string] ?: + error("No value found with string value $string")).toLong(),ret[0].int64Value) + assertEquals("N",ret[0].name) + + } + + } +} + + + diff --git a/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/ops/ConstructionTest.kt b/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/ops/ConstructionTest.kt new file mode 100644 index 000000000..44a43af28 --- /dev/null +++ b/contrib/codegen-tools/codegen/src/test/kotlin/org/nd4j/codegen/ops/ConstructionTest.kt @@ -0,0 +1,38 @@ +package org.nd4j.codegen.ops + +import org.junit.jupiter.api.Test + +/** + * Test that each Namespace actually constructs properly. + * + * This is allows us to utilize run-time consistency checks during the build process - if tests are enabled. + */ +class ConstructionTest { + + @Test + fun bitwise() { Bitwise() } + + @Test + fun random() { Random() } + + @Test + fun math() { Math() } + + @Test + fun base() { SDBaseOps() } + + @Test + fun loss() { SDLoss() } + + @Test + fun cnn() { SDCNN() } + + @Test + fun rnn() { SDRNN() } + + @Test + fun image() { SDImage() } + + @Test + fun nn() { NN() } +} \ No newline at end of file diff --git a/contrib/codegen-tools/codegen/src/test/resources/lenet.onnx b/contrib/codegen-tools/codegen/src/test/resources/lenet.onnx new file mode 100644 index 000000000..c858b347d Binary files /dev/null and b/contrib/codegen-tools/codegen/src/test/resources/lenet.onnx differ diff --git a/contrib/codegen-tools/codegen/src/test/resources/lenet_frozen.pb b/contrib/codegen-tools/codegen/src/test/resources/lenet_frozen.pb new file mode 100644 index 000000000..25ad7a7bd Binary files /dev/null and b/contrib/codegen-tools/codegen/src/test/resources/lenet_frozen.pb differ diff --git a/contrib/codegen-tools/libnd4j-gen/README.md b/contrib/codegen-tools/libnd4j-gen/README.md new file mode 100644 index 000000000..47bb43b99 --- /dev/null +++ b/contrib/codegen-tools/libnd4j-gen/README.md @@ -0,0 +1,16 @@ +# Libnd4j Op Descriptor Generator + +This module contains a few files for generating op descriptors for libnd4j. +An op descriptor contains its number of inputs and outputs as well as the names +in the code of those attributes when they are assigned. + +The main class parses a root directory specified by the user containing the libnd4j code base. +In the libnd4j code base, it will scan for op signatures and certain macros found in https://github.com/eclipse/deeplearning4j/blob/master/libnd4j/include/system/op_boilerplate.h + +From that, it will automatically generate a set of op descriptors including counts of types of ops as well as names. +The up to date OpDescriptor class can be found [here](src/main/java/org/nd4j/descriptor/OpDescriptor.java) +The main class can be found [here](src/main/java/org/nd4j/descriptor/ParseGen.java) + + + + diff --git a/contrib/codegen-tools/libnd4j-gen/op-ir.proto b/contrib/codegen-tools/libnd4j-gen/op-ir.proto new file mode 100644 index 000000000..6fca00ef5 --- /dev/null +++ b/contrib/codegen-tools/libnd4j-gen/op-ir.proto @@ -0,0 +1,20646 @@ +opList { + name: "Assert" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "BinaryMinimalRelativeError" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "thresholdRelative" + argType: DOUBLE + } + argDescriptor { + name: "thresholdAbsolute" + argType: DOUBLE + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "BinaryRelativeError" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "threshold" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "ClipByValue" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "clipValueMin" + argType: DOUBLE + } + argDescriptor { + name: "clipValueMax" + argType: DOUBLE + argIndex: 1 + } +} +opList { + name: "Conditional" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LOGIC_OP_IMPL +} +opList { + name: "ExternalErrorsFn" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "Floor" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "Log1p" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "ParallelConcat" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "Pow" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "Pow_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdz" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdx" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdy" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdx" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdy" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } +} +opList { + name: "Reciprocal" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "RelativeError" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "Return" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LOGIC_OP_IMPL +} +opList { + name: "Scope" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LOGIC_OP_IMPL +} +opList { + name: "Switch" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "condition" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: DIVERGENT_OP_IMPL +} +opList { + name: "Where" + argDescriptor { + name: "condition" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "While" + argDescriptor { + name: "frameName" + argType: STRING + } + argDescriptor { + name: "condition" + argType: INPUT_TENSOR + } + argDescriptor { + name: "isConstant" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LOGIC_OP_IMPL +} +opList { + name: "_geluderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "_mishderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "_powderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "pow" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "_precise_geluderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "precise" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "_sigmoidderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "_swishderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "_tanhderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "abs" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "absolute_difference_loss" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "absolute_difference_loss_grad" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "acos" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "acosh" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "ada_delta_updater" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "initStateMsg" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "initStateMsdx" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "rho" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "updatedStateMsdx" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "update" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "stateMsg" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "stateMsdx" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dRho" + argType: DOUBLE + } + argDescriptor { + name: "dEpsilon" + argType: DOUBLE + argIndex: 1 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "ada_grad_updater" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "initState" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "lr" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "update" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "stateH" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLr" + argType: DOUBLE + } + argDescriptor { + name: "dEpsilon" + argType: DOUBLE + argIndex: 1 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "ada_max_updater" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "initStateU" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "initStateM" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "lr" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "beta1" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "beta2" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "update" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "stateU" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "stateM" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLr" + argType: DOUBLE + } + argDescriptor { + name: "dBeta1" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dBeta2" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "dEpsilon" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "iteration" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "adam_updater" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "initStateU" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "initStateM" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "lr" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "beta1" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "beta2" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "update" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "stateU" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "stateM" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLr" + argType: DOUBLE + } + argDescriptor { + name: "dBeta1" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dBeta2" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "dEpsilon" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "iteration" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "add" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "add_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } +} +opList { + name: "add_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "adjust_contrast" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "factor" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "adjust_contrast_v2" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "factor" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "factor" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "adjust_hue" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "delta" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "delta" + argType: DOUBLE + } + argDescriptor { + name: "dimC" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "adjust_saturation" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "factor" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "all" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "alpha_dropout" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "a" + argType: DOUBLE + } + argDescriptor { + name: "b" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "alphaPrime" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "beta" + argType: DOUBLE + argIndex: 3 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "alpha_dropout_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradOut" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "reduceShape" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "probValue" + argType: DOUBLE + } + argDescriptor { + name: "alphaValue" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "alpha1Value" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "betaValue" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "seed" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "amax" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "amax_pairwise" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "amean" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "amin" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "amin_pairwise" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "ams_grad_updater" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "initStateV" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "initStateM" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "initStateH" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "lr" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "beta1" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "beta2" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "update" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "stateV" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "stateM" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "stateH" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLr" + argType: DOUBLE + } + argDescriptor { + name: "dBeta1" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dBeta2" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "dEpsilon" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "iteration" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "and" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "comparable" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "and_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "any" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "apply_sgd" + argDescriptor { + name: "parameters" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradients" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "tarr" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Z" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "lr" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "applygradientdescent" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "argamax" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "argamin" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "argmax" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "argmin" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "asin" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "asinh" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "assign" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "assign_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "asum" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "atan" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "atanh" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "avgpool2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "avgpool2d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "avgpool3dnew" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kD" + argType: INT64 + } + argDescriptor { + name: "kH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sD" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "pD" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "dD" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 11 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 12 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 13 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 14 + } +} +opList { + name: "avgpool3dnew_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kD" + argType: INT64 + } + argDescriptor { + name: "kH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sD" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "pD" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "dD" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 11 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 12 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 13 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 14 + } +} +opList { + name: "axpy" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "alpha" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "a" + argType: DOUBLE + } + argDescriptor { + name: "n" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "barnes_edge_forces" + argDescriptor { + name: "rowP" + argType: INPUT_TENSOR + } + argDescriptor { + name: "colP" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "valP" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dataP" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "N" + argType: INT64 + } +} +opList { + name: "barnes_gains" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradX" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "barnes_symmetrized" + argDescriptor { + name: "rowP" + argType: INPUT_TENSOR + } + argDescriptor { + name: "colP" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "valP" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outRows" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputRows" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "outputCols" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputVals" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "N" + argType: INT64 + } +} +opList { + name: "batch_to_space" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "crop" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "blockSize" + argType: INT64 + } + argDescriptor { + name: "croppingTop" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "croppingBottom" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "batch_to_space_nd" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "blockShape" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "crop" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "blocks" + argType: INT64 + } +} +opList { + name: "batched_gemm" + argDescriptor { + name: "alpha" + argType: INPUT_TENSOR + } + argDescriptor { + name: "beta" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "vA" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "vB" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "vC" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "transposeA" + argType: BOOL + } + argDescriptor { + name: "transposeB" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "transA" + argType: INT64 + } + argDescriptor { + name: "transB" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "M" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "N" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "K" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "ldA" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "ldB" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "ldC" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "batchSize" + argType: INT64 + argIndex: 8 + } +} +opList { + name: "batchnorm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "mean" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "variance" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gamma" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "applyGamma" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "applyBeta" + argType: BOOL + argIndex: 2 + } + argDescriptor { + name: "epsilon" + argType: DOUBLE + } + argDescriptor { + name: "applyScale" + argType: INT64 + } + argDescriptor { + name: "applyOffset" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "batchnorm_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "mean" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "variance" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gamma" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdM" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdV" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdG" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "applyGamma" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "applyBeta" + argType: BOOL + argIndex: 2 + } + argDescriptor { + name: "epsilon" + argType: DOUBLE + } + argDescriptor { + name: "applyScale" + argType: INT64 + } + argDescriptor { + name: "applyOffset" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "betainc" + argDescriptor { + name: "a" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "biasadd" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "nchw" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "biasadd_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "nchw" + argType: BOOL + } +} +opList { + name: "bincount" + argDescriptor { + name: "values" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "min" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "max" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outputType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "minLength" + argType: INT64 + } + argDescriptor { + name: "maxLength" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "outputType" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "bitcast" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "newType" + argType: INT64 + } +} +opList { + name: "bits_hamming_distance" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "bitwise_and" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "bitwise_or" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "bitwise_xor" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "bool_not" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "boolean_and" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "boolean_not" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "boolean_or" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "boolean_xor" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "broadcast_amax" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_amin" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_dynamic_shape" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "broadcast_equalto" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimension" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_greaterthan" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_greaterthanorequal" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_lessthan" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_lessthanorequal" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_max" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_min" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_notequal" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_to" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "broadcastadd" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimension" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcastcopy" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcastdiv" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcastgradientargs" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimension" + argType: INT64 + } + opDeclarationType: OP_IMPL +} +opList { + name: "broadcastmul" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcastrdiv" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcastrsub" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcastsub" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "car" + argDescriptor { + name: "to" + argType: INPUT_TENSOR + } + argDescriptor { + name: "from" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "compare" + argType: DOUBLE + } + argDescriptor { + name: "set" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "eps" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "mode" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cas" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "compare" + argType: DOUBLE + } + argDescriptor { + name: "set" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "eps" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "mode" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cast" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dst" + argType: INT64 + } +} +opList { + name: "cbow" + argDescriptor { + name: "target" + argType: INPUT_TENSOR + } + argDescriptor { + name: "ngStarter" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "context" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "codes" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "syn0" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "syn1" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "syn1neg" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "expTable" + argType: INPUT_TENSOR + argIndex: 8 + } + argDescriptor { + name: "negTable" + argType: INPUT_TENSOR + argIndex: 9 + } + argDescriptor { + name: "alpha" + argType: INPUT_TENSOR + argIndex: 10 + } + argDescriptor { + name: "randomValue" + argType: INPUT_TENSOR + argIndex: 11 + } + argDescriptor { + name: "numLabels" + argType: INPUT_TENSOR + argIndex: 12 + } + argDescriptor { + name: "lockedWords" + argType: INPUT_TENSOR + argIndex: 13 + } + argDescriptor { + name: "inferenceVector" + argType: INPUT_TENSOR + argIndex: 14 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "trainWords" + argType: BOOL + } + argDescriptor { + name: "isInference" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "numWorkers" + argType: INT64 + } + argDescriptor { + name: "nsRounds" + argType: INT64 + argIndex: 1 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "ceil" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cell_contains" + argDescriptor { + name: "corner" + argType: INPUT_TENSOR + } + argDescriptor { + name: "width" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "point" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "contains" + argType: BOOL + } + argDescriptor { + name: "dimension" + argType: INT64 + } +} +opList { + name: "check_numerics" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "message" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "choice" + argDescriptor { + name: "source" + argType: INPUT_TENSOR + } + argDescriptor { + name: "probabilities" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cholesky" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "choose" + argDescriptor { + name: "arg" + argType: INPUT_TENSOR + } + argDescriptor { + name: "comp" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numResults" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "scalar" + argType: DOUBLE + } + argDescriptor { + name: "mode" + argType: INT64 + } +} +opList { + name: "clip_by_global_norm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "clipNorm" + argType: DOUBLE + } +} +opList { + name: "clipbyavgnorm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "clipNorm" + argType: DOUBLE + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "clipbyavgnorm_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "clipNorm" + argType: DOUBLE + } +} +opList { + name: "clipbynorm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "clipValue" + argType: DOUBLE + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "clipbynorm_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "clipValue" + argType: DOUBLE + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "clipbyvalue" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "left" + argType: DOUBLE + } + argDescriptor { + name: "right" + argType: DOUBLE + argIndex: 1 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "clone_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "col2im" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inputArrays" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "strideY" + argType: INT64 + } + argDescriptor { + name: "strideX" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "padHeight" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "padWidth" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "imgHeight" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "imgWidth" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dY" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dX" + argType: INT64 + argIndex: 7 + } +} +opList { + name: "compare_and_bitpack" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "threshold" + argType: DOUBLE + } +} +opList { + name: "compat_sparse_to_dense" + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "values" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "def" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "compat_string_split" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "delim" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "values" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "indices" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "values" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "concat" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "concatDimension" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "isDynamicAxis" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "concatDimension" + argType: INT64 + } +} +opList { + name: "concat_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "originalChunk" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "epsilonChunk" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dynamicAxis" + argType: BOOL + } + argDescriptor { + name: "concatDimension" + argType: INT64 + } +} +opList { + name: "confusion_matrix" + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + } + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numClasses" + argType: INT64 + } + argDescriptor { + name: "dataType" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "conv1d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kW" + argType: INT64 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "paddingMode" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "isNCW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 6 + } +} +opList { + name: "conv1d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "kW" + argType: INT64 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "paddingMode" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "isNCW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 6 + } +} +opList { + name: "conv2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "conv2d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "conv2d_input_bp" + argDescriptor { + name: "gradIShape" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "conv3dnew" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kD" + argType: INT64 + } + argDescriptor { + name: "kH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sD" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "pD" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "dD" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 11 + } + argDescriptor { + name: "paddingMode" + argType: INT64 + argIndex: 12 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 13 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 14 + } +} +opList { + name: "conv3dnew_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "kD" + argType: INT64 + } + argDescriptor { + name: "kH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sD" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "pD" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "dD" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 11 + } + argDescriptor { + name: "paddingMode" + argType: INT64 + argIndex: 12 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 13 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 14 + } +} +opList { + name: "copy" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cos" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cosh" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cosine_distance_loss" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } + argDescriptor { + name: "dimensions" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "cosine_distance_loss_grad" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } + argDescriptor { + name: "dimensions" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "cosinedistance" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "allDistances" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cosinesimilarity" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "allDistances" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "countNonZero" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "countZero" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "create" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputType" + argType: DATA_TYPE + } + argDescriptor { + name: "init" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "order" + argType: INT64 + } + argDescriptor { + name: "outputType" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "create_list" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "height" + argType: INT64 + } + argDescriptor { + name: "expandable" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "crelu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "crelu_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilonNext" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "epsilon" + argType: OUTPUT_TENSOR + } +} +opList { + name: "crop_and_resize" + argDescriptor { + name: "image" + argType: INPUT_TENSOR + } + argDescriptor { + name: "boxes" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "boxIndexes" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "newImageSize" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "extrapolationVal" + argType: DOUBLE + } + argDescriptor { + name: "method" + argType: INT64 + } +} +opList { + name: "cross" + argDescriptor { + name: "a" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "o" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "cube" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "cube_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "cubederivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cumprod" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "exclusive" + argType: BOOL + } + argDescriptor { + name: "reverse" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "exclusive" + argType: INT64 + } + argDescriptor { + name: "reverse" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + argIndex: 2 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "cumprod_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradOut" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "exclusive" + argType: BOOL + } + argDescriptor { + name: "reverse" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "exclusive" + argType: INT64 + } + argDescriptor { + name: "reverse" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "cumsum" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "exclusive" + argType: BOOL + } + argDescriptor { + name: "reverse" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "exclusive" + argType: INT64 + } + argDescriptor { + name: "reverse" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + argIndex: 2 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "cumsum_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradOut" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "exclusive" + argType: BOOL + } + argDescriptor { + name: "reverse" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "exclusive" + argType: INT64 + } + argDescriptor { + name: "reverse" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "cyclic_rshift_bits" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "cyclic_shift_bits" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "decode_bitmap" + argDescriptor { + name: "start" + argType: INPUT_TENSOR + } + argDescriptor { + name: "encoded" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "updates" + argType: OUTPUT_TENSOR + } +} +opList { + name: "decode_threshold" + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + } + argDescriptor { + name: "encoded" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "updates" + argType: OUTPUT_TENSOR + } +} +opList { + name: "deconv2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "deconv2d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "deconv2d_tf" + argDescriptor { + name: "gradIShape" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "deconv3d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kD" + argType: INT64 + } + argDescriptor { + name: "kH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sD" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "pD" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "dD" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 11 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 12 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 13 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 14 + } +} +opList { + name: "deconv3d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "kD" + argType: INT64 + } + argDescriptor { + name: "kH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sD" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "pD" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "dD" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 11 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 12 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 13 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 14 + } +} +opList { + name: "deconv3d_tf" + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "depth_to_space" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "block_size" + argType: INT64 + } + argDescriptor { + name: "isNHWC" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "depthwise_conv2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "depthwise_conv2d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "diag" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "diag_part" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "digamma" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "dilation2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "r" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "s" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "isSameMode" + argType: BOOL + } + argDescriptor { + name: "isSameMode" + argType: INT64 + } + argDescriptor { + name: "rates" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "strides" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "distribution_bernoulli" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "prob" + argType: DOUBLE + } + argDescriptor { + name: "dataType" + argType: INT64 + } + argDescriptor { + name: "shape" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "distribution_binomial" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "probability" + argType: DOUBLE + } + argDescriptor { + name: "trials" + argType: INT64 + } + argDescriptor { + name: "dataType" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "shape" + argType: INT64 + argIndex: 2 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "distribution_binomial_ex" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "probability" + argType: DOUBLE + } + argDescriptor { + name: "trials" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "distribution_gaussian" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "mean" + argType: DOUBLE + } + argDescriptor { + name: "stddev" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: INT64 + } + argDescriptor { + name: "shape" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "distribution_lognormal" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "mean" + argType: DOUBLE + } + argDescriptor { + name: "stdev" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: INT64 + } + argDescriptor { + name: "shape" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "distribution_truncated" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "mean" + argType: DOUBLE + } + argDescriptor { + name: "stddev" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: INT64 + } + argDescriptor { + name: "shape" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "distribution_uniform" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "from" + argType: DOUBLE + } + argDescriptor { + name: "to" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: INT64 + } + argDescriptor { + name: "shape" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "div_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "divide" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "divide_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } +} +opList { + name: "divide_no_nan" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "dot" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "newFormat" + argType: BOOL + } + argDescriptor { + name: "keepDims" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "dot_product_attention" + argDescriptor { + name: "queries" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keys" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "values" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "mask" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "scaled" + argType: BOOL + } + argDescriptor { + name: "withWeights" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "normalization" + argType: INT64 + } + argDescriptor { + name: "outputWeights" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "dot_product_attention_bp" + argDescriptor { + name: "queries" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keys" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "values" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "eps" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "mask" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdq" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdk" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdv" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "scaled" + argType: BOOL + } + argDescriptor { + name: "normalization" + argType: INT64 + } +} +opList { + name: "draw_bounding_boxes" + argDescriptor { + name: "images" + argType: INPUT_TENSOR + } + argDescriptor { + name: "boxes" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "colors" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "dropout" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "reduceShape" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "probValue" + argType: DOUBLE + } + argDescriptor { + name: "seed" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "dropout_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradOut" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "reduceShape" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "probValue" + argType: DOUBLE + } + argDescriptor { + name: "seed" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "dropout_inverted" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "p" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "dynamic_bidirectional_rnn" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "WxFW" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "WhFW" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "bFW" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "WxBW" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "WhBW" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "bBW" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "h0FW" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "h0BW" + argType: INPUT_TENSOR + argIndex: 8 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "hFW" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "hBW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "hFWFinal" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "hBWFinal" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "timeMajor" + argType: INT64 + } +} +opList { + name: "dynamic_partition" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputList" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numPartitions" + argType: INT64 + } +} +opList { + name: "dynamic_partition_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradsAtOutput" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputList" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numPartition" + argType: INT64 + } +} +opList { + name: "dynamic_rnn" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wh" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "h0" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "hFinal" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "timeMajor" + argType: INT64 + } +} +opList { + name: "dynamic_stitch" + argDescriptor { + name: "index" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numPartitions" + argType: INT64 + } +} +opList { + name: "elu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "elu_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "embedding_lookup" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "partition_mode" + argType: INT64 + } +} +opList { + name: "encode_bitmap" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "encoded" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "counter" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "encoded" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "counter" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "threshold" + argType: DOUBLE + } +} +opList { + name: "encode_threshold" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "encoded" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "updated" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "encoded" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "threshold" + argType: DOUBLE + } + argDescriptor { + name: "boundary" + argType: INT64 + } +} +opList { + name: "enter" + argDescriptor { + name: "frameName" + argType: STRING + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "isConstant" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "entropy" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "eps" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "eps_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "equals" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_BOOL_OP_IMPL +} +opList { + name: "equals_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "equals_with_eps" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "eps" + argType: DOUBLE + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "erf" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "erfc" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "euclidean" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "allDistances" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "evaluate_reduction_shape" + argDescriptor { + name: "inputShape" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "oldFormat" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "exit" + argDescriptor { + name: "frameName" + argType: STRING + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "exp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "expand_dims" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "expm1" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "expose" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "extract_image_patches" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "sameMode" + argType: BOOL + } + argDescriptor { + name: "ksizeRows" + argType: INT64 + } + argDescriptor { + name: "ksizeCols" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kstrideRows" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "kstrideCols" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "krateRows" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "krateCols" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 6 + } +} +opList { + name: "eye" + argDescriptor { + name: "numRows" + argType: INPUT_TENSOR + } + argDescriptor { + name: "numCols" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DOUBLE + } + argDescriptor { + name: "numRows" + argType: INT64 + } + argDescriptor { + name: "numCols" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "batchDimension" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "dataType" + argType: INT64 + argIndex: 3 + } +} +opList { + name: "fake_quant_with_min_max_args" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "narrowRange" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "min" + argType: DOUBLE + } + argDescriptor { + name: "max" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "numBits" + argType: INT64 + } +} +opList { + name: "fake_quant_with_min_max_vars" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "min" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "max" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "narrowed" + argType: BOOL + } + argDescriptor { + name: "m" + argType: DOUBLE + } + argDescriptor { + name: "m2" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "numBits" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "fake_quant_with_min_max_vars_per_channel" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "min" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "max" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "narrowed" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numBits" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "fill" + argDescriptor { + name: "shapeArray" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "value" + argType: DOUBLE + } + argDescriptor { + name: "dtype" + argType: INT64 + } +} +opList { + name: "fill_as" + argDescriptor { + name: "s" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "firas_sparse" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "first_index" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "compare" + argType: DOUBLE + } + argDescriptor { + name: "eps" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "flatten" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "order" + argType: INT64 + } +} +opList { + name: "floor" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "floordiv" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "floordiv_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } +} +opList { + name: "floormod" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "floormod_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } +} +opList { + name: "fmod" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "fmod_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "fused_batch_norm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "scale" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "offset" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "mean" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "variance" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "batchMeanVar" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "y" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "batchMean" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "batchVar" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "epsilon" + argType: DOUBLE + } + argDescriptor { + name: "dataFormat" + argType: INT64 + } + argDescriptor { + name: "isTraining" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "gather" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "intArgs" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "gather_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "gather_nd" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "checkIndices" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "gelu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "precise" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "get_seed" + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "gradientbackwards" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "greater" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_BOOL_OP_IMPL +} +opList { + name: "greater_equal" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_BOOL_OP_IMPL +} +opList { + name: "greaterthan_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "greaterthanorequal_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "grid_free" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "gru" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "hI" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Wh" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + } +} +opList { + name: "gruCell" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "hLast" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wru" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Wc" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "bru" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "bc" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "r" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "u" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "c" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + argIndex: 3 + } +} +opList { + name: "gruCell_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "hi" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "W" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Wc" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "bc" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "dLdr" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "dLdu" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "dLdc" + argType: INPUT_TENSOR + argIndex: 8 + } + argDescriptor { + name: "dLdh" + argType: INPUT_TENSOR + argIndex: 9 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdx" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdhi" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdW" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdWc" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdb" + argType: OUTPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dLdbc" + argType: OUTPUT_TENSOR + argIndex: 5 + } +} +opList { + name: "gru_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "hI" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Wh" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dLdh" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdx" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdhI" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdWx" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdWh" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdb" + argType: OUTPUT_TENSOR + argIndex: 4 + } +} +opList { + name: "hammingdistance" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "allDistances" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "hard_sigmoid" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "hard_sigmoidderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "hardsigmoid" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "hardsigmoid_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "hardtanh" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "hardtanh_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "hardtanhderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "hashcode" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "hasinf" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "hasnan" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "hinge_loss" + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "hinge_loss_grad" + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "histogram" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numBins" + argType: INT64 + } +} +opList { + name: "histogram_fixed_width" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "range" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "numBins" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "nbins" + argType: INT64 + } +} +opList { + name: "hsv_to_rgb" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "huber_loss" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "delta" + argType: DOUBLE + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "huber_loss_grad" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "delta" + argType: DOUBLE + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "identity" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "identity_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "identity_n" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "igamma" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "igammac" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "im2col" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inputArrays" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "zeroPadVal" + argType: DOUBLE + } + argDescriptor { + name: "kernelHeight" + argType: INT64 + } + argDescriptor { + name: "kernelWidth" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "strideY" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "strideX" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "padHeight" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "padWidth" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dY" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dX" + argType: INT64 + argIndex: 7 + } +} +opList { + name: "im2col_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradAtOutput" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "zeroPadVal" + argType: DOUBLE + } + argDescriptor { + name: "kernelHeight" + argType: INT64 + } + argDescriptor { + name: "kernelWidth" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "strideY" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "strideX" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dY" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dX" + argType: INT64 + argIndex: 7 + } +} +opList { + name: "image_resize" + argDescriptor { + name: "image" + argType: INPUT_TENSOR + } + argDescriptor { + name: "size" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "preserveAspectRatio" + argType: BOOL + } + argDescriptor { + name: "antialias" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "method" + argType: INT64 + } +} +opList { + name: "in_top_k" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "target" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "sorted" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "k" + argType: INT64 + } +} +opList { + name: "invert_permutation" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "is_non_decreasing" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BOOLEAN_OP_IMPL +} +opList { + name: "is_numeric_tensor" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BOOLEAN_OP_IMPL +} +opList { + name: "is_strictly_increasing" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BOOLEAN_OP_IMPL +} +opList { + name: "isfinite" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "isinf" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "ismax" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "isnan" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "jaccarddistance" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "allDistances" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "knn_mindistance" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "lowest" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "highest" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "distance" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "l2_loss" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "last_index" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "compare" + argType: DOUBLE + } + argDescriptor { + name: "eps" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "layer_norm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gain" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "noBias" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "layer_norm_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gain" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "eps" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdx" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dLdg" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "dLdb" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdx" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdg" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdb" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "noBias" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "leakyrelu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "leakyreluderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "less" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_BOOL_OP_IMPL +} +opList { + name: "less_equal" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_BOOL_OP_IMPL +} +opList { + name: "lessthan_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "lessthanorequal_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "lgamma" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "lin_space" + argDescriptor { + name: "start" + argType: INPUT_TENSOR + } + argDescriptor { + name: "finish" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "numOfElements" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "start" + argType: DOUBLE + } + argDescriptor { + name: "stop" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: INT64 + } + argDescriptor { + name: "number" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "linspace_random" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "step" + argType: DOUBLE + } + argDescriptor { + name: "to" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "length" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "listdiff" + argDescriptor { + name: "values" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keep" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "output1" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "output2" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "log" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "log1p" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "log_loss" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: DOUBLE + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "log_loss_grad" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "epsilon" + argType: DOUBLE + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "log_matrix_determinant" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "log_poisson_loss" + argDescriptor { + name: "log_predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "full" + argType: BOOL + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "log_poisson_loss_grad" + argDescriptor { + name: "log_predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "full" + argType: BOOL + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "log_softmax" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimension" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "log_softmax_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimension" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "log_x" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "base" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "logdet" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "logentropy" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "logsigmoid" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "loop_cond" + argDescriptor { + name: "frameName" + argType: STRING + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "lrelu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "lrelu_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "lrn" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "bias" + argType: DOUBLE + } + argDescriptor { + name: "alpha" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "beta" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "depth" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "lrn_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "bias" + argType: DOUBLE + } + argDescriptor { + name: "alpha" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "beta" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "depth" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "lstm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "h0" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "c0" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "Wh" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "Wc" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "Wp" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "c" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "clippingCellValue" + argType: DOUBLE + } + argDescriptor { + name: "clippingProjValue" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "forgetBias" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "peephole" + argType: INT64 + } + argDescriptor { + name: "projection" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "lstmBlock" + argDescriptor { + name: "maxTSLength" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "cLast" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "yLast" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "W" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "Wci" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "Wcf" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "Wco" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 8 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "i" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "c" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "f" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "o" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "y" + argType: OUTPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "forgetBias" + argType: DOUBLE + } + argDescriptor { + name: "clippingCellValue" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "peephole" + argType: INT64 + } + argDescriptor { + name: "dataFormat" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "lstmBlockCell" + argDescriptor { + name: "xt" + argType: INPUT_TENSOR + } + argDescriptor { + name: "cLast" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "yLast" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "W" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "Wci" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "Wcf" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "Wco" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "i" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "c" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "f" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "o" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "y" + argType: OUTPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "forgetBias" + argType: DOUBLE + } + argDescriptor { + name: "clippingCellValue" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "peephole" + argType: INT64 + } +} +opList { + name: "lstmCell" + argDescriptor { + name: "xt" + argType: INPUT_TENSOR + } + argDescriptor { + name: "ht_1" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "ct_1" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "Wh" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "Wc" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "Wp" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "ht" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "ct" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "clippingCellValue" + argType: DOUBLE + } + argDescriptor { + name: "clippingProjValue" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "forgetBias" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "peephole" + argType: INT64 + } + argDescriptor { + name: "projection" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "lstmLayer" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wr" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "seqLen" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "hI" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "cI" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "Wp" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "hL" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "cL" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "hasBiases" + argType: BOOL + } + argDescriptor { + name: "hasSeqLen" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "hasInitH" + argType: BOOL + argIndex: 2 + } + argDescriptor { + name: "hasInitC" + argType: BOOL + argIndex: 3 + } + argDescriptor { + name: "hasPH" + argType: BOOL + argIndex: 4 + } + argDescriptor { + name: "retFullSeq" + argType: BOOL + argIndex: 5 + } + argDescriptor { + name: "retLastH" + argType: BOOL + argIndex: 6 + } + argDescriptor { + name: "retLastC" + argType: BOOL + argIndex: 7 + } + argDescriptor { + name: "cellClip" + argType: DOUBLE + } + argDescriptor { + name: "gateAlpha" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "gateBeta" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "cellAlpha" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "cellBeta" + argType: DOUBLE + argIndex: 4 + } + argDescriptor { + name: "outAlpha" + argType: DOUBLE + argIndex: 5 + } + argDescriptor { + name: "outBeta" + argType: DOUBLE + argIndex: 6 + } + argDescriptor { + name: "dataFormat" + argType: INT64 + } + argDescriptor { + name: "directionMode" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "gateAct" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "cellAct" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "outAct" + argType: INT64 + argIndex: 4 + } +} +opList { + name: "lstmLayerCell" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wr" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "hI" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "cI" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "Wp" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "c" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "hasBiases" + argType: BOOL + } + argDescriptor { + name: "hasPH" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "cellClip" + argType: DOUBLE + } + argDescriptor { + name: "gateAlpha" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "gateBeta" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "cellAlpha" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "cellBeta" + argType: DOUBLE + argIndex: 4 + } + argDescriptor { + name: "outAlpha" + argType: DOUBLE + argIndex: 5 + } + argDescriptor { + name: "outBeta" + argType: DOUBLE + argIndex: 6 + } + argDescriptor { + name: "gateAct" + argType: INT64 + } + argDescriptor { + name: "cellAct" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "outAct" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "lstmLayerCellBp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wr" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "hI" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "cI" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "Wp" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "dLdh" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "hasBiases" + argType: BOOL + } + argDescriptor { + name: "hasPH" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "dLdx" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdWx" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdWr" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdb" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdhI" + argType: OUTPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dLdcI" + argType: OUTPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "dLdWp" + argType: OUTPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "cellClip" + argType: DOUBLE + } + argDescriptor { + name: "gateAlpha" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "gateBeta" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "cellAlpha" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "cellBeta" + argType: DOUBLE + argIndex: 4 + } + argDescriptor { + name: "outAlpha" + argType: DOUBLE + argIndex: 5 + } + argDescriptor { + name: "outBeta" + argType: DOUBLE + argIndex: 6 + } + argDescriptor { + name: "gateAct" + argType: INT64 + } + argDescriptor { + name: "cellAct" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "outAct" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "lstmLayer_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wr" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "seqLen" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "hI" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "cI" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "Wp" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "dLdh" + argType: INPUT_TENSOR + argIndex: 8 + } + argDescriptor { + name: "dLdhL" + argType: INPUT_TENSOR + argIndex: 9 + } + argDescriptor { + name: "dLdcL" + argType: INPUT_TENSOR + argIndex: 10 + } + argDescriptor { + name: "dLdsL" + argType: INPUT_TENSOR + argIndex: 11 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdx" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdWx" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdWr" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdb" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdhI" + argType: OUTPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dLdcI" + argType: OUTPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "dLdWp" + argType: OUTPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "hasBiases" + argType: BOOL + } + argDescriptor { + name: "hasSeqLen" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "hasInitH" + argType: BOOL + argIndex: 2 + } + argDescriptor { + name: "hasInitC" + argType: BOOL + argIndex: 3 + } + argDescriptor { + name: "hasPH" + argType: BOOL + argIndex: 4 + } + argDescriptor { + name: "retFullSeq" + argType: BOOL + argIndex: 5 + } + argDescriptor { + name: "retLastH" + argType: BOOL + argIndex: 6 + } + argDescriptor { + name: "retLastC" + argType: BOOL + argIndex: 7 + } + argDescriptor { + name: "cellClip" + argType: DOUBLE + } + argDescriptor { + name: "gateAlpha" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "gateBeta" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "cellAlpha" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "cellBeta" + argType: DOUBLE + argIndex: 4 + } + argDescriptor { + name: "outAlpha" + argType: DOUBLE + argIndex: 5 + } + argDescriptor { + name: "outBeta" + argType: DOUBLE + argIndex: 6 + } + argDescriptor { + name: "dataFormat" + argType: INT64 + } + argDescriptor { + name: "directionMode" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "gateAct" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "cellAct" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "outAct" + argType: INT64 + argIndex: 4 + } +} +opList { + name: "lstsq" + argDescriptor { + name: "a" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "fastFlag" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "l2_factor" + argType: DOUBLE + } +} +opList { + name: "lu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "p" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "manhattan" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "allDistances" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "match_condition" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "compare" + argType: DOUBLE + } + argDescriptor { + name: "eps" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "match_condition_transform" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "compare" + argType: DOUBLE + } + argDescriptor { + name: "eps" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "mode" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "matmul" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "transposeX" + argType: BOOL + } + argDescriptor { + name: "transposeY" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "transposeZ" + argType: BOOL + argIndex: 2 + } + argDescriptor { + name: "alpha" + argType: DOUBLE + } + argDescriptor { + name: "beta" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "transX" + argType: INT64 + } + argDescriptor { + name: "transY" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "transZ" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "matmul_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "eps" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dldx" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dldy" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dldx" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dldy" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "alpha" + argType: DOUBLE + } + argDescriptor { + name: "beta" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "transX" + argType: INT64 + } + argDescriptor { + name: "transY" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "transZ" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "matrix_band_part" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "minLowerT" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "maxUpperT" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "minLower" + argType: INT64 + } + argDescriptor { + name: "maxUpper" + argType: INT64 + argIndex: 1 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "matrix_determinant" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "matrix_diag" + argDescriptor { + name: "diagonal" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "matrix_diag_part" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "matrix_inverse" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "matrix_set_diag" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "diagonal" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "max_pairwise" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "max_pool_with_argmax" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outArgMax" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "sameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "isNHWC" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "max_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "maximum" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "maximum_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "maxout" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "maxpool2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "maxpool2d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "maxpool3dnew" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kD" + argType: INT64 + } + argDescriptor { + name: "kH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sD" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "pD" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "dD" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 11 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 12 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 13 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 14 + } +} +opList { + name: "maxpool3dnew_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kD" + argType: INT64 + } + argDescriptor { + name: "kH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sD" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "pD" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "dD" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 11 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 12 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 13 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 14 + } +} +opList { + name: "mean_pairwssqerr_loss" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "mean_pairwssqerr_loss_grad" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "mean_sqerr_loss" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "mean_sqerr_loss_grad" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "merge" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "mergeadd" + argDescriptor { + name: "inArrs" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "mergeadd_bp" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outArrs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "mergeavg" + argDescriptor { + name: "inArrs" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "mergeavg_bp" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outArrs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "mergemax" + argDescriptor { + name: "inArrs" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "mergemax_bp" + argDescriptor { + name: "inArrs" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outArrs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "mergemaxindex" + argDescriptor { + name: "inArrs" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: INT64 + } +} +opList { + name: "mergesum" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "meshgrid" + argDescriptor { + name: "inArrs" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "cartesian" + argType: BOOL + } + argDescriptor { + name: "outArrs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "swapFirst2Dims" + argType: INT64 + } +} +opList { + name: "meta_postulate" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "meta_predicate" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "meta_predicate_inverted" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "meta_reduce" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "min_pairwise" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "minimum" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "minimum_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "mirror_pad" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "paddings" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "isSymmetric" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "mode" + argType: INT64 + } +} +opList { + name: "mish" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "mod" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "mod_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } +} +opList { + name: "moments" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outStd" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "means" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "variances" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "keepDims" + argType: DOUBLE + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "mul_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "multi_head_dot_product_attention" + argDescriptor { + name: "queries" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keys" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "values" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Wq" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "Wk" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "Wv" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "Wo" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "mask" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "scaled" + argType: BOOL + } + argDescriptor { + name: "withWeights" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "normalization" + argType: INT64 + } + argDescriptor { + name: "weights" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "multi_head_dot_product_attention_bp" + argDescriptor { + name: "queries" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keys" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "values" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Wq" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "Wk" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "Wv" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "Wo" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "eps" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "mask" + argType: INPUT_TENSOR + argIndex: 8 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdq" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdk" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdv" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdWq" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdWk" + argType: OUTPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dLdWv" + argType: OUTPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "dLdWo" + argType: OUTPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "scaled" + argType: BOOL + } + argDescriptor { + name: "normalization" + argType: INT64 + } +} +opList { + name: "multiply" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "multiply_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } +} +opList { + name: "nadam_updater" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "initStateV" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "initStateM" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "lr" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "beta1" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "beta2" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "update" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "stateV" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "stateM" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLr" + argType: DOUBLE + } + argDescriptor { + name: "dBeta1" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dBeta2" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "dEpsilon" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "iteration" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "neg" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "nesterovs_updater" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "initState" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "lr" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "momentum" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "update" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "stateV" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLr" + argType: DOUBLE + } + argDescriptor { + name: "dMomentum" + argType: DOUBLE + argIndex: 1 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "next_iteration" + argDescriptor { + name: "frameName" + argType: STRING + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "non_max_suppression" + argDescriptor { + name: "boxes" + argType: INPUT_TENSOR + } + argDescriptor { + name: "scales" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "maxOutputSize" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "overlayThreshold" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "scoreThreshold" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "iouThreshold" + argType: DOUBLE + } + argDescriptor { + name: "scoreThreshold" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "maxOutputSize" + argType: INT64 + } +} +opList { + name: "non_max_suppression_overlaps" + argDescriptor { + name: "boxes" + argType: INPUT_TENSOR + } + argDescriptor { + name: "scales" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "maxOutSize" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "iouThreshold" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "scoreThreshold" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "overlapThreshold" + argType: DOUBLE + } + argDescriptor { + name: "scoreThreshold" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "maxOutputSize" + argType: INT64 + } +} +opList { + name: "non_max_suppression_v3" + argDescriptor { + name: "boxes" + argType: INPUT_TENSOR + } + argDescriptor { + name: "scales" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "maxOutSize" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "iouThreshold" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "scoreThreshold" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "maxOutputSize" + argType: INT64 + } +} +opList { + name: "noop" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "norm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "mode" + argType: DOUBLE + } + opDeclarationType: REDUCTION_OP_IMPL +} +opList { + name: "normalize_moments" + argDescriptor { + name: "counts" + argType: INPUT_TENSOR + } + argDescriptor { + name: "means" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "variances" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "resMeans" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "resVariances" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "shift" + argType: DOUBLE + } +} +opList { + name: "not" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "comparable" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "not_equals" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_BOOL_OP_IMPL +} +opList { + name: "not_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "notequals_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "nth_element" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "n" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "reverse" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "reverse" + argType: INT64 + } +} +opList { + name: "old_assign" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "onehot" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "depth" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "on" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "off" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "on" + argType: DOUBLE + } + argDescriptor { + name: "off" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "depth" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "oneminus" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "ones_as" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: INT64 + } +} +opList { + name: "or" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "comparable" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "or_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "order" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "pad" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "paddings" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "padValue" + argType: DOUBLE + } + argDescriptor { + name: "mode" + argType: INT64 + } +} +opList { + name: "parallel_stack" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inArrs" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "percentile" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "q" + argType: DOUBLE + } + argDescriptor { + name: "interpolation" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "keepDims" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "permute" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "permutationVector" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "permuteDims" + argType: INT64 + } +} +opList { + name: "pick_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "ia" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "pnormpool2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kY" + argType: INT64 + } + argDescriptor { + name: "kX" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sY" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sX" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pY" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pX" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dY" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dX" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "pnormpool2d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "eps" + argType: DOUBLE + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "pnorm" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "pointwise_conv2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "isNCHW" + argType: INT64 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "polygamma" + argDescriptor { + name: "n" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "pooling3dpool3dnew_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inputArrays" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "pow" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "pow" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "pow" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "pow_pairwise" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "precise_gelu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "precise" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "prelu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "sharedAxes" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "prelu_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdO" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdI" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdA" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dLdI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdA" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "sharedAxes" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "print_affinity" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "print_variable" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "message" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "printSpecial" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "probablistic_merge" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "probability" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "qr" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "fullMatricies" + argType: BOOL + } + argDescriptor { + name: "outputQ" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "outputR" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "random_bernoulli" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "f" + argType: DOUBLE + } +} +opList { + name: "random_crop" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "seed" + argType: INT64 + } +} +opList { + name: "random_exponential" + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "lambda" + argType: DOUBLE + } + argDescriptor { + name: "shape" + argType: INT64 + } +} +opList { + name: "random_gamma" + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "beta" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "seed" + argType: INT64 + } +} +opList { + name: "random_multinomial" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inputSamples" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } +} +opList { + name: "random_normal" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "random_poisson" + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + } + argDescriptor { + name: "lambda" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "seed" + argType: INT64 + } +} +opList { + name: "random_shuffle" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "seeds" + argType: INT64 + } + opDeclarationType: OP_IMPL +} +opList { + name: "randomnormal" + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "mean" + argType: DOUBLE + } + argDescriptor { + name: "stdev" + argType: DOUBLE + argIndex: 1 + } +} +opList { + name: "randomuniform" + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + } + argDescriptor { + name: "min" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "max" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "min" + argType: DOUBLE + } + argDescriptor { + name: "max" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: INT64 + } +} +opList { + name: "range" + argDescriptor { + name: "from" + argType: INPUT_TENSOR + } + argDescriptor { + name: "to" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "step" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "from" + argType: DOUBLE + } + argDescriptor { + name: "to" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "step" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "from" + argType: INT64 + } + argDescriptor { + name: "to" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "step" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "rank" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "rational_tanh" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "rational_tanh_derivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "rationaltanh" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "rationaltanh_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "rdiv_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "read_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "vec" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "importDataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "index" + argType: INT64 + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "realdiv" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "realdiv_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "rectified_tanh" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "rectified_tanh_derivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "rectifiedtanh" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "rectifiedtanh_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "reduce_dot_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outputY" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_logsumexp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "keepDims" + argType: DOUBLE + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_max" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_max_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_mean" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_mean_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_min" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_min_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_norm1" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_norm1_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_norm2" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_norm2_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_norm_max" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "reduce_norm_max_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_normmax" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "reduce_prod" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_prod_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_sqnorm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_sqnorm_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_stdev" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: DOUBLE + } + argDescriptor { + name: "biasCorrected" + argType: DOUBLE + argIndex: 1 + } +} +opList { + name: "reduce_stdev_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "biasCorrected" + argType: BOOL + } + argDescriptor { + name: "keepDims" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "keepDims" + argType: DOUBLE + } + argDescriptor { + name: "biasCorrected" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_sum" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_sum_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_variance" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: DOUBLE + } + argDescriptor { + name: "biasCorrected" + argType: DOUBLE + argIndex: 1 + } +} +opList { + name: "reduce_variance_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "biasCorrected" + argType: BOOL + } + argDescriptor { + name: "keepDims" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "keepDims" + argType: DOUBLE + } + argDescriptor { + name: "biasCorrected" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "relu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "cutoff" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "relu6" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "cutoff" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "relu6_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "cutoff" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "relu_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "scalar" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "relu_layer" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "w" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "remainder" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "remainder_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "repeat" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "replace_nans" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "set" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "reshape" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shapeArr" + argType: INT64 + } +} +opList { + name: "reshapeas" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "resize_area" + argDescriptor { + name: "image" + argType: INPUT_TENSOR + } + argDescriptor { + name: "size" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alignCorners" + argType: BOOL + } + argDescriptor { + name: "height" + argType: INT64 + } + argDescriptor { + name: "width" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "resize_bicubic" + argDescriptor { + name: "image" + argType: INPUT_TENSOR + } + argDescriptor { + name: "size" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alignCorners" + argType: BOOL + } + argDescriptor { + name: "alignPixelCenters" + argType: BOOL + argIndex: 1 + } +} +opList { + name: "resize_bilinear" + argDescriptor { + name: "image" + argType: INPUT_TENSOR + } + argDescriptor { + name: "newImageSize" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alignCorners" + argType: BOOL + } + argDescriptor { + name: "halfPixelCenters" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "height" + argType: INT64 + } + argDescriptor { + name: "width" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "resize_images" + argDescriptor { + name: "image" + argType: INPUT_TENSOR + } + argDescriptor { + name: "size" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "methodT" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alignCorners" + argType: BOOL + } + argDescriptor { + name: "preserveAspectRatio" + argType: BOOL + argIndex: 1 + } +} +opList { + name: "resize_nearest_neighbor" + argDescriptor { + name: "image" + argType: INPUT_TENSOR + } + argDescriptor { + name: "newImageSize" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alignCorners" + argType: BOOL + } + argDescriptor { + name: "halfPixelCenter" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "height" + argType: INT64 + } + argDescriptor { + name: "width" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "restorev2" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "reverse" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "reverse_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "grad" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "eps" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reverse_sequence" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "seqLengths" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "seqDim" + argType: INT64 + } + argDescriptor { + name: "batchDim" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "reverse_v2" + argDescriptor { + name: "isLegacy" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "reversedivide" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "reversedivide_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } +} +opList { + name: "reversemod" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "reversemod_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "reversesubtract" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "reversesubtract_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } +} +opList { + name: "rgb_to_grs" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } +} +opList { + name: "rgb_to_hsv" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "rgb_to_yiq" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "rgb_to_yuv" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "rint" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "rms_prop_updater" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "initState" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "lr" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "rmsDecay" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "update" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "stateG" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLr" + argType: DOUBLE + } + argDescriptor { + name: "dRmsDecay" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dEpsilon" + argType: DOUBLE + argIndex: 2 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "roll" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "shiftsI" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shift" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "round" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "rshift_bits" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "rsqrt" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "rsub_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "savev2" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "scalar_min" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "scatter_add" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_div" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "array" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "sizes" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "scatter_max" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_min" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_mul" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_nd" + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } +} +opList { + name: "scatter_nd_add" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_nd_sub" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_nd_update" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_sub" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_upd" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_update" + argDescriptor { + name: "operand" + argType: INPUT_TENSOR + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "sconv2d" + argDescriptor { + name: "*input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "*weightsDepth" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "weightsPoint" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "*output" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "sconv2d_bp" + argDescriptor { + name: "*input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "*gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "*weightsDepth" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "*gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "*gradWD" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradWP" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "segment_max" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } +} +opList { + name: "segment_max_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradOut" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "outIndices" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "segment_mean" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } +} +opList { + name: "segment_mean_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradOut" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "outIndices" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "segment_min" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } +} +opList { + name: "segment_min_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradOut" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "outIndices" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "segment_prod" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } +} +opList { + name: "segment_prod_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradOut" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "outIndices" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "segment_sum" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } +} +opList { + name: "segment_sum_bp" + argDescriptor { + name: "data" + argType: INPUT_TENSOR + } + argDescriptor { + name: "segmentIds" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "select" + argDescriptor { + name: "cond" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "selu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "selu_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "seluderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "sequence_mask" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "maxlen" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "is_static_maxlen" + argType: BOOL + } + argDescriptor { + name: "maxInd" + argType: INT64 + } + argDescriptor { + name: "dataType" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "set" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "set_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "set_seed" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "seed" + argType: INT64 + } +} +opList { + name: "setrange" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "min" + argType: DOUBLE + } + argDescriptor { + name: "max" + argType: DOUBLE + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "setvalorless_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "sgd_updater" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "lr" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "lr" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "shannonentropy" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "shape_of" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "shapes_of" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "shift_bits" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "sigm_cross_entropy_loss" + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "labelsSmoothing" + argType: DOUBLE + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "sigm_cross_entropy_loss_grad" + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "labelSmoothing" + argType: DOUBLE + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "sigmoid" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "sigmoid_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "sign" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "sin" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "sinh" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "size" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "size_at" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "size_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "skipgram" + argDescriptor { + name: "target" + argType: INPUT_TENSOR + } + argDescriptor { + name: "ngStarter" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "codes" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "syn0" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "syn1" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "syn1neg" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "expTable" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "negTable" + argType: INPUT_TENSOR + argIndex: 8 + } + argDescriptor { + name: "alpha" + argType: INPUT_TENSOR + argIndex: 9 + } + argDescriptor { + name: "randomValue" + argType: INPUT_TENSOR + argIndex: 10 + } + argDescriptor { + name: "inferenceVector" + argType: INPUT_TENSOR + argIndex: 11 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "isInference" + argType: BOOL + } + argDescriptor { + name: "isPreciseMode" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "numWorkers" + argType: INT64 + } + argDescriptor { + name: "nsRounds" + argType: INT64 + argIndex: 1 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "slice" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "e" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "size" + argType: INT64 + } +} +opList { + name: "slice_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "e" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "size" + argType: INT64 + } +} +opList { + name: "softmax" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimension" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "softmax_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimension" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "softmax_cross_entropy_loss" + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "labelsSmoothing" + argType: DOUBLE + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "softmax_cross_entropy_loss_grad" + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "labelsSmoothing" + argType: DOUBLE + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "softmax_cross_entropy_loss_with_logits" + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "classesDim" + argType: INT64 + } +} +opList { + name: "softmax_cross_entropy_loss_with_logits_grad" + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "classesDim" + argType: INT64 + } +} +opList { + name: "softplus" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "softplus_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "softsign" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "softsign_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "softsignderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "solve" + argDescriptor { + name: "a" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "adjoint" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "useAdjoint" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "solve_ls" + argDescriptor { + name: "a" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "fastFlag" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "l2_factor" + argType: DOUBLE + } +} +opList { + name: "somepoolingpool2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "somepoolingpool2d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "grad" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "space_to_batch" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "padding" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "blockSize" + argType: INT64 + } +} +opList { + name: "space_to_batch_nd" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "blockShape" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "padding" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "blocks" + argType: INT64 + } +} +opList { + name: "space_to_depth" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "block_size" + argType: INT64 + } + argDescriptor { + name: "isNHWC" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "sparse_softmax_cross_entropy_loss_with_logits" + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + } + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "sparse_softmax_cross_entropy_loss_with_logits_grad" + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + } + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } +} +opList { + name: "split" + argDescriptor { + name: "a" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outArrs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSplit" + argType: INT64 + } + argDescriptor { + name: "dimensions" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "split_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "array" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "sizes" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "split_string" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "delim" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "split_v" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "sizes" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "_a" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "numSplit" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "sqrt" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "sqrtm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "square" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "squaredsubtract" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "squaredsubtract_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "squeeze" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "a" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "_a" + argType: INT64 + } +} +opList { + name: "sru" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "w" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "c0" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "mask" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "c" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "sruCell" + argDescriptor { + name: "xt" + argType: INPUT_TENSOR + } + argDescriptor { + name: "ct_1" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "w" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "ht" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "ct" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "sru_bi" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "w" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "c0" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "mask" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "ht" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "ct" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "sru_bi_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "w" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "c0" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "ct" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "inGradC0" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "inGradHt" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "mask" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradC0" + argType: OUTPUT_TENSOR + argIndex: 3 + } +} +opList { + name: "sru_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "w" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "c0" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "c" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "inGradCt" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "inGradH" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "mask" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradInit" + argType: OUTPUT_TENSOR + argIndex: 3 + } +} +opList { + name: "stabilize" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "realMin" + argType: DOUBLE + } + argDescriptor { + name: "cutOff" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "k" + argType: DOUBLE + argIndex: 2 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "stack" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inArrs" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "stack_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "standardize" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "standardize_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "eps" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "static_bidirectional_rnn" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "WxFW" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "WhFW" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "bFW" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "WxBW" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "WhBW" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "bBW" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "h0FW" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "h0BW" + argType: INPUT_TENSOR + argIndex: 8 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "hFWFinal" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "hBWFinal" + argType: OUTPUT_TENSOR + argIndex: 2 + } +} +opList { + name: "static_rnn" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wh" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "h0" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "hFinal" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "std" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "biasCorrected" + argType: BOOL + } + argDescriptor { + name: "keepDims" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "step" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "cutoff" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "stop_gradient" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "strided_slice" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "v_begin" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "v_end" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "v_stride" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "begin_mask" + argType: INT64 + } + argDescriptor { + name: "ellipsis_mask" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "end_mask" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "new_axis_mask" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "shrink_axis_mask" + argType: INT64 + argIndex: 4 + } +} +opList { + name: "strided_slice_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "v_begin" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "v_end" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "v_stride" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "begin_mask" + argType: INT64 + } + argDescriptor { + name: "ellipsis_mask" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "end_mask" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "new_axis_mask" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "shrink_axis_mask" + argType: INT64 + argIndex: 4 + } +} +opList { + name: "sub_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "subtract" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "subtract_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "inPlace" + argType: BOOL + } +} +opList { + name: "sufficient_statistics" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "shift" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dataCount" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "sum" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "squares" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "shift" + argType: OUTPUT_TENSOR + argIndex: 3 + } +} +opList { + name: "svd" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "fullUV" + argType: BOOL + } + argDescriptor { + name: "computeUv" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "fullUV" + argType: INT64 + } + argDescriptor { + name: "calcUV" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "switchNum" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "swish" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "switch" + argDescriptor { + name: "frameName" + argType: STRING + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "predicate" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "tan" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "tanderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "tanh" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "tanh_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "tear" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outE" + argType: OUTPUT_TENSOR + } +} +opList { + name: "tensorarrayconcatv3" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "tensorarraysplitv3" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "tensorarrayv3" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: INT64 + } +} +opList { + name: "tensorarraywritev3" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "tensordot" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "addedEdges" + argType: BOOL + } + argDescriptor { + name: "transposeY" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "transposeZ" + argType: BOOL + argIndex: 2 + } + argDescriptor { + name: "dimensionsY" + argType: INT64 + } +} +opList { + name: "tensormmul" + argDescriptor { + name: "a" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "c" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "axe0_size" + argType: INT64 + } + argDescriptor { + name: "axe1_size" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "tensormmul_bp" + argDescriptor { + name: "A" + argType: INPUT_TENSOR + } + argDescriptor { + name: "B" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdC" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdA" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdB" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "axe0Size" + argType: INT64 + } +} +opList { + name: "test_output_reshape" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "test_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "testcustom" + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "testop2i2o" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "xO" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "yO" + argType: OUTPUT_TENSOR + argIndex: 1 + } + opDeclarationType: OP_IMPL +} +opList { + name: "testreduction" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: REDUCTION_OP_IMPL +} +opList { + name: "tf_atan2" + argDescriptor { + name: "y" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "thresholdedrelu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "cutoff" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "thresholdedrelu_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dLdO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "cutoff" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "tile" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "reps_vector" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "is_static_reps" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "tile_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "repeat" + argType: INT64 + } +} +opList { + name: "tile_to_shape" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "tile_to_shape_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } +} +opList { + name: "timesoneminus" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "to_double" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "to_float16" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "to_float32" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "to_int32" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "to_int64" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "to_uint32" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "to_uint64" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "toggle_bits" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "top_k" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "needSort" + argType: BOOL + } + argDescriptor { + name: "values" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "k" + argType: INT64 + } +} +opList { + name: "trace" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "transpose" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "permuteDims" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "tri" + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "row" + argType: INT64 + } + argDescriptor { + name: "column" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "diag" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "triangular_solve" + argDescriptor { + name: "a" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "isLower" + argType: BOOL + } + argDescriptor { + name: "useAdjoint" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "triu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "diag" + argType: INT64 + } +} +opList { + name: "triu_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "diag" + argType: INT64 + } +} +opList { + name: "truncatediv" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "unique" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "values" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "unique_with_counts" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "values" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "counts" + argType: OUTPUT_TENSOR + argIndex: 2 + } +} +opList { + name: "unsorted_segment_max" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } +} +opList { + name: "unsorted_segment_max_bp" + argDescriptor { + name: "data" + argType: INPUT_TENSOR + } + argDescriptor { + name: "segmentIds" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } +} +opList { + name: "unsorted_segment_mean" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } +} +opList { + name: "unsorted_segment_mean_bp" + argDescriptor { + name: "data" + argType: INPUT_TENSOR + } + argDescriptor { + name: "segmentIds" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } +} +opList { + name: "unsorted_segment_min" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } +} +opList { + name: "unsorted_segment_min_bp" + argDescriptor { + name: "data" + argType: INPUT_TENSOR + } + argDescriptor { + name: "segmentIds" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } +} +opList { + name: "unsorted_segment_prod" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } +} +opList { + name: "unsorted_segment_prod_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "eps" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } +} +opList { + name: "unsorted_segment_sqrt_n" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } +} +opList { + name: "unsorted_segment_sqrt_n_bp" + argDescriptor { + name: "data" + argType: INPUT_TENSOR + } + argDescriptor { + name: "segmentIds" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } +} +opList { + name: "unsorted_segment_sum" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } +} +opList { + name: "unsorted_segment_sum_bp" + argDescriptor { + name: "data" + argType: INPUT_TENSOR + } + argDescriptor { + name: "segmentIds" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } +} +opList { + name: "unstack" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outArrs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "num" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "unstack_list" + argDescriptor { + name: "outputList" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "upsampling2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "nchw" + argType: BOOL + } + argDescriptor { + name: "factorH" + argType: INT64 + } + argDescriptor { + name: "factorW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "upsampling2d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "nchw" + argType: BOOL + } + argDescriptor { + name: "scaleW" + argType: INT64 + } +} +opList { + name: "upsampling3d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "ncdhw" + argType: BOOL + } + argDescriptor { + name: "factorD" + argType: INT64 + } + argDescriptor { + name: "factorH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "factorW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 3 + } +} +opList { + name: "upsampling3d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "ncdhw" + argType: BOOL + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + } +} +opList { + name: "var" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "biasCorrected" + argType: BOOL + } + argDescriptor { + name: "keepDims" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "weighted_cross_entropy_with_logits" + argDescriptor { + name: "targets" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "where_np" + argDescriptor { + name: "condition" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "write_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "idx" + argType: INT64 + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "xor" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "comparable" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "xor_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "xw_plus_b" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "bTranspose" + argType: INT64 + } +} +opList { + name: "xw_plus_b_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "w" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdz" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdx" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdb" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "bTranspose" + argType: INT64 + } +} +opList { + name: "yiq_to_rgb" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "yuv_to_rgb" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "zero_fraction" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "zeros_as" + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "zeros_like" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "zeroslike" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: INT64 + } +} +opList { + name: "zeta" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "q" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "placeholder" + opDeclarationType: LOGIC_OP_IMPL +} diff --git a/contrib/codegen-tools/libnd4j-gen/pom.xml b/contrib/codegen-tools/libnd4j-gen/pom.xml new file mode 100644 index 000000000..061ec3d8e --- /dev/null +++ b/contrib/codegen-tools/libnd4j-gen/pom.xml @@ -0,0 +1,107 @@ + + + + + + 4.0.0 + + org.nd4j + libnd4j-gen + 1.0-SNAPSHOT + + libnd4j-gen + + + + UTF-8 + 1.8 + 1.8 + 1.0.0-SNAPSHOT + + + + + com.codepoetics + protonpack + 1.16 + + + com.github.javaparser + javaparser-core-serialization + 3.17.0 + + + com.github.javaparser + javaparser-symbol-solver-core + 3.17.0 + + + org.apache.commons + commons-text + 1.9 + + + org.apache.commons + commons-collections4 + 4.1 + + + org.reflections + reflections + 0.9.10 + + + + org.nd4j + protobuf + ${nd4j.version} + + + + junit + junit + 4.12 + test + + + + + org.projectlombok + lombok + 1.18.12 + + + + + org.nd4j + nd4j-native + ${nd4j.version} + + + + + org.nd4j + nd4j-api + ${nd4j.version} + + + + + diff --git a/contrib/codegen-tools/libnd4j-gen/src/main/java/org/nd4j/descriptor/OpDeclarationDescriptor.java b/contrib/codegen-tools/libnd4j-gen/src/main/java/org/nd4j/descriptor/OpDeclarationDescriptor.java new file mode 100644 index 000000000..b669d65ac --- /dev/null +++ b/contrib/codegen-tools/libnd4j-gen/src/main/java/org/nd4j/descriptor/OpDeclarationDescriptor.java @@ -0,0 +1,123 @@ +/******************************************************************************* + * Copyright (c) 2020 Konduit KK. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License, Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * SPDX-License-Identifier: Apache-2.0 + ******************************************************************************/ +package org.nd4j.descriptor; + +import lombok.Builder; +import lombok.Data; + +import java.io.Serializable; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * The op descriptor for the libnd4j code base. + * Each op represents a serialized version of + * {@link org.nd4j.linalg.api.ops.DynamicCustomOp} + * that has naming metadata attached. + * + * @author Adam Gibson + */ +@Data +@Builder(toBuilder = true) +public class OpDeclarationDescriptor implements Serializable { + private String name; + private int nIn,nOut,tArgs,iArgs; + private boolean inplaceAble; + private List inArgNames; + private List outArgNames; + private List tArgNames; + private List iArgNames; + private List bArgNames; + + + private OpDeclarationType opDeclarationType; + @Builder.Default + private Map argOptional = new HashMap<>(); + + + public enum OpDeclarationType { + CUSTOM_OP_IMPL, + BOOLEAN_OP_IMPL, + LIST_OP_IMPL, + LOGIC_OP_IMPL, + OP_IMPL, + DIVERGENT_OP_IMPL, + CONFIGURABLE_OP_IMPL, + REDUCTION_OP_IMPL, + BROADCASTABLE_OP_IMPL, + BROADCASTABLE_BOOL_OP_IMPL, + LEGACY_XYZ, + PLATFORM_IMPL + } + + + + public void validate() { + if(nIn >= 0 && nIn != inArgNames.size() && !isVariableInputSize()) { + System.err.println("In arg names was not equal to number of inputs found for op " + name); + } + + if(nOut >= 0 && nOut != outArgNames.size() && !isVariableOutputSize()) { + System.err.println("Output arg names was not equal to number of outputs found for op " + name); + } + + if(tArgs >= 0 && tArgs != tArgNames.size() && !isVariableTArgs()) { + System.err.println("T arg names was not equal to number of T found for op " + name); + } + if(iArgs >= 0 && iArgs != iArgNames.size() && !isVariableIntArgs()) { + System.err.println("Integer arg names was not equal to number of integer args found for op " + name); + } + } + + + /** + * Returns true if there is a variable number + * of integer arguments for an op + * @return + */ + public boolean isVariableIntArgs() { + return iArgs < 0; + } + + /** + * Returns true if there is a variable + * number of t arguments for an op + * @return + */ + public boolean isVariableTArgs() { + return tArgs < 0; + } + + /** + * Returns true if the number of outputs is variable size + * @return + */ + public boolean isVariableOutputSize() { + return nOut < 0; + } + + /** + * Returns true if the number of + * inputs is variable size + * @return + */ + public boolean isVariableInputSize() { + return nIn < 0; + } + + +} diff --git a/contrib/codegen-tools/libnd4j-gen/src/main/java/org/nd4j/descriptor/ParseOpFile.java b/contrib/codegen-tools/libnd4j-gen/src/main/java/org/nd4j/descriptor/ParseOpFile.java new file mode 100644 index 000000000..0af468f19 --- /dev/null +++ b/contrib/codegen-tools/libnd4j-gen/src/main/java/org/nd4j/descriptor/ParseOpFile.java @@ -0,0 +1,202 @@ +/******************************************************************************* + * Copyright (c) 2020 Konduit KK. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License, Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * SPDX-License-Identifier: Apache-2.0 + ******************************************************************************/ +package org.nd4j.descriptor; + +import org.apache.commons.io.FileUtils; +import org.nd4j.common.base.Preconditions; +import org.nd4j.common.primitives.Pair; +import org.nd4j.descriptor.proposal.ArgDescriptorProposal; +import org.nd4j.descriptor.proposal.ArgDescriptorSource; +import org.nd4j.descriptor.proposal.impl.JavaSourceArgDescriptorSource; +import org.nd4j.descriptor.proposal.impl.Libnd4jArgDescriptorSource; +import org.nd4j.descriptor.proposal.impl.ArgDescriptorParserUtils; +import org.nd4j.ir.OpNamespace; +import org.nd4j.shade.protobuf.TextFormat; + +import java.io.File; +import java.nio.charset.Charset; +import java.util.*; +import java.util.stream.Collectors; + + +/** + * Parses the libnd4j code base based on a relative path + * default of ../deeplearning4j/libnd4j + * or a passed in file path. + * It generates a descriptor for each op. + * The file properties can be found at {@link OpDeclarationDescriptor} + * + * + * @author Adam Gibson + */ +public class ParseOpFile { + + + public static void main(String...args) throws Exception { + String libnd4jPath = args.length > 0 ? args[0] : Libnd4jArgDescriptorSource.DEFAULT_LIBND4J_DIRECTORY; + String outputFilePath = args.length > 1 ? args[1] : ArgDescriptorParserUtils.DEFAULT_OUTPUT_FILE; + + File libnd4jRootDir = new File(libnd4jPath); + StringBuilder nd4jApiSourceDir = new StringBuilder(); + nd4jApiSourceDir.append("nd4j"); + nd4jApiSourceDir.append(File.separator); + nd4jApiSourceDir.append("nd4j-backends"); + nd4jApiSourceDir.append(File.separator); + nd4jApiSourceDir.append("nd4j-api-parent"); + nd4jApiSourceDir.append(File.separator); + nd4jApiSourceDir.append("nd4j-api"); + nd4jApiSourceDir.append(File.separator); + nd4jApiSourceDir.append("src"); + nd4jApiSourceDir.append(File.separator); + nd4jApiSourceDir.append("main"); + nd4jApiSourceDir.append(File.separator); + nd4jApiSourceDir.append("java"); + File nd4jApiRootDir = new File(new File(libnd4jPath).getParent(),nd4jApiSourceDir.toString()); + System.out.println("Parsing libnd4j code base at " + libnd4jRootDir.getAbsolutePath() + " and writing to " + outputFilePath); + Libnd4jArgDescriptorSource libnd4jArgDescriptorSource = Libnd4jArgDescriptorSource.builder() + .libnd4jPath(libnd4jPath) + .weight(99999.0) + .build(); + + + + JavaSourceArgDescriptorSource javaSourceArgDescriptorSource = JavaSourceArgDescriptorSource.builder() + .nd4jApiRootDir(nd4jApiRootDir) + .weight(1.0) + .build(); + + Map opTypes = new HashMap<>(); + + Map> proposals = new HashMap<>(); + for(ArgDescriptorSource argDescriptorSource : new ArgDescriptorSource[] {libnd4jArgDescriptorSource,javaSourceArgDescriptorSource}) { + Map> currProposals = argDescriptorSource.getProposals(); + for(Map.Entry> entry : currProposals.entrySet()) { + Preconditions.checkState(!entry.getKey().isEmpty()); + Set seenNames = new HashSet<>(); + if(proposals.containsKey(entry.getKey())) { + List currProposalsList = proposals.get(entry.getKey()); + currProposalsList.addAll(entry.getValue().stream().filter(proposal -> { + Preconditions.checkState(!proposal.getDescriptor().getName().isEmpty()); + boolean ret = proposal.getDescriptor().getArgIndex() >= 0 && !seenNames.contains(proposal.getDescriptor().getName()); + seenNames.add(proposal.getDescriptor().getName()); + return ret; + }).collect(Collectors.toList())); + + } + else { + Preconditions.checkState(!entry.getKey().isEmpty()); + proposals.put(entry.getKey(),entry.getValue()); + } + } + } + + javaSourceArgDescriptorSource.getOpTypes().forEach((k,v) -> { + opTypes.put(k, OpNamespace.OpDescriptor.OpDeclarationType.valueOf(v.name())); + }); + + libnd4jArgDescriptorSource.getOpTypes().forEach((k,v) -> { + opTypes.put(k, OpNamespace.OpDescriptor.OpDeclarationType.valueOf(v.name())); + + }); + + opTypes.putAll(javaSourceArgDescriptorSource.getOpTypes()); + opTypes.putAll(libnd4jArgDescriptorSource.getOpTypes()); + + OpNamespace.OpDescriptorList.Builder listBuilder = OpNamespace.OpDescriptorList.newBuilder(); + for(Map.Entry> proposal : proposals.entrySet()) { + Preconditions.checkState(!proposal.getKey().isEmpty()); + Map> collect = proposal.getValue().stream() + .collect(Collectors.groupingBy(input -> input.getDescriptor().getName())); + //merge boolean and int64 + collect.entrySet().forEach(entry -> { + ArgDescriptorParserUtils.standardizeTypes(entry.getValue()); + }); + + Map, OpNamespace.ArgDescriptor> rankedProposals = ArgDescriptorParserUtils. + standardizeNames(collect, proposal.getKey()); + OpNamespace.OpDescriptor.Builder opDescriptorBuilder = OpNamespace.OpDescriptor.newBuilder() + .setOpDeclarationType(opTypes.get(proposal.getKey())) + .setName(proposal.getKey()); + rankedProposals.entrySet().stream().map(input -> input.getValue()) + .forEach(argDescriptor -> { + opDescriptorBuilder.addArgDescriptor(argDescriptor); + }); + + listBuilder.addOpList(opDescriptorBuilder.build()); + + } + + OpNamespace.OpDescriptorList.Builder sortedListBuilder = OpNamespace.OpDescriptorList.newBuilder(); + List sortedDescriptors = new ArrayList<>(); + for(int i = 0; i < listBuilder.getOpListCount(); i++) { + OpNamespace.OpDescriptor opList = listBuilder.getOpList(i); + OpNamespace.OpDescriptor.Builder sortedOpBuilder = OpNamespace.OpDescriptor.newBuilder(); + Map> sortedByType = opList.getArgDescriptorList().stream().collect(Collectors.groupingBy(input -> input.getArgType())); + Set namesEncountered = new HashSet<>(); + sortedByType.entrySet().forEach(entry -> { + Collections.sort(entry.getValue(),Comparator.comparing(inputArg -> inputArg.getArgIndex())); + for(int j = 0; j < entry.getValue().size(); j++) { + OpNamespace.ArgDescriptor currDescriptor = entry.getValue().get(j); + boolean isArrayArg = false; + String finalName = currDescriptor.getName(); + if(currDescriptor.getName().contains("[")) { + isArrayArg = true; + finalName = finalName.replaceAll("\\[.*\\]","").replace("*",""); + } + + if(currDescriptor.getArgIndex() != j) { + throw new IllegalStateException("Op name " + opList.getName() + " has incontiguous indices for type " + entry.getKey() + " with descriptor being " +currDescriptor); + } + + OpNamespace.ArgDescriptor.Builder newDescriptor = OpNamespace.ArgDescriptor.newBuilder() + .setName(finalName) + .setArgIndex(currDescriptor.getArgIndex()) + .setIsArray(isArrayArg) + .setArgType(currDescriptor.getArgType()) + .setConvertBoolToInt(currDescriptor.getConvertBoolToInt()); + + sortedOpBuilder.addArgDescriptor(newDescriptor.build()); + + namesEncountered.add(currDescriptor.getName()); + + } + }); + + sortedOpBuilder.setOpDeclarationType(opList.getOpDeclarationType()); + sortedOpBuilder.setName(opList.getName()); + sortedDescriptors.add(sortedOpBuilder.build()); + + } + + + //sort alphabetically + Collections.sort(sortedDescriptors,Comparator.comparing(opDescriptor -> opDescriptor.getName())); + //add placeholder as an op to map + sortedDescriptors.add(OpNamespace.OpDescriptor.newBuilder() + .setName("placeholder") + .setOpDeclarationType(OpNamespace.OpDescriptor.OpDeclarationType.LOGIC_OP_IMPL) + .build()); + sortedDescriptors.forEach(input -> { + sortedListBuilder.addOpList(input); + }); + + + String write = TextFormat.printToString(sortedListBuilder.build()); + FileUtils.writeStringToFile(new File(outputFilePath),write, Charset.defaultCharset()); + } + + +} diff --git a/contrib/codegen-tools/libnd4j-gen/src/main/java/org/nd4j/descriptor/proposal/ArgDescriptorProposal.java b/contrib/codegen-tools/libnd4j-gen/src/main/java/org/nd4j/descriptor/proposal/ArgDescriptorProposal.java new file mode 100644 index 000000000..e9b961d81 --- /dev/null +++ b/contrib/codegen-tools/libnd4j-gen/src/main/java/org/nd4j/descriptor/proposal/ArgDescriptorProposal.java @@ -0,0 +1,18 @@ +package org.nd4j.descriptor.proposal; + +import lombok.Builder; +import lombok.Data; +import org.nd4j.ir.OpNamespace; + +@Builder +@Data +public class ArgDescriptorProposal { + + private OpNamespace.ArgDescriptor descriptor; + + private String sourceLine; + + private double proposalWeight; + + private String sourceOfProposal; +} diff --git a/contrib/codegen-tools/libnd4j-gen/src/main/java/org/nd4j/descriptor/proposal/ArgDescriptorSource.java b/contrib/codegen-tools/libnd4j-gen/src/main/java/org/nd4j/descriptor/proposal/ArgDescriptorSource.java new file mode 100644 index 000000000..628b8537e --- /dev/null +++ b/contrib/codegen-tools/libnd4j-gen/src/main/java/org/nd4j/descriptor/proposal/ArgDescriptorSource.java @@ -0,0 +1,15 @@ +package org.nd4j.descriptor.proposal; + +import org.nd4j.ir.OpNamespace; + +import java.util.List; +import java.util.Map; + +public interface ArgDescriptorSource { + + Map> getProposals(); + + OpNamespace.OpDescriptor.OpDeclarationType typeFor(String name); + + +} diff --git a/contrib/codegen-tools/libnd4j-gen/src/main/java/org/nd4j/descriptor/proposal/impl/ArgDescriptorParserUtils.java b/contrib/codegen-tools/libnd4j-gen/src/main/java/org/nd4j/descriptor/proposal/impl/ArgDescriptorParserUtils.java new file mode 100644 index 000000000..9ff2b4d06 --- /dev/null +++ b/contrib/codegen-tools/libnd4j-gen/src/main/java/org/nd4j/descriptor/proposal/impl/ArgDescriptorParserUtils.java @@ -0,0 +1,806 @@ +package org.nd4j.descriptor.proposal.impl; + +import com.github.javaparser.ast.expr.MethodCallExpr; +import com.github.javaparser.resolution.declarations.ResolvedMethodDeclaration; +import com.github.javaparser.resolution.declarations.ResolvedParameterDeclaration; +import lombok.val; +import org.apache.commons.text.similarity.LevenshteinDistance; +import org.nd4j.autodiff.samediff.SDVariable; +import org.nd4j.common.base.Preconditions; +import org.nd4j.common.primitives.*; +import org.nd4j.descriptor.OpDeclarationDescriptor; +import org.nd4j.descriptor.proposal.ArgDescriptorProposal; +import org.nd4j.ir.OpNamespace; +import org.nd4j.linalg.api.ndarray.INDArray; + +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.stream.Collectors; + +public class ArgDescriptorParserUtils { + public final static String DEFAULT_OUTPUT_FILE = "op-ir.proto"; + public final static Pattern numberPattern = Pattern.compile("\\([\\d]+\\)"); + + + public final static String ARGUMENT_ENDING_PATTERN = "\\([\\w\\d+-\\\\*\\/]+\\);"; + public final static String ARGUMENT_PATTERN = "\\([\\w\\d+-\\\\*\\/]+\\)"; + + public final static String ARRAY_ASSIGNMENT = "\\w+\\[[a-zA-Z]+\\]\\s*=\\s*[A-Z]+_[A-Z]+\\(\\s*[\\d\\w+-\\/\\*\\s]+\\);"; + + public final static Set bannedMaxIndexOps = new HashSet() {{ + add("embedding_lookup"); + add("stack"); + }}; + + public final static Set bannedIndexChangeOps = new HashSet() {{ + add("gemm"); + add("mmul"); + add("matmul"); + }}; + + + public static final Set cppTypes = new HashSet() {{ + add("int"); + add("bool"); + add("auto"); + add("string"); + add("float"); + add("double"); + add("char"); + add("class"); + add("uint"); + }}; + + public final static Set fieldNameFilters = new HashSet() {{ + add("sameDiff"); + add("xVertexId"); + add("yVertexId"); + add("zVertexId"); + add("extraArgs"); + add("extraArgz"); + add("dimensionz"); + add("scalarValue"); + add("dimensions"); + add("jaxis"); + add("inPlace"); + }}; + + public final static Set fieldNameFiltersDynamicCustomOps = new HashSet() {{ + add("sameDiff"); + add("xVertexId"); + add("yVertexId"); + add("zVertexId"); + add("extraArgs"); + add("extraArgz"); + add("dimensionz"); + add("scalarValue"); + add("jaxis"); + add("inPlace"); + add("inplaceCall"); + }}; + + public static Map equivalentAttributeNames = new HashMap() {{ + put("axis","dimensions"); + put("dimensions","axis"); + put("jaxis","dimensions"); + put("dimensions","jaxis"); + put("inplaceCall","inPlace"); + put("inPlace","inplaceCall"); + }}; + + + public static Set dimensionNames = new HashSet() {{ + add("jaxis"); + add("axis"); + add("dimensions"); + add("dimensionz"); + add("dim"); + add("axisVector"); + add("axesI"); + add("ax"); + add("dims"); + add("axes"); + add("axesVector"); + }}; + + public static Set inputNames = new HashSet() {{ + add("input"); + add("inputs"); + add("i_v"); + add("x"); + add("in"); + add("args"); + add("i_v1"); + add("first"); + add("layerInput"); + add("in1"); + add("arrays"); + }}; + public static Set input2Names = new HashSet() {{ + add("y"); + add("i_v2"); + add("second"); + add("in2"); + }}; + + public static Set outputNames = new HashSet() {{ + add("output"); + add("outputs"); + add("out"); + add("result"); + add("z"); + add("outputArrays"); + }}; + + + public static Set inplaceNames = new HashSet() {{ + add("inPlace"); + add("inplaceCall"); + }}; + + + public static OpNamespace.ArgDescriptor.ArgType argTypeForParam(ResolvedParameterDeclaration parameterDeclaration) { + String type = parameterDeclaration.describeType(); + boolean isEnum = false; + try { + isEnum = Class.forName(parameterDeclaration.asParameter().describeType()).isEnum(); + } catch(ClassNotFoundException e) { + + } + + if(type.contains(INDArray.class.getName()) || type.contains(SDVariable.class.getName())) { + if(!outputNames.contains(parameterDeclaration.getName())) { + return OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR; + } + else return OpNamespace.ArgDescriptor.ArgType.OUTPUT_TENSOR; + } else if(type.contains(double.class.getName()) || type.contains(float.class.getName()) || type.contains(Float.class.getName()) || type.contains(Double.class.getName())) { + return OpNamespace.ArgDescriptor.ArgType.DOUBLE; + } else if(type.contains(int.class.getName()) || type.contains(long.class.getName()) || + type.contains(Integer.class.getName()) || type.contains(Long.class.getName()) || isEnum) { + return OpNamespace.ArgDescriptor.ArgType.INT64; + } else if(type.contains(boolean.class.getName()) || type.contains(Boolean.class.getName())) { + return OpNamespace.ArgDescriptor.ArgType.BOOL; + } else { + return OpNamespace.ArgDescriptor.ArgType.UNRECOGNIZED; + } + } + + + public static boolean paramIsEnum(String paramType) { + try { + return Class.forName(paramType).isEnum(); + } catch(ClassNotFoundException e) { + return false; + } + } + + + public static boolean paramIsEnum(ResolvedParameterDeclaration param) { + return paramIsEnum(param.describeType()); + } + + + public static boolean isValidParam(ResolvedParameterDeclaration param) { + boolean describedClassIsEnum = false; + boolean ret = param.describeType().contains(INDArray.class.getName()) || + param.describeType().contains(boolean.class.getName()) || + param.describeType().contains(Boolean.class.getName()) || + param.describeType().contains(SDVariable.class.getName()) || + param.describeType().contains(Integer.class.getName()) || + param.describeType().contains(int.class.getName()) || + param.describeType().contains(double.class.getName()) || + param.describeType().contains(Double.class.getName()) || + param.describeType().contains(float.class.getName()) || + param.describeType().contains(Float.class.getName()) || + param.describeType().contains(Long.class.getName()) || + param.describeType().contains(long.class.getName()); + try { + describedClassIsEnum = Class.forName(param.asParameter().describeType()).isEnum(); + } catch(ClassNotFoundException e) { + + } + return ret || describedClassIsEnum; + } + + public static ResolvedMethodDeclaration tryResolve(MethodCallExpr methodCallExpr) { + try { + return methodCallExpr.resolve(); + }catch(Exception e) { + + } + return null; + } + + public static boolean typeNameOrArrayOfTypeNameMatches(String typeName,String...types) { + boolean ret = false; + for(String type : types) { + ret = typeName.equals(type) || + typeName.equals(type + "...") || + typeName.equals(type + "[]") || ret; + + } + + return ret; + } + + + public static boolean equivalentAttribute(OpNamespace.ArgDescriptor comp1, OpNamespace.ArgDescriptor comp2) { + if(equivalentAttributeNames.containsKey(comp1.getName())) { + return equivalentAttributeNames.get(comp1.getName()).equals(comp2.getName()); + } + + if(equivalentAttributeNames.containsKey(comp2.getName())) { + return equivalentAttributeNames.get(comp2.getName()).equals(comp1.getName()); + } + return false; + } + + public static boolean argsListContainsEquivalentAttribute(List argDescriptors, OpNamespace.ArgDescriptor to) { + for(OpNamespace.ArgDescriptor argDescriptor : argDescriptors) { + if(argDescriptor.getArgType() == to.getArgType() && equivalentAttribute(argDescriptor,to)) { + return true; + } + } + + return false; + } + + public static boolean argsListContainsSimilarArg(List argDescriptors, OpNamespace.ArgDescriptor to, int threshold) { + for(OpNamespace.ArgDescriptor argDescriptor : argDescriptors) { + if(argDescriptor.getArgType() == to.getArgType() && LevenshteinDistance.getDefaultInstance().apply(argDescriptor.getName().toLowerCase(),to.getName().toLowerCase()) <= threshold) { + return true; + } + } + + return false; + } + + public static OpNamespace.ArgDescriptor mergeDescriptorsOfSameIndex(OpNamespace.ArgDescriptor one, OpNamespace.ArgDescriptor two) { + if(one.getArgIndex() != two.getArgIndex()) { + throw new IllegalArgumentException("Argument indices for both arg descriptors were not the same. First one was " + one.getArgIndex() + " and second was " + two.getArgIndex()); + } + + if(one.getArgType() != two.getArgType()) { + throw new IllegalArgumentException("Merging two arg descriptors requires both be the same type. First one was " + one.getArgType().name() + " and second one was " + two.getArgType().name()); + } + + OpNamespace.ArgDescriptor.Builder newDescriptor = OpNamespace.ArgDescriptor.newBuilder(); + //arg indices will be the same + newDescriptor.setArgIndex(one.getArgIndex()); + newDescriptor.setArgType(one.getArgType()); + if(!isValidIdentifier(one.getName()) && !isValidIdentifier(two.getName())) { + newDescriptor.setName("arg" + newDescriptor.getArgIndex()); + } else if(!isValidIdentifier(one.getName())) { + newDescriptor.setName(two.getName()); + } else { + newDescriptor.setName(one.getName()); + } + + + return newDescriptor.build(); + } + + public static boolean isValidIdentifier(String input) { + if(input == null || input.isEmpty()) + return false; + + for(int i = 0; i < input.length(); i++) { + if(!Character.isJavaIdentifierPart(input.charAt(i))) + return false; + } + + if(cppTypes.contains(input)) + return false; + + return true; + } + + public static boolean containsOutputTensor(Collection proposals) { + for(ArgDescriptorProposal proposal : proposals) { + if(proposal.getDescriptor().getArgType() == OpNamespace.ArgDescriptor.ArgType.OUTPUT_TENSOR) { + return true; + } + } + + return false; + } + + + public static OpNamespace.ArgDescriptor getDescriptorWithName(String name, Collection proposals) { + for(ArgDescriptorProposal proposal : proposals) { + if(proposal.getDescriptor().getName().equals(name)) { + return proposal.getDescriptor(); + } + } + + return null; + } + + public static boolean containsProposalWithDescriptorName(String name, Collection proposals) { + for(ArgDescriptorProposal proposal : proposals) { + if(proposal.getDescriptor().getName().equals(name)) { + return true; + } + } + + return false; + } + + public List updateOpDescriptor(OpNamespace.OpDescriptor opDescriptor, OpDeclarationDescriptor declarationDescriptor, List argsByIIndex, OpNamespace.ArgDescriptor.ArgType int64) { + List copyValuesInt = addArgDescriptors(opDescriptor, declarationDescriptor, argsByIIndex, int64); + List proposals = new ArrayList<>(); + + return proposals; + } + + public static List addArgDescriptors(OpNamespace.OpDescriptor opDescriptor, OpDeclarationDescriptor declarationDescriptor, List argsByTIndex, OpNamespace.ArgDescriptor.ArgType argType) { + List copyValuesFloat = new ArrayList<>(opDescriptor.getArgDescriptorList()); + for(int i = 0; i < argsByTIndex.size(); i++) { + OpNamespace.ArgDescriptor argDescriptor = OpNamespace.ArgDescriptor.newBuilder() + .setArgType(argType) + .setName(argsByTIndex.get(i)) + .setArgIndex(i) + //this can happen when there are still missing names from c++ + .setArgOptional(declarationDescriptor != null && i <= declarationDescriptor.getTArgs() ? false : true) + .build(); + copyValuesFloat.add(argDescriptor); + + } + return copyValuesFloat; + } + + public static Map argIndexForCsv(String line) { + Map ret = new HashMap<>(); + String[] lineSplit = line.split(","); + for(int i = 0; i < lineSplit.length; i++) { + ret.put(lineSplit[i],i); + } + + return ret; + } + + public static Integer extractArgFromJava(String line) { + Matcher matcher = numberPattern.matcher(line); + if(!matcher.find()) { + throw new IllegalArgumentException("No number found for line " + line); + } + + return Integer.parseInt(matcher.group()); + } + + public static Integer extractArgFromCpp(String line,String argType) { + Matcher matcher = Pattern.compile(argType + "\\([\\d]+\\)").matcher(line); + if(!matcher.find()) { + //Generally not resolvable + return -1; + } + + if(matcher.groupCount() > 1) { + throw new IllegalArgumentException("Line contains more than 1 index"); + } + + try { + return Integer.parseInt(matcher.group().replace("(","").replace(")","").replace(argType,"")); + } catch(NumberFormatException e) { + e.printStackTrace(); + return -1; + } + } + + public static List getAllFields(Class clazz) { + if (clazz == null) { + return Collections.emptyList(); + } + + List result = new ArrayList<>(getAllFields(clazz.getSuperclass())); + List filteredFields = Arrays.stream(clazz.getDeclaredFields()) + .filter(f -> Modifier.isPublic(f.getModifiers()) || Modifier.isProtected(f.getModifiers())) + .collect(Collectors.toList()); + result.addAll(filteredFields); + return result; + } + + public static String removeBracesFromDeclarationMacro(String line, String nameOfMacro) { + line = line.replace(nameOfMacro + "(", ""); + line = line.replace(")", ""); + line = line.replace("{", ""); + line = line.replace(";",""); + return line; + } + + public static void addNameToList(String line, List list, List argIndices, String argType) { + String[] split = line.split(" = "); + String[] arrSplit = split[0].split(" "); + //type + name + String name = arrSplit[arrSplit.length - 1]; + Preconditions.checkState(!name.isEmpty()); + if(!list.contains(name)) + list.add(name); + + Integer index = extractArgFromCpp(line,argType); + if(index != null) + argIndices.add(index); + } + + public static void addArrayNameToList(String line, List list, List argIndices, String argType) { + String[] split = line.split(" = "); + String[] arrSplit = split[0].split(" "); + //type + name + String name = arrSplit[arrSplit.length - 1]; + Preconditions.checkState(!name.isEmpty()); + if(!list.contains(name)) + list.add(name); + //arrays are generally appended to the end + Integer index = - 1; + if(index != null) + argIndices.add(index); + } + + public static void standardizeTypes(List input) { + input.stream().forEach(proposal -> { + //note that if automatic conversion should not happen, set convertBoolToInt to false + if(proposal.getDescriptor().getArgType() == OpNamespace.ArgDescriptor.ArgType.BOOL && proposal.getDescriptor().getConvertBoolToInt()) { + OpNamespace.ArgDescriptor newDescriptor = OpNamespace.ArgDescriptor.newBuilder() + .setArgIndex(proposal.getDescriptor().getArgIndex()) + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName(proposal.getDescriptor().getName()) + .build(); + proposal.setDescriptor(newDescriptor); + } + }); + } + + public static ArgDescriptorProposal aggregateProposals(List listOfProposals) { + val descriptorBuilder = OpNamespace.ArgDescriptor.newBuilder(); + Counter mostLikelyIndex = new Counter<>(); + + AtomicDouble aggregatedWeight = new AtomicDouble(0.0); + listOfProposals.forEach(proposal -> { + mostLikelyIndex.incrementCount(proposal.getDescriptor().getArgIndex(),1.0); + aggregatedWeight.addAndGet(proposal.getProposalWeight()); + descriptorBuilder.setName(proposal.getDescriptor().getName()); + descriptorBuilder.setIsArray(proposal.getDescriptor().getIsArray()); + descriptorBuilder.setArgType(proposal.getDescriptor().getArgType()); + descriptorBuilder.setConvertBoolToInt(proposal.getDescriptor().getConvertBoolToInt()); + descriptorBuilder.setIsArray(proposal.getDescriptor().getIsArray()); + }); + + //set the index after computing the most likely index + descriptorBuilder.setArgIndex(mostLikelyIndex.argMax()); + + return ArgDescriptorProposal + .builder() + .descriptor(descriptorBuilder.build()) + .proposalWeight(aggregatedWeight.doubleValue()) + .build(); + } + + public static Map, OpNamespace.ArgDescriptor> standardizeNames + (Map> toStandardize, String opName) { + Map> ret = new HashMap<>(); + Map,List> dimensionProposals = new HashMap<>(); + Map,List> inPlaceProposals = new HashMap<>(); + Map,List> inputsProposals = new HashMap<>(); + Map,List> inputs2Proposals = new HashMap<>(); + Map,List> outputsProposals = new HashMap<>(); + + toStandardize.entrySet().forEach(entry -> { + if(entry.getKey().isEmpty()) { + throw new IllegalStateException("Name must not be empty!"); + } + + if(dimensionNames.contains(entry.getKey())) { + extractProposals(dimensionProposals, entry); + } else if(inplaceNames.contains(entry.getKey())) { + extractProposals(inPlaceProposals, entry); + } else if(inputNames.contains(entry.getKey())) { + extractProposals(inputsProposals, entry); + } else if(input2Names.contains(entry.getKey())) { + extractProposals(inputs2Proposals, entry); + } else if(outputNames.contains(entry.getKey())) { + extractProposals(outputsProposals, entry); + } + else { + ret.put(entry.getKey(),entry.getValue()); + } + }); + + + /** + * Two core ops have issues: + * argmax and cumsum both have the same issue + * other boolean attributes are present + * that are converted to ints and get clobbered + * by dimensions having the wrong index + * + * For argmax, exclusive gets clobbered. It should have index 0, + * but for some reason dimensions gets index 0. + */ + + + /** + * TODO: make this method return name/type + * combinations rather than just name/single list. + */ + if(!dimensionProposals.isEmpty()) { + // List, ArgDescriptorProposal>> d + computeAggregatedProposalsPerType(ret, dimensionProposals, "dimensions"); + } + + if(!inPlaceProposals.isEmpty()) { + computeAggregatedProposalsPerType(ret, inPlaceProposals, "inPlace"); + } + + if(!inputsProposals.isEmpty()) { + computeAggregatedProposalsPerType(ret, inputsProposals, "input"); + + } + + if(!inputs2Proposals.isEmpty()) { + computeAggregatedProposalsPerType(ret, inputs2Proposals, "y"); + + } + + if(!outputsProposals.isEmpty()) { + computeAggregatedProposalsPerType(ret, outputsProposals, "outputs"); + } + + Map, OpNamespace.ArgDescriptor> ret2 = new HashMap<>(); + CounterMap,ArgDescriptorProposal> proposalsByType = new CounterMap<>(); + ret.values().forEach(input -> { + input.forEach(proposal1 -> { + proposalsByType.incrementCount(Pair.of(proposal1.getDescriptor().getArgIndex(),proposal1.getDescriptor().getArgType()),proposal1,proposal1.getProposalWeight()); + }); + }); + + ret.clear(); + proposalsByType.keySet().stream().forEach(argTypeIndexPair -> { + val proposal = proposalsByType.getCounter(argTypeIndexPair).argMax(); + val name = proposal.getDescriptor().getName(); + List proposalsForName; + if(!ret.containsKey(name)) { + proposalsForName = new ArrayList<>(); + ret.put(name,proposalsForName); + } + else + proposalsForName = ret.get(name); + proposalsForName.add(proposal); + ret.put(proposal.getDescriptor().getName(),proposalsForName); + }); + + ret.forEach((name,proposals) -> { + val proposalsGroupedByType = proposals.stream().collect(Collectors.groupingBy(proposal -> proposal.getDescriptor().getArgType())); + List maxProposalsForEachType = new ArrayList<>(); + proposalsGroupedByType.forEach((type,proposalGroupByType) -> { + Counter proposalsCounter = new Counter<>(); + proposalGroupByType.forEach(proposalByType -> { + proposalsCounter.incrementCount(proposalByType,proposalByType.getProposalWeight()); + }); + + maxProposalsForEachType.add(proposalsCounter.argMax()); + }); + + proposals = maxProposalsForEachType; + + + //group by index and type + val collected = proposals.stream() + .collect(Collectors.groupingBy(input -> Pair.of(input.getDescriptor().getArgIndex(),input.getDescriptor().getArgType()))) + .entrySet() + .stream().map(input -> Pair.of(input.getKey(), + aggregateProposals(input.getValue()).getDescriptor())) + .collect(Collectors.toMap(pair -> pair.getKey(),pair -> pair.getValue())); + val groupedByType = collected.entrySet().stream().collect(Collectors.groupingBy(input -> input.getKey().getRight())); + groupedByType.forEach((argType,list) -> { + //count number of elements that aren't -1 + int numGreaterThanNegativeOne = list.stream().map(input -> input.getKey().getFirst() >= 0 ? 1 : 0) + .reduce(0,(a,b) -> a + b); + if(numGreaterThanNegativeOne > 1) { + throw new IllegalStateException("Name of " + name + " with type " + argType + " not aggregated properly."); + } + }); + + + val arrEntries = collected.entrySet().stream() + .filter(pair -> pair.getValue().getIsArray()) + .collect(Collectors.toList()); + //process arrays separately and aggregate by type + if(!arrEntries.isEmpty()) { + val initialType = arrEntries.get(0).getValue().getArgType(); + val allSameType = new AtomicBoolean(true); + val negativeOnePresent = new AtomicBoolean(false); + arrEntries.forEach(entry -> { + allSameType.set(allSameType.get() && entry.getValue().getArgType() == initialType); + negativeOnePresent.set(negativeOnePresent.get() || entry.getValue().getArgIndex() == -1); + //only remove if we see -1 + if(negativeOnePresent.get()) + collected.remove(entry.getKey()); + }); + + if(allSameType.get() && negativeOnePresent.get()) { + collected.put(Pair.of(-1,initialType), OpNamespace.ArgDescriptor.newBuilder() + .setArgType(initialType) + .setArgIndex(-1) + .setIsArray(true) + .setName(arrEntries.get(0).getValue().getName()).build()); + } + } + + ret2.putAll(collected); + + }); + + Map maxIndex = new HashMap<>(); + if(!bannedMaxIndexOps.contains(opName)) + ret2.forEach((key,value) -> { + if(!maxIndex.containsKey(key.getRight())) { + maxIndex.put(key.getValue(),key.getFirst()); + } else { + maxIndex.put(key.getValue(),Math.max(key.getFirst(),maxIndex.get(key.getValue()))); + } + }); + + //update -1 values to be valid indices relative to whatever the last index is when an array is found + //and -1 is present + Map, OpNamespace.ArgDescriptor> updateValues = new HashMap<>(); + Set> removeKeys = new HashSet<>(); + if(!bannedMaxIndexOps.contains(opName)) + ret2.forEach((key,value) -> { + if(value.getArgIndex() < 0) { + removeKeys.add(key); + int maxIdx = maxIndex.get(value.getArgType()); + updateValues.put(Pair.of(maxIdx + 1,value.getArgType()), OpNamespace.ArgDescriptor.newBuilder() + .setName(value.getName()) + .setIsArray(value.getIsArray()) + .setArgType(value.getArgType()) + .setArgIndex(maxIdx + 1) + .setConvertBoolToInt(value.getConvertBoolToInt()) + .build()); + } + }); + + removeKeys.forEach(key -> ret2.remove(key)); + ret2.putAll(updateValues); + return ret2; + } + + private static void computeAggregatedProposalsPerType(Map> ret, Map, List> dimensionProposals, String name) { + List dimensions = dimensionProposals.entrySet().stream().map(indexTypeAndList -> { + if(indexTypeAndList.getValue().isEmpty()) { + throw new IllegalStateException("Unable to compute aggregated proposals for an empty list"); + } + OpNamespace.ArgDescriptor template = indexTypeAndList.getValue().get(0).getDescriptor(); + + int idx = indexTypeAndList.getKey().getFirst(); + OpNamespace.ArgDescriptor.ArgType type = indexTypeAndList.getKey().getRight(); + return Pair.of(indexTypeAndList.getKey(), + ArgDescriptorProposal.builder() + .sourceOfProposal("computedAggregate") + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgIndex(idx) + .setArgType(type) + .setName(name) + .setIsArray(template.getIsArray() || idx < 0) + .build()) + .proposalWeight(indexTypeAndList.getValue().stream() + .collect(Collectors.summingDouble(input -> input.getProposalWeight())) + ).build()); + }).map(input -> input.getSecond()). + collect(Collectors.toList()); + + + ret.put(name,dimensions); + } + + private static void extractProposals(Map, List> inPlaceProposals, Map.Entry> entry) { + entry.getValue().forEach(proposal -> { + List proposals = null; + if (!inPlaceProposals.containsKey(extractKey(proposal))) { + proposals = new ArrayList<>(); + inPlaceProposals.put(extractKey(proposal), proposals); + } else { + proposals = inPlaceProposals.get(extractKey(proposal)); + } + + proposals.add(proposal); + inPlaceProposals.put(extractKey(proposal), proposals); + }); + } + + /** + * Extract a key reflecting index and type of arg descriptor + * @param proposal the input proposal + * @return + */ + public static Pair extractKey(ArgDescriptorProposal proposal) { + return Pair.of(proposal.getDescriptor().getArgIndex(),proposal.getDescriptor().getArgType()); + } + + + public static boolean proposalsAllSameType(List proposals) { + OpNamespace.ArgDescriptor.ArgType firstType = proposals.get(0).getDescriptor().getArgType(); + for(ArgDescriptorProposal proposal : proposals) { + if(proposal.getDescriptor().getArgType() != firstType) { + return false; + } + } + + return true; + } + + + private static List mergeProposals(Map> ret, List dimensionsList, OpNamespace.ArgDescriptor.ArgType argType, String nameOfArgDescriptor) { + double priorityWeight = 0.0; + ArgDescriptorProposal.ArgDescriptorProposalBuilder newProposalBuilder = ArgDescriptorProposal.builder(); + Counter indexCounter = new Counter<>(); + List proposalsOutsideType = new ArrayList<>(); + boolean allArrayType = true; + for(ArgDescriptorProposal argDescriptorProposal : dimensionsList) { + allArrayType = argDescriptorProposal.getDescriptor().getIsArray() && allArrayType; + //handle arrays separately + if(argDescriptorProposal.getDescriptor().getArgType() == argType) { + indexCounter.incrementCount(argDescriptorProposal.getDescriptor().getArgIndex(),1); + priorityWeight += argDescriptorProposal.getProposalWeight(); + } else if(argDescriptorProposal.getDescriptor().getArgType() != argType) { + proposalsOutsideType.add(argDescriptorProposal); + } + } + + dimensionsList.clear(); + //don't add a list if one is not present + if(!indexCounter.isEmpty()) { + newProposalBuilder + .proposalWeight(priorityWeight) + .descriptor( + OpNamespace.ArgDescriptor.newBuilder() + .setName(nameOfArgDescriptor) + .setArgType(argType) + .setIsArray(allArrayType) + .setArgIndex(indexCounter.argMax()) + .build()); + + dimensionsList.add(newProposalBuilder.build()); + ret.put(nameOfArgDescriptor, dimensionsList); + } + + //standardize the names + proposalsOutsideType.forEach(proposalOutsideType -> { + proposalOutsideType.setDescriptor( + OpNamespace.ArgDescriptor.newBuilder() + .setName(nameOfArgDescriptor) + .setArgType(proposalOutsideType.getDescriptor().getArgType()) + .setArgIndex(proposalOutsideType.getDescriptor().getArgIndex()) + .setIsArray(proposalOutsideType.getDescriptor().getIsArray()) + .setConvertBoolToInt(proposalOutsideType.getDescriptor().getConvertBoolToInt()) + .build() + ); + }); + + + return proposalsOutsideType; + } + + + public static boolean matchesArrayArgDeclaration(String testLine) { + boolean ret = Pattern.matches(ARRAY_ASSIGNMENT,testLine); + return ret; + } + + public static boolean matchesArgDeclaration(String argType,String testLine) { + Matcher matcher = Pattern.compile(argType + ARGUMENT_ENDING_PATTERN).matcher(testLine); + Matcher argOnly = Pattern.compile(argType + ARGUMENT_PATTERN).matcher(testLine); + // Matcher arrArg = Pattern.compile(argType + ARGUMENT_PATTERN) + boolean ret = matcher.find(); + boolean argOnlyResult = argOnly.find(); + return ret || testLine.contains("?") && argOnlyResult + || testLine.contains("static_cast") && argOnlyResult + || (testLine.contains("))") && argOnlyResult && !testLine.contains("if") && !testLine.contains("REQUIRE_TRUE")) && !testLine.contains("->rankOf()") + || (testLine.contains("==") && argOnlyResult && !testLine.contains("if") && !testLine.contains("REQUIRE_TRUE")) && !testLine.contains("->rankOf()") + || (testLine.contains("(" + argType) && argOnlyResult && !testLine.contains("if") && !testLine.contains("REQUIRE_TRUE")) && !testLine.contains("->rankOf()") + || (testLine.contains("->") && argOnlyResult && !testLine.contains("if") && !testLine.contains("REQUIRE_TRUE")) && !testLine.contains("->rankOf()"); + } + +} diff --git a/contrib/codegen-tools/libnd4j-gen/src/main/java/org/nd4j/descriptor/proposal/impl/JavaSourceArgDescriptorSource.java b/contrib/codegen-tools/libnd4j-gen/src/main/java/org/nd4j/descriptor/proposal/impl/JavaSourceArgDescriptorSource.java new file mode 100644 index 000000000..1875ab70f --- /dev/null +++ b/contrib/codegen-tools/libnd4j-gen/src/main/java/org/nd4j/descriptor/proposal/impl/JavaSourceArgDescriptorSource.java @@ -0,0 +1,807 @@ +package org.nd4j.descriptor.proposal.impl; + +import com.github.javaparser.ParserConfiguration; +import com.github.javaparser.StaticJavaParser; +import com.github.javaparser.ast.CompilationUnit; +import com.github.javaparser.ast.body.ConstructorDeclaration; +import com.github.javaparser.ast.body.FieldDeclaration; +import com.github.javaparser.ast.expr.MethodCallExpr; +import com.github.javaparser.resolution.declarations.ResolvedConstructorDeclaration; +import com.github.javaparser.resolution.declarations.ResolvedFieldDeclaration; +import com.github.javaparser.resolution.declarations.ResolvedParameterDeclaration; +import com.github.javaparser.symbolsolver.JavaSymbolSolver; +import com.github.javaparser.symbolsolver.resolution.typesolvers.CombinedTypeSolver; +import com.github.javaparser.symbolsolver.resolution.typesolvers.JavaParserTypeSolver; +import com.github.javaparser.symbolsolver.resolution.typesolvers.ReflectionTypeSolver; +import com.github.javaparser.utils.Log; +import com.github.javaparser.utils.SourceRoot; +import lombok.Builder; +import lombok.Getter; +import org.nd4j.autodiff.functions.DifferentialFunction; +import org.nd4j.autodiff.samediff.SDVariable; +import org.nd4j.common.primitives.Counter; +import org.nd4j.common.primitives.CounterMap; +import org.nd4j.common.primitives.Pair; +import org.nd4j.descriptor.proposal.ArgDescriptorProposal; +import org.nd4j.descriptor.proposal.ArgDescriptorSource; +import org.nd4j.ir.OpNamespace; +import org.nd4j.linalg.api.ndarray.INDArray; +import org.nd4j.linalg.api.ops.*; +import org.nd4j.linalg.api.ops.impl.transforms.BaseDynamicTransformOp; +import org.reflections.Reflections; + +import java.io.File; +import java.lang.reflect.Modifier; +import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; + +import static org.nd4j.descriptor.proposal.impl.ArgDescriptorParserUtils.*; + +public class JavaSourceArgDescriptorSource implements ArgDescriptorSource { + + + private SourceRoot sourceRoot; + private File nd4jOpsRootDir; + private double weight; + + /** + * void addTArgument(double... arg); + * + * void addIArgument(int... arg); + * + * void addIArgument(long... arg); + * + * void addBArgument(boolean... arg); + * + * void addDArgument(DataType... arg); + */ + + public final static String ADD_T_ARGUMENT_INVOCATION = "addTArgument"; + public final static String ADD_I_ARGUMENT_INVOCATION = "addIArgument"; + public final static String ADD_B_ARGUMENT_INVOCATION = "addBArgument"; + public final static String ADD_D_ARGUMENT_INVOCATION = "addDArgument"; + public final static String ADD_INPUT_ARGUMENT = "addInputArgument"; + public final static String ADD_OUTPUT_ARGUMENT = "addOutputArgument"; + @Getter + private Map opTypes; + static { + Log.setAdapter(new Log.StandardOutStandardErrorAdapter()); + + } + + @Builder + public JavaSourceArgDescriptorSource(File nd4jApiRootDir,double weight) { + this.sourceRoot = initSourceRoot(nd4jApiRootDir); + this.nd4jOpsRootDir = nd4jApiRootDir; + if(opTypes == null) { + opTypes = new HashMap<>(); + } + + this.weight = weight; + } + + public Map> doReflectionsExtraction() { + Map> ret = new HashMap<>(); + + Reflections reflections = new Reflections("org.nd4j"); + Set> subTypesOf = reflections.getSubTypesOf(DifferentialFunction.class); + Set> subTypesOfOp = reflections.getSubTypesOf(CustomOp.class); + Set> allClasses = new HashSet<>(); + allClasses.addAll(subTypesOf); + allClasses.addAll(subTypesOfOp); + Set opNamesForDifferentialFunction = new HashSet<>(); + + + for(Class clazz : allClasses) { + if(Modifier.isAbstract(clazz.getModifiers()) || clazz.isInterface()) { + continue; + } + + processClazz(ret, opNamesForDifferentialFunction, clazz); + + } + + + return ret; + } + + private void processClazz(Map> ret, Set opNamesForDifferentialFunction, Class clazz) { + try { + Object funcInstance = clazz.newInstance(); + String name = null; + + if(funcInstance instanceof DifferentialFunction) { + DifferentialFunction differentialFunction = (DifferentialFunction) funcInstance; + name = differentialFunction.opName(); + } else if(funcInstance instanceof CustomOp) { + CustomOp customOp = (CustomOp) funcInstance; + name = customOp.opName(); + } + + + if(name == null) + return; + opNamesForDifferentialFunction.add(name); + if(!(funcInstance instanceof DynamicCustomOp)) + opTypes.put(name,OpNamespace.OpDescriptor.OpDeclarationType.LEGACY_XYZ); + else + opTypes.put(name,OpNamespace.OpDescriptor.OpDeclarationType.CUSTOM_OP_IMPL); + + + String fileName = clazz.getName().replace(".",File.separator); + StringBuilder fileBuilder = new StringBuilder(); + fileBuilder.append(fileName); + fileBuilder.append(".java"); + CounterMap,Integer> paramIndicesCount = new CounterMap<>(); + + // Our sample is in the root of this directory, so no package name. + CompilationUnit cu = sourceRoot.parse(clazz.getPackage().getName(), clazz.getSimpleName() + ".java"); + cu.findAll(MethodCallExpr.class).forEach(method -> { + String methodInvoked = method.getNameAsString(); + final AtomicInteger indexed = new AtomicInteger(0); + //need to figure out how to consolidate multiple method calls + //as well as the right indices + //typical patterns in the code base will reflect adding arguments all at once + //one thing we can just check for is if more than 1 argument is passed in and + //treat that as a complete list of arguments + if(methodInvoked.equals(ADD_T_ARGUMENT_INVOCATION)) { + method.getArguments().forEach(argument -> { + if(argument.isNameExpr()) + paramIndicesCount.incrementCount(Pair.of(argument.asNameExpr().getNameAsString(), OpNamespace.ArgDescriptor.ArgType.DOUBLE),indexed.get(),100.0); + else if(argument.isMethodCallExpr()) { + if(argument.asMethodCallExpr().getName().toString().equals("ordinal")) { + paramIndicesCount.incrementCount(Pair.of(argument.asNameExpr().getNameAsString(), OpNamespace.ArgDescriptor.ArgType.DOUBLE),indexed.get(),100.0); + + } + } + indexed.incrementAndGet(); + }); + } else if(methodInvoked.equals(ADD_B_ARGUMENT_INVOCATION)) { + method.getArguments().forEach(argument -> { + if(argument.isNameExpr()) + paramIndicesCount.incrementCount(Pair.of(argument.asNameExpr().getNameAsString(), OpNamespace.ArgDescriptor.ArgType.BOOL),indexed.get(),100.0); + else if(argument.isMethodCallExpr()) { + if(argument.asMethodCallExpr().getName().equals("ordinal")) { + paramIndicesCount.incrementCount(Pair.of(argument.asNameExpr().getNameAsString(), OpNamespace.ArgDescriptor.ArgType.BOOL),indexed.get(),100.0); + } + } + indexed.incrementAndGet(); + }); + } else if(methodInvoked.equals(ADD_I_ARGUMENT_INVOCATION)) { + method.getArguments().forEach(argument -> { + if(argument.isNameExpr()) + paramIndicesCount.incrementCount(Pair.of(argument.asNameExpr().getNameAsString(), OpNamespace.ArgDescriptor.ArgType.INT64),indexed.get(),100.0); + else if(argument.isMethodCallExpr()) { + if(argument.asMethodCallExpr().getName().toString().equals("ordinal")) { + paramIndicesCount.incrementCount(Pair.of(argument.toString().replace(".ordinal()",""), OpNamespace.ArgDescriptor.ArgType.INT64),indexed.get(),100.0); + + } + } + + indexed.incrementAndGet(); + }); + } else if(methodInvoked.equals(ADD_D_ARGUMENT_INVOCATION)) { + method.getArguments().forEach(argument -> { + if(argument.isNameExpr()) + paramIndicesCount.incrementCount(Pair.of(argument.asNameExpr().getNameAsString(), OpNamespace.ArgDescriptor.ArgType.DATA_TYPE),indexed.get(),100.0); + else if(argument.isMethodCallExpr()) { + if(argument.asMethodCallExpr().getName().toString().equals("ordinal")) { + paramIndicesCount.incrementCount(Pair.of(argument.toString().replace(".ordinal()",""), OpNamespace.ArgDescriptor.ArgType.DATA_TYPE),indexed.get(),100.0); + + } + } + indexed.incrementAndGet(); + }); + } else if(methodInvoked.equals(ADD_INPUT_ARGUMENT)) { + method.getArguments().forEach(argument -> { + if(argument.isNameExpr()) + paramIndicesCount.incrementCount(Pair.of(argument.asNameExpr().getNameAsString(), OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR),indexed.get(),100.0); + else if(argument.isMethodCallExpr()) { + if(argument.asMethodCallExpr().getName().toString().equals("ordinal")) { + paramIndicesCount.incrementCount(Pair.of(argument.toString().replace(".ordinal()",""), OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR),indexed.get(),100.0); + + } + } + indexed.incrementAndGet(); + }); + } else if(methodInvoked.equals(ADD_OUTPUT_ARGUMENT)) { + method.getArguments().forEach(argument -> { + if(argument.isNameExpr()) + paramIndicesCount.incrementCount(Pair.of(argument.asNameExpr().getNameAsString(), OpNamespace.ArgDescriptor.ArgType.OUTPUT_TENSOR),indexed.get(),100.0); + else if(argument.isMethodCallExpr()) { + if(argument.asMethodCallExpr().getName().toString().equals("ordinal")) { + paramIndicesCount.incrementCount(Pair.of(argument.toString().replace(".ordinal()",""), OpNamespace.ArgDescriptor.ArgType.OUTPUT_TENSOR),indexed.get(),100.0); + + } + } + indexed.incrementAndGet(); + }); + } + + } + ); + + + + + List collect = cu.findAll(ConstructorDeclaration.class).stream() + .map(input -> input.resolve()) + .filter(constructor -> constructor.getNumberOfParams() > 0) + .distinct() + .collect(Collectors.toList()); + + //only process final constructor with all arguments for indexing purposes + Counter constructorArgCount = new Counter<>(); + collect.stream().filter(input -> input != null).forEach(constructor -> { + constructorArgCount.incrementCount(constructor,constructor.getNumberOfParams()); + }); + + if(constructorArgCount.argMax() != null) + collect = Arrays.asList(constructorArgCount.argMax()); + + List argDescriptorProposals = ret.get(name); + if(argDescriptorProposals == null) { + argDescriptorProposals = new ArrayList<>(); + ret.put(name,argDescriptorProposals); + } + + Set parameters = new LinkedHashSet<>(); + + int floatIdx = 0; + int inputIdx = 0; + int outputIdx = 0; + int intIdx = 0; + int boolIdx = 0; + + for(ResolvedConstructorDeclaration parameterDeclaration : collect) { + floatIdx = 0; + inputIdx = 0; + outputIdx = 0; + intIdx = 0; + boolIdx = 0; + for(int i = 0; i < parameterDeclaration.getNumberOfParams(); i++) { + ResolvedParameterDeclaration param = parameterDeclaration.getParam(i); + OpNamespace.ArgDescriptor.ArgType argType = argTypeForParam(param); + if(isValidParam(param)) { + parameters.add(param); + switch(argType) { + case INPUT_TENSOR: + paramIndicesCount.incrementCount(Pair.of(param.getName(),argType), inputIdx, 100.0); + inputIdx++; + break; + case INT64: + case INT32: + paramIndicesCount.incrementCount(Pair.of(param.getName(), OpNamespace.ArgDescriptor.ArgType.INT64), intIdx, 100.0); + intIdx++; + break; + case DOUBLE: + case FLOAT: + paramIndicesCount.incrementCount(Pair.of(param.getName(), OpNamespace.ArgDescriptor.ArgType.FLOAT), floatIdx, 100.0); + paramIndicesCount.incrementCount(Pair.of(param.getName(), OpNamespace.ArgDescriptor.ArgType.DOUBLE), floatIdx, 100.0); + floatIdx++; + break; + case BOOL: + paramIndicesCount.incrementCount(Pair.of(param.getName(),argType), boolIdx, 100.0); + boolIdx++; + break; + case OUTPUT_TENSOR: + paramIndicesCount.incrementCount(Pair.of(param.getName(),argType), outputIdx, 100.0); + outputIdx++; + break; + case UNRECOGNIZED: + continue; + + } + + } + } + } + + floatIdx = 0; + inputIdx = 0; + outputIdx = 0; + intIdx = 0; + boolIdx = 0; + Set>> typesAndParams = parameters.stream().map(collectedParam -> + Pair.of(collectedParam.describeType(), collectedParam.getName())) + .collect(Collectors.groupingBy(input -> input.getSecond())).entrySet() + .stream() + .map(inputPair -> inputPair.getValue()) + .collect(Collectors.toSet()); + + + Set constructorNamesEncountered = new HashSet<>(); + List finalArgDescriptorProposals = argDescriptorProposals; + typesAndParams.forEach(listOfTypesAndNames -> { + + listOfTypesAndNames.forEach(parameter -> { + if(typeNameOrArrayOfTypeNameMatches(parameter.getFirst(),SDVariable.class.getName(),INDArray.class.getName())) { + constructorNamesEncountered.add(parameter.getValue()); + if(outputNames.contains(parameter.getValue())) { + Counter counter = paramIndicesCount.getCounter(Pair.of(parameter.getSecond(), OpNamespace.ArgDescriptor.ArgType.OUTPUT_TENSOR)); + if(counter != null) + finalArgDescriptorProposals.add(ArgDescriptorProposal.builder() + .proposalWeight(99.0 * (counter == null ? 1 : counter.size())) + .sourceOfProposal("java") + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.OUTPUT_TENSOR) + .setName(parameter.getSecond()) + .setIsArray(parameter.getFirst().contains("[]") || parameter.getFirst().contains("...")) + .setArgIndex(counter.argMax()) + .build()).build()); + + } else { + Counter counter = paramIndicesCount.getCounter(Pair.of(parameter.getSecond(), OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR)); + if(counter != null) + finalArgDescriptorProposals.add(ArgDescriptorProposal.builder() + .proposalWeight(99.0 * (counter == null ? 1 : counter.size())) + .sourceOfProposal("java") + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName(parameter.getSecond()) + .setIsArray(parameter.getFirst().contains("[]") || parameter.getFirst().contains("...")) + .setArgIndex(counter.argMax()) + .build()).build()); + } + } else if(typeNameOrArrayOfTypeNameMatches(parameter.getFirst(),int.class.getName(),long.class.getName(),Integer.class.getName(),Long.class.getName()) || paramIsEnum(parameter.getFirst())) { + constructorNamesEncountered.add(parameter.getValue()); + + Counter counter = paramIndicesCount.getCounter(Pair.of(parameter.getSecond(), OpNamespace.ArgDescriptor.ArgType.INT64)); + if(counter != null) + finalArgDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("java") + .proposalWeight(99.0 * (counter == null ? 1 : counter.size())) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName(parameter.getSecond()) + .setIsArray(parameter.getFirst().contains("[]") || parameter.getFirst().contains("...")) + .setArgIndex(counter.argMax()) + .build()).build()); + } else if(typeNameOrArrayOfTypeNameMatches(parameter.getFirst(),float.class.getName(),double.class.getName(),Float.class.getName(),Double.class.getName())) { + constructorNamesEncountered.add(parameter.getValue()); + Counter counter = paramIndicesCount.getCounter(Pair.of(parameter.getSecond(), OpNamespace.ArgDescriptor.ArgType.FLOAT)); + if(counter != null) + finalArgDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("java") + .proposalWeight(99.0 * (counter == null ? 1 :(counter == null ? 1 : counter.size()) )) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.DOUBLE) + .setName(parameter.getSecond()) + .setIsArray(parameter.getFirst().contains("[]")) + .setArgIndex(counter.argMax()) + .build()).build()); + } else if(typeNameOrArrayOfTypeNameMatches(parameter.getFirst(),boolean.class.getName(),Boolean.class.getName())) { + constructorNamesEncountered.add(parameter.getValue()); + Counter counter = paramIndicesCount.getCounter(Pair.of(parameter.getSecond(), OpNamespace.ArgDescriptor.ArgType.BOOL)); + if(counter != null) + finalArgDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("java") + .proposalWeight(99.0 * (counter == null ? 1 :(counter == null ? 1 : counter.size()) )) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.BOOL) + .setName(parameter.getSecond()) + .setIsArray(parameter.getFirst().contains("[]")) + .setArgIndex(counter.argMax()) + .build()).build()); + } + }); + }); + + + + + List fields = cu.findAll(FieldDeclaration.class).stream() + .map(input -> getResolve(input)) + //filter fields + .filter(input -> input != null && !input.isStatic()) + .collect(Collectors.toList()); + floatIdx = 0; + inputIdx = 0; + outputIdx = 0; + intIdx = 0; + boolIdx = 0; + + for(ResolvedFieldDeclaration field : fields) { + if(!constructorNamesEncountered.contains(field.getName()) && typeNameOrArrayOfTypeNameMatches(field.getType().describe(),SDVariable.class.getName(),INDArray.class.getName())) { + if(outputNames.contains(field.getName())) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("java") + .proposalWeight(99.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.OUTPUT_TENSOR) + .setName(field.getName()) + .setIsArray(field.getType().describe().contains("[]")) + .setArgIndex(outputIdx) + .build()).build()); + outputIdx++; + } else if(!constructorNamesEncountered.contains(field.getName())){ + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("java") + .proposalWeight(99.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName(field.getName()) + .setIsArray(field.getType().describe().contains("[]")) + .setArgIndex(inputIdx) + .build()).build()); + inputIdx++; + } + } else if(!constructorNamesEncountered.contains(field.getName()) && typeNameOrArrayOfTypeNameMatches(field.getType().describe(),int.class.getName(),long.class.getName(),Long.class.getName(),Integer.class.getName())) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("java") + .proposalWeight(99.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName(field.getName()) + .setIsArray(field.getType().describe().contains("[]")) + .setArgIndex(intIdx) + .build()).build()); + intIdx++; + } else if(!constructorNamesEncountered.contains(field.getName()) && typeNameOrArrayOfTypeNameMatches(field.getType().describe(),double.class.getName(),float.class.getName(),Double.class.getName(),Float.class.getName())) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("java") + .proposalWeight(99.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.DOUBLE) + .setName(field.getName()) + .setIsArray(field.getType().describe().contains("[]")) + .setArgIndex(floatIdx) + .build()).build()); + floatIdx++; + } else if(!constructorNamesEncountered.contains(field.getName()) && typeNameOrArrayOfTypeNameMatches(field.getType().describe(),Boolean.class.getName(),boolean.class.getName())) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("java") + .proposalWeight(99.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.BOOL) + .setName(field.getName()) + .setIsArray(field.getType().describe().contains("[]")) + .setArgIndex(boolIdx) + .build()).build()); + boolIdx++; + } + } + + if(funcInstance instanceof BaseReduceOp || + funcInstance instanceof BaseReduceBoolOp || funcInstance instanceof BaseReduceSameOp) { + if(!containsProposalWithDescriptorName("keepDims",argDescriptorProposals)) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("java") + .proposalWeight(9999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.BOOL) + .setName("keepDims") + .setIsArray(false) + .setArgIndex(boolIdx) + .build()).build()); + + } + + + if(!containsProposalWithDescriptorName("dimensions",argDescriptorProposals)) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("java") + .proposalWeight(9999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("dimensions") + .setIsArray(true) + .setArgIndex(0) + .build()).build()); + + } + } + + if(funcInstance instanceof BaseDynamicTransformOp) { + if(!containsProposalWithDescriptorName("inPlace",argDescriptorProposals)) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("java") + .proposalWeight(9999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.BOOL) + .setName("inPlace") + .setIsArray(false) + .setArgIndex(boolIdx) + .build()).build()); + } + } + + //hard coded case, impossible to parse from as the code exists today, and it doesn't exist anywhere in the libnd4j code base + if(name.contains("maxpool2d")) { + if(!containsProposalWithDescriptorName("extraParam0",argDescriptorProposals)) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("extraParam0") + .proposalWeight(9999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("extraParam0") + .setIsArray(false) + .setArgIndex(9) + .build()).build()); + } + } + + if(name.equals("top_k")) { + if(!containsProposalWithDescriptorName("sorted",argDescriptorProposals)) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("sorted") + .proposalWeight(9999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("sorted") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + } + } + + //dummy output tensor + if(name.equals("next_iteration")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .proposalWeight(9999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder().setArgIndex(0) + .setArgType(OpNamespace.ArgDescriptor.ArgType.OUTPUT_TENSOR) + .setName("output").build()) + .build()); + } + + if(!containsOutputTensor(argDescriptorProposals)) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("z") + .proposalWeight(9999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.OUTPUT_TENSOR) + .setName("z") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + } + + if(name.equals("gather")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("axis") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("axis") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + } + + if(name.equals("pow")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("pow") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("pow") + .setIsArray(false) + .setArgIndex(1) + .build()).build()); + } + + if(name.equals("concat")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("isDynamicAxis") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.BOOL) + .setName("isDynamicAxis") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("concatDimension") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("isDynamicAxis") + .setIsArray(false) + .setArgIndex(1) + .build()).build()); + } + + if(name.equals("merge")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .proposalWeight(99999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder().setArgIndex(0) + .setIsArray(true) + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("inputs").build()) + .build()); + } + + + + if(name.equals("split") || name.equals("split_v")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("numSplit") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("numSplit") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + } + + if(name.equals("reshape")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("shape") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("shape") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("shape") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("shape") + .setIsArray(false) + .setArgIndex(1) + .build()).build()); + + } + + if(name.equals("create")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("java") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.DATA_TYPE) + .setName("outputType") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("java") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("order") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("java") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("outputType") + .setIsArray(false) + .setArgIndex(1) + .build()).build()); + } + + if(name.equals("eye")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("numRows") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("numRows") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("numCols") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("numCols") + .setIsArray(false) + .setArgIndex(1) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("batchDimension") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("batchDimension") + .setIsArray(true) + .setArgIndex(2) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("dataType") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("dataType") + .setIsArray(false) + .setArgIndex(3) + .build()).build()); + + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("dataType") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.DOUBLE) + .setName("dataType") + .setIsArray(true) + .setArgIndex(0) + .build()).build()); + } + + if(name.equals("while") || name.equals("enter") || name.equals("exit") || name.equals("next_iteration") + || name.equals("loop_cond") || name.equals("switch") || name.equals("While")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .proposalWeight(9999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder().setArgIndex(0) + .setArgType(OpNamespace.ArgDescriptor.ArgType.STRING) + .setName("frameName").build()) + .build()); + } + + if(name.equals("resize_bilinear")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .proposalWeight(99999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder().setArgIndex(0) + .setArgType(OpNamespace.ArgDescriptor.ArgType.BOOL) + .setName("alignCorners").build()) + .build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .proposalWeight(99999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder().setArgIndex(1) + .setArgType(OpNamespace.ArgDescriptor.ArgType.BOOL) + .setName("halfPixelCenters").build()) + .build()); + } + + if(funcInstance instanceof BaseTransformSameOp || funcInstance instanceof BaseTransformOp || funcInstance instanceof BaseDynamicTransformOp) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .proposalWeight(9999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder().setArgIndex(0) + .setArgType(OpNamespace.ArgDescriptor.ArgType.DATA_TYPE) + .setName("dataType").build()) + .build()); + } + + + } catch(Exception e) { + e.printStackTrace(); + } + } + + + private static ResolvedFieldDeclaration getResolve(FieldDeclaration input) { + try { + return input.resolve(); + }catch(Exception e) { + return null; + } + } + + + private SourceRoot initSourceRoot(File nd4jApiRootDir) { + CombinedTypeSolver typeSolver = new CombinedTypeSolver(); + typeSolver.add(new ReflectionTypeSolver(false)); + typeSolver.add(new JavaParserTypeSolver(nd4jApiRootDir)); + JavaSymbolSolver symbolSolver = new JavaSymbolSolver(typeSolver); + StaticJavaParser.getConfiguration().setSymbolResolver(symbolSolver); + SourceRoot sourceRoot = new SourceRoot(nd4jApiRootDir.toPath(),new ParserConfiguration().setSymbolResolver(symbolSolver)); + return sourceRoot; + } + + @Override + public Map> getProposals() { + return doReflectionsExtraction(); + } + + @Override + public OpNamespace.OpDescriptor.OpDeclarationType typeFor(String name) { + return opTypes.get(name); + } +} diff --git a/contrib/codegen-tools/libnd4j-gen/src/main/java/org/nd4j/descriptor/proposal/impl/Libnd4jArgDescriptorSource.java b/contrib/codegen-tools/libnd4j-gen/src/main/java/org/nd4j/descriptor/proposal/impl/Libnd4jArgDescriptorSource.java new file mode 100644 index 000000000..c20153def --- /dev/null +++ b/contrib/codegen-tools/libnd4j-gen/src/main/java/org/nd4j/descriptor/proposal/impl/Libnd4jArgDescriptorSource.java @@ -0,0 +1,1644 @@ +package org.nd4j.descriptor.proposal.impl; + +import lombok.Builder; +import lombok.Getter; +import lombok.SneakyThrows; +import lombok.val; +import org.nd4j.common.base.Preconditions; +import org.nd4j.descriptor.OpDeclarationDescriptor; +import org.nd4j.descriptor.proposal.ArgDescriptorProposal; +import org.nd4j.descriptor.proposal.ArgDescriptorSource; +import org.nd4j.ir.OpNamespace; + +import java.io.File; +import java.io.IOException; +import java.nio.file.FileVisitOption; +import java.nio.file.Files; +import java.util.*; +import java.util.regex.Pattern; +import java.util.stream.Collectors; + +import static org.nd4j.descriptor.proposal.impl.ArgDescriptorParserUtils.*; + + +public class Libnd4jArgDescriptorSource implements ArgDescriptorSource { + + private String libnd4jPath; + private File libnd4jRootDir; + private double weight; + + public final static String OP_IMPL = "OP_IMPL"; + public final static String DIVERGENT_OP_IMPL = "DIVERGENT_OP_IMPL"; + public final static String CONFIGURABLE_OP_IMPL = "CONFIGURABLE_OP_IMPL"; + public final static String REDUCTION_OP_IMPL = "REDUCTION_OP_IMPL"; + public final static String BROADCASTABLE_OP_IMPL = "BROADCASTABLE_OP_IMPL"; + public final static String BROADCASTABLE_BOOL_OP_IMPL = "BROADCASTABLE_BOOL_OP_IMPL"; + public final static String PLATFORM_IMPL = "PLATFORM_IMPL"; + public final static String RETURN = "return"; + public final static String INT_ARG = "INT_ARG"; + public final static String I_ARG = "I_ARG"; + public final static String INPUT_VARIABLE = "INPUT_VARIABLE"; + public final static String OUTPUT_VARIABLE = "OUTPUT_VARIABLE"; + public final static String OUTPUT_NULLIFIED = "OUTPUT_NULLIFIED"; + public final static String INPUT_LIST = "INPUT_LIST"; + public final static String T_ARG = "T_ARG"; + public final static String B_ARG = "B_ARG"; + public final static String DECLARE_SYN = "DECLARE_SYN"; + public final static String DEFAULT_LIBND4J_DIRECTORY = "../../libnd4j"; + public final static int BROADCASTABLE_OP_IMPL_DEFAULT_NIN = 2; + public final static int BROADCASTABLE_OP_IMPL_DEFAULT_NOUT = 1; + public final static String CUSTOM_OP_IMPL = "CUSTOM_OP_IMPL"; + public final static String BOOLEAN_OP_IMPL = "BOOLEAN_OP_IMPL"; + public final static String LIST_OP_IMPL = "LIST_OP_IMPL"; + public final static String LOGIC_OP_IMPL = "LOGIC_OP_IMPL"; + //note this allows either a declaration like: auto variableNum = SOME_DECLARATION(0); or auto variableNum = SOME_DECLARATION(0) == 1; + public final static String ARG_DECLARATION = "(\\w+\\s)+\\w+\\s*=\\s*[A-Z]+_[A-Z]+\\(\\d+\\);"; + public final static String ARG_BOOL_EQUALS_DECLARATION = "(\\w+\\s)+\\w+\\s*=\\s*[A-Z]+_[A-Z]+\\(\\d+\\)\\s*==\\s*\\d+;"; + public final static String ARG_DECLARATION_WITH_VARIABLE = "(\\w+\\s)+\\w+\\s*=\\s*[A-Z]+_[A-Z]+\\([\\d\\w\\+-*\\/]+);"; + public final static String ARRAY_ASSIGNMENT = "\\w+\\[[\\w\\d]\\]\\s*=\\s*[A-Z]+_[A-Z]+\\s*\\([\\w\\d\\+\\-\\*\\/\\s]+\\);"; + + @Builder.Default + @Getter + private Map opTypes = new HashMap<>(); + + @Builder + public Libnd4jArgDescriptorSource(String libnd4jPath,double weight) { + if(libnd4jPath == null) + libnd4jPath = "../libnd4j"; + if(weight == 0) + weight = 999; + this.weight = weight; + libnd4jRootDir = new File(libnd4jPath); + } + + + + @SneakyThrows + public Map> doExtractArgDescriptors() { + Map> ret = new HashMap<>(); + List opDeclarationDescriptors = new ArrayList<>(); + Map descriptorMap = new HashMap<>(); + //only include/ops the include directory, otherwise other misc folders get scanned + Files.walk(new File(libnd4jRootDir,"include/ops").toPath(), new FileVisitOption[]{ + FileVisitOption.FOLLOW_LINKS + }).filter(path -> path.toFile().getAbsolutePath().endsWith(".cpp")).forEach(path -> { + try { + List lines = Files.readAllLines(path); + boolean inOpBlock = false; + boolean foundOp = false; + boolean oneLineOp = false; + List inArgNames = new ArrayList<>(); + List outArgNames = new ArrayList<>(); + List tArgNames = new ArrayList<>(); + List iArgNames = new ArrayList<>(); + List bArgNames = new ArrayList<>(); + List inArgIndices = new ArrayList<>(); + List outArgIndices = new ArrayList<>(); + List tArgIndices = new ArrayList<>(); + List iArgIndices = new ArrayList<>(); + List bArgIndices = new ArrayList<>(); + + OpDeclarationDescriptor opDeclarationDescriptor = null; + OpDeclarationDescriptor.OpDeclarationDescriptorBuilder builder = OpDeclarationDescriptor.builder(); + int currentOpNin = -1,currentOpNout = -1,currentOpIntArgs = -1,currentOutTArgs = -1, currentOpBooleanArgs = -1; + boolean hasNin = false,hasNout = false,hasIntArgs = false,hasTArgs = false,platformImpl = false; + List argDescriptorProposals = null; + int currLineIdx = 0; + String name = null; + for (String line : lines) { + if(line.trim().isEmpty() || line.trim().startsWith("//") || line.trim().length() == 1 || line.trim().isEmpty()) { + currLineIdx++; + continue; + } + + if(!inOpBlock) { + if (line.contains(CUSTOM_OP_IMPL)) { + // CUSTOM_OP_IMPL(NAME, NIN, NOUT, INPLACEABLE, TARGS, IARGS) + foundOp = true; + line = removeBracesFromDeclarationMacro(line, CUSTOM_OP_IMPL); + String[] split = line.trim().split(","); + name = split[0]; + opTypes.put(name, OpNamespace.OpDescriptor.OpDeclarationType.CUSTOM_OP_IMPL); + + + + argDescriptorProposals = new ArrayList<>(); + + if(!name.equals("randomuniform")) + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(9999999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.DATA_TYPE) + .setName("dtype") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + else { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(9999999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.DATA_TYPE) + .setName("dataType") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + } + + if(name.equals("split")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("numSplit") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + } + + + if(name.equals("resize_bilinear")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .proposalWeight(99999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder().setArgIndex(0) + .setArgType(OpNamespace.ArgDescriptor.ArgType.BOOL) + .setName("alignCorners").build()) + .build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .proposalWeight(99999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder().setArgIndex(1) + .setArgType(OpNamespace.ArgDescriptor.ArgType.BOOL) + .setName("halfPixelCenters").build()) + .build()); + } + + if(name.equals("split_v")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("numSplit") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("numSplit") + .setIsArray(false) + .setArgIndex(1) + .build()).build()); + } + + if(name.equals("concat")) { + //isAxisInLastArr + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("isAxisInLastArr") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.BOOL) + .setName("isDynamicAxis") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("concatDimension") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("concatDimension") + .setIsArray(false) + .setArgIndex(1) + .build()).build()); + } + + if(name.equals("dynamic_partition") || name.equals("dynamic_stitch")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("numPartitions") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("numPartitions") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + + } + + + if(name.equals("dilation2d")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("isSameMode") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("isSameMode") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("rates") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("rates") + .setIsArray(true) + .setArgIndex(1) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("strides") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("strides") + .setIsArray(true) + .setArgIndex(2) + .build()).build()); + + } + + + + if(name.equals("extract_image_patches")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("isSameMode") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.BOOL) + .setName("isSameMode") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + + } + + + if(name.equals("bincount")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.DATA_TYPE) + .setName("outputType") + .setIsArray(true) + .setArgIndex(0) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.POSITIVE_INFINITY) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("values") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.POSITIVE_INFINITY) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("weights") + .setIsArray(false) + .setArgIndex(1) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.POSITIVE_INFINITY) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("min") + .setIsArray(false) + .setArgIndex(2) + .build()).build()); + + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.POSITIVE_INFINITY) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("max") + .setIsArray(false) + .setArgIndex(3) + .build()).build()); + + } + + if(name.equals("max_pool_with_argmax")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.POSITIVE_INFINITY) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("kH") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.POSITIVE_INFINITY) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("kW") + .setIsArray(false) + .setArgIndex(1) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.POSITIVE_INFINITY) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("sH") + .setIsArray(false) + .setArgIndex(2) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.POSITIVE_INFINITY) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("sW") + .setIsArray(false) + .setArgIndex(3) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.POSITIVE_INFINITY) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("pH") + .setIsArray(false) + .setArgIndex(4) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.POSITIVE_INFINITY) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("pW") + .setIsArray(false) + .setArgIndex(5) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.POSITIVE_INFINITY) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("dH") + .setIsArray(false) + .setArgIndex(6) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.POSITIVE_INFINITY) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("dW") + .setIsArray(false) + .setArgIndex(7) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.POSITIVE_INFINITY) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("sameMode") + .setIsArray(false) + .setArgIndex(8) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.POSITIVE_INFINITY) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("extraParam0") + .setIsArray(false) + .setArgIndex(9) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.POSITIVE_INFINITY) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("isNHWC") + .setIsArray(false) + .setArgIndex(10) + .build()).build()); + } + + + + + if(name.equals("reshape")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.POSITIVE_INFINITY) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("shapeArr") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.POSITIVE_INFINITY) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("shape") + .setIsArray(false) + .setArgIndex(1) + .build()).build()); + + } + + if(name.equals("lin_space")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("dataType") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.DATA_TYPE) + .setName("dataType") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + + } + + + if(name.equals("create")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("java") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.DATA_TYPE) + .setName("outputType") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("java") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("order") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("java") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("outputType") + .setIsArray(false) + .setArgIndex(1) + .build()).build()); + } + + if(name.equals("extract_image_patches")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("isSameMode") + .setIsArray(false) + .setArgIndex(6) + .build()).build()); + } + + if(name.equals("eye")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("numRows") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("numRows") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("numCols") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("numCols") + .setIsArray(false) + .setArgIndex(1) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("batchDimension") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("batchDimension") + .setIsArray(true) + .setArgIndex(2) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("dataType") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("dataType") + .setIsArray(false) + .setArgIndex(3) + .build()).build()); + + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.DOUBLE) + .setName("dataType") + .setIsArray(true) + .setArgIndex(0) + .build()).build()); + } + + if(name.equals("range")) { + List finalArgDescriptorProposals = argDescriptorProposals; + Arrays.asList(OpNamespace.ArgDescriptor.ArgType.DOUBLE, OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR, OpNamespace.ArgDescriptor.ArgType.INT64).forEach( + dataType -> { + finalArgDescriptorProposals.add(ArgDescriptorProposal.builder() + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(dataType) + .setName("from") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + + finalArgDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(dataType) + .setName("to") + .setIsArray(false) + .setArgIndex(1) + .build()).build()); + + finalArgDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(dataType) + .setName("step") + .setIsArray(true) + .setArgIndex(2) + .build()).build()); + } + ); + + + } + + if(name.equals("onehot")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("input") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("input") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("axis") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("depth") + .setIsArray(false) + .setArgIndex(1) + .build()).build()); + + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("on") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("on") + .setIsArray(false) + .setArgIndex(2) + .build()).build()); + + + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("off") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("off") + .setIsArray(true) + .setArgIndex(3) + .build()).build()); + + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("axis") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("axis") + .setIsArray(true) + .setArgIndex(0) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("depth") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("depth") + .setIsArray(true) + .setArgIndex(1) + .build()).build()); + + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("on") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.DOUBLE) + .setName("on") + .setIsArray(true) + .setArgIndex(0) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("off") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.DOUBLE) + .setName("off") + .setIsArray(true) + .setArgIndex(1) + .build()).build()); + + } + + if(name.equals("non_max_suppression")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("maxOutputSize") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("maxOutputSize") + .setIsArray(false) + .setArgIndex(2) + .build()).build()); + } + + if(name.equals("pad")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("mode") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("mode") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + } + + if(name.equals("range")) { + //add limit since it's not parseable and is primed to be ignored + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("l") + .proposalWeight(9999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("l") + .setIsArray(false) + .setArgIndex(1) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("l") + .proposalWeight(9999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.DOUBLE) + .setName("l") + .setIsArray(false) + .setArgIndex(1) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("l") + .proposalWeight(9999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("l") + .setIsArray(false) + .setArgIndex(1) + .build()).build()); + } + + if(name.equals("repeat")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("dimensions") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("dimensions") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + } + + if (name.equals("decode_bitmap")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(9999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("start") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + } + + if(name.equals("dilation2d")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("isSameMode") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("rates") + .setIsArray(true) + .setArgIndex(1) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("strides") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("strides") + .setIsArray(true) + .setArgIndex(2) + .build()).build()); + } + + if(name.equals("standardize_bp")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("dimensions") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("dimensions") + .setIsArray(false) + .setArgIndex(1) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("eps") + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("eps") + .setIsArray(false) + .setArgIndex(2) + .build()).build()); + } + + + if(name.equals("lin_space")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("start") + .proposalWeight(9999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("start") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("finish") + .proposalWeight(9999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("finish") + .setIsArray(false) + .setArgIndex(1) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("numOfElements") + .proposalWeight(9999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("numOfElements") + .setIsArray(false) + .setArgIndex(2) + .build()).build()); + } + + if(name.equals("embedding_lookup")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("input") + .proposalWeight(9999999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("input") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("indices") + .proposalWeight(9999999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("indices") + .setIsArray(false) + .setArgIndex(1) + .build()).build()); + } + + + ret.put(name,argDescriptorProposals); + int nIn = Integer.parseInt(split[1].trim()); + int nOut = Integer.parseInt(split[2].trim()); + currentOpNin = nIn; + currentOpNout = nOut; + hasNin = true; + hasNout = true; + boolean inplaceAble = Boolean.parseBoolean(split[3].trim()); + int tArgs = Integer.parseInt(split[4].trim()); + int iArgs = Integer.parseInt(split[5].trim()); + + currentOpIntArgs = iArgs; + currentOutTArgs = tArgs; + hasIntArgs = true; + hasTArgs = true; + + builder.name(name) + .opDeclarationType(OpDeclarationDescriptor.OpDeclarationType.CUSTOM_OP_IMPL) + .nIn(nIn).nOut(nOut) + .inplaceAble(inplaceAble) + .iArgs(iArgs).tArgs(tArgs); + + inOpBlock = true; + + } else if(line.contains(BOOLEAN_OP_IMPL)) { + // BOOLEAN_OP_IMPL(NAME, NIN, SCALAR) + foundOp = true; + if(line.contains(");")) { + oneLineOp = true; + } + + line = removeBracesFromDeclarationMacro(line, BOOLEAN_OP_IMPL); + + String[] split = line.trim().split(","); + name = split[0]; + opTypes.put(name, OpNamespace.OpDescriptor.OpDeclarationType.BOOLEAN_OP_IMPL); + + // BOOLEAN_OP_IMPL(NAME, NIN, SCALAR) + int nIn = Integer.parseInt(split[1].trim()); + currentOpNin = nIn; + hasNin = true; + boolean inplaceAble = Boolean.parseBoolean(split[2].trim()); + builder.name(name).opDeclarationType(OpDeclarationDescriptor.OpDeclarationType.BOOLEAN_OP_IMPL) + .nIn(nIn) + .inplaceAble(inplaceAble); + + inOpBlock = true; + } else if(line.contains(LIST_OP_IMPL)) { + // LIST_OP_IMPL(NAME, NIN, NOUT, TARGS, IARGS) + foundOp = true; + line = removeBracesFromDeclarationMacro(line, LIST_OP_IMPL); + + String[] split = line.trim().split(","); + name = split[0]; + opTypes.put(name, OpNamespace.OpDescriptor.OpDeclarationType.LIST_OP_IMPL); + + argDescriptorProposals = new ArrayList<>(); + ret.put(name,argDescriptorProposals); + int nIn = Integer.parseInt(split[1].trim()); + int nOut = Integer.parseInt(split[2].trim()); + currentOpNin = nIn; + currentOpNout = nOut; + hasNin = true; + hasNout = true; + int tArgs = Integer.parseInt(split[3].trim()); + int iArgs = Integer.parseInt(split[4].trim()); + + currentOpIntArgs = iArgs; + currentOutTArgs = tArgs; + hasIntArgs = true; + hasTArgs = true; + + builder.name(name).opDeclarationType(OpDeclarationDescriptor.OpDeclarationType.LIST_OP_IMPL) + .nIn(nIn).nOut(nOut) + .iArgs(iArgs).tArgs(tArgs); + + inOpBlock = true; + + if(name.equals("split_list") || name.equals("scatter_list")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder().setArgIndex(0) + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("list").build()) + .build()); + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder().setArgIndex(1) + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("array").build()) + .build()); + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .proposalWeight(Double.MAX_VALUE) + .descriptor(OpNamespace.ArgDescriptor.newBuilder().setArgIndex(2) + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("sizes").build()) + .build()); + + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.POSITIVE_INFINITY) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.DATA_TYPE) + .setName("dtype") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + } + + if(name.equals("read_list")) { + //importDataType + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.POSITIVE_INFINITY) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.DATA_TYPE) + .setName("importDataType") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + } + + if(name.equals("gather_list") || name.equals("stack_list") || name.equals("split_list")) { + //importDataType + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("cpp") + .proposalWeight(Double.POSITIVE_INFINITY) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.DATA_TYPE) + .setName("dtype") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + } + + } else if(line.contains(LOGIC_OP_IMPL)) { + // LOGIC_OP_IMPL(NAME) + foundOp = true; + if(line.contains(");")) + oneLineOp = true; + line = removeBracesFromDeclarationMacro(line, LOGIC_OP_IMPL); + + String[] split = line.trim().split(","); + name = split[0]; + opTypes.put(name, OpNamespace.OpDescriptor.OpDeclarationType.LOGIC_OP_IMPL); + + argDescriptorProposals = new ArrayList<>(); + ret.put(name,argDescriptorProposals); + builder.name(name) + .opDeclarationType(OpDeclarationDescriptor.OpDeclarationType.LOGIC_OP_IMPL); + + inOpBlock = true; + //dummy output for import + if(name.equals("While") || name.equals("Switch") | name.equals("Conditional")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .proposalWeight(9999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder().setArgIndex(0) + .setArgType(OpNamespace.ArgDescriptor.ArgType.OUTPUT_TENSOR) + .setName("output").build()) + .build()); + } + + if(name.equals("merge")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .proposalWeight(99999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder().setArgIndex(0) + .setIsArray(true) + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("inputs").build()) + .build()); + } + + //dummy input for import + if(name.equals("While")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .proposalWeight(9999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder().setArgIndex(0) + .setArgType(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + .setName("condition").build()) + .build()); + } + + if(name.equals("while") || name.equals("enter") || name.equals("exit") || name.equals("next_iteration") + || name.equals("loop_cond") || name.equals("switch") || name.equals("While")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .proposalWeight(9999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder().setArgIndex(0) + .setArgType(OpNamespace.ArgDescriptor.ArgType.STRING) + .setName("frameName").build()) + .build()); + } + + + } else if(line.contains(DIVERGENT_OP_IMPL)) { + foundOp = true; + //DIVERGENT_OP_IMPL(NAME, NIN, NOUT, INPLACEABLE) + line = removeBracesFromDeclarationMacro(line, DIVERGENT_OP_IMPL); + String[] split = line.trim().split(","); + name = split[0]; + opTypes.put(name, OpNamespace.OpDescriptor.OpDeclarationType.DIVERGENT_OP_IMPL); + + argDescriptorProposals = new ArrayList<>(); + ret.put(name,argDescriptorProposals); + int nIn = Integer.parseInt(split[1].trim()); + int nOut = Integer.parseInt(split[2].trim()); + currentOpNin = nIn; + currentOpNout = nOut; + hasNin = true; + hasNout = true; + boolean inplaceAble = Boolean.parseBoolean(split[3].trim()); + builder.name(name).opDeclarationType(OpDeclarationDescriptor.OpDeclarationType.DIVERGENT_OP_IMPL) + .nIn(nIn).nOut(nOut) + .inplaceAble(inplaceAble); + + inOpBlock = true; + } else if(line.contains(CONFIGURABLE_OP_IMPL)) { + // CONFIGURABLE_OP_IMPL(NAME, NIN, NOUT, INPLACEABLE, TARGS, IARGS) + foundOp = true; + line = removeBracesFromDeclarationMacro(line, CONFIGURABLE_OP_IMPL); + String[] split = line.trim().split(","); + name = split[0]; + opTypes.put(name, OpNamespace.OpDescriptor.OpDeclarationType.CONFIGURABLE_OP_IMPL); + + argDescriptorProposals = new ArrayList<>(); + ret.put(name,argDescriptorProposals); + int nIn = Integer.parseInt(split[1].trim()); + int nOut = Integer.parseInt(split[2].trim()); + currentOpNin = nIn; + currentOpNout = nOut; + hasNin = true; + hasNout = true; + boolean inplaceAble = Boolean.parseBoolean(split[3].trim()); + int tArgs = Integer.parseInt(split[4].trim()); + int iArgs = Integer.parseInt(split[5].trim()); + + hasIntArgs = true; + hasTArgs = true; + + builder.name(name) + .opDeclarationType(OpDeclarationDescriptor.OpDeclarationType.CONFIGURABLE_OP_IMPL) + .nIn(nIn).nOut(nOut) + .inplaceAble(inplaceAble) + .iArgs(iArgs).tArgs(tArgs); + + inOpBlock = true; + if(name.equals("relu6")) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgIndex(0) + .setArgType(OpNamespace.ArgDescriptor.ArgType.DATA_TYPE) + .setName("dtype") + .build()) + .sourceOfProposal("cpp").proposalWeight(999999.0) + .build()); + } + + } else if(line.contains(REDUCTION_OP_IMPL)) { + //REDUCTION_OP_IMPL(NAME, NIN, NOUT, INPLACEABLE, TARGS, IARGS) + foundOp = true; + line = removeBracesFromDeclarationMacro(line, REDUCTION_OP_IMPL); + String[] split = line.trim().split(","); + name = split[0]; + opTypes.put(name, OpNamespace.OpDescriptor.OpDeclarationType.REDUCTION_OP_IMPL); + + argDescriptorProposals = new ArrayList<>(); + ret.put(name,argDescriptorProposals); + + int nIn = Integer.parseInt(split[1].trim()); + int nOut = Integer.parseInt(split[2].trim()); + currentOpNin = nIn; + currentOpNout = nOut; + hasNin = true; + hasNout = true; + boolean inplaceAble = Boolean.parseBoolean(split[3].trim()); + int tArgs = Integer.parseInt(split[4].trim()); + int iArgs = Integer.parseInt(split[5].trim()); + + hasIntArgs = true; + hasTArgs = true; + + builder.name(name).opDeclarationType(OpDeclarationDescriptor.OpDeclarationType.REDUCTION_OP_IMPL) + .nIn(nIn).nOut(nOut) + .inplaceAble(inplaceAble) + .iArgs(iArgs).tArgs(tArgs); + + inOpBlock = true; + } else if(line.contains(BROADCASTABLE_OP_IMPL)) { + //BROADCASTABLE_OP_IMPL(NAME, TARGS, IARGS) + foundOp = true; + line = removeBracesFromDeclarationMacro(line, BROADCASTABLE_OP_IMPL); + + String[] split = line.trim().split(","); + name = split[0]; + opTypes.put(name, OpNamespace.OpDescriptor.OpDeclarationType.BROADCASTABLE_OP_IMPL); + + argDescriptorProposals = new ArrayList<>(); + ret.put(name,argDescriptorProposals); + int tArgs = Integer.parseInt(split[1].trim()); + int iArgs = Integer.parseInt(split[2].trim()); + + hasTArgs = true; + hasIntArgs = true; + + builder.name(name) + .opDeclarationType(OpDeclarationDescriptor.OpDeclarationType.BROADCASTABLE_OP_IMPL) + .nIn(BROADCASTABLE_OP_IMPL_DEFAULT_NIN) + .nOut(BROADCASTABLE_OP_IMPL_DEFAULT_NOUT) + .iArgs(iArgs).tArgs(tArgs); + + inOpBlock = true; + } else if(line.contains(BROADCASTABLE_BOOL_OP_IMPL)) { + //BROADCASTABLE_BOOL_OP_IMPL(NAME, TARGS, IARGS) + foundOp = true; + line = line.replace(BROADCASTABLE_BOOL_OP_IMPL + "(", ""); + line = line.replace(")", ""); + line = line.replace("{", ""); + String[] split = line.trim().split(","); + name = split[0]; + opTypes.put(name, OpNamespace.OpDescriptor.OpDeclarationType.BROADCASTABLE_BOOL_OP_IMPL); + + argDescriptorProposals = new ArrayList<>(); + ret.put(name,argDescriptorProposals); + int tArgs = Integer.parseInt(split[1].trim()); + int iArgs = Integer.parseInt(split[2].trim()); + + currentOpIntArgs = iArgs; + currentOutTArgs = tArgs; + hasIntArgs = true; + hasTArgs = true; + + + builder.name(name) + .opDeclarationType(OpDeclarationDescriptor.OpDeclarationType.BROADCASTABLE_BOOL_OP_IMPL) + .nIn(BROADCASTABLE_OP_IMPL_DEFAULT_NIN) + .nOut(BROADCASTABLE_OP_IMPL_DEFAULT_NOUT) + .iArgs(iArgs).tArgs(tArgs); + + inOpBlock = true; + } else if(line.contains(PLATFORM_IMPL)) { + foundOp = true; + line = removeBracesFromDeclarationMacro(line, PLATFORM_IMPL); + String[] split = line.trim().split(","); + name = split[0]; + //sometimes ops can appear more than once per platform, only keep original specification in this case + if(name != null && !opTypes.containsKey(name)) + opTypes.put(name, OpNamespace.OpDescriptor.OpDeclarationType.PLATFORM_IMPL); + + builder.name(name) + .opDeclarationType(OpDeclarationDescriptor.OpDeclarationType.PLATFORM_IMPL); + inOpBlock = true; + hasNin = true; + hasNout = true; + platformImpl = true; + } + + else if(line.contains(OP_IMPL)) { + //OP_IMPL(NAME, NIN, NOUT, INPLACEABLE) + foundOp = true; + line = removeBracesFromDeclarationMacro(line, OP_IMPL); + String[] split = line.trim().split(","); + name = split[0]; + opTypes.put(name, OpNamespace.OpDescriptor.OpDeclarationType.OP_IMPL); + + argDescriptorProposals = new ArrayList<>(); + ret.put(name,argDescriptorProposals); + int nIn = Integer.parseInt(split[1].trim()); + int nOut = Integer.parseInt(split[2].trim()); + currentOpNin = nIn; + currentOpNout = nOut; + hasNin = true; + hasNout = true; + boolean inplaceAble = Boolean.parseBoolean(split[3].trim()); + builder.name(name).opDeclarationType(OpDeclarationDescriptor.OpDeclarationType.OP_IMPL) + .nIn(nIn).nOut(nOut) + .inplaceAble(inplaceAble); + + inOpBlock = true; + } + } + + line = line.trim(); + + //reset just in case we encounter another op in the file + //TODO: End of block needs to detect short circuits + if (inOpBlock && line.contains(RETURN) && endOfBlock(currLineIdx,lines) || oneLineOp) { + //reset op after 1 is found and current code block ends + if (foundOp) { + if(outArgNames.isEmpty()) { + outArgNames.add("output"); + outArgIndices.add(0); + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgIndex(0) + .setArgType(OpNamespace.ArgDescriptor.ArgType.OUTPUT_TENSOR) + .setName("output") + .build()) + .sourceOfProposal("cpp").proposalWeight(999999.0) + .build()); + } + + builder.inArgNames(inArgNames); + builder.outArgNames(outArgNames); + builder.tArgNames(tArgNames); + builder.iArgNames(iArgNames); + builder.bArgNames(bArgNames); + + opDeclarationDescriptor = builder.build(); + System.out.println(opDeclarationDescriptor); + + opDeclarationDescriptors.add(opDeclarationDescriptor); + + if (opDeclarationDescriptor != null) { + System.out.println("Op descriptor " + opDeclarationDescriptor); + System.out.println("Input arg name " + inArgNames); + System.out.println("Output arg names " + outArgNames); + System.out.println("T Arg names " + tArgNames); + System.out.println("Integer arg names " + iArgNames); + System.out.println("Boolean arg names " + bArgNames); + opDeclarationDescriptor.validate(); + } + } + + descriptorMap.put(opDeclarationDescriptor.getName(), opDeclarationDescriptor); + + inOpBlock = false; + foundOp = false; + oneLineOp = false; + opDeclarationDescriptor = null; + builder = OpDeclarationDescriptor.builder(); + //clear list references + inArgNames = new ArrayList<>(); + outArgNames = new ArrayList<>(); + tArgNames = new ArrayList<>(); + iArgNames = new ArrayList<>(); + bArgNames = new ArrayList<>(); + + iArgIndices = new ArrayList<>(); + bArgIndices = new ArrayList<>(); + inArgIndices = new ArrayList<>(); + tArgIndices = new ArrayList<>(); + outArgIndices = new ArrayList<>(); + + currentOpNin = -1; + currentOpNout = -1; + hasNin = false; + hasNout = false; + hasIntArgs = false; + hasTArgs = false; + currentOpBooleanArgs = -1; + currentOpIntArgs = -1; + currentOutTArgs = -1; + platformImpl = false; + argDescriptorProposals = new ArrayList<>(); + } + + if (inOpBlock) { + if(argDescriptorProposals == null) + argDescriptorProposals = new ArrayList<>(); + if (line.isEmpty()) { + //ignore + /** + * Need to add case for array matching. + */ + } + + if (matchesArgDeclaration(INT_ARG,line)) { + processLine(iArgNames, iArgIndices, argDescriptorProposals, line, OpNamespace.ArgDescriptor.ArgType.INT64,name); + //hard coded case, impossible to parse from as the code exists today, and it doesn't exist anywhere in the libnd4j code base + if(name.contains("maxpool2d")) { + if(!containsProposalWithDescriptorName("extraParam0",argDescriptorProposals)) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("extraParam0") + .proposalWeight(9999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("extraParam0") + .setIsArray(false) + .setArgIndex(9) + .build()).build()); + } + } + + if(name.equals("top_k")) { + if(!containsProposalWithDescriptorName("sorted",argDescriptorProposals)) { + argDescriptorProposals.add(ArgDescriptorProposal.builder() + .sourceOfProposal("sorted") + .proposalWeight(9999.0) + .descriptor(OpNamespace.ArgDescriptor.newBuilder() + .setArgType(OpNamespace.ArgDescriptor.ArgType.INT64) + .setName("sorted") + .setIsArray(false) + .setArgIndex(0) + .build()).build()); + } + } + + + } + + if (matchesArgDeclaration(OUTPUT_NULLIFIED,line) + || matchesArgDeclaration(OUTPUT_VARIABLE,line) && !line.contains("->rankOf()")) { + processLine(outArgNames, outArgIndices, argDescriptorProposals, line, OpNamespace.ArgDescriptor.ArgType.OUTPUT_TENSOR,name); + + } + if (matchesArgDeclaration(T_ARG,line) && !line.contains("INT")) { + processLine(tArgNames, tArgIndices, argDescriptorProposals, line, OpNamespace.ArgDescriptor.ArgType.DOUBLE, name); + } + if (!line.contains("->rankOf()") && !line.contains("->dataType()") && matchesArgDeclaration(INPUT_VARIABLE,line) || matchesArgDeclaration(INPUT_LIST,line)) { + processLine(inArgNames,inArgIndices,argDescriptorProposals,line, OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR, name); + } + + if (matchesArgDeclaration(B_ARG,line)) { + processLine(bArgNames, bArgIndices, argDescriptorProposals, line, OpNamespace.ArgDescriptor.ArgType.BOOL,name); + } + if(matchesArrayArgDeclaration(line.trim())) { + if(line.contains(INT_ARG)) + processArrayLine(iArgNames, iArgIndices, argDescriptorProposals, line, OpNamespace.ArgDescriptor.ArgType.INT64); + + if(line.contains(OUTPUT_NULLIFIED) || line.contains(OUTPUT_VARIABLE)) { + processArrayLine(outArgNames, outArgIndices, argDescriptorProposals, line, OpNamespace.ArgDescriptor.ArgType.OUTPUT_TENSOR); + } if(line.contains(T_ARG) && !line.contains("INT")) { + processArrayLine(tArgNames, tArgIndices, argDescriptorProposals, line, OpNamespace.ArgDescriptor.ArgType.DOUBLE); + } if(line.contains(B_ARG)) { + processArrayLine(bArgNames, bArgIndices, argDescriptorProposals, line, OpNamespace.ArgDescriptor.ArgType.BOOL); + + } + } + } + + //add alias descriptors + if (line.contains(DECLARE_SYN)) { + line = removeBracesFromDeclarationMacro(line, DECLARE_SYN); + String[] args2 = line.split(","); + String aliasFor = args2[1].trim(); + String newKey = args2[0].trim(); + if(descriptorMap.isEmpty()) { + throw new IllegalStateException("Descriptor map should not be empty here"); + } + + OpDeclarationDescriptor.OpDeclarationDescriptorBuilder opDescriptor2 = descriptorMap.get(aliasFor).toBuilder(); + + opDescriptor2.name(newKey); + OpDeclarationDescriptor newDescriptor = opDescriptor2.build(); + opDeclarationDescriptors.add(newDescriptor); + descriptorMap.put(args2[1],newDescriptor); + } + + currLineIdx++; + } + + + } catch (IOException e) { + e.printStackTrace(); + } + }); + + + + return ret; + + } + + private boolean endOfBlock(int lineIndex,List lines) { + if(lineIndex < lines.size() - 2) { + for(int i = lineIndex; i < lines.size() - 2; i++) { + //could be last brace + if(lines.get(i + 1).trim().equals("}") + || lines.get(i + 1).trim().equals("};") + || lines.get(i + 1).isEmpty() || lines.get(i + 1).trim().isEmpty()) { + continue; + } + if(lines.get(i + 1).contains("DECLARE_TYPES") || + lines.get(i + 1).contains("DECLARE_SHAPE_FN")|| + lines.get(i + 1).contains("DECLARE_SYN") || + lines.get(i).contains("DECLARE_TYPES") || + lines.get(i).contains("DECLARE_SHAPE_FN")|| + lines.get(i).contains("DECLARE_SYN") || + lines.get(i + 1).contains("OP_") + || lines.get( i + 1).contains("////")) { + return true; + } else if(!lines.get(i + 1).contains("DECLARE_TYPES") + || !lines.get(i + 1).contains("DECLARE_SHAPE_FN") + || !lines.get(i + 1).contains("DECLARE_SYN") + || !lines.get(i + 1).contains("OP_") + || !lines.get( i + 1).contains("////")) { + return false; + } + } + } + + return true; + + } + + private String argDeclarationForType(OpNamespace.ArgDescriptor.ArgType argType) { + switch(argType) { + case INPUT_TENSOR: + return INPUT_VARIABLE; + case INT32: + case INT64: + return INT_ARG; + case FLOAT: + case DOUBLE: + return T_ARG; + case BOOL: + return B_ARG; + case OUTPUT_TENSOR: + return OUTPUT_VARIABLE; + case DATA_TYPE: + case UNRECOGNIZED: + default: + throw new IllegalArgumentException("Processing illegal type " + argType); + + } + } + + + private void processArrayLine(List iArgNames, List iArgIndices, + List argDescriptorProposals, + String line, OpNamespace.ArgDescriptor.ArgType argType) { + String[] split = line.split(" = "); + if(split.length == 1) { + //invalid line + return; + } + + String[] arrSplit = split[0].split(" "); + String name = arrSplit[0].replaceAll("\\[.*\\]",""); + Preconditions.checkState(!name.isEmpty()); + ArgDescriptorParserUtils.addArrayNameToList(line, iArgNames, iArgIndices, argDeclarationForType(argType)); + + + OpNamespace.ArgDescriptor argDescriptor = OpNamespace.ArgDescriptor.newBuilder() + .setArgType(argType) + .setIsArray(true) + .setConvertBoolToInt(argType == OpNamespace.ArgDescriptor.ArgType.BOOL || line.contains("B_ARG")) + .setName(name) + .setArgIndex(-1).build(); + + double weightToIncrementBy = weight * 1000000; + ArgDescriptorProposal argDescriptorProposal = ArgDescriptorProposal.builder() + .descriptor(argDescriptor) + .sourceLine(line) + .sourceOfProposal("cpp") + .proposalWeight(weightToIncrementBy) + .build(); + argDescriptorProposals.add(argDescriptorProposal); + } + + + private void processLine(List iArgNames, List iArgIndices, + List argDescriptorProposals, + String line, OpNamespace.ArgDescriptor.ArgType argType, String opName) { + boolean matchesPureDeclaration = Pattern.matches(ARG_DECLARATION,line) || Pattern.matches(ARG_BOOL_EQUALS_DECLARATION,line) || Pattern.matches(ARRAY_ASSIGNMENT,line); + String[] split = line.split("\\s*=\\s*"); + if(split.length == 1) { + //invalid line + return; + } + + String[] arrSplit = split[0].split(" "); + //type + name + Integer index = extractArgFromCpp(line, argDeclarationForType(argType)); + //guess index based on current number of indices already added + if(index < 0) { + index = iArgIndices.size(); + } + + + ArgDescriptorParserUtils.addNameToList(line, iArgNames, iArgIndices, argDeclarationForType(argType)); + //note sometimes we have individual array entries for names, we need to strip out index indicators like [i] + String argName = arrSplit[arrSplit.length - 1].replaceAll("\\[.*\\]",""); + if(containsProposalWithDescriptorName(argName,argDescriptorProposals)) { + val descriptor = getDescriptorWithName(argName,argDescriptorProposals); + //don't add already encountered indices if one is already greater. + if(descriptor != null) { + return; + } + } + + + Preconditions.checkState(!argName.isEmpty()); + //more than a typename variable name present + if(arrSplit.length > 2) { + //skip type + for(int i = 1; i < arrSplit.length; i++) { + //handle inline comments + arrSplit[i] = arrSplit[i].trim(); + arrSplit[i] = arrSplit[i].replace(";",""); + if(isValidIdentifier(arrSplit[i])) { + argName = arrSplit[i]; + Preconditions.checkState(!argName.isEmpty()); + break; + } + } + } + + Preconditions.checkState(!argName.isEmpty()); + + OpNamespace.ArgDescriptor argDescriptor = OpNamespace.ArgDescriptor.newBuilder() + .setArgType(argType) + .setConvertBoolToInt(argType == OpNamespace.ArgDescriptor.ArgType.BOOL && !line.contains("B_ARG")) + .setName(argName) + .setArgIndex(index).build(); + double weightToIncrementBy = matchesPureDeclaration ? weight * 1000000 : weight; + if(line.contains("->")) { + weightToIncrementBy -= 100000; + } + + ArgDescriptorProposal argDescriptorProposal = ArgDescriptorProposal.builder() + .descriptor(argDescriptor) + .sourceOfProposal("cpp") + .sourceLine(line) + .proposalWeight(weightToIncrementBy) + .build(); + argDescriptorProposals.add(argDescriptorProposal); + + //remove duplicate proposals and only take the max index ensuring all parameters are accounted for + val groupedByName = argDescriptorProposals.stream().collect(Collectors.groupingBy(proposal -> proposal.getDescriptor().getName())); + List toRemove = new ArrayList<>(); + if(!bannedMaxIndexOps.contains(opName)) + for(Map.Entry> proposals : groupedByName.entrySet()) { + if(proposals.getValue().size() > 1) { + ArgDescriptorProposal max = null; + for(ArgDescriptorProposal proposal : proposals.getValue()) { + if(max == null) + max = proposal; + else if(max.getDescriptor().getArgIndex() < proposal.getDescriptor().getArgIndex()) { + //slate for removal and set new max + toRemove.add(max); + max = proposal; + } + } + + } + } + + argDescriptorProposals.removeAll(toRemove); + + } + + @Override + public Map> getProposals() { + return doExtractArgDescriptors(); + } + + @Override + public OpNamespace.OpDescriptor.OpDeclarationType typeFor(String name) { + return opTypes.get(name); + } +} diff --git a/contrib/codegen-tools/onnx-def-gen/README.md b/contrib/codegen-tools/onnx-def-gen/README.md new file mode 100644 index 000000000..62a8eb8b0 --- /dev/null +++ b/contrib/codegen-tools/onnx-def-gen/README.md @@ -0,0 +1,19 @@ +Onnx op definition loading +--------------------------------- + +Setup +------- +Use anaconda and install onnx: +``` +conda install onnx +``` + +Generate a file +--------------------- +``` +python onnx_def_gen.py +``` + +This will generate a file with all op definitions +loadable as NodeProto in onnx serialized as a text file +split by --\n. diff --git a/contrib/codegen-tools/onnx-def-gen/lenet.onnx b/contrib/codegen-tools/onnx-def-gen/lenet.onnx new file mode 100644 index 000000000..c858b347d Binary files /dev/null and b/contrib/codegen-tools/onnx-def-gen/lenet.onnx differ diff --git a/contrib/codegen-tools/onnx-def-gen/onnx-op-defs.pb b/contrib/codegen-tools/onnx-def-gen/onnx-op-defs.pb new file mode 100644 index 000000000..023f31b24 Binary files /dev/null and b/contrib/codegen-tools/onnx-def-gen/onnx-op-defs.pb differ diff --git a/contrib/codegen-tools/onnx-def-gen/onnx.pbtxt b/contrib/codegen-tools/onnx-def-gen/onnx.pbtxt new file mode 100644 index 000000000..5fa814d06 --- /dev/null +++ b/contrib/codegen-tools/onnx-def-gen/onnx.pbtxt @@ -0,0 +1,6004 @@ +input: "X" +output: "Y" +name: "Abs" +op_type: "Abs" +attribute { + name: "X-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nAbsolute takes one input data (Tensor) and produces one output data\n(Tensor) where the absolute is, y = abs(x), is applied to\nthe tensor elementwise.\n" +----f +input: "input" +output: "output" +name: "Acos" +op_type: "Acos" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the arccosine (inverse of cosine) of the given input tensor, element-wise.\n" +----f +input: "input" +output: "output" +name: "Acosh" +op_type: "Acosh" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the hyperbolic arccosine of the given input tensor element-wise.\n" +----f +input: "R" +input: "T" +input: "inputs" +output: "outputs" +name: "Adagrad" +op_type: "Adagrad" +attribute { + name: "decay_factor" + f: 0.0 + type: FLOAT +} +attribute { + name: "epsilon" + f: 1e-06 + type: FLOAT +} +attribute { + name: "norm_coefficient" + f: 0.0 + type: FLOAT +} +attribute { + name: "R-types" + strings: "float" + strings: "double" + type: STRINGS +} +attribute { + name: "T-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "inputs-types" + strings: "float" + strings: "double" + type: STRINGS +} +doc_string: "\n Compute one iteration of ADAGRAD, a stochastic gradient based optimization\n algorithm. This operator can conduct the optimization of multiple tensor variables.\n\n Let\'s define the behavior of this operator. As you can imagine, ADAGRAD requires\n some parameters:\n \n - The initial learning-rate \"R\".\n - The update count \"T\". That is, the number of training iterations conducted.\n - A L2-norm regularization coefficient \"norm_coefficient\".\n - A learning-rate decay factor \"decay_factor\".\n - A small constant \"epsilon\" to avoid dividing-by-zero. \n\n At each ADAGRAD iteration, the optimized tensors are moved along a direction\n computed based on their estimated gradient and accumulated squared gradient. Assume\n that only a single tensor \"X\" is updated by this operator. We need the value of \"X\",\n its gradient \"G\", and its accumulated squared gradient \"H\". Therefore, variables in\n this operator\'s input list are sequentially \"R\", \"T\", \"X\", \"G\", and \"H\". Other\n parameters are given as attributes because they are usually constants. Also, the\n corresponding output tensors are the new value of \"X\" (called \"X_new\"), and then\n the new accumulated squared gradient (called \"H_new\"). Those outputs are computed\n from the given inputs following the pseudo code below.\n\n Let \"+\", \"-\", \"*\", and \"/\" are all element-wise arithmetic operations with\n numpy-style broadcasting support. The pseudo code to compute those outputs is:\n\n // Compute a scalar learning-rate factor. At the first update of X, T is generally\n // 0 (0-based update index) or 1 (1-based update index).\n r = R / (1 + T * decay_factor);\n\n // Add gradient of 0.5 * norm_coefficient * ||X||_2^2, where ||X||_2 is the 2-norm.\n G_regularized = norm_coefficient * X + G;\n\n // Compute new accumulated squared gradient.\n H_new = H + G_regularized * G_regularized;\n\n // Compute the adaptive part of per-coordinate learning rate. Note that Sqrt(...)\n // computes element-wise square-root.\n H_adaptive = Sqrt(H_new) + epsilon\n\n // Compute the new value of \"X\".\n X_new = X - r * G_regularized / H_adaptive;\n\n If one assign this operators to optimize multiple inputs, for example, \"X_1\" and \"X_2\", the same\n pseudo code may be extended to handle all tensors jointly. More specifically, we can view \"X\" as a\n concatenation of \"X_1\" and \"X_2\" (of course, their gradient and accumulate gradient should\n be concatenated too) and then just reuse the entire pseudo code.\n\n Note that ADAGRAD was first proposed in http://jmlr.org/papers/volume12/duchi11a/duchi11a.pdf.\n In that reference paper, this operator is a special case of the Figure 1\'s composite mirror\n descent update.\n" +----f +input: "R" +input: "T" +input: "inputs" +output: "outputs" +name: "Adam" +op_type: "Adam" +attribute { + name: "alpha" + f: 0.9 + type: FLOAT +} +attribute { + name: "beta" + f: 0.999 + type: FLOAT +} +attribute { + name: "epsilon" + f: 1e-06 + type: FLOAT +} +attribute { + name: "norm_coefficient" + f: 0.0 + type: FLOAT +} +attribute { + name: "norm_coefficient_post" + f: 0.0 + type: FLOAT +} +attribute { + name: "R-types" + strings: "float" + strings: "double" + type: STRINGS +} +attribute { + name: "T-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "inputs-types" + strings: "float" + strings: "double" + type: STRINGS +} +doc_string: "\n Compute one iteration of Adam, a stochastic gradient based optimization\n algorithm. This operator can conduct the optimization of multiple tensor variables.\n\n Let\'s define the behavior of this operator. First of all, Adam requires\n some parameters:\n \n - The learning-rate \"R\".\n - The update count \"T\". That is, the number of training iterations conducted.\n - A L2-norm regularization coefficient \"norm_coefficient\".\n - A small constant \"epsilon\" to avoid dividing-by-zero. \n - Two coefficients, \"alpha\" and \"beta\".\n\n At each Adam iteration, the optimized tensors are moved along a direction\n computed based on their exponentially-averaged historical gradient and\n exponentially-averaged historical squared gradient. Assume that only a tensor\n \"X\" is being optimized. The rest of required information is\n \n - the value of \"X\",\n - \"X\"\'s gradient (denoted by \"G\"),\n - \"X\"\'s exponentially-averaged historical gradient (denoted by \"V\"), and\n - \"X\"\'s exponentially-averaged historical squared gradient (denoted by \"H\").\n\n Some of those parameters are passed into this operator as input tensors and others\n are stored as this operator\'s attributes. Specifically, this operator\'s input tensor\n list is [\"R\", \"T\", \"X\", \"G\", \"V\", \"H\"]. That is, \"R\" is the first input, \"T\" is\n the second input, and so on. Other parameters are given as attributes because they\n are constants. Moreover, the corresponding output tensors are \n \n - the new value of \"X\" (called \"X_new\"),\n - the new exponentially-averaged historical gradient (denoted by \"V_new\"), and\n - the new exponentially-averaged historical squared gradient (denoted by \"H_new\").\n\n Those outputs are computed following the pseudo code below.\n\n Let \"+\", \"-\", \"*\", and \"/\" are all element-wise arithmetic operations with\n numpy-style broadcasting support. The pseudo code to compute those outputs is:\n\n // Add gradient of 0.5 * norm_coefficient * ||X||_2^2, where ||X||_2 is the 2-norm.\n G_regularized = norm_coefficient * X + G\n\n // Update exponentially-averaged historical gradient.\n V_new = alpha * V + (1 - alpha) * G_regularized\n\n // Update exponentially-averaged historical squared gradient.\n H_new = beta * H + (1 - beta) * G_regularized * G_regularized\n\n // Compute the element-wise square-root of H_new. V_new will be element-wisely\n // divided by H_sqrt for a better update direction.\n H_sqrt = Sqrt(H_new) + epsilon\n\n // Compute learning-rate. Note that \"alpha**T\"/\"beta**T\" is alpha\'s/beta\'s T-th power.\n R_adjusted = T > 0 ? R * Sqrt(1 - beta**T) / (1 - alpha**T) : R\n\n // Compute new value of \"X\".\n X_new = X - R_adjusted * V_new / H_sqrt\n\n // Post-update regularization.\n X_final = (1 - norm_coefficient_post) * X_new \n\n If there are multiple inputs to be optimized, the pseudo code will be applied\n independently to each of them.\n" +----f +input: "A" +input: "B" +output: "C" +name: "Add" +op_type: "Add" +attribute { + name: "A-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +attribute { + name: "B-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nPerforms element-wise binary addition (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "A" +input: "B" +output: "C" +name: "And" +op_type: "And" +attribute { + name: "A-types" + strings: "bool" + type: STRINGS +} +attribute { + name: "B-types" + strings: "bool" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `and` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "data" +output: "reduced" +name: "ArgMax" +op_type: "ArgMax" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "select_last_index" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the indices of the max elements of the input tensor\'s element along the \nprovided axis. The resulting tensor has the same rank as the input if keepdims equal 1. \nIf keepdims equal 0, then the resulting tensor have the reduced dimension pruned. \nIf select_last_index is True (default False), the index of the last occurrence of the max \nis selected if the max appears more than once in the input. Otherwise the index of the \nfirst occurrence is selected.\nThe type of the output tensor is integer." +----f +input: "data" +output: "reduced" +name: "ArgMin" +op_type: "ArgMin" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "select_last_index" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the indices of the min elements of the input tensor\'s element along the \nprovided axis. The resulting tensor has the same rank as the input if keepdims equal 1. \nIf keepdims equal 0, then the resulting tensor have the reduced dimension pruned. \nIf select_last_index is True (default False), the index of the last occurrence of the min \nis selected if the min appears more than once in the input. Otherwise the index of the \nfirst occurrence is selected.\nThe type of the output tensor is integer." +----f +input: "X" +input: "Y" +output: "Z" +name: "ArrayFeatureExtractor" +op_type: "ArrayFeatureExtractor" +attribute { + name: "X-types" + strings: "int32" + strings: "string" + strings: "double" + strings: "int64" + strings: "float" + type: STRINGS +} +attribute { + name: "Y-types" + strings: "int64" + type: STRINGS +} +doc_string: "\n Select elements of the input tensor based on the indices passed.
\n The indices are applied to the last axes of the tensor.\n" +----f +input: "input" +output: "output" +name: "Asin" +op_type: "Asin" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the arcsine (inverse of sine) of the given input tensor, element-wise.\n" +----f +input: "input" +output: "output" +name: "Asinh" +op_type: "Asinh" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the hyperbolic arcsine of the given input tensor element-wise.\n" +----f +input: "input" +output: "output" +name: "Atan" +op_type: "Atan" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the arctangent (inverse of tangent) of the given input tensor, element-wise.\n" +----f +input: "input" +output: "output" +name: "Atanh" +op_type: "Atanh" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the hyperbolic arctangent of the given input tensor element-wise.\n" +----f +input: "X" +output: "Y" +name: "AveragePool" +op_type: "AveragePool" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "ceil_mode" + i: 0 + type: INT +} +attribute { + name: "count_include_pad" + i: 0 + type: INT +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\n AveragePool consumes an input tensor X and applies average pooling across\n the tensor according to kernel sizes, stride sizes, and pad lengths.\n average pooling consisting of computing the average on all values of a\n subset of the input tensor according to the kernel size and downsampling the\n data into the output tensor Y for further processing. The output spatial shape will be following:\n ```\n output_spatial_shape[i] = floor((input_spatial_shape[i] + pad_shape[i] - kernel_spatial_shape[i]) / strides_spatial_shape[i] + 1)\n ```\n or\n ```\n output_spatial_shape[i] = ceil((input_spatial_shape[i] + pad_shape[i] - kernel_spatial_shape[i]) / strides_spatial_shape[i] + 1)\n ```\n if ceil_mode is enabled\n\n ```\n * pad_shape[i] is sum of pads along axis i\n ```\n\n `auto_pad` is a DEPRECATED attribute. If you are using them currently, the output spatial shape will be following:\n ```\n VALID: output_spatial_shape[i] = ceil((input_spatial_shape[i] - kernel_spatial_shape[i] + 1) / strides_spatial_shape[i])\n SAME_UPPER or SAME_LOWER: output_spatial_shape[i] = ceil(input_spatial_shape[i] / strides_spatial_shape[i])\n ```\n And pad shape will be following if `SAME_UPPER` or `SAME_LOWER`:\n ```\n pad_shape[i] = (output_spatial_shape[i] - 1) * strides_spatial_shape[i] + kernel_spatial_shape[i] - input_spatial_shape[i]\n ```\n The output of each pooling window is divided by the number of elements (exclude pad when attribute count_include_pad is zero).\n " +----f +input: "X" +input: "scale" +input: "B" +input: "mean" +input: "var" +output: "Y" +output: "mean" +output: "var" +output: "saved_mean" +output: "saved_var" +name: "BatchNormalization" +op_type: "BatchNormalization" +attribute { + name: "epsilon" + f: 1e-05 + type: FLOAT +} +attribute { + name: "momentum" + f: 0.9 + type: FLOAT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "scale-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "mean-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "var-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCarries out batch normalization as described in the paper\nhttps://arxiv.org/abs/1502.03167. Depending on the mode it is being run,\nthere are multiple cases for the number of outputs, which we list below:\n\nOutput case #1: Y, mean, var, saved_mean, saved_var (training mode)\nOutput case #2: Y (test mode)\n\nFor previous (depreciated) non-spatial cases, implementors are suggested\nto flatten the input shape to (N x C*D1*D2 ..*Dn) before a BatchNormalization Op.\nThis operator has **optional** inputs/outputs. See [the doc](IR.md) for more details about the representation of optional arguments. An empty string may be used in the place of an actual argument\'s name to indicate a missing argument. Trailing optional arguments (those not followed by an argument that is present) may also be simply omitted.\n" +----f +input: "X" +output: "Y" +name: "Binarizer" +op_type: "Binarizer" +attribute { + name: "threshold" + f: 0.0 + type: FLOAT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n Maps the values of the input tensor to either 0 or 1, element-wise, based on the outcome of a comparison against a threshold value.\n" +----f +input: "X" +input: "Y" +output: "Z" +name: "BitShift" +op_type: "BitShift" +attribute { + name: "direction" + s: "" + type: STRING +} +attribute { + name: "X-types" + strings: "uint32" + strings: "uint16" + strings: "uint8" + strings: "uint64" + type: STRINGS +} +attribute { + name: "Y-types" + strings: "uint32" + strings: "uint16" + strings: "uint8" + strings: "uint64" + type: STRINGS +} +doc_string: "\nBitwise shift operator performs element-wise operation. For each input element, if the\n attribute \"direction\" is \"RIGHT\", this operator moves its binary representation toward\n the right side so that the input value is effectively decreased. If the attribute \"direction\"\n is \"LEFT\", bits of binary representation moves toward the left side, which results the\n increase of its actual value. The input X is the tensor to be shifted and another input\n Y specifies the amounts of shifting. For example, if \"direction\" is \"Right\", X is [1, 4],\n and S is [1, 1], the corresponding output Z would be [0, 2]. If \"direction\" is \"LEFT\" with\n X=[1, 2] and S=[1, 2], the corresponding output Y would be [2, 8].\n \n Because this operator supports Numpy-style broadcasting, X\'s and Y\'s shapes are\n not necessarily identical.\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md)." +----f +input: "input" +output: "output" +name: "Cast" +op_type: "Cast" +attribute { + name: "to" + s: "" + type: INT +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "float16" + strings: "int32" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nThe operator casts the elements of a given input tensor to a data type\nspecified by the \'to\' argument and returns an output tensor of the same size in\nthe converted type. The \'to\' argument must be one of the data types specified\nin the \'DataType\' enum field in the TensorProto message.\n\nCasting from string tensor in plain (e.g., \"3.14\" and \"1000\") and scientific numeric representations\n(e.g., \"1e-5\" and \"1E8\") to float types is supported. For example, converting string \"100.5\" to an integer may\nresult 100. There are some string literals reserved for special floating-point values;\n\"+INF\" (and \"INF\"), \"-INF\", and \"NaN\" are positive infinity, negative infinity, and not-a-number, respectively.\nAny string which can exactly match \"+INF\" in a case-insensitive way would be mapped to positive infinite. Similarly,\nthis case-insensitive rule is applied to \"INF\" and \"NaN\". When casting from numeric tensors\nto string tensors, plain floating-point representation (such as \"314.15926\") would be used. \nConverting non-numerical-literal string such as \"Hello World!\" is an undefined behavior. Cases \nof converting string representing floating-point arithmetic value, such as \"2.718\", to INT is an undefined behavior.\n\nConversion from a numerical type to any numerical type is always allowed.\nUser must be aware of precision loss and value change caused by range difference between two types.\nFor example, a 64-bit float 3.1415926459 may be round to a 32-bit float 3.141592. Similarly, converting\nan integer 36 to Boolean may produce 1 because we truncate bits which can\'t be stored in the targeted type.\n" +----f +input: "X" +output: "Y" +name: "CastMap" +op_type: "CastMap" +attribute { + name: "cast_to" + s: "TO_FLOAT" + type: STRING +} +attribute { + name: "map_form" + s: "DENSE" + type: STRING +} +attribute { + name: "max_map" + i: 1 + type: INT +} +attribute { + name: "X-types" + strings: "map(int64,string" + strings: "map(int64,float" + type: STRINGS +} +doc_string: "\n Converts a map to a tensor.
The map key must be an int64 and the values will be ordered\n in ascending order based on this key.
The operator supports dense packing or sparse packing.\n If using sparse packing, the key cannot exceed the max_map-1 value.\n" +----f +input: "X" +output: "Y" +name: "CategoryMapper" +op_type: "CategoryMapper" +attribute { + name: "cats_int64s" + s: "" + type: INTS +} +attribute { + name: "cats_strings" + s: "" + type: STRINGS +} +attribute { + name: "default_int64" + i: -1 + type: INT +} +attribute { + name: "default_string" + s: "_Unused" + type: STRING +} +attribute { + name: "X-types" + strings: "string" + strings: "int64" + type: STRINGS +} +doc_string: "\n Converts strings to integers and vice versa.
\n Two sequences of equal length are used to map between integers and strings,\n with strings and integers at the same index detailing the mapping.
\n Each operator converts either integers to strings or strings to integers, depending \n on which default value attribute is provided. Only one default value attribute\n should be defined.
\n If the string default value is set, it will convert integers to strings.\n If the int default value is set, it will convert strings to integers.\n" +----f +input: "X" +output: "Y" +name: "Ceil" +op_type: "Ceil" +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCeil takes one input data (Tensor) and produces one output data\n(Tensor) where the ceil is, y = ceil(x), is applied to\nthe tensor elementwise.\n" +----f +input: "X" +output: "Y" +name: "Celu" +op_type: "Celu" +attribute { + name: "alpha" + f: 1.0 + type: FLOAT +} +attribute { + name: "X-types" + strings: "float" + type: STRINGS +} +doc_string: "\nContinuously Differentiable Exponential Linear Units:\nPerform the linear unit element-wise on the input tensor X\nusing formula: \n\n```\nmax(0,x) + min(0,alpha*(exp(x/alpha)-1))\n```\n" +----f +input: "input" +input: "min" +input: "max" +output: "output" +name: "Clip" +op_type: "Clip" +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "min-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "max-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nClip operator limits the given input within an interval. The interval is\nspecified by the inputs \'min\' and \'max\'. They default to\nnumeric_limits::lowest() and numeric_limits::max(), respectively.\n" +----f +input: "input" +input: "condition" +output: "output" +name: "Compress" +op_type: "Compress" +attribute { + name: "axis" + s: "" + type: INT +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "condition-types" + strings: "bool" + type: STRINGS +} +doc_string: "\n Selects slices from an input tensor along a given axis where condition evaluates to True for each axis index.\n In case axis is not provided, input is flattened before elements are selected.\n Compress behaves like numpy.compress: https://docs.scipy.org/doc/numpy/reference/generated/numpy.compress.html\n " +----f +input: "inputs" +output: "concat_result" +name: "Concat" +op_type: "Concat" +attribute { + name: "axis" + s: "" + type: INT +} +attribute { + name: "inputs-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "Concatenate a list of tensors into a single tensor. All input tensors must have the same shape, except for the dimension size of the axis to concatenate on." +----f +input: "input_sequence" +output: "concat_result" +name: "ConcatFromSequence" +op_type: "ConcatFromSequence" +attribute { + name: "axis" + s: "" + type: INT +} +attribute { + name: "new_axis" + i: 0 + type: INT +} +attribute { + name: "input_sequence-types" + strings: "seq(bool" + strings: "seq(complex128" + strings: "seq(string" + strings: "seq(float16" + strings: "seq(int64" + strings: "seq(float" + strings: "seq(int32" + strings: "seq(uint32" + strings: "seq(uint16" + strings: "seq(int8" + strings: "seq(int16" + strings: "seq(complex64" + strings: "seq(uint64" + strings: "seq(double" + strings: "seq(uint8" + type: STRINGS +} +doc_string: "\nConcatenate a sequence of tensors into a single tensor.\nAll input tensors must have the same shape, except for the dimension size of the axis to concatenate on.\nBy default \'new_axis\' is 0, the behavior is similar to numpy.concatenate.\nWhen \'new_axis\' is 1, the behavior is similar to numpy.stack.\n" +----f +output: "output" +name: "Constant" +op_type: "Constant" +attribute { + name: "sparse_value" + s: "" + type: SPARSE_TENSOR +} +attribute { + name: "value" + s: "" + type: TENSOR +} +attribute { + name: "value_float" + s: "" + type: FLOAT +} +attribute { + name: "value_floats" + s: "" + type: FLOATS +} +attribute { + name: "value_int" + s: "" + type: INT +} +attribute { + name: "value_ints" + s: "" + type: INTS +} +attribute { + name: "value_string" + s: "" + type: STRING +} +attribute { + name: "value_strings" + s: "" + type: STRINGS +} +doc_string: "\nThis operator produces a constant tensor. Exactly one of the provided attributes, either value, sparse_value,\nor value_* must be specified.\n" +----f +input: "input" +output: "output" +name: "ConstantOfShape" +op_type: "ConstantOfShape" +attribute { + name: "value" + s: "" + type: TENSOR +} +attribute { + name: "input-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nGenerate a tensor with given value and shape.\n" +----f +input: "X" +input: "W" +input: "B" +output: "Y" +name: "Conv" +op_type: "Conv" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "dilations" + s: "" + type: INTS +} +attribute { + name: "group" + i: 1 + type: INT +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "W-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nThe convolution operator consumes an input tensor and a filter, and\ncomputes the output." +----f +input: "x" +input: "w" +input: "x_zero_point" +input: "w_zero_point" +output: "y" +name: "ConvInteger" +op_type: "ConvInteger" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "dilations" + s: "" + type: INTS +} +attribute { + name: "group" + i: 1 + type: INT +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "x-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "w-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "x_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "w_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nThe integer convolution operator consumes an input tensor, its zero-point, a filter, and its zero-point,\nand computes the output. The production MUST never overflow. The accumulation may overflow if and only if in 32 bits.\n" +----f +input: "X" +input: "W" +input: "B" +output: "Y" +name: "ConvTranspose" +op_type: "ConvTranspose" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "dilations" + s: "" + type: INTS +} +attribute { + name: "group" + i: 1 + type: INT +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "output_padding" + s: "" + type: INTS +} +attribute { + name: "output_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "W-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nThe convolution transpose operator consumes an input tensor and a filter,\nand computes the output.\n\nIf the pads parameter is provided the shape of the output is calculated via the following equation:\n\n output_shape[i] = stride[i] * (input_size[i] - 1) + output_padding[i] + ((kernel_shape[i] - 1) * dilations[i] + 1) - pads[start_i] - pads[end_i]\n\noutput_shape can also be explicitly specified in which case pads values are auto generated using these equations:\n\n total_padding[i] = stride[i] * (input_size[i] - 1) + output_padding[i] + ((kernel_shape[i] - 1) * dilations[i] + 1) - output_shape[i]\n If (auto_pads != SAME_UPPER): pads[start_i] = total_padding[i]/2; pads[end_i] = total_padding[i] - (total_padding[i]/2)\n Else: pads[start_i] = total_padding[i] - (total_padding[i]/2); pads[end_i] = (total_padding[i]/2).\n\n " +----f +input: "input" +output: "output" +name: "Cos" +op_type: "Cos" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the cosine of the given input tensor, element-wise.\n" +----f +input: "input" +output: "output" +name: "Cosh" +op_type: "Cosh" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the hyperbolic cosine of the given input tensor element-wise.\n" +----f +input: "x" +input: "axis" +output: "y" +name: "CumSum" +op_type: "CumSum" +attribute { + name: "exclusive" + i: 0 + type: INT +} +attribute { + name: "reverse" + i: 0 + type: INT +} +attribute { + name: "x-types" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +attribute { + name: "axis-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nPerforms cumulative sum of the input elements along the given axis.\nBy default, it will do the sum inclusively meaning the first element is copied as is.\nThrough an `exclusive` attribute, this behavior can change to exclude the first element.\nIt can also perform summation in the opposite direction of the axis. For that, set `reverse` attribute to 1.\n\nExample:\n```\ninput_x = [1, 2, 3]\naxis=0\noutput = [1, 3, 6]\nexclusive=1\noutput = [0, 1, 3]\nexclusive=0\nreverse=1\noutput = [6, 5, 3]\nexclusive=1\nreverse=1\noutput = [5, 3, 0]\n```\n " +----f +input: "input" +output: "output" +name: "DepthToSpace" +op_type: "DepthToSpace" +attribute { + name: "blocksize" + s: "" + type: INT +} +attribute { + name: "mode" + s: "DCR" + type: STRING +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "DepthToSpace rearranges (permutes) data from depth into blocks of spatial data.\nThis is the reverse transformation of SpaceToDepth. More specifically, this op outputs a copy of\nthe input tensor where values from the depth dimension are moved in spatial blocks to the height\nand width dimensions. By default, `mode` = `DCR`.\nIn the DCR mode, elements along the depth dimension from the input tensor are rearranged in the\nfollowing order: depth, column, and then row. The output y is computed from the input x as below:\n\nb, c, h, w = x.shape\n\ntmp = np.reshape(x, [b, blocksize, blocksize, c // (blocksize**2), h, w])\n\ntmp = np.transpose(tmp, [0, 3, 4, 1, 5, 2])\n\ny = np.reshape(tmp, [b, c // (blocksize**2), h * blocksize, w * blocksize])\n\n\nIn the CRD mode, elements along the depth dimension from the input tensor are rearranged in the\nfollowing order: column, row, and the depth. The output y is computed from the input x as below:\n\nb, c, h, w = x.shape\n\ntmp = np.reshape(x, [b, c // (blocksize ** 2), blocksize, blocksize, h, w])\n\ntmp = np.transpose(tmp, [0, 1, 4, 2, 5, 3])\n\ny = np.reshape(tmp, [b, c // (blocksize ** 2), h * blocksize, w * blocksize])\n\n" +----f +input: "x" +input: "x_scale" +input: "x_zero_point" +output: "y" +name: "DequantizeLinear" +op_type: "DequantizeLinear" +attribute { + name: "x-types" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "x_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "x_zero_point-types" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nThe linear dequantization operator. It consumes a quantized tensor, a scale, a zero point to compute the full precision tensor.\nThe dequantization formula is y = (x - x_zero_point) * x_scale. \'x_scale\' and \'x_zero_point\' must have same shape.\n\'x_zero_point\' and \'x\' must have same type. \'x\' and \'y\' must have same shape. In the case of dequantizing int32,\nthere\'s no zero point (zero point is supposed to be 0).\n" +----f +input: "X" +output: "Y" +name: "Det" +op_type: "Det" +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nDet calculates determinant of a square matrix or batches of square matrices.\nDet takes one input tensor of shape `[*, M, M]`, where `*` is zero or more batch dimensions,\nand the inner-most 2 dimensions form square matrices.\nThe output is a tensor of shape `[*]`, containing the determinants of all input submatrices.\ne.g., When the input is 2-D, the output is a scalar(shape is empty: `[]`).\n" +----f +input: "X" +output: "Y" +name: "DictVectorizer" +op_type: "DictVectorizer" +attribute { + name: "int64_vocabulary" + s: "" + type: INTS +} +attribute { + name: "string_vocabulary" + s: "" + type: STRINGS +} +attribute { + name: "X-types" + strings: "map(int64,float" + strings: "map(int64,string" + strings: "map(string,int64" + strings: "map(string,float" + strings: "map(string,double" + strings: "map(int64,double" + type: STRINGS +} +doc_string: "\n Uses an index mapping to convert a dictionary to an array.
\n Given a dictionary, each key is looked up in the vocabulary attribute corresponding to\n the key type. The index into the vocabulary array at which the key is found is then\n used to index the output 1-D tensor \'Y\' and insert into it the value found in the dictionary \'X\'.
\n The key type of the input map must correspond to the element type of the defined vocabulary attribute.\n Therefore, the output array will be equal in length to the index mapping vector parameter.\n All keys in the input dictionary must be present in the index mapping vector.\n For each item in the input dictionary, insert its value in the output array.\n Any keys not present in the input dictionary, will be zero in the output array.
\n For example: if the ``string_vocabulary`` parameter is set to ``[\"a\", \"c\", \"b\", \"z\"]``,\n then an input of ``{\"a\": 4, \"c\": 8}`` will produce an output of ``[4, 8, 0, 0]``.\n " +----f +input: "A" +input: "B" +output: "C" +name: "Div" +op_type: "Div" +attribute { + name: "A-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +attribute { + name: "B-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nPerforms element-wise binary division (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "data" +input: "ratio" +input: "training_mode" +output: "output" +output: "mask" +name: "Dropout" +op_type: "Dropout" +attribute { + name: "seed" + s: "" + type: INT +} +attribute { + name: "data-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "ratio-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "training_mode-types" + strings: "bool" + type: STRINGS +} +doc_string: "\nDropout takes an input floating-point tensor, an optional input ratio (floating-point scalar) and an optional input training_mode (boolean scalar). It produces two tensor outputs,\noutput (floating-point tensor) and mask (optional `Tensor`). If `training_mode` is true then the output Y will be a random dropout;\nNote that this Dropout scales the masked input data by the following equation, so to convert the trained model into inference mode,\nthe user can simply not pass `training_mode` input or set it to false.\n```\noutput = scale * data * mask,\n```\nwhere\n```\nscale = 1. / (1. - ratio).\n```\nThis operator has **optional** inputs/outputs. See [the doc](IR.md) for more details about the representation of optional arguments. An empty string may be used in the place of an actual argument\'s name to indicate a missing argument. Trailing optional arguments (those not followed by an argument that is present) may also be simply omitted.\n" +----f +input: "x" +output: "y" +output: "y_scale" +output: "y_zero_point" +name: "DynamicQuantizeLinear" +op_type: "DynamicQuantizeLinear" +attribute { + name: "x-types" + strings: "float" + type: STRINGS +} +doc_string: "\nA Function to fuse calculation for Scale, Zero Point and FP32->8Bit convertion of FP32 Input data.\nOutputs Scale, ZeroPoint and Quantized Input for a given FP32 Input.\nScale is calculated as:\n```\n y_scale = (max(x) - min(x))/(qmax - qmin)\n * where qmax and qmin are max and min values for quantization range .i.e [0, 255] in case of uint8\n * data range is adjusted to include 0.\n```\nZero point is calculated as:\n```\nintermediate_zero_point = qmin - min(x)/y_scale\ny_zero_point = cast(round(saturate(itermediate_zero_point)))\n* where qmax and qmin are max and min values for quantization range .i.e [0, 255] in case of uint8\n* for saturation, it saturates to [0, 255] if it\'s uint8, or [-127, 127] if it\'s int8. Right now only uint8 is supported.\n* rounding to nearest ties to even.\n```\nData quantization formula is:\n```\ny = saturate (round (x / y_scale) + y_zero_point)\n* for saturation, it saturates to [0, 255] if it\'s uint8, or [-127, 127] if it\'s int8. Right now only uint8 is supported.\n* rounding to nearest ties to even.\n```\n" +----f +input: "Inputs" +output: "Output" +name: "Einsum" +op_type: "Einsum" +attribute { + name: "equation" + s: "" + type: STRING +} +attribute { + name: "Inputs-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nAn einsum of the form ```term1, term2 -> output-term``` produces an output tensor using the following equation\n\n```output[output-term] = reduce-sum( input1[term1] * input2[term] )```\n\nwhere the reduce-sum performs a summation over all the indices occurring in in the input terms (term1, term2)\nthat do not occur in the output-term.\n\nThe Einsum operator evaluates algebraic tensor operations on a sequence of tensors, using the Einstein summation\nconvention. The equation string contains a comma-separated sequence of lower case letters. Each term corresponds to\nan operand tensor, and the characters within the terms correspond to operands dimensions.\n\nThis sequence may be followed by \"->\" to separate the left and right hand side of the equation.\nIf the equation contains \"->\" followed by the right-hand side, the explicit (not classical) form of the Einstein\nsummation is performed, and the right-hand side indices indicate output tensor dimensions. In other cases,\noutput indices are (implicitly) set to the alphabetically sorted sequence of indices appearing exactly once in the\nequation.\n\nWhen a dimension character is repeated in the left-hand side, it represents summation along the dimension.\n\nThe equation may contain ellipsis (\"...\") to enable broadcasting. Ellipsis must indicate a fixed number of dimensions.\nSpecifically, every occurrence of ellipsis in the equation must represent the same number of dimensions.\nThe right-hand side may contain exactly one ellipsis. In implicit mode, the ellipsis dimensions are set to the\nbeginning of the output. The equation string may contain space (U+0020) character.\n" +----f +input: "X" +output: "Y" +name: "Elu" +op_type: "Elu" +attribute { + name: "alpha" + f: 1.0 + type: FLOAT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nElu takes one input data (Tensor) and produces one output data\n(Tensor) where the function `f(x) = alpha * (exp(x) - 1.) for x <\n0`, `f(x) = x for x >= 0`., is applied to the tensor elementwise.\n\n" +----f +input: "A" +input: "B" +output: "C" +name: "Equal" +op_type: "Equal" +attribute { + name: "A-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "B-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `equal` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "input" +output: "output" +name: "Erf" +op_type: "Erf" +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the error function of the given input tensor element-wise.\n" +----f +input: "input" +output: "output" +name: "Exp" +op_type: "Exp" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the exponential of the given input tensor, element-wise.\n" +----f +input: "input" +input: "shape" +output: "output" +name: "Expand" +op_type: "Expand" +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "shape-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nBroadcast the input tensor following the given shape and the broadcast rule.\nThe broadcast rule is similar to numpy.array(input) * numpy.ones(shape):\nDimensions are right alignment;\nTwo corresponding dimension must have the same value, or one of them is equal to 1.\nAlso, this operator is similar to numpy.broadcast_to(input, shape),\nbut the major difference is numpy.broadcast_to() does not allow shape to be smaller than input.size().\nIt is possible that the output.shape is not equal to shape, when some dimensions in shape is equal to 1,\nor the shape.ndim < input.shape.ndim.\n" +----f +input: "input" +output: "output" +name: "EyeLike" +op_type: "EyeLike" +attribute { + name: "dtype" + s: "" + type: INT +} +attribute { + name: "k" + i: 0 + type: INT +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "float16" + strings: "int32" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nGenerate a 2D tensor (matrix) with ones on the diagonal and zeros everywhere else. Only 2D\ntensors are supported, i.e. input T1 must be of rank 2. The shape of the output tensor is the\nsame as the input tensor. The data type can be specified by the \'dtype\' argument. If\n\'dtype\' is not specified, then the type of input tensor is used. By default, the main diagonal\nis populated with ones, but attribute \'k\' can be used to populate upper or lower diagonals.\nThe \'dtype\' argument must be one of the data types specified in the \'DataType\' enum field in the\nTensorProto message and be valid as an output type.\n" +----f +input: "X" +output: "Y" +name: "FeatureVectorizer" +op_type: "FeatureVectorizer" +attribute { + name: "inputdimensions" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n Concatenates input tensors into one continuous output.
\n All input shapes are 2-D and are concatenated along the second dimention. 1-D tensors are treated as [1,C].\n Inputs are copied to the output maintaining the order of the input arguments.
\n All inputs must be integers or floats, while the output will be all floating point values.\n" +----f +input: "input" +output: "output" +name: "Flatten" +op_type: "Flatten" +attribute { + name: "axis" + i: 1 + type: INT +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nFlattens the input tensor into a 2D matrix. If input tensor has shape\n(d_0, d_1, ... d_n) then the output will have shape\n(d_0 X d_1 ... d_(axis-1), d_axis X d_(axis+1) ... X dn).\n" +----f +input: "X" +output: "Y" +name: "Floor" +op_type: "Floor" +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nFloor takes one input data (Tensor) and produces one output data\n(Tensor) where the floor is, y = floor(x), is applied to\nthe tensor elementwise.\n" +----f +input: "X" +input: "W" +input: "R" +input: "B" +input: "sequence_lens" +input: "initial_h" +output: "Y" +output: "Y_h" +name: "GRU" +op_type: "GRU" +attribute { + name: "activation_alpha" + s: "" + type: FLOATS +} +attribute { + name: "activation_beta" + s: "" + type: FLOATS +} +attribute { + name: "activations" + s: "" + type: STRINGS +} +attribute { + name: "clip" + s: "" + type: FLOAT +} +attribute { + name: "direction" + s: "forward" + type: STRING +} +attribute { + name: "hidden_size" + s: "" + type: INT +} +attribute { + name: "linear_before_reset" + i: 0 + type: INT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "W-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "R-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "sequence_lens-types" + strings: "int32" + type: STRINGS +} +attribute { + name: "initial_h-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nComputes an one-layer GRU. This operator is usually supported via some custom\nimplementation such as CuDNN.\n\nNotations:\n\n`X` - input tensor\n\n`z` - update gate\n\n`r` - reset gate\n\n`h` - hidden gate\n\n`t` - time step (t-1 means previous time step)\n\n`W[zrh]` - W parameter weight matrix for update, reset, and hidden gates\n\n`R[zrh]` - R recurrence weight matrix for update, reset, and hidden gates\n\n`Wb[zrh]` - W bias vectors for update, reset, and hidden gates\n\n`Rb[zrh]` - R bias vectors for update, reset, and hidden gates\n\n`WB[zrh]` - W parameter weight matrix for backward update, reset, and hidden gates\n\n`RB[zrh]` - R recurrence weight matrix for backward update, reset, and hidden gates\n\n`WBb[zrh]` - W bias vectors for backward update, reset, and hidden gates\n\n`RBb[zrh]` - R bias vectors for backward update, reset, and hidden gates\n\n`H` - Hidden state\n\n`num_directions` - 2 if direction == bidirectional else 1\n\nActivation functions:\n\n Relu(x) - max(0, x)\n\n Tanh(x) - (1 - e^{-2x})/(1 + e^{-2x})\n\n Sigmoid(x) - 1/(1 + e^{-x})\n\n (NOTE: Below are optional)\n\n Affine(x) - alpha*x + beta\n\n LeakyRelu(x) - x if x >= 0 else alpha * x\n\n ThresholdedRelu(x) - x if x >= alpha else 0\n\n ScaledTanh(x) - alpha*Tanh(beta*x)\n\n HardSigmoid(x) - min(max(alpha*x + beta, 0), 1)\n\n Elu(x) - x if x >= 0 else alpha*(e^x - 1)\n\n Softsign(x) - x/(1 + |x|)\n\n Softplus(x) - log(1 + e^x)\n\nEquations (Default: f=Sigmoid, g=Tanh):\n\n - zt = f(Xt*(Wz^T) + Ht-1*(Rz^T) + Wbz + Rbz)\n\n - rt = f(Xt*(Wr^T) + Ht-1*(Rr^T) + Wbr + Rbr)\n\n - ht = g(Xt*(Wh^T) + (rt (.) Ht-1)*(Rh^T) + Rbh + Wbh) # default, when linear_before_reset = 0\n\n - ht = g(Xt*(Wh^T) + (rt (.) (Ht-1*(Rh^T) + Rbh)) + Wbh) # when linear_before_reset != 0\n\n - Ht = (1 - zt) (.) ht + zt (.) Ht-1\nThis operator has **optional** inputs/outputs. See [the doc](IR.md) for more details about the representation of optional arguments. An empty string may be used in the place of an actual argument\'s name to indicate a missing argument. Trailing optional arguments (those not followed by an argument that is present) may also be simply omitted.\n" +----f +input: "data" +input: "indices" +output: "output" +name: "Gather" +op_type: "Gather" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "indices-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nGiven `data` tensor of rank r >= 1, and `indices` tensor of rank q, gather\nentries of the axis dimension of `data` (by default outer-most one as axis=0) indexed by `indices`, and concatenates\nthem in an output tensor of rank q + (r - 1).\n\naxis = 0 :\n\nLet\nk = indices[i_{0}, ..., i_{q-1}]\nThen\noutput[i_{0}, ..., i_{q-1}, j_{0}, ..., j_{r-2}] = input[k , j_{0}, ..., j_{r-2}]\n\n```\n data = [\n [1.0, 1.2],\n [2.3, 3.4],\n [4.5, 5.7],\n ]\n indices = [\n [0, 1],\n [1, 2],\n ]\n output = [\n [\n [1.0, 1.2],\n [2.3, 3.4],\n ],\n [\n [2.3, 3.4],\n [4.5, 5.7],\n ],\n ]\n```\naxis = 1 :\n\nLet\nk = indices[i_{0}, ..., i_{q-1}]\nThen\noutput[i_{0}, ..., i_{q-1}, j_{0}, ..., j_{r-2}] = input[j_{0}, k, j_{1}, ..., j_{r-2}]\n\n```\n data = [\n [1.0, 1.2, 1.9],\n [2.3, 3.4, 3.9],\n [4.5, 5.7, 5.9],\n ]\n indices = [\n [0, 2],\n ]\n axis = 1,\n output = [\n [\n [1.0, 1.9],\n [2.3, 3.9],\n [4.5, 5.9],\n ],\n ]\n```\n" +----f +input: "data" +input: "indices" +output: "output" +name: "GatherElements" +op_type: "GatherElements" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "indices-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n\nGatherElements takes two inputs `data` and `indices` of the same rank r >= 1\nand an optional attribute `axis` that identifies an axis of `data`\n(by default, the outer-most axis, that is axis 0). It is an indexing operation\nthat produces its output by indexing into the input data tensor at index\npositions determined by elements of the `indices` tensor.\nIts output shape is the same as the shape of `indices` and consists of one value\n(gathered from the `data`) for each element in `indices`.\n\nFor instance, in the 3-D case (r = 3), the output produced is determined\nby the following equations: \n```\n out[i][j][k] = input[index[i][j][k]][j][k] if axis = 0,\n out[i][j][k] = input[i][index[i][j][k]][k] if axis = 1,\n out[i][j][k] = input[i][j][index[i][j][k]] if axis = 2,\n```\n\nThis operator is also the inverse of ScatterElements. It is similar to Torch\'s gather operation.\n\nExample 1:\n```\n data = [\n [1, 2],\n [3, 4],\n ]\n indices = [\n [0, 0],\n [1, 0],\n ]\n axis = 1\n output = [\n [\n [1, 1],\n [4, 3],\n ],\n ]\n```\nExample 2:\n```\n data = [\n [1, 2, 3],\n [4, 5, 6],\n [7, 8, 9],\n ]\n indices = [\n [1, 2, 0],\n [2, 0, 0],\n ]\n axis = 0\n output = [\n [\n [4, 8, 3],\n [7, 2, 3],\n ],\n ]\n```\n" +----f +input: "data" +input: "indices" +output: "output" +name: "GatherND" +op_type: "GatherND" +attribute { + name: "batch_dims" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "indices-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nGiven `data` tensor of rank `r` >= 1, `indices` tensor of rank `q` >= 1, and `batch_dims` integer `b`, this operator gathers \nslices of `data` into an output tensor of rank `q + r - indices_shape[-1] - 1 - b`.\n\n`indices` is an q-dimensional integer tensor, best thought of as a `(q-1)`-dimensional tensor of index-tuples into `data`, \nwhere each element defines a slice of `data`\n\n`batch_dims` (denoted as `b`) is an integer indicating the number of batch dimensions, i.e the leading `b` number of dimensions of \n`data` tensor and `indices` are representing the batches, and the gather starts from the `b+1` dimension. \n\nSome salient points about the inputs\' rank and shape:\n \n1) r >= 1 and q >= 1 are to be honored. There is no dependency condition to be met between ranks `r` and `q`\n\n2) The first `b` dimensions of the shape of `indices` tensor and `data` tensor must be equal.\n\n3) b < min(q, r) is to be honored.\n\n4) The `indices_shape[-1]` should have a value between 1 (inclusive) and rank `r-b` (inclusive) \n\n5) All values in `indices` are expected to be within bounds [-s, s-1] along axis of size `s` (i.e.) `-data_shape[i] <= indices[...,i] <= data_shape[i] - 1`.\n It is an error if any of the index values are out of bounds.\n\nThe output is computed as follows:\n\nThe output tensor is obtained by mapping each index-tuple in the `indices` tensor to the corresponding slice of the input `data`.\n \n1) If `indices_shape[-1] > r-b` => error condition\n\n2) If `indices_shape[-1] == r-b`, since the rank of `indices` is `q`, `indices` can be thought of as `N` `(q-b-1)`-dimensional tensors\n containing 1-D tensors of dimension `r-b`, where `N` is an integer equals to the product of 1 and all the elements in the batch dimensions \n of the indices_shape. Let us think of each such `r-b` ranked tensor as `indices_slice`. Each *scalar value* corresponding to `data[0:b-1,indices_slice]` \n is filled into the corresponding location of the `(q-b-1)`-dimensional tensor to form the `output` tensor (Example 1 below)\n\n3) If `indices_shape[-1] < r-b`, since the rank of `indices` is `q`, `indices` can be thought of as `N` `(q-b-1)`-dimensional tensor\n containing 1-D tensors of dimension `< r-b`. Let us think of each such tensors as `indices_slice`. Each *tensor slice* corresponding \n to `data[0:b-1, indices_slice , :]` is filled into the corresponding location of the `(q-b-1)`-dimensional tensor \n to form the `output` tensor (Examples 2, 3, 4 and 5 below)\n\nThis operator is the inverse of `ScatterND`.\n\n`Example 1`\n\n batch_dims = 0\n\n data = [[0,1],[2,3]] # data_shape = [2, 2]\n\n indices = [[0,0],[1,1]] # indices_shape = [2, 2]\n\n output = [0,3] # output_shape = [2]\n\n`Example 2`\n\n batch_dims = 0\n\n data = [[0,1],[2,3]] # data_shape = [2, 2]\n\n indices = [[1],[0]] # indices_shape = [2, 1]\n\n output = [[2,3],[0,1]] # output_shape = [2, 2]\n\n`Example 3`\n\n batch_dims = 0\n\n data = [[[0,1],[2,3]],[[4,5],[6,7]]] # data_shape = [2, 2, 2]\n\n indices = [[0,1],[1,0]] # indices_shape = [2, 2]\n\n output = [[2,3],[4,5]] # output_shape = [2, 2] \n\n`Example 4`\n\n batch_dims = 0\n\n data = [[[0,1],[2,3]],[[4,5],[6,7]]] # data_shape = [2, 2, 2]\n\n indices = [[[0,1]],[[1,0]]] # indices_shape = [2, 1, 2]\n\n output = [[[2,3]],[[4,5]]] # output_shape = [2, 1, 2] \n\n`Example 5`\n\n batch_dims = 1\n\n data = [[[0,1],[2,3]],[[4,5],[6,7]]] # data_shape = [2, 2, 2]\n\n indices = [[1],[0]] # indices_shape = [2, 1]\n\n output = [[2,3],[4,5]] # output_shape = [2, 2] \n\n\n" +----f +input: "A" +input: "B" +input: "C" +output: "Y" +name: "Gemm" +op_type: "Gemm" +attribute { + name: "alpha" + f: 1.0 + type: FLOAT +} +attribute { + name: "beta" + f: 1.0 + type: FLOAT +} +attribute { + name: "transA" + i: 0 + type: INT +} +attribute { + name: "transB" + i: 0 + type: INT +} +attribute { + name: "A-types" + strings: "int32" + strings: "float16" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +attribute { + name: "B-types" + strings: "int32" + strings: "float16" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +attribute { + name: "C-types" + strings: "int32" + strings: "float16" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "General Matrix multiplication:\nhttps://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms#Level_3\n\nA\' = transpose(A) if transA else A\n\nB\' = transpose(B) if transB else B\n\nCompute Y = alpha * A\' * B\' + beta * C, where input tensor A has shape (M, K) or (K, M),\ninput tensor B has shape (K, N) or (N, K), input tensor C is broadcastable to shape (M, N),\nand output tensor Y has shape (M, N). A will be transposed before doing the\ncomputation if attribute transA is non-zero, same for B and transB.\nThis operator supports **unidirectional broadcasting** (tensor C should be unidirectional broadcastable to tensor A * B); for more details please check [the doc](Broadcasting.md).\nThis operator has **optional** inputs/outputs. See [the doc](IR.md) for more details about the representation of optional arguments. An empty string may be used in the place of an actual argument\'s name to indicate a missing argument. Trailing optional arguments (those not followed by an argument that is present) may also be simply omitted.\n" +----f +input: "X" +output: "Y" +name: "GlobalAveragePool" +op_type: "GlobalAveragePool" +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\n GlobalAveragePool consumes an input tensor X and applies average pooling across\n the values in the same channel. This is equivalent to AveragePool with kernel size\n equal to the spatial dimension of input tensor." +----f +input: "X" +output: "Y" +name: "GlobalLpPool" +op_type: "GlobalLpPool" +attribute { + name: "p" + i: 2 + type: INT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\n GlobalLpPool consumes an input tensor X and applies lp pool pooling across\n the values in the same channel. This is equivalent to LpPool with kernel size\n equal to the spatial dimension of input tensor." +----f +input: "X" +output: "Y" +name: "GlobalMaxPool" +op_type: "GlobalMaxPool" +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\n GlobalMaxPool consumes an input tensor X and applies max pooling across\n the values in the same channel. This is equivalent to MaxPool with kernel size\n equal to the spatial dimension of input tensor." +----f +input: "Inputs" +output: "Outputs" +name: "Gradient" +op_type: "Gradient" +attribute { + name: "xs" + s: "" + type: STRINGS +} +attribute { + name: "y" + s: "" + type: STRING +} +attribute { + name: "zs" + s: "" + type: STRINGS +} +attribute { + name: "Inputs-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nGradient operator computes the partial derivatives of a specific tensor w.r.t.\nsome other tensors. This operator is widely used in gradient-based training\nalgorithms. To illustrate its use, let\'s consider a computation graph,\n\n```\nX -----.\n |\n v\nW --> Conv --> H --> Gemm --> Y\n ^\n |\n Z\n```\n\n, where W and Z are trainable tensors. Note that operators\' attributes are\nomitted for the sake of simplicity. Let dY/dW (dY/dZ) be the gradient of\nY with respect to W (Z). The user can compute gradient by inserting Gradient\noperator to form another graph shown below.\n\n```\nW --> Conv --> H --> Gemm --> Y\n| ^ ^\n| | |\n| X Z\n| | |\n| | .----------\'\n| | | (W/Z/X is the 1st/2nd/3rd input of Gradient as shown in\n| | | \"xs\" followed by \"zs\")\n| v v\n\'---> Gradient(xs=[\"W\", \"Z\"], zs=[\"X\"], y=\"Y\")\n | |\n | \'-----------------------------------> dY/dW (1st output of Gradient)\n |\n \'---------------------------------------> dY/dZ (2nd output of Gradient)\n```\n\nBy definition, the tensor \"y\" is a function of independent variables in \"xs\"\nand \"zs\". Since we only compute the gradient of \"y\" w.r.t. the differentiable\nvariables in \"xs\", this Gradient only outputs dY/dW and dY/dZ. Note that \"H\"\ncannot appear in \"xs\" and \"zs\". The reason is that \"H\" can be determined by\ntensors \"W\" and \"X\" and therefore \"H\" is not an independent variable.\n\nAll outputs are optional. If needed, for example, user can assign an empty\nstring to the 1st output name of that Gradient to skip the generation of dY/dW.\nNote that the concept of optional outputs can also be found in ONNX\'s RNN, GRU,\nand LSTM.\n\nGradient operator can compute derivative against intermediate tensors. For\nexample, the gradient of Y with respect to H can be done via\n\n```\nW --> Conv --> H --> Gemm --> Y\n ^ | ^\n | | |\n X | Z\n .-------\' |\n | .----------\'\n | | (H/Z is the 1st/2nd input of Gradient as shown in \"xs\")\n v v\n Gradient(xs=[\"H\", \"Z\"], y=\"Y\")\n | |\n | \'-----------------------------------> dY/dH (1st output of Gradient)\n |\n \'---------------------------------------> dY/dZ (2nd output of Gradient)\n```\n\nIt is possible to represent high-order differentiation using Gradient operators.\nFor example, given the following linear model:\n\n```\nW --> Gemm --> Y --> Loss --> O\n ^ ^\n | |\n X L\n```\n\nTo compute the 2nd order derivative of O with respect to W (denoted by\nd^2O/dW^2), one can do\n\n```\nW --> Gemm --> Y --> Loss --> O\n| ^ ^\n| | |\n| X .------------L\n| | | |\n| | | v\n+------+-+> Gradient(xs=[\"X\", \"W\"], zs=[\"L\"], y=\"O\") ---> dO/dX (1st output of Gradient)\n| | | |\n| | | \'---> dO/dW (2nd output of Gradient)\n| v v\n\'---> Gradient(xs=[\"X\", \"W\"], zs=[\"L\"], y=\"dO/dW\") ---> d(dO/dW)dX (1st output of\n | Gradient)\n |\n |\n \'---> d^2O/dW^2 (2nd output of Gradient)\n```\n\nThe tensors named in attributes \"xs\", \"zs\", and \"y\" define the differentiated\ncomputation graph, and the inputs to Gradient node define the values at\nwhich the gradient is computed. We can feed different tensors to the identified\ngraph. For example, one can compute the gradient of Y with respect to H at \na specific value of H, H_1, by providing that value as an input to the Gradient\nnode.\n\n```\nW --> Conv --> H --> Gemm --> Y\n ^ ^\n | |\n X Z\n\n Z_1 (2nd input of Gradient)\n |\n v\nH_1 --> Gradient(xs=[\"H\", \"Z\"], y=\"Y\") ---> dY/dH when H = H_1 and Y = Y_1.\n |\n \'------------------------------> dY/dZ (2nd output of Gradient)\n```\n\nWhen the inputs of Gradient are the tensors named in \"xs\" and \"zs\", the\ncomputation can be optimized. More specifically, intermediate variables in\nforward pass can be reused if the gradient is computed via reverse-mode\nauto-differentiation.\n\n" +----f +input: "Inputs" +output: "Outputs" +name: "GraphCall" +op_type: "GraphCall" +attribute { + name: "graph_name" + s: "" + type: STRING +} +attribute { + name: "Inputs-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nThe GraphCall operator invokes a graph inside TrainingInfoProto\'s\nalgorithm field. The GraphCall inputs and outputs are bound to those of\ninvoked graph by position. If a graph input has an initializer, that input\nis considered optional. All graph outputs are optional.\n\nBelow Python syntax is used for describing dictionary and list.\n\nAssume that ModelProto\'s graph field has\n- name: \"MyInferenceGraph\"\n- input: [\"X\", \"W\", \"Z\"]\n- initializer: [W]\n- output: [\"Y\"]\n\nas visualized below for inference.\n\n```\nX -----.\n |\n v\nW --> Conv --> H --> Gemm --> Y\n ^\n |\n Z\n```\n\nAssume that the training algorithm contains\n\n- inputs: [\"X_1\", \"Z_1\", \"C\"]\n- initializer: [T]\n- outputs: [\"W_new\"]\n\nwith a dictionary\n\n- update_binding: {\"W\": \"W_new\", \"T\": \"T_new\"}\n\nInside the training algorithm graph, one can invoke the inference\ngraph via adding a GraphCall node with\n\n- inputs: [\"X_1\", \"W\", Z_1\"]\n- outputs: [\"Y_1\"]\n- an attribute graph_name=\"MyInferenceGraph\",\n\nThe initializers, \"W\" and \"T\" in this case, in update_binding\nare considered globally-visible and mutable variables, which\ncan be used as inputs of operators in the training graph.\n\nAn example training algorithm graph may look like\n\n```\n.-------- W (a global and mutable variable from\n| | the inference graph)\n| |\n| .-----\'-----------.\n| | |\n| | v\n| | .-- X_1 --> GraphCall(graph_name=\"MyInferenceGraph\")\n| | | | |\n| | | | |\n| | | Z_1 -----\' |\n| | | | V\n| | | | Y_1 ---> Loss ---> O\n| | | | ^\n| | | | |\n| | `--. | C\n| | | | |\n| | | | .----------------\'\n| | | | |\n| | v v v\n| `--> Gradient(xs=[\"W\"], zs=[\"X_1\", \"Z_1\", \"C\"], y=\"O\")\n| |\n| v\n| dO_dW (gradient of W) 1 (a scalar one)\n| | |\n| V v\n| Div <--- T ------------> Add ---> T_new\n| | (T is the number of training iterations.\n| | T is also globally visible and mutable.)\n| v\n`-----> Sub ----> W_new\n```\n\nwhere Loss is a dummy node which computes the minimized objective function.\n\nThe variable \"W\" is an optional input in the called graph.\nIf the user omits it, the input list of GraphCall becomes [\"X_1\", \"\", \"Z_1\"].\nIn this case, from the view of computation graph, the Conv operator invoked by\nGraphCall\'s may be still connected the global \"W\" variable and therefore the\nstructure of the computation graph is unchanged.\n" +----f +input: "A" +input: "B" +output: "C" +name: "Greater" +op_type: "Greater" +attribute { + name: "A-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "B-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `greater` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "A" +input: "B" +output: "C" +name: "GreaterOrEqual" +op_type: "GreaterOrEqual" +attribute { + name: "A-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "B-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `greater_equal` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "X" +output: "Y" +name: "HardSigmoid" +op_type: "HardSigmoid" +attribute { + name: "alpha" + f: 0.2 + type: FLOAT +} +attribute { + name: "beta" + f: 0.5 + type: FLOAT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nHardSigmoid takes one input data (Tensor) and produces one output data\n(Tensor) where the HardSigmoid function, y = max(0, min(1, alpha * x + beta)),\nis applied to the tensor elementwise.\n" +----f +input: "input" +output: "output" +name: "Hardmax" +op_type: "Hardmax" +attribute { + name: "axis" + i: 1 + type: INT +} +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nThe operator computes the hardmax (1 for the first maximum value, and 0 for all others) values for each layer in the batch\n of the given input.\n\nThe input does not need to explicitly be a 2D vector; rather, it will be\ncoerced into one. For an arbitrary n-dimensional tensor\ninput \\in [a_0, a_1, ..., a_{k-1}, a_k, ..., a_{n-1}] and k is\nthe axis provided, then input will be coerced into a 2-dimensional tensor with\ndimensions [a_0 * ... * a_{k-1}, a_k * ... * a_{n-1}]. For the default\ncase where axis=1, this means the input tensor will be coerced into a 2D tensor\nof dimensions [a_0, a_1 * ... * a_{n-1}], where a_0 is often the batch size.\nIn this situation, we must have a_0 = N and a_1 * ... * a_{n-1} = D.\nEach of these dimensions must be matched correctly, or else the operator\nwill throw errors. The output tensor has the same shape\nand contains the hardmax values of the corresponding input.\n" +----f +input: "input" +output: "output" +name: "Identity" +op_type: "Identity" +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "Identity operator" +----f +input: "cond" +output: "outputs" +name: "If" +op_type: "If" +attribute { + name: "else_branch" + s: "" + type: GRAPH +} +attribute { + name: "then_branch" + s: "" + type: GRAPH +} +attribute { + name: "cond-types" + strings: "bool" + type: STRINGS +} +doc_string: "If conditional" +----f +input: "X" +output: "Y" +name: "Imputer" +op_type: "Imputer" +attribute { + name: "imputed_value_floats" + s: "" + type: FLOATS +} +attribute { + name: "imputed_value_int64s" + s: "" + type: INTS +} +attribute { + name: "replaced_value_float" + f: 0.0 + type: FLOAT +} +attribute { + name: "replaced_value_int64" + i: 0 + type: INT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n Replaces inputs that equal one value with another, leaving all other elements alone.
\n This operator is typically used to replace missing values in situations where they have a canonical\n representation, such as -1, 0, NaN, or some extreme value.
\n One and only one of imputed_value_floats or imputed_value_int64s should be defined -- floats if the input tensor\n holds floats, integers if the input tensor holds integers. The imputed values must all fit within the\n width of the tensor element type. One and only one of the replaced_value_float or replaced_value_int64 should be defined,\n which one depends on whether floats or integers are being processed.
\n The imputed_value attribute length can be 1 element, or it can have one element per input feature.
In other words, if the input tensor has the shape [*,F], then the length of the attribute array may be 1 or F. If it is 1, then it is broadcast along the last dimension and applied to each feature.\n" +----f +input: "input" +input: "scale" +input: "B" +output: "output" +name: "InstanceNormalization" +op_type: "InstanceNormalization" +attribute { + name: "epsilon" + f: 1e-05 + type: FLOAT +} +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "scale-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCarries out instance normalization as described in the paper\nhttps://arxiv.org/abs/1607.08022.\n\ny = scale * (x - mean) / sqrt(variance + epsilon) + B,\nwhere mean and variance are computed per instance per channel.\n\n" +----f +input: "X" +output: "Y" +name: "IsInf" +op_type: "IsInf" +attribute { + name: "detect_negative" + i: 1 + type: INT +} +attribute { + name: "detect_positive" + i: 1 + type: INT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + type: STRINGS +} +doc_string: "Map infinity to true and other values to false." +----f +input: "X" +output: "Y" +name: "IsNaN" +op_type: "IsNaN" +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "Returns which elements of the input are NaN." +----f +input: "X" +output: "Y" +name: "LRN" +op_type: "LRN" +attribute { + name: "alpha" + f: 0.0001 + type: FLOAT +} +attribute { + name: "beta" + f: 0.75 + type: FLOAT +} +attribute { + name: "bias" + f: 1.0 + type: FLOAT +} +attribute { + name: "size" + s: "" + type: INT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nLocal Response Normalization proposed in the [AlexNet paper](https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf).\nIt normalizes over local input regions.\nThe local region is defined across the channels. For an element X[n, c, d1, ..., dk] in a tensor\nof shape (N x C x D1 x D2, ..., Dk), its region is\n{X[n, i, d1, ..., dk] | max(0, c - floor((size - 1) / 2)) <= i <= min(C - 1, c + ceil((size - 1) / 2))}.\n\nsquare_sum[n, c, d1, ..., dk] = sum(X[n, i, d1, ..., dk] ^ 2),\nwhere max(0, c - floor((size - 1) / 2)) <= i <= min(C - 1, c + ceil((size - 1) / 2)).\n\nY[n, c, d1, ..., dk] = X[n, c, d1, ..., dk] / (bias + alpha / size * square_sum[n, c, d1, ..., dk] ) ^ beta\n" +----f +input: "X" +input: "W" +input: "R" +input: "B" +input: "sequence_lens" +input: "initial_h" +input: "initial_c" +input: "P" +output: "Y" +output: "Y_h" +output: "Y_c" +name: "LSTM" +op_type: "LSTM" +attribute { + name: "activation_alpha" + s: "" + type: FLOATS +} +attribute { + name: "activation_beta" + s: "" + type: FLOATS +} +attribute { + name: "activations" + s: "" + type: STRINGS +} +attribute { + name: "clip" + s: "" + type: FLOAT +} +attribute { + name: "direction" + s: "forward" + type: STRING +} +attribute { + name: "hidden_size" + s: "" + type: INT +} +attribute { + name: "input_forget" + i: 0 + type: INT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "W-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "R-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "sequence_lens-types" + strings: "int32" + type: STRINGS +} +attribute { + name: "initial_h-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "initial_c-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "P-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nComputes an one-layer LSTM. This operator is usually supported via some\ncustom implementation such as CuDNN.\n\nNotations:\n\n`X` - input tensor\n\n`i` - input gate\n\n`o` - output gate\n\n`f` - forget gate\n\n`c` - cell gate\n\n`t` - time step (t-1 means previous time step)\n\n`W[iofc]` - W parameter weight matrix for input, output, forget, and cell gates\n\n`R[iofc]` - R recurrence weight matrix for input, output, forget, and cell gates\n\n`Wb[iofc]` - W bias vectors for input, output, forget, and cell gates\n\n`Rb[iofc]` - R bias vectors for input, output, forget, and cell gates\n\n`P[iof]` - P peephole weight vector for input, output, and forget gates\n\n`WB[iofc]` - W parameter weight matrix for backward input, output, forget, and cell gates\n\n`RB[iofc]` - R recurrence weight matrix for backward input, output, forget, and cell gates\n\n`WBb[iofc]` - W bias vectors for backward input, output, forget, and cell gates\n\n`RBb[iofc]` - R bias vectors for backward input, output, forget, and cell gates\n\n`PB[iof]` - P peephole weight vector for backward input, output, and forget gates\n\n`H` - Hidden state\n\n`num_directions` - 2 if direction == bidirectional else 1\n\nActivation functions:\n\n Relu(x) - max(0, x)\n\n Tanh(x) - (1 - e^{-2x})/(1 + e^{-2x})\n\n Sigmoid(x) - 1/(1 + e^{-x})\n\n (NOTE: Below are optional)\n\n Affine(x) - alpha*x + beta\n\n LeakyRelu(x) - x if x >= 0 else alpha * x\n\n ThresholdedRelu(x) - x if x >= alpha else 0\n\n ScaledTanh(x) - alpha*Tanh(beta*x)\n\n HardSigmoid(x) - min(max(alpha*x + beta, 0), 1)\n\n Elu(x) - x if x >= 0 else alpha*(e^x - 1)\n\n Softsign(x) - x/(1 + |x|)\n\n Softplus(x) - log(1 + e^x)\n\nEquations (Default: f=Sigmoid, g=Tanh, h=Tanh):\n\n - it = f(Xt*(Wi^T) + Ht-1*(Ri^T) + Pi (.) Ct-1 + Wbi + Rbi)\n\n - ft = f(Xt*(Wf^T) + Ht-1*(Rf^T) + Pf (.) Ct-1 + Wbf + Rbf)\n\n - ct = g(Xt*(Wc^T) + Ht-1*(Rc^T) + Wbc + Rbc)\n\n - Ct = ft (.) Ct-1 + it (.) ct\n\n - ot = f(Xt*(Wo^T) + Ht-1*(Ro^T) + Po (.) Ct + Wbo + Rbo)\n\n - Ht = ot (.) h(Ct)\nThis operator has **optional** inputs/outputs. See [the doc](IR.md) for more details about the representation of optional arguments. An empty string may be used in the place of an actual argument\'s name to indicate a missing argument. Trailing optional arguments (those not followed by an argument that is present) may also be simply omitted.\n" +----f +input: "X" +output: "Y" +name: "LabelEncoder" +op_type: "LabelEncoder" +attribute { + name: "default_float" + f: -0.0 + type: FLOAT +} +attribute { + name: "default_int64" + i: -1 + type: INT +} +attribute { + name: "default_string" + s: "_Unused" + type: STRING +} +attribute { + name: "keys_floats" + s: "" + type: FLOATS +} +attribute { + name: "keys_int64s" + s: "" + type: INTS +} +attribute { + name: "keys_strings" + s: "" + type: STRINGS +} +attribute { + name: "values_floats" + s: "" + type: FLOATS +} +attribute { + name: "values_int64s" + s: "" + type: INTS +} +attribute { + name: "values_strings" + s: "" + type: STRINGS +} +attribute { + name: "X-types" + strings: "string" + strings: "float" + strings: "int64" + type: STRINGS +} +doc_string: "\n Maps each element in the input tensor to another value.
\n The mapping is determined by the two parallel attributes, \'keys_*\' and\n \'values_*\' attribute. The i-th value in the specified \'keys_*\' attribute\n would be mapped to the i-th value in the specified \'values_*\' attribute. It\n implies that input\'s element type and the element type of the specified\n \'keys_*\' should be identical while the output type is identical to the\n specified \'values_*\' attribute. If an input element can not be found in the\n specified \'keys_*\' attribute, the \'default_*\' that matches the specified\n \'values_*\' attribute may be used as its output value.
\n Let\'s consider an example which maps a string tensor to an integer tensor.\n Assume and \'keys_strings\' is [\"Amy\", \"Sally\"], \'values_int64s\' is [5, 6],\n and \'default_int64\' is \'-1\'. The input [\"Dori\", \"Amy\", \"Amy\", \"Sally\",\n \"Sally\"] would be mapped to [-1, 5, 5, 6, 6].
\n Since this operator is an one-to-one mapping, its input and output shapes\n are the same. Notice that only one of \'keys_*\'/\'values_*\' can be set.
\n For key look-up, bit-wise comparison is used so even a float NaN can be\n mapped to a value in \'values_*\' attribute.
\n" +----f +input: "X" +output: "Y" +name: "LeakyRelu" +op_type: "LeakyRelu" +attribute { + name: "alpha" + f: 0.01 + type: FLOAT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nLeakyRelu takes input data (Tensor) and an argument alpha, and produces one\noutput data (Tensor) where the function `f(x) = alpha * x for x < 0`,\n`f(x) = x for x >= 0`, is applied to the data tensor elementwise.\n" +----f +input: "A" +input: "B" +output: "C" +name: "Less" +op_type: "Less" +attribute { + name: "A-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "B-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `less` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "A" +input: "B" +output: "C" +name: "LessOrEqual" +op_type: "LessOrEqual" +attribute { + name: "A-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "B-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `less_equal` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "X" +output: "Y" +output: "Z" +name: "LinearClassifier" +op_type: "LinearClassifier" +attribute { + name: "classlabels_ints" + s: "" + type: INTS +} +attribute { + name: "classlabels_strings" + s: "" + type: STRINGS +} +attribute { + name: "coefficients" + s: "" + type: FLOATS +} +attribute { + name: "intercepts" + s: "" + type: FLOATS +} +attribute { + name: "multi_class" + i: 0 + type: INT +} +attribute { + name: "post_transform" + s: "NONE" + type: STRING +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n Linear classifier\n" +----f +input: "X" +output: "Y" +name: "LinearRegressor" +op_type: "LinearRegressor" +attribute { + name: "coefficients" + s: "" + type: FLOATS +} +attribute { + name: "intercepts" + s: "" + type: FLOATS +} +attribute { + name: "post_transform" + s: "NONE" + type: STRING +} +attribute { + name: "targets" + i: 1 + type: INT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n Generalized linear regression evaluation.
\n If targets is set to 1 (default) then univariate regression is performed.
\n If targets is set to M then M sets of coefficients must be passed in as a sequence\n and M results will be output for each input n in N.
\n The coefficients array is of length n, and the coefficients for each target are contiguous.\n Intercepts are optional but if provided must match the number of targets.\n" +----f +input: "input" +output: "output" +name: "Log" +op_type: "Log" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the natural log of the given input tensor, element-wise.\n" +----f +input: "input" +output: "output" +name: "LogSoftmax" +op_type: "LogSoftmax" +attribute { + name: "axis" + i: 1 + type: INT +} +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nThe operator computes the logsoftmax (log of softmax) values for each layer in the batch\n of the given input.\n\nThe input does not need to explicitly be a 2D vector; rather, it will be\ncoerced into one. For an arbitrary n-dimensional tensor\ninput \\in [a_0, a_1, ..., a_{k-1}, a_k, ..., a_{n-1}] and k is\nthe axis provided, then input will be coerced into a 2-dimensional tensor with\ndimensions [a_0 * ... * a_{k-1}, a_k * ... * a_{n-1}]. For the default\ncase where axis=1, this means the input tensor will be coerced into a 2D tensor\nof dimensions [a_0, a_1 * ... * a_{n-1}], where a_0 is often the batch size.\nIn this situation, we must have a_0 = N and a_1 * ... * a_{n-1} = D.\nEach of these dimensions must be matched correctly, or else the operator\nwill throw errors. The output tensor has the same shape\nand contains the logsoftmax values of the corresponding input.\n" +----f +input: "M" +input: "cond" +input: "v_initial" +output: "v_final_and_scan_outputs" +name: "Loop" +op_type: "Loop" +attribute { + name: "body" + s: "" + type: GRAPH +} +attribute { + name: "M-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "cond-types" + strings: "bool" + type: STRINGS +} +attribute { + name: "v_initial-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nGeneric Looping construct. This loop has multiple termination conditions:\n\n1) Trip count. Iteration count specified at runtime. Set by\n specifying the input M. Optional. Set to empty string to omit.\n Note that a static trip count (specified at graph construction time) can be\n specified by passing in a constant node for input M.\n2) Loop termination condition. This is an input to the op that determines\n whether to run the first iteration and also a loop-carried dependency for\n the body graph. The body graph must yield a value for the condition variable,\n whether this input is provided or not.\n\nThis table summarizes the operating modes of this operator with equivalent\nC-style code:\n\n Operator inputs defined as (max_trip_count, condition_var).\n\n input (\"\", \"\"):\n for (int i=0; ; ++i) {\n cond = ... // Note this value is ignored, but is required in the body\n }\n\n input (\"\", cond) // Note this is analogous to a while loop\n bool cond = ...;\n for (int i=0; cond; ++i) {\n cond = ...;\n }\n\n input (\"\", 1) // Note this is analogous to a do-while loop\n bool cond = true\n for (int i=0; cond; ++i) {\n cond = ...;\n }\n\n input (trip_count, \"\") // Note this is analogous to a for loop\n int trip_count = ...\n for (int i=0; i < trip_count; ++i) {\n cond = ...; // ignored\n }\n\n input (trip_count, cond)\n int trip_count = ...;\n bool cond = ...;\n for (int i=0; i < trip_count && cond; ++i) {\n cond = ...;\n }\n\n\n*Sample usage - cond as well as trip count*\n\n graph predict-net {\n %a = Constant[value = ]()\n %b = Constant[value = ]()\n %keepgoing = Constant[value = ]()\n %max_trip_count = Constant[value = ]()\n %keepgoing_out, %b_out, %user_defined_vals = Loop[body = ](%max_trip_count, %keepgoing, %b)\n return\n }\n\n graph body-net (\n %i[INT32, scalar] // iteration number\n %keepgoing_in[BOOL, scalar] // incoming loop-termination-condition; not used\n %b_in[INT32, scalar] // incoming value of loop-carried-dependency b\n ) {\n %my_local = Add(%a, %b_in)\n %b_out = Sub(%a, %b_in) // outgoing value of loop-carried-dependency b\n %keepgoing_out = Greater(%my_local, %b_out) // outgoing loop-termination-condition\n %user_defined_val = Add(%b_in, %b_in) // scan-output value to be accumulated\n return %keepgoing_out, %b_out, %user_defined_val\n }\n\n*Sample equivalent C code*\n\n {\n /* User-defined code (enclosing scope) */\n int a = 3, b = 6;\n bool keepgoing = true; // Analogous to input cond\n /* End user-defined code */\n\n /* Implicitly-defined code */\n const int max_trip_count = 10; // Analogous to input M\n int user_defined_vals[]; // Imagine this is resizable\n /* End implicitly-defined code */\n /* initialize loop-carried variables and scan-output variables */\n bool keepgoing_out = keepgoing\n int b_out = b\n\n for (int i=0; i < max_trip_count && keepgoing_out; ++i) {\n /* Implicitly-defined code: bind actual parameter values\n to formal parameter variables of loop-body */\n bool keepgoing_in = keepgoing_out; \n bool b_in = b_out;\n\n /* User-defined code (loop body) */\n int my_local = a + b_in; // Reading value \"a\" from the enclosing scope is fine\n b_out = a - b_in;\n keepgoing_out = my_local > b_out; \n user_defined_val = b_in + b_in; // b_in and b_out are different variables\n /* End user-defined code */\n\n /* Implicitly defined-code */\n user_defined_vals[i] = user_defined_val // accumulate scan-output values\n }\n // int t = my_local; // Can\'t do this. my_local is not accessible here.\n\n // The values below are bound to the output variables of the loop and therefore accessible\n // b_out; user_defined_vals; keepgoing_out;\n }\n\nThere are several things of note in this code snippet:\n\n1) Values from the enclosing scope (i.e. variable \"a\" here) are in scope and can\n be referenced in the inputs of the loop.\n2) Any values computed in the loop body that needs to be used in a subsequent\n iteration or after the loop are modelled using a pair of variables in the loop-body,\n consisting of an input variable (eg., b_in) and an output variable (eg., b_out).\n These are referred to as loop-carried dependences. The loop operation node\n supplies the input value of the input variable for the first iteration, and\n returns the output value of the output variable produced by the final\n iteration.\n3) Scan_output variables are used to implicitly concatenate values computed across\n all the iterations. In the above example, the value of user_defined_val computed\n over all iterations are concatenated and returned as the value of user_defined_vals\n after the loop.\n4) Values created in the body cannot be accessed in the enclosing scope,\n except using the mechanism described above.\n\nNote that the semantics of this op support \"diagonal\" or \"wavefront\" execution.\n(See Step 3 here for an example:\nhttps://devblogs.nvidia.com/optimizing-recurrent-neural-networks-cudnn-5/).\nFrontends should emit multi-layer RNNs as a series of While operators (with\ntime being the inner looping dimension), with each successive layer consuming\nthe scan_outputs from the previous layer, possibly going through several\npoint-wise operators (e.g. dropout, residual connections, linear layer).\n" +----f +input: "input" +output: "output" +name: "LpNormalization" +op_type: "LpNormalization" +attribute { + name: "axis" + i: -1 + type: INT +} +attribute { + name: "p" + i: 2 + type: INT +} +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nGiven a matrix, apply Lp-normalization along the provided axis.\n" +----f +input: "X" +output: "Y" +name: "LpPool" +op_type: "LpPool" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "p" + i: 2 + type: INT +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\n LpPool consumes an input tensor X and applies Lp pooling across\n the tensor according to kernel sizes, stride sizes, and pad lengths.\n Lp pooling consisting of computing the Lp norm on all values of a subset\n of the input tensor according to the kernel size and downsampling the\n data into the output tensor Y for further processing." +----f +input: "A" +input: "B" +output: "Y" +name: "MatMul" +op_type: "MatMul" +attribute { + name: "A-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +attribute { + name: "B-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nMatrix product that behaves like numpy.matmul: https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.matmul.html\n" +----f +input: "A" +input: "B" +input: "a_zero_point" +input: "b_zero_point" +output: "Y" +name: "MatMulInteger" +op_type: "MatMulInteger" +attribute { + name: "A-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "B-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "a_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "b_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nMatrix product that behaves like numpy.matmul: https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.matmul.html.\nThe production MUST never overflow. The accumulation may overflow if and only if in 32 bits.\n" +----f +input: "data_0" +output: "max" +name: "Max" +op_type: "Max" +attribute { + name: "data_0-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nElement-wise max of each of the input tensors (with Numpy-style broadcasting support).\nAll inputs and outputs must have the same data type.\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "X" +output: "Y" +output: "Indices" +name: "MaxPool" +op_type: "MaxPool" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "ceil_mode" + i: 0 + type: INT +} +attribute { + name: "dilations" + s: "" + type: INTS +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "storage_order" + i: 0 + type: INT +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "int8" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n MaxPool consumes an input tensor X and applies max pooling across\n the tensor according to kernel sizes, stride sizes, and pad lengths.\n max pooling consisting of computing the max on all values of a\n subset of the input tensor according to the kernel size and downsampling the\n data into the output tensor Y for further processing. The output spatial shape will be following:\n ```\n output_spatial_shape[i] = floor((input_spatial_shape[i] + pad_shape[i] - ((kernel_spatial_shape[i] - 1) * dilations[i] + 1)) / strides_spatial_shape[i] + 1)\n ```\n or\n ```\n output_spatial_shape[i] = ceil((input_spatial_shape[i] + pad_shape[i] - ((kernel_spatial_shape[i] - 1) * dilations[i] + 1)) / strides_spatial_shape[i] + 1)\n ```\n if ceil_mode is enabled\n\n ```\n * pad_shape[i] is sum of pads along axis i\n ```\n\n `auto_pad` is a DEPRECATED attribute. If you are using them currently, the output spatial shape will be following:\n ```\n VALID: output_spatial_shape[i] = ceil((input_spatial_shape[i] - ((kernel_spatial_shape[i] - 1) * dilations[i] + 1) + 1) / strides_spatial_shape[i])\n SAME_UPPER or SAME_LOWER: output_spatial_shape[i] = ceil(input_spatial_shape[i] / strides_spatial_shape[i])\n ```\n And pad shape will be following if `SAME_UPPER` or `SAME_LOWER`:\n ```\n pad_shape[i] = (output_spatial_shape[i] - 1) * strides_spatial_shape[i] + ((kernel_spatial_shape[i] - 1) * dilations[i] + 1) - input_spatial_shape[i]\n ```\n The output of each pooling window is maximum number of elements exclude pad. \n " +----f +input: "X" +input: "rois" +output: "Y" +name: "MaxRoiPool" +op_type: "MaxRoiPool" +attribute { + name: "pooled_shape" + s: "" + type: INTS +} +attribute { + name: "spatial_scale" + f: 1.0 + type: FLOAT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "rois-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\n ROI max pool consumes an input tensor X and region of interests (RoIs) to\n apply max pooling across each RoI, to produce output 4-D tensor of shape\n (num_rois, channels, pooled_shape[0], pooled_shape[1])." +----f +input: "X" +input: "I" +input: "output_shape" +output: "output" +name: "MaxUnpool" +op_type: "MaxUnpool" +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "I-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "output_shape-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nMaxUnpool essentially computes the partial inverse of the MaxPool op.\n The input information to this op is typically the the output information from a MaxPool op. The first\n input tensor X is the tensor that needs to be unpooled, which is typically the pooled tensor (first output)\n from MaxPool. The second input tensor, I, contains the indices to the (locally maximal) elements corrsponding\n to the elements in the first input tensor X. Input tensor I is typically the second output of the MaxPool op.\n The third (optional) input is a tensor that specifies the output size of the unpooling operation.\n\nMaxUnpool is intended to do \'partial\' inverse of the MaxPool op. \'Partial\' because all the non-maximal\n values from the original input to MaxPool are set to zero in the output of the MaxUnpool op. Pooling\n the result of an unpooling operation should give back the original input to the unpooling op.\n\nMaxUnpool can produce the same output size for several input sizes, which makes unpooling op ambiguous.\n The third input argument, output_size, is meant to disambiguate the op and produce output tensor of\n known/predictable size.\n\nIn addition to the inputs, MaxUnpool takes three attributes, namely kernel_shape, strides, and pads,\n which define the exact unpooling op. The attributes typically have the same values as the corrsponding\n pooling op that the unpooling op is trying to invert.\n" +----f +input: "data_0" +output: "mean" +name: "Mean" +op_type: "Mean" +attribute { + name: "data_0-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nElement-wise mean of each of the input tensors (with Numpy-style broadcasting support).\nAll inputs and outputs must have the same data type.\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "X" +output: "Y" +name: "MeanVarianceNormalization" +op_type: "MeanVarianceNormalization" +attribute { + name: "axes" + ints: 0 + ints: 2 + ints: 3 + type: INTS +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\n A MeanVarianceNormalization Function: Perform mean variance normalization\n on the input tensor X using formula:
``` (X-EX)/sqrt(E(X-EX)^2) ```\n" +----f +input: "data_0" +output: "min" +name: "Min" +op_type: "Min" +attribute { + name: "data_0-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nElement-wise min of each of the input tensors (with Numpy-style broadcasting support).\nAll inputs and outputs must have the same data type.\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "A" +input: "B" +output: "C" +name: "Mod" +op_type: "Mod" +attribute { + name: "fmod" + i: 0 + type: INT +} +attribute { + name: "A-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "B-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\n Performs element-wise binary modulus (with Numpy-style broadcasting support). \n The sign of the remainder is the same as that of the Divisor.\n \n Mod operator can also behave like C fmod() or numpy.fmod. In this case, the sign of the remainder however, will be the same as the Dividend \n (in contrast to integer mod). To force a behavior like numpy.fmod() an \'fmod\' Attribute is provided.\n This attribute is set to 0 by default causing the behavior to be like integer mod. \n Setting this attribute to 1 causes the remainder to be calculated similar to that of numpy.fmod().\n\n If the input type is floating point, then `fmod` attribute must be set to 1.\n \n In case of dividend being zero, the results will be platform dependent.\n\n This operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "R" +input: "T" +input: "inputs" +output: "outputs" +name: "Momentum" +op_type: "Momentum" +attribute { + name: "alpha" + s: "" + type: FLOAT +} +attribute { + name: "beta" + s: "" + type: FLOAT +} +attribute { + name: "mode" + s: "" + type: STRING +} +attribute { + name: "norm_coefficient" + s: "" + type: FLOAT +} +attribute { + name: "R-types" + strings: "float" + strings: "double" + type: STRINGS +} +attribute { + name: "T-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "inputs-types" + strings: "float" + strings: "double" + type: STRINGS +} +doc_string: "\n Compute one iteration of stochastic gradient update with momentum.\n This operator can conduct the optimization of multiple tensor variables.\n\n Let\'s define the behavior of this operator. As you can imagine, SG with momentum requires\n several parameters:\n \n - The learning-rate \"R\".\n - The update count \"T\". That is, the number of conducted training iterations. It should\n be zero in the first training iteration.\n - A L2-norm regularization coefficient \"norm_coefficient\".\n - A decay coefficient of previous accumulated gradient (i.e., momentum) \"alpha\".\n - The scaling coefficient of current gradient \"beta\".\n - An attribute to choose either standard momentum or Nesterov\'s momentum \"mode\" should\n be used.\n\n For the sake of simplicity, assume that there is only one tensor (called \"X\") to be optimized.\n Other necessary inputs are \"X\"\'s gradient (called \"G\") and \"X\"\'s momentum (called \"V\"). This\n Momentum operator maps all these inputs to the new value of \"X\" (called \"X_new\") and its new\n momentum (called \"V_new\").\n \n This operator supports two different momentum algorithms. Set the attribute \"mode\" to\n \"nesterov\" if Nesterov\'s momentum is desired. Otherwise, set the attribute \"model\" to\n \"standard\" to use standard momentum. Computation details are described subsequently.\n\n Let \"+\", \"-\", \"*\", and \"/\" are all element-wise operations with numpy-style broadcasting.\n\n Pseudo code for SG with standard momentum:\n\n // Add gradient of 0.5 * norm_coefficient * ||X||^2, where ||X|| is the sum of squared\n // values of all elements in X.\n G_regularized = norm_coefficient * X + G\n\n // In the first training iteration, beta should always be 1.\n beta_adjusted = T > 0 ? beta : 1\n\n // Compute the current momentum based on previous momentum and the current gradient.\n V_new = alpha * V + beta_adjusted * G_regularized\n\n // Update X.\n X_new = X - R * V_new\n\n Pseudo code for SG with Nesterov\'s momentum:\n\n // Add gradient of 0.5 * norm_coefficient * ||X||^2, where ||X|| is the sum of squared\n // values of all elements in X.\n G_regularized = norm_coefficient * X + G;\n\n // In the first training iteration, beta should always be 1.\n beta_adjusted = T > 0 ? beta : 1\n\n // Compute the current momentum based on previous momentum and the current gradient.\n V_new = alpha * V + beta_adjusted * G_regularized;\n\n // Compute final update direction and then update X.\n X_new = X - R * (G_regularized + alpha * V_new)\n\n If one assign this operators to optimize multiple inputs, for example, \"X_1\" and \"X_2\". The same\n pseudo code would be extended to handle all tensors jointly. More specifically, we can view \"X\" as a\n concatenation of \"X_1\" and \"X_2\" (of course, their gradient and accumulate gradient should\n be concatenated too) and then our pseudo code becomes applicable.\n" +----f +input: "A" +input: "B" +output: "C" +name: "Mul" +op_type: "Mul" +attribute { + name: "A-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +attribute { + name: "B-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nPerforms element-wise binary multiplication (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "input" +output: "output" +name: "Multinomial" +op_type: "Multinomial" +attribute { + name: "dtype" + i: 6 + type: INT +} +attribute { + name: "sample_size" + i: 1 + type: INT +} +attribute { + name: "seed" + s: "" + type: FLOAT +} +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nGenerate a tensor of samples from a multinomial distribution according to the probabilities\nof each of the possible outcomes.\n" +----f +input: "X" +output: "Y" +name: "Neg" +op_type: "Neg" +attribute { + name: "X-types" + strings: "int8" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "float" + strings: "int16" + type: STRINGS +} +doc_string: "\nNeg takes one input data (Tensor) and produces one output data\n(Tensor) where each element flipped sign, y = -x, is applied to\nthe tensor elementwise.\n" +----f +input: "input" +input: "target" +input: "weight" +output: "loss" +name: "NegativeLogLikelihoodLoss" +op_type: "NegativeLogLikelihoodLoss" +attribute { + name: "ignore_index" + s: "" + type: INT +} +attribute { + name: "reduction" + s: "mean" + type: STRING +} +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "target-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "weight-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nA NegativeLogLikelihoodLoss operator computes (weighted) negative log likelihood loss.\nIts \"input\" tensor has the shape of (N, C, d1, d2, ..., dk) where k >= 0.\nThe \"input\" tensor contains log-probabilities for input[n, :, d_1, d_2,..., d_k] being in a class of [0, C).\nThe operator\'s \"target\" input tensor has the shape of (N, d1, d2, ..., dk). It encodes class labels (one of C classes)\nor it may contain a special value (indicated by an attribute ignore_index) for N x d1 x d2 x ... x dk samples.\nThe loss value for input[n, :, d_1, d_2,...d_k] being classified as class c = target[n][d_1][d_2]...[d_k] is computed as:\n\n loss[n][d_1][d_2]...[d_k] = -input[n][c][d_1][d_2]...[d_k].\n\nWhen an optional \"weight\" is provided, the sample loss is calculated as:\n\n loss[n][d_1][d_2]...[d_k] = -input[n][c][d_1][d_2]...[d_k] * weight[c].\n\nloss is zero for the case when target-value equals ignore_index.\n \n loss[n][d_1][d_2]...[d_k] = 0, when target[n][d_1][d_2]...[d_k] = ignore_index\n\nIf \"reduction\" attribute is set to \"none\", the operator\'s output will be the above loss with shape (N, d1, d2, ..., dk).\nIf \"reduction\" attribute is set to \"mean\" (the default attribute value), the output loss is (weight) averaged:\n\n mean(loss), if \"weight\" is not provided,\n\nor if weight is provided,\n\n sum(loss) / sum(weight[target[n][d_1][d_2]...[d_k]]]), for all samples.\n\nIf \"reduction\" attribute is set to \"sum\", the output is a scalar:\n sum(loss).\n\nSee also https://pytorch.org/docs/stable/nn.html#torch.nn.NLLLoss.\n\nExample 1:\n\n // negative log likelihood loss, \"none\" reduction\n N, C, d1 = 2, 3, 2\n input = [[[1.0, 2.0], [2.0, 2.0], [3.0, 2.0]],\n [[0.0, 1.0], [2.0, 2.0], [1.0, 2]]]\n target = [[2, 1], [0, 2]]\n\n loss = np.zeros((N, d1))\n for n in range(N):\n for d_1 in range(d1):\n c = target[n][d_1]\n loss[n][d_1] = -input[n][c][d_1]\n\n // print(loss)\n // [[-3. -2.]\n // [-0. -2.]]\n\nExample 2:\n\n // weighted negative log likelihood loss, sum reduction\n N, C, d1 = 2, 3, 2\n input = [[[1.0, 2.0], [2.0, 2.0], [3.0, 2.0]],\n [[0.0, 1.0], [2.0, 2.0], [1.0, 2]]]\n target = [[2, 1], [0, 2]]\n weight = [0.2, 0.3, 0.1]\n loss = np.zeros((N, d1))\n for n in range(N):\n for d_1 in range(d1):\n c = target[n][d_1]\n loss[n][d_1] = -input[n][c][d_1] * weight[c]\n\n loss = np.sum(loss)\n // print(loss)\n // -1.1\n\nExample 3:\n\n // weighted negative log likelihood loss, mean reduction\n N, C, d1 = 2, 3, 2\n input = [[[1.0, 2.0], [2.0, 2.0], [3.0, 2.0]],\n [[0.0, 1.0], [2.0, 2.0], [1.0, 2]]]\n target = [[2, 1], [0, 2]]\n weight = [0.2, 0.3, 0.1]\n loss = np.zeros((N, d1))\n weight_total = 0\n for n in range(N):\n for d_1 in range(d1):\n c = target[n][d_1]\n loss[n][d_1] = -input[n][c][d_1] * weight[c]\n weight_total = weight_total + weight[c]\n\n loss = np.sum(loss) / weight_total\n // print(loss)\n // -1.57\n" +----f +input: "boxes" +input: "scores" +input: "max_output_boxes_per_class" +input: "iou_threshold" +input: "score_threshold" +output: "selected_indices" +name: "NonMaxSuppression" +op_type: "NonMaxSuppression" +attribute { + name: "center_point_box" + i: 0 + type: INT +} +attribute { + name: "boxes-types" + strings: "float" + type: STRINGS +} +attribute { + name: "scores-types" + strings: "float" + type: STRINGS +} +attribute { + name: "max_output_boxes_per_class-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "iou_threshold-types" + strings: "float" + type: STRINGS +} +attribute { + name: "score_threshold-types" + strings: "float" + type: STRINGS +} +doc_string: "\nFilter out boxes that have high intersection-over-union (IOU) overlap with previously selected boxes.\nBounding boxes with score less than score_threshold are removed. Bounding box format is indicated by attribute center_point_box.\nNote that this algorithm is agnostic to where the origin is in the coordinate system and more generally is invariant to\northogonal transformations and translations of the coordinate system; thus translating or reflections of the coordinate system\nresult in the same boxes being selected by the algorithm.\nThe selected_indices output is a set of integers indexing into the input collection of bounding boxes representing the selected boxes.\nThe bounding box coordinates corresponding to the selected indices can then be obtained using the Gather or GatherND operation.\n" +----f +input: "X" +output: "Y" +name: "NonZero" +op_type: "NonZero" +attribute { + name: "X-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\n Returns the indices of the elements that are non-zero\n (in row-major order - by dimension).\n NonZero behaves similar to numpy.nonzero:\n https://docs.scipy.org/doc/numpy/reference/generated/numpy.nonzero.html\n" +----f +input: "X" +output: "Y" +name: "Normalizer" +op_type: "Normalizer" +attribute { + name: "norm" + s: "MAX" + type: STRING +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n Normalize the input. There are three normalization modes, which have the corresponding formulas,\n defined using element-wise infix operators \'/\' and \'^\' and tensor-wide functions \'max\' and \'sum\':
\n
\n Max: Y = X / max(X)
\n L1: Y = X / sum(X)
\n L2: Y = sqrt(X^2 / sum(X^2)}
\n In all modes, if the divisor is zero, Y == X.\n
\n For batches, that is, [N,C] tensors, normalization is done along the C axis. In other words, each row\n of the batch is normalized independently.\n" +----f +input: "X" +output: "Y" +name: "Not" +op_type: "Not" +attribute { + name: "X-types" + strings: "bool" + type: STRINGS +} +doc_string: "\nReturns the negation of the input tensor element-wise.\n" +----f +input: "indices" +input: "depth" +input: "values" +output: "output" +name: "OneHot" +op_type: "OneHot" +attribute { + name: "axis" + i: -1 + type: INT +} +attribute { + name: "indices-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "depth-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "values-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\n Produces a one-hot tensor based on inputs.\n The locations represented by the index values in the \'indices\' input tensor will have \'on_value\'\n and the other locations will have \'off_value\' in the output tensor, where \'on_value\' and \'off_value\'\n are specified as part of required input argument \'values\', which is a two-element tensor of format\n [off_value, on_value]. The rank of the output tensor will be one greater than the rank of the\n input tensor. The additional dimension is for one-hot representation. The additional dimension will\n be inserted at the position specified by \'axis\'. If \'axis\' is not specified then then additional\n dimension will be inserted as the innermost dimension, i.e. axis=-1. The size of the additional\n dimension is specified by required scalar input \'depth\'. The type of the output tensor is the same\n as the type of the \'values\' input. Any entries in the \'indices\' input tensor with values outside\n the range [-depth, depth-1] will result in one-hot representation with all \'off_value\' values in the\n output tensor.\n\n when axis = 0:\n output[input[i, j, k], i, j, k] = 1 for all i, j, k and 0 otherwise.\n\n when axis = -1:\n output[i, j, k, input[i, j, k]] = 1 for all i, j, k and 0 otherwise.\n\n" +----f +input: "X" +output: "Y" +name: "OneHotEncoder" +op_type: "OneHotEncoder" +attribute { + name: "cats_int64s" + s: "" + type: INTS +} +attribute { + name: "cats_strings" + s: "" + type: STRINGS +} +attribute { + name: "zeros" + i: 1 + type: INT +} +attribute { + name: "X-types" + strings: "int32" + strings: "string" + strings: "double" + strings: "int64" + strings: "float" + type: STRINGS +} +doc_string: "\n Replace each input element with an array of ones and zeros, where a single\n one is placed at the index of the category that was passed in. The total category count \n will determine the size of the extra dimension of the output array Y.
\n For example, if we pass a tensor with a single value of 4, and a category count of 8, \n the output will be a tensor with ``[0,0,0,0,1,0,0,0]``.
\n This operator assumes every input feature is from the same set of categories.
\n If the input is a tensor of float, int32, or double, the data will be cast\n to integers and the cats_int64s category list will be used for the lookups.\n" +----f +input: "A" +input: "B" +output: "C" +name: "Or" +op_type: "Or" +attribute { + name: "A-types" + strings: "bool" + type: STRINGS +} +attribute { + name: "B-types" + strings: "bool" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `or` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "X" +input: "slope" +output: "Y" +name: "PRelu" +op_type: "PRelu" +attribute { + name: "X-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +attribute { + name: "slope-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nPRelu takes input data (Tensor) and slope tensor as input, and produces one\noutput data (Tensor) where the function `f(x) = slope * x for x < 0`,\n`f(x) = x for x >= 0`., is applied to the data tensor elementwise.\nThis operator supports **unidirectional broadcasting** (tensor slope should be unidirectional broadcastable to input tensor X); for more details please check [the doc](Broadcasting.md)." +----f +input: "data" +input: "pads" +input: "constant_value" +output: "output" +name: "Pad" +op_type: "Pad" +attribute { + name: "mode" + s: "constant" + type: STRING +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "pads-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "constant_value-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nGiven a tensor containing the data to be padded (`data`), a tensor containing the number of start and end pad values for axis (`pads`), (optionally) a `mode`, and (optionally) `constant_value`, \na padded tensor (`output`) is generated.\n\nThe three supported `modes` are (similar to corresponding modes supported by `numpy.pad`):\n\n1) `constant`(default) - pads with a given constant value as specified by `constant_value` (which defaults to 0)\n\n2) `reflect` - pads with the reflection of the vector mirrored on the first and last values of the vector along each axis\n\n3) `edge` - pads with the edge values of array\n\n\nExample 1 (`constant` mode):\n Insert 0 pads to the beginning of the second dimension.\n\n data = \n [\n [1.0, 1.2],\n [2.3, 3.4],\n [4.5, 5.7],\n ] \n\n pads = [0, 2, 0, 0]\n\n mode = \'constant\'\n\n constant_value = 0.0\n\n output = \n [\n [\n [0.0, 0.0, 1.0, 1.2],\n [0.0, 0.0, 2.3, 3.4],\n [0.0, 0.0, 4.5, 5.7],\n ],\n ]\n\n\nExample 2 (`reflect` mode):\n data = \n [\n [1.0, 1.2],\n [2.3, 3.4],\n [4.5, 5.7],\n ] \n\n pads = [0, 2, 0, 0]\n\n mode = \'reflect\'\n\n output = \n [\n [\n [1.0, 1.2, 1.0, 1.2],\n [2.3, 3.4, 2.3, 3.4],\n [4.5, 5.7, 4.5, 5.7],\n ],\n ]\n\n\nExample 3 (`edge` mode):\n data = \n [\n [1.0, 1.2],\n [2.3, 3.4],\n [4.5, 5.7],\n ] \n\n pads = [0, 2, 0, 0]\n\n mode = \'edge\'\n\n output = \n [\n [\n [1.0, 1.0, 1.0, 1.2],\n [2.3, 2.3, 2.3, 3.4],\n [4.5, 4.5, 4.5, 5.7],\n ],\n ]\n\n" +----f +input: "X" +input: "Y" +output: "Z" +name: "Pow" +op_type: "Pow" +attribute { + name: "X-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "float" + type: STRINGS +} +attribute { + name: "Y-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nPow takes input data (Tensor) and exponent Tensor, and\nproduces one output data (Tensor) where the function `f(x) = x^exponent`,\nis applied to the data tensor elementwise.\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md)." +----f +input: "x" +input: "x_scale" +input: "x_zero_point" +input: "w" +input: "w_scale" +input: "w_zero_point" +input: "y_scale" +input: "y_zero_point" +input: "B" +output: "y" +name: "QLinearConv" +op_type: "QLinearConv" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "dilations" + s: "" + type: INTS +} +attribute { + name: "group" + i: 1 + type: INT +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "x-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "x_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "x_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "w-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "w_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "w_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "y_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "y_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "B-types" + strings: "int32" + type: STRINGS +} +doc_string: "\nThe convolution operator consumes a quantized input tensor, its scale and zero point,\na quantized filter, its scale and zero point, and output\'s scale and zero point,\nand computes the quantized output. Each scale and zero-point pair must have same shape.\nIt means they must be either scalars (per tensor) or 1-D tensors (per output channel).\nEach input or output and its related zero point must have same type.\nWhen bias is present it must be quantized using scale = input scale * weight scale and \nzero point as 0.\n" +----f +input: "a" +input: "a_scale" +input: "a_zero_point" +input: "b" +input: "b_scale" +input: "b_zero_point" +input: "y_scale" +input: "y_zero_point" +output: "y" +name: "QLinearMatMul" +op_type: "QLinearMatMul" +attribute { + name: "a-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "a_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "a_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "b-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "b_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "b_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "y_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "y_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nMatrix product that behaves like numpy.matmul: https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.matmul.html.\nIt consumes two quantized input tensors, their scales and zero points, scale and zero point of output, and computes the quantized output.\nThe quantization formula is y = saturate((x / y_scale) + y_zero_point). For (x / y_scale), it is rounding to nearest ties to even.\nRefer to https://en.wikipedia.org/wiki/Rounding for details. Scale and zero point must have same shape.\nThey must be either scalar (per tensor) or 1-D tensor (per row for \'a\' and per column for \'b\'). If scale and zero point are 1-D tensor,\nthe number of elements of scale and zero point tensor of input \'a\' and output \'y\' should be equal to the number of rows of input \'a\',\nand the number of elements of scale and zero point tensor of input \'b\' should be equal to the number of columns of input \'b\'.\nProduction must never overflow, and accumulation may overflow if and only if in 32 bits.\n" +----f +input: "x" +input: "y_scale" +input: "y_zero_point" +output: "y" +name: "QuantizeLinear" +op_type: "QuantizeLinear" +attribute { + name: "x-types" + strings: "float" + strings: "int32" + type: STRINGS +} +attribute { + name: "y_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "y_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nThe linear per-tensor/layer quantization operator. It consumes a high precision tensor, a scale, a zero point to compute the low precision / quantized tensor.\nThe quantization formula is y = saturate ((x / y_scale) + y_zero_point). For saturation, it saturates to [0, 255] if it\'s uint8, or [-128, 127] if it\'s int8.\nFor (x / y_scale), it\'s rounding to nearest ties to even. Refer to https://en.wikipedia.org/wiki/Rounding for details. \'y_zero_point\' and \'y\' must have same type.\n" +----f +input: "X" +input: "W" +input: "R" +input: "B" +input: "sequence_lens" +input: "initial_h" +output: "Y" +output: "Y_h" +name: "RNN" +op_type: "RNN" +attribute { + name: "activation_alpha" + s: "" + type: FLOATS +} +attribute { + name: "activation_beta" + s: "" + type: FLOATS +} +attribute { + name: "activations" + strings: "Tanh" + strings: "Tanh" + type: STRINGS +} +attribute { + name: "clip" + s: "" + type: FLOAT +} +attribute { + name: "direction" + s: "forward" + type: STRING +} +attribute { + name: "hidden_size" + s: "" + type: INT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "W-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "R-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "sequence_lens-types" + strings: "int32" + type: STRINGS +} +attribute { + name: "initial_h-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nComputes an one-layer simple RNN. This operator is usually supported\nvia some custom implementation such as CuDNN.\n\nNotations:\n\n`X` - input tensor\n\n`i` - input gate\n\n`t` - time step (t-1 means previous time step)\n\n`Wi` - W parameter weight matrix for input gate\n\n`Ri` - R recurrence weight matrix for input gate\n\n`Wbi` - W parameter bias vector for input gate\n\n`Rbi` - R parameter bias vector for input gate\n\n`WBi` - W parameter weight matrix for backward input gate\n\n`RBi` - R recurrence weight matrix for backward input gate\n\n`WBbi` - WR bias vectors for backward input gate\n\n`RBbi` - RR bias vectors for backward input gate\n\n`H` - Hidden state\n\n`num_directions` - 2 if direction == bidirectional else 1\n\nActivation functions:\n\n Relu(x) - max(0, x)\n\n Tanh(x) - (1 - e^{-2x})/(1 + e^{-2x})\n\n Sigmoid(x) - 1/(1 + e^{-x})\n\n (NOTE: Below are optional)\n\n Affine(x) - alpha*x + beta\n\n LeakyRelu(x) - x if x >= 0 else alpha * x\n\n ThresholdedRelu(x) - x if x >= alpha else 0\n\n ScaledTanh(x) - alpha*Tanh(beta*x)\n\n HardSigmoid(x) - min(max(alpha*x + beta, 0), 1)\n\n Elu(x) - x if x >= 0 else alpha*(e^x - 1)\n\n Softsign(x) - x/(1 + |x|)\n\n Softplus(x) - log(1 + e^x)\n\nEquations (Default: f=Tanh):\n\n - Ht = f(Xt*(Wi^T) + Ht-1*(Ri^T) + Wbi + Rbi)\nThis operator has **optional** inputs/outputs. See [the doc](IR.md) for more details about the representation of optional arguments. An empty string may be used in the place of an actual argument\'s name to indicate a missing argument. Trailing optional arguments (those not followed by an argument that is present) may also be simply omitted.\n" +----f +output: "output" +name: "RandomNormal" +op_type: "RandomNormal" +attribute { + name: "dtype" + i: 1 + type: INT +} +attribute { + name: "mean" + f: 0.0 + type: FLOAT +} +attribute { + name: "scale" + f: 1.0 + type: FLOAT +} +attribute { + name: "seed" + s: "" + type: FLOAT +} +attribute { + name: "shape" + s: "" + type: INTS +} +doc_string: "\nGenerate a tensor with random values drawn from a normal distribution. The shape\nof the tensor is specified by the `shape` argument and the parameter of the normal distribution\nspecified by `mean` and `scale`.\n\nThe data type is specified by the \'dtype\' argument. The \'dtype\' argument must\nbe one of the data types specified in the \'DataType\' enum field in the\nTensorProto message.\n" +----f +input: "input" +output: "output" +name: "RandomNormalLike" +op_type: "RandomNormalLike" +attribute { + name: "dtype" + s: "" + type: INT +} +attribute { + name: "mean" + f: 0.0 + type: FLOAT +} +attribute { + name: "scale" + f: 1.0 + type: FLOAT +} +attribute { + name: "seed" + s: "" + type: FLOAT +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nGenerate a tensor with random values drawn from a normal distribution.\nThe shape of the output tensor is copied from the shape of the input tensor,\nand the parameters of the normal distribution are specified by `mean` and `scale`.\n\nThe data type is specified by the \'dtype\' argument, or copied from the input tensor if not provided.\nThe \'dtype\' argument must be one of the data types specified in the \'DataType\' enum field in the\nTensorProto message, and be valid as an output type.\n" +----f +output: "output" +name: "RandomUniform" +op_type: "RandomUniform" +attribute { + name: "dtype" + i: 1 + type: INT +} +attribute { + name: "high" + f: 1.0 + type: FLOAT +} +attribute { + name: "low" + f: 0.0 + type: FLOAT +} +attribute { + name: "seed" + s: "" + type: FLOAT +} +attribute { + name: "shape" + s: "" + type: INTS +} +doc_string: "\nGenerate a tensor with random values drawn from a uniform distribution. The shape\nof the tensor is specified by the `shape` argument and the range by `low` and `high`.\n\nThe data type is specified by the \'dtype\' argument. The \'dtype\' argument must\nbe one of the data types specified in the \'DataType\' enum field in the\nTensorProto message.\n" +----f +input: "input" +output: "output" +name: "RandomUniformLike" +op_type: "RandomUniformLike" +attribute { + name: "dtype" + s: "" + type: INT +} +attribute { + name: "high" + f: 1.0 + type: FLOAT +} +attribute { + name: "low" + f: 0.0 + type: FLOAT +} +attribute { + name: "seed" + s: "" + type: FLOAT +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nGenerate a tensor with random values drawn from a uniform distribution.\nThe shape of the output tensor is copied from the shape of the input tensor,\nand the parameters of the uniform distribution are specified by `low` and `high`.\n\nThe data type is specified by the \'dtype\' argument, or copied from the input tensor if not provided.\nThe \'dtype\' argument must be one of the data types specified in the \'DataType\' enum field in the\nTensorProto message and be valid as an output type.\n" +----f +input: "start" +input: "limit" +input: "delta" +output: "output" +name: "Range" +op_type: "Range" +attribute { + name: "start-types" + strings: "int32" + strings: "double" + strings: "int64" + strings: "float" + strings: "int16" + type: STRINGS +} +attribute { + name: "limit-types" + strings: "int32" + strings: "double" + strings: "int64" + strings: "float" + strings: "int16" + type: STRINGS +} +attribute { + name: "delta-types" + strings: "int32" + strings: "double" + strings: "int64" + strings: "float" + strings: "int16" + type: STRINGS +} +doc_string: "\nGenerate a tensor containing a sequence of numbers that begin at `start` and extends by increments of `delta`\nup to `limit` (exclusive).\n\nThe number of elements in the output of range is computed as below-\n\n`number_of_elements = max( ceil( (limit - start) / delta ) , 0 )`\n\nThe pseudocode determining the contents of the output is shown below-\n\n`for(int i=0; i) and produces one output data\n(Tensor) where the reciprocal is, y = 1/x, is applied to\nthe tensor elementwise.\n" +----f +input: "data" +output: "reduced" +name: "ReduceL1" +op_type: "ReduceL1" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the L1 norm of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +----f +input: "data" +output: "reduced" +name: "ReduceL2" +op_type: "ReduceL2" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the L2 norm of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +----f +input: "data" +output: "reduced" +name: "ReduceLogSum" +op_type: "ReduceLogSum" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the log sum of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +----f +input: "data" +output: "reduced" +name: "ReduceLogSumExp" +op_type: "ReduceLogSumExp" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the log sum exponent of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +----f +input: "data" +output: "reduced" +name: "ReduceMax" +op_type: "ReduceMax" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "int8" + strings: "float16" + strings: "int32" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the max of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +----f +input: "data" +output: "reduced" +name: "ReduceMean" +op_type: "ReduceMean" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the mean of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +----f +input: "data" +output: "reduced" +name: "ReduceMin" +op_type: "ReduceMin" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "int8" + strings: "float16" + strings: "int32" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the min of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +----f +input: "data" +output: "reduced" +name: "ReduceProd" +op_type: "ReduceProd" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the product of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +----f +input: "data" +output: "reduced" +name: "ReduceSum" +op_type: "ReduceSum" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the sum of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +----f +input: "data" +output: "reduced" +name: "ReduceSumSquare" +op_type: "ReduceSumSquare" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nComputes the sum square of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +----f +input: "X" +output: "Y" +name: "Relu" +op_type: "Relu" +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nRelu takes one input data (Tensor) and produces one output data\n(Tensor) where the rectified linear function, y = max(0, x), is applied to\nthe tensor elementwise.\n" +----f +input: "data" +input: "shape" +output: "reshaped" +name: "Reshape" +op_type: "Reshape" +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "shape-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nReshape the input tensor similar to numpy.reshape.\nFirst input is the data tensor, second input is a shape tensor which specifies the output shape. It outputs the reshaped tensor.\nAt most one dimension of the new shape can be -1. In this case, the value is\ninferred from the size of the tensor and the remaining dimensions. A dimension\ncould also be 0, in which case the actual dimension value is unchanged (i.e. taken\nfrom the input tensor)." +----f +input: "X" +input: "roi" +input: "scales" +input: "sizes" +output: "Y" +name: "Resize" +op_type: "Resize" +attribute { + name: "coordinate_transformation_mode" + s: "half_pixel" + type: STRING +} +attribute { + name: "cubic_coeff_a" + f: -0.75 + type: FLOAT +} +attribute { + name: "exclude_outside" + i: 0 + type: INT +} +attribute { + name: "extrapolation_value" + f: 0.0 + type: FLOAT +} +attribute { + name: "mode" + s: "nearest" + type: STRING +} +attribute { + name: "nearest_mode" + s: "round_prefer_floor" + type: STRING +} +attribute { + name: "X-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "roi-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "scales-types" + strings: "float" + type: STRINGS +} +attribute { + name: "sizes-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nResize the input tensor. In general, it calculates every value in the output tensor as a weighted average of neighborhood (a.k.a. sampling locations) in the input tensor.\nEach dimension value of the output tensor is:\n output_dimension = floor(input_dimension * (roi_end - roi_start) * scale) if input \\\"sizes\\\" is not specified.\n" +----f +input: "input" +input: "sequence_lens" +output: "Y" +name: "ReverseSequence" +op_type: "ReverseSequence" +attribute { + name: "batch_axis" + i: 1 + type: INT +} +attribute { + name: "time_axis" + i: 0 + type: INT +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "sequence_lens-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nReverse batch of sequences having different lengths specified by `sequence_lens`.\n\nFor each slice i iterating on batch axis, the operator reverses the first sequence_lens[i] elements on time axis,\nand copies elements whose index\'s beyond sequence_lens[i] to the output. So the output slice i contains reversed\nsequences on the first sequence_lens[i] elements, then have original values copied for the other elements.\n\nExample 1:\n input = [[0.0, 4.0, 8.0, 12.0],\n [1.0, 5.0, 9.0, 13.0],\n [2.0, 6.0, 10.0, 14.0],\n [3.0, 7.0, 11.0, 15.0]]\n sequence_lens = [4, 3, 2, 1]\n time_axis = 0\n batch_axis = 1\n\n output = [[3.0, 6.0, 9.0, 12.0],\n [2.0, 5.0, 8.0, 13.0],\n [1.0, 4.0, 10.0, 14.0],\n [0.0, 7.0, 11.0, 15.0]]\n\nExample 2:\n input = [[0.0, 1.0, 2.0, 3.0 ],\n [4.0, 5.0, 6.0, 7.0 ],\n [8.0, 9.0, 10.0, 11.0],\n [12.0, 13.0, 14.0, 15.0]]\n sequence_lens = [1, 2, 3, 4]\n time_axis = 1\n batch_axis = 0\n\n output = [[0.0, 1.0, 2.0, 3.0 ],\n [5.0, 4.0, 6.0, 7.0 ],\n [10.0, 9.0, 8.0, 11.0],\n [15.0, 14.0, 13.0, 12.0]]\n" +----f +input: "X" +input: "rois" +input: "batch_indices" +output: "Y" +name: "RoiAlign" +op_type: "RoiAlign" +attribute { + name: "mode" + s: "avg" + type: STRING +} +attribute { + name: "output_height" + i: 1 + type: INT +} +attribute { + name: "output_width" + i: 1 + type: INT +} +attribute { + name: "sampling_ratio" + i: 0 + type: INT +} +attribute { + name: "spatial_scale" + f: 1.0 + type: FLOAT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "rois-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "batch_indices-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nRegion of Interest (RoI) align operation described in the\n[Mask R-CNN paper](https://arxiv.org/abs/1703.06870).\nRoiAlign consumes an input tensor X and region of interests (rois)\nto apply pooling across each RoI; it produces a 4-D tensor of shape\n(num_rois, C, output_height, output_width).\n\nRoiAlign is proposed to avoid the misalignment by removing\nquantizations while converting from original image into feature\nmap and from feature map into RoI feature; in each ROI bin,\nthe value of the sampled locations are computed directly\nthrough bilinear interpolation.\n" +----f +input: "X" +output: "Y" +name: "Round" +op_type: "Round" +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nRound takes one input Tensor and rounds the values, element-wise, meaning\nit finds the nearest integer for each value.\nIn case of halfs, the rule is to round them to the nearest even integer.\nThe output tensor has the same shape and type as the input.\n\nExamples:\n```\nround([0.9]) = [1.0]\nround([2.5]) = [2.0]\nround([2.3]) = [2.0]\nround([1.5]) = [2.0]\nround([-4.5]) = [-4.0]\n```\n" +----f +input: "X" +output: "Y" +output: "Z" +name: "SVMClassifier" +op_type: "SVMClassifier" +attribute { + name: "classlabels_ints" + s: "" + type: INTS +} +attribute { + name: "classlabels_strings" + s: "" + type: STRINGS +} +attribute { + name: "coefficients" + s: "" + type: FLOATS +} +attribute { + name: "kernel_params" + s: "" + type: FLOATS +} +attribute { + name: "kernel_type" + s: "LINEAR" + type: STRING +} +attribute { + name: "post_transform" + s: "NONE" + type: STRING +} +attribute { + name: "prob_a" + s: "" + type: FLOATS +} +attribute { + name: "prob_b" + s: "" + type: FLOATS +} +attribute { + name: "rho" + s: "" + type: FLOATS +} +attribute { + name: "support_vectors" + s: "" + type: FLOATS +} +attribute { + name: "vectors_per_class" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n Support Vector Machine classifier\n" +----f +input: "X" +output: "Y" +name: "SVMRegressor" +op_type: "SVMRegressor" +attribute { + name: "coefficients" + s: "" + type: FLOATS +} +attribute { + name: "kernel_params" + s: "" + type: FLOATS +} +attribute { + name: "kernel_type" + s: "LINEAR" + type: STRING +} +attribute { + name: "n_supports" + i: 0 + type: INT +} +attribute { + name: "one_class" + i: 0 + type: INT +} +attribute { + name: "post_transform" + s: "NONE" + type: STRING +} +attribute { + name: "rho" + s: "" + type: FLOATS +} +attribute { + name: "support_vectors" + s: "" + type: FLOATS +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n Support Vector Machine regression prediction and one-class SVM anomaly detection.\n" +----f +input: "X" +output: "Y" +name: "Scaler" +op_type: "Scaler" +attribute { + name: "offset" + s: "" + type: FLOATS +} +attribute { + name: "scale" + s: "" + type: FLOATS +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n Rescale input data, for example to standardize features by removing the mean and scaling to unit variance.\n" +----f +input: "initial_state_and_scan_inputs" +output: "final_state_and_scan_outputs" +name: "Scan" +op_type: "Scan" +attribute { + name: "body" + s: "" + type: GRAPH +} +attribute { + name: "num_scan_inputs" + s: "" + type: INT +} +attribute { + name: "scan_input_axes" + s: "" + type: INTS +} +attribute { + name: "scan_input_directions" + s: "" + type: INTS +} +attribute { + name: "scan_output_axes" + s: "" + type: INTS +} +attribute { + name: "scan_output_directions" + s: "" + type: INTS +} +attribute { + name: "initial_state_and_scan_inputs-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nScan can be used to iterate over one or more scan_input tensors,\nconstructing zero or more scan_output tensors. It combines ideas from general recurrences,\nfunctional programming constructs such as scan, fold, map, and zip and is intended to enable\ngeneralizations of RNN-like constructs for sequence-to-sequence processing.\nOther tensors (referred to as state_variables here) can be used to carry a state\nwhen iterating from one element to another (similar to hidden-state in RNNs, also referred\nto as loop-carried dependences in the context of loops).\nMany common usages involve a single scan_input tensor (where functionality\nsimilar to scan, fold and map can be obtained). When more than one scan_input is used,\na behavior similar to zip is obtained.\n\nThe attribute body must be a graph, specifying the computation to be performed in\nevery iteration. It takes as input the current values of the state_variables and\nthe current iterated element of the scan_inputs. It must return the (updated) values\nof the state_variables and zero or more scan_output_element tensors. The values of the\nscan_output_element tensors are concatenated over all the iterations to produce the\nscan_output values of the scan construct (similar to the concatenated intermediate\nhidden-state values of RNN-like constructs). All the output tensors (state_variables as\nwell as scan_output_element tensors) are required to have the same shape in each iteration\nof the loop (a restriction imposed to enable efficient memory allocation).\n\nNote that the iterated element passed to the body subgraph does not have a sequence\naxis. It will have a rank one less than the rank of the corresponding scan_input.\n\nThe scan operation returns the final values of the state_variables as well as the\nscan_outputs.\n\nThe optional attribute scan_input_directions specifies the direction (forward or backward)\nfor each scan input. If this attribute is omitted, all sequences are scanned in the forward\ndirection. A bidirectional scan may be performed by specifying the same tensor input twice\nin the scan_inputs, once with a forward direction, and once with a backward direction.\n\nThe scan_output of the operation is produced by concatenating the scan_output_element\nvalues produced by the body in each iteration. The optional attribute scan_output_directions\nspecifies the direction in which scan_output is constructed (by appending or prepending the\nscan_output_element to scan_output in each iteration) for each scan_output. If this attribute\nis omitted, the scan_output_element is appended to the scan_output in each iteration.\n\nThe optional attribute scan_input_axes specifies the axis to be scanned for each scan_input.\nIf omitted, every scan_input will be scanned in axis 0. For example, if axis 0 is the\nbatch axis and axis 1 is the time axis (to be scanned), specify an axis value of 1.\nNote that scanning a non-zero axis may be less efficient than scanning axis zero.\n\nThe optional attribute scan_output_axes specifies the axis along which the scan_outputs\nare accumulated for each scan_output. For example, if axis 1 is the time axis (to be\nscanned) for both inputs and outputs, specify a scan_input axis and scan_output axis\nvalue of 1.\n\nNote that because of the ONNX restriction that only the last parameter of an operator can\nbe variadic, the initial-states and scan-inputs are listed together as one input parameter.\nSimilarly, the final-states and scan-outputs are listed together as one output parameter.\nThe attribute num_scan_inputs indicates the number M of scan-inputs.\n\nThe behavior of\n\n Scan <\n num_scan_inputs = m,\n body = loop-body,\n scan_input_axes = [axis_1, ..., axis_m]\n > (init_1, ..., init_n, scan_1, ..., scan_m)\n\nis equivalent to the following pseudo-code:\n\n // scan_i.shape[axis_i] denotes the (max) sequence-length of scan_i\n // scan_i.shape[axis_i] is required to be equal to scan_j.shape[axis_j] for all i,j.\n sequence_length = scan_1.shape[axis_1];\n\n // initialize state-variables\n st_1 = init_1; ... st_n = init_n;\n // initialize scan-output variables: [] denotes an empty tensor\n scan_out_1 = []; ...; scan_out_k = [];\n // identify number of iterations:\n\n // execute loop\n for (int t = 0; t < sequence_length; ++t) {\n // generate the scan-input elements: the notation T[t] indicates the sub-tensor\n // of rank one less than T obtained by indexing T at position t along axis k.\n si_1 = scan_1[t];\n ... ;\n si_m = scan_m[t];\n // execute loop-body\n st_1, ..., st_n, so_1, ..., so_k = loop-body(st_1, ..., st_n, si_1, ..., si_m)\n // accumulate the scan-output elements\n scan_out_1 = Concat(scan_out_1, so_1); ... ; scan_out_k = Concat(scan_out_k, so_k);\n }\n\n return st_1, ..., st_n, scan_out_1, ..., scan_out_k;\n\n*Sample usage: Encoding RNN using a Scan*\n\nThe following example shows how a simple RNN over an input tensor %X, with weight tensor %Wi,\nrecurrence weight tensor %Ri, bias tensors %Wbi and %Rbi, and initial hidden-state %H_0 can\nbe encoded as a ScanLoop. Note that the loop-body is a nested graph, and it directly computes\n%Wi, %Ri, %Wbi, and %Rbi (typically constants or initializers in the body graph). If these\nvalues are computed in the outer graph, they need to be passed in as extra state_variables.\n\n graph rnn-encoding {\n %H_0 = ... \n %X = ...\n %Y_h, %Y = Scan[body = , num_scan_inputs=1](%H_0, %X)\n return %Y, %Y_h\n }\n\n graph rnn-cell-1 (\n %H_tminus1[FLOAT, tensor]\n %X_t[FLOAT, tensor]\n ) {\n %Wi = ...\n %Ri = ...\n %Wbi = ...\n %Rbi = ...\n %t1 = X_t * (Wi^T)\n %t2 = H_tminus1*(Ri^T)\n %t3 = Add(%t1, %t2)\n %t4 = Add(%t3, %Wbi)\n %t5 = Add(%t4, %Rbi)\n %Ht = Tanh(%t5)\n %Accumulate = Identity(%Ht)\n return %Ht, %Accumulate\n }\n\n" +----f +input: "data" +input: "indices" +input: "updates" +output: "output" +name: "Scatter" +op_type: "Scatter" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "indices-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "updates-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nThis operator is deprecated. Please use ScatterElements, which provides the same functionality.\n\nScatter takes three inputs `data`, `updates`, and `indices` of the same\nrank r >= 1 and an optional attribute axis that identifies an axis of `data`\n(by default, the outer-most axis, that is axis 0). The output of the operation\nis produced by creating a copy of the input `data`, and then updating its value\nto values specified by `updates` at specific index positions specified by\n`indices`. Its output shape is the same as the shape of `data`.\n\nFor each entry in `updates`, the target index in `data` is obtained by combining\nthe corresponding entry in `indices` with the index of the entry itself: the\nindex-value for dimension = axis is obtained from the value of the corresponding\nentry in `indices` and the index-value for dimension != axis is obtained from the\nindex of the entry itself.\n\nFor instance, in a 2-D tensor case, the update corresponding to the [i][j] entry\nis performed as below:\n```\n output[indices[i][j]][j] = updates[i][j] if axis = 0, \n output[i][indices[i][j]] = updates[i][j] if axis = 1,\n```\n\nThis operator is the inverse of GatherElements. It is similar to Torch\'s Scatter operation.\n\nExample 1:\n```\n data = [\n [0.0, 0.0, 0.0],\n [0.0, 0.0, 0.0],\n [0.0, 0.0, 0.0],\n ]\n indices = [\n [1, 0, 2],\n [0, 2, 1],\n ]\n updates = [\n [1.0, 1.1, 1.2],\n [2.0, 2.1, 2.2],\n ]\n output = [\n [2.0, 1.1, 0.0]\n [1.0, 0.0, 2.2]\n [0.0, 2.1, 1.2]\n ]\n```\nExample 2:\n```\n data = [[1.0, 2.0, 3.0, 4.0, 5.0]]\n indices = [[1, 3]]\n updates = [[1.1, 2.1]]\n axis = 1\n output = [[1.0, 1.1, 3.0, 2.1, 5.0]]\n```\n" +----f +input: "data" +input: "indices" +input: "updates" +output: "output" +name: "ScatterElements" +op_type: "ScatterElements" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "indices-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "updates-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nScatterElements takes three inputs `data`, `updates`, and `indices` of the same\nrank r >= 1 and an optional attribute axis that identifies an axis of `data`\n(by default, the outer-most axis, that is axis 0). The output of the operation\nis produced by creating a copy of the input `data`, and then updating its value\nto values specified by `updates` at specific index positions specified by\n`indices`. Its output shape is the same as the shape of `data`.\n\nFor each entry in `updates`, the target index in `data` is obtained by combining\nthe corresponding entry in `indices` with the index of the entry itself: the\nindex-value for dimension = axis is obtained from the value of the corresponding\nentry in `indices` and the index-value for dimension != axis is obtained from the\nindex of the entry itself.\n\nFor instance, in a 2-D tensor case, the update corresponding to the [i][j] entry\nis performed as below:\n```\n output[indices[i][j]][j] = updates[i][j] if axis = 0, \n output[i][indices[i][j]] = updates[i][j] if axis = 1,\n```\n\nThis operator is the inverse of GatherElements. It is similar to Torch\'s Scatter operation.\n\nExample 1:\n```\n data = [\n [0.0, 0.0, 0.0],\n [0.0, 0.0, 0.0],\n [0.0, 0.0, 0.0],\n ]\n indices = [\n [1, 0, 2],\n [0, 2, 1],\n ]\n updates = [\n [1.0, 1.1, 1.2],\n [2.0, 2.1, 2.2],\n ]\n output = [\n [2.0, 1.1, 0.0]\n [1.0, 0.0, 2.2]\n [0.0, 2.1, 1.2]\n ]\n```\nExample 2:\n```\n data = [[1.0, 2.0, 3.0, 4.0, 5.0]]\n indices = [[1, 3]]\n updates = [[1.1, 2.1]]\n axis = 1\n output = [[1.0, 1.1, 3.0, 2.1, 5.0]]\n```\n" +----f +input: "data" +input: "indices" +input: "updates" +output: "output" +name: "ScatterND" +op_type: "ScatterND" +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "indices-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "updates-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nScatterND takes three inputs `data` tensor of rank r >= 1, `indices` tensor of rank q >= 1,\nand `updates` tensor of rank q + r - indices.shape[-1] - 1. The output of the operation\nis produced by creating a copy of the input `data`, and then updating its value to values\nspecified by `updates` at specific index positions specified by `indices`. Its output shape\nis the same as the shape of `data`. Note that `indices` should not have duplicate entries.\nThat is, two or more `updates` for the same index-location is not supported.\n\n`indices` is an integer tensor. Let k denote indices.shape[-1], the last dimension in the shape of `indices`.\n `indices` is treated as a (q-1)-dimensional tensor of k-tuples, where each k-tuple is a partial-index into `data`.\nHence, k can be a value at most the rank of `data`. When k equals rank(data), each update entry specifies an\nupdate to a single element of the tensor. When k is less than rank(data) each update entry specifies an\nupdate to a slice of the tensor.\n\n`updates` is treated as a (q-1)-dimensional tensor of replacement-slice-values. Thus, the\nfirst (q-1) dimensions of updates.shape must match the first (q-1) dimensions of indices.shape.\nThe remaining dimensions of `updates` correspond to the dimensions of the\nreplacement-slice-values. Each replacement-slice-value is a (r-k) dimensional tensor,\ncorresponding to the trailing (r-k) dimensions of `data`. Thus, the shape of `updates`\nmust equal indices.shape[0:q-1] ++ data.shape[k:r-1], where ++ denotes the concatenation\nof shapes.\n\nThe `output` is calculated via the following equation:\n\n output = np.copy(data)\n update_indices = indices.shape[:-1]\n for idx in np.ndindex(update_indices):\n output[indices[idx]] = updates[idx]\n\nThe order of iteration in the above loop is not specified.\nIn particular, indices should not have duplicate entries: that is, if idx1 != idx2, then indices[idx1] != indices[idx2].\nThis ensures that the output value does not depend on the iteration order.\n\nThis operator is the inverse of GatherND.\n\nExample 1:\n```\n data = [1, 2, 3, 4, 5, 6, 7, 8]\n indices = [[4], [3], [1], [7]]\n updates = [9, 10, 11, 12]\n output = [1, 11, 3, 10, 9, 6, 7, 12]\n```\n\nExample 2:\n```\n data = [[[1, 2, 3, 4], [5, 6, 7, 8], [8, 7, 6, 5], [4, 3, 2, 1]],\n [[1, 2, 3, 4], [5, 6, 7, 8], [8, 7, 6, 5], [4, 3, 2, 1]],\n [[8, 7, 6, 5], [4, 3, 2, 1], [1, 2, 3, 4], [5, 6, 7, 8]],\n [[8, 7, 6, 5], [4, 3, 2, 1], [1, 2, 3, 4], [5, 6, 7, 8]]]\n indices = [[0], [2]]\n updates = [[[5, 5, 5, 5], [6, 6, 6, 6], [7, 7, 7, 7], [8, 8, 8, 8]],\n [[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3], [4, 4, 4, 4]]]\n output = [[[5, 5, 5, 5], [6, 6, 6, 6], [7, 7, 7, 7], [8, 8, 8, 8]],\n [[1, 2, 3, 4], [5, 6, 7, 8], [8, 7, 6, 5], [4, 3, 2, 1]],\n [[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3], [4, 4, 4, 4]],\n [[8, 7, 6, 5], [4, 3, 2, 1], [1, 2, 3, 4], [5, 6, 7, 8]]]\n```\n" +----f +input: "X" +output: "Y" +name: "Selu" +op_type: "Selu" +attribute { + name: "alpha" + f: 1.6732632 + type: FLOAT +} +attribute { + name: "gamma" + f: 1.050701 + type: FLOAT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nSelu takes one input data (Tensor) and produces one output data\n(Tensor) where the scaled exponential linear unit function,\n`y = gamma * (alpha * e^x - alpha) for x <= 0`, `y = gamma * x for x > 0`,\nis applied to the tensor elementwise.\n" +----f +input: "input_sequence" +input: "position" +output: "tensor" +name: "SequenceAt" +op_type: "SequenceAt" +attribute { + name: "input_sequence-types" + strings: "seq(bool" + strings: "seq(complex128" + strings: "seq(string" + strings: "seq(float16" + strings: "seq(int64" + strings: "seq(float" + strings: "seq(int32" + strings: "seq(uint32" + strings: "seq(uint16" + strings: "seq(int8" + strings: "seq(int16" + strings: "seq(complex64" + strings: "seq(uint64" + strings: "seq(double" + strings: "seq(uint8" + type: STRINGS +} +attribute { + name: "position-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nOutputs a tensor copy from the tensor at \'position\' in \'input_sequence\'.\nAccepted range for \'position\' is in `[-n, n - 1]`, where `n` is the number of tensors in \'input_sequence\'.\nNegative value means counting positions from the back.\n" +----f +input: "inputs" +output: "output_sequence" +name: "SequenceConstruct" +op_type: "SequenceConstruct" +attribute { + name: "inputs-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nConstruct a tensor sequence containing \'inputs\' tensors.\nAll tensors in \'inputs\' must have the same data type.\n" +----f +output: "output" +name: "SequenceEmpty" +op_type: "SequenceEmpty" +attribute { + name: "dtype" + s: "" + type: INT +} +doc_string: "\nConstruct an empty tensor sequence, with given data type.\n" +----f +input: "input_sequence" +input: "position" +output: "output_sequence" +name: "SequenceErase" +op_type: "SequenceErase" +attribute { + name: "input_sequence-types" + strings: "seq(bool" + strings: "seq(complex128" + strings: "seq(string" + strings: "seq(float16" + strings: "seq(int64" + strings: "seq(float" + strings: "seq(int32" + strings: "seq(uint32" + strings: "seq(uint16" + strings: "seq(int8" + strings: "seq(int16" + strings: "seq(complex64" + strings: "seq(uint64" + strings: "seq(double" + strings: "seq(uint8" + type: STRINGS +} +attribute { + name: "position-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nOutputs a tensor sequence that removes the tensor at \'position\' from \'input_sequence\'.\nAccepted range for \'position\' is in `[-n, n - 1]`, where `n` is the number of tensors in \'input_sequence\'.\nNegative value means counting positions from the back.\n\'position\' is optional, by default it erases the last tensor from \'input_sequence\'.\n" +----f +input: "input_sequence" +input: "tensor" +input: "position" +output: "output_sequence" +name: "SequenceInsert" +op_type: "SequenceInsert" +attribute { + name: "input_sequence-types" + strings: "seq(bool" + strings: "seq(complex128" + strings: "seq(string" + strings: "seq(float16" + strings: "seq(int64" + strings: "seq(float" + strings: "seq(int32" + strings: "seq(uint32" + strings: "seq(uint16" + strings: "seq(int8" + strings: "seq(int16" + strings: "seq(complex64" + strings: "seq(uint64" + strings: "seq(double" + strings: "seq(uint8" + type: STRINGS +} +attribute { + name: "tensor-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "position-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nOutputs a tensor sequence that inserts \'tensor\' into \'input_sequence\' at \'position\'.\n\'tensor\' must have the same data type as \'input_sequence\'.\nAccepted range for \'position\' is in `[-n, n]`, where `n` is the number of tensors in \'input_sequence\'.\nNegative value means counting positions from the back.\n\'position\' is optional, by default it inserts \'tensor\' to the back of \'input_sequence\'.\n" +----f +input: "input_sequence" +output: "length" +name: "SequenceLength" +op_type: "SequenceLength" +attribute { + name: "input_sequence-types" + strings: "seq(bool" + strings: "seq(complex128" + strings: "seq(string" + strings: "seq(float16" + strings: "seq(int64" + strings: "seq(float" + strings: "seq(int32" + strings: "seq(uint32" + strings: "seq(uint16" + strings: "seq(int8" + strings: "seq(int16" + strings: "seq(complex64" + strings: "seq(uint64" + strings: "seq(double" + strings: "seq(uint8" + type: STRINGS +} +doc_string: "\nProduces a scalar(tensor of empty shape) containing the number of tensors in \'input_sequence\'.\n" +----f +input: "data" +output: "shape" +name: "Shape" +op_type: "Shape" +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nTakes a tensor as input and outputs an 1D int64 tensor containing the shape of the input tensor.\n" +----f +input: "input" +output: "output" +name: "Shrink" +op_type: "Shrink" +attribute { + name: "bias" + f: 0.0 + type: FLOAT +} +attribute { + name: "lambd" + f: 0.5 + type: FLOAT +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nShrink takes one input data (Tensor) and produces one Tensor output,\nhaving same datatype and shape with input. It has two attributes, lambd and\nbias. The formula of this operator is: If x < -lambd, y = x + bias;\nIf x > lambd, y = x - bias; Otherwise, y = 0.\n" +----f +input: "X" +output: "Y" +name: "Sigmoid" +op_type: "Sigmoid" +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nSigmoid takes one input data (Tensor) and produces one output data\n(Tensor) where the sigmoid function, y = 1 / (1 + exp(-x)), is applied to the\ntensor elementwise.\n" +----f +input: "input" +output: "output" +name: "Sign" +op_type: "Sign" +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nCalculate the sign of the given input tensor element-wise.\nIf input > 0, output 1. if input < 0, output -1. if input == 0, output 0.\n" +----f +input: "input" +output: "output" +name: "Sin" +op_type: "Sin" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the sine of the given input tensor, element-wise.\n" +----f +input: "input" +output: "output" +name: "Sinh" +op_type: "Sinh" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the hyperbolic sine of the given input tensor element-wise.\n" +----f +input: "data" +output: "size" +name: "Size" +op_type: "Size" +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nTakes a tensor as input and outputs a int64 scalar that equals to the total number of elements of the input tensor.\n" +----f +input: "data" +input: "starts" +input: "ends" +input: "axes" +input: "steps" +output: "output" +name: "Slice" +op_type: "Slice" +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "starts-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "ends-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "axes-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "steps-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nProduces a slice of the input tensor along multiple axes. Similar to numpy:\nhttps://docs.scipy.org/doc/numpy/reference/arrays.indexing.html\nSlices uses `starts`, `ends`, `axes` and `steps` inputs to specify the start and end\ndimension and step for each axis in the list of axes, it uses this information to\nslice the input `data` tensor. If a negative value is passed for any of the\nstart or end indices, it represents number of elements before the end of that\ndimension. If the value passed to start or end is larger than the `n` (the\nnumber of elements in this dimension), it represents `n`. For slicing to the\nend of a dimension with unknown size, it is recommended to pass in `INT_MAX` \nwhen sclicing forward and \'INT_MIN\' when slicing backward.\nIf a negative value is passed for step, it represents slicing backward. \nHowever step value cannot be 0.\nIf `axes` are omitted, they are set to `[0, ..., ndim-1]`.\nIf `steps` are omitted, they are set to `[1, ..., 1]` of length `len(starts)`\nExample 1:\n data = [\n [1, 2, 3, 4],\n [5, 6, 7, 8],\n ]\n axes = [0, 1]\n starts = [1, 0]\n ends = [2, 3]\n steps = [1, 2]\n result = [\n [5, 7],\n ]\nExample 2:\n data = [\n [1, 2, 3, 4],\n [5, 6, 7, 8],\n ]\n starts = [0, 1]\n ends = [-1, 1000]\n result = [\n [2, 3, 4],\n ]\n" +----f +input: "input" +output: "output" +name: "Softmax" +op_type: "Softmax" +attribute { + name: "axis" + i: 1 + type: INT +} +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nThe operator computes the softmax (normalized exponential) values for each layer in the batch\n of the given input.\n\nThe input does not need to explicitly be a 2D vector; rather, it will be\ncoerced into one. For an arbitrary n-dimensional tensor\ninput \\in [a_0, a_1, ..., a_{k-1}, a_k, ..., a_{n-1}] and k is\nthe axis provided, then input will be coerced into a 2-dimensional tensor with\ndimensions [a_0 * ... * a_{k-1}, a_k * ... * a_{n-1}]. For the default\ncase where axis=1, this means the input tensor will be coerced into a 2D tensor\nof dimensions [a_0, a_1 * ... * a_{n-1}], where a_0 is often the batch size.\nIn this situation, we must have a_0 = N and a_1 * ... * a_{n-1} = D.\nEach of these dimensions must be matched correctly, or else the operator\nwill throw errors. The output tensor has the same shape\nand contains the softmax values of the corresponding input.\n" +----f +input: "scores" +input: "labels" +input: "weights" +output: "output" +output: "log_prob" +name: "SoftmaxCrossEntropyLoss" +op_type: "SoftmaxCrossEntropyLoss" +attribute { + name: "ignore_index" + s: "" + type: INT +} +attribute { + name: "reduction" + s: "mean" + type: STRING +} +attribute { + name: "scores-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +attribute { + name: "labels-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "weights-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "Loss function that measures the softmax cross entropy\nbetween \'scores\' and \'labels\'.\nThis operator first computes a loss tensor whose shape is identical to the labels input.\nIf the input is 2-D with shape (N, C), the loss tensor may be a N-element vector L = (l_1, l_2, ..., l_N).\nIf the input is N-D tensor with shape (N, C, D1, D2, ..., Dk),\nthe loss tensor L may have (N, D1, D2, ..., Dk) as its shape and L[i,][j_1][j_2]...[j_k] denotes a scalar element in L.\nAfter L is available, this operator can optionally do a reduction operator.\n\nshape(scores): (N, C) where C is the number of classes, or (N, C, D1, D2,..., Dk),\n with K >= 1 in case of K-dimensional loss.\nshape(labels): (N) where each value is 0 <= labels[i] <= C-1, or (N, D1, D2,..., Dk),\n with K >= 1 in case of K-dimensional loss.\n\nThe loss for one sample, l_i, can caculated as follows:\n l[i][d1][d2]...[dk] = -y[i][c][d1][d2]..[dk], where i is the index of classes.\nor\n l[i][d1][d2]...[dk] = -y[i][c][d1][d2]..[dk] * weights[c], if \'weights\' is provided.\n\nloss is zero for the case when label-value equals ignore_index.\n l[i][d1][d2]...[dk] = 0, when labels[n][d1][d2]...[dk] = ignore_index\n\nwhere:\n p = Softmax(scores)\n y = Log(p)\n c = labels[i][d1][d2]...[dk]\n\nFinally, L is optionally reduced:\nIf reduction = \'none\', the output is L with shape (N, D1, D2, ..., Dk).\nIf reduction = \'sum\', the output is scalar: Sum(L).\nIf reduction = \'mean\', the output is scalar: ReduceMean(L), or if weight is provided: ReduceSum(L) / ReduceSum(W),\nwhere tensor W is of shape (N, D1, D2, ..., Dk) and W[n][d1][d2]...[dk] = weights[labels[i][d1][d2]...[dk]].\n" +----f +input: "X" +output: "Y" +name: "Softplus" +op_type: "Softplus" +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nSoftplus takes one input data (Tensor) and produces one output data\n(Tensor) where the softplus function, y = ln(exp(x) + 1), is applied to\nthe tensor elementwise.\n" +----f +input: "input" +output: "output" +name: "Softsign" +op_type: "Softsign" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the softsign (x/(1+|x|)) of the given input tensor element-wise.\n" +----f +input: "input" +output: "output" +name: "SpaceToDepth" +op_type: "SpaceToDepth" +attribute { + name: "blocksize" + s: "" + type: INT +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "SpaceToDepth rearranges blocks of spatial data into depth. More specifically,\nthis op outputs a copy of the input tensor where values from the height and width dimensions\nare moved to the depth dimension.\n" +----f +input: "input" +output: "outputs" +name: "Split" +op_type: "Split" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "split" + s: "" + type: INTS +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "Split a tensor into a list of tensors, along the specified\n\'axis\'. Lengths of the parts can be specified using argument \'split\'.\nOtherwise, the tensor is split to equal sized parts.\n" +----f +input: "input" +input: "split" +output: "output_sequence" +name: "SplitToSequence" +op_type: "SplitToSequence" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "split-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "Split a tensor into a sequence of tensors, along the specified\n\'axis\'. Lengths of the parts can be specified using argument \'split\'.\n\'split\' must contain only positive numbers.\n\'split\' is either a scalar (tensor of empty shape), or a 1-D tensor.\nIf \'split\' is a scalar, then \'input\' will be split into equally sized chunks(if possible).\nLast chunk will be smaller if the \'input\' size along the given axis \'axis\' is not divisible\nby \'split\'.\nOtherwise, the tensor is split into \'size(split)\' chunks, with lengths of the parts on \'axis\'\nspecified in \'split\'. In this scenario, the sum of entries in \'split\' must be equal to the\ndimension size of input tensor on \'axis\'.\n" +----f +input: "X" +output: "Y" +name: "Sqrt" +op_type: "Sqrt" +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nSquare root takes one input data (Tensor) and produces one output data\n(Tensor) where the square root is, y = x^0.5, is applied to\nthe tensor elementwise. If x is negative, then it will return NaN.\n" +----f +input: "data" +output: "squeezed" +name: "Squeeze" +op_type: "Squeeze" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nRemove single-dimensional entries from the shape of a tensor.\nTakes a parameter `axes` with a list of axes to squeeze.\nIf `axes` is not provided, all the single dimensions will be removed from\nthe shape. If an axis is selected with shape entry not equal to one, an error is raised.\n" +----f +input: "X" +output: "Y" +name: "StringNormalizer" +op_type: "StringNormalizer" +attribute { + name: "case_change_action" + s: "NONE" + type: STRING +} +attribute { + name: "is_case_sensitive" + i: 0 + type: INT +} +attribute { + name: "locale" + s: "" + type: STRING +} +attribute { + name: "stopwords" + s: "" + type: STRINGS +} +attribute { + name: "X-types" + strings: "string" + type: STRINGS +} +doc_string: "\nStringNormalization performs string operations for basic cleaning.\nThis operator has only one input (denoted by X) and only one output\n(denoted by Y). This operator first examines the elements in the X,\nand removes elements specified in \"stopwords\" attribute.\nAfter removing stop words, the intermediate result can be further lowercased,\nuppercased, or just returned depending the \"case_change_action\" attribute.\nThis operator only accepts [C]- and [1, C]-tensor.\nIf all elements in X are dropped, the output will be the empty value of string tensor with shape [1]\nif input shape is [C] and shape [1, 1] if input shape is [1, C].\n" +----f +input: "A" +input: "B" +output: "C" +name: "Sub" +op_type: "Sub" +attribute { + name: "A-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +attribute { + name: "B-types" + strings: "float16" + strings: "int32" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "uint64" + type: STRINGS +} +doc_string: "\nPerforms element-wise binary subtraction (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "data_0" +output: "sum" +name: "Sum" +op_type: "Sum" +attribute { + name: "data_0-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nElement-wise sum of each of the input tensors (with Numpy-style broadcasting support).\nAll inputs and outputs must have the same data type.\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "input" +output: "output" +name: "Tan" +op_type: "Tan" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the tangent of the given input tensor, element-wise.\n" +----f +input: "input" +output: "output" +name: "Tanh" +op_type: "Tanh" +attribute { + name: "input-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the hyperbolic tangent of the given input tensor element-wise.\n" +----f +input: "X" +output: "Y" +name: "TfIdfVectorizer" +op_type: "TfIdfVectorizer" +attribute { + name: "max_gram_length" + s: "" + type: INT +} +attribute { + name: "max_skip_count" + s: "" + type: INT +} +attribute { + name: "min_gram_length" + s: "" + type: INT +} +attribute { + name: "mode" + s: "" + type: STRING +} +attribute { + name: "ngram_counts" + s: "" + type: INTS +} +attribute { + name: "ngram_indexes" + s: "" + type: INTS +} +attribute { + name: "pool_int64s" + s: "" + type: INTS +} +attribute { + name: "pool_strings" + s: "" + type: STRINGS +} +attribute { + name: "weights" + s: "" + type: FLOATS +} +attribute { + name: "X-types" + strings: "string" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nThis transform extracts n-grams from the input sequence and save them as a vector. Input can\nbe either a 1-D or 2-D tensor. For 1-D input, output is the n-gram representation of that input.\nFor 2-D input, the output is also a 2-D tensor whose i-th row is the n-gram representation of the i-th input row.\nMore specifically, if input shape is [C], the corresponding output shape would be [max(ngram_indexes) + 1].\nIf input shape is [N, C], this operator produces a [N, max(ngram_indexes) + 1]-tensor.\n\nIn contrast to standard n-gram extraction, here, the indexes of extracting an n-gram from the original\nsequence are not necessarily consecutive numbers. The discontinuity between indexes are controlled by the number of skips.\nIf the number of skips is 2, we should skip two tokens when scanning through the original sequence.\nLet\'s consider an example. Assume that input sequence is [94, 17, 36, 12, 28] and the number of skips is 2.\nThe associated 2-grams are [94, 12] and [17, 28] respectively indexed by [0, 3] and [1, 4].\nIf the number of skips becomes 0, the 2-grams generated are [94, 17], [17, 36], [36, 12], [12, 28]\nindexed by [0, 1], [1, 2], [2, 3], [3, 4], respectively.\n\nThe output vector (denoted by Y) stores the count of each n-gram;\nY[ngram_indexes[i]] indicates the times that the i-th n-gram is found. The attribute ngram_indexes is used to determine the mapping\nbetween index i and the corresponding n-gram\'s output coordinate. If pool_int64s is [94, 17, 17, 36], ngram_indexes is [1, 0],\nngram_counts=[0, 0], then the Y[0] (first element in Y) and Y[1] (second element in Y) are the counts of [17, 36] and [94, 17],\nrespectively. An n-gram which cannot be found in pool_strings/pool_int64s should be ignored and has no effect on the output.\nNote that we may consider all skips up to S when generating the n-grams.\n\nThe examples used above are true if mode is \"TF\". If mode is \"IDF\", all the counts larger than 1 would be truncated to 1 and\nthe i-th element in weights would be used to scale (by multiplication) the count of the i-th n-gram in pool. If mode is \"TFIDF\",\nthis operator first computes the counts of all n-grams and then scale them by the associated values in the weights attribute.\n\nOnly one of pool_strings and pool_int64s can be set. If pool_int64s is set, the input should be an integer tensor.\nIf pool_strings is set, the input must be a string tensor.\n" +----f +input: "X" +output: "Y" +name: "ThresholdedRelu" +op_type: "ThresholdedRelu" +attribute { + name: "alpha" + f: 1.0 + type: FLOAT +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "float16" + type: STRINGS +} +doc_string: "\nThresholdedRelu takes one input data (Tensor) and produces one output data\n(Tensor) where the rectified linear function, y = x for x > alpha, y = 0 otherwise,\nis applied to the tensor elementwise.\n" +----f +input: "input" +input: "repeats" +output: "output" +name: "Tile" +op_type: "Tile" +attribute { + name: "input-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "repeats-types" + strings: "int64" + type: STRINGS +} +doc_string: "Constructs a tensor by tiling a given tensor.\nThis is the same as function `tile` in Numpy, but no broadcast.\nFor example A = [[1, 2], [3, 4]], B = [1, 2], tile(A, B) = [[1, 2, 1, 2], [3, 4, 3, 4]]\n" +----f +input: "X" +input: "K" +output: "Values" +output: "Indices" +name: "TopK" +op_type: "TopK" +attribute { + name: "axis" + i: -1 + type: INT +} +attribute { + name: "largest" + i: 1 + type: INT +} +attribute { + name: "sorted" + i: 1 + type: INT +} +attribute { + name: "X-types" + strings: "uint16" + strings: "int8" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "float" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "K-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nRetrieve the top-K largest or smallest elements along a specified axis. Given an input tensor of\nshape [a_1, a_2, ..., a_n, r] and integer argument k, return two outputs:\n -Value tensor of shape [a_1, a_2, ..., a_{axis-1}, k, a_{axis+1}, ... a_n]\n which contains the values of the top k elements along the specified axis\n -Index tensor of shape [a_1, a_2, ..., a_{axis-1}, k, a_{axis+1}, ... a_n] which\n contains the indices of the top k elements (original indices from the input\n tensor).\n\nIf \"largest\" is 1 (the default value) then the k largest elements are returned.\nIf \"sorted\" is 1 (the default value) then the resulting k elements will be sorted.\nIf \"sorted\" is 0, order of returned \'Values\' and \'Indices\' are undefined.\n\nGiven two equivalent values, this operator uses the indices along the axis as\n a tiebreaker. That is, the element with the lower index will appear first.\n" +----f +input: "data" +output: "transposed" +name: "Transpose" +op_type: "Transpose" +attribute { + name: "perm" + s: "" + type: INTS +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nTranspose the input tensor similar to numpy.transpose. For example, when\nperm=(1, 0, 2), given an input tensor of shape (1, 2, 3), the output shape\nwill be (2, 1, 3).\n" +----f +input: "X" +output: "Y" +output: "Z" +name: "TreeEnsembleClassifier" +op_type: "TreeEnsembleClassifier" +attribute { + name: "base_values" + s: "" + type: FLOATS +} +attribute { + name: "class_ids" + s: "" + type: INTS +} +attribute { + name: "class_nodeids" + s: "" + type: INTS +} +attribute { + name: "class_treeids" + s: "" + type: INTS +} +attribute { + name: "class_weights" + s: "" + type: FLOATS +} +attribute { + name: "classlabels_int64s" + s: "" + type: INTS +} +attribute { + name: "classlabels_strings" + s: "" + type: STRINGS +} +attribute { + name: "nodes_falsenodeids" + s: "" + type: INTS +} +attribute { + name: "nodes_featureids" + s: "" + type: INTS +} +attribute { + name: "nodes_hitrates" + s: "" + type: FLOATS +} +attribute { + name: "nodes_missing_value_tracks_true" + s: "" + type: INTS +} +attribute { + name: "nodes_modes" + s: "" + type: STRINGS +} +attribute { + name: "nodes_nodeids" + s: "" + type: INTS +} +attribute { + name: "nodes_treeids" + s: "" + type: INTS +} +attribute { + name: "nodes_truenodeids" + s: "" + type: INTS +} +attribute { + name: "nodes_values" + s: "" + type: FLOATS +} +attribute { + name: "post_transform" + s: "NONE" + type: STRING +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n Tree Ensemble classifier. Returns the top class for each of N inputs.
\n The attributes named \'nodes_X\' form a sequence of tuples, associated by \n index into the sequences, which must all be of equal length. These tuples\n define the nodes.
\n Similarly, all fields prefixed with \'class_\' are tuples of votes at the leaves.\n A leaf may have multiple votes, where each vote is weighted by\n the associated class_weights index.
\n One and only one of classlabels_strings or classlabels_int64s\n will be defined. The class_ids are indices into this list.\n" +----f +input: "X" +output: "Y" +name: "TreeEnsembleRegressor" +op_type: "TreeEnsembleRegressor" +attribute { + name: "aggregate_function" + s: "SUM" + type: STRING +} +attribute { + name: "base_values" + s: "" + type: FLOATS +} +attribute { + name: "n_targets" + s: "" + type: INT +} +attribute { + name: "nodes_falsenodeids" + s: "" + type: INTS +} +attribute { + name: "nodes_featureids" + s: "" + type: INTS +} +attribute { + name: "nodes_hitrates" + s: "" + type: FLOATS +} +attribute { + name: "nodes_missing_value_tracks_true" + s: "" + type: INTS +} +attribute { + name: "nodes_modes" + s: "" + type: STRINGS +} +attribute { + name: "nodes_nodeids" + s: "" + type: INTS +} +attribute { + name: "nodes_treeids" + s: "" + type: INTS +} +attribute { + name: "nodes_truenodeids" + s: "" + type: INTS +} +attribute { + name: "nodes_values" + s: "" + type: FLOATS +} +attribute { + name: "post_transform" + s: "NONE" + type: STRING +} +attribute { + name: "target_ids" + s: "" + type: INTS +} +attribute { + name: "target_nodeids" + s: "" + type: INTS +} +attribute { + name: "target_treeids" + s: "" + type: INTS +} +attribute { + name: "target_weights" + s: "" + type: FLOATS +} +attribute { + name: "X-types" + strings: "float" + strings: "double" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n Tree Ensemble regressor. Returns the regressed values for each input in N.
\n All args with nodes_ are fields of a tuple of tree nodes, and\n it is assumed they are the same length, and an index i will decode the\n tuple across these inputs. Each node id can appear only once\n for each tree id.
\n All fields prefixed with target_ are tuples of votes at the leaves.
\n A leaf may have multiple votes, where each vote is weighted by\n the associated target_weights index.
\n All trees must have their node ids start at 0 and increment by 1.
\n Mode enum is BRANCH_LEQ, BRANCH_LT, BRANCH_GTE, BRANCH_GT, BRANCH_EQ, BRANCH_NEQ, LEAF\n" +----f +input: "X" +output: "Y" +output: "indices" +output: "inverse_indices" +output: "counts" +name: "Unique" +op_type: "Unique" +attribute { + name: "axis" + s: "" + type: INT +} +attribute { + name: "sorted" + i: 1 + type: INT +} +attribute { + name: "X-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nFind the unique elements of a tensor. When an optional attribute \'axis\' is provided, unique subtensors sliced along the \'axis\' are returned. \nOtherwise the input tensor is flattened and unique values of the flattened tensor are returned. \n\nThis operator returns the unique values or sliced unique subtensors of the input tensor and three optional outputs. \nThe first output tensor \'Y\' contains all unique values or subtensors of the input. \nThe second optional output tensor \'indices\' contains indices of \'Y\' elements\' first occurance in \'X\'.. \nThe third optional output tensor \'inverse_indices\' contains, for elements of \'X\', its corresponding indices in \'Y\'. \". \nThe fourth optional output tensor \'counts\' contains the count of each element of \'Y\' in the input. \n\nOutputs are either sorted in ascending order or optionally in the order of the first occurrence of the values in the input. \n\nhttps://docs.scipy.org/doc/numpy/reference/generated/numpy.unique.html\n\nExample 1:\n input_X = [2, 1, 1, 3, 4, 3]\n attribute_sorted = 0\n attribute_axis = None\n output_Y = [2, 1, 3, 4]\n output_indices = [0, 1, 3, 4]\n output_inverse_indices = [0, 1, 1, 2, 3, 2]\n output_counts = [1, 2, 2, 1]\n\nExample 2:\n input_X = [[1, 3], [2, 3]]\n attribute_sorted = 1\n attribute_axis = None\n output_Y = [1, 2, 3]\n output_indices = [0, 2, 1]\n output_inverse_indices = [0, 2, 1, 2]\n output_counts = [1, 1, 2]\n\nExample 3:\n input_X = [[1, 0, 0], [1, 0, 0], [2, 3, 4]]\n attribute_sorted = 1\n attribute_axis = 0\n output_Y = [[1, 0, 0], [2, 3, 4]]\n output_indices = [0, 2]\n output_inverse_indices = [0, 0, 1]\n output_counts = [2, 1]\n\nExample 4:\n input_x = [[[1., 1.], [0., 1.], [2., 1.], [0., 1.]], \n [[1., 1.], [0., 1.], [2., 1.], [0., 1.]]]\n attribute_sorted = 1\n attribute_axis = 1\n\n intermediate data are presented below for better understanding: \n \n there are 4 subtensors sliced along axis 1 of input_x (shape = (2, 4, 2)):\n A: [[1, 1], [1, 1]], \n [[0, 1], [0, 1]], \n [[2, 1], [2, 1]], \n [[0, 1], [0, 1]].\n \n there are 3 unique subtensors: \n [[1, 1], [1, 1]], \n [[0, 1], [0, 1]], \n [[2, 1], [2, 1]].\n \n sorted unique subtensors:\n B: [[0, 1], [0, 1]], \n [[1, 1], [1, 1]], \n [[2, 1], [2, 1]].\n \n output_Y is constructed from B:\n [[[0. 1.], [1. 1.], [2. 1.]], \n [[0. 1.], [1. 1.], [2. 1.]]]\n\n output_indices is to map from B to A:\n [1, 0, 2]\n \n output_inverse_indices is to map from A to B:\n [1, 0, 2, 0]\n\n output_counts = [2 1 1]\n" +----f +input: "data" +output: "expanded" +name: "Unsqueeze" +op_type: "Unsqueeze" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\nInsert single-dimensional entries to the shape of an input tensor (`data`).\nTakes one required argument `axes` - which contains a list of dimension indices and this operator will insert a dimension of value `1` into the corresponding index of the output tensor (`expanded`).\n\nFor example:\n Given an input tensor (`data`) of shape [3, 4, 5], then\n Unsqueeze(data, axes=[0, 4]) outputs a tensor (`expanded`) containing same data as `data` but with shape [1, 3, 4, 5, 1].\n\nThe attribute `axes` should not contain any duplicate entries. It is an error if it contains duplicates.\nThe rank of the output tensor (`output_rank`) is the rank of the input tensor (`data`) plus the number of values in `axes`.\nEach value in `axes` should be within the (inclusive) range [-output_rank , output_rank - 1]. \nThe order of values in `axes` does not matter and can come in any order. \n\n" +----f +input: "X" +input: "scales" +output: "Y" +name: "Upsample" +op_type: "Upsample" +attribute { + name: "mode" + s: "nearest" + type: STRING +} +attribute { + name: "X-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "scales-types" + strings: "float" + type: STRINGS +} +doc_string: "\nUpsample the input tensor.\nEach dimension value of the output tensor is:\n output_dimension = floor(input_dimension * scale).\n" +----f +input: "condition" +input: "X" +input: "Y" +output: "output" +name: "Where" +op_type: "Where" +attribute { + name: "condition-types" + strings: "bool" + type: STRINGS +} +attribute { + name: "X-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +attribute { + name: "Y-types" + strings: "uint16" + strings: "int8" + strings: "bool" + strings: "int32" + strings: "float16" + strings: "uint8" + strings: "string" + strings: "double" + strings: "int64" + strings: "uint32" + strings: "complex64" + strings: "float" + strings: "complex128" + strings: "int16" + strings: "uint64" + type: STRINGS +} +doc_string: "\n Return elements, either from X or Y, depending on condition\n (with Numpy-style broadcasting support).\n Where behaves like numpy.where with three parameters:\n https://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html\n" +----f +input: "A" +input: "B" +output: "C" +name: "Xor" +op_type: "Xor" +attribute { + name: "A-types" + strings: "bool" + type: STRINGS +} +attribute { + name: "B-types" + strings: "bool" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `xor` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +----f +input: "X" +output: "Z" +name: "ZipMap" +op_type: "ZipMap" +attribute { + name: "classlabels_int64s" + s: "" + type: INTS +} +attribute { + name: "classlabels_strings" + s: "" + type: STRINGS +} +attribute { + name: "X-types" + strings: "float" + type: STRINGS +} +doc_string: "\n Creates a map from the input and the attributes.
\n The values are provided by the input tensor, while the keys are specified by the attributes.\n Must provide keys in either classlabels_strings or classlabels_int64s (but not both).
\n The columns of the tensor correspond one-by-one to the keys specified by the attributes. There must be as many columns as keys.
\n" +----f diff --git a/contrib/codegen-tools/onnx-def-gen/onnx_def_gen.py b/contrib/codegen-tools/onnx-def-gen/onnx_def_gen.py new file mode 100644 index 000000000..a5843b000 --- /dev/null +++ b/contrib/codegen-tools/onnx-def-gen/onnx_def_gen.py @@ -0,0 +1,131 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + +from onnx.defs import get_all_schemas +from onnx import NodeProto,GraphProto +from google.protobuf import text_format +import onnx.helper + + +nodes = [] +schemas = get_all_schemas() + + +def load_node(input_str): + """ + Return a node + :param input_str: + :return: + """ + node_proto = NodeProto() + text_format.Parse(input_str,node_proto) + return node_proto + +# default values for each type for serialization + + +def convert_attr_type_to_enum(attr_value): + """ + Pass in an attribute from OpDescriptor and + get back out the equivalent enum value + for conversion to an attribute proto. + :param attr_value: the attribute value + :return: + """ + if str(attr_value.type) == 'AttrType.INTS': + return 7 + elif str(attr_value.type) == 'AttrType.UNDEFINED': + return 0 + elif str(attr_value.type) == 'AttrType.FLOATS': + return 6 + elif str(attr_value.type) == 'AttrType.GRAPH': + return 5 + elif str(attr_value.type) == 'AttrType.GRAPHS': + return 10 + elif str(attr_value.type) == 'AttrType.INT': + return 2 + elif str(attr_value.type) == 'AttrType.STRING': + return 3 + elif str(attr_value.type) == 'AttrType.TENSOR': + return 4 + elif str(attr_value.type) == 'AttrType.TENSORS': + return 9 + elif str(attr_value.type) == 'AttrType.SPARSE_TENSOR': + return 11 + elif str(attr_value.type) == 'AttrType.SPARSE_TENSORS': + return 12 + elif str(attr_value.type) == 'AttrType.FLOAT': + return 1 + elif str(attr_value.type) == 'AttrType.STRINGS': + return 8 + else: + raise Exception('Invalid type passed in') + +def create_node_from_schema(schema): + + """ + Convert an OpSchema to a NodeProto + :param schema: the input OpSchema + :return: the equivalent NodeProto + """ + + node_proto = NodeProto() + for attribute in schema.attributes: + attr_value = schema.attributes[attribute] + if attr_value.default_value.name == '': + attr_value_new = onnx.helper.make_attribute(attr_value.name,'') + attr_value_new.type = convert_attr_type_to_enum(attr_value) + node_proto.attribute.append(attr_value_new) + else: + node_proto.attribute.append(attr_value.default_value) + node_proto.op_type = schema.name + node_proto.doc_string = schema.doc + node_proto.name = schema.name + for input_arr in schema.inputs: + input_types = input_arr.types + type_attr = onnx.helper.make_attribute(input_arr.name + '-types', [str(data_type).replace('tensor(', '').replace(')', '') for data_type in input_types]) + node_proto.attribute.append(type_attr) + + if node_proto.input is None: + node_proto.input = [] + node_proto.input.append(input_arr.name) + for output_arr in schema.outputs: + if node_proto.output is None: + node_proto.output = [] + output_types = output_arr.types + type_attr = onnx.helper.make_attribute(output_arr.name + '-types', + [str(data_type).replace('tensor(', '').replace(')', '') for data_type + in output_types]) + node_proto.attribute.append(type_attr) + node_proto.output.append(output_arr.name) + return node_proto + + +nodes = [create_node_from_schema(schema) for schema + in sorted(schemas, key=lambda s: s.name)] + +with open('onnx-op-defs.pb', 'wb') as f: + graph_proto = GraphProto() + graph_proto.node.extend(nodes) + f.write(graph_proto.SerializeToString()) + # for node in nodes: + # message_to_string = text_format.MessageToString(node, as_utf8=True) + # node_2 = load_node(message_to_string) + # f.write(message_to_string + '----f\n') + +# with open('onnx.pbtxt','r') as f: +# nodes = [load_node(node_str) for node_str in f.read().split('----f\n')] +# print(nodes) diff --git a/contrib/codegen-tools/onnx-def-gen/save_test.py b/contrib/codegen-tools/onnx-def-gen/save_test.py new file mode 100644 index 000000000..8f844e45c --- /dev/null +++ b/contrib/codegen-tools/onnx-def-gen/save_test.py @@ -0,0 +1,27 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + +import tensorflow as tf +from tensorflow.python.framework.convert_to_constants import convert_variables_to_constants_v2 + +def graph_as_func(): + S = tf.Variable(tf.constant([1, 2, 3, 4])) + result = tf.scatter_add(S, [0], [10]) + return result +a_function_that_uses_a_graph = tf.function(graph_as_func) +print(a_function_that_uses_a_graph.__attr__) +converted = convert_variables_to_constants_v2(a_function_that_uses_a_graph) +print(type(converted)) \ No newline at end of file diff --git a/contrib/codegen-tools/onnx-def-gen/test_onnx_lenet.py b/contrib/codegen-tools/onnx-def-gen/test_onnx_lenet.py new file mode 100644 index 000000000..c920eda1c --- /dev/null +++ b/contrib/codegen-tools/onnx-def-gen/test_onnx_lenet.py @@ -0,0 +1,18 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + +import onnx +loaded = onnx.load('lenet.onnx') \ No newline at end of file diff --git a/contrib/codegen-tools/onnx-def-gen/test_op_def_gen.py b/contrib/codegen-tools/onnx-def-gen/test_op_def_gen.py new file mode 100644 index 000000000..6be6a7348 --- /dev/null +++ b/contrib/codegen-tools/onnx-def-gen/test_op_def_gen.py @@ -0,0 +1,33 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + +from onnx_tf.common import attr_converter,attr_translator +from onnx_tf.handlers.backend import * +import onnx_tf +import onnx_tf.handlers.handler +import sys,inspect +import tensorflow as tf +from onnx_tf.backend import TensorflowBackend + + +current_module = sys.modules['onnx_tf.handlers.backend'] +modules = inspect.getmembers(current_module) +for name, obj in modules: + obj_modules = inspect.getmembers(obj) + for name2,module2 in obj_modules: + if inspect.isclass(module2): + result = module2 + print(module2) \ No newline at end of file diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/pom.xml b/contrib/deeplearning4j-nlp-uima/pom.xml similarity index 55% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/pom.xml rename to contrib/deeplearning4j-nlp-uima/pom.xml index 7ec64d395..bab0ad10c 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/pom.xml +++ b/contrib/deeplearning4j-nlp-uima/pom.xml @@ -1,54 +1,43 @@ - + + + + - - - deeplearning4j-nlp-parent - org.deeplearning4j - 1.0.0-SNAPSHOT - 4.0.0 + + org.deeplearning4j + deeplearning4j-nlp-parent + 1.0.0-SNAPSHOT + + deeplearning4j-nlp-uima - jar deeplearning4j-nlp-uima - UTF-8 + 1.8 + 1.8 - - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.8 - 1.8 - 1.8 - 1.8 - - - - - - org.cleartk @@ -69,27 +58,23 @@ junit junit - - org.mockito - mockito-core - ${mockito.version} - test + org.mockito + mockito-core + ${mockito.version} + test - ch.qos.logback logback-classic test - org.deeplearning4j deeplearning4j-ui ${project.version} test - org.deeplearning4j deeplearning4j-common-tests @@ -113,5 +98,4 @@ test-nd4j-cuda-11.0 - diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/annotator/PoStagger.java b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/annotator/PoStagger.java similarity index 90% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/annotator/PoStagger.java rename to contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/annotator/PoStagger.java index 66d5f9290..67143fda5 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/annotator/PoStagger.java +++ b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/annotator/PoStagger.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.uima.annotator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/annotator/SentenceAnnotator.java b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/annotator/SentenceAnnotator.java similarity index 58% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/annotator/SentenceAnnotator.java rename to contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/annotator/SentenceAnnotator.java index d3b67366c..9922470e1 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/annotator/SentenceAnnotator.java +++ b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/annotator/SentenceAnnotator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.uima.annotator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/annotator/StemmerAnnotator.java b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/annotator/StemmerAnnotator.java similarity index 59% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/annotator/StemmerAnnotator.java rename to contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/annotator/StemmerAnnotator.java index 87a0121e8..ea5654339 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/annotator/StemmerAnnotator.java +++ b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/annotator/StemmerAnnotator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.uima.annotator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/annotator/TokenizerAnnotator.java b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/annotator/TokenizerAnnotator.java similarity index 74% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/annotator/TokenizerAnnotator.java rename to contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/annotator/TokenizerAnnotator.java index 4fefa2db5..49a83b6be 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/annotator/TokenizerAnnotator.java +++ b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/annotator/TokenizerAnnotator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.uima.annotator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/sentiwordnet/SWN3.java b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/sentiwordnet/SWN3.java similarity index 90% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/sentiwordnet/SWN3.java rename to contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/sentiwordnet/SWN3.java index 7f77373ec..2c41fbde5 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/sentiwordnet/SWN3.java +++ b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/sentiwordnet/SWN3.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.uima.corpora.sentiwordnet; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/BinarizeTreeTransformer.java b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/BinarizeTreeTransformer.java similarity index 83% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/BinarizeTreeTransformer.java rename to contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/BinarizeTreeTransformer.java index ea1081d4e..d848909a7 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/BinarizeTreeTransformer.java +++ b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/BinarizeTreeTransformer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.uima.corpora.treeparser; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/CollapseUnaries.java b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/CollapseUnaries.java similarity index 54% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/CollapseUnaries.java rename to contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/CollapseUnaries.java index ea7b8a0aa..8f1aaf830 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/CollapseUnaries.java +++ b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/CollapseUnaries.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.uima.corpora.treeparser; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/HeadWordFinder.java b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/HeadWordFinder.java similarity index 87% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/HeadWordFinder.java rename to contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/HeadWordFinder.java index 88c762aa2..01ba8feaf 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/HeadWordFinder.java +++ b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/HeadWordFinder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.uima.corpora.treeparser; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/TreeFactory.java b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/TreeFactory.java similarity index 87% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/TreeFactory.java rename to contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/TreeFactory.java index acdb6884e..0d5c6e4c8 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/TreeFactory.java +++ b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/TreeFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.uima.corpora.treeparser; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/TreeIterator.java b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/TreeIterator.java similarity index 80% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/TreeIterator.java rename to contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/TreeIterator.java index 16319e76e..da9577421 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/TreeIterator.java +++ b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/TreeIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.uima.corpora.treeparser; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/TreeParser.java b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/TreeParser.java similarity index 94% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/TreeParser.java rename to contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/TreeParser.java index b9d6cc3ce..39fd86860 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/TreeParser.java +++ b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/TreeParser.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.uima.corpora.treeparser; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/TreeVectorizer.java b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/TreeVectorizer.java similarity index 81% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/TreeVectorizer.java rename to contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/TreeVectorizer.java index 48156d47e..e33b4027a 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/TreeVectorizer.java +++ b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/TreeVectorizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.uima.corpora.treeparser; diff --git a/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/transformer/TreeTransformer.java b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/transformer/TreeTransformer.java new file mode 100644 index 000000000..6bfe51aef --- /dev/null +++ b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/transformer/TreeTransformer.java @@ -0,0 +1,37 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.nlp.uima.corpora.treeparser.transformer; + +import org.deeplearning4j.nn.layers.feedforward.autoencoder.recursive.Tree; + +/** + * Tree transformer + * @author Adam Gibson + */ +public interface TreeTransformer { + + /** + * Applies a applyTransformToOrigin to a tree + * @param t the tree to applyTransformToOrigin + * @return the transformed tree + */ + Tree transform(Tree t); + + +} diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/sentenceiterator/UimaResultSetIterator.java b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/sentenceiterator/UimaResultSetIterator.java similarity index 84% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/sentenceiterator/UimaResultSetIterator.java rename to contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/sentenceiterator/UimaResultSetIterator.java index e6082057b..f6c3fd9c2 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/sentenceiterator/UimaResultSetIterator.java +++ b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/sentenceiterator/UimaResultSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.uima.sentenceiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/sentenceiterator/UimaSentenceIterator.java b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/sentenceiterator/UimaSentenceIterator.java similarity index 88% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/sentenceiterator/UimaSentenceIterator.java rename to contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/sentenceiterator/UimaSentenceIterator.java index 5fcfaa44b..3c363fe89 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/sentenceiterator/UimaSentenceIterator.java +++ b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/sentenceiterator/UimaSentenceIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.uima.sentenceiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/sentenceiterator/labelaware/LabelAwareUimaSentenceIterator.java b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/sentenceiterator/labelaware/LabelAwareUimaSentenceIterator.java similarity index 78% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/sentenceiterator/labelaware/LabelAwareUimaSentenceIterator.java rename to contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/sentenceiterator/labelaware/LabelAwareUimaSentenceIterator.java index 8750d5acd..bf64978c1 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/sentenceiterator/labelaware/LabelAwareUimaSentenceIterator.java +++ b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/sentenceiterator/labelaware/LabelAwareUimaSentenceIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.uima.sentenceiterator.labelaware; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/ConcurrentTokenizer.java b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/ConcurrentTokenizer.java similarity index 82% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/ConcurrentTokenizer.java rename to contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/ConcurrentTokenizer.java index 3570815e5..39fe23282 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/ConcurrentTokenizer.java +++ b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/ConcurrentTokenizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.uima.tokenization.tokenizer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/PosUimaTokenizer.java b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/PosUimaTokenizer.java similarity index 84% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/PosUimaTokenizer.java rename to contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/PosUimaTokenizer.java index 36b7f1d8d..f7a4dd0d6 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/PosUimaTokenizer.java +++ b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/PosUimaTokenizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.uima.tokenization.tokenizer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/UimaTokenizer.java b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/UimaTokenizer.java similarity index 76% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/UimaTokenizer.java rename to contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/UimaTokenizer.java index 56ac1f1ec..11dced9fd 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/UimaTokenizer.java +++ b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/UimaTokenizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.uima.tokenization.tokenizer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/preprocessor/CustomStemmingPreprocessor.java b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/preprocessor/CustomStemmingPreprocessor.java similarity index 57% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/preprocessor/CustomStemmingPreprocessor.java rename to contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/preprocessor/CustomStemmingPreprocessor.java index ac159b786..38a5afdde 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/preprocessor/CustomStemmingPreprocessor.java +++ b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/preprocessor/CustomStemmingPreprocessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.uima.tokenization.tokenizer.preprocessor; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/preprocessor/EmbeddedStemmingPreprocessor.java b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/preprocessor/EmbeddedStemmingPreprocessor.java similarity index 54% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/preprocessor/EmbeddedStemmingPreprocessor.java rename to contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/preprocessor/EmbeddedStemmingPreprocessor.java index c2df3112c..a855a8f40 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/preprocessor/EmbeddedStemmingPreprocessor.java +++ b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/preprocessor/EmbeddedStemmingPreprocessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.uima.tokenization.tokenizer.preprocessor; diff --git a/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/preprocessor/StemmingPreprocessor.java b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/preprocessor/StemmingPreprocessor.java new file mode 100644 index 000000000..d577eda90 --- /dev/null +++ b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/preprocessor/StemmingPreprocessor.java @@ -0,0 +1,41 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.nlp.uima.tokenization.tokenizer.preprocessor; + +import org.deeplearning4j.text.tokenization.tokenizer.preprocessor.CommonPreprocessor; +import org.tartarus.snowball.ext.PorterStemmer; + +/** + * This tokenizer preprocessor implements basic cleaning inherited from CommonPreprocessor + does english Porter stemming on tokens + * + * PLEASE NOTE: This preprocessor is thread-safe by using synchronized method + * + * @author raver119@gmail.com + */ +public class StemmingPreprocessor extends CommonPreprocessor { + @Override + public String preProcess(String token) { + String prep = super.preProcess(token); + PorterStemmer stemmer = new PorterStemmer(); + stemmer.setCurrent(prep); + stemmer.stem(); + + return stemmer.getCurrent(); + } +} diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizerfactory/PosUimaTokenizerFactory.java b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizerfactory/PosUimaTokenizerFactory.java similarity index 78% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizerfactory/PosUimaTokenizerFactory.java rename to contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizerfactory/PosUimaTokenizerFactory.java index c85078655..c2238b2d0 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizerfactory/PosUimaTokenizerFactory.java +++ b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizerfactory/PosUimaTokenizerFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.uima.tokenization.tokenizerfactory; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizerfactory/UimaTokenizerFactory.java b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizerfactory/UimaTokenizerFactory.java similarity index 81% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizerfactory/UimaTokenizerFactory.java rename to contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizerfactory/UimaTokenizerFactory.java index 37a3701fd..2fe9d8d79 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizerfactory/UimaTokenizerFactory.java +++ b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizerfactory/UimaTokenizerFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.uima.tokenization.tokenizerfactory; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/uima/UimaResource.java b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/uima/UimaResource.java similarity index 73% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/uima/UimaResource.java rename to contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/uima/UimaResource.java index 3beeae72a..c5a5cf9f1 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/uima/UimaResource.java +++ b/contrib/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/uima/UimaResource.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.uima.uima; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/AssertTestsExtendBaseClass.java b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/AssertTestsExtendBaseClass.java similarity index 52% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/AssertTestsExtendBaseClass.java rename to contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/AssertTestsExtendBaseClass.java index 1d33c542b..18eece77c 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/AssertTestsExtendBaseClass.java +++ b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/AssertTestsExtendBaseClass.java @@ -1,19 +1,21 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j; import lombok.extern.slf4j.Slf4j; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/UITest.java b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/UITest.java similarity index 75% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/UITest.java rename to contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/UITest.java index 452cdc642..877c38d80 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/UITest.java +++ b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/UITest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/WordVectorSerializerTest.java b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/WordVectorSerializerTest.java old mode 100755 new mode 100644 similarity index 97% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/WordVectorSerializerTest.java rename to contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/WordVectorSerializerTest.java index 7d6c0f559..4a12e8811 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/WordVectorSerializerTest.java +++ b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/WordVectorSerializerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/embeddings/loader/VectorsConfigurationTest.java b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/embeddings/loader/VectorsConfigurationTest.java similarity index 74% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/embeddings/loader/VectorsConfigurationTest.java rename to contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/embeddings/loader/VectorsConfigurationTest.java index a965afce1..880a93eb6 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/embeddings/loader/VectorsConfigurationTest.java +++ b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/embeddings/loader/VectorsConfigurationTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.embeddings.loader; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/word2vec/Word2VecTests.java b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/word2vec/Word2VecTests.java old mode 100755 new mode 100644 similarity index 98% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/word2vec/Word2VecTests.java rename to contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/word2vec/Word2VecTests.java index 73c7f0010..33034c449 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/word2vec/Word2VecTests.java +++ b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/word2vec/Word2VecTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.word2vec; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/word2vec/iterator/Word2VecIteratorTest.java b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/word2vec/iterator/Word2VecIteratorTest.java similarity index 75% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/word2vec/iterator/Word2VecIteratorTest.java rename to contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/word2vec/iterator/Word2VecIteratorTest.java index 704ef47e5..eefd00584 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/word2vec/iterator/Word2VecIteratorTest.java +++ b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/models/word2vec/iterator/Word2VecIteratorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.word2vec.iterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/sentenceiterator/SentenceIteratorTest.java b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/sentenceiterator/SentenceIteratorTest.java old mode 100755 new mode 100644 similarity index 76% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/sentenceiterator/SentenceIteratorTest.java rename to contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/sentenceiterator/SentenceIteratorTest.java index 9f35f399f..50e1a2073 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/sentenceiterator/SentenceIteratorTest.java +++ b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/sentenceiterator/SentenceIteratorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.sentenceiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/sentenceiterator/UimaResultSetIteratorTest.java b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/sentenceiterator/UimaResultSetIteratorTest.java similarity index 82% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/sentenceiterator/UimaResultSetIteratorTest.java rename to contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/sentenceiterator/UimaResultSetIteratorTest.java index 0858bbfd3..3b3983073 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/sentenceiterator/UimaResultSetIteratorTest.java +++ b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/sentenceiterator/UimaResultSetIteratorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.sentenceiterator; diff --git a/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/StemmingPreprocessorTest.java b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/StemmingPreprocessorTest.java new file mode 100644 index 000000000..7f33a9823 --- /dev/null +++ b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/StemmingPreprocessorTest.java @@ -0,0 +1,43 @@ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.text.tokenization.tokenizer.preprocessor; + +import org.deeplearning4j.BaseDL4JTest; +import org.deeplearning4j.nlp.uima.tokenization.tokenizer.preprocessor.StemmingPreprocessor; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +/** + * @author raver119@gmail.com + */ +public class StemmingPreprocessorTest extends BaseDL4JTest { + + @Test + public void testPreProcess() throws Exception { + StemmingPreprocessor preprocessor = new StemmingPreprocessor(); + + String test = "TESTING."; + + String output = preprocessor.preProcess(test); + + System.out.println("Output: " + output); + assertEquals("test", output); + } +} diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/tokenization/tokenizerfactory/PosUimaTokenizerFactoryTest.java b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/tokenization/tokenizerfactory/PosUimaTokenizerFactoryTest.java similarity index 67% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/tokenization/tokenizerfactory/PosUimaTokenizerFactoryTest.java rename to contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/tokenization/tokenizerfactory/PosUimaTokenizerFactoryTest.java index 53ea149e4..db7e4caf8 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/tokenization/tokenizerfactory/PosUimaTokenizerFactoryTest.java +++ b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/tokenization/tokenizerfactory/PosUimaTokenizerFactoryTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.tokenization.tokenizerfactory; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/treeparser/TreeParserTest.java b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/treeparser/TreeParserTest.java old mode 100755 new mode 100644 similarity index 63% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/treeparser/TreeParserTest.java rename to contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/treeparser/TreeParserTest.java index 5f6fe585f..f48cfc8f7 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/treeparser/TreeParserTest.java +++ b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/treeparser/TreeParserTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.treeparser; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/treeparser/TreeTransformerTests.java b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/treeparser/TreeTransformerTests.java old mode 100755 new mode 100644 similarity index 73% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/treeparser/TreeTransformerTests.java rename to contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/treeparser/TreeTransformerTests.java index ad4b73065..831fff4ec --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/treeparser/TreeTransformerTests.java +++ b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/treeparser/TreeTransformerTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.treeparser; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/util/ContextLabelTest.java b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/util/ContextLabelTest.java old mode 100755 new mode 100644 similarity index 66% rename from deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/util/ContextLabelTest.java rename to contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/util/ContextLabelTest.java index bcbd7a97e..1bef3fe3d --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/util/ContextLabelTest.java +++ b/contrib/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/util/ContextLabelTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * Copyright (c) 2021 Deeplearning4j Contributors + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.util; diff --git a/contrib/formatter.xml b/contrib/formatter.xml index d6cc96bf6..5b01cef2f 100644 --- a/contrib/formatter.xml +++ b/contrib/formatter.xml @@ -1,19 +1,21 @@ - + diff --git a/datavec/buildmultiplescalaversions.sh b/datavec/buildmultiplescalaversions.sh index b0367f06c..4f6f4bd5d 100755 --- a/datavec/buildmultiplescalaversions.sh +++ b/datavec/buildmultiplescalaversions.sh @@ -1,19 +1,21 @@ #! /bin/bash -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ BASEDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" diff --git a/datavec/datavec-api/pom.xml b/datavec/datavec-api/pom.xml index 0b01863f6..03b40d75d 100644 --- a/datavec/datavec-api/pom.xml +++ b/datavec/datavec-api/pom.xml @@ -1,29 +1,33 @@ - + + + + + 4.0.0 - - datavec-parent org.datavec + datavec-parent 1.0.0-SNAPSHOT - jar - 4.0.0 datavec-api @@ -31,12 +35,10 @@ org.apache.commons commons-lang3 - ${commons-lang3.version} commons-io commons-io - ${commons-io.version} commons-codec @@ -46,12 +48,10 @@ org.slf4j slf4j-api - ${slf4j.version} joda-time joda-time - ${jodatime.version} @@ -59,61 +59,37 @@ jackson ${nd4j.version} - org.freemarker freemarker ${freemarker.version} - org.nd4j nd4j-common - ${nd4j.version} - org.nd4j nd4j-api - ${nd4j.version} - - - org.nd4j - nd4j-common-tests - ${nd4j.version} - test - - - - - ch.qos.logback - logback-classic - ${logback.version} - test - - com.clearspring.analytics stream ${stream.analytics.version} - net.sf.opencsv opencsv ${opencsv.version} - com.tdunning t-digest ${tdigest.version} - it.unimi.dsi fastutil diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/conf/Configurable.java b/datavec/datavec-api/src/main/java/org/datavec/api/conf/Configurable.java index d856d1bda..0d69c23eb 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/conf/Configurable.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/conf/Configurable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.conf; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/conf/Configuration.java b/datavec/datavec-api/src/main/java/org/datavec/api/conf/Configuration.java index 9ea2f5ad3..fb900445c 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/conf/Configuration.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/conf/Configuration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.conf; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/conf/Configured.java b/datavec/datavec-api/src/main/java/org/datavec/api/conf/Configured.java index d41088baf..3d0480e78 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/conf/Configured.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/conf/Configured.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.conf; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/exceptions/DataVecException.java b/datavec/datavec-api/src/main/java/org/datavec/api/exceptions/DataVecException.java index 335afdb0f..d0e089879 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/exceptions/DataVecException.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/exceptions/DataVecException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.exceptions; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/exceptions/UnknownFormatException.java b/datavec/datavec-api/src/main/java/org/datavec/api/exceptions/UnknownFormatException.java index 4498d0c0d..dadba7843 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/exceptions/UnknownFormatException.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/exceptions/UnknownFormatException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.exceptions; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/BaseInputFormat.java b/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/BaseInputFormat.java index 3b995bc19..fae6c3de9 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/BaseInputFormat.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/BaseInputFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.formats.input; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/InputFormat.java b/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/InputFormat.java index 86623a6a5..c527ca21c 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/InputFormat.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/InputFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.formats.input; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/impl/CSVInputFormat.java b/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/impl/CSVInputFormat.java index ad06112ab..cc7be6f96 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/impl/CSVInputFormat.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/impl/CSVInputFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.formats.input.impl; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/impl/LibSvmInputFormat.java b/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/impl/LibSvmInputFormat.java index 393175c3c..f78049b78 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/impl/LibSvmInputFormat.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/impl/LibSvmInputFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.formats.input.impl; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/impl/LineInputFormat.java b/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/impl/LineInputFormat.java index 8f20f0959..fbaf54a58 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/impl/LineInputFormat.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/impl/LineInputFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.formats.input.impl; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/impl/ListStringInputFormat.java b/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/impl/ListStringInputFormat.java index 6764c37d4..a600cf973 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/impl/ListStringInputFormat.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/impl/ListStringInputFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.formats.input.impl; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/impl/MatlabInputFormat.java b/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/impl/MatlabInputFormat.java index c52436095..219586a49 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/impl/MatlabInputFormat.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/impl/MatlabInputFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.formats.input.impl; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/impl/SVMLightInputFormat.java b/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/impl/SVMLightInputFormat.java index 43f0f9665..56e74ad5e 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/impl/SVMLightInputFormat.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/formats/input/impl/SVMLightInputFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.formats.input.impl; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/formats/output/OutputFormat.java b/datavec/datavec-api/src/main/java/org/datavec/api/formats/output/OutputFormat.java index d74c651b5..a0b52286e 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/formats/output/OutputFormat.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/formats/output/OutputFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.formats.output; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/formats/output/impl/CSVOutputFormat.java b/datavec/datavec-api/src/main/java/org/datavec/api/formats/output/impl/CSVOutputFormat.java index d8c06394e..ca003c4f5 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/formats/output/impl/CSVOutputFormat.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/formats/output/impl/CSVOutputFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.formats.output.impl; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/formats/output/impl/LibSvmOutputFormat.java b/datavec/datavec-api/src/main/java/org/datavec/api/formats/output/impl/LibSvmOutputFormat.java index a5f8f8fcd..bb3938260 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/formats/output/impl/LibSvmOutputFormat.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/formats/output/impl/LibSvmOutputFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.formats.output.impl; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/formats/output/impl/LineOutputFormat.java b/datavec/datavec-api/src/main/java/org/datavec/api/formats/output/impl/LineOutputFormat.java index c2d6dfa8e..0c2e0672a 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/formats/output/impl/LineOutputFormat.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/formats/output/impl/LineOutputFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.formats.output.impl; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/formats/output/impl/SVMLightOutputFormat.java b/datavec/datavec-api/src/main/java/org/datavec/api/formats/output/impl/SVMLightOutputFormat.java index e737b72a0..955dcc1cb 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/formats/output/impl/SVMLightOutputFormat.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/formats/output/impl/SVMLightOutputFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.formats.output.impl; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/io/BinaryComparable.java b/datavec/datavec-api/src/main/java/org/datavec/api/io/BinaryComparable.java index 51fec4a4e..ff20f7f5e 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/io/BinaryComparable.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/io/BinaryComparable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.io; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/io/DataInputBuffer.java b/datavec/datavec-api/src/main/java/org/datavec/api/io/DataInputBuffer.java index 786053f56..7a44a0823 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/io/DataInputBuffer.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/io/DataInputBuffer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.io; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/io/DataOutputBuffer.java b/datavec/datavec-api/src/main/java/org/datavec/api/io/DataOutputBuffer.java index fb35208fb..330824db9 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/io/DataOutputBuffer.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/io/DataOutputBuffer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.io; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/io/RawComparator.java b/datavec/datavec-api/src/main/java/org/datavec/api/io/RawComparator.java index ce57152ba..8afaa7c1e 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/io/RawComparator.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/io/RawComparator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.io; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/io/WritableComparable.java b/datavec/datavec-api/src/main/java/org/datavec/api/io/WritableComparable.java index 895cd913c..227d3cc13 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/io/WritableComparable.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/io/WritableComparable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.io; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/io/WritableComparator.java b/datavec/datavec-api/src/main/java/org/datavec/api/io/WritableComparator.java index bc7109a2c..bafd8e738 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/io/WritableComparator.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/io/WritableComparator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.io; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/io/WritableConverter.java b/datavec/datavec-api/src/main/java/org/datavec/api/io/WritableConverter.java index 914bb26cb..ac9aeca5f 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/io/WritableConverter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/io/WritableConverter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.io; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/io/WritableUtils.java b/datavec/datavec-api/src/main/java/org/datavec/api/io/WritableUtils.java index 38cb222e5..c11fdbcf4 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/io/WritableUtils.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/io/WritableUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.io; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/io/converters/DoubleWritableConverter.java b/datavec/datavec-api/src/main/java/org/datavec/api/io/converters/DoubleWritableConverter.java index 5250b2ee1..8c7fe593f 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/io/converters/DoubleWritableConverter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/io/converters/DoubleWritableConverter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.io.converters; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/io/converters/FloatWritableConverter.java b/datavec/datavec-api/src/main/java/org/datavec/api/io/converters/FloatWritableConverter.java index 06c0ca853..ff9c759ce 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/io/converters/FloatWritableConverter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/io/converters/FloatWritableConverter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.io.converters; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/io/converters/LabelWriterConverter.java b/datavec/datavec-api/src/main/java/org/datavec/api/io/converters/LabelWriterConverter.java index 1ed0a9490..0f45bb4b6 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/io/converters/LabelWriterConverter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/io/converters/LabelWriterConverter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.io.converters; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/io/converters/SelfWritableConverter.java b/datavec/datavec-api/src/main/java/org/datavec/api/io/converters/SelfWritableConverter.java index bee36b40d..0f005d714 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/io/converters/SelfWritableConverter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/io/converters/SelfWritableConverter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.io.converters; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/io/converters/WritableConverterException.java b/datavec/datavec-api/src/main/java/org/datavec/api/io/converters/WritableConverterException.java index 37fc0b1f3..f45cada86 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/io/converters/WritableConverterException.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/io/converters/WritableConverterException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.io.converters; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/io/filters/BalancedPathFilter.java b/datavec/datavec-api/src/main/java/org/datavec/api/io/filters/BalancedPathFilter.java index 7ac860d8a..07852af23 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/io/filters/BalancedPathFilter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/io/filters/BalancedPathFilter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.io.filters; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/io/filters/PathFilter.java b/datavec/datavec-api/src/main/java/org/datavec/api/io/filters/PathFilter.java index bf30d4d98..bcbe80576 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/io/filters/PathFilter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/io/filters/PathFilter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.io.filters; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/io/filters/RandomPathFilter.java b/datavec/datavec-api/src/main/java/org/datavec/api/io/filters/RandomPathFilter.java index 67660cb4f..67108e504 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/io/filters/RandomPathFilter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/io/filters/RandomPathFilter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.io.filters; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/io/labels/ParentPathLabelGenerator.java b/datavec/datavec-api/src/main/java/org/datavec/api/io/labels/ParentPathLabelGenerator.java index 1d6096a2e..5e058a1d5 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/io/labels/ParentPathLabelGenerator.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/io/labels/ParentPathLabelGenerator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.io.labels; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/io/labels/PathLabelGenerator.java b/datavec/datavec-api/src/main/java/org/datavec/api/io/labels/PathLabelGenerator.java index 3ffb924a8..dcf3377e4 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/io/labels/PathLabelGenerator.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/io/labels/PathLabelGenerator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.io.labels; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/io/labels/PathMultiLabelGenerator.java b/datavec/datavec-api/src/main/java/org/datavec/api/io/labels/PathMultiLabelGenerator.java index 4b3bf41f3..680bf7dd4 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/io/labels/PathMultiLabelGenerator.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/io/labels/PathMultiLabelGenerator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.io.labels; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/io/labels/PatternPathLabelGenerator.java b/datavec/datavec-api/src/main/java/org/datavec/api/io/labels/PatternPathLabelGenerator.java index c976dc08a..478ab8899 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/io/labels/PatternPathLabelGenerator.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/io/labels/PatternPathLabelGenerator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.io.labels; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/io/serializers/Deserializer.java b/datavec/datavec-api/src/main/java/org/datavec/api/io/serializers/Deserializer.java index db0192b60..e38171bfd 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/io/serializers/Deserializer.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/io/serializers/Deserializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.io.serializers; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/io/serializers/Serialization.java b/datavec/datavec-api/src/main/java/org/datavec/api/io/serializers/Serialization.java index eedab7df4..613f62139 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/io/serializers/Serialization.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/io/serializers/Serialization.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.io.serializers; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/io/serializers/SerializationFactory.java b/datavec/datavec-api/src/main/java/org/datavec/api/io/serializers/SerializationFactory.java index e9a7ae7f9..613a2dbaa 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/io/serializers/SerializationFactory.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/io/serializers/SerializationFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.io.serializers; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/io/serializers/Serializer.java b/datavec/datavec-api/src/main/java/org/datavec/api/io/serializers/Serializer.java index 59cd01de0..cd83f4def 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/io/serializers/Serializer.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/io/serializers/Serializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.io.serializers; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/Buffer.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/Buffer.java index 1ae3ec7f5..4df38ab2b 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/Buffer.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/Buffer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/IOUtils.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/IOUtils.java index 34937e01d..993e2efac 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/IOUtils.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/IOUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/Index.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/Index.java index c137e0b99..137d92b32 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/Index.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/Index.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/Record.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/Record.java index 01e8b9c54..e488d9540 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/Record.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/Record.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/SequenceRecord.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/SequenceRecord.java index 3203f3bfb..3734c8fa8 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/SequenceRecord.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/SequenceRecord.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/converter/RecordReaderConverter.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/converter/RecordReaderConverter.java index 48d7d8334..2e3b0f0c2 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/converter/RecordReaderConverter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/converter/RecordReaderConverter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.converter; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/impl/Record.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/impl/Record.java index 1357354d9..95f7dfd42 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/impl/Record.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/impl/Record.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.impl; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/impl/SequenceRecord.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/impl/SequenceRecord.java index c253b8050..74f6dfb2c 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/impl/SequenceRecord.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/impl/SequenceRecord.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.impl; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/listener/RecordListener.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/listener/RecordListener.java index 3929635d6..0445b7235 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/listener/RecordListener.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/listener/RecordListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.listener; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/listener/impl/LogRecordListener.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/listener/impl/LogRecordListener.java index c262c238a..c4c1a2a31 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/listener/impl/LogRecordListener.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/listener/impl/LogRecordListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.listener.impl; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/mapper/RecordMapper.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/mapper/RecordMapper.java index b7c9f2301..9eb818616 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/mapper/RecordMapper.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/mapper/RecordMapper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.mapper; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaData.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaData.java index dee1e22d4..476e788a8 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaData.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaData.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.metadata; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataComposable.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataComposable.java index fd8513cd9..0c2a415b7 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataComposable.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataComposable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.metadata; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataComposableMap.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataComposableMap.java index 93fbdab01..7a3a480c0 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataComposableMap.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataComposableMap.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.metadata; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataImageURI.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataImageURI.java index 01ea93899..bd048973f 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataImageURI.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataImageURI.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.metadata; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataIndex.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataIndex.java index 5da0f4bca..eed77dd73 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataIndex.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataIndex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.metadata; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataInterval.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataInterval.java index 0c2ac9709..6f3ad0f0d 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataInterval.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataInterval.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.metadata; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataLine.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataLine.java index 9c1c26024..c08f3a4ac 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataLine.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataLine.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.metadata; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataLineInterval.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataLineInterval.java index 9556c5bd7..d7bcf777f 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataLineInterval.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataLineInterval.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.metadata; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataURI.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataURI.java index 9683bf767..d892b3dec 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataURI.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/metadata/RecordMetaDataURI.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.metadata; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/BaseRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/BaseRecordReader.java index 99e26b8f2..39046fb3b 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/BaseRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/BaseRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/RecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/RecordReader.java index c21219a3a..40453105e 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/RecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/RecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/SequenceRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/SequenceRecordReader.java index b4dd18b7e..06f1fd089 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/SequenceRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/SequenceRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/factory/RecordReaderFactory.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/factory/RecordReaderFactory.java index 5ca3f7464..cd6695e70 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/factory/RecordReaderFactory.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/factory/RecordReaderFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.factory; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/factory/RecordWriterFactory.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/factory/RecordWriterFactory.java index 05e2ff1df..9a90f7a25 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/factory/RecordWriterFactory.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/factory/RecordWriterFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.factory; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/ComposableRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/ComposableRecordReader.java index 325682340..4cf50afdc 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/ComposableRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/ComposableRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/ConcatenatingRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/ConcatenatingRecordReader.java index 45a14d1f4..0ad707c79 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/ConcatenatingRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/ConcatenatingRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/FileRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/FileRecordReader.java index 3497c14e6..cc1f55954 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/FileRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/FileRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/LineRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/LineRecordReader.java index c3163f108..db0d610f9 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/LineRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/LineRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/collection/CollectionRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/collection/CollectionRecordReader.java index 903f9fa0b..684decbd7 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/collection/CollectionRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/collection/CollectionRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.collection; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/collection/CollectionSequenceRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/collection/CollectionSequenceRecordReader.java index 776835d11..ac5c493fd 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/collection/CollectionSequenceRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/collection/CollectionSequenceRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.collection; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/collection/ListStringRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/collection/ListStringRecordReader.java index c98579f02..afe1ab35a 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/collection/ListStringRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/collection/ListStringRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.collection; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVLineSequenceRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVLineSequenceRecordReader.java index d83b7fcd1..900a8d0e3 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVLineSequenceRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVLineSequenceRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.csv; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVMultiSequenceRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVMultiSequenceRecordReader.java index ab80f4bc8..c547481c6 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVMultiSequenceRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVMultiSequenceRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.csv; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVNLinesSequenceRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVNLinesSequenceRecordReader.java index 30fe99ac9..c24c186c3 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVNLinesSequenceRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVNLinesSequenceRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.csv; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVRecordReader.java index 81d403db9..75ea32db5 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.csv; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVRegexRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVRegexRecordReader.java index f368f4bd8..b373f94eb 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVRegexRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVRegexRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.csv; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVSequenceRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVSequenceRecordReader.java index a3808edaa..383fc7215 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVSequenceRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVSequenceRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.csv; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVVariableSlidingWindowRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVVariableSlidingWindowRecordReader.java index 585d5cb13..c0be3203e 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVVariableSlidingWindowRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVVariableSlidingWindowRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.csv; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/SerializableCSVParser.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/SerializableCSVParser.java index c46cbda8d..5ba1cbf2a 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/SerializableCSVParser.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/SerializableCSVParser.java @@ -1,26 +1,23 @@ -package org.datavec.api.records.reader.impl.csv; - -/** - - All contributions by Skymind, Inc. - Copyright (c) 2018 - 2019, Skymind, Inc. - - Original implementation and all contributions by Bytecode Pty Ltd. - Copyright 2005 Bytecode Pty Ltd. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ +package org.datavec.api.records.reader.impl.csv; + import java.io.IOException; import java.io.Serializable; import java.util.ArrayList; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/filebatch/FileBatchRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/filebatch/FileBatchRecordReader.java index 341d77c7b..6d1bbded8 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/filebatch/FileBatchRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/filebatch/FileBatchRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.filebatch; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/filebatch/FileBatchSequenceRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/filebatch/FileBatchSequenceRecordReader.java index 4545f58a5..47bafea4e 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/filebatch/FileBatchSequenceRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/filebatch/FileBatchSequenceRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.filebatch; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/inmemory/InMemoryRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/inmemory/InMemoryRecordReader.java index e6a58b090..2251738c4 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/inmemory/InMemoryRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/inmemory/InMemoryRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.inmemory; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/inmemory/InMemorySequenceRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/inmemory/InMemorySequenceRecordReader.java index 2faa36a9b..6fca9f062 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/inmemory/InMemorySequenceRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/inmemory/InMemorySequenceRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.inmemory; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/jackson/FieldSelection.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/jackson/FieldSelection.java index 6f2768e83..13d830b20 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/jackson/FieldSelection.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/jackson/FieldSelection.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.jackson; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/jackson/JacksonLineRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/jackson/JacksonLineRecordReader.java index 4553b82e3..dc2dad752 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/jackson/JacksonLineRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/jackson/JacksonLineRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.jackson; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/jackson/JacksonLineSequenceRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/jackson/JacksonLineSequenceRecordReader.java index 8352f98fc..9b0d6299c 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/jackson/JacksonLineSequenceRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/jackson/JacksonLineSequenceRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.jackson; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/jackson/JacksonReaderUtils.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/jackson/JacksonReaderUtils.java index 03826012c..9963e7735 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/jackson/JacksonReaderUtils.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/jackson/JacksonReaderUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.jackson; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/jackson/JacksonRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/jackson/JacksonRecordReader.java index f2c281884..cb515f68e 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/jackson/JacksonRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/jackson/JacksonRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.jackson; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/misc/LibSvmRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/misc/LibSvmRecordReader.java index eb902f904..df75d159e 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/misc/LibSvmRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/misc/LibSvmRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.misc; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/misc/MatlabRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/misc/MatlabRecordReader.java index 537ef7469..e7aac9ed5 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/misc/MatlabRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/misc/MatlabRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.misc; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/misc/SVMLightRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/misc/SVMLightRecordReader.java index 0cfde0564..4042318d8 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/misc/SVMLightRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/misc/SVMLightRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.misc; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/regex/RegexLineRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/regex/RegexLineRecordReader.java index e6d0ab450..b975f7159 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/regex/RegexLineRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/regex/RegexLineRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.regex; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/regex/RegexSequenceRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/regex/RegexSequenceRecordReader.java index 61552370b..ccebf5a38 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/regex/RegexSequenceRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/regex/RegexSequenceRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.regex; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/transform/TransformProcessRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/transform/TransformProcessRecordReader.java index 85c49bfe9..21f4def8f 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/transform/TransformProcessRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/transform/TransformProcessRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.transform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/transform/TransformProcessSequenceRecordReader.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/transform/TransformProcessSequenceRecordReader.java index 737f41358..edb86ed49 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/transform/TransformProcessSequenceRecordReader.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/transform/TransformProcessSequenceRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.transform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/RecordWriter.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/RecordWriter.java index 4bcbd08af..17971f3ce 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/RecordWriter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/RecordWriter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.writer; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/SequenceRecordWriter.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/SequenceRecordWriter.java index 399d48760..32dbadd1d 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/SequenceRecordWriter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/SequenceRecordWriter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.writer; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/impl/FileRecordWriter.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/impl/FileRecordWriter.java index 003db1c8d..818a0c67e 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/impl/FileRecordWriter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/impl/FileRecordWriter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.writer.impl; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/impl/LineRecordWriter.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/impl/LineRecordWriter.java index 9b6b99087..b52e4f609 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/impl/LineRecordWriter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/impl/LineRecordWriter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.writer.impl; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/impl/csv/CSVRecordWriter.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/impl/csv/CSVRecordWriter.java index 56456a8d6..62739440d 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/impl/csv/CSVRecordWriter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/impl/csv/CSVRecordWriter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.writer.impl.csv; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/impl/misc/LibSvmRecordWriter.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/impl/misc/LibSvmRecordWriter.java index 20d4204be..fa0e3c852 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/impl/misc/LibSvmRecordWriter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/impl/misc/LibSvmRecordWriter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.writer.impl.misc; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/impl/misc/MatlabRecordWriter.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/impl/misc/MatlabRecordWriter.java index 34522aea1..1889a2df2 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/impl/misc/MatlabRecordWriter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/impl/misc/MatlabRecordWriter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.writer.impl.misc; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/impl/misc/SVMLightRecordWriter.java b/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/impl/misc/SVMLightRecordWriter.java index 5d19689e0..71f859663 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/impl/misc/SVMLightRecordWriter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/records/writer/impl/misc/SVMLightRecordWriter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.writer.impl.misc; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/split/BaseInputSplit.java b/datavec/datavec-api/src/main/java/org/datavec/api/split/BaseInputSplit.java index bc997beec..85d2c5b2b 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/split/BaseInputSplit.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/split/BaseInputSplit.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.split; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/split/CollectionInputSplit.java b/datavec/datavec-api/src/main/java/org/datavec/api/split/CollectionInputSplit.java index 2e669c0e2..9a903ff33 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/split/CollectionInputSplit.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/split/CollectionInputSplit.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.split; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/split/FileSplit.java b/datavec/datavec-api/src/main/java/org/datavec/api/split/FileSplit.java index ab70d00c1..0be053cbc 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/split/FileSplit.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/split/FileSplit.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.split; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/split/InputSplit.java b/datavec/datavec-api/src/main/java/org/datavec/api/split/InputSplit.java index e573392ca..923cec2fc 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/split/InputSplit.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/split/InputSplit.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.split; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/split/InputStreamInputSplit.java b/datavec/datavec-api/src/main/java/org/datavec/api/split/InputStreamInputSplit.java index b2be71274..b00a482c1 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/split/InputStreamInputSplit.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/split/InputStreamInputSplit.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.split; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/split/ListStringSplit.java b/datavec/datavec-api/src/main/java/org/datavec/api/split/ListStringSplit.java index f03325a33..74b3217cc 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/split/ListStringSplit.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/split/ListStringSplit.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.split; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/split/NumberedFileInputSplit.java b/datavec/datavec-api/src/main/java/org/datavec/api/split/NumberedFileInputSplit.java index cb0f6cab5..77dbc0cc9 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/split/NumberedFileInputSplit.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/split/NumberedFileInputSplit.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.split; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/split/OutputStreamInputSplit.java b/datavec/datavec-api/src/main/java/org/datavec/api/split/OutputStreamInputSplit.java index cc99e7e3b..56f9b24c6 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/split/OutputStreamInputSplit.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/split/OutputStreamInputSplit.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.split; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/split/StreamInputSplit.java b/datavec/datavec-api/src/main/java/org/datavec/api/split/StreamInputSplit.java index ca55465ca..11083e147 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/split/StreamInputSplit.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/split/StreamInputSplit.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.split; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/split/StringSplit.java b/datavec/datavec-api/src/main/java/org/datavec/api/split/StringSplit.java index ebe23e71e..03df801cb 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/split/StringSplit.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/split/StringSplit.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.split; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/split/TransformSplit.java b/datavec/datavec-api/src/main/java/org/datavec/api/split/TransformSplit.java index ca49ad591..23a21e21a 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/split/TransformSplit.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/split/TransformSplit.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.split; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/split/partition/NumberOfRecordsPartitioner.java b/datavec/datavec-api/src/main/java/org/datavec/api/split/partition/NumberOfRecordsPartitioner.java index 71a7ba80f..88aaf0850 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/split/partition/NumberOfRecordsPartitioner.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/split/partition/NumberOfRecordsPartitioner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.split.partition; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/split/partition/PartitionMetaData.java b/datavec/datavec-api/src/main/java/org/datavec/api/split/partition/PartitionMetaData.java index b9e5f0ebb..33445e6ee 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/split/partition/PartitionMetaData.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/split/partition/PartitionMetaData.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.split.partition; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/split/partition/Partitioner.java b/datavec/datavec-api/src/main/java/org/datavec/api/split/partition/Partitioner.java index 45324d511..73fb33575 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/split/partition/Partitioner.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/split/partition/Partitioner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.split.partition; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/split/streams/FileStreamCreatorFunction.java b/datavec/datavec-api/src/main/java/org/datavec/api/split/streams/FileStreamCreatorFunction.java index c306da585..5f77e2722 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/split/streams/FileStreamCreatorFunction.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/split/streams/FileStreamCreatorFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.split.streams; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/timeseries/util/TimeSeriesWritableUtils.java b/datavec/datavec-api/src/main/java/org/datavec/api/timeseries/util/TimeSeriesWritableUtils.java index fcabe3650..f4b4eaa53 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/timeseries/util/TimeSeriesWritableUtils.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/timeseries/util/TimeSeriesWritableUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.timeseries.util; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ColumnOp.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ColumnOp.java index ae2d17788..242060453 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ColumnOp.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ColumnOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ColumnType.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ColumnType.java index 64b311ce8..ec3736d38 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ColumnType.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ColumnType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/DataAction.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/DataAction.java index f726db37a..0669c4c1c 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/DataAction.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/DataAction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/Distance.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/Distance.java index 52f64bb82..ecdbadbaa 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/Distance.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/Distance.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/MathFunction.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/MathFunction.java index 7166e02fd..99d788251 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/MathFunction.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/MathFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/MathOp.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/MathOp.java index 903f1115e..9ff59dc2d 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/MathOp.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/MathOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/Operation.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/Operation.java index ecb58543b..b60269c1b 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/Operation.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/Operation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform; public interface Operation { diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ReduceOp.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ReduceOp.java index e02bfe5ea..c2fcc71e2 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ReduceOp.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ReduceOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/StringReduceOp.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/StringReduceOp.java index 099a8dc69..46fcf5359 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/StringReduceOp.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/StringReduceOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/Transform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/Transform.java index 32f8f7cc5..34de51880 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/Transform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/Transform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/TransformProcess.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/TransformProcess.java index 9c6d66389..d09d9eab5 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/TransformProcess.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/TransformProcess.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/AnalysisCounter.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/AnalysisCounter.java index 5bc7cf2ea..e2ac7345e 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/AnalysisCounter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/AnalysisCounter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/DataAnalysis.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/DataAnalysis.java index 1b9fe890d..0fa7ee56c 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/DataAnalysis.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/DataAnalysis.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/DataVecAnalysisUtils.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/DataVecAnalysisUtils.java index 15c8cce91..02bc75b16 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/DataVecAnalysisUtils.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/DataVecAnalysisUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/SequenceDataAnalysis.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/SequenceDataAnalysis.java index 6156ead40..9e1a940e4 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/SequenceDataAnalysis.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/SequenceDataAnalysis.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/BytesAnalysis.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/BytesAnalysis.java index 9a40cd842..3153cf853 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/BytesAnalysis.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/BytesAnalysis.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.columns; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/CategoricalAnalysis.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/CategoricalAnalysis.java index a96524822..66c0de2dd 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/CategoricalAnalysis.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/CategoricalAnalysis.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.columns; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/ColumnAnalysis.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/ColumnAnalysis.java index c86584ede..8d4f8afee 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/ColumnAnalysis.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/ColumnAnalysis.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.columns; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/DoubleAnalysis.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/DoubleAnalysis.java index 453e5f619..9dd254097 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/DoubleAnalysis.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/DoubleAnalysis.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.columns; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/IntegerAnalysis.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/IntegerAnalysis.java index c42077f66..fdcdb0356 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/IntegerAnalysis.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/IntegerAnalysis.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.columns; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/LongAnalysis.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/LongAnalysis.java index d7aabb0b9..3dd4085c8 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/LongAnalysis.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/LongAnalysis.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.columns; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/NDArrayAnalysis.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/NDArrayAnalysis.java index ec92e34f6..a25c5c167 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/NDArrayAnalysis.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/NDArrayAnalysis.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.columns; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/NumericalColumnAnalysis.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/NumericalColumnAnalysis.java index ea27407f8..570259a6e 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/NumericalColumnAnalysis.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/NumericalColumnAnalysis.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.columns; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/StringAnalysis.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/StringAnalysis.java index 2eed3842e..65216794d 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/StringAnalysis.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/StringAnalysis.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.columns; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/TimeAnalysis.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/TimeAnalysis.java index 27abbe7f3..8dd5acd77 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/TimeAnalysis.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/columns/TimeAnalysis.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.columns; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/BytesAnalysisCounter.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/BytesAnalysisCounter.java index b253363a4..885835d72 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/BytesAnalysisCounter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/BytesAnalysisCounter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.counter; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/CategoricalAnalysisCounter.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/CategoricalAnalysisCounter.java index 83f302a64..759dc414c 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/CategoricalAnalysisCounter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/CategoricalAnalysisCounter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.counter; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/DoubleAnalysisCounter.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/DoubleAnalysisCounter.java index 9da317027..0a4469488 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/DoubleAnalysisCounter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/DoubleAnalysisCounter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.counter; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/IntegerAnalysisCounter.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/IntegerAnalysisCounter.java index 0d5d2cf4b..f01b20e42 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/IntegerAnalysisCounter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/IntegerAnalysisCounter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.counter; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/LongAnalysisCounter.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/LongAnalysisCounter.java index 3833140db..357b3d5e0 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/LongAnalysisCounter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/LongAnalysisCounter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.counter; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/NDArrayAnalysisCounter.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/NDArrayAnalysisCounter.java index ba4480d89..a1676bf52 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/NDArrayAnalysisCounter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/NDArrayAnalysisCounter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.counter; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/StatCounter.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/StatCounter.java index 967426ac1..a07466415 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/StatCounter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/StatCounter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.counter; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/StringAnalysisCounter.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/StringAnalysisCounter.java index 7d6eabc66..498c9620c 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/StringAnalysisCounter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/counter/StringAnalysisCounter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.counter; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/histogram/CategoricalHistogramCounter.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/histogram/CategoricalHistogramCounter.java index 95f5f822d..98ce19d66 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/histogram/CategoricalHistogramCounter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/histogram/CategoricalHistogramCounter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.histogram; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/histogram/DoubleHistogramCounter.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/histogram/DoubleHistogramCounter.java index a91fd4d91..c82c641cf 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/histogram/DoubleHistogramCounter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/histogram/DoubleHistogramCounter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.histogram; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/histogram/HistogramCounter.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/histogram/HistogramCounter.java index 380d0c3aa..97d30fcf1 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/histogram/HistogramCounter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/histogram/HistogramCounter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.histogram; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/histogram/NDArrayHistogramCounter.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/histogram/NDArrayHistogramCounter.java index 5b724893d..2e0fb5abe 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/histogram/NDArrayHistogramCounter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/histogram/NDArrayHistogramCounter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.histogram; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/histogram/StringHistogramCounter.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/histogram/StringHistogramCounter.java index 14cb6d706..9b5e0f19f 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/histogram/StringHistogramCounter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/histogram/StringHistogramCounter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.histogram; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/json/TDigestDeserializer.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/json/TDigestDeserializer.java index 5410dc38d..44a572253 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/json/TDigestDeserializer.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/json/TDigestDeserializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.json; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/json/TDigestSerializer.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/json/TDigestSerializer.java index 5e4ef33de..bc597df47 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/json/TDigestSerializer.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/json/TDigestSerializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.json; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/QualityAnalysisAddFunction.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/QualityAnalysisAddFunction.java index ee90a1b0f..480fa9597 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/QualityAnalysisAddFunction.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/QualityAnalysisAddFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.quality; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/QualityAnalysisCombineFunction.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/QualityAnalysisCombineFunction.java index ece0526ee..5cc02ca87 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/QualityAnalysisCombineFunction.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/QualityAnalysisCombineFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.quality; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/QualityAnalysisState.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/QualityAnalysisState.java index 64da4153b..77998e9f9 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/QualityAnalysisState.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/QualityAnalysisState.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.quality; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/bytes/BytesQualityAnalysisState.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/bytes/BytesQualityAnalysisState.java index fc04caf35..db2555f99 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/bytes/BytesQualityAnalysisState.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/bytes/BytesQualityAnalysisState.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.quality.bytes; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/categorical/CategoricalQualityAddFunction.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/categorical/CategoricalQualityAddFunction.java index 25fc463bd..9d6de8270 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/categorical/CategoricalQualityAddFunction.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/categorical/CategoricalQualityAddFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.quality.categorical; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/categorical/CategoricalQualityAnalysisState.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/categorical/CategoricalQualityAnalysisState.java index 1421fcfbe..0e71a53f7 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/categorical/CategoricalQualityAnalysisState.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/categorical/CategoricalQualityAnalysisState.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.quality.categorical; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/categorical/CategoricalQualityMergeFunction.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/categorical/CategoricalQualityMergeFunction.java index 231b1e785..63bbff902 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/categorical/CategoricalQualityMergeFunction.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/categorical/CategoricalQualityMergeFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.quality.categorical; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/integer/IntegerQualityAddFunction.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/integer/IntegerQualityAddFunction.java index 121c3b0cf..0c0c3129e 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/integer/IntegerQualityAddFunction.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/integer/IntegerQualityAddFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.quality.integer; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/integer/IntegerQualityAnalysisState.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/integer/IntegerQualityAnalysisState.java index b09bf5307..a3a8c5b34 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/integer/IntegerQualityAnalysisState.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/integer/IntegerQualityAnalysisState.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.quality.integer; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/integer/IntegerQualityMergeFunction.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/integer/IntegerQualityMergeFunction.java index d77b70f30..a9b4bebda 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/integer/IntegerQualityMergeFunction.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/integer/IntegerQualityMergeFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.quality.integer; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/longq/LongQualityAddFunction.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/longq/LongQualityAddFunction.java index 83ab500fa..9785e0868 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/longq/LongQualityAddFunction.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/longq/LongQualityAddFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.quality.longq; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/longq/LongQualityAnalysisState.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/longq/LongQualityAnalysisState.java index 40a6e84ec..64b3516c0 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/longq/LongQualityAnalysisState.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/longq/LongQualityAnalysisState.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.quality.longq; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/longq/LongQualityMergeFunction.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/longq/LongQualityMergeFunction.java index fe4163fe9..d87dac1ce 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/longq/LongQualityMergeFunction.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/longq/LongQualityMergeFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.quality.longq; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/real/RealQualityAddFunction.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/real/RealQualityAddFunction.java index 561deacd4..d60fff768 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/real/RealQualityAddFunction.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/real/RealQualityAddFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.quality.real; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/real/RealQualityAnalysisState.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/real/RealQualityAnalysisState.java index d97a6b225..40551bad3 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/real/RealQualityAnalysisState.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/real/RealQualityAnalysisState.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.quality.real; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/real/RealQualityMergeFunction.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/real/RealQualityMergeFunction.java index 8a3243863..532a2fd14 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/real/RealQualityMergeFunction.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/real/RealQualityMergeFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.quality.real; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/string/StringQualityAddFunction.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/string/StringQualityAddFunction.java index 0b3da66f8..87c9b4536 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/string/StringQualityAddFunction.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/string/StringQualityAddFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.quality.string; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/string/StringQualityAnalysisState.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/string/StringQualityAnalysisState.java index 13dfaa7b6..43a845de9 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/string/StringQualityAnalysisState.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/string/StringQualityAnalysisState.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.quality.string; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/string/StringQualityMergeFunction.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/string/StringQualityMergeFunction.java index 09deeabaa..6363c38ac 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/string/StringQualityMergeFunction.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/string/StringQualityMergeFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.quality.string; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/time/TimeQualityAddFunction.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/time/TimeQualityAddFunction.java index 1d37b4b86..a6ef28e18 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/time/TimeQualityAddFunction.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/time/TimeQualityAddFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.quality.time; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/time/TimeQualityAnalysisState.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/time/TimeQualityAnalysisState.java index 3d69db22e..6b79e0c6c 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/time/TimeQualityAnalysisState.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/time/TimeQualityAnalysisState.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.quality.time; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/time/TimeQualityMergeFunction.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/time/TimeQualityMergeFunction.java index 8a2c3acfd..f1571cdd1 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/time/TimeQualityMergeFunction.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/quality/time/TimeQualityMergeFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.quality.time; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/sequence/SequenceLengthAnalysis.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/sequence/SequenceLengthAnalysis.java index 349132eec..0e4f48ed4 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/sequence/SequenceLengthAnalysis.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/analysis/sequence/SequenceLengthAnalysis.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.analysis.sequence; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/BooleanCondition.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/BooleanCondition.java index 8b89b4039..5918d5de2 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/BooleanCondition.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/BooleanCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.condition; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/Condition.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/Condition.java index 6bd5b98ac..dbb7ba130 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/Condition.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/Condition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.condition; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/ConditionOp.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/ConditionOp.java index 5b38b110c..8846c4e02 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/ConditionOp.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/ConditionOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.condition; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/SequenceConditionMode.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/SequenceConditionMode.java index 5b3009a53..cb62cfc15 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/SequenceConditionMode.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/SequenceConditionMode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.condition; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/BaseColumnCondition.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/BaseColumnCondition.java index c253d8f9d..35c76772d 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/BaseColumnCondition.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/BaseColumnCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.condition.column; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/BooleanColumnCondition.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/BooleanColumnCondition.java index b99212380..aaf8ca7b5 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/BooleanColumnCondition.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/BooleanColumnCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.condition.column; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/CategoricalColumnCondition.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/CategoricalColumnCondition.java index 1acdf749c..402c9d467 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/CategoricalColumnCondition.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/CategoricalColumnCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.condition.column; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/ColumnCondition.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/ColumnCondition.java index f81961088..5cdfc9b76 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/ColumnCondition.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/ColumnCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.condition.column; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/DoubleColumnCondition.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/DoubleColumnCondition.java index d34c8ff77..63e2304f4 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/DoubleColumnCondition.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/DoubleColumnCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.condition.column; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/FloatColumnCondition.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/FloatColumnCondition.java index b6fee143f..91673fcd1 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/FloatColumnCondition.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/FloatColumnCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.condition.column; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/InfiniteColumnCondition.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/InfiniteColumnCondition.java index 7f47aa08d..fde01c612 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/InfiniteColumnCondition.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/InfiniteColumnCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.condition.column; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/IntegerColumnCondition.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/IntegerColumnCondition.java index eec538c58..68b213abe 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/IntegerColumnCondition.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/IntegerColumnCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.condition.column; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/InvalidValueColumnCondition.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/InvalidValueColumnCondition.java index cababe01d..9ed0a5b7c 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/InvalidValueColumnCondition.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/InvalidValueColumnCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.condition.column; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/LongColumnCondition.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/LongColumnCondition.java index 8e5c123ba..a40e9ab67 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/LongColumnCondition.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/LongColumnCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.condition.column; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/NaNColumnCondition.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/NaNColumnCondition.java index ab012b754..03467ea11 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/NaNColumnCondition.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/NaNColumnCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.condition.column; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/NullWritableColumnCondition.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/NullWritableColumnCondition.java index 393beb5ae..e2bef94c5 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/NullWritableColumnCondition.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/NullWritableColumnCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.condition.column; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/StringColumnCondition.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/StringColumnCondition.java index a3a3e75a6..5adb9f7fc 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/StringColumnCondition.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/StringColumnCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.condition.column; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/TimeColumnCondition.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/TimeColumnCondition.java index 1bbacde21..a16f52750 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/TimeColumnCondition.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/TimeColumnCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.condition.column; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/TrivialColumnCondition.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/TrivialColumnCondition.java index 2eab633c7..2d0ac352d 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/TrivialColumnCondition.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/column/TrivialColumnCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.condition.column; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/sequence/SequenceLengthCondition.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/sequence/SequenceLengthCondition.java index 5ef70e634..f4a33e012 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/sequence/SequenceLengthCondition.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/sequence/SequenceLengthCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.condition.sequence; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/string/StringRegexColumnCondition.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/string/StringRegexColumnCondition.java index 4ce938177..cb85c0212 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/string/StringRegexColumnCondition.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/condition/string/StringRegexColumnCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.condition.string; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/filter/BaseColumnFilter.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/filter/BaseColumnFilter.java index 8a6fdf72c..8097f1d15 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/filter/BaseColumnFilter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/filter/BaseColumnFilter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.filter; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/filter/ConditionFilter.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/filter/ConditionFilter.java index 30395c560..717a58db3 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/filter/ConditionFilter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/filter/ConditionFilter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.filter; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/filter/Filter.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/filter/Filter.java index 16870e9f9..e7a07006b 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/filter/Filter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/filter/Filter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.filter; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/filter/FilterInvalidValues.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/filter/FilterInvalidValues.java index ddf6e3957..f971d9f69 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/filter/FilterInvalidValues.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/filter/FilterInvalidValues.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.filter; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/filter/InvalidNumColumns.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/filter/InvalidNumColumns.java index 78bc69c46..df6ec51a4 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/filter/InvalidNumColumns.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/filter/InvalidNumColumns.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.filter; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/join/Join.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/join/Join.java index 427585f0d..66d4f7611 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/join/Join.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/join/Join.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.join; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/BaseColumnMetaData.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/BaseColumnMetaData.java index 4b04a6e31..c29830a37 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/BaseColumnMetaData.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/BaseColumnMetaData.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.metadata; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/BinaryMetaData.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/BinaryMetaData.java index 19e970759..5bc6c77e7 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/BinaryMetaData.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/BinaryMetaData.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.metadata; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/BooleanMetaData.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/BooleanMetaData.java index d468d92d6..53d56cff9 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/BooleanMetaData.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/BooleanMetaData.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.metadata; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/CategoricalMetaData.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/CategoricalMetaData.java index 14ce7dbf6..29cedb62d 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/CategoricalMetaData.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/CategoricalMetaData.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.metadata; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/ColumnMetaData.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/ColumnMetaData.java index 6889fbf31..b31815888 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/ColumnMetaData.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/ColumnMetaData.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.metadata; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/DoubleMetaData.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/DoubleMetaData.java index e5ad33a8e..19526e51d 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/DoubleMetaData.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/DoubleMetaData.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.metadata; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/FloatMetaData.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/FloatMetaData.java index 6177e4ea9..a05a03188 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/FloatMetaData.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/FloatMetaData.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.metadata; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/IntegerMetaData.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/IntegerMetaData.java index e9df15fb0..0870d2e77 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/IntegerMetaData.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/IntegerMetaData.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.metadata; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/LongMetaData.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/LongMetaData.java index 65c7e1e84..80aa1d18a 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/LongMetaData.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/LongMetaData.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.metadata; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/NDArrayMetaData.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/NDArrayMetaData.java index 5a7154b25..64546eed2 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/NDArrayMetaData.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/NDArrayMetaData.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.metadata; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/StringMetaData.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/StringMetaData.java index 574136e55..73de388db 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/StringMetaData.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/StringMetaData.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.metadata; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/TimeMetaData.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/TimeMetaData.java index 9e9934162..918dbde62 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/TimeMetaData.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/metadata/TimeMetaData.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.metadata; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ndarray/NDArrayColumnsMathOpTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ndarray/NDArrayColumnsMathOpTransform.java index 1abd115e4..d4ee74709 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ndarray/NDArrayColumnsMathOpTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ndarray/NDArrayColumnsMathOpTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ndarray; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ndarray/NDArrayDistanceTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ndarray/NDArrayDistanceTransform.java index e9064ee2d..9aed1bed4 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ndarray/NDArrayDistanceTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ndarray/NDArrayDistanceTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ndarray; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ndarray/NDArrayMathFunctionTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ndarray/NDArrayMathFunctionTransform.java index 4eb78a723..f56871a4f 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ndarray/NDArrayMathFunctionTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ndarray/NDArrayMathFunctionTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ndarray; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ndarray/NDArrayScalarOpTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ndarray/NDArrayScalarOpTransform.java index c292910f7..d4d2d8356 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ndarray/NDArrayScalarOpTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ndarray/NDArrayScalarOpTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ndarray; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/AggregableCheckingOp.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/AggregableCheckingOp.java index 0c0453607..760bd9bad 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/AggregableCheckingOp.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/AggregableCheckingOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ops; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/AggregableMultiOp.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/AggregableMultiOp.java index f0b8201df..a52e66ecf 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/AggregableMultiOp.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/AggregableMultiOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ops; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/AggregatorImpls.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/AggregatorImpls.java index 48d856e46..30b8b9769 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/AggregatorImpls.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/AggregatorImpls.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ops; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/ByteWritableOp.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/ByteWritableOp.java index 6cec35dd9..eeb8d7980 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/ByteWritableOp.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/ByteWritableOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ops; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/DispatchOp.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/DispatchOp.java index dbca779ae..f2a728e86 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/DispatchOp.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/DispatchOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ops; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/DispatchWithConditionOp.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/DispatchWithConditionOp.java index 8ef67bacb..de8cbdaec 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/DispatchWithConditionOp.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/DispatchWithConditionOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ops; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/DoubleWritableOp.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/DoubleWritableOp.java index 5753f0da0..d9bf078a8 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/DoubleWritableOp.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/DoubleWritableOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ops; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/FloatWritableOp.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/FloatWritableOp.java index 05ba1f2da..31fa4a64e 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/FloatWritableOp.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/FloatWritableOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ops; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/IAggregableReduceOp.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/IAggregableReduceOp.java index b9a7f2832..37d7fded8 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/IAggregableReduceOp.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/IAggregableReduceOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ops; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/IntWritableOp.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/IntWritableOp.java index 986bf4c06..2eabbe2cd 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/IntWritableOp.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/IntWritableOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ops; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/LongWritableOp.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/LongWritableOp.java index ea5aa5f65..32b9ffb56 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/LongWritableOp.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/LongWritableOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ops; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/StringAggregatorImpls.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/StringAggregatorImpls.java index 478515b51..3010e96f5 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/StringAggregatorImpls.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/StringAggregatorImpls.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ops; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/StringWritableOp.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/StringWritableOp.java index eb8311478..171c432e4 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/StringWritableOp.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ops/StringWritableOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ops; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/DataQualityAnalysis.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/DataQualityAnalysis.java index 8cdd92a7e..b95cf880f 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/DataQualityAnalysis.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/DataQualityAnalysis.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.quality; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/BytesQuality.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/BytesQuality.java index 81b153d7b..2c5687d24 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/BytesQuality.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/BytesQuality.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.quality.columns; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/CategoricalQuality.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/CategoricalQuality.java index 0a4336af9..9ea36500f 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/CategoricalQuality.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/CategoricalQuality.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.quality.columns; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/ColumnQuality.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/ColumnQuality.java index 2bbb80865..62339f788 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/ColumnQuality.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/ColumnQuality.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.quality.columns; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/DoubleQuality.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/DoubleQuality.java index badc0a0bc..2e986f729 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/DoubleQuality.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/DoubleQuality.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.quality.columns; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/IntegerQuality.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/IntegerQuality.java index 0a3242266..cb2d3bb75 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/IntegerQuality.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/IntegerQuality.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.quality.columns; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/LongQuality.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/LongQuality.java index 5e979dcbf..981960b3e 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/LongQuality.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/LongQuality.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.quality.columns; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/StringQuality.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/StringQuality.java index 267620e12..46a08026c 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/StringQuality.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/StringQuality.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.quality.columns; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/TimeQuality.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/TimeQuality.java index d669d9564..6fa84dcee 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/TimeQuality.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/quality/columns/TimeQuality.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.quality.columns; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/rank/CalculateSortedRank.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/rank/CalculateSortedRank.java index 1e5177c68..94952b30e 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/rank/CalculateSortedRank.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/rank/CalculateSortedRank.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.rank; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/reduce/AggregableColumnReduction.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/reduce/AggregableColumnReduction.java index 9a63c3261..cbe8bde51 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/reduce/AggregableColumnReduction.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/reduce/AggregableColumnReduction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.reduce; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/reduce/AggregableReductionUtils.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/reduce/AggregableReductionUtils.java index 1f72e1aa3..ac0c0c30f 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/reduce/AggregableReductionUtils.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/reduce/AggregableReductionUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.reduce; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/reduce/ColumnReduction.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/reduce/ColumnReduction.java index 07d43e53a..dd110ffdd 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/reduce/ColumnReduction.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/reduce/ColumnReduction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.reduce; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/reduce/IAssociativeReducer.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/reduce/IAssociativeReducer.java index 1a7aba2c6..873402b0c 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/reduce/IAssociativeReducer.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/reduce/IAssociativeReducer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.reduce; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/reduce/Reducer.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/reduce/Reducer.java index 43334733a..57a6fe531 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/reduce/Reducer.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/reduce/Reducer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.reduce; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/reduce/impl/GeographicMidpointReduction.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/reduce/impl/GeographicMidpointReduction.java index 4e6862dee..98e3792dc 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/reduce/impl/GeographicMidpointReduction.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/reduce/impl/GeographicMidpointReduction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.reduce.impl; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/schema/InferredSchema.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/schema/InferredSchema.java index 024e8cd4d..b634fefec 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/schema/InferredSchema.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/schema/InferredSchema.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.schema; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/schema/Schema.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/schema/Schema.java index 1c16ebcce..a1c675e8f 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/schema/Schema.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/schema/Schema.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.schema; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/schema/SequenceSchema.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/schema/SequenceSchema.java index 509ab75b4..60aa6e693 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/schema/SequenceSchema.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/schema/SequenceSchema.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.schema; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/schema/conversion/TypeConversion.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/schema/conversion/TypeConversion.java index 1f7e938b6..bfe422a95 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/schema/conversion/TypeConversion.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/schema/conversion/TypeConversion.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.schema.conversion; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/ConvertFromSequence.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/ConvertFromSequence.java index 34effa058..338a46285 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/ConvertFromSequence.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/ConvertFromSequence.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.sequence; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/ConvertToSequence.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/ConvertToSequence.java index 01b5d0070..bc6950ef3 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/ConvertToSequence.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/ConvertToSequence.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.sequence; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/ReduceSequenceTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/ReduceSequenceTransform.java index 6cf0ee7fe..a19ce2da2 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/ReduceSequenceTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/ReduceSequenceTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.sequence; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/SequenceComparator.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/SequenceComparator.java index a5677d1f5..509e49f39 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/SequenceComparator.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/SequenceComparator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.sequence; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/SequenceSplit.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/SequenceSplit.java index 3471dbaa3..fbf2b45e9 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/SequenceSplit.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/SequenceSplit.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.sequence; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/comparator/BaseColumnComparator.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/comparator/BaseColumnComparator.java index cbbf03a79..9ec437a95 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/comparator/BaseColumnComparator.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/comparator/BaseColumnComparator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.sequence.comparator; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/comparator/NumericalColumnComparator.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/comparator/NumericalColumnComparator.java index 7e7f53802..118f4d196 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/comparator/NumericalColumnComparator.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/comparator/NumericalColumnComparator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.sequence.comparator; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/comparator/StringComparator.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/comparator/StringComparator.java index e1c18bfd3..a481c40fa 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/comparator/StringComparator.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/comparator/StringComparator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.sequence.comparator; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/expansion/BaseSequenceExpansionTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/expansion/BaseSequenceExpansionTransform.java index 783918a7e..12ae183b6 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/expansion/BaseSequenceExpansionTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/expansion/BaseSequenceExpansionTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.sequence.expansion; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/merge/SequenceMerge.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/merge/SequenceMerge.java index 00f52790d..084990495 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/merge/SequenceMerge.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/merge/SequenceMerge.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.sequence.merge; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/split/SequenceSplitTimeSeparation.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/split/SequenceSplitTimeSeparation.java index 82290ba3a..a21f4cda1 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/split/SequenceSplitTimeSeparation.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/split/SequenceSplitTimeSeparation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.sequence.split; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/split/SplitMaxLengthSequence.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/split/SplitMaxLengthSequence.java index 410e55d9c..743cc230e 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/split/SplitMaxLengthSequence.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/split/SplitMaxLengthSequence.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.sequence.split; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/trim/SequenceTrimToLengthTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/trim/SequenceTrimToLengthTransform.java index 53ddcc7ce..1d44adea9 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/trim/SequenceTrimToLengthTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/trim/SequenceTrimToLengthTransform.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.datavec.api.transform.sequence.trim; import lombok.Data; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/trim/SequenceTrimTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/trim/SequenceTrimTransform.java index 3344caa38..96aa9dbe9 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/trim/SequenceTrimTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/trim/SequenceTrimTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.sequence.trim; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/window/OverlappingTimeWindowFunction.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/window/OverlappingTimeWindowFunction.java index c2ebba01a..47117198c 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/window/OverlappingTimeWindowFunction.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/window/OverlappingTimeWindowFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.sequence.window; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/window/ReduceSequenceByWindowTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/window/ReduceSequenceByWindowTransform.java index 8cf7c9b13..3787a8e54 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/window/ReduceSequenceByWindowTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/window/ReduceSequenceByWindowTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.sequence.window; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/window/TimeWindowFunction.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/window/TimeWindowFunction.java index c4474d172..669dfc93d 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/window/TimeWindowFunction.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/window/TimeWindowFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.sequence.window; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/window/WindowFunction.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/window/WindowFunction.java index 1456af8d7..20b138f59 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/window/WindowFunction.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/sequence/window/WindowFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.sequence.window; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/serde/BaseSerializer.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/serde/BaseSerializer.java index c0f51b515..f3ecaa6a3 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/serde/BaseSerializer.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/serde/BaseSerializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.serde; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/serde/JsonMappers.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/serde/JsonMappers.java index bfa114697..11cc9eb88 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/serde/JsonMappers.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/serde/JsonMappers.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.serde; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/serde/JsonSerializer.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/serde/JsonSerializer.java index 4b2297083..2d4231fd3 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/serde/JsonSerializer.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/serde/JsonSerializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.serde; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/serde/ListWrappers.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/serde/ListWrappers.java index fb46dbee4..b13f6c9f4 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/serde/ListWrappers.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/serde/ListWrappers.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.serde; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/serde/YamlSerializer.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/serde/YamlSerializer.java index 61537fa9e..48bbba477 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/serde/YamlSerializer.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/serde/YamlSerializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.serde; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/serde/legacy/LegacyJsonFormat.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/serde/legacy/LegacyJsonFormat.java index 8df741a49..3db82adcc 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/serde/legacy/LegacyJsonFormat.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/serde/legacy/LegacyJsonFormat.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.datavec.api.transform.serde.legacy; import lombok.AccessLevel; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/split/RandomSplit.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/split/RandomSplit.java index fe4718f48..25c4ba879 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/split/RandomSplit.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/split/RandomSplit.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.split; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/split/SplitStrategy.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/split/SplitStrategy.java index a3d12b15a..011ee312d 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/split/SplitStrategy.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/split/SplitStrategy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.split; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/stringreduce/IStringReducer.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/stringreduce/IStringReducer.java index 54bd7b7c8..3b4556a09 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/stringreduce/IStringReducer.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/stringreduce/IStringReducer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.stringreduce; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/stringreduce/StringReducer.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/stringreduce/StringReducer.java index e6da89e4b..3dc3d6b00 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/stringreduce/StringReducer.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/stringreduce/StringReducer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.stringreduce; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/BaseColumnTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/BaseColumnTransform.java index e6d4edd73..72af6319e 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/BaseColumnTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/BaseColumnTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/BaseColumnsMathOpTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/BaseColumnsMathOpTransform.java index f396e9b1e..8e9f279f1 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/BaseColumnsMathOpTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/BaseColumnsMathOpTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/BaseTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/BaseTransform.java index 337e0f417..f635b0f7a 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/BaseTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/BaseTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/categorical/CategoricalToIntegerTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/categorical/CategoricalToIntegerTransform.java index 5afa05552..3a48b39f7 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/categorical/CategoricalToIntegerTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/categorical/CategoricalToIntegerTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.categorical; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/categorical/CategoricalToOneHotTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/categorical/CategoricalToOneHotTransform.java index 4b8fc7004..c79d48ca6 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/categorical/CategoricalToOneHotTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/categorical/CategoricalToOneHotTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.categorical; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/categorical/FirstDigitTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/categorical/FirstDigitTransform.java index 4c873f059..face07675 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/categorical/FirstDigitTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/categorical/FirstDigitTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.categorical; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/categorical/IntegerToCategoricalTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/categorical/IntegerToCategoricalTransform.java index ebe4650b3..2e6ab0f27 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/categorical/IntegerToCategoricalTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/categorical/IntegerToCategoricalTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.categorical; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/categorical/PivotTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/categorical/PivotTransform.java index c90f5a492..1f6b5f66e 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/categorical/PivotTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/categorical/PivotTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.categorical; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/categorical/StringToCategoricalTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/categorical/StringToCategoricalTransform.java index b1f9ef0a5..05871e69b 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/categorical/StringToCategoricalTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/categorical/StringToCategoricalTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.categorical; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/column/AddConstantColumnTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/column/AddConstantColumnTransform.java index ecb7d5f9e..0aec8348e 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/column/AddConstantColumnTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/column/AddConstantColumnTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.column; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/column/DuplicateColumnsTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/column/DuplicateColumnsTransform.java index 10a5def5b..1b600a188 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/column/DuplicateColumnsTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/column/DuplicateColumnsTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.column; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/column/RemoveAllColumnsExceptForTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/column/RemoveAllColumnsExceptForTransform.java index 103f682cf..578bf6b2c 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/column/RemoveAllColumnsExceptForTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/column/RemoveAllColumnsExceptForTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.column; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/column/RemoveColumnsTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/column/RemoveColumnsTransform.java index 6712db780..3126cbfcb 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/column/RemoveColumnsTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/column/RemoveColumnsTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.column; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/column/RenameColumnsTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/column/RenameColumnsTransform.java index a4173537f..1060dc723 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/column/RenameColumnsTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/column/RenameColumnsTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.column; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/column/ReorderColumnsTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/column/ReorderColumnsTransform.java index c803fc98c..740d2d745 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/column/ReorderColumnsTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/column/ReorderColumnsTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.column; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/condition/ConditionalCopyValueTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/condition/ConditionalCopyValueTransform.java index defa6f132..3118b01e5 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/condition/ConditionalCopyValueTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/condition/ConditionalCopyValueTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.condition; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/condition/ConditionalReplaceValueTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/condition/ConditionalReplaceValueTransform.java index e8dfebb49..54e7b1351 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/condition/ConditionalReplaceValueTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/condition/ConditionalReplaceValueTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.condition; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/condition/ConditionalReplaceValueTransformWithDefault.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/condition/ConditionalReplaceValueTransformWithDefault.java index f918548f7..7057e2c2d 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/condition/ConditionalReplaceValueTransformWithDefault.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/condition/ConditionalReplaceValueTransformWithDefault.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.condition; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/BaseDoubleTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/BaseDoubleTransform.java index 401d1cdda..84b6fe9fa 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/BaseDoubleTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/BaseDoubleTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.doubletransform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/ConvertToDouble.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/ConvertToDouble.java index f07c5083b..f105efb3a 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/ConvertToDouble.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/ConvertToDouble.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.doubletransform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/DoubleColumnsMathOpTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/DoubleColumnsMathOpTransform.java index 33a1ff922..0251d6566 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/DoubleColumnsMathOpTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/DoubleColumnsMathOpTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.doubletransform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/DoubleMathFunctionTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/DoubleMathFunctionTransform.java index 07df6df20..8a452d38e 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/DoubleMathFunctionTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/DoubleMathFunctionTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.doubletransform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/DoubleMathOpTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/DoubleMathOpTransform.java index 61b21dcf0..130bab433 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/DoubleMathOpTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/DoubleMathOpTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.doubletransform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/Log2Normalizer.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/Log2Normalizer.java index 108488b32..bfb67447d 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/Log2Normalizer.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/Log2Normalizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.doubletransform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/MinMaxNormalizer.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/MinMaxNormalizer.java index 5738f277d..2d489ad5f 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/MinMaxNormalizer.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/MinMaxNormalizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.doubletransform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/StandardizeNormalizer.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/StandardizeNormalizer.java index adcb1de84..1ca3ec2f6 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/StandardizeNormalizer.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/StandardizeNormalizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.doubletransform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/SubtractMeanNormalizer.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/SubtractMeanNormalizer.java index 381de7153..30f023091 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/SubtractMeanNormalizer.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/doubletransform/SubtractMeanNormalizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.doubletransform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/floattransform/BaseFloatTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/floattransform/BaseFloatTransform.java index 90e017cac..be8eb2798 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/floattransform/BaseFloatTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/floattransform/BaseFloatTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.floattransform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/floattransform/ConvertToFloat.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/floattransform/ConvertToFloat.java index 96f46dd8d..f31838e99 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/floattransform/ConvertToFloat.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/floattransform/ConvertToFloat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.floattransform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/floattransform/FloatColumnsMathOpTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/floattransform/FloatColumnsMathOpTransform.java index ca3a97bf8..39ca6db90 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/floattransform/FloatColumnsMathOpTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/floattransform/FloatColumnsMathOpTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.floattransform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/floattransform/FloatMathFunctionTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/floattransform/FloatMathFunctionTransform.java index 7781311cb..0c29c9407 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/floattransform/FloatMathFunctionTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/floattransform/FloatMathFunctionTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.floattransform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/floattransform/FloatMathOpTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/floattransform/FloatMathOpTransform.java index 048e556d7..0bf2078b5 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/floattransform/FloatMathOpTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/floattransform/FloatMathOpTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.floattransform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/BaseIntegerTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/BaseIntegerTransform.java index 6a42941e7..40f59d27c 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/BaseIntegerTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/BaseIntegerTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.integer; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/ConvertToInteger.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/ConvertToInteger.java index db2f53575..150addefd 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/ConvertToInteger.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/ConvertToInteger.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.integer; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/IntegerColumnsMathOpTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/IntegerColumnsMathOpTransform.java index 4ac8b176b..2c4486afd 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/IntegerColumnsMathOpTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/IntegerColumnsMathOpTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.integer; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/IntegerMathOpTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/IntegerMathOpTransform.java index aa94c7e81..e0909faa2 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/IntegerMathOpTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/IntegerMathOpTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.integer; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/IntegerToOneHotTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/IntegerToOneHotTransform.java index 4e7744151..0a12738db 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/IntegerToOneHotTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/IntegerToOneHotTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.integer; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/ReplaceEmptyIntegerWithValueTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/ReplaceEmptyIntegerWithValueTransform.java index 891e84746..4f61b2102 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/ReplaceEmptyIntegerWithValueTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/ReplaceEmptyIntegerWithValueTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.integer; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/ReplaceInvalidWithIntegerTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/ReplaceInvalidWithIntegerTransform.java index 93ec4e3c2..eb6c0bf34 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/ReplaceInvalidWithIntegerTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/integer/ReplaceInvalidWithIntegerTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.integer; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/longtransform/LongColumnsMathOpTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/longtransform/LongColumnsMathOpTransform.java index 2ad90e401..1087e712b 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/longtransform/LongColumnsMathOpTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/longtransform/LongColumnsMathOpTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.longtransform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/longtransform/LongMathOpTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/longtransform/LongMathOpTransform.java index 0db280f82..7d61ad173 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/longtransform/LongMathOpTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/longtransform/LongMathOpTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.longtransform; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/nlp/TextToCharacterIndexTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/nlp/TextToCharacterIndexTransform.java index 97335788e..e6654ad6d 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/nlp/TextToCharacterIndexTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/nlp/TextToCharacterIndexTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.nlp; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/nlp/TextToTermIndexSequenceTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/nlp/TextToTermIndexSequenceTransform.java index 89dd429b4..7d9f69eae 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/nlp/TextToTermIndexSequenceTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/nlp/TextToTermIndexSequenceTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.nlp; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/normalize/Normalize.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/normalize/Normalize.java index 7386ddf73..5d6a7ae9f 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/normalize/Normalize.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/normalize/Normalize.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.normalize; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/parse/ParseDoubleTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/parse/ParseDoubleTransform.java index 82b183aa3..04f6f1137 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/parse/ParseDoubleTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/parse/ParseDoubleTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.parse; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/sequence/SequenceDifferenceTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/sequence/SequenceDifferenceTransform.java index 62d921d84..48edea121 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/sequence/SequenceDifferenceTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/sequence/SequenceDifferenceTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.sequence; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/sequence/SequenceMovingWindowReduceTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/sequence/SequenceMovingWindowReduceTransform.java index 3a5a9dce4..ce63ea4be 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/sequence/SequenceMovingWindowReduceTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/sequence/SequenceMovingWindowReduceTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.sequence; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/sequence/SequenceOffsetTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/sequence/SequenceOffsetTransform.java index a23db1e95..b280ade12 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/sequence/SequenceOffsetTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/sequence/SequenceOffsetTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.sequence; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/AppendStringColumnTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/AppendStringColumnTransform.java index 3f16c0a4b..b39f0f553 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/AppendStringColumnTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/AppendStringColumnTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.string; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/BaseStringTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/BaseStringTransform.java index 0e89fb59b..3b710c88c 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/BaseStringTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/BaseStringTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.string; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/ChangeCaseStringTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/ChangeCaseStringTransform.java index 4472b4d80..20cde6dd2 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/ChangeCaseStringTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/ChangeCaseStringTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.string; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/ConcatenateStringColumns.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/ConcatenateStringColumns.java index b97e23ae4..b98efa106 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/ConcatenateStringColumns.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/ConcatenateStringColumns.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.string; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/ConvertToString.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/ConvertToString.java index 2c98fa0fe..e625d45e5 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/ConvertToString.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/ConvertToString.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.string; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/MapAllStringsExceptListTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/MapAllStringsExceptListTransform.java index 7f747ce49..3410ee220 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/MapAllStringsExceptListTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/MapAllStringsExceptListTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.string; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/RemoveWhiteSpaceTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/RemoveWhiteSpaceTransform.java index cabcc85f1..a77694b66 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/RemoveWhiteSpaceTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/RemoveWhiteSpaceTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.string; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/ReplaceEmptyStringTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/ReplaceEmptyStringTransform.java index c8cf82c03..cce44eb87 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/ReplaceEmptyStringTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/ReplaceEmptyStringTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.string; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/ReplaceStringTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/ReplaceStringTransform.java index 2943141b9..6c3f5e830 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/ReplaceStringTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/ReplaceStringTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.string; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/StringListToCategoricalSetTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/StringListToCategoricalSetTransform.java index ecb58eea9..54d3d1786 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/StringListToCategoricalSetTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/StringListToCategoricalSetTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.string; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/StringListToCountsNDArrayTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/StringListToCountsNDArrayTransform.java index d40f0d720..45f266fa5 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/StringListToCountsNDArrayTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/StringListToCountsNDArrayTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.string; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/StringListToIndicesNDArrayTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/StringListToIndicesNDArrayTransform.java index 3a4ca58ba..d98967715 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/StringListToIndicesNDArrayTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/StringListToIndicesNDArrayTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.string; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/StringMapTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/StringMapTransform.java index b78c34771..2614845bb 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/StringMapTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/string/StringMapTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.string; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/time/DeriveColumnsFromTimeTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/time/DeriveColumnsFromTimeTransform.java index 6c126ef9a..d0e7dee07 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/time/DeriveColumnsFromTimeTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/time/DeriveColumnsFromTimeTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.time; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/time/StringToTimeTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/time/StringToTimeTransform.java index df05702f6..4dc583e41 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/time/StringToTimeTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/time/StringToTimeTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.time; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/time/TimeMathOpTransform.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/time/TimeMathOpTransform.java index 45bac652a..a695067aa 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/time/TimeMathOpTransform.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/transform/time/TimeMathOpTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.time; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/DivObject.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/DivObject.java index 886533bc5..ef5838ea6 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/DivObject.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/DivObject.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ui; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/HtmlAnalysis.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/HtmlAnalysis.java index 5fc4309ab..5d3254b32 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/HtmlAnalysis.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/HtmlAnalysis.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ui; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/HtmlSequencePlotting.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/HtmlSequencePlotting.java index 1821ae2ca..37ef98948 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/HtmlSequencePlotting.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/HtmlSequencePlotting.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ui; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/components/RenderableComponent.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/components/RenderableComponent.java index e3b9fd08b..d2fdf8f42 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/components/RenderableComponent.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/components/RenderableComponent.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ui.components; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/components/RenderableComponentHistogram.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/components/RenderableComponentHistogram.java index 9cfe4f062..1ba7f3c27 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/components/RenderableComponentHistogram.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/components/RenderableComponentHistogram.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ui.components; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/components/RenderableComponentLineChart.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/components/RenderableComponentLineChart.java index 1b8410d46..feecc0c4f 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/components/RenderableComponentLineChart.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/components/RenderableComponentLineChart.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ui.components; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/components/RenderableComponentTable.java b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/components/RenderableComponentTable.java index e3bcc67f1..a5fbb76be 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/components/RenderableComponentTable.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/transform/ui/components/RenderableComponentTable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ui.components; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/util/ClassPathResource.java b/datavec/datavec-api/src/main/java/org/datavec/api/util/ClassPathResource.java index 6aa59b705..e939d7afe 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/util/ClassPathResource.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/util/ClassPathResource.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.util; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/util/RecordUtils.java b/datavec/datavec-api/src/main/java/org/datavec/api/util/RecordUtils.java index 296f85009..d967a9d78 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/util/RecordUtils.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/util/RecordUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.util; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/util/ReflectionUtils.java b/datavec/datavec-api/src/main/java/org/datavec/api/util/ReflectionUtils.java index a34a86a27..73aa4d677 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/util/ReflectionUtils.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/util/ReflectionUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.util; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/util/files/FileFromPathIterator.java b/datavec/datavec-api/src/main/java/org/datavec/api/util/files/FileFromPathIterator.java index 23b6788f3..0cd6ca44f 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/util/files/FileFromPathIterator.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/util/files/FileFromPathIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.util.files; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/util/files/ShuffledListIterator.java b/datavec/datavec-api/src/main/java/org/datavec/api/util/files/ShuffledListIterator.java index c6099e231..2adbb06bc 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/util/files/ShuffledListIterator.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/util/files/ShuffledListIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.util.files; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/util/files/URIUtil.java b/datavec/datavec-api/src/main/java/org/datavec/api/util/files/URIUtil.java index e10da5e17..b8540779d 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/util/files/URIUtil.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/util/files/URIUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.util.files; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/util/files/UriFromPathIterator.java b/datavec/datavec-api/src/main/java/org/datavec/api/util/files/UriFromPathIterator.java index 4b910410d..c47a4f6c1 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/util/files/UriFromPathIterator.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/util/files/UriFromPathIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.util.files; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/util/jackson/DateTimeFieldTypeDeserializer.java b/datavec/datavec-api/src/main/java/org/datavec/api/util/jackson/DateTimeFieldTypeDeserializer.java index 4cf63763a..030f7e412 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/util/jackson/DateTimeFieldTypeDeserializer.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/util/jackson/DateTimeFieldTypeDeserializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.util.jackson; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/util/jackson/DateTimeFieldTypeSerializer.java b/datavec/datavec-api/src/main/java/org/datavec/api/util/jackson/DateTimeFieldTypeSerializer.java index 4c8d2215c..9788bacc9 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/util/jackson/DateTimeFieldTypeSerializer.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/util/jackson/DateTimeFieldTypeSerializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.util.jackson; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/util/ndarray/DataInputWrapperStream.java b/datavec/datavec-api/src/main/java/org/datavec/api/util/ndarray/DataInputWrapperStream.java index b5ee6c4d3..4851735c3 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/util/ndarray/DataInputWrapperStream.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/util/ndarray/DataInputWrapperStream.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.util.ndarray; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/util/ndarray/DataOutputWrapperStream.java b/datavec/datavec-api/src/main/java/org/datavec/api/util/ndarray/DataOutputWrapperStream.java index 88cdda6bf..8e08e33ad 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/util/ndarray/DataOutputWrapperStream.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/util/ndarray/DataOutputWrapperStream.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.util.ndarray; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/util/ndarray/RecordConverter.java b/datavec/datavec-api/src/main/java/org/datavec/api/util/ndarray/RecordConverter.java index 92a1f737b..e263f0d7b 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/util/ndarray/RecordConverter.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/util/ndarray/RecordConverter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.util.ndarray; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/vector/Vectorizer.java b/datavec/datavec-api/src/main/java/org/datavec/api/vector/Vectorizer.java index 7e9a9239a..54f13f689 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/vector/Vectorizer.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/vector/Vectorizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.vector; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/ArrayWritable.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/ArrayWritable.java index 346c6ffdd..9ce8603f1 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/ArrayWritable.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/ArrayWritable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/BooleanWritable.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/BooleanWritable.java index 946b6866b..9984c6479 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/BooleanWritable.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/BooleanWritable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/ByteWritable.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/ByteWritable.java index ae5e3a567..156286e2a 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/ByteWritable.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/ByteWritable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/BytesWritable.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/BytesWritable.java index 3c380080c..4d2b3a766 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/BytesWritable.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/BytesWritable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/DoubleWritable.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/DoubleWritable.java index 39f41c076..42bd3f1b1 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/DoubleWritable.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/DoubleWritable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/FloatWritable.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/FloatWritable.java index f0ab62bef..b3056c321 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/FloatWritable.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/FloatWritable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/IntWritable.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/IntWritable.java index 1c127e0f8..18ada1481 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/IntWritable.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/IntWritable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/LongWritable.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/LongWritable.java index 4a767a183..7c8a6f58b 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/LongWritable.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/LongWritable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/NDArrayWritable.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/NDArrayWritable.java index 499e77895..c9520b9e4 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/NDArrayWritable.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/NDArrayWritable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/NullWritable.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/NullWritable.java index 6cdfe6e08..24adc83c3 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/NullWritable.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/NullWritable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/Text.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/Text.java index a54326f94..7b1604d43 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/Text.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/Text.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/UnsafeWritableInjector.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/UnsafeWritableInjector.java index 4e8712a24..efe1c272c 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/UnsafeWritableInjector.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/UnsafeWritableInjector.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/Writable.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/Writable.java index 5085dd3f2..01afad087 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/Writable.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/Writable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/WritableFactory.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/WritableFactory.java index ff1649d13..46f6679b9 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/WritableFactory.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/WritableFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/WritableType.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/WritableType.java index e10265179..c2860c25f 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/WritableType.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/WritableType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/batch/AbstractTimeSeriesWritableRecordBatch.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/batch/AbstractTimeSeriesWritableRecordBatch.java index 626077556..c270a73de 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/batch/AbstractTimeSeriesWritableRecordBatch.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/batch/AbstractTimeSeriesWritableRecordBatch.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable.batch; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/batch/AbstractWritableRecordBatch.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/batch/AbstractWritableRecordBatch.java index 5f6edf262..226bd0b12 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/batch/AbstractWritableRecordBatch.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/batch/AbstractWritableRecordBatch.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable.batch; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/batch/NDArrayRecordBatch.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/batch/NDArrayRecordBatch.java index e9b78e390..4a2600287 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/batch/NDArrayRecordBatch.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/batch/NDArrayRecordBatch.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable.batch; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/Comparators.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/Comparators.java index eb9b5ed8b..09076888e 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/Comparators.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/Comparators.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable.comparator; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/DoubleWritableComparator.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/DoubleWritableComparator.java index 0628bf616..537089280 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/DoubleWritableComparator.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/DoubleWritableComparator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable.comparator; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/FloatWritableComparator.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/FloatWritableComparator.java index 816e0c037..aea4ba433 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/FloatWritableComparator.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/FloatWritableComparator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable.comparator; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/IntWritableComparator.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/IntWritableComparator.java index fa22d6e22..f3027958e 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/IntWritableComparator.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/IntWritableComparator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable.comparator; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/LongWritableComparator.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/LongWritableComparator.java index a4de0a927..4f033488c 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/LongWritableComparator.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/LongWritableComparator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable.comparator; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/ReverseComparator.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/ReverseComparator.java index 0830e87d6..0ca055f59 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/ReverseComparator.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/ReverseComparator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable.comparator; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/TextWritableComparator.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/TextWritableComparator.java index 8bfc9923f..c0ae6fe5e 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/TextWritableComparator.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/TextWritableComparator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable.comparator; diff --git a/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/WritableComparator.java b/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/WritableComparator.java index b8e540f61..b8275111a 100644 --- a/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/WritableComparator.java +++ b/datavec/datavec-api/src/main/java/org/datavec/api/writable/comparator/WritableComparator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable.comparator; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/AssertTestsExtendBaseClass.java b/datavec/datavec-api/src/test/java/org/datavec/api/AssertTestsExtendBaseClass.java index 1a152de97..600a05f72 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/AssertTestsExtendBaseClass.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/AssertTestsExtendBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api; import lombok.extern.slf4j.Slf4j; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/CSVLineSequenceRecordReaderTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/CSVLineSequenceRecordReaderTest.java index 6ef636a1f..8f165c969 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/CSVLineSequenceRecordReaderTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/CSVLineSequenceRecordReaderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/CSVMultiSequenceRecordReaderTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/CSVMultiSequenceRecordReaderTest.java index 157699f35..356f2a8e6 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/CSVMultiSequenceRecordReaderTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/CSVMultiSequenceRecordReaderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/CSVNLinesSequenceRecordReaderTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/CSVNLinesSequenceRecordReaderTest.java index dee9d3876..a6d665a7f 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/CSVNLinesSequenceRecordReaderTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/CSVNLinesSequenceRecordReaderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/CSVRecordReaderTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/CSVRecordReaderTest.java index 6d070296e..f8f60bd20 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/CSVRecordReaderTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/CSVRecordReaderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/CSVSequenceRecordReaderTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/CSVSequenceRecordReaderTest.java index a25dff0d3..cfad8c6d2 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/CSVSequenceRecordReaderTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/CSVSequenceRecordReaderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/CSVVariableSlidingWindowRecordReaderTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/CSVVariableSlidingWindowRecordReaderTest.java index bfe41e5bc..ee0c7409e 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/CSVVariableSlidingWindowRecordReaderTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/CSVVariableSlidingWindowRecordReaderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/FileBatchRecordReaderTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/FileBatchRecordReaderTest.java index b8b32a3de..91a830b5f 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/FileBatchRecordReaderTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/FileBatchRecordReaderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/FileRecordReaderTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/FileRecordReaderTest.java index 303eb1ff5..a0efd9511 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/FileRecordReaderTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/FileRecordReaderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/JacksonLineRecordReaderTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/JacksonLineRecordReaderTest.java index 642da6d69..7294fc360 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/JacksonLineRecordReaderTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/JacksonLineRecordReaderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/JacksonRecordReaderTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/JacksonRecordReaderTest.java index b6b32edc7..387e86bf2 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/JacksonRecordReaderTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/JacksonRecordReaderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/LibSvmRecordReaderTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/LibSvmRecordReaderTest.java index f24e7b297..52e8159f2 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/LibSvmRecordReaderTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/LibSvmRecordReaderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/LineReaderTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/LineReaderTest.java index 2864d0ca1..20591c5f6 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/LineReaderTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/LineReaderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/RegexRecordReaderTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/RegexRecordReaderTest.java index 08b494d9f..edc49a43d 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/RegexRecordReaderTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/RegexRecordReaderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/SVMLightRecordReaderTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/SVMLightRecordReaderTest.java index 07b507fe0..20467f1fa 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/SVMLightRecordReaderTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/SVMLightRecordReaderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/TestCollectionRecordReaders.java b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/TestCollectionRecordReaders.java index 2d5b35a63..eace87d8e 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/TestCollectionRecordReaders.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/TestCollectionRecordReaders.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/TestConcatenatingRecordReader.java b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/TestConcatenatingRecordReader.java index 0b64d53f3..f01e65b9f 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/TestConcatenatingRecordReader.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/TestConcatenatingRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/TestSerialization.java b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/TestSerialization.java index 030c1f139..b88febe35 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/TestSerialization.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/TestSerialization.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/transform/TransformProcessRecordReaderTests.java b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/transform/TransformProcessRecordReaderTests.java index 87c466fec..cd5664141 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/transform/TransformProcessRecordReaderTests.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/records/reader/impl/transform/TransformProcessRecordReaderTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl.transform; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/records/writer/impl/CSVRecordWriterTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/records/writer/impl/CSVRecordWriterTest.java index 887f4c109..ed5d1b8ab 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/records/writer/impl/CSVRecordWriterTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/records/writer/impl/CSVRecordWriterTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.writer.impl; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/records/writer/impl/LibSvmRecordWriterTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/records/writer/impl/LibSvmRecordWriterTest.java index 8e9240bef..38b1c745e 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/records/writer/impl/LibSvmRecordWriterTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/records/writer/impl/LibSvmRecordWriterTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.writer.impl; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/records/writer/impl/SVMLightRecordWriterTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/records/writer/impl/SVMLightRecordWriterTest.java index a5ca0f0ba..1aec1b8c8 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/records/writer/impl/SVMLightRecordWriterTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/records/writer/impl/SVMLightRecordWriterTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.writer.impl; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/split/InputSplitTests.java b/datavec/datavec-api/src/test/java/org/datavec/api/split/InputSplitTests.java index 1e6a25cbc..b6fb53886 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/split/InputSplitTests.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/split/InputSplitTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.split; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/split/NumberedFileInputSplitTests.java b/datavec/datavec-api/src/test/java/org/datavec/api/split/NumberedFileInputSplitTests.java index 229eec8cd..3fae158d0 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/split/NumberedFileInputSplitTests.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/split/NumberedFileInputSplitTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.split; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/split/TestStreamInputSplit.java b/datavec/datavec-api/src/test/java/org/datavec/api/split/TestStreamInputSplit.java index 573824ae1..38fb60aa4 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/split/TestStreamInputSplit.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/split/TestStreamInputSplit.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.split; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/split/TransformSplitTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/split/TransformSplitTest.java index b37214ef1..c9eaa2eda 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/split/TransformSplitTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/split/TransformSplitTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.split; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/split/parittion/PartitionerTests.java b/datavec/datavec-api/src/test/java/org/datavec/api/split/parittion/PartitionerTests.java index e57a9a072..ebad2749c 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/split/parittion/PartitionerTests.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/split/parittion/PartitionerTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.split.parittion; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/TestTransformProcess.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/TestTransformProcess.java index 514e4235b..441954d22 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/TestTransformProcess.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/TestTransformProcess.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/condition/TestConditions.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/condition/TestConditions.java index 5afae3d39..d9bb215d5 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/condition/TestConditions.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/condition/TestConditions.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.condition; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/filter/TestFilters.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/filter/TestFilters.java index e321f9afe..d36ee0cbd 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/filter/TestFilters.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/filter/TestFilters.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.filter; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/join/TestJoin.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/join/TestJoin.java index 14ada81b2..0e16c0334 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/join/TestJoin.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/join/TestJoin.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.join; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/ops/AggregableMultiOpArchTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/ops/AggregableMultiOpArchTest.java index d92d0ccd6..4ff1495a8 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/ops/AggregableMultiOpArchTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/ops/AggregableMultiOpArchTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.datavec.api.transform.ops; import com.tngtech.archunit.core.importer.ImportOption; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/ops/AggregableMultiOpTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/ops/AggregableMultiOpTest.java index 754228cc0..16fbefa07 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/ops/AggregableMultiOpTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/ops/AggregableMultiOpTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ops; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/ops/AggregatorImplsTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/ops/AggregatorImplsTest.java index e7afeefdf..39707975a 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/ops/AggregatorImplsTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/ops/AggregatorImplsTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ops; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/ops/DispatchOpTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/ops/DispatchOpTest.java index 667bd77f0..bc9acca41 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/ops/DispatchOpTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/ops/DispatchOpTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ops; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/reduce/TestMultiOpReduce.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/reduce/TestMultiOpReduce.java index f75118174..7653f8762 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/reduce/TestMultiOpReduce.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/reduce/TestMultiOpReduce.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.reduce; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/reduce/TestReductions.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/reduce/TestReductions.java index 89466e4b5..345346015 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/reduce/TestReductions.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/reduce/TestReductions.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.reduce; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/schema/TestJsonYaml.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/schema/TestJsonYaml.java index 0daaaf0b3..60a66870c 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/schema/TestJsonYaml.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/schema/TestJsonYaml.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.schema; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/schema/TestSchemaMethods.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/schema/TestSchemaMethods.java index d4e751471..faefe5598 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/schema/TestSchemaMethods.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/schema/TestSchemaMethods.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.schema; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/sequence/TestReduceSequenceByWindowFunction.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/sequence/TestReduceSequenceByWindowFunction.java index 47b595605..7fcac707b 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/sequence/TestReduceSequenceByWindowFunction.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/sequence/TestReduceSequenceByWindowFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.sequence; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/sequence/TestSequenceSplit.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/sequence/TestSequenceSplit.java index 1245dbc49..62107f9c7 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/sequence/TestSequenceSplit.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/sequence/TestSequenceSplit.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.sequence; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/sequence/TestWindowFunctions.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/sequence/TestWindowFunctions.java index 7d5f4613c..e8ce41eed 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/sequence/TestWindowFunctions.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/sequence/TestWindowFunctions.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.sequence; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/serde/TestCustomTransformJsonYaml.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/serde/TestCustomTransformJsonYaml.java index 5ae9181e4..a6996a0f7 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/serde/TestCustomTransformJsonYaml.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/serde/TestCustomTransformJsonYaml.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.serde; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/serde/TestYamlJsonSerde.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/serde/TestYamlJsonSerde.java index dd000429c..88d6c6f4f 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/serde/TestYamlJsonSerde.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/serde/TestYamlJsonSerde.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.serde; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/serde/testClasses/CustomCondition.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/serde/testClasses/CustomCondition.java index c1b37bad4..fb51480f2 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/serde/testClasses/CustomCondition.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/serde/testClasses/CustomCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.serde.testClasses; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/serde/testClasses/CustomFilter.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/serde/testClasses/CustomFilter.java index 37c9c460d..00cc6d7a7 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/serde/testClasses/CustomFilter.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/serde/testClasses/CustomFilter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.serde.testClasses; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/serde/testClasses/CustomTransform.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/serde/testClasses/CustomTransform.java index b38e4f070..e0417eb1e 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/serde/testClasses/CustomTransform.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/serde/testClasses/CustomTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.serde.testClasses; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/stringreduce/TestReduce.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/stringreduce/TestReduce.java index fc5d313f3..d3ea34070 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/stringreduce/TestReduce.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/stringreduce/TestReduce.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.stringreduce; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/transform/RegressionTestJson.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/transform/RegressionTestJson.java index da8f8656f..0758a1442 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/transform/RegressionTestJson.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/transform/RegressionTestJson.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/transform/TestJsonYaml.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/transform/TestJsonYaml.java index 2264725ff..3c48bea66 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/transform/TestJsonYaml.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/transform/TestJsonYaml.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/transform/TestTransforms.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/transform/TestTransforms.java index c7e7bc467..009dfe0e4 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/transform/TestTransforms.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/transform/TestTransforms.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/transform/ndarray/TestNDArrayWritableTransforms.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/transform/ndarray/TestNDArrayWritableTransforms.java index 7d0743908..21abf5427 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/transform/ndarray/TestNDArrayWritableTransforms.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/transform/ndarray/TestNDArrayWritableTransforms.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.ndarray; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/transform/ndarray/TestYamlJsonSerde.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/transform/ndarray/TestYamlJsonSerde.java index 4ff4b6c40..e94c7c3e0 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/transform/ndarray/TestYamlJsonSerde.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/transform/ndarray/TestYamlJsonSerde.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.ndarray; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/transform/parse/ParseDoubleTransformTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/transform/parse/ParseDoubleTransformTest.java index 533b37aea..01eceff52 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/transform/parse/ParseDoubleTransformTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/transform/parse/ParseDoubleTransformTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.parse; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/transform/ui/TestUI.java b/datavec/datavec-api/src/test/java/org/datavec/api/transform/ui/TestUI.java index 31de9d3df..82f0c60f7 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/transform/ui/TestUI.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/transform/ui/TestUI.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.ui; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/util/ClassPathResourceTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/util/ClassPathResourceTest.java index 037eb52c0..c13873501 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/util/ClassPathResourceTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/util/ClassPathResourceTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.util; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/util/TimeSeriesUtilsTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/util/TimeSeriesUtilsTest.java index 389c8f311..494eeb32d 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/util/TimeSeriesUtilsTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/util/TimeSeriesUtilsTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.util; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/writable/RecordConverterTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/writable/RecordConverterTest.java index b03c289c5..70e8c77c7 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/writable/RecordConverterTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/writable/RecordConverterTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/writable/TestNDArrayWritableAndSerialization.java b/datavec/datavec-api/src/test/java/org/datavec/api/writable/TestNDArrayWritableAndSerialization.java index 635126ab2..798dcea2f 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/writable/TestNDArrayWritableAndSerialization.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/writable/TestNDArrayWritableAndSerialization.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable; diff --git a/datavec/datavec-api/src/test/java/org/datavec/api/writable/WritableTest.java b/datavec/datavec-api/src/test/java/org/datavec/api/writable/WritableTest.java index b9ef96991..a0acd14f5 100644 --- a/datavec/datavec-api/src/test/java/org/datavec/api/writable/WritableTest.java +++ b/datavec/datavec-api/src/test/java/org/datavec/api/writable/WritableTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.writable; diff --git a/datavec/datavec-arrow/pom.xml b/datavec/datavec-arrow/pom.xml index eb61221c8..b7ec17d9a 100644 --- a/datavec/datavec-arrow/pom.xml +++ b/datavec/datavec-arrow/pom.xml @@ -1,30 +1,35 @@ - + + + + - - - datavec-parent - org.datavec - 1.0.0-SNAPSHOT - 4.0.0 + + org.datavec + datavec-parent + 1.0.0-SNAPSHOT + + datavec-arrow - jar datavec-arrow @@ -49,12 +54,6 @@ arrow-format ${arrow.version} - - org.nd4j - nd4j-common-tests - ${nd4j.version} - test - diff --git a/datavec/datavec-arrow/src/main/java/org/datavec/arrow/ArrowConverter.java b/datavec/datavec-arrow/src/main/java/org/datavec/arrow/ArrowConverter.java index b3980e78a..cd98d278b 100644 --- a/datavec/datavec-arrow/src/main/java/org/datavec/arrow/ArrowConverter.java +++ b/datavec/datavec-arrow/src/main/java/org/datavec/arrow/ArrowConverter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.arrow; diff --git a/datavec/datavec-arrow/src/main/java/org/datavec/arrow/recordreader/ArrowRecord.java b/datavec/datavec-arrow/src/main/java/org/datavec/arrow/recordreader/ArrowRecord.java index 94d8777e7..1fb6cebad 100644 --- a/datavec/datavec-arrow/src/main/java/org/datavec/arrow/recordreader/ArrowRecord.java +++ b/datavec/datavec-arrow/src/main/java/org/datavec/arrow/recordreader/ArrowRecord.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.arrow.recordreader; diff --git a/datavec/datavec-arrow/src/main/java/org/datavec/arrow/recordreader/ArrowRecordReader.java b/datavec/datavec-arrow/src/main/java/org/datavec/arrow/recordreader/ArrowRecordReader.java index 6b18c4afd..1fd9c6c69 100644 --- a/datavec/datavec-arrow/src/main/java/org/datavec/arrow/recordreader/ArrowRecordReader.java +++ b/datavec/datavec-arrow/src/main/java/org/datavec/arrow/recordreader/ArrowRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.arrow.recordreader; diff --git a/datavec/datavec-arrow/src/main/java/org/datavec/arrow/recordreader/ArrowRecordWriter.java b/datavec/datavec-arrow/src/main/java/org/datavec/arrow/recordreader/ArrowRecordWriter.java index 2c07d3336..708f2f767 100644 --- a/datavec/datavec-arrow/src/main/java/org/datavec/arrow/recordreader/ArrowRecordWriter.java +++ b/datavec/datavec-arrow/src/main/java/org/datavec/arrow/recordreader/ArrowRecordWriter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.arrow.recordreader; diff --git a/datavec/datavec-arrow/src/main/java/org/datavec/arrow/recordreader/ArrowWritableRecordBatch.java b/datavec/datavec-arrow/src/main/java/org/datavec/arrow/recordreader/ArrowWritableRecordBatch.java index e07533248..e09e96e43 100644 --- a/datavec/datavec-arrow/src/main/java/org/datavec/arrow/recordreader/ArrowWritableRecordBatch.java +++ b/datavec/datavec-arrow/src/main/java/org/datavec/arrow/recordreader/ArrowWritableRecordBatch.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.arrow.recordreader; diff --git a/datavec/datavec-arrow/src/main/java/org/datavec/arrow/recordreader/ArrowWritableRecordTimeSeriesBatch.java b/datavec/datavec-arrow/src/main/java/org/datavec/arrow/recordreader/ArrowWritableRecordTimeSeriesBatch.java index dd5a40821..e7920e862 100644 --- a/datavec/datavec-arrow/src/main/java/org/datavec/arrow/recordreader/ArrowWritableRecordTimeSeriesBatch.java +++ b/datavec/datavec-arrow/src/main/java/org/datavec/arrow/recordreader/ArrowWritableRecordTimeSeriesBatch.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.arrow.recordreader; diff --git a/datavec/datavec-arrow/src/test/java/org/datavec/arrow/ArrowConverterTest.java b/datavec/datavec-arrow/src/test/java/org/datavec/arrow/ArrowConverterTest.java index 6a6099a06..5c081523c 100644 --- a/datavec/datavec-arrow/src/test/java/org/datavec/arrow/ArrowConverterTest.java +++ b/datavec/datavec-arrow/src/test/java/org/datavec/arrow/ArrowConverterTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.arrow; diff --git a/datavec/datavec-arrow/src/test/java/org/datavec/arrow/AssertTestsExtendBaseClass.java b/datavec/datavec-arrow/src/test/java/org/datavec/arrow/AssertTestsExtendBaseClass.java index c8868e271..d32684a1e 100644 --- a/datavec/datavec-arrow/src/test/java/org/datavec/arrow/AssertTestsExtendBaseClass.java +++ b/datavec/datavec-arrow/src/test/java/org/datavec/arrow/AssertTestsExtendBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.arrow; import lombok.extern.slf4j.Slf4j; diff --git a/datavec/datavec-arrow/src/test/java/org/datavec/arrow/RecordMapperTest.java b/datavec/datavec-arrow/src/test/java/org/datavec/arrow/RecordMapperTest.java index c5012f146..09ad4ac38 100644 --- a/datavec/datavec-arrow/src/test/java/org/datavec/arrow/RecordMapperTest.java +++ b/datavec/datavec-arrow/src/test/java/org/datavec/arrow/RecordMapperTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.arrow; diff --git a/datavec/datavec-arrow/src/test/java/org/datavec/arrow/recordreader/ArrowWritableRecordTimeSeriesBatchTests.java b/datavec/datavec-arrow/src/test/java/org/datavec/arrow/recordreader/ArrowWritableRecordTimeSeriesBatchTests.java index 5100b6826..7a3b7dd82 100644 --- a/datavec/datavec-arrow/src/test/java/org/datavec/arrow/recordreader/ArrowWritableRecordTimeSeriesBatchTests.java +++ b/datavec/datavec-arrow/src/test/java/org/datavec/arrow/recordreader/ArrowWritableRecordTimeSeriesBatchTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.arrow.recordreader; diff --git a/datavec/datavec-data/datavec-data-audio/pom.xml b/datavec/datavec-data/datavec-data-audio/pom.xml index 0c67ae396..91ee4f41a 100644 --- a/datavec/datavec-data/datavec-data-audio/pom.xml +++ b/datavec/datavec-data/datavec-data-audio/pom.xml @@ -1,44 +1,43 @@ - + + + + - - - datavec-data - org.datavec - 1.0.0-SNAPSHOT - 4.0.0 + + org.datavec + datavec-data + 1.0.0-SNAPSHOT + + datavec-data-audio - jar datavec-data-audio - http://maven.apache.org - - - UTF-8 - org.datavec datavec-api - ${project.version} - org.bytedeco javacpp @@ -49,29 +48,20 @@ javacv ${javacv.version} - com.github.wendykierp JTransforms ${jtransforms.version} with-dependencies - - - org.nd4j - nd4j-common-tests - ${nd4j.version} - test - - - - + + diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/Wave.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/Wave.java index db75a546f..9f3bba03b 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/Wave.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/Wave.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/WaveFileManager.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/WaveFileManager.java index 877447787..db3ffa245 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/WaveFileManager.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/WaveFileManager.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/WaveHeader.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/WaveHeader.java index 3f7af014a..9d192859c 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/WaveHeader.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/WaveHeader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/dsp/FastFourierTransform.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/dsp/FastFourierTransform.java index a4f026b4e..77c4d005f 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/dsp/FastFourierTransform.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/dsp/FastFourierTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.dsp; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/dsp/LinearInterpolation.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/dsp/LinearInterpolation.java index bb4c3f789..9d33222ac 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/dsp/LinearInterpolation.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/dsp/LinearInterpolation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.dsp; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/dsp/Resampler.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/dsp/Resampler.java index e0d79215f..7365d3770 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/dsp/Resampler.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/dsp/Resampler.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.dsp; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/dsp/WindowFunction.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/dsp/WindowFunction.java index c0d7b6253..dde42d68f 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/dsp/WindowFunction.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/dsp/WindowFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.dsp; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/dsp/package-info.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/dsp/package-info.java index 269644ad8..7b07b8d3d 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/dsp/package-info.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/dsp/package-info.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /** * Originally derived from musicg. Importing relevant snippets for working with basic audio data. diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/extension/NormalizedSampleAmplitudes.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/extension/NormalizedSampleAmplitudes.java index 9a8eaba58..09afdbe24 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/extension/NormalizedSampleAmplitudes.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/extension/NormalizedSampleAmplitudes.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.extension; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/extension/Spectrogram.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/extension/Spectrogram.java index fdc680e1d..449bef927 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/extension/Spectrogram.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/extension/Spectrogram.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.extension; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/FingerprintManager.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/FingerprintManager.java index efa481a91..34d3161bc 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/FingerprintManager.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/FingerprintManager.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.fingerprint; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/FingerprintSimilarity.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/FingerprintSimilarity.java index c76756310..50c636c9c 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/FingerprintSimilarity.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/FingerprintSimilarity.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.fingerprint; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/FingerprintSimilarityComputer.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/FingerprintSimilarityComputer.java index 222bb5e67..57be28f83 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/FingerprintSimilarityComputer.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/FingerprintSimilarityComputer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.fingerprint; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/MapRank.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/MapRank.java index 3378f5c09..2912c8ac3 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/MapRank.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/MapRank.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.fingerprint; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/MapRankDouble.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/MapRankDouble.java index a24ba0959..1158672d3 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/MapRankDouble.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/MapRankDouble.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.fingerprint; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/MapRankInteger.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/MapRankInteger.java index befbcbe00..4836c9fe1 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/MapRankInteger.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/MapRankInteger.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.fingerprint; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/PairManager.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/PairManager.java index ff18c34c9..0474b8e8c 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/PairManager.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/PairManager.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.fingerprint; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/QuickSort.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/QuickSort.java index aebb362d2..abe4f260c 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/QuickSort.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/QuickSort.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.fingerprint; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/QuickSortDouble.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/QuickSortDouble.java index 258cbc888..3083e7903 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/QuickSortDouble.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/QuickSortDouble.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.fingerprint; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/QuickSortIndexPreserved.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/QuickSortIndexPreserved.java index 61e391d71..063d7c59c 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/QuickSortIndexPreserved.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/QuickSortIndexPreserved.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.fingerprint; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/QuickSortInteger.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/QuickSortInteger.java index 178553865..754484a83 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/QuickSortInteger.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/QuickSortInteger.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.fingerprint; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/QuickSortShort.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/QuickSortShort.java index 8b4324b7e..28de92f42 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/QuickSortShort.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/fingerprint/QuickSortShort.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.fingerprint; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/formats/input/WavInputFormat.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/formats/input/WavInputFormat.java index 6b51e3c44..7ff9f5b8c 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/formats/input/WavInputFormat.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/formats/input/WavInputFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.formats.input; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/formats/output/WaveOutputFormat.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/formats/output/WaveOutputFormat.java index be9d17bd4..018c4ff2f 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/formats/output/WaveOutputFormat.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/formats/output/WaveOutputFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.formats.output; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/processor/ArrayRankDouble.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/processor/ArrayRankDouble.java index a4fcbbc6d..5f40543c2 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/processor/ArrayRankDouble.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/processor/ArrayRankDouble.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.processor; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/processor/IntensityProcessor.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/processor/IntensityProcessor.java index 083ac4765..7d5cd7e6b 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/processor/IntensityProcessor.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/processor/IntensityProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.processor; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/processor/ProcessorChain.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/processor/ProcessorChain.java index c081e309a..4f21c5f50 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/processor/ProcessorChain.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/processor/ProcessorChain.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.processor; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/processor/RobustIntensityProcessor.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/processor/RobustIntensityProcessor.java index 1d884855c..6c365257d 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/processor/RobustIntensityProcessor.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/processor/RobustIntensityProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.processor; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/processor/TopManyPointsProcessorChain.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/processor/TopManyPointsProcessorChain.java index e5a742b01..5ae43b80b 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/processor/TopManyPointsProcessorChain.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/processor/TopManyPointsProcessorChain.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.processor; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/properties/FingerprintProperties.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/properties/FingerprintProperties.java index db69a0b36..073dc9869 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/properties/FingerprintProperties.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/properties/FingerprintProperties.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.properties; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/recordreader/BaseAudioRecordReader.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/recordreader/BaseAudioRecordReader.java index 82c9bb1ce..34f8582cf 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/recordreader/BaseAudioRecordReader.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/recordreader/BaseAudioRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.recordreader; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/recordreader/NativeAudioRecordReader.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/recordreader/NativeAudioRecordReader.java index c2a049b9e..5f8b599d5 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/recordreader/NativeAudioRecordReader.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/recordreader/NativeAudioRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.recordreader; diff --git a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/recordreader/WavFileRecordReader.java b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/recordreader/WavFileRecordReader.java index e0fb22bbb..7e1322064 100644 --- a/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/recordreader/WavFileRecordReader.java +++ b/datavec/datavec-data/datavec-data-audio/src/main/java/org/datavec/audio/recordreader/WavFileRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio.recordreader; diff --git a/datavec/datavec-data/datavec-data-audio/src/test/java/org/datavec/audio/AssertTestsExtendBaseClass.java b/datavec/datavec-data/datavec-data-audio/src/test/java/org/datavec/audio/AssertTestsExtendBaseClass.java index 20cc1ee1f..06156dfd7 100644 --- a/datavec/datavec-data/datavec-data-audio/src/test/java/org/datavec/audio/AssertTestsExtendBaseClass.java +++ b/datavec/datavec-data/datavec-data-audio/src/test/java/org/datavec/audio/AssertTestsExtendBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio; import lombok.extern.slf4j.Slf4j; diff --git a/datavec/datavec-data/datavec-data-audio/src/test/java/org/datavec/audio/AudioReaderTest.java b/datavec/datavec-data/datavec-data-audio/src/test/java/org/datavec/audio/AudioReaderTest.java index f0c02ab32..5e9f2a8ea 100644 --- a/datavec/datavec-data/datavec-data-audio/src/test/java/org/datavec/audio/AudioReaderTest.java +++ b/datavec/datavec-data/datavec-data-audio/src/test/java/org/datavec/audio/AudioReaderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio; diff --git a/datavec/datavec-data/datavec-data-audio/src/test/java/org/datavec/audio/TestFastFourierTransform.java b/datavec/datavec-data/datavec-data-audio/src/test/java/org/datavec/audio/TestFastFourierTransform.java index 3f5434cd8..a172c3e21 100644 --- a/datavec/datavec-data/datavec-data-audio/src/test/java/org/datavec/audio/TestFastFourierTransform.java +++ b/datavec/datavec-data/datavec-data-audio/src/test/java/org/datavec/audio/TestFastFourierTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.audio; diff --git a/datavec/datavec-data/datavec-data-codec/pom.xml b/datavec/datavec-data/datavec-data-codec/pom.xml index 58eda4820..4bbe0e7d3 100644 --- a/datavec/datavec-data/datavec-data-codec/pom.xml +++ b/datavec/datavec-data/datavec-data-codec/pom.xml @@ -1,33 +1,43 @@ - + + + + - - - datavec-data - org.datavec - 1.0.0-SNAPSHOT - 4.0.0 + + org.datavec + datavec-data + 1.0.0-SNAPSHOT + + datavec-data-codec - jar datavec-data-codec + + org.datavec + datavec-api + org.datavec datavec-data-image @@ -38,27 +48,14 @@ jcodec 0.1.5 - - org.datavec - datavec-api - ${project.version} - - - - org.nd4j - nd4j-common-tests - ${nd4j.version} - test - - - - + + diff --git a/datavec/datavec-data/datavec-data-codec/src/main/java/org/datavec/codec/format/input/CodecInputFormat.java b/datavec/datavec-data/datavec-data-codec/src/main/java/org/datavec/codec/format/input/CodecInputFormat.java index 118902b70..603ed3434 100644 --- a/datavec/datavec-data/datavec-data-codec/src/main/java/org/datavec/codec/format/input/CodecInputFormat.java +++ b/datavec/datavec-data/datavec-data-codec/src/main/java/org/datavec/codec/format/input/CodecInputFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.codec.format.input; diff --git a/datavec/datavec-data/datavec-data-codec/src/main/java/org/datavec/codec/reader/BaseCodecRecordReader.java b/datavec/datavec-data/datavec-data-codec/src/main/java/org/datavec/codec/reader/BaseCodecRecordReader.java index e2d136474..d9b8c3cc6 100644 --- a/datavec/datavec-data/datavec-data-codec/src/main/java/org/datavec/codec/reader/BaseCodecRecordReader.java +++ b/datavec/datavec-data/datavec-data-codec/src/main/java/org/datavec/codec/reader/BaseCodecRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.codec.reader; diff --git a/datavec/datavec-data/datavec-data-codec/src/main/java/org/datavec/codec/reader/CodecRecordReader.java b/datavec/datavec-data/datavec-data-codec/src/main/java/org/datavec/codec/reader/CodecRecordReader.java index 9e32b9bc0..ccfc506b2 100644 --- a/datavec/datavec-data/datavec-data-codec/src/main/java/org/datavec/codec/reader/CodecRecordReader.java +++ b/datavec/datavec-data/datavec-data-codec/src/main/java/org/datavec/codec/reader/CodecRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.codec.reader; diff --git a/datavec/datavec-data/datavec-data-codec/src/main/java/org/datavec/codec/reader/NativeCodecRecordReader.java b/datavec/datavec-data/datavec-data-codec/src/main/java/org/datavec/codec/reader/NativeCodecRecordReader.java index e6e7844ff..3bfb9fddf 100644 --- a/datavec/datavec-data/datavec-data-codec/src/main/java/org/datavec/codec/reader/NativeCodecRecordReader.java +++ b/datavec/datavec-data/datavec-data-codec/src/main/java/org/datavec/codec/reader/NativeCodecRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.codec.reader; diff --git a/datavec/datavec-data/datavec-data-codec/src/test/java/org/datavec/codec/reader/AssertTestsExtendBaseClass.java b/datavec/datavec-data/datavec-data-codec/src/test/java/org/datavec/codec/reader/AssertTestsExtendBaseClass.java index 611915bb0..cc12add9f 100644 --- a/datavec/datavec-data/datavec-data-codec/src/test/java/org/datavec/codec/reader/AssertTestsExtendBaseClass.java +++ b/datavec/datavec-data/datavec-data-codec/src/test/java/org/datavec/codec/reader/AssertTestsExtendBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.codec.reader; import lombok.extern.slf4j.Slf4j; diff --git a/datavec/datavec-data/datavec-data-codec/src/test/java/org/datavec/codec/reader/CodecReaderTest.java b/datavec/datavec-data/datavec-data-codec/src/test/java/org/datavec/codec/reader/CodecReaderTest.java index 7190efa10..d7bbc2148 100644 --- a/datavec/datavec-data/datavec-data-codec/src/test/java/org/datavec/codec/reader/CodecReaderTest.java +++ b/datavec/datavec-data/datavec-data-codec/src/test/java/org/datavec/codec/reader/CodecReaderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.codec.reader; diff --git a/datavec/datavec-data/datavec-data-image/pom.xml b/datavec/datavec-data/datavec-data-image/pom.xml index c88c89208..45f96d724 100644 --- a/datavec/datavec-data/datavec-data-image/pom.xml +++ b/datavec/datavec-data/datavec-data-image/pom.xml @@ -1,27 +1,33 @@ - + + + + + 4.0.0 - - datavec-data org.datavec + datavec-data 1.0.0-SNAPSHOT - 4.0.0 datavec-data-image @@ -29,13 +35,6 @@ org.datavec datavec-api - ${project.version} - - - ch.qos.logback - logback-classic - ${logback.version} - test com.github.jai-imageio @@ -99,13 +98,6 @@ hdf5-platform ${hdf5.version}-${javacpp-presets.version} - - - org.nd4j - nd4j-common-tests - ${nd4j.version} - test - @@ -115,14 +107,14 @@ maven-surefire-plugin - com.google.android:android + com.google.android:android + - test-nd4j-native diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/data/Image.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/data/Image.java index a3ced5f59..bf5c75e1a 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/data/Image.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/data/Image.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.data; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/data/ImageWritable.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/data/ImageWritable.java index 578aefa7a..e72feb630 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/data/ImageWritable.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/data/ImageWritable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.data; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/format/ImageInputFormat.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/format/ImageInputFormat.java index 27d6023f0..8ec6731f8 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/format/ImageInputFormat.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/format/ImageInputFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.format; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/AndroidNativeImageLoader.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/AndroidNativeImageLoader.java index 8b663e77d..b6fcdb936 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/AndroidNativeImageLoader.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/AndroidNativeImageLoader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.loader; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/BaseImageLoader.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/BaseImageLoader.java index 95768d1b7..502a6cceb 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/BaseImageLoader.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/BaseImageLoader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.loader; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/CifarLoader.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/CifarLoader.java index 3e2dd7f40..06b68e7b5 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/CifarLoader.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/CifarLoader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.loader; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/ImageLoader.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/ImageLoader.java index 9c2c61d57..f8ec67458 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/ImageLoader.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/ImageLoader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.loader; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/Java2DNativeImageLoader.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/Java2DNativeImageLoader.java index d45a37260..84e4dfc63 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/Java2DNativeImageLoader.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/Java2DNativeImageLoader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.loader; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/LFWLoader.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/LFWLoader.java index b71c53e42..beea5c2c7 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/LFWLoader.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/LFWLoader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.loader; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/NativeImageLoader.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/NativeImageLoader.java index ae9e2a322..3ddf64518 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/NativeImageLoader.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/loader/NativeImageLoader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.loader; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/MnistDbFile.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/MnistDbFile.java index 262d42936..91a2692ad 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/MnistDbFile.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/MnistDbFile.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.mnist; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/MnistFetcher.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/MnistFetcher.java index 5d2e6a2e1..3e74ccfd9 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/MnistFetcher.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/MnistFetcher.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.mnist; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/MnistImageFile.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/MnistImageFile.java index 12d17ec28..200ae10c6 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/MnistImageFile.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/MnistImageFile.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.mnist; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/MnistLabelFile.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/MnistLabelFile.java index 52d182ba7..7585dc26f 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/MnistLabelFile.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/MnistLabelFile.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.mnist; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/MnistManager.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/MnistManager.java index f3a5ee65a..57a0261c1 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/MnistManager.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/MnistManager.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.mnist; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/draw/DrawMnist.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/draw/DrawMnist.java index 628dfc22f..e51739782 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/draw/DrawMnist.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/draw/DrawMnist.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.mnist.draw; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/draw/DrawReconstruction.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/draw/DrawReconstruction.java index f18575acb..3aa7eaf2b 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/draw/DrawReconstruction.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/mnist/draw/DrawReconstruction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.mnist.draw; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/BaseImageRecordReader.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/BaseImageRecordReader.java index d5400ee8e..53ccf96cd 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/BaseImageRecordReader.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/BaseImageRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.recordreader; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/ImageRecordReader.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/ImageRecordReader.java index f8e292c26..2046226b9 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/ImageRecordReader.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/ImageRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.recordreader; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/objdetect/ImageObject.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/objdetect/ImageObject.java index 48dc45c1c..851ef1ada 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/objdetect/ImageObject.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/objdetect/ImageObject.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.recordreader.objdetect; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/objdetect/ImageObjectLabelProvider.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/objdetect/ImageObjectLabelProvider.java index 97ddaedcb..7cedde414 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/objdetect/ImageObjectLabelProvider.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/objdetect/ImageObjectLabelProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.recordreader.objdetect; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/objdetect/ObjectDetectionRecordReader.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/objdetect/ObjectDetectionRecordReader.java index 38afd6adf..fd1ed49c4 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/objdetect/ObjectDetectionRecordReader.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/objdetect/ObjectDetectionRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.recordreader.objdetect; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/objdetect/impl/SvhnLabelProvider.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/objdetect/impl/SvhnLabelProvider.java index 88ba44ac8..13707694d 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/objdetect/impl/SvhnLabelProvider.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/objdetect/impl/SvhnLabelProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.recordreader.objdetect.impl; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/objdetect/impl/VocLabelProvider.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/objdetect/impl/VocLabelProvider.java index 03d4e4c7e..6295ea354 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/objdetect/impl/VocLabelProvider.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/objdetect/impl/VocLabelProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.recordreader.objdetect.impl; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/BaseImageTransform.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/BaseImageTransform.java index 7e47448fe..673ee4b1e 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/BaseImageTransform.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/BaseImageTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.transform; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/BoxImageTransform.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/BoxImageTransform.java index 36340bb49..f04f1c181 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/BoxImageTransform.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/BoxImageTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.transform; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/ColorConversionTransform.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/ColorConversionTransform.java index 8b4836949..51d876157 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/ColorConversionTransform.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/ColorConversionTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.transform; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/CropImageTransform.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/CropImageTransform.java index bb333b810..b187991ac 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/CropImageTransform.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/CropImageTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.transform; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/EqualizeHistTransform.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/EqualizeHistTransform.java index ce86dcb3b..c34aeca58 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/EqualizeHistTransform.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/EqualizeHistTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.transform; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/FilterImageTransform.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/FilterImageTransform.java index 0d42c7a0c..4e4d34425 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/FilterImageTransform.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/FilterImageTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.transform; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/FlipImageTransform.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/FlipImageTransform.java index a79b94427..bc559cb95 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/FlipImageTransform.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/FlipImageTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.transform; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/ImageTransform.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/ImageTransform.java index bdd74df13..630c3e5d1 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/ImageTransform.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/ImageTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.transform; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/ImageTransformProcess.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/ImageTransformProcess.java index 2994e4a6b..0794f2ca8 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/ImageTransformProcess.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/ImageTransformProcess.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.transform; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/LargestBlobCropTransform.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/LargestBlobCropTransform.java index 48c0daae2..a7fa6ff66 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/LargestBlobCropTransform.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/LargestBlobCropTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.transform; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/MultiImageTransform.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/MultiImageTransform.java index 0311baab3..cffa6fc56 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/MultiImageTransform.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/MultiImageTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.transform; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/PipelineImageTransform.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/PipelineImageTransform.java index 9820c7ac7..d436b70ee 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/PipelineImageTransform.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/PipelineImageTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.transform; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/RandomCropTransform.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/RandomCropTransform.java index 648d05efb..31333bd09 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/RandomCropTransform.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/RandomCropTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.transform; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/ResizeImageTransform.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/ResizeImageTransform.java index 7c3d7816e..3270f2704 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/ResizeImageTransform.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/ResizeImageTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.transform; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/RotateImageTransform.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/RotateImageTransform.java index d9f47bd4c..99895ff1e 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/RotateImageTransform.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/RotateImageTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.transform; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/ScaleImageTransform.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/ScaleImageTransform.java index a034106a1..59f765af1 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/ScaleImageTransform.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/ScaleImageTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.transform; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/ShowImageTransform.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/ShowImageTransform.java index 2e9f8387a..f4ef57637 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/ShowImageTransform.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/ShowImageTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.transform; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/WarpImageTransform.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/WarpImageTransform.java index f6c1d9baa..9a329697b 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/WarpImageTransform.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/transform/WarpImageTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.transform; diff --git a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/util/ImageUtils.java b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/util/ImageUtils.java index e93a2292a..782fefead 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/util/ImageUtils.java +++ b/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/util/ImageUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.util; diff --git a/datavec/datavec-data/datavec-data-image/src/main/resources/META-INF/services/javax.imageio.spi.ImageReaderSpi b/datavec/datavec-data/datavec-data-image/src/main/resources/META-INF/services/javax.imageio.spi.ImageReaderSpi index 2da8244dc..93093220c 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/resources/META-INF/services/javax.imageio.spi.ImageReaderSpi +++ b/datavec/datavec-data/datavec-data-image/src/main/resources/META-INF/services/javax.imageio.spi.ImageReaderSpi @@ -1,3 +1,39 @@ +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +# +# /* ****************************************************************************** +# * Copyright (c) 2021 Deeplearning4j Contributors +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + ################################################################################ # Copyright (c) 2015-2018 Skymind, Inc. # diff --git a/datavec/datavec-data/datavec-data-image/src/main/resources/META-INF/services/javax.imageio.spi.ImageWriterSpi b/datavec/datavec-data/datavec-data-image/src/main/resources/META-INF/services/javax.imageio.spi.ImageWriterSpi index 6b9da9762..3c215bcd0 100644 --- a/datavec/datavec-data/datavec-data-image/src/main/resources/META-INF/services/javax.imageio.spi.ImageWriterSpi +++ b/datavec/datavec-data/datavec-data-image/src/main/resources/META-INF/services/javax.imageio.spi.ImageWriterSpi @@ -1,3 +1,39 @@ +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +# +# /* ****************************************************************************** +# * Copyright (c) 2021 Deeplearning4j Contributors +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + ################################################################################ # Copyright (c) 2015-2018 Skymind, Inc. # diff --git a/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/AssertTestsExtendBaseClass.java b/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/AssertTestsExtendBaseClass.java index 53b1f083a..4d2ebfaf9 100644 --- a/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/AssertTestsExtendBaseClass.java +++ b/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/AssertTestsExtendBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image; import lombok.extern.slf4j.Slf4j; diff --git a/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/LabelGeneratorTest.java b/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/LabelGeneratorTest.java index 44c32f94f..343b70030 100644 --- a/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/LabelGeneratorTest.java +++ b/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/LabelGeneratorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image; diff --git a/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/loader/LoaderTests.java b/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/loader/LoaderTests.java index a6063666d..79c22d44a 100644 --- a/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/loader/LoaderTests.java +++ b/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/loader/LoaderTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.loader; diff --git a/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/loader/TestImageLoader.java b/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/loader/TestImageLoader.java index a82f12409..496ed40cd 100644 --- a/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/loader/TestImageLoader.java +++ b/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/loader/TestImageLoader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.loader; diff --git a/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/loader/TestNativeImageLoader.java b/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/loader/TestNativeImageLoader.java index 68e93107c..a2cab1933 100644 --- a/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/loader/TestNativeImageLoader.java +++ b/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/loader/TestNativeImageLoader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.loader; diff --git a/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/recordreader/FileBatchRecordReaderTest.java b/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/recordreader/FileBatchRecordReaderTest.java index 75020ebf1..aeebeee2f 100644 --- a/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/recordreader/FileBatchRecordReaderTest.java +++ b/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/recordreader/FileBatchRecordReaderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.recordreader; diff --git a/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/recordreader/TestImageRecordReader.java b/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/recordreader/TestImageRecordReader.java index 590f6fc72..9d2fd0f2a 100644 --- a/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/recordreader/TestImageRecordReader.java +++ b/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/recordreader/TestImageRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.recordreader; diff --git a/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/recordreader/TestObjectDetectionRecordReader.java b/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/recordreader/TestObjectDetectionRecordReader.java index 5e4598005..240d4ee2a 100644 --- a/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/recordreader/TestObjectDetectionRecordReader.java +++ b/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/recordreader/TestObjectDetectionRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.recordreader; diff --git a/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/recordreader/objdetect/TestVocLabelProvider.java b/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/recordreader/objdetect/TestVocLabelProvider.java index 9d12ced22..abedc8c1c 100644 --- a/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/recordreader/objdetect/TestVocLabelProvider.java +++ b/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/recordreader/objdetect/TestVocLabelProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.recordreader.objdetect; diff --git a/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/transform/JsonYamlTest.java b/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/transform/JsonYamlTest.java index 9825e6899..0980a6a8e 100644 --- a/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/transform/JsonYamlTest.java +++ b/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/transform/JsonYamlTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.transform; diff --git a/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/transform/ResizeImageTransformTest.java b/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/transform/ResizeImageTransformTest.java index d769aac42..f4359d978 100644 --- a/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/transform/ResizeImageTransformTest.java +++ b/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/transform/ResizeImageTransformTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.transform; diff --git a/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/transform/TestImageTransform.java b/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/transform/TestImageTransform.java index bd71a1029..8dbf92042 100644 --- a/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/transform/TestImageTransform.java +++ b/datavec/datavec-data/datavec-data-image/src/test/java/org/datavec/image/transform/TestImageTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.image.transform; diff --git a/datavec/datavec-data/datavec-data-image/src/test/resources/logback.xml b/datavec/datavec-data/datavec-data-image/src/test/resources/logback.xml index 27b08dbe4..fcd213fc2 100644 --- a/datavec/datavec-data/datavec-data-image/src/test/resources/logback.xml +++ b/datavec/datavec-data/datavec-data-image/src/test/resources/logback.xml @@ -1,18 +1,20 @@ - + diff --git a/datavec/datavec-data/datavec-data-nlp/pom.xml b/datavec/datavec-data/datavec-data-nlp/pom.xml index dd5860f9a..2ce6168de 100644 --- a/datavec/datavec-data/datavec-data-nlp/pom.xml +++ b/datavec/datavec-data/datavec-data-nlp/pom.xml @@ -1,48 +1,56 @@ - + + + + - - - datavec-data - org.datavec - 1.0.0-SNAPSHOT - 4.0.0 + + org.datavec + datavec-data + 1.0.0-SNAPSHOT + + datavec-data-nlp - jar datavec-data-nlp - http://maven.apache.org - UTF-8 2.0.0 - org.apache.commons - commons-lang3 - ${commons-lang3.version} + org.datavec + datavec-api org.datavec - datavec-api + datavec-local ${project.version} + test + + + org.apache.commons + commons-lang3 org.cleartk @@ -54,26 +62,6 @@ cleartk-opennlp-tools ${cleartk.version} - - ch.qos.logback - logback-classic - ${logback.version} - test - - - - org.nd4j - nd4j-common-tests - ${nd4j.version} - test - - - - org.datavec - datavec-local - ${project.version} - test - diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/annotator/PoStagger.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/annotator/PoStagger.java index d071a42a4..071079e59 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/annotator/PoStagger.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/annotator/PoStagger.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.annotator; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/annotator/SentenceAnnotator.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/annotator/SentenceAnnotator.java index 4ba7e8532..9728dd598 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/annotator/SentenceAnnotator.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/annotator/SentenceAnnotator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.annotator; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/annotator/StemmerAnnotator.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/annotator/StemmerAnnotator.java index 253eebd9f..878320874 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/annotator/StemmerAnnotator.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/annotator/StemmerAnnotator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.annotator; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/annotator/TokenizerAnnotator.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/annotator/TokenizerAnnotator.java index 844a8554f..c95e6c476 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/annotator/TokenizerAnnotator.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/annotator/TokenizerAnnotator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.annotator; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/input/TextInputFormat.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/input/TextInputFormat.java index a120a3727..e65525325 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/input/TextInputFormat.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/input/TextInputFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.input; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/metadata/DefaultVocabCache.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/metadata/DefaultVocabCache.java index 16dff8e5f..6fd3d48c8 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/metadata/DefaultVocabCache.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/metadata/DefaultVocabCache.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.metadata; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/metadata/VocabCache.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/metadata/VocabCache.java index 64fb1e8cb..ccffc35ef 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/metadata/VocabCache.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/metadata/VocabCache.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.metadata; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/movingwindow/ContextLabelRetriever.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/movingwindow/ContextLabelRetriever.java index 76b0244bd..7c8883933 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/movingwindow/ContextLabelRetriever.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/movingwindow/ContextLabelRetriever.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.movingwindow; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/movingwindow/Util.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/movingwindow/Util.java index 225b2190c..55d593028 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/movingwindow/Util.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/movingwindow/Util.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.movingwindow; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/movingwindow/Window.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/movingwindow/Window.java index a75b37fd0..7a5d2b03f 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/movingwindow/Window.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/movingwindow/Window.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.movingwindow; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/movingwindow/Windows.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/movingwindow/Windows.java index 8791aa524..4af2fffa6 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/movingwindow/Windows.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/movingwindow/Windows.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.movingwindow; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/reader/TfidfRecordReader.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/reader/TfidfRecordReader.java index 8401b640d..c5c261e62 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/reader/TfidfRecordReader.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/reader/TfidfRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.reader; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/stopwords/StopWords.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/stopwords/StopWords.java index abff8f999..d284e2f72 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/stopwords/StopWords.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/stopwords/StopWords.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.stopwords; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/ConcurrentTokenizer.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/ConcurrentTokenizer.java index d46e68790..6a70ca776 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/ConcurrentTokenizer.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/ConcurrentTokenizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.tokenization.tokenizer; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/DefaultStreamTokenizer.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/DefaultStreamTokenizer.java index 9216ed24a..83628e860 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/DefaultStreamTokenizer.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/DefaultStreamTokenizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.tokenization.tokenizer; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/DefaultTokenizer.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/DefaultTokenizer.java index 4b393c0d5..3712b0ee7 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/DefaultTokenizer.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/DefaultTokenizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.tokenization.tokenizer; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/PosUimaTokenizer.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/PosUimaTokenizer.java index e9e94bb99..7b89484ba 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/PosUimaTokenizer.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/PosUimaTokenizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.tokenization.tokenizer; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/TokenPreProcess.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/TokenPreProcess.java index 4390a17c9..c816f1fa2 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/TokenPreProcess.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/TokenPreProcess.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.tokenization.tokenizer; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/Tokenizer.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/Tokenizer.java index 37e8ddb63..6147790e3 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/Tokenizer.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/Tokenizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.tokenization.tokenizer; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/UimaTokenizer.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/UimaTokenizer.java index eb14fdabd..6897bf27f 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/UimaTokenizer.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/UimaTokenizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.tokenization.tokenizer; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/preprocessor/EndingPreProcessor.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/preprocessor/EndingPreProcessor.java index 7a1ddc044..570a4a84f 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/preprocessor/EndingPreProcessor.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/preprocessor/EndingPreProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.tokenization.tokenizer.preprocessor; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/preprocessor/LowerCasePreProcessor.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/preprocessor/LowerCasePreProcessor.java index 69987b14c..f1139052a 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/preprocessor/LowerCasePreProcessor.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizer/preprocessor/LowerCasePreProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.tokenization.tokenizer.preprocessor; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizerfactory/DefaultTokenizerFactory.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizerfactory/DefaultTokenizerFactory.java index 4e70edfe2..898cbd299 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizerfactory/DefaultTokenizerFactory.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizerfactory/DefaultTokenizerFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.tokenization.tokenizerfactory; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizerfactory/PosUimaTokenizerFactory.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizerfactory/PosUimaTokenizerFactory.java index 5419bf9ef..03660ca95 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizerfactory/PosUimaTokenizerFactory.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizerfactory/PosUimaTokenizerFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.tokenization.tokenizerfactory; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizerfactory/TokenizerFactory.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizerfactory/TokenizerFactory.java index 610f0c759..ccdbc44a1 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizerfactory/TokenizerFactory.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizerfactory/TokenizerFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.tokenization.tokenizerfactory; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizerfactory/UimaTokenizerFactory.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizerfactory/UimaTokenizerFactory.java index 7b24244ac..8be61f027 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizerfactory/UimaTokenizerFactory.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/tokenization/tokenizerfactory/UimaTokenizerFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.tokenization.tokenizerfactory; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/transforms/BagOfWordsTransform.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/transforms/BagOfWordsTransform.java index 9cb9c642f..18ee1b8d5 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/transforms/BagOfWordsTransform.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/transforms/BagOfWordsTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.transforms; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/transforms/BaseWordMapTransform.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/transforms/BaseWordMapTransform.java index 92500f8f6..754b450ad 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/transforms/BaseWordMapTransform.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/transforms/BaseWordMapTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.transforms; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/transforms/GazeteerTransform.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/transforms/GazeteerTransform.java index 46c960ee3..13119baa2 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/transforms/GazeteerTransform.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/transforms/GazeteerTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.transforms; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/transforms/MultiNlpTransform.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/transforms/MultiNlpTransform.java index 7e7bf47ec..6b2e5d294 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/transforms/MultiNlpTransform.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/transforms/MultiNlpTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.transforms; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/transforms/TokenizerBagOfWordsTermSequenceIndexTransform.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/transforms/TokenizerBagOfWordsTermSequenceIndexTransform.java index 119cf4a21..8758b17c6 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/transforms/TokenizerBagOfWordsTermSequenceIndexTransform.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/transforms/TokenizerBagOfWordsTermSequenceIndexTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.transforms; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/uima/UimaResource.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/uima/UimaResource.java index 9c1c9546e..bd1c9a7ff 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/uima/UimaResource.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/uima/UimaResource.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.uima; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/vectorizer/AbstractTfidfVectorizer.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/vectorizer/AbstractTfidfVectorizer.java index 228774142..fbea35c25 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/vectorizer/AbstractTfidfVectorizer.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/vectorizer/AbstractTfidfVectorizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.vectorizer; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/vectorizer/TextVectorizer.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/vectorizer/TextVectorizer.java index dcf588ce9..c2a18a7ee 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/vectorizer/TextVectorizer.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/vectorizer/TextVectorizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.vectorizer; diff --git a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/vectorizer/TfidfVectorizer.java b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/vectorizer/TfidfVectorizer.java index a730bc739..27d13aa15 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/vectorizer/TfidfVectorizer.java +++ b/datavec/datavec-data/datavec-data-nlp/src/main/java/org/datavec/nlp/vectorizer/TfidfVectorizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.vectorizer; diff --git a/datavec/datavec-data/datavec-data-nlp/src/test/java/org/datavec/nlp/AssertTestsExtendBaseClass.java b/datavec/datavec-data/datavec-data-nlp/src/test/java/org/datavec/nlp/AssertTestsExtendBaseClass.java index 533c6b3ad..e4c4021ae 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/test/java/org/datavec/nlp/AssertTestsExtendBaseClass.java +++ b/datavec/datavec-data/datavec-data-nlp/src/test/java/org/datavec/nlp/AssertTestsExtendBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp; import lombok.extern.slf4j.Slf4j; diff --git a/datavec/datavec-data/datavec-data-nlp/src/test/java/org/datavec/nlp/reader/TfidfRecordReaderTest.java b/datavec/datavec-data/datavec-data-nlp/src/test/java/org/datavec/nlp/reader/TfidfRecordReaderTest.java index e0fddecad..2bac5e1bf 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/test/java/org/datavec/nlp/reader/TfidfRecordReaderTest.java +++ b/datavec/datavec-data/datavec-data-nlp/src/test/java/org/datavec/nlp/reader/TfidfRecordReaderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.reader; diff --git a/datavec/datavec-data/datavec-data-nlp/src/test/java/org/datavec/nlp/transforms/TestGazeteerTransform.java b/datavec/datavec-data/datavec-data-nlp/src/test/java/org/datavec/nlp/transforms/TestGazeteerTransform.java index e1ce08be6..040d98f2f 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/test/java/org/datavec/nlp/transforms/TestGazeteerTransform.java +++ b/datavec/datavec-data/datavec-data-nlp/src/test/java/org/datavec/nlp/transforms/TestGazeteerTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.transforms; diff --git a/datavec/datavec-data/datavec-data-nlp/src/test/java/org/datavec/nlp/transforms/TestMultiNLPTransform.java b/datavec/datavec-data/datavec-data-nlp/src/test/java/org/datavec/nlp/transforms/TestMultiNLPTransform.java index 265c837e1..b66bc4a9c 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/test/java/org/datavec/nlp/transforms/TestMultiNLPTransform.java +++ b/datavec/datavec-data/datavec-data-nlp/src/test/java/org/datavec/nlp/transforms/TestMultiNLPTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.transforms; diff --git a/datavec/datavec-data/datavec-data-nlp/src/test/java/org/datavec/nlp/transforms/TokenizerBagOfWordsTermSequenceIndexTransformTest.java b/datavec/datavec-data/datavec-data-nlp/src/test/java/org/datavec/nlp/transforms/TokenizerBagOfWordsTermSequenceIndexTransformTest.java index 5dc1fd415..ad74b10b3 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/test/java/org/datavec/nlp/transforms/TokenizerBagOfWordsTermSequenceIndexTransformTest.java +++ b/datavec/datavec-data/datavec-data-nlp/src/test/java/org/datavec/nlp/transforms/TokenizerBagOfWordsTermSequenceIndexTransformTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.nlp.transforms; diff --git a/datavec/datavec-data/datavec-data-nlp/src/test/resources/logback.xml b/datavec/datavec-data/datavec-data-nlp/src/test/resources/logback.xml index 2087d615c..c3d47d371 100644 --- a/datavec/datavec-data/datavec-data-nlp/src/test/resources/logback.xml +++ b/datavec/datavec-data/datavec-data-nlp/src/test/resources/logback.xml @@ -1,18 +1,20 @@ - + diff --git a/datavec/datavec-data/datavec-geo/pom.xml b/datavec/datavec-data/datavec-geo/pom.xml index 792265434..d6bd3703a 100644 --- a/datavec/datavec-data/datavec-geo/pom.xml +++ b/datavec/datavec-data/datavec-geo/pom.xml @@ -1,28 +1,33 @@ - + + + + + 4.0.0 - - datavec-data org.datavec + datavec-data 1.0.0-SNAPSHOT - 4.0.0 datavec-geo @@ -30,25 +35,12 @@ org.datavec datavec-api - ${project.version} - - - org.nd4j - nd4j-common-tests - ${nd4j.version} - test com.maxmind.geoip2 geoip2 ${geoip2.version} - - ch.qos.logback - logback-classic - ${logback.version} - test - diff --git a/datavec/datavec-data/datavec-geo/src/main/java/org/datavec/api/transform/geo/LocationType.java b/datavec/datavec-data/datavec-geo/src/main/java/org/datavec/api/transform/geo/LocationType.java index cd12f3fc9..3872e30b4 100644 --- a/datavec/datavec-data/datavec-geo/src/main/java/org/datavec/api/transform/geo/LocationType.java +++ b/datavec/datavec-data/datavec-geo/src/main/java/org/datavec/api/transform/geo/LocationType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.geo; diff --git a/datavec/datavec-data/datavec-geo/src/main/java/org/datavec/api/transform/reduce/geo/CoordinatesReduction.java b/datavec/datavec-data/datavec-geo/src/main/java/org/datavec/api/transform/reduce/geo/CoordinatesReduction.java index d5e9e3439..03e549658 100644 --- a/datavec/datavec-data/datavec-geo/src/main/java/org/datavec/api/transform/reduce/geo/CoordinatesReduction.java +++ b/datavec/datavec-data/datavec-geo/src/main/java/org/datavec/api/transform/reduce/geo/CoordinatesReduction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.reduce.geo; diff --git a/datavec/datavec-data/datavec-geo/src/main/java/org/datavec/api/transform/transform/geo/CoordinatesDistanceTransform.java b/datavec/datavec-data/datavec-geo/src/main/java/org/datavec/api/transform/transform/geo/CoordinatesDistanceTransform.java index bd80e83bd..7ff30add4 100644 --- a/datavec/datavec-data/datavec-geo/src/main/java/org/datavec/api/transform/transform/geo/CoordinatesDistanceTransform.java +++ b/datavec/datavec-data/datavec-geo/src/main/java/org/datavec/api/transform/transform/geo/CoordinatesDistanceTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.geo; diff --git a/datavec/datavec-data/datavec-geo/src/main/java/org/datavec/api/transform/transform/geo/GeoIPFetcher.java b/datavec/datavec-data/datavec-geo/src/main/java/org/datavec/api/transform/transform/geo/GeoIPFetcher.java index 7868b0044..ce7fa4bdd 100644 --- a/datavec/datavec-data/datavec-geo/src/main/java/org/datavec/api/transform/transform/geo/GeoIPFetcher.java +++ b/datavec/datavec-data/datavec-geo/src/main/java/org/datavec/api/transform/transform/geo/GeoIPFetcher.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.geo; diff --git a/datavec/datavec-data/datavec-geo/src/main/java/org/datavec/api/transform/transform/geo/IPAddressToCoordinatesTransform.java b/datavec/datavec-data/datavec-geo/src/main/java/org/datavec/api/transform/transform/geo/IPAddressToCoordinatesTransform.java index c5aa5b471..d3efc2283 100644 --- a/datavec/datavec-data/datavec-geo/src/main/java/org/datavec/api/transform/transform/geo/IPAddressToCoordinatesTransform.java +++ b/datavec/datavec-data/datavec-geo/src/main/java/org/datavec/api/transform/transform/geo/IPAddressToCoordinatesTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.geo; diff --git a/datavec/datavec-data/datavec-geo/src/main/java/org/datavec/api/transform/transform/geo/IPAddressToLocationTransform.java b/datavec/datavec-data/datavec-geo/src/main/java/org/datavec/api/transform/transform/geo/IPAddressToLocationTransform.java index db4049352..407a6cd24 100644 --- a/datavec/datavec-data/datavec-geo/src/main/java/org/datavec/api/transform/transform/geo/IPAddressToLocationTransform.java +++ b/datavec/datavec-data/datavec-geo/src/main/java/org/datavec/api/transform/transform/geo/IPAddressToLocationTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform.geo; diff --git a/datavec/datavec-data/datavec-geo/src/test/java/org/datavec/api/transform/AssertTestsExtendBaseClass.java b/datavec/datavec-data/datavec-geo/src/test/java/org/datavec/api/transform/AssertTestsExtendBaseClass.java index 3a01a1c4b..3a99eda84 100644 --- a/datavec/datavec-data/datavec-geo/src/test/java/org/datavec/api/transform/AssertTestsExtendBaseClass.java +++ b/datavec/datavec-data/datavec-geo/src/test/java/org/datavec/api/transform/AssertTestsExtendBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform; import lombok.extern.slf4j.Slf4j; diff --git a/datavec/datavec-data/datavec-geo/src/test/java/org/datavec/api/transform/reduce/TestGeoReduction.java b/datavec/datavec-data/datavec-geo/src/test/java/org/datavec/api/transform/reduce/TestGeoReduction.java index d7f62fa02..591ca334c 100644 --- a/datavec/datavec-data/datavec-geo/src/test/java/org/datavec/api/transform/reduce/TestGeoReduction.java +++ b/datavec/datavec-data/datavec-geo/src/test/java/org/datavec/api/transform/reduce/TestGeoReduction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.reduce; diff --git a/datavec/datavec-data/datavec-geo/src/test/java/org/datavec/api/transform/transform/TestGeoTransforms.java b/datavec/datavec-data/datavec-geo/src/test/java/org/datavec/api/transform/transform/TestGeoTransforms.java index ea52d9979..a2927fdbe 100644 --- a/datavec/datavec-data/datavec-geo/src/test/java/org/datavec/api/transform/transform/TestGeoTransforms.java +++ b/datavec/datavec-data/datavec-geo/src/test/java/org/datavec/api/transform/transform/TestGeoTransforms.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.transform.transform; diff --git a/datavec/datavec-data/datavec-hadoop/src/test/java/org/datavec/hadoop/conf/TestConfigurationUtil.java b/datavec/datavec-data/datavec-hadoop/src/test/java/org/datavec/hadoop/conf/TestConfigurationUtil.java deleted file mode 100644 index f45f8e505..000000000 --- a/datavec/datavec-data/datavec-hadoop/src/test/java/org/datavec/hadoop/conf/TestConfigurationUtil.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.datavec.hadoop.conf; - -import org.apache.hadoop.conf.Configuration; -import org.junit.Test; - -public class TestConfigurationUtil { - - @Test - public void testLoadHadoopConfFiles() { - - // this would come from the properties file - String confPath = "src/test/resources/conf/example_conf/"; - - Configuration conf = ConfigurationUtil.generateConfig(confPath); - - System.out.println(" works? " + conf.get("fs.default.name")); - - - } - -} diff --git a/datavec/datavec-data/pom.xml b/datavec/datavec-data/pom.xml index 2510924b8..a15abfe54 100644 --- a/datavec/datavec-data/pom.xml +++ b/datavec/datavec-data/pom.xml @@ -1,51 +1,61 @@ - + + + + + + 4.0.0 - - datavec-parent org.datavec + datavec-parent 1.0.0-SNAPSHOT - 4.0.0 datavec-data pom datavec-data - http://maven.apache.org + datavec-data-audio datavec-data-codec datavec-data-image datavec-data-nlp datavec-geo - datavec-hadoop - - UTF-8 - + + + + org.datavec + datavec-api + ${project.version} + + + org.nd4j nd4j-api - ${nd4j.version} @@ -57,5 +67,4 @@ test-nd4j-cuda-11.0 - diff --git a/datavec/datavec-excel/pom.xml b/datavec/datavec-excel/pom.xml index dc6d3d6b7..eb60108ac 100644 --- a/datavec/datavec-excel/pom.xml +++ b/datavec/datavec-excel/pom.xml @@ -1,37 +1,38 @@ - + + + + - - - datavec-parent - org.datavec - 1.0.0-SNAPSHOT - 4.0.0 + + org.datavec + datavec-parent + 1.0.0-SNAPSHOT + + datavec-excel - jar datavec-excel - - UTF-8 - - org.datavec @@ -44,20 +45,12 @@ poi ${poi.version} - org.apache.poi poi-ooxml ${poi.version} - - - org.nd4j - nd4j-common-tests - ${nd4j.version} - test - diff --git a/datavec/datavec-excel/src/main/java/org/datavec/poi/excel/ExcelRecordReader.java b/datavec/datavec-excel/src/main/java/org/datavec/poi/excel/ExcelRecordReader.java index bbb4c3240..22e83e8e5 100644 --- a/datavec/datavec-excel/src/main/java/org/datavec/poi/excel/ExcelRecordReader.java +++ b/datavec/datavec-excel/src/main/java/org/datavec/poi/excel/ExcelRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.poi.excel; diff --git a/datavec/datavec-excel/src/main/java/org/datavec/poi/excel/ExcelRecordWriter.java b/datavec/datavec-excel/src/main/java/org/datavec/poi/excel/ExcelRecordWriter.java index 7afacc4cd..dadefcb26 100644 --- a/datavec/datavec-excel/src/main/java/org/datavec/poi/excel/ExcelRecordWriter.java +++ b/datavec/datavec-excel/src/main/java/org/datavec/poi/excel/ExcelRecordWriter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.poi.excel; diff --git a/datavec/datavec-excel/src/test/java/org/datavec/poi/excel/AssertTestsExtendBaseClass.java b/datavec/datavec-excel/src/test/java/org/datavec/poi/excel/AssertTestsExtendBaseClass.java index 6caac98a1..c7df4cf5b 100644 --- a/datavec/datavec-excel/src/test/java/org/datavec/poi/excel/AssertTestsExtendBaseClass.java +++ b/datavec/datavec-excel/src/test/java/org/datavec/poi/excel/AssertTestsExtendBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.poi.excel; import lombok.extern.slf4j.Slf4j; diff --git a/datavec/datavec-excel/src/test/java/org/datavec/poi/excel/ExcelRecordReaderTest.java b/datavec/datavec-excel/src/test/java/org/datavec/poi/excel/ExcelRecordReaderTest.java index fda21502f..341210a61 100644 --- a/datavec/datavec-excel/src/test/java/org/datavec/poi/excel/ExcelRecordReaderTest.java +++ b/datavec/datavec-excel/src/test/java/org/datavec/poi/excel/ExcelRecordReaderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.poi.excel; diff --git a/datavec/datavec-excel/src/test/java/org/datavec/poi/excel/ExcelRecordWriterTest.java b/datavec/datavec-excel/src/test/java/org/datavec/poi/excel/ExcelRecordWriterTest.java index a967fe8b6..48bf1f348 100644 --- a/datavec/datavec-excel/src/test/java/org/datavec/poi/excel/ExcelRecordWriterTest.java +++ b/datavec/datavec-excel/src/test/java/org/datavec/poi/excel/ExcelRecordWriterTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.poi.excel; diff --git a/datavec/datavec-jdbc/pom.xml b/datavec/datavec-jdbc/pom.xml index 612fb05e7..1a85bc3d9 100644 --- a/datavec/datavec-jdbc/pom.xml +++ b/datavec/datavec-jdbc/pom.xml @@ -1,29 +1,33 @@ - + + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + 4.0.0 + - datavec-parent org.datavec + datavec-parent 1.0.0-SNAPSHOT - 4.0.0 datavec-jdbc @@ -39,32 +43,22 @@ datavec-api ${project.version} - commons-dbutils commons-dbutils ${dbutils.version} - com.zaxxer HikariCP-java7 ${hikaricp.version} - org.apache.derby derby ${derby.version} test - - - org.nd4j - nd4j-common-tests - ${nd4j.version} - test - diff --git a/datavec/datavec-jdbc/src/main/java/org/datavec/jdbc/records/metadata/RecordMetaDataJdbc.java b/datavec/datavec-jdbc/src/main/java/org/datavec/jdbc/records/metadata/RecordMetaDataJdbc.java index b7489a187..2a3e31b82 100644 --- a/datavec/datavec-jdbc/src/main/java/org/datavec/jdbc/records/metadata/RecordMetaDataJdbc.java +++ b/datavec/datavec-jdbc/src/main/java/org/datavec/jdbc/records/metadata/RecordMetaDataJdbc.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.jdbc.records.metadata; diff --git a/datavec/datavec-jdbc/src/main/java/org/datavec/jdbc/records/reader/impl/jdbc/JDBCRecordReader.java b/datavec/datavec-jdbc/src/main/java/org/datavec/jdbc/records/reader/impl/jdbc/JDBCRecordReader.java index 859026406..282897863 100644 --- a/datavec/datavec-jdbc/src/main/java/org/datavec/jdbc/records/reader/impl/jdbc/JDBCRecordReader.java +++ b/datavec/datavec-jdbc/src/main/java/org/datavec/jdbc/records/reader/impl/jdbc/JDBCRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.jdbc.records.reader.impl.jdbc; diff --git a/datavec/datavec-jdbc/src/main/java/org/datavec/jdbc/util/JdbcWritableConverter.java b/datavec/datavec-jdbc/src/main/java/org/datavec/jdbc/util/JdbcWritableConverter.java index d366c99ab..dd2e6f741 100644 --- a/datavec/datavec-jdbc/src/main/java/org/datavec/jdbc/util/JdbcWritableConverter.java +++ b/datavec/datavec-jdbc/src/main/java/org/datavec/jdbc/util/JdbcWritableConverter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.jdbc.util; diff --git a/datavec/datavec-jdbc/src/main/java/org/datavec/jdbc/util/ResettableResultSetIterator.java b/datavec/datavec-jdbc/src/main/java/org/datavec/jdbc/util/ResettableResultSetIterator.java index a5f79d31c..0f4548257 100644 --- a/datavec/datavec-jdbc/src/main/java/org/datavec/jdbc/util/ResettableResultSetIterator.java +++ b/datavec/datavec-jdbc/src/main/java/org/datavec/jdbc/util/ResettableResultSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.jdbc.util; diff --git a/datavec/datavec-jdbc/src/test/java/org/datavec/api/records/reader/AssertTestsExtendBaseClass.java b/datavec/datavec-jdbc/src/test/java/org/datavec/api/records/reader/AssertTestsExtendBaseClass.java index ac6c3e472..e3166b547 100644 --- a/datavec/datavec-jdbc/src/test/java/org/datavec/api/records/reader/AssertTestsExtendBaseClass.java +++ b/datavec/datavec-jdbc/src/test/java/org/datavec/api/records/reader/AssertTestsExtendBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader; import lombok.extern.slf4j.Slf4j; diff --git a/datavec/datavec-jdbc/src/test/java/org/datavec/api/records/reader/impl/JDBCRecordReaderTest.java b/datavec/datavec-jdbc/src/test/java/org/datavec/api/records/reader/impl/JDBCRecordReaderTest.java index 5b56e6408..b076e9d9d 100644 --- a/datavec/datavec-jdbc/src/test/java/org/datavec/api/records/reader/impl/JDBCRecordReaderTest.java +++ b/datavec/datavec-jdbc/src/test/java/org/datavec/api/records/reader/impl/JDBCRecordReaderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl; diff --git a/datavec/datavec-jdbc/src/test/java/org/datavec/api/records/reader/impl/TestDb.java b/datavec/datavec-jdbc/src/test/java/org/datavec/api/records/reader/impl/TestDb.java index 65c739be7..452b47dc4 100644 --- a/datavec/datavec-jdbc/src/test/java/org/datavec/api/records/reader/impl/TestDb.java +++ b/datavec/datavec-jdbc/src/test/java/org/datavec/api/records/reader/impl/TestDb.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.api.records.reader.impl; diff --git a/datavec/datavec-local/pom.xml b/datavec/datavec-local/pom.xml index 06fd13fe2..84c6db479 100644 --- a/datavec/datavec-local/pom.xml +++ b/datavec/datavec-local/pom.xml @@ -1,49 +1,43 @@ - + + + + - - - datavec-parent - org.datavec - 1.0.0-SNAPSHOT - 4.0.0 + + org.datavec + datavec-parent + 1.0.0-SNAPSHOT + + datavec-local - jar datavec-local - http://maven.apache.org - UTF-8 + 1.8 + 1.8 - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.8 - 1.8 - - - - + com.codepoetics @@ -63,7 +57,6 @@ org.nd4j nd4j-common - ${nd4j.version} org.datavec @@ -71,23 +64,12 @@ ${project.version} test - - - org.datavec datavec-python ${project.version} test - - - org.nd4j - nd4j-common-tests - ${nd4j.version} - test - - diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/AnalyzeLocal.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/AnalyzeLocal.java index 2234c83f3..7291a1012 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/AnalyzeLocal.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/AnalyzeLocal.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/BaseFlatMapFunctionAdaptee.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/BaseFlatMapFunctionAdaptee.java index 469d11a5a..85863d3d7 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/BaseFlatMapFunctionAdaptee.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/BaseFlatMapFunctionAdaptee.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/LocalTransformExecutor.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/LocalTransformExecutor.java index 95db743d5..a5f37e94f 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/LocalTransformExecutor.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/LocalTransformExecutor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/LocalTransformProcessRecordReader.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/LocalTransformProcessRecordReader.java index a702a34d7..a3bc87bdc 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/LocalTransformProcessRecordReader.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/LocalTransformProcessRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/LocalTransformProcessSequenceRecordReader.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/LocalTransformProcessSequenceRecordReader.java index 1eb4bf173..40f7fccae 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/LocalTransformProcessSequenceRecordReader.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/LocalTransformProcessSequenceRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/SequenceEmptyRecordFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/SequenceEmptyRecordFunction.java index d0f521586..e9764debb 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/SequenceEmptyRecordFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/SequenceEmptyRecordFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/analysis/aggregate/AnalysisAddFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/analysis/aggregate/AnalysisAddFunction.java index 8b3a0e0dc..b55911242 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/analysis/aggregate/AnalysisAddFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/analysis/aggregate/AnalysisAddFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.analysis.aggregate; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/analysis/aggregate/AnalysisCombineFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/analysis/aggregate/AnalysisCombineFunction.java index 2f8ad918f..f826bb1ac 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/analysis/aggregate/AnalysisCombineFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/analysis/aggregate/AnalysisCombineFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.analysis.aggregate; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/analysis/histogram/HistogramAddFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/analysis/histogram/HistogramAddFunction.java index 3b0bdb592..92b75e1ed 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/analysis/histogram/HistogramAddFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/analysis/histogram/HistogramAddFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.analysis.histogram; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/analysis/histogram/HistogramCombineFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/analysis/histogram/HistogramCombineFunction.java index bbdf924e8..181d4a736 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/analysis/histogram/HistogramCombineFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/analysis/histogram/HistogramCombineFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.analysis.histogram; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/EmptyRecordFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/EmptyRecordFunction.java index 2ac4feea5..93bfd1ba0 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/EmptyRecordFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/EmptyRecordFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.functions; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/FlatMapFunctionAdapter.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/FlatMapFunctionAdapter.java index 8a318dada..5f497facd 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/FlatMapFunctionAdapter.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/FlatMapFunctionAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.functions; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/LineRecordReaderFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/LineRecordReaderFunction.java index b978d266e..adb697f19 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/LineRecordReaderFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/LineRecordReaderFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.functions; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/RecordReaderFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/RecordReaderFunction.java index 4cd61f9c1..3a46a0964 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/RecordReaderFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/RecordReaderFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.functions; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/SequenceRecordReaderFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/SequenceRecordReaderFunction.java index 1604ded5b..ee399c94f 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/SequenceRecordReaderFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/SequenceRecordReaderFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.functions; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/data/FilesAsBytesFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/data/FilesAsBytesFunction.java index 64fd3acd8..3b8372366 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/data/FilesAsBytesFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/data/FilesAsBytesFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.functions.data; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/data/RecordReaderBytesFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/data/RecordReaderBytesFunction.java index 1017dfb71..065682e4f 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/data/RecordReaderBytesFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/data/RecordReaderBytesFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.functions.data; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/data/SequenceRecordReaderBytesFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/data/SequenceRecordReaderBytesFunction.java index bac1d7d59..ef984fffa 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/data/SequenceRecordReaderBytesFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/functions/data/SequenceRecordReaderBytesFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.functions.data; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/join/ExecuteJoinFromCoGroupFlatMapFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/join/ExecuteJoinFromCoGroupFlatMapFunction.java index 4fbe0812a..ae06a52f4 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/join/ExecuteJoinFromCoGroupFlatMapFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/join/ExecuteJoinFromCoGroupFlatMapFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.join; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/join/ExecuteJoinFromCoGroupFlatMapFunctionAdapter.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/join/ExecuteJoinFromCoGroupFlatMapFunctionAdapter.java index fed6762b0..5f9f8f557 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/join/ExecuteJoinFromCoGroupFlatMapFunctionAdapter.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/join/ExecuteJoinFromCoGroupFlatMapFunctionAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.join; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/join/ExtractKeysFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/join/ExtractKeysFunction.java index 42d205c99..11367a4ec 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/join/ExtractKeysFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/join/ExtractKeysFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.join; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/join/FilterAndFlattenJoinedValues.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/join/FilterAndFlattenJoinedValues.java index 7730db197..580454d1c 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/join/FilterAndFlattenJoinedValues.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/join/FilterAndFlattenJoinedValues.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.join; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/join/FilterAndFlattenJoinedValuesAdapter.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/join/FilterAndFlattenJoinedValuesAdapter.java index 759a670ee..6d029a0a8 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/join/FilterAndFlattenJoinedValuesAdapter.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/join/FilterAndFlattenJoinedValuesAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.join; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/join/JoinedValue.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/join/JoinedValue.java index 6fbe0d558..097f2a53a 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/join/JoinedValue.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/join/JoinedValue.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.join; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/ColumnAsKeyPairFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/ColumnAsKeyPairFunction.java index 76921daf9..b70294832 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/ColumnAsKeyPairFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/ColumnAsKeyPairFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.misc; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/ColumnToKeyPairTransform.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/ColumnToKeyPairTransform.java index 92e867098..dcb40da6a 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/ColumnToKeyPairTransform.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/ColumnToKeyPairTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.misc; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/NDArrayToWritablesFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/NDArrayToWritablesFunction.java index 98533e382..a804ed9f4 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/NDArrayToWritablesFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/NDArrayToWritablesFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.misc; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/SequenceMergeFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/SequenceMergeFunction.java index 46dae0034..4b10c7a77 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/SequenceMergeFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/SequenceMergeFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.misc; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/SequenceWritablesToStringFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/SequenceWritablesToStringFunction.java index 56f5e48dc..0848b54f3 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/SequenceWritablesToStringFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/SequenceWritablesToStringFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.misc; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/StringToWritablesFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/StringToWritablesFunction.java index 06b543f1a..a88145492 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/StringToWritablesFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/StringToWritablesFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.misc; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/SumLongsFunction2.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/SumLongsFunction2.java index 95d1adcca..a5f1b0027 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/SumLongsFunction2.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/SumLongsFunction2.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.misc; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/WritablesToNDArrayFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/WritablesToNDArrayFunction.java index 0334ddd93..59b08e61b 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/WritablesToNDArrayFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/WritablesToNDArrayFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.misc; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/WritablesToStringFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/WritablesToStringFunction.java index b1decb094..d186e1788 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/WritablesToStringFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/WritablesToStringFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.misc; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/comparator/Tuple2Comparator.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/comparator/Tuple2Comparator.java index b53ac6fe2..0b894c556 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/comparator/Tuple2Comparator.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/misc/comparator/Tuple2Comparator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.misc.comparator; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/rank/UnzipForCalculateSortedRankFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/rank/UnzipForCalculateSortedRankFunction.java index e569fe940..f2e54fbf1 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/rank/UnzipForCalculateSortedRankFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/rank/UnzipForCalculateSortedRankFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.rank; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/reduce/MapToPairForReducerFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/reduce/MapToPairForReducerFunction.java index f84315241..ae3f1939c 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/reduce/MapToPairForReducerFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/reduce/MapToPairForReducerFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.reduce; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/reduce/ReducerFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/reduce/ReducerFunction.java index b1b449bea..b95097c76 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/reduce/ReducerFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/reduce/ReducerFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.reduce; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/sequence/ConvertToSequenceLengthOne.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/sequence/ConvertToSequenceLengthOne.java index 18324eba0..46341928b 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/sequence/ConvertToSequenceLengthOne.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/sequence/ConvertToSequenceLengthOne.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.sequence; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/sequence/LocalGroupToSequenceFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/sequence/LocalGroupToSequenceFunction.java index 0c1d85510..09bc6b1c0 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/sequence/LocalGroupToSequenceFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/sequence/LocalGroupToSequenceFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.sequence; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/sequence/LocalMapToPairByColumnFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/sequence/LocalMapToPairByColumnFunction.java index 7131966f7..a75adc201 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/sequence/LocalMapToPairByColumnFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/sequence/LocalMapToPairByColumnFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.sequence; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/sequence/LocalMapToPairByMultipleColumnsFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/sequence/LocalMapToPairByMultipleColumnsFunction.java index 1f4e36af1..50f7e6d83 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/sequence/LocalMapToPairByMultipleColumnsFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/sequence/LocalMapToPairByMultipleColumnsFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.sequence; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/sequence/LocalSequenceFilterFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/sequence/LocalSequenceFilterFunction.java index 90573b983..807a267f4 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/sequence/LocalSequenceFilterFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/sequence/LocalSequenceFilterFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.sequence; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/sequence/LocalSequenceTransformFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/sequence/LocalSequenceTransformFunction.java index 401f9fdac..beab779c1 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/sequence/LocalSequenceTransformFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/sequence/LocalSequenceTransformFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.sequence; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/LocalTransformFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/LocalTransformFunction.java index c27f0d2ec..5a9156cd7 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/LocalTransformFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/LocalTransformFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.transform; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/LocalTransformProcessFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/LocalTransformProcessFunction.java index d28f61700..3e8d34bc5 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/LocalTransformProcessFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/LocalTransformProcessFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.transform; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/LocalTransformProcessFunctionAdapter.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/LocalTransformProcessFunctionAdapter.java index a365fc0c7..c556f5f80 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/LocalTransformProcessFunctionAdapter.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/LocalTransformProcessFunctionAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.transform; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/SequenceSplitFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/SequenceSplitFunction.java index 3fbfa48d5..808b11357 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/SequenceSplitFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/SequenceSplitFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.transform; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/SequenceSplitFunctionAdapter.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/SequenceSplitFunctionAdapter.java index f68b4d544..1ec698bab 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/SequenceSplitFunctionAdapter.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/SequenceSplitFunctionAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.transform; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/filter/FilterWritablesBySchemaFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/filter/FilterWritablesBySchemaFunction.java index 08973dee2..b1f644b6b 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/filter/FilterWritablesBySchemaFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/filter/FilterWritablesBySchemaFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.transform.filter; diff --git a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/filter/LocalFilterFunction.java b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/filter/LocalFilterFunction.java index ac6c56fae..4dbdb93a4 100644 --- a/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/filter/LocalFilterFunction.java +++ b/datavec/datavec-local/src/main/java/org/datavec/local/transforms/transform/filter/LocalFilterFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.transform.filter; diff --git a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/AssertTestsExtendBaseClass.java b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/AssertTestsExtendBaseClass.java index f6c9ac5ec..6d2bfb36c 100644 --- a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/AssertTestsExtendBaseClass.java +++ b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/AssertTestsExtendBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms; import lombok.extern.slf4j.Slf4j; diff --git a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/LocalTransformProcessRecordReaderTests.java b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/LocalTransformProcessRecordReaderTests.java index e2ab3ddd7..68a2c35b3 100644 --- a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/LocalTransformProcessRecordReaderTests.java +++ b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/LocalTransformProcessRecordReaderTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms; diff --git a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/analysis/TestAnalyzeLocal.java b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/analysis/TestAnalyzeLocal.java index 95a30b6cc..7337cb0d0 100644 --- a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/analysis/TestAnalyzeLocal.java +++ b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/analysis/TestAnalyzeLocal.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.analysis; diff --git a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/functions/TestLineRecordReaderFunction.java b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/functions/TestLineRecordReaderFunction.java index 9ed9f528d..bb0f91252 100644 --- a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/functions/TestLineRecordReaderFunction.java +++ b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/functions/TestLineRecordReaderFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.functions; diff --git a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/functions/TestNDArrayToWritablesFunction.java b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/functions/TestNDArrayToWritablesFunction.java index 677bd3d48..85eeb1ab2 100644 --- a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/functions/TestNDArrayToWritablesFunction.java +++ b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/functions/TestNDArrayToWritablesFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.functions; diff --git a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/functions/TestWritablesToNDArrayFunction.java b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/functions/TestWritablesToNDArrayFunction.java index 65ff25850..ad6f2daf3 100644 --- a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/functions/TestWritablesToNDArrayFunction.java +++ b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/functions/TestWritablesToNDArrayFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.functions; diff --git a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/functions/TestWritablesToStringFunctions.java b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/functions/TestWritablesToStringFunctions.java index d6cc7ba37..38df7bce4 100644 --- a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/functions/TestWritablesToStringFunctions.java +++ b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/functions/TestWritablesToStringFunctions.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.functions; diff --git a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/transform/ExecutionTest.java b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/transform/ExecutionTest.java index 19733f297..fff2eabd9 100644 --- a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/transform/ExecutionTest.java +++ b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/transform/ExecutionTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.transform; diff --git a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/transform/TestGeoTransforms.java b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/transform/TestGeoTransforms.java index 4dc4a3fe6..0ed96214f 100644 --- a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/transform/TestGeoTransforms.java +++ b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/transform/TestGeoTransforms.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.transform; diff --git a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/transform/TestPythonTransformProcess.java b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/transform/TestPythonTransformProcess.java index 7a6ab3f03..e9ea9eaf3 100644 --- a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/transform/TestPythonTransformProcess.java +++ b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/transform/TestPythonTransformProcess.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.transform; diff --git a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/transform/join/TestJoin.java b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/transform/join/TestJoin.java index a4cee4a79..a487bed76 100644 --- a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/transform/join/TestJoin.java +++ b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/transform/join/TestJoin.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.transform.join; diff --git a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/transform/rank/TestCalculateSortedRank.java b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/transform/rank/TestCalculateSortedRank.java index e4644a814..180af3306 100644 --- a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/transform/rank/TestCalculateSortedRank.java +++ b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/transform/rank/TestCalculateSortedRank.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.transform.rank; diff --git a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/transform/sequence/TestConvertToSequence.java b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/transform/sequence/TestConvertToSequence.java index 68be7ea43..51e325fcf 100644 --- a/datavec/datavec-local/src/test/java/org/datavec/local/transforms/transform/sequence/TestConvertToSequence.java +++ b/datavec/datavec-local/src/test/java/org/datavec/local/transforms/transform/sequence/TestConvertToSequence.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.local.transforms.transform.sequence; diff --git a/datavec/datavec-local/src/test/resources/log4j.properties b/datavec/datavec-local/src/test/resources/log4j.properties index 00eaf12f4..77d23aa0c 100644 --- a/datavec/datavec-local/src/test/resources/log4j.properties +++ b/datavec/datavec-local/src/test/resources/log4j.properties @@ -1,18 +1,20 @@ -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ log4j.rootLogger=ERROR, Console log4j.logger.play=DEBUG diff --git a/datavec/datavec-local/src/test/resources/logback.xml b/datavec/datavec-local/src/test/resources/logback.xml index 2087d615c..c3d47d371 100644 --- a/datavec/datavec-local/src/test/resources/logback.xml +++ b/datavec/datavec-local/src/test/resources/logback.xml @@ -1,18 +1,20 @@ - + diff --git a/datavec/datavec-python/src/main/resources/pythonexec/pythonexec.py b/datavec/datavec-python/src/main/resources/pythonexec/pythonexec.py deleted file mode 100644 index 1509610c7..000000000 --- a/datavec/datavec-python/src/main/resources/pythonexec/pythonexec.py +++ /dev/null @@ -1,20 +0,0 @@ -import sys -import traceback -import json -import inspect - -__python_exception__ = "" -try: - pass - sys.stdout.flush() - sys.stderr.flush() -except Exception as ex: - __python_exception__ = ex - try: - exc_info = sys.exc_info() - finally: - print(ex) - traceback.print_exception(*exc_info) - sys.stdout.flush() - sys.stderr.flush() - diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-client/pom.xml b/datavec/datavec-spark-inference-parent/datavec-spark-inference-client/pom.xml index ff8bdb853..894922306 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-client/pom.xml +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-client/pom.xml @@ -1,34 +1,38 @@ - + + + + - - - datavec-spark-inference-parent - org.datavec - 1.0.0-SNAPSHOT - 4.0.0 + + org.datavec + datavec-spark-inference-parent + 1.0.0-SNAPSHOT + + datavec-spark-inference-client - jar datavec-spark-inference-client - org.datavec @@ -36,22 +40,14 @@ 1.0.0-SNAPSHOT test - - com.mashape.unirest - unirest-java - ${unirest.version} - org.datavec datavec-spark-inference-model ${project.parent.version} - - org.nd4j - nd4j-common-tests - ${nd4j.version} - test + com.mashape.unirest + unirest-java diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-client/src/main/java/org/datavec/spark/inference/client/DataVecTransformClient.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-client/src/main/java/org/datavec/spark/inference/client/DataVecTransformClient.java index 978753451..f30a4ef2b 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-client/src/main/java/org/datavec/spark/inference/client/DataVecTransformClient.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-client/src/main/java/org/datavec/spark/inference/client/DataVecTransformClient.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.inference.client; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-client/src/test/java/org/datavec/transform/client/AssertTestsExtendBaseClass.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-client/src/test/java/org/datavec/transform/client/AssertTestsExtendBaseClass.java index a919a8fd9..34448f477 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-client/src/test/java/org/datavec/transform/client/AssertTestsExtendBaseClass.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-client/src/test/java/org/datavec/transform/client/AssertTestsExtendBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.transform.client; import lombok.extern.slf4j.Slf4j; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-client/src/test/java/org/datavec/transform/client/DataVecTransformClientTest.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-client/src/test/java/org/datavec/transform/client/DataVecTransformClientTest.java index 7ec08b613..e8b8180c4 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-client/src/test/java/org/datavec/transform/client/DataVecTransformClientTest.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-client/src/test/java/org/datavec/transform/client/DataVecTransformClientTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.transform.client; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/pom.xml b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/pom.xml index 68a78450d..6e130308d 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/pom.xml +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/pom.xml @@ -1,34 +1,38 @@ - + + + + - - - datavec-spark-inference-parent - org.datavec - 1.0.0-SNAPSHOT - 4.0.0 + + org.datavec + datavec-spark-inference-parent + 1.0.0-SNAPSHOT + + datavec-spark-inference-model - jar datavec-spark-inference-model - org.datavec @@ -38,20 +42,12 @@ org.datavec datavec-data-image - ${datavec.version} org.datavec datavec-local ${project.version} - - - org.nd4j - nd4j-common-tests - ${nd4j.version} - test - diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/CSVSparkTransform.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/CSVSparkTransform.java index 6b3c80800..251348e72 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/CSVSparkTransform.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/CSVSparkTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.inference.model; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/ImageSparkTransform.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/ImageSparkTransform.java index 1e30d1ead..de6c3fa40 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/ImageSparkTransform.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/ImageSparkTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.inference.model; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/model/Base64NDArrayBody.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/model/Base64NDArrayBody.java index b2a6b9dc3..ca38d86f5 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/model/Base64NDArrayBody.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/model/Base64NDArrayBody.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.inference.model.model; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/model/BatchCSVRecord.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/model/BatchCSVRecord.java index bba2621c6..41b1d2c6b 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/model/BatchCSVRecord.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/model/BatchCSVRecord.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.inference.model.model; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/model/BatchImageRecord.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/model/BatchImageRecord.java index 5d7b52c4f..4d22825ef 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/model/BatchImageRecord.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/model/BatchImageRecord.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.inference.model.model; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/model/SequenceBatchCSVRecord.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/model/SequenceBatchCSVRecord.java index bbbb64f8d..3ead6489e 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/model/SequenceBatchCSVRecord.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/model/SequenceBatchCSVRecord.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.inference.model.model; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/model/SingleCSVRecord.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/model/SingleCSVRecord.java index 62ab812b4..a5ea2bf57 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/model/SingleCSVRecord.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/model/SingleCSVRecord.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.inference.model.model; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/model/SingleImageRecord.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/model/SingleImageRecord.java index e864bcd9d..596b7245e 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/model/SingleImageRecord.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/model/SingleImageRecord.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.inference.model.model; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/service/DataVecTransformService.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/service/DataVecTransformService.java index caefc649f..1dd0a0914 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/service/DataVecTransformService.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/main/java/org/datavec/spark/inference/model/service/DataVecTransformService.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.inference.model.service; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/test/java/org/datavec/spark/transform/AssertTestsExtendBaseClass.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/test/java/org/datavec/spark/transform/AssertTestsExtendBaseClass.java index 56e24fef3..6196deb9c 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/test/java/org/datavec/spark/transform/AssertTestsExtendBaseClass.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/test/java/org/datavec/spark/transform/AssertTestsExtendBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform; import lombok.extern.slf4j.Slf4j; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/test/java/org/datavec/spark/transform/BatchCSVRecordTest.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/test/java/org/datavec/spark/transform/BatchCSVRecordTest.java index 7b0bdbf11..af6b752a5 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/test/java/org/datavec/spark/transform/BatchCSVRecordTest.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/test/java/org/datavec/spark/transform/BatchCSVRecordTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/test/java/org/datavec/spark/transform/CSVSparkTransformTest.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/test/java/org/datavec/spark/transform/CSVSparkTransformTest.java index 72947bc8c..3c9a432f5 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/test/java/org/datavec/spark/transform/CSVSparkTransformTest.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/test/java/org/datavec/spark/transform/CSVSparkTransformTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/test/java/org/datavec/spark/transform/ImageSparkTransformTest.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/test/java/org/datavec/spark/transform/ImageSparkTransformTest.java index 080b339b8..953e18a24 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/test/java/org/datavec/spark/transform/ImageSparkTransformTest.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/test/java/org/datavec/spark/transform/ImageSparkTransformTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/test/java/org/datavec/spark/transform/SingleCSVRecordTest.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/test/java/org/datavec/spark/transform/SingleCSVRecordTest.java index 0a8e1f14e..2a05b5ae7 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/test/java/org/datavec/spark/transform/SingleCSVRecordTest.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/test/java/org/datavec/spark/transform/SingleCSVRecordTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/test/java/org/datavec/spark/transform/SingleImageRecordTest.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/test/java/org/datavec/spark/transform/SingleImageRecordTest.java index 4b7be1f60..e008a4cee 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/test/java/org/datavec/spark/transform/SingleImageRecordTest.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-model/src/test/java/org/datavec/spark/transform/SingleImageRecordTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/pom.xml b/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/pom.xml index 331c58a8c..777c3d35e 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/pom.xml +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/pom.xml @@ -1,99 +1,84 @@ - + + + + - - - datavec-spark-inference-parent - org.datavec - 1.0.0-SNAPSHOT - 4.0.0 + + org.datavec + datavec-spark-inference-parent + 1.0.0-SNAPSHOT + + datavec-spark-inference-server_2.11 - jar - 1.0.0-SNAPSHOT + datavec-spark-inference-server 2.11.12 2.11 + 1.8 + 1.8 - - - - maven-compiler-plugin - - 1.8 - 1.8 - - - - org.datavec datavec-spark-inference-model ${datavec.version} - org.datavec datavec-spark_2.11 ${project.version} - org.datavec datavec-data-image - ${datavec.version} - joda-time joda-time - ${jodatime.version} - org.apache.commons commons-lang3 - ${commons-lang3.version} - org.hibernate hibernate-validator ${hibernate.version} - org.scala-lang scala-library ${scala.version} - org.scala-lang scala-reflect ${scala.version} - com.typesafe.play play-java_2.11 @@ -109,68 +94,51 @@ - net.jodah typetools ${jodah.typetools.version} - com.typesafe.play play-json_2.11 ${playframework.version} - com.typesafe.play play-server_2.11 ${playframework.version} - com.typesafe.play play_2.11 ${playframework.version} - com.typesafe.play play-netty-server_2.11 ${playframework.version} - com.typesafe.akka akka-cluster_2.11 2.5.23 - com.mashape.unirest unirest-java - ${unirest.version} test - com.beust jcommander ${jcommander.version} - org.apache.spark spark-core_2.11 ${spark.version} - - - org.nd4j - nd4j-common-tests - ${nd4j.version} - test - diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/main/java/org/datavec/spark/inference/server/CSVSparkTransformServer.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/main/java/org/datavec/spark/inference/server/CSVSparkTransformServer.java index dd1d8f9f8..3e0794d2f 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/main/java/org/datavec/spark/inference/server/CSVSparkTransformServer.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/main/java/org/datavec/spark/inference/server/CSVSparkTransformServer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.inference.server; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/main/java/org/datavec/spark/inference/server/ImageSparkTransformServer.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/main/java/org/datavec/spark/inference/server/ImageSparkTransformServer.java index 5b7b29cd2..d474ce47b 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/main/java/org/datavec/spark/inference/server/ImageSparkTransformServer.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/main/java/org/datavec/spark/inference/server/ImageSparkTransformServer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.inference.server; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/main/java/org/datavec/spark/inference/server/SparkTransformServer.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/main/java/org/datavec/spark/inference/server/SparkTransformServer.java index c613f74e3..ce97447fd 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/main/java/org/datavec/spark/inference/server/SparkTransformServer.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/main/java/org/datavec/spark/inference/server/SparkTransformServer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.inference.server; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/main/java/org/datavec/spark/inference/server/SparkTransformServerChooser.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/main/java/org/datavec/spark/inference/server/SparkTransformServerChooser.java index 10013329d..d92237c0e 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/main/java/org/datavec/spark/inference/server/SparkTransformServerChooser.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/main/java/org/datavec/spark/inference/server/SparkTransformServerChooser.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.inference.server; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/main/java/org/datavec/spark/inference/server/TransformDataType.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/main/java/org/datavec/spark/inference/server/TransformDataType.java index d2c1932dc..392fd61ff 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/main/java/org/datavec/spark/inference/server/TransformDataType.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/main/java/org/datavec/spark/inference/server/TransformDataType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.inference.server; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/test/java/org/datavec/spark/transform/AssertTestsExtendBaseClass.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/test/java/org/datavec/spark/transform/AssertTestsExtendBaseClass.java index 56e24fef3..6196deb9c 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/test/java/org/datavec/spark/transform/AssertTestsExtendBaseClass.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/test/java/org/datavec/spark/transform/AssertTestsExtendBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform; import lombok.extern.slf4j.Slf4j; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/test/java/org/datavec/spark/transform/CSVSparkTransformServerNoJsonTest.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/test/java/org/datavec/spark/transform/CSVSparkTransformServerNoJsonTest.java index bd9f2a55e..e72c5b39a 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/test/java/org/datavec/spark/transform/CSVSparkTransformServerNoJsonTest.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/test/java/org/datavec/spark/transform/CSVSparkTransformServerNoJsonTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/test/java/org/datavec/spark/transform/CSVSparkTransformServerTest.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/test/java/org/datavec/spark/transform/CSVSparkTransformServerTest.java index 667d13553..a329021cd 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/test/java/org/datavec/spark/transform/CSVSparkTransformServerTest.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/test/java/org/datavec/spark/transform/CSVSparkTransformServerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/test/java/org/datavec/spark/transform/ImageSparkTransformServerTest.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/test/java/org/datavec/spark/transform/ImageSparkTransformServerTest.java index 0c82f5adb..2e7d51751 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/test/java/org/datavec/spark/transform/ImageSparkTransformServerTest.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/test/java/org/datavec/spark/transform/ImageSparkTransformServerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform; diff --git a/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/test/java/org/datavec/spark/transform/SparkTransformServerTest.java b/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/test/java/org/datavec/spark/transform/SparkTransformServerTest.java index 30e01b9ba..d7c591533 100644 --- a/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/test/java/org/datavec/spark/transform/SparkTransformServerTest.java +++ b/datavec/datavec-spark-inference-parent/datavec-spark-inference-server/src/test/java/org/datavec/spark/transform/SparkTransformServerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform; diff --git a/datavec/datavec-spark-inference-parent/pom.xml b/datavec/datavec-spark-inference-parent/pom.xml index 5e98a1aad..31bd0a7fc 100644 --- a/datavec/datavec-spark-inference-parent/pom.xml +++ b/datavec/datavec-spark-inference-parent/pom.xml @@ -1,38 +1,60 @@ - + + + + + + 4.0.0 - - datavec-parent org.datavec + datavec-parent 1.0.0-SNAPSHOT - 4.0.0 datavec-spark-inference-parent pom datavec-spark-inference-parent + datavec-spark-inference-server datavec-spark-inference-client datavec-spark-inference-model + + + + org.datavec + datavec-data-image + ${datavec.version} + + + com.mashape.unirest + unirest-java + ${unirest.version} + + + + test-nd4j-native diff --git a/datavec/datavec-spark/pom.xml b/datavec/datavec-spark/pom.xml index 2c547499c..266a92e48 100644 --- a/datavec/datavec-spark/pom.xml +++ b/datavec/datavec-spark/pom.xml @@ -1,29 +1,34 @@ - + + + + + 4.0.0 - - datavec-parent org.datavec + datavec-parent 1.0.0-SNAPSHOT - 4.0.0 1.0.0-SNAPSHOT datavec-spark_2.11 @@ -39,14 +44,12 @@ scala-library ${scala.version} - org.apache.spark spark-sql_2.11 ${spark.version} provided - commons-collections commons-collections @@ -55,7 +58,6 @@ commons-io commons-io - ${commons-io.version} org.apache.commons @@ -65,7 +67,6 @@ org.slf4j slf4j-api - ${slf4j.version} org.apache.spark @@ -73,27 +74,23 @@ ${spark.version} provided - - com.google.code.findbugs - jsr305 - + + com.google.code.findbugs + jsr305 + - org.datavec datavec-api ${project.parent.version} - org.datavec datavec-hadoop ${project.parent.version} - - org.datavec @@ -101,44 +98,26 @@ ${project.parent.version} test - org.datavec datavec-data-codec ${project.parent.version} test - org.datavec datavec-local ${datavec.version} test - - - ch.qos.logback - logback-classic - ${logback.version} - test - - org.datavec datavec-python ${datavec.version} test - - - org.nd4j - nd4j-common-tests - ${nd4j.version} - test - - test-nd4j-native diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/SequenceEmptyRecordFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/SequenceEmptyRecordFunction.java index b325e98a6..6f91af2c3 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/SequenceEmptyRecordFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/SequenceEmptyRecordFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/EmptyRecordFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/EmptyRecordFunction.java index ff5617020..ce313d801 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/EmptyRecordFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/EmptyRecordFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.functions; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/LineRecordReaderFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/LineRecordReaderFunction.java index 2018ff72f..b6df77e94 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/LineRecordReaderFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/LineRecordReaderFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.functions; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/RecordReaderFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/RecordReaderFunction.java index e12e66844..b210ec3f0 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/RecordReaderFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/RecordReaderFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.functions; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/SequenceRecordReaderFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/SequenceRecordReaderFunction.java index d08aef057..88b1b3950 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/SequenceRecordReaderFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/SequenceRecordReaderFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.functions; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/data/FilesAsBytesFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/data/FilesAsBytesFunction.java index ae7723ac1..975ff9b8c 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/data/FilesAsBytesFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/data/FilesAsBytesFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.functions.data; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/data/RecordReaderBytesFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/data/RecordReaderBytesFunction.java index 1b44de81e..54b5936a5 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/data/RecordReaderBytesFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/data/RecordReaderBytesFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.functions.data; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/data/SequenceRecordReaderBytesFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/data/SequenceRecordReaderBytesFunction.java index 35faaae76..9e4e4b096 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/data/SequenceRecordReaderBytesFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/data/SequenceRecordReaderBytesFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.functions.data; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/BytesPairWritable.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/BytesPairWritable.java index 388cd1273..ad28bd5e9 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/BytesPairWritable.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/BytesPairWritable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.functions.pairdata; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/MapToBytesPairWritableFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/MapToBytesPairWritableFunction.java index f1d6cca53..0d487a768 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/MapToBytesPairWritableFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/MapToBytesPairWritableFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.functions.pairdata; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/PairSequenceRecordReaderBytesFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/PairSequenceRecordReaderBytesFunction.java index b3a24c1b9..25c92d1a1 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/PairSequenceRecordReaderBytesFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/PairSequenceRecordReaderBytesFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.functions.pairdata; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/PathToKeyConverter.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/PathToKeyConverter.java index 96e58db96..421ef413e 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/PathToKeyConverter.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/PathToKeyConverter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.functions.pairdata; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/PathToKeyConverterFilename.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/PathToKeyConverterFilename.java index dca4bda7e..96490dfa9 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/PathToKeyConverterFilename.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/PathToKeyConverterFilename.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.functions.pairdata; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/PathToKeyConverterNumber.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/PathToKeyConverterNumber.java index 2ca8929fd..3d5063c8e 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/PathToKeyConverterNumber.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/PathToKeyConverterNumber.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.functions.pairdata; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/PathToKeyFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/PathToKeyFunction.java index f04e2a672..b7a9bd0ca 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/PathToKeyFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/functions/pairdata/PathToKeyFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.functions.pairdata; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/storage/SparkStorageUtils.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/storage/SparkStorageUtils.java index 3e2725436..b3b5538c6 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/storage/SparkStorageUtils.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/storage/SparkStorageUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.storage; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/storage/functions/RecordLoadPairFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/storage/functions/RecordLoadPairFunction.java index 4864cb361..d8590095d 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/storage/functions/RecordLoadPairFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/storage/functions/RecordLoadPairFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.storage.functions; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/storage/functions/RecordSavePrepPairFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/storage/functions/RecordSavePrepPairFunction.java index 6c9ff8f08..170ebc148 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/storage/functions/RecordSavePrepPairFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/storage/functions/RecordSavePrepPairFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.storage.functions; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/storage/functions/SequenceRecordLoadPairFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/storage/functions/SequenceRecordLoadPairFunction.java index 1df473925..558624685 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/storage/functions/SequenceRecordLoadPairFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/storage/functions/SequenceRecordLoadPairFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.storage.functions; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/storage/functions/SequenceRecordSavePrepPairFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/storage/functions/SequenceRecordSavePrepPairFunction.java index 387aa0587..c19ed4bb2 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/storage/functions/SequenceRecordSavePrepPairFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/storage/functions/SequenceRecordSavePrepPairFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.storage.functions; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/AnalyzeSpark.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/AnalyzeSpark.java index 8d1e3db45..e7bab55f1 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/AnalyzeSpark.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/AnalyzeSpark.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/DataFrames.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/DataFrames.java index 11fc41759..3de89f8fd 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/DataFrames.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/DataFrames.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/Normalization.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/Normalization.java index cacea101d..573f382f2 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/Normalization.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/Normalization.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/SparkTransformExecutor.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/SparkTransformExecutor.java index 8a948df1d..e170a4915 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/SparkTransformExecutor.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/SparkTransformExecutor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/CategoricalToPairFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/CategoricalToPairFunction.java index abf53ed3f..cbd374cc2 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/CategoricalToPairFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/CategoricalToPairFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.analysis; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/SelectColumnFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/SelectColumnFunction.java index 3976897ae..d2827c535 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/SelectColumnFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/SelectColumnFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.analysis; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/SequenceFlatMapFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/SequenceFlatMapFunction.java index 5052491bb..61e42a589 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/SequenceFlatMapFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/SequenceFlatMapFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.analysis; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/SequenceLengthFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/SequenceLengthFunction.java index 43d2841dd..21f901486 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/SequenceLengthFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/SequenceLengthFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.analysis; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/StringLengthFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/StringLengthFunction.java index f3a1e117a..f5dce8014 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/StringLengthFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/StringLengthFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.analysis; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/WritableToDoubleFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/WritableToDoubleFunction.java index 7e35788cc..585bfd05c 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/WritableToDoubleFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/WritableToDoubleFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.analysis; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/WritableToStringFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/WritableToStringFunction.java index 44ba219ef..6c7295a65 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/WritableToStringFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/WritableToStringFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.analysis; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/aggregate/AnalysisAddFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/aggregate/AnalysisAddFunction.java index 0604f69fa..d18370c80 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/aggregate/AnalysisAddFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/aggregate/AnalysisAddFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.analysis.aggregate; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/aggregate/AnalysisCombineFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/aggregate/AnalysisCombineFunction.java index 5c53181c5..a17ec02aa 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/aggregate/AnalysisCombineFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/aggregate/AnalysisCombineFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.analysis.aggregate; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/histogram/HistogramAddFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/histogram/HistogramAddFunction.java index a2f04a8c0..f5ba88ae6 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/histogram/HistogramAddFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/histogram/HistogramAddFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.analysis.histogram; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/histogram/HistogramCombineFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/histogram/HistogramCombineFunction.java index bb9b11a7a..fc7b05ebc 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/histogram/HistogramCombineFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/histogram/HistogramCombineFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.analysis.histogram; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/seqlength/IntToDoubleFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/seqlength/IntToDoubleFunction.java index f0f01cfa3..a96403224 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/seqlength/IntToDoubleFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/seqlength/IntToDoubleFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.analysis.seqlength; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/seqlength/SequenceLengthAnalysisAddFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/seqlength/SequenceLengthAnalysisAddFunction.java index 6907b11c7..eb3ddc431 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/seqlength/SequenceLengthAnalysisAddFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/seqlength/SequenceLengthAnalysisAddFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.analysis.seqlength; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/seqlength/SequenceLengthAnalysisCounter.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/seqlength/SequenceLengthAnalysisCounter.java index 4c59f757a..1afa60851 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/seqlength/SequenceLengthAnalysisCounter.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/seqlength/SequenceLengthAnalysisCounter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.analysis.seqlength; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/seqlength/SequenceLengthAnalysisMergeFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/seqlength/SequenceLengthAnalysisMergeFunction.java index 5fb11d313..2b106d051 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/seqlength/SequenceLengthAnalysisMergeFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/seqlength/SequenceLengthAnalysisMergeFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.analysis.seqlength; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/string/StringAnalysisMergeFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/string/StringAnalysisMergeFunction.java index ced9fa99a..0ee8269f3 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/string/StringAnalysisMergeFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/string/StringAnalysisMergeFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.analysis.string; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/unique/UniqueAddFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/unique/UniqueAddFunction.java index f2bbbe597..b1e696836 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/unique/UniqueAddFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/unique/UniqueAddFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.analysis.unique; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/unique/UniqueMergeFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/unique/UniqueMergeFunction.java index 4ca37d1ed..ed3beae52 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/unique/UniqueMergeFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/analysis/unique/UniqueMergeFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.analysis.unique; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/filter/FilterWritablesBySchemaFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/filter/FilterWritablesBySchemaFunction.java index 1ccba475e..6a1b45dc0 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/filter/FilterWritablesBySchemaFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/filter/FilterWritablesBySchemaFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.filter; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/filter/SparkFilterFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/filter/SparkFilterFunction.java index c8044b747..4a6f3b213 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/filter/SparkFilterFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/filter/SparkFilterFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.filter; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/join/ExecuteJoinFromCoGroupFlatMapFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/join/ExecuteJoinFromCoGroupFlatMapFunction.java index 6e501f560..d091d3de4 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/join/ExecuteJoinFromCoGroupFlatMapFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/join/ExecuteJoinFromCoGroupFlatMapFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.join; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/join/ExtractKeysFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/join/ExtractKeysFunction.java index 29b3c897d..44960dc79 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/join/ExtractKeysFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/join/ExtractKeysFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.join; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/join/FilterAndFlattenJoinedValues.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/join/FilterAndFlattenJoinedValues.java index d4ede4808..405040aba 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/join/FilterAndFlattenJoinedValues.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/join/FilterAndFlattenJoinedValues.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.join; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/join/JoinedValue.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/join/JoinedValue.java index fe7e8e21c..1b2f7ec40 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/join/JoinedValue.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/join/JoinedValue.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.join; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/ColumnAsKeyPairFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/ColumnAsKeyPairFunction.java index 18569d3f3..8ce1ee0f6 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/ColumnAsKeyPairFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/ColumnAsKeyPairFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.misc; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/ColumnToKeyPairTransform.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/ColumnToKeyPairTransform.java index d2839ddc4..30a534920 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/ColumnToKeyPairTransform.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/ColumnToKeyPairTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.misc; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/NDArrayToWritablesFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/NDArrayToWritablesFunction.java index f941bce09..f26b40e62 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/NDArrayToWritablesFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/NDArrayToWritablesFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.misc; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/SequenceMergeFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/SequenceMergeFunction.java index 4096234a0..7e91516f1 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/SequenceMergeFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/SequenceMergeFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.misc; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/SequenceWritablesToStringFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/SequenceWritablesToStringFunction.java index f8a130fb3..a11a8c272 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/SequenceWritablesToStringFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/SequenceWritablesToStringFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.misc; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/StringToWritablesFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/StringToWritablesFunction.java index c3365acfd..e1044e167 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/StringToWritablesFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/StringToWritablesFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.misc; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/SumLongsFunction2.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/SumLongsFunction2.java index fdde4daf3..38d7c9356 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/SumLongsFunction2.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/SumLongsFunction2.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.misc; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/WritablesToNDArrayFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/WritablesToNDArrayFunction.java index cec8b650f..c453425f4 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/WritablesToNDArrayFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/WritablesToNDArrayFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.misc; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/WritablesToStringFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/WritablesToStringFunction.java index 194932137..ae22e4ee3 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/WritablesToStringFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/WritablesToStringFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.misc; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/comparator/Tuple2Comparator.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/comparator/Tuple2Comparator.java index 906ef755c..2be2627eb 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/comparator/Tuple2Comparator.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/misc/comparator/Tuple2Comparator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.misc.comparator; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/rank/UnzipForCalculateSortedRankFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/rank/UnzipForCalculateSortedRankFunction.java index dc8a2c12a..dc081d3d7 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/rank/UnzipForCalculateSortedRankFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/rank/UnzipForCalculateSortedRankFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.rank; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/reduce/MapToPairForReducerFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/reduce/MapToPairForReducerFunction.java index 9fb0962ee..621c0d520 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/reduce/MapToPairForReducerFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/reduce/MapToPairForReducerFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.reduce; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/reduce/ReducerFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/reduce/ReducerFunction.java index d905736e6..74b95415a 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/reduce/ReducerFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/reduce/ReducerFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.reduce; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sequence/ConvertToSequenceLengthOne.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sequence/ConvertToSequenceLengthOne.java index 383c97cf7..cdb0eb5e1 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sequence/ConvertToSequenceLengthOne.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sequence/ConvertToSequenceLengthOne.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.sequence; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sequence/SparkGroupToSequenceFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sequence/SparkGroupToSequenceFunction.java index ce25756d6..adce79960 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sequence/SparkGroupToSequenceFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sequence/SparkGroupToSequenceFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.sequence; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sequence/SparkMapToPairByColumnFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sequence/SparkMapToPairByColumnFunction.java index d20d1b7c3..20902ce27 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sequence/SparkMapToPairByColumnFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sequence/SparkMapToPairByColumnFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.sequence; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sequence/SparkMapToPairByMultipleColumnsFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sequence/SparkMapToPairByMultipleColumnsFunction.java index 43eaf621b..faab83f38 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sequence/SparkMapToPairByMultipleColumnsFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sequence/SparkMapToPairByMultipleColumnsFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.sequence; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sequence/SparkSequenceFilterFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sequence/SparkSequenceFilterFunction.java index 7e5193b14..12ffe2a9d 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sequence/SparkSequenceFilterFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sequence/SparkSequenceFilterFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.sequence; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sequence/SparkSequenceTransformFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sequence/SparkSequenceTransformFunction.java index 08244f507..b608e4b0e 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sequence/SparkSequenceTransformFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sequence/SparkSequenceTransformFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.sequence; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sparkfunction/SequenceToRows.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sparkfunction/SequenceToRows.java index 639e43836..be907f4cf 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sparkfunction/SequenceToRows.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sparkfunction/SequenceToRows.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.sparkfunction; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sparkfunction/ToRecord.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sparkfunction/ToRecord.java index b83ad620e..e7f6ea839 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sparkfunction/ToRecord.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sparkfunction/ToRecord.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.sparkfunction; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sparkfunction/ToRow.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sparkfunction/ToRow.java index 24b6182dd..14e35968f 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sparkfunction/ToRow.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sparkfunction/ToRow.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.sparkfunction; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sparkfunction/sequence/DataFrameToSequenceCreateCombiner.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sparkfunction/sequence/DataFrameToSequenceCreateCombiner.java index 2c844aebd..ba14aa221 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sparkfunction/sequence/DataFrameToSequenceCreateCombiner.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sparkfunction/sequence/DataFrameToSequenceCreateCombiner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.sparkfunction.sequence; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sparkfunction/sequence/DataFrameToSequenceMergeCombiner.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sparkfunction/sequence/DataFrameToSequenceMergeCombiner.java index 126a733ac..1cabae602 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sparkfunction/sequence/DataFrameToSequenceMergeCombiner.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sparkfunction/sequence/DataFrameToSequenceMergeCombiner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.sparkfunction.sequence; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sparkfunction/sequence/DataFrameToSequenceMergeValue.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sparkfunction/sequence/DataFrameToSequenceMergeValue.java index 460ca0738..c192d7a5a 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sparkfunction/sequence/DataFrameToSequenceMergeValue.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/sparkfunction/sequence/DataFrameToSequenceMergeValue.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.sparkfunction.sequence; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/transform/SequenceSplitFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/transform/SequenceSplitFunction.java index 1a8782dfb..566ce2a16 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/transform/SequenceSplitFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/transform/SequenceSplitFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.transform; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/transform/SparkTransformFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/transform/SparkTransformFunction.java index e911a2d6c..bc84242f6 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/transform/SparkTransformFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/transform/SparkTransformFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.transform; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/transform/SparkTransformProcessFunction.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/transform/SparkTransformProcessFunction.java index 81f07b1f4..e96907c48 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/transform/SparkTransformProcessFunction.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/transform/SparkTransformProcessFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.transform; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/utils/SparkExport.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/utils/SparkExport.java index 4d99a574d..c05bdc2f7 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/utils/SparkExport.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/utils/SparkExport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.utils; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/utils/SparkUtils.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/utils/SparkUtils.java index f8a640b22..08def75a9 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/utils/SparkUtils.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/utils/SparkUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.utils; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/utils/adapter/BiFunctionAdapter.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/utils/adapter/BiFunctionAdapter.java index 4c6c06eca..336d3767b 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/utils/adapter/BiFunctionAdapter.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/transform/utils/adapter/BiFunctionAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.utils.adapter; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/util/BroadcastHadoopConfigHolder.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/util/BroadcastHadoopConfigHolder.java index 4897b9f19..d77b762b5 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/util/BroadcastHadoopConfigHolder.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/util/BroadcastHadoopConfigHolder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.util; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/util/DataVecSparkUtil.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/util/DataVecSparkUtil.java index b3665f549..a83febf22 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/util/DataVecSparkUtil.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/util/DataVecSparkUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.util; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/util/DefaultHadoopConfig.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/util/DefaultHadoopConfig.java index 43df53056..d677e480a 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/util/DefaultHadoopConfig.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/util/DefaultHadoopConfig.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.util; diff --git a/datavec/datavec-spark/src/main/java/org/datavec/spark/util/SerializableHadoopConfig.java b/datavec/datavec-spark/src/main/java/org/datavec/spark/util/SerializableHadoopConfig.java index a94a9faee..5a5c4c11b 100644 --- a/datavec/datavec-spark/src/main/java/org/datavec/spark/util/SerializableHadoopConfig.java +++ b/datavec/datavec-spark/src/main/java/org/datavec/spark/util/SerializableHadoopConfig.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.util; diff --git a/datavec/datavec-spark/src/test/java/org/datavec/spark/AssertTestsExtendBaseClass.java b/datavec/datavec-spark/src/test/java/org/datavec/spark/AssertTestsExtendBaseClass.java index feb030f9e..6e2d1c3df 100644 --- a/datavec/datavec-spark/src/test/java/org/datavec/spark/AssertTestsExtendBaseClass.java +++ b/datavec/datavec-spark/src/test/java/org/datavec/spark/AssertTestsExtendBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark; import lombok.extern.slf4j.Slf4j; diff --git a/datavec/datavec-spark/src/test/java/org/datavec/spark/BaseSparkTest.java b/datavec/datavec-spark/src/test/java/org/datavec/spark/BaseSparkTest.java index c474f8962..a430a2001 100644 --- a/datavec/datavec-spark/src/test/java/org/datavec/spark/BaseSparkTest.java +++ b/datavec/datavec-spark/src/test/java/org/datavec/spark/BaseSparkTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark; diff --git a/datavec/datavec-spark/src/test/java/org/datavec/spark/TestKryoSerialization.java b/datavec/datavec-spark/src/test/java/org/datavec/spark/TestKryoSerialization.java index 76e94fb1d..8574d6945 100644 --- a/datavec/datavec-spark/src/test/java/org/datavec/spark/TestKryoSerialization.java +++ b/datavec/datavec-spark/src/test/java/org/datavec/spark/TestKryoSerialization.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark; diff --git a/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestLineRecordReaderFunction.java b/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestLineRecordReaderFunction.java index 61c4b2e6b..6851461ee 100644 --- a/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestLineRecordReaderFunction.java +++ b/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestLineRecordReaderFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.functions; diff --git a/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestNDArrayToWritablesFunction.java b/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestNDArrayToWritablesFunction.java index 55d7071df..4debac714 100644 --- a/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestNDArrayToWritablesFunction.java +++ b/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestNDArrayToWritablesFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.functions; diff --git a/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestPairSequenceRecordReaderBytesFunction.java b/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestPairSequenceRecordReaderBytesFunction.java index 4c4c52e1e..f7b91a910 100644 --- a/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestPairSequenceRecordReaderBytesFunction.java +++ b/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestPairSequenceRecordReaderBytesFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.functions; diff --git a/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestRecordReaderBytesFunction.java b/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestRecordReaderBytesFunction.java index 30e72b7ee..f54f96093 100644 --- a/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestRecordReaderBytesFunction.java +++ b/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestRecordReaderBytesFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.functions; diff --git a/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestRecordReaderFunction.java b/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestRecordReaderFunction.java index 54c6bfcf4..76ecba73e 100644 --- a/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestRecordReaderFunction.java +++ b/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestRecordReaderFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.functions; diff --git a/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestSequenceRecordReaderBytesFunction.java b/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestSequenceRecordReaderBytesFunction.java index 58f030178..23ebd247f 100644 --- a/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestSequenceRecordReaderBytesFunction.java +++ b/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestSequenceRecordReaderBytesFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.functions; diff --git a/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestSequenceRecordReaderFunction.java b/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestSequenceRecordReaderFunction.java index bd6969030..05984b9c7 100644 --- a/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestSequenceRecordReaderFunction.java +++ b/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestSequenceRecordReaderFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.functions; diff --git a/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestWritablesToNDArrayFunction.java b/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestWritablesToNDArrayFunction.java index 8e68e9c8f..f5ce08ceb 100644 --- a/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestWritablesToNDArrayFunction.java +++ b/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestWritablesToNDArrayFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.functions; diff --git a/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestWritablesToStringFunctions.java b/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestWritablesToStringFunctions.java index 8a4086596..1146cc586 100644 --- a/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestWritablesToStringFunctions.java +++ b/datavec/datavec-spark/src/test/java/org/datavec/spark/functions/TestWritablesToStringFunctions.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.functions; diff --git a/datavec/datavec-spark/src/test/java/org/datavec/spark/storage/TestSparkStorageUtils.java b/datavec/datavec-spark/src/test/java/org/datavec/spark/storage/TestSparkStorageUtils.java index 8f0247568..e55b66937 100644 --- a/datavec/datavec-spark/src/test/java/org/datavec/spark/storage/TestSparkStorageUtils.java +++ b/datavec/datavec-spark/src/test/java/org/datavec/spark/storage/TestSparkStorageUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.storage; diff --git a/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/DataFramesTests.java b/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/DataFramesTests.java index a19725a2a..7092c1fed 100644 --- a/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/DataFramesTests.java +++ b/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/DataFramesTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform; diff --git a/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/ExecutionTest.java b/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/ExecutionTest.java index e665af301..25cceab8b 100644 --- a/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/ExecutionTest.java +++ b/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/ExecutionTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform; diff --git a/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/NormalizationTests.java b/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/NormalizationTests.java index fcc20d661..ab3fbe0fa 100644 --- a/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/NormalizationTests.java +++ b/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/NormalizationTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform; diff --git a/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/analysis/TestAnalysis.java b/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/analysis/TestAnalysis.java index f89df72af..0c31aa0ae 100644 --- a/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/analysis/TestAnalysis.java +++ b/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/analysis/TestAnalysis.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.analysis; diff --git a/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/join/TestJoin.java b/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/join/TestJoin.java index 2c3041be4..80fcd0ad6 100644 --- a/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/join/TestJoin.java +++ b/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/join/TestJoin.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.join; diff --git a/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/rank/TestCalculateSortedRank.java b/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/rank/TestCalculateSortedRank.java index bf4aba954..e48a0e6e2 100644 --- a/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/rank/TestCalculateSortedRank.java +++ b/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/rank/TestCalculateSortedRank.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.rank; diff --git a/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/sequence/TestConvertToSequence.java b/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/sequence/TestConvertToSequence.java index bb0f909ce..70630bbd8 100644 --- a/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/sequence/TestConvertToSequence.java +++ b/datavec/datavec-spark/src/test/java/org/datavec/spark/transform/sequence/TestConvertToSequence.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.transform.sequence; diff --git a/datavec/datavec-spark/src/test/java/org/datavec/spark/util/TestSparkUtil.java b/datavec/datavec-spark/src/test/java/org/datavec/spark/util/TestSparkUtil.java index 96b12a59c..592f00f34 100644 --- a/datavec/datavec-spark/src/test/java/org/datavec/spark/util/TestSparkUtil.java +++ b/datavec/datavec-spark/src/test/java/org/datavec/spark/util/TestSparkUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.datavec.spark.util; diff --git a/datavec/datavec-spark/src/test/resources/log4j.properties b/datavec/datavec-spark/src/test/resources/log4j.properties index 00eaf12f4..77d23aa0c 100644 --- a/datavec/datavec-spark/src/test/resources/log4j.properties +++ b/datavec/datavec-spark/src/test/resources/log4j.properties @@ -1,18 +1,20 @@ -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ log4j.rootLogger=ERROR, Console log4j.logger.play=DEBUG diff --git a/datavec/datavec-spark/src/test/resources/logback.xml b/datavec/datavec-spark/src/test/resources/logback.xml index 2087d615c..c3d47d371 100644 --- a/datavec/datavec-spark/src/test/resources/logback.xml +++ b/datavec/datavec-spark/src/test/resources/logback.xml @@ -1,18 +1,20 @@ - + diff --git a/datavec/pom.xml b/datavec/pom.xml index c6e342ace..fb8ddc60e 100644 --- a/datavec/pom.xml +++ b/datavec/pom.xml @@ -1,33 +1,34 @@ - - + + 4.0.0 + org.deeplearning4j deeplearning4j 1.0.0-SNAPSHOT - 4.0.0 - org.datavec datavec-parent pom @@ -35,26 +36,7 @@ DataVec Vectorization Rosetta Stone for the JVM - - - Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - - - - - agibsonccc - Adam Gibson - 0@blix.io - - - jpatanooga - Josh Patterson - josh@floe.tv - - datavec-api @@ -65,9 +47,45 @@ datavec-jdbc datavec-excel datavec-arrow - datavec-python + + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + commons-io + commons-io + ${commons-io.version} + + + org.slf4j + slf4j-api + ${slf4j.version} + + + joda-time + joda-time + ${jodatime.version} + + + + org.nd4j + nd4j-common + ${nd4j.version} + + + + org.nd4j + nd4j-api + ${nd4j.version} + + + + junit @@ -87,6 +105,18 @@ ${lombok.version} provided + + ch.qos.logback + logback-classic + ${logback.version} + test + + + org.nd4j + nd4j-common-tests + ${nd4j.version} + test + @@ -97,6 +127,7 @@ 1.2.1 + @@ -123,33 +154,6 @@ - - maven-javadoc-plugin - ${maven-javadoc-plugin.version} - - -Xdoclint:none - - - - attach-javadocs - - jar - - - - - - maven-source-plugin - ${maven-source-plugin.version} - - - attach-sources - - jar - - - - maven-surefire-plugin ${maven-surefire-plugin.version} @@ -167,75 +171,15 @@ false - - maven-release-plugin - ${maven-release-plugin.version} - - forked-path - - -Psonatype-oss-release -DskipTests ${arguments} - true - false - - - - maven-gpg-plugin - ${maven-gpg-plugin.version} - - ${gpg.passphrase} - - - - sign-artifacts - verify - - sign - - - - - - maven-compiler-plugin - ${maven-compiler-plugin.version} - - 1.7 - 1.7 - - org.eclipse.m2e lifecycle-mapping - ${maven-lifecycle-mapping-plugin.version} - - - - - - com.lewisd - lint-maven-plugin - [0.0.11,) - - check - - - - - - - - - - maven-javadoc-plugin - - - maven-source-plugin - - + org.apache.maven.plugins maven-surefire-plugin @@ -267,17 +211,16 @@ net.revelc.code.formatter formatter-maven-plugin - ${maven-formatter-plugin.version} - ${session.executionRootDirectory}/contrib/formatter.xml datavec-api + datavec-arrow datavec-data - datavec-geo - datavec-hadoop - datavec-spark - datavec-camel + datavec-excel + datavec-jdbc datavec-local + datavec-python + datavec-spark datavec-spark-inference-parent @@ -286,67 +229,15 @@ pl.project13.maven git-commit-id-plugin - ${maven-git-commit-id-plugin.version} - - - - revision - - generate-resources - - - - true - - ${project.basedir}/target/generated-sources/src/main/resources/ai/skymind/${project.groupId}-${project.artifactId}-git.properties - - - true - - org.codehaus.mojo build-helper-maven-plugin - ${maven-build-helper-plugin.version} - - - add-resource - generate-resources - - add-resource - - - - - - ${project.basedir}/target/generated-sources/src/main/resources - - - - - - - - - - maven-surefire-report-plugin - ${maven-surefire-plugin.version} - - - - org.codehaus.mojo - cobertura-maven-plugin - 2.7 - - - - test-nd4j-native @@ -365,7 +256,6 @@ - test-nd4j-cuda-11.0 diff --git a/deeplearning4j/buildmultiplescalaversions.sh b/deeplearning4j/buildmultiplescalaversions.sh index 19ff8bae6..5f84c64b8 100755 --- a/deeplearning4j/buildmultiplescalaversions.sh +++ b/deeplearning4j/buildmultiplescalaversions.sh @@ -1,19 +1,21 @@ #! /bin/bash -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ BASEDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" diff --git a/deeplearning4j/deeplearning4j-common-tests/pom.xml b/deeplearning4j/deeplearning4j-common-tests/pom.xml index d19aa85c4..fc3987b4d 100644 --- a/deeplearning4j/deeplearning4j-common-tests/pom.xml +++ b/deeplearning4j/deeplearning4j-common-tests/pom.xml @@ -1,28 +1,32 @@ - + + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + 4.0.0 + - deeplearning4j-parent org.deeplearning4j + deeplearning4j-parent 1.0.0-SNAPSHOT - 4.0.0 deeplearning4j-common-tests @@ -60,7 +64,6 @@ - test-nd4j-cuda-11.0 @@ -73,5 +76,4 @@ - - \ No newline at end of file + diff --git a/deeplearning4j/deeplearning4j-common-tests/src/main/java/org/deeplearning4j/BaseDL4JTest.java b/deeplearning4j/deeplearning4j-common-tests/src/main/java/org/deeplearning4j/BaseDL4JTest.java index b74df2d2c..8755b3313 100644 --- a/deeplearning4j/deeplearning4j-common-tests/src/main/java/org/deeplearning4j/BaseDL4JTest.java +++ b/deeplearning4j/deeplearning4j-common-tests/src/main/java/org/deeplearning4j/BaseDL4JTest.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j; diff --git a/deeplearning4j/deeplearning4j-common/pom.xml b/deeplearning4j/deeplearning4j-common/pom.xml index 4f44582f6..aaf2bb379 100644 --- a/deeplearning4j/deeplearning4j-common/pom.xml +++ b/deeplearning4j/deeplearning4j-common/pom.xml @@ -1,29 +1,33 @@ - + + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + 4.0.0 + - deeplearning4j-parent org.deeplearning4j + deeplearning4j-parent 1.0.0-SNAPSHOT - 4.0.0 deeplearning4j-common diff --git a/deeplearning4j/deeplearning4j-common/src/main/java/org/deeplearning4j/common/config/DL4JClassLoading.java b/deeplearning4j/deeplearning4j-common/src/main/java/org/deeplearning4j/common/config/DL4JClassLoading.java index ae8e6da3f..685692208 100644 --- a/deeplearning4j/deeplearning4j-common/src/main/java/org/deeplearning4j/common/config/DL4JClassLoading.java +++ b/deeplearning4j/deeplearning4j-common/src/main/java/org/deeplearning4j/common/config/DL4JClassLoading.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) Eclipse Deeplearning4j Contributors 2020 - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.common.config; diff --git a/deeplearning4j/deeplearning4j-common/src/main/java/org/deeplearning4j/common/config/DL4JEnvironmentVars.java b/deeplearning4j/deeplearning4j-common/src/main/java/org/deeplearning4j/common/config/DL4JEnvironmentVars.java index a4e1e37c9..8d745c5ad 100644 --- a/deeplearning4j/deeplearning4j-common/src/main/java/org/deeplearning4j/common/config/DL4JEnvironmentVars.java +++ b/deeplearning4j/deeplearning4j-common/src/main/java/org/deeplearning4j/common/config/DL4JEnvironmentVars.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.common.config; diff --git a/deeplearning4j/deeplearning4j-common/src/main/java/org/deeplearning4j/common/config/DL4JSystemProperties.java b/deeplearning4j/deeplearning4j-common/src/main/java/org/deeplearning4j/common/config/DL4JSystemProperties.java index d00532ada..705846abc 100644 --- a/deeplearning4j/deeplearning4j-common/src/main/java/org/deeplearning4j/common/config/DL4JSystemProperties.java +++ b/deeplearning4j/deeplearning4j-common/src/main/java/org/deeplearning4j/common/config/DL4JSystemProperties.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.common.config; diff --git a/deeplearning4j/deeplearning4j-common/src/main/java/org/deeplearning4j/common/resources/DL4JResources.java b/deeplearning4j/deeplearning4j-common/src/main/java/org/deeplearning4j/common/resources/DL4JResources.java index 394e3cc89..83732b448 100644 --- a/deeplearning4j/deeplearning4j-common/src/main/java/org/deeplearning4j/common/resources/DL4JResources.java +++ b/deeplearning4j/deeplearning4j-common/src/main/java/org/deeplearning4j/common/resources/DL4JResources.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.common.resources; diff --git a/deeplearning4j/deeplearning4j-common/src/main/java/org/deeplearning4j/common/resources/ResourceType.java b/deeplearning4j/deeplearning4j-common/src/main/java/org/deeplearning4j/common/resources/ResourceType.java index b62c451a0..4889d0c98 100644 --- a/deeplearning4j/deeplearning4j-common/src/main/java/org/deeplearning4j/common/resources/ResourceType.java +++ b/deeplearning4j/deeplearning4j-common/src/main/java/org/deeplearning4j/common/resources/ResourceType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.common.resources; diff --git a/deeplearning4j/deeplearning4j-common/src/main/java/org/deeplearning4j/common/util/DL4JFileUtils.java b/deeplearning4j/deeplearning4j-common/src/main/java/org/deeplearning4j/common/util/DL4JFileUtils.java index 7246a07d8..fe0297b58 100644 --- a/deeplearning4j/deeplearning4j-common/src/main/java/org/deeplearning4j/common/util/DL4JFileUtils.java +++ b/deeplearning4j/deeplearning4j-common/src/main/java/org/deeplearning4j/common/util/DL4JFileUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.common.util; diff --git a/deeplearning4j/deeplearning4j-common/src/test/java/org/deeplearning4j/common/config/DL4JClassLoadingTest.java b/deeplearning4j/deeplearning4j-common/src/test/java/org/deeplearning4j/common/config/DL4JClassLoadingTest.java index 9f0ff3bda..6fb89413e 100644 --- a/deeplearning4j/deeplearning4j-common/src/test/java/org/deeplearning4j/common/config/DL4JClassLoadingTest.java +++ b/deeplearning4j/deeplearning4j-common/src/test/java/org/deeplearning4j/common/config/DL4JClassLoadingTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.common.config; import static org.junit.Assert.assertEquals; diff --git a/deeplearning4j/deeplearning4j-common/src/test/java/org/deeplearning4j/common/config/dummies/TestAbstract.java b/deeplearning4j/deeplearning4j-common/src/test/java/org/deeplearning4j/common/config/dummies/TestAbstract.java index a833a4aa0..57feb1570 100644 --- a/deeplearning4j/deeplearning4j-common/src/test/java/org/deeplearning4j/common/config/dummies/TestAbstract.java +++ b/deeplearning4j/deeplearning4j-common/src/test/java/org/deeplearning4j/common/config/dummies/TestAbstract.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.common.config.dummies; public abstract class TestAbstract { diff --git a/deeplearning4j/deeplearning4j-common/src/test/java/org/deeplearning4j/common/config/dummies/TestColor.java b/deeplearning4j/deeplearning4j-common/src/test/java/org/deeplearning4j/common/config/dummies/TestColor.java index 02b1e09ca..4abb175de 100644 --- a/deeplearning4j/deeplearning4j-common/src/test/java/org/deeplearning4j/common/config/dummies/TestColor.java +++ b/deeplearning4j/deeplearning4j-common/src/test/java/org/deeplearning4j/common/config/dummies/TestColor.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.common.config.dummies; public class TestColor extends TestAbstract { diff --git a/deeplearning4j/deeplearning4j-common/src/test/java/org/deeplearning4j/common/config/dummies/TestDummy.java b/deeplearning4j/deeplearning4j-common/src/test/java/org/deeplearning4j/common/config/dummies/TestDummy.java index 682044d95..b6f8e49d6 100644 --- a/deeplearning4j/deeplearning4j-common/src/test/java/org/deeplearning4j/common/config/dummies/TestDummy.java +++ b/deeplearning4j/deeplearning4j-common/src/test/java/org/deeplearning4j/common/config/dummies/TestDummy.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.common.config.dummies; public class TestDummy { diff --git a/deeplearning4j/deeplearning4j-common/src/test/java/org/deeplearning4j/common/config/dummies/TestRectangle.java b/deeplearning4j/deeplearning4j-common/src/test/java/org/deeplearning4j/common/config/dummies/TestRectangle.java index 3b2b9cc9f..9eb826e18 100644 --- a/deeplearning4j/deeplearning4j-common/src/test/java/org/deeplearning4j/common/config/dummies/TestRectangle.java +++ b/deeplearning4j/deeplearning4j-common/src/test/java/org/deeplearning4j/common/config/dummies/TestRectangle.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.common.config.dummies; public class TestRectangle extends TestAbstract { diff --git a/deeplearning4j/deeplearning4j-core/pom.xml b/deeplearning4j/deeplearning4j-core/pom.xml index f8dc0123b..b5d67cce6 100644 --- a/deeplearning4j/deeplearning4j-core/pom.xml +++ b/deeplearning4j/deeplearning4j-core/pom.xml @@ -1,27 +1,36 @@ - + + + + - 4.0.0 - deeplearning4j-core + org.deeplearning4j deeplearning4j-parent 1.0.0-SNAPSHOT + + deeplearning4j-core + @@ -63,19 +72,16 @@ org.slf4j slf4j-api - ch.qos.logback logback-classic test - org.deeplearning4j deeplearning4j-nn ${project.version} - org.apache.commons commons-math3 @@ -93,7 +99,6 @@ junit junit - test org.deeplearning4j @@ -101,51 +106,43 @@ ${project.version} test - org.nd4j nd4j-api - org.apache.commons commons-lang3 ${commonslang.version} - org.nd4j jackson ${nd4j.version} - org.projectlombok lombok ${lombok.version} provided - org.datavec datavec-api ${datavec.version} - org.datavec datavec-data-image ${datavec.version} - org.deeplearning4j deeplearning4j-ui-components ${project.version} - javax.xml.bind @@ -153,7 +150,7 @@ ${jaxb.version} provided - + com.github.oshi oshi-json @@ -178,7 +175,6 @@ - test-nd4j-cuda-11.0 diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/datasets/test/TestDataSetIterator.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/datasets/test/TestDataSetIterator.java index fe9ee593e..699bac2c4 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/datasets/test/TestDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/datasets/test/TestDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.datasets.test; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/datasets/vectorizer/Vectorizer.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/datasets/vectorizer/Vectorizer.java index ceca4196d..12b1d6f4a 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/datasets/vectorizer/Vectorizer.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/datasets/vectorizer/Vectorizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.datasets.vectorizer; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/evaluation/EvaluationTools.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/evaluation/EvaluationTools.java index 0f2e9b344..9aee8fa31 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/evaluation/EvaluationTools.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/evaluation/EvaluationTools.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.evaluation; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/listener/DeviceMetric.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/listener/DeviceMetric.java index d31e95a52..78e22974c 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/listener/DeviceMetric.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/listener/DeviceMetric.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.listener; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/listener/DiskInfo.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/listener/DiskInfo.java index 1c3325e9e..9adc13aea 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/listener/DiskInfo.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/listener/DiskInfo.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.listener; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/listener/HardwareMetric.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/listener/HardwareMetric.java index 3749bc0db..c433b0a21 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/listener/HardwareMetric.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/listener/HardwareMetric.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.listener; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/listener/SystemInfoFilePrintListener.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/listener/SystemInfoFilePrintListener.java index 1c66c921f..61906d43e 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/listener/SystemInfoFilePrintListener.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/listener/SystemInfoFilePrintListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.listener; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/listener/SystemInfoPrintListener.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/listener/SystemInfoPrintListener.java index efff7c8e7..7c5ad5645 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/listener/SystemInfoPrintListener.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/listener/SystemInfoPrintListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.listener; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/listener/SystemPolling.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/listener/SystemPolling.java index efc0d047a..252a897f7 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/listener/SystemPolling.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/listener/SystemPolling.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.listener; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/loader/DataSetLoader.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/loader/DataSetLoader.java index d35107a89..019fd767b 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/loader/DataSetLoader.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/loader/DataSetLoader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.loader; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/loader/MultiDataSetLoader.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/loader/MultiDataSetLoader.java index 2eca0e068..dfefe1e6e 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/loader/MultiDataSetLoader.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/loader/MultiDataSetLoader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.loader; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/loader/impl/RecordReaderFileBatchLoader.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/loader/impl/RecordReaderFileBatchLoader.java index 187470529..926cf4c5a 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/loader/impl/RecordReaderFileBatchLoader.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/loader/impl/RecordReaderFileBatchLoader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.loader.impl; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/loader/impl/SerializedDataSetLoader.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/loader/impl/SerializedDataSetLoader.java index 7a3c5d8b7..da04e85e8 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/loader/impl/SerializedDataSetLoader.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/loader/impl/SerializedDataSetLoader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.loader.impl; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/loader/impl/SerializedMultiDataSetLoader.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/loader/impl/SerializedMultiDataSetLoader.java index 78e9b2d8c..2e1f0b0c2 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/loader/impl/SerializedMultiDataSetLoader.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/loader/impl/SerializedMultiDataSetLoader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.loader.impl; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/parallelism/AsyncIterator.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/parallelism/AsyncIterator.java index f45cc4036..a62f48992 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/parallelism/AsyncIterator.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/parallelism/AsyncIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.parallelism; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/Persistable.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/Persistable.java index 8bf35d234..e0006403e 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/Persistable.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/Persistable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.storage; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StatsStorage.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StatsStorage.java index 9669fc2b4..9eb5ff0ce 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StatsStorage.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StatsStorage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.storage; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StatsStorageEvent.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StatsStorageEvent.java index e7a873319..a0258d459 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StatsStorageEvent.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StatsStorageEvent.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.storage; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StatsStorageListener.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StatsStorageListener.java index 144534f87..722fcc5b8 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StatsStorageListener.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StatsStorageListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.storage; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StatsStorageRouter.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StatsStorageRouter.java index 32f86583c..98bef6baf 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StatsStorageRouter.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StatsStorageRouter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.storage; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StatsStorageRouterProvider.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StatsStorageRouterProvider.java index fe9bc1963..edc40fda1 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StatsStorageRouterProvider.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StatsStorageRouterProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.storage; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StorageMetaData.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StorageMetaData.java index ea6ac06fd..ae0459cd2 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StorageMetaData.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StorageMetaData.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.storage; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StorageType.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StorageType.java index 586a9ce3d..cf79c2b85 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StorageType.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/StorageType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.storage; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/impl/CollectionStatsStorageRouter.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/impl/CollectionStatsStorageRouter.java index f537bae41..6935516c2 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/impl/CollectionStatsStorageRouter.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/impl/CollectionStatsStorageRouter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.storage.impl; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/impl/RemoteUIStatsStorageRouter.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/impl/RemoteUIStatsStorageRouter.java index 9d70ab2da..81cc21c03 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/impl/RemoteUIStatsStorageRouter.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/impl/RemoteUIStatsStorageRouter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.storage.impl; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/listener/RoutingIterationListener.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/listener/RoutingIterationListener.java index 12f028a37..d7a0deaa9 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/listener/RoutingIterationListener.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/storage/listener/RoutingIterationListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.storage.listener; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/ui/UiConnectionInfo.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/ui/UiConnectionInfo.java index 390618d4e..78be7b640 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/ui/UiConnectionInfo.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/ui/UiConnectionInfo.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.ui; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/util/ModelGuesser.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/util/ModelGuesser.java index a393d100b..963d79bd8 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/util/ModelGuesser.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/util/ModelGuesser.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.util; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/util/ModelGuesserException.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/util/ModelGuesserException.java index a098d5554..0d81340c8 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/util/ModelGuesserException.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/util/ModelGuesserException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.util; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/util/MovingWindowMatrix.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/util/MovingWindowMatrix.java index 871947254..6c88c7452 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/util/MovingWindowMatrix.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/util/MovingWindowMatrix.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.util; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/util/ThreadUtils.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/util/ThreadUtils.java index 60eae4d61..4b305504b 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/util/ThreadUtils.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/util/ThreadUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.util; diff --git a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/util/UIDProvider.java b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/util/UIDProvider.java index 471f924de..30430331a 100644 --- a/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/util/UIDProvider.java +++ b/deeplearning4j/deeplearning4j-core/src/main/java/org/deeplearning4j/core/util/UIDProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.core.util; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/AssertTestsExtendBaseClass.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/AssertTestsExtendBaseClass.java index a8c555143..0555887dd 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/AssertTestsExtendBaseClass.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/AssertTestsExtendBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j; import lombok.extern.slf4j.Slf4j; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/LayerHelperValidationUtil.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/LayerHelperValidationUtil.java index 1279be530..12a65f536 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/LayerHelperValidationUtil.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/LayerHelperValidationUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/RandomTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/RandomTests.java index 3ea9e07f3..91924770f 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/RandomTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/RandomTests.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j; import org.deeplearning4j.datasets.iterator.EarlyTerminationDataSetIterator; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/TestUtils.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/TestUtils.java index c004c5c0d..4751ba75f 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/TestUtils.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/TestUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/MnistFetcherTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/MnistFetcherTest.java index b7a3a6f00..f044759ab 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/MnistFetcherTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/MnistFetcherTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/TestDataSets.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/TestDataSets.java index 44aa9a0b3..e66798582 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/TestDataSets.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/TestDataSets.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/datavec/RecordReaderDataSetiteratorTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/datavec/RecordReaderDataSetiteratorTest.java index 22cd30684..9c9d3d3e4 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/datavec/RecordReaderDataSetiteratorTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/datavec/RecordReaderDataSetiteratorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.datavec; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/datavec/RecordReaderMultiDataSetIteratorTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/datavec/RecordReaderMultiDataSetIteratorTest.java index d4f3eb94d..0d4150540 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/datavec/RecordReaderMultiDataSetIteratorTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/datavec/RecordReaderMultiDataSetIteratorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.datavec; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/datavec/tools/SpecialImageRecordReader.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/datavec/tools/SpecialImageRecordReader.java index 78e0ad082..06b4e9a7c 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/datavec/tools/SpecialImageRecordReader.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/datavec/tools/SpecialImageRecordReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.datavec.tools; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/fetchers/SvhnDataFetcherTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/fetchers/SvhnDataFetcherTest.java index e662be659..00e3a7c81 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/fetchers/SvhnDataFetcherTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/fetchers/SvhnDataFetcherTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.fetchers; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/AbstractDataSetIteratorTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/AbstractDataSetIteratorTest.java index 7c1681c42..0a8fcb505 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/AbstractDataSetIteratorTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/AbstractDataSetIteratorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/AsyncDataSetIteratorTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/AsyncDataSetIteratorTest.java index 3e5015356..bd80b6718 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/AsyncDataSetIteratorTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/AsyncDataSetIteratorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/AsyncMultiDataSetIteratorTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/AsyncMultiDataSetIteratorTest.java index d6a0d1fe1..b7b3e6801 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/AsyncMultiDataSetIteratorTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/AsyncMultiDataSetIteratorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/CombinedPreProcessorTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/CombinedPreProcessorTests.java index 51a9389ef..d79ec51f7 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/CombinedPreProcessorTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/CombinedPreProcessorTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/DataSetIteratorTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/DataSetIteratorTest.java index b2f45089d..5c9c1dad9 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/DataSetIteratorTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/DataSetIteratorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/DataSetSplitterTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/DataSetSplitterTests.java index 149736055..cbd98faa2 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/DataSetSplitterTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/DataSetSplitterTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/DummyBlockDataSetIteratorTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/DummyBlockDataSetIteratorTests.java index 2b9700bbe..15506d1e6 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/DummyBlockDataSetIteratorTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/DummyBlockDataSetIteratorTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/EarlyTerminationDataSetIteratorTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/EarlyTerminationDataSetIteratorTest.java index 19b56679c..7641e4f1f 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/EarlyTerminationDataSetIteratorTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/EarlyTerminationDataSetIteratorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/EarlyTerminationMultiDataSetIteratorTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/EarlyTerminationMultiDataSetIteratorTest.java index 6aa761579..e2eed269e 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/EarlyTerminationMultiDataSetIteratorTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/EarlyTerminationMultiDataSetIteratorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/JointMultiDataSetIteratorTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/JointMultiDataSetIteratorTests.java index 2108c9ec3..cfa08f1f2 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/JointMultiDataSetIteratorTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/JointMultiDataSetIteratorTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/JointParallelDataSetIteratorTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/JointParallelDataSetIteratorTest.java index 92bb582d6..01ee155e5 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/JointParallelDataSetIteratorTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/JointParallelDataSetIteratorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/LoaderIteratorTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/LoaderIteratorTests.java index 9dcb8b3e0..170760cd2 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/LoaderIteratorTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/LoaderIteratorTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/MultiDataSetSplitterTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/MultiDataSetSplitterTests.java index 2e2853133..6c3a0a185 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/MultiDataSetSplitterTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/MultiDataSetSplitterTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/MultipleEpochsIteratorTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/MultipleEpochsIteratorTest.java index 7c9ca3099..b68ab174b 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/MultipleEpochsIteratorTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/MultipleEpochsIteratorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/RandomDataSetIteratorTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/RandomDataSetIteratorTest.java index 9ddb6abe8..826a7d5ee 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/RandomDataSetIteratorTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/RandomDataSetIteratorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/SamplingTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/SamplingTest.java index fa8f20662..b2b2dea63 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/SamplingTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/SamplingTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/TestAsyncIterator.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/TestAsyncIterator.java index 0202d756d..274458ff2 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/TestAsyncIterator.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/TestAsyncIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/TestEmnistDataSetIterator.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/TestEmnistDataSetIterator.java index c5ac04901..8fde3f522 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/TestEmnistDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/TestEmnistDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/TestFileIterators.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/TestFileIterators.java index dfd95873d..4789946c2 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/TestFileIterators.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/TestFileIterators.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/tools/DataSetGenerator.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/tools/DataSetGenerator.java index 63e49bddf..6d464dc60 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/tools/DataSetGenerator.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/tools/DataSetGenerator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.tools; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/tools/MultiDataSetGenerator.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/tools/MultiDataSetGenerator.java index c1aee74d0..61841be90 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/tools/MultiDataSetGenerator.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/tools/MultiDataSetGenerator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.tools; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/tools/SimpleVariableGenerator.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/tools/SimpleVariableGenerator.java index c36f9d05c..ab2082054 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/tools/SimpleVariableGenerator.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/tools/SimpleVariableGenerator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.tools; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/tools/VariableMultiTimeseriesGenerator.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/tools/VariableMultiTimeseriesGenerator.java index 17642b74c..be103816b 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/tools/VariableMultiTimeseriesGenerator.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/tools/VariableMultiTimeseriesGenerator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.tools; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/tools/VariableTimeseriesGenerator.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/tools/VariableTimeseriesGenerator.java index 46dbbac9c..c50068e0e 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/tools/VariableTimeseriesGenerator.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/datasets/iterator/tools/VariableTimeseriesGenerator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.tools; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/earlystopping/TestEarlyStopping.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/earlystopping/TestEarlyStopping.java index 53e505e3b..3ee89b30b 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/earlystopping/TestEarlyStopping.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/earlystopping/TestEarlyStopping.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/earlystopping/TestEarlyStoppingCompGraph.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/earlystopping/TestEarlyStoppingCompGraph.java index 16bc4c31f..a852a91b8 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/earlystopping/TestEarlyStoppingCompGraph.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/earlystopping/TestEarlyStoppingCompGraph.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/eval/EvalJsonTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/eval/EvalJsonTest.java index db86ad617..d9fe26ee4 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/eval/EvalJsonTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/eval/EvalJsonTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.eval; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/eval/EvalTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/eval/EvalTest.java index ba8a23e8d..abfbc512e 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/eval/EvalTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/eval/EvalTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.eval; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/eval/EvaluationToolsTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/eval/EvaluationToolsTests.java index 2f68dc4c1..a37119b49 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/eval/EvaluationToolsTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/eval/EvaluationToolsTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.eval; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/eval/ROCTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/eval/ROCTest.java index 27cde5283..fa6707d3d 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/eval/ROCTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/eval/ROCTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.eval; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/eval/RegressionEvalTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/eval/RegressionEvalTest.java index ba469546d..146b2c5df 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/eval/RegressionEvalTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/eval/RegressionEvalTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.eval; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/exceptions/TestInvalidConfigurations.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/exceptions/TestInvalidConfigurations.java index 0ea7ff282..38a5a83c6 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/exceptions/TestInvalidConfigurations.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/exceptions/TestInvalidConfigurations.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.exceptions; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/exceptions/TestInvalidInput.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/exceptions/TestInvalidInput.java index 360d5fac3..beab825b0 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/exceptions/TestInvalidInput.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/exceptions/TestInvalidInput.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.exceptions; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/exceptions/TestRecordReaders.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/exceptions/TestRecordReaders.java index 1b1c98f2d..e5b38ab59 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/exceptions/TestRecordReaders.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/exceptions/TestRecordReaders.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.exceptions; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/AttentionLayerTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/AttentionLayerTest.java index 709d88901..cccd43869 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/AttentionLayerTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/AttentionLayerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.gradientcheck; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/BNGradientCheckTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/BNGradientCheckTest.java index 081abd45d..8fb9e8fc0 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/BNGradientCheckTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/BNGradientCheckTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.gradientcheck; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/CNN1DGradientCheckTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/CNN1DGradientCheckTest.java index 43fe7cf19..df5f2f1e7 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/CNN1DGradientCheckTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/CNN1DGradientCheckTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.gradientcheck; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/CNN3DGradientCheckTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/CNN3DGradientCheckTest.java index 30cc783da..975fa17a4 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/CNN3DGradientCheckTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/CNN3DGradientCheckTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.gradientcheck; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/CNNGradientCheckTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/CNNGradientCheckTest.java index 7bcf892c3..a3124be5a 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/CNNGradientCheckTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/CNNGradientCheckTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.gradientcheck; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/CapsnetGradientCheckTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/CapsnetGradientCheckTest.java index e604c594d..b31ad3959 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/CapsnetGradientCheckTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/CapsnetGradientCheckTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.gradientcheck; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/DropoutGradientCheck.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/DropoutGradientCheck.java index c4f9d2843..0d9c5e79a 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/DropoutGradientCheck.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/DropoutGradientCheck.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.gradientcheck; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/GlobalPoolingGradientCheckTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/GlobalPoolingGradientCheckTests.java index b78ce8cb0..9885107e2 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/GlobalPoolingGradientCheckTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/GlobalPoolingGradientCheckTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.gradientcheck; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/GradientCheckTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/GradientCheckTests.java index 2c6f8843e..878ca1d23 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/GradientCheckTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/GradientCheckTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.gradientcheck; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/GradientCheckTestsComputationGraph.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/GradientCheckTestsComputationGraph.java index ece6a54ce..7f9d6c3f8 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/GradientCheckTestsComputationGraph.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/GradientCheckTestsComputationGraph.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.gradientcheck; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/GradientCheckTestsMasking.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/GradientCheckTestsMasking.java index 2a172ee90..a6375b552 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/GradientCheckTestsMasking.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/GradientCheckTestsMasking.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.gradientcheck; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/LRNGradientCheckTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/LRNGradientCheckTests.java index 5a6e003f2..747771ba0 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/LRNGradientCheckTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/LRNGradientCheckTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.gradientcheck; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/LSTMGradientCheckTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/LSTMGradientCheckTests.java index 2f0822b80..40c34fa94 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/LSTMGradientCheckTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/LSTMGradientCheckTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.gradientcheck; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/LossFunctionGradientCheck.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/LossFunctionGradientCheck.java index 88ea98ca2..1fee113e6 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/LossFunctionGradientCheck.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/LossFunctionGradientCheck.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.gradientcheck; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/NoBiasGradientCheckTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/NoBiasGradientCheckTests.java index cc4e74104..174fc67d9 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/NoBiasGradientCheckTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/NoBiasGradientCheckTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.gradientcheck; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/OutputLayerGradientChecks.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/OutputLayerGradientChecks.java index 24745fd0a..48f0ef5e6 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/OutputLayerGradientChecks.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/OutputLayerGradientChecks.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.gradientcheck; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/RnnGradientChecks.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/RnnGradientChecks.java index e356cce1d..b2f770298 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/RnnGradientChecks.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/RnnGradientChecks.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.gradientcheck; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/UtilLayerGradientChecks.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/UtilLayerGradientChecks.java index b8412a8d2..dee3c66da 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/UtilLayerGradientChecks.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/UtilLayerGradientChecks.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.gradientcheck; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/VaeGradientCheckTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/VaeGradientCheckTests.java index 3d4a6180c..e25144df4 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/VaeGradientCheckTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/VaeGradientCheckTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.gradientcheck; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/YoloGradientCheckTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/YoloGradientCheckTests.java index 76b6f36a1..c5c8dfd60 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/YoloGradientCheckTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/YoloGradientCheckTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.gradientcheck; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/sdlosscustom/SDLossMAE.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/sdlosscustom/SDLossMAE.java index dbef14bf2..dc89b0003 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/sdlosscustom/SDLossMAE.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/sdlosscustom/SDLossMAE.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.gradientcheck.sdlosscustom; import lombok.EqualsAndHashCode; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/sdlosscustom/SDLossMSE.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/sdlosscustom/SDLossMSE.java index 6edce7a49..1e923a8f9 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/sdlosscustom/SDLossMSE.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/sdlosscustom/SDLossMSE.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.gradientcheck.sdlosscustom; import lombok.EqualsAndHashCode; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/adapters/ArgmaxAdapterTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/adapters/ArgmaxAdapterTest.java index 8c7f20cd2..b8a7807ce 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/adapters/ArgmaxAdapterTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/adapters/ArgmaxAdapterTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.adapters; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/adapters/Regression2dAdapterTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/adapters/Regression2dAdapterTest.java index 52dfa98b0..ef31721d3 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/adapters/Regression2dAdapterTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/adapters/Regression2dAdapterTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.adapters; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/ComputationGraphConfigurationTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/ComputationGraphConfigurationTest.java index b6adf538c..57045291c 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/ComputationGraphConfigurationTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/ComputationGraphConfigurationTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/JsonTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/JsonTest.java index 0277f04cb..9bbce10f8 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/JsonTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/JsonTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/MultiLayerNeuralNetConfigurationTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/MultiLayerNeuralNetConfigurationTest.java index 9e187c9db..bd3db8f2a 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/MultiLayerNeuralNetConfigurationTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/MultiLayerNeuralNetConfigurationTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/MultiNeuralNetConfLayerBuilderTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/MultiNeuralNetConfLayerBuilderTest.java index d55ad10c3..642cce92c 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/MultiNeuralNetConfLayerBuilderTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/MultiNeuralNetConfLayerBuilderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/NeuralNetConfigurationTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/NeuralNetConfigurationTest.java index 0857ffded..d2919f173 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/NeuralNetConfigurationTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/NeuralNetConfigurationTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/constraints/TestConstraints.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/constraints/TestConstraints.java index 0db6a1357..f75af6660 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/constraints/TestConstraints.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/constraints/TestConstraints.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.constraints; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/dropout/TestDropout.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/dropout/TestDropout.java index 574cb0d39..3598c7c39 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/dropout/TestDropout.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/dropout/TestDropout.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.dropout; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/graph/ElementWiseVertexTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/graph/ElementWiseVertexTest.java index 547b29049..99048a94b 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/graph/ElementWiseVertexTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/graph/ElementWiseVertexTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.graph; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/graph/ShiftVertexTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/graph/ShiftVertexTest.java index 62c6eebc6..6914b6b39 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/graph/ShiftVertexTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/graph/ShiftVertexTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.graph; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/layers/LayerBuilderTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/layers/LayerBuilderTest.java index 12f5a8e0d..253823132 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/layers/LayerBuilderTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/layers/LayerBuilderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/layers/LayerConfigTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/layers/LayerConfigTest.java index 3701e7dbb..bf4b000e8 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/layers/LayerConfigTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/layers/LayerConfigTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/layers/LayerConfigValidationTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/layers/LayerConfigValidationTest.java index b57388d53..e9acd027a 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/layers/LayerConfigValidationTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/layers/LayerConfigValidationTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/misc/TestGraphVertex.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/misc/TestGraphVertex.java index a69ccd33e..bd6536547 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/misc/TestGraphVertex.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/misc/TestGraphVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.misc; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/preprocessor/CNNProcessorTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/preprocessor/CNNProcessorTest.java index fa5783c64..8145f1d72 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/preprocessor/CNNProcessorTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/preprocessor/CNNProcessorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.preprocessor; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/preprocessor/CustomPreprocessorTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/preprocessor/CustomPreprocessorTest.java index 8e726b869..a66201ec2 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/preprocessor/CustomPreprocessorTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/preprocessor/CustomPreprocessorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.preprocessor; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/preprocessor/TestPreProcessors.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/preprocessor/TestPreProcessors.java index 510505e63..e7c8b25a2 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/preprocessor/TestPreProcessors.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/preprocessor/TestPreProcessors.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.preprocessor; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/preprocessor/custom/MyCustomPreprocessor.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/preprocessor/custom/MyCustomPreprocessor.java index 77061e398..2c0fce392 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/preprocessor/custom/MyCustomPreprocessor.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/preprocessor/custom/MyCustomPreprocessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.preprocessor.custom; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/weightnoise/TestWeightNoise.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/weightnoise/TestWeightNoise.java index 0ebc598bc..ae5598951 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/weightnoise/TestWeightNoise.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/conf/weightnoise/TestWeightNoise.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.weightnoise; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/dtypes/DTypeTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/dtypes/DTypeTests.java index da4754e0b..3ffbe760d 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/dtypes/DTypeTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/dtypes/DTypeTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.dtypes; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/ComputationGraphTestRNN.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/ComputationGraphTestRNN.java index 99fe6d5b7..7b64b6a15 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/ComputationGraphTestRNN.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/ComputationGraphTestRNN.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.graph; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/TestCompGraphCNN.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/TestCompGraphCNN.java index 2610b92b7..bc67b0ab7 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/TestCompGraphCNN.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/TestCompGraphCNN.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.graph; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/TestCompGraphUnsupervised.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/TestCompGraphUnsupervised.java index e19a632bd..9de5527c4 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/TestCompGraphUnsupervised.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/TestCompGraphUnsupervised.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.graph; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/TestComputationGraphNetwork.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/TestComputationGraphNetwork.java index f3b7f0cdf..5354366c6 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/TestComputationGraphNetwork.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/TestComputationGraphNetwork.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.graph; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/TestSetGetParameters.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/TestSetGetParameters.java index 0e8e7ca09..0a4a6d33a 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/TestSetGetParameters.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/TestSetGetParameters.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.graph; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/TestVariableLengthTSCG.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/TestVariableLengthTSCG.java index da67f1582..6ba16a8bc 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/TestVariableLengthTSCG.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/TestVariableLengthTSCG.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.graph; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/graphnodes/TestGraphNodes.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/graphnodes/TestGraphNodes.java index 3e4a0e5ed..ed21a0af7 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/graphnodes/TestGraphNodes.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/graph/graphnodes/TestGraphNodes.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.graph.graphnodes; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/ActivationLayerTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/ActivationLayerTest.java index 347b4ef81..751a5752b 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/ActivationLayerTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/ActivationLayerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/AutoEncoderTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/AutoEncoderTest.java index 4c08f49ed..e0af3c7bf 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/AutoEncoderTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/AutoEncoderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/BaseLayerTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/BaseLayerTest.java index d9c8070e7..4b77b6529 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/BaseLayerTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/BaseLayerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/CacheModeTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/CacheModeTest.java index f9ddc372d..5a031689b 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/CacheModeTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/CacheModeTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/CenterLossOutputLayerTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/CenterLossOutputLayerTest.java index 8e04bdfc7..f0a42589a 100755 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/CenterLossOutputLayerTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/CenterLossOutputLayerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/DropoutLayerTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/DropoutLayerTest.java index 23c4421e5..9e201f2bd 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/DropoutLayerTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/DropoutLayerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/FrozenLayerTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/FrozenLayerTest.java index 65d204964..a5bb68a9c 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/FrozenLayerTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/FrozenLayerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/FrozenLayerWithBackpropTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/FrozenLayerWithBackpropTest.java index 200f55071..258f6dec7 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/FrozenLayerWithBackpropTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/FrozenLayerWithBackpropTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/OutputLayerTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/OutputLayerTest.java index 2d746a137..1398b49fd 100755 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/OutputLayerTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/OutputLayerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/RepeatVectorTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/RepeatVectorTest.java index c6b4173ba..efd90d941 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/RepeatVectorTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/RepeatVectorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/SeedTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/SeedTest.java index d56f167e5..88effbe35 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/SeedTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/SeedTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/TestDropout.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/TestDropout.java index ad7bdc9a0..a3abe98b5 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/TestDropout.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/TestDropout.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/capsule/CapsNetMNISTTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/capsule/CapsNetMNISTTest.java index 7eb69566b..62c634cc4 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/capsule/CapsNetMNISTTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/capsule/CapsNetMNISTTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.capsule; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/capsule/CapsuleLayerTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/capsule/CapsuleLayerTest.java index 6f69b3da4..5719e1ad9 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/capsule/CapsuleLayerTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/capsule/CapsuleLayerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.capsule; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/capsule/CapsuleStrengthLayerTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/capsule/CapsuleStrengthLayerTest.java index 0f77b431b..f8b64850e 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/capsule/CapsuleStrengthLayerTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/capsule/CapsuleStrengthLayerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.capsule; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/capsule/PrimaryCapsulesTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/capsule/PrimaryCapsulesTest.java index 07b5c4009..b99d7a877 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/capsule/PrimaryCapsulesTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/capsule/PrimaryCapsulesTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.capsule; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/ConvDataFormatTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/ConvDataFormatTests.java index 0f166c32b..2676fe1a7 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/ConvDataFormatTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/ConvDataFormatTests.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; import lombok.*; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/Convolution3DTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/Convolution3DTest.java index e9467e83a..402ed859e 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/Convolution3DTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/Convolution3DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/ConvolutionLayerSetupTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/ConvolutionLayerSetupTest.java index 1d354ef51..e312e4078 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/ConvolutionLayerSetupTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/ConvolutionLayerSetupTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/ConvolutionLayerTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/ConvolutionLayerTest.java index 192e5c39c..0af075d70 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/ConvolutionLayerTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/ConvolutionLayerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/LocallyConnectedLayerTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/LocallyConnectedLayerTest.java index 458d12b21..9b2b90716 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/LocallyConnectedLayerTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/LocallyConnectedLayerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/SpaceToDepthTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/SpaceToDepthTest.java index d0e937dbe..8b31f2af0 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/SpaceToDepthTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/SpaceToDepthTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/SubsamplingLayerTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/SubsamplingLayerTest.java index 58acf8767..e90177d17 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/SubsamplingLayerTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/SubsamplingLayerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/TestConvolutionModes.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/TestConvolutionModes.java index 0f5b5d6d1..6e1e8a0de 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/TestConvolutionModes.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/TestConvolutionModes.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/Upsampling1DTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/Upsampling1DTest.java index 0675285c2..ac11a78df 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/Upsampling1DTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/Upsampling1DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/Upsampling2DTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/Upsampling2DTest.java index e797b8cdc..a6c95540b 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/Upsampling2DTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/convolution/Upsampling2DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/TestCustomActivation.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/TestCustomActivation.java index 69b15951e..7a5b561fc 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/TestCustomActivation.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/TestCustomActivation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.custom; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/TestCustomLayers.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/TestCustomLayers.java index 5ead0e4b1..603e4fc2b 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/TestCustomLayers.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/TestCustomLayers.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.custom; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/testclasses/CustomActivation.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/testclasses/CustomActivation.java index 01d94e6dc..ebf31d2e6 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/testclasses/CustomActivation.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/testclasses/CustomActivation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.custom.testclasses; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/testclasses/CustomLayer.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/testclasses/CustomLayer.java index 333995706..0a77dd1d9 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/testclasses/CustomLayer.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/testclasses/CustomLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.custom.testclasses; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/testclasses/CustomLayerImpl.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/testclasses/CustomLayerImpl.java index ffca8a5dc..bbfd0ed0d 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/testclasses/CustomLayerImpl.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/testclasses/CustomLayerImpl.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.custom.testclasses; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/testclasses/CustomOutputLayer.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/testclasses/CustomOutputLayer.java index ff79adf0a..b0a960d79 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/testclasses/CustomOutputLayer.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/testclasses/CustomOutputLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.custom.testclasses; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/testclasses/CustomOutputLayerImpl.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/testclasses/CustomOutputLayerImpl.java index 281eba7d8..62811bb62 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/testclasses/CustomOutputLayerImpl.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/custom/testclasses/CustomOutputLayerImpl.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.custom.testclasses; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/feedforward/dense/DenseTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/feedforward/dense/DenseTest.java index 1e9b7533a..b735ac070 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/feedforward/dense/DenseTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/feedforward/dense/DenseTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.feedforward.dense; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/feedforward/embedding/EmbeddingLayerTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/feedforward/embedding/EmbeddingLayerTest.java index 1789a2810..67281e4ae 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/feedforward/embedding/EmbeddingLayerTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/feedforward/embedding/EmbeddingLayerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.feedforward.embedding; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/normalization/BatchNormalizationTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/normalization/BatchNormalizationTest.java index e2c38bfad..5984da13f 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/normalization/BatchNormalizationTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/normalization/BatchNormalizationTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.normalization; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/normalization/LocalResponseTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/normalization/LocalResponseTest.java index b4daf9161..a0a69af49 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/normalization/LocalResponseTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/normalization/LocalResponseTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.normalization; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/objdetect/TestYolo2OutputLayer.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/objdetect/TestYolo2OutputLayer.java index 699d6bf55..1fec5c25c 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/objdetect/TestYolo2OutputLayer.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/objdetect/TestYolo2OutputLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.objdetect; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/ocnn/OCNNOutputLayerTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/ocnn/OCNNOutputLayerTest.java index bf158a863..7ceb441b5 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/ocnn/OCNNOutputLayerTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/ocnn/OCNNOutputLayerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.ocnn; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/pooling/GlobalPoolingMaskingTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/pooling/GlobalPoolingMaskingTests.java index aebf23673..d3d17d086 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/pooling/GlobalPoolingMaskingTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/pooling/GlobalPoolingMaskingTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.pooling; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/BidirectionalTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/BidirectionalTest.java index 2fef54844..cc0eba4e6 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/BidirectionalTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/BidirectionalTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/GravesBidirectionalLSTMTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/GravesBidirectionalLSTMTest.java index b879056c5..3282ccbf0 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/GravesBidirectionalLSTMTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/GravesBidirectionalLSTMTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/GravesLSTMTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/GravesLSTMTest.java index f9e17cc50..813746287 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/GravesLSTMTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/GravesLSTMTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/MaskZeroLayerTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/MaskZeroLayerTest.java index 7ddc31220..1c3d89cee 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/MaskZeroLayerTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/MaskZeroLayerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/RnnDataFormatTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/RnnDataFormatTests.java index 93566050f..4845c0097 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/RnnDataFormatTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/RnnDataFormatTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/TestLastTimeStepLayer.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/TestLastTimeStepLayer.java index 9f60d674d..a4e6a8b0d 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/TestLastTimeStepLayer.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/TestLastTimeStepLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/TestRecurrentWeightInit.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/TestRecurrentWeightInit.java index 4c1e5374e..48c70a1aa 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/TestRecurrentWeightInit.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/TestRecurrentWeightInit.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/TestRnnLayers.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/TestRnnLayers.java index b2b789d58..e9b900fef 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/TestRnnLayers.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/TestRnnLayers.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/TestSimpleRnn.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/TestSimpleRnn.java index 639d3fafd..994a1f7eb 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/TestSimpleRnn.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/TestSimpleRnn.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/TestTimeDistributed.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/TestTimeDistributed.java index 0d38d699c..579b3ab90 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/TestTimeDistributed.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/recurrent/TestTimeDistributed.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.nn.layers.recurrent; import org.deeplearning4j.BaseDL4JTest; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/SameDiffCustomLayerTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/SameDiffCustomLayerTests.java index 243909bd9..3e9d0d2e8 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/SameDiffCustomLayerTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/SameDiffCustomLayerTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.samediff; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/TestSameDiffConv.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/TestSameDiffConv.java index 317dca24d..026cdeb5d 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/TestSameDiffConv.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/TestSameDiffConv.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.samediff; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/TestSameDiffDense.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/TestSameDiffDense.java index cdea20f70..60b9e5db1 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/TestSameDiffDense.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/TestSameDiffDense.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.samediff; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/TestSameDiffDenseVertex.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/TestSameDiffDenseVertex.java index 4e923bf4a..512051cc1 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/TestSameDiffDenseVertex.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/TestSameDiffDenseVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.samediff; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/TestSameDiffLambda.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/TestSameDiffLambda.java index 8368d3869..50c9a7469 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/TestSameDiffLambda.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/TestSameDiffLambda.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.samediff; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/TestSameDiffOutput.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/TestSameDiffOutput.java index 53e6d0ed2..cc0cb196d 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/TestSameDiffOutput.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/TestSameDiffOutput.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.samediff; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/MinimalSameDiffDense.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/MinimalSameDiffDense.java index 9cbbccaa7..07a04a6e9 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/MinimalSameDiffDense.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/MinimalSameDiffDense.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.samediff.testlayers; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffConv.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffConv.java index 7b78c14fc..1ebada366 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffConv.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffConv.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.samediff.testlayers; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffDense.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffDense.java index 630b6059c..cc3ba47b2 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffDense.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffDense.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.samediff.testlayers; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffDenseVertex.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffDenseVertex.java index 481816472..937090882 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffDenseVertex.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffDenseVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.samediff.testlayers; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffMSELossLayer.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffMSELossLayer.java index 9ada8a1dc..76cb8ca0e 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffMSELossLayer.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffMSELossLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.samediff.testlayers; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffMSEOutputLayer.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffMSEOutputLayer.java index cfead640f..f653ca1a3 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffMSEOutputLayer.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffMSEOutputLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.samediff.testlayers; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffSimpleLambdaLayer.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffSimpleLambdaLayer.java index c5f6263f9..c815c52c9 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffSimpleLambdaLayer.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffSimpleLambdaLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.samediff.testlayers; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffSimpleLambdaVertex.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffSimpleLambdaVertex.java index d9513cf80..d71613251 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffSimpleLambdaVertex.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/samediff/testlayers/SameDiffSimpleLambdaVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.samediff.testlayers; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/variational/TestReconstructionDistributions.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/variational/TestReconstructionDistributions.java index aa7527841..8781bab11 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/variational/TestReconstructionDistributions.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/variational/TestReconstructionDistributions.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.variational; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/variational/TestVAE.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/variational/TestVAE.java index bc28c1f38..b5cff7d99 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/variational/TestVAE.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/layers/variational/TestVAE.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.variational; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/CloseNetworkTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/CloseNetworkTests.java index 882ec8479..7958d1418 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/CloseNetworkTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/CloseNetworkTests.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.misc; import org.deeplearning4j.BaseDL4JTest; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/LargeNetTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/LargeNetTest.java index e728e0beb..ee3ea12a6 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/LargeNetTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/LargeNetTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.misc; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/TestLrChanges.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/TestLrChanges.java index 8bf7952ca..fde767153 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/TestLrChanges.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/TestLrChanges.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.misc; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/TestMemoryReports.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/TestMemoryReports.java index 3027ad6c1..8a2160251 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/TestMemoryReports.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/TestMemoryReports.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.misc; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/TestNetConversion.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/TestNetConversion.java index 8a07a6d1f..f2fefb7f4 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/TestNetConversion.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/TestNetConversion.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.misc; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/WorkspaceTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/WorkspaceTests.java index 4282c5e62..1b8cfba03 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/WorkspaceTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/WorkspaceTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.misc; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/iter/WSTestDataSetIterator.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/iter/WSTestDataSetIterator.java index cd2759f9e..3fec72df5 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/iter/WSTestDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/misc/iter/WSTestDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.misc.iter; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/mkldnn/ValidateMKLDNN.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/mkldnn/ValidateMKLDNN.java index bb06a0e01..f4d7a1d4d 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/mkldnn/ValidateMKLDNN.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/mkldnn/ValidateMKLDNN.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.mkldnn; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/multilayer/BackPropMLPTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/multilayer/BackPropMLPTest.java index e8236bf01..ce8058e59 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/multilayer/BackPropMLPTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/multilayer/BackPropMLPTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.multilayer; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/multilayer/MultiLayerTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/multilayer/MultiLayerTest.java index 3139b096a..172a2ef67 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/multilayer/MultiLayerTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/multilayer/MultiLayerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.multilayer; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/multilayer/MultiLayerTestRNN.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/multilayer/MultiLayerTestRNN.java index 7e6cf2cfe..8d3ef7b79 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/multilayer/MultiLayerTestRNN.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/multilayer/MultiLayerTestRNN.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.multilayer; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/multilayer/TestMasking.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/multilayer/TestMasking.java index 146c55b03..f4cbbc5a2 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/multilayer/TestMasking.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/multilayer/TestMasking.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.multilayer; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/multilayer/TestSetGetParameters.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/multilayer/TestSetGetParameters.java index 2d4583a7b..7a9980f5a 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/multilayer/TestSetGetParameters.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/multilayer/TestSetGetParameters.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.multilayer; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/multilayer/TestVariableLengthTS.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/multilayer/TestVariableLengthTS.java index edc7b850b..bb53adb71 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/multilayer/TestVariableLengthTS.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/multilayer/TestVariableLengthTS.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.multilayer; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/rl/TestMultiModelGradientApplication.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/rl/TestMultiModelGradientApplication.java index 1b9f25a05..dc4f9eaf1 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/rl/TestMultiModelGradientApplication.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/rl/TestMultiModelGradientApplication.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.rl; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TestFrozenLayers.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TestFrozenLayers.java index b9a15ccb2..ae3593e8f 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TestFrozenLayers.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TestFrozenLayers.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.transferlearning; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TestTransferLearningJson.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TestTransferLearningJson.java index e3c0363c5..dc98b6951 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TestTransferLearningJson.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TestTransferLearningJson.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.transferlearning; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TestTransferLearningModelSerializer.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TestTransferLearningModelSerializer.java index aa552a859..e474d5408 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TestTransferLearningModelSerializer.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TestTransferLearningModelSerializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.transferlearning; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TransferLearningCompGraphTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TransferLearningCompGraphTest.java index 93341dbe2..846674a7b 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TransferLearningCompGraphTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TransferLearningCompGraphTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.transferlearning; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TransferLearningComplex.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TransferLearningComplex.java index f0fadc968..50406480a 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TransferLearningComplex.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TransferLearningComplex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.transferlearning; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TransferLearningHelperTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TransferLearningHelperTest.java index 75b30ffd7..9eb4f1d85 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TransferLearningHelperTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TransferLearningHelperTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.transferlearning; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TransferLearningMLNTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TransferLearningMLNTest.java index c0d65af26..f8a721b09 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TransferLearningMLNTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/transferlearning/TransferLearningMLNTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.transferlearning; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/updater/TestGradientNormalization.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/updater/TestGradientNormalization.java index 1cde13166..11d403ee2 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/updater/TestGradientNormalization.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/updater/TestGradientNormalization.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.updater; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/updater/TestUpdaters.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/updater/TestUpdaters.java index ccf698481..bbf1d3226 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/updater/TestUpdaters.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/updater/TestUpdaters.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.updater; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/updater/custom/CustomGradientUpdater.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/updater/custom/CustomGradientUpdater.java index 384bca0a5..9ef155fdc 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/updater/custom/CustomGradientUpdater.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/updater/custom/CustomGradientUpdater.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.updater.custom; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/updater/custom/CustomIUpdater.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/updater/custom/CustomIUpdater.java index c6e3f1585..ed2e55fe4 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/updater/custom/CustomIUpdater.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/updater/custom/CustomIUpdater.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.updater.custom; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/updater/custom/TestCustomUpdater.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/updater/custom/TestCustomUpdater.java index c66fb41df..9d7cd5f0d 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/updater/custom/TestCustomUpdater.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/updater/custom/TestCustomUpdater.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.updater.custom; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/util/TestDataSetConsumer.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/util/TestDataSetConsumer.java index 7439c5ad2..8df6633f0 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/util/TestDataSetConsumer.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/util/TestDataSetConsumer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.util; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/weights/LegacyWeightInitTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/weights/LegacyWeightInitTest.java index 1b1273280..619c763a6 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/weights/LegacyWeightInitTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/weights/LegacyWeightInitTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/weights/WeightInitIdentityTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/weights/WeightInitIdentityTest.java index ba17310f1..1da2ee220 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/weights/WeightInitIdentityTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/weights/WeightInitIdentityTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/weights/WeightInitUtilTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/weights/WeightInitUtilTest.java index d4023322f..2a70a17f5 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/weights/WeightInitUtilTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/nn/weights/WeightInitUtilTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimize/solver/BackTrackLineSearchTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimize/solver/BackTrackLineSearchTest.java index e68cf133b..042a5a98c 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimize/solver/BackTrackLineSearchTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimize/solver/BackTrackLineSearchTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solver; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimize/solver/TestOptimizers.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimize/solver/TestOptimizers.java index f79763bfe..39d0e68ca 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimize/solver/TestOptimizers.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimize/solver/TestOptimizers.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solver; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimize/solver/accumulation/EncodedGradientsAccumulatorTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimize/solver/accumulation/EncodedGradientsAccumulatorTest.java index cc85e4b47..79d54d838 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimize/solver/accumulation/EncodedGradientsAccumulatorTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimize/solver/accumulation/EncodedGradientsAccumulatorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solver.accumulation; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimize/solver/accumulation/IndexedTailTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimize/solver/accumulation/IndexedTailTest.java index 512b77c35..88955c996 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimize/solver/accumulation/IndexedTailTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimize/solver/accumulation/IndexedTailTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solver.accumulation; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimize/solver/accumulation/SmartFancyBlockingQueueTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimize/solver/accumulation/SmartFancyBlockingQueueTest.java index 5abd5a253..53c3dfbdf 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimize/solver/accumulation/SmartFancyBlockingQueueTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimize/solver/accumulation/SmartFancyBlockingQueueTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solver.accumulation; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimize/solver/accumulation/ThresholdAlgorithmTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimize/solver/accumulation/ThresholdAlgorithmTests.java index 578674ed6..d6f9d3db1 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimize/solver/accumulation/ThresholdAlgorithmTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimize/solver/accumulation/ThresholdAlgorithmTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solver.accumulation; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimizer/listener/ScoreStatTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimizer/listener/ScoreStatTest.java index a7f59bb8c..5e9e2b307 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimizer/listener/ScoreStatTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimizer/listener/ScoreStatTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.optimizer.listener; import org.deeplearning4j.BaseDL4JTest; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimizer/listener/TestCheckpointListener.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimizer/listener/TestCheckpointListener.java index 131930623..c8636530b 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimizer/listener/TestCheckpointListener.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimizer/listener/TestCheckpointListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimizer.listener; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimizer/listener/TestFailureListener.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimizer/listener/TestFailureListener.java index 779d5199d..ac315db7f 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimizer/listener/TestFailureListener.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimizer/listener/TestFailureListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimizer.listener; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimizer/listener/TestListeners.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimizer/listener/TestListeners.java index cac30a7e4..2a127efc1 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimizer/listener/TestListeners.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/optimizer/listener/TestListeners.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimizer.listener; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/parallelism/AsyncIteratorTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/parallelism/AsyncIteratorTest.java index b1f8226bb..6414b7ba5 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/parallelism/AsyncIteratorTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/parallelism/AsyncIteratorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/parallelism/FancyBlockingQueueTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/parallelism/FancyBlockingQueueTests.java index 917336548..c53180b8e 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/parallelism/FancyBlockingQueueTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/parallelism/FancyBlockingQueueTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/parallelism/MultiBooleanTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/parallelism/MultiBooleanTest.java index 8e74c3222..1dcdefdaa 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/parallelism/MultiBooleanTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/parallelism/MultiBooleanTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/parallelism/ParallelExistingMiniBatchDataSetIteratorTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/parallelism/ParallelExistingMiniBatchDataSetIteratorTest.java index e96d8e892..8ea51b3a3 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/parallelism/ParallelExistingMiniBatchDataSetIteratorTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/parallelism/ParallelExistingMiniBatchDataSetIteratorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/parallelism/RandomTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/parallelism/RandomTests.java index bb44dea33..284d9c15e 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/parallelism/RandomTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/parallelism/RandomTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/perf/listener/SystemPollingTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/perf/listener/SystemPollingTest.java index bf87ee70a..4c69aab28 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/perf/listener/SystemPollingTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/perf/listener/SystemPollingTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.perf.listener; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/perf/listener/TestHardWareMetric.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/perf/listener/TestHardWareMetric.java index 7e2009b8e..216927dc2 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/perf/listener/TestHardWareMetric.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/perf/listener/TestHardWareMetric.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.perf.listener; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/perf/listener/TestSystemInfoPrintListener.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/perf/listener/TestSystemInfoPrintListener.java index bc2e36e2b..67bcc48a1 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/perf/listener/TestSystemInfoPrintListener.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/perf/listener/TestSystemInfoPrintListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.perf.listener; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/plot/BarnesHutTsneTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/plot/BarnesHutTsneTest.java index 502c6a741..f122e153e 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/plot/BarnesHutTsneTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/plot/BarnesHutTsneTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.plot; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/MiscRegressionTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/MiscRegressionTests.java index c4ecd7891..1ad12ba56 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/MiscRegressionTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/MiscRegressionTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.regressiontest; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest050.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest050.java index a5408f100..6ca5a744c 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest050.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest050.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.regressiontest; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest060.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest060.java index 10a15919d..4277d33ac 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest060.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest060.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.regressiontest; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest071.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest071.java index 3d34b3fd2..dddff7367 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest071.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest071.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.regressiontest; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest080.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest080.java index f963c2f59..f0888739e 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest080.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest080.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.regressiontest; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest100a.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest100a.java index 2119ef464..c06cabe91 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest100a.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest100a.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.regressiontest; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest100b3.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest100b3.java index 3a1bafd95..e6e4d2627 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest100b3.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest100b3.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.regressiontest; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest100b4.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest100b4.java index 0a2898d0a..30d1d226e 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest100b4.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest100b4.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.deeplearning4j.regressiontest; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest100b6.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest100b6.java index a87a522c7..578b30088 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest100b6.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/RegressionTest100b6.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.deeplearning4j.regressiontest; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/TestDistributionDeserializer.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/TestDistributionDeserializer.java index 9bee792b3..e4dd504f6 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/TestDistributionDeserializer.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/TestDistributionDeserializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.regressiontest; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/customlayer100a/CustomLayer.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/customlayer100a/CustomLayer.java index 20ccac1fb..aa566a836 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/customlayer100a/CustomLayer.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/customlayer100a/CustomLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.regressiontest.customlayer100a; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/customlayer100a/CustomLayerImpl.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/customlayer100a/CustomLayerImpl.java index a21202c1d..ea89a5a87 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/customlayer100a/CustomLayerImpl.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/regressiontest/customlayer100a/CustomLayerImpl.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.regressiontest.customlayer100a; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/samediff/CompareTrainingImplementations.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/samediff/CompareTrainingImplementations.java index 9bcb97b7d..f0f5717d2 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/samediff/CompareTrainingImplementations.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/samediff/CompareTrainingImplementations.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.samediff; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/ui/UiConnectionInfoTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/ui/UiConnectionInfoTest.java index a772c9edc..c0e43fd4c 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/ui/UiConnectionInfoTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/ui/UiConnectionInfoTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/ArrayUtilTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/ArrayUtilTest.java index 96a0c1bc0..57b5c8b5c 100755 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/ArrayUtilTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/ArrayUtilTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.util; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/CrashReportingUtilTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/CrashReportingUtilTest.java index 5975d1c1e..b2463d96a 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/CrashReportingUtilTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/CrashReportingUtilTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.util; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/ModelGuesserTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/ModelGuesserTest.java index 7894a6cc6..255bcdca9 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/ModelGuesserTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/ModelGuesserTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.util; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/ModelSerializerTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/ModelSerializerTest.java index a26e37ac5..bae4784f9 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/ModelSerializerTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/ModelSerializerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.util; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/ModelValidatorTests.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/ModelValidatorTests.java index 8caefcf6b..8779dfb08 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/ModelValidatorTests.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/ModelValidatorTests.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.util; import org.apache.commons.io.FileUtils; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/MovingWindowMatrixTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/MovingWindowMatrixTest.java index 3021555b6..52f29f728 100755 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/MovingWindowMatrixTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/MovingWindowMatrixTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.util; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/SerializationUtilsTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/SerializationUtilsTest.java index 266ed901f..30b7fb88e 100755 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/SerializationUtilsTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/SerializationUtilsTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.util; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/TestUIDProvider.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/TestUIDProvider.java index 403810aae..44ea299f6 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/TestUIDProvider.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/TestUIDProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.util; diff --git a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/TimeSeriesUtilsTest.java b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/TimeSeriesUtilsTest.java index 5d06c6043..5671e1a10 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/TimeSeriesUtilsTest.java +++ b/deeplearning4j/deeplearning4j-core/src/test/java/org/deeplearning4j/util/TimeSeriesUtilsTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.util; diff --git a/deeplearning4j/deeplearning4j-core/src/test/resources/logback-test.xml b/deeplearning4j/deeplearning4j-core/src/test/resources/logback-test.xml index 77006b2a6..dcbadf834 100644 --- a/deeplearning4j/deeplearning4j-core/src/test/resources/logback-test.xml +++ b/deeplearning4j/deeplearning4j-core/src/test/resources/logback-test.xml @@ -1,18 +1,20 @@ - + diff --git a/deeplearning4j/deeplearning4j-cuda/pom.xml b/deeplearning4j/deeplearning4j-cuda/pom.xml index 83bbdf970..8f6eb88b5 100644 --- a/deeplearning4j/deeplearning4j-cuda/pom.xml +++ b/deeplearning4j/deeplearning4j-cuda/pom.xml @@ -1,29 +1,38 @@ - + + + + - 4.0.0 - deeplearning4j-cuda-11.0 - deeplearning4j-cuda + org.deeplearning4j deeplearning4j-parent 1.0.0-SNAPSHOT + deeplearning4j-cuda-11.0 + + deeplearning4j-cuda + 11.0 @@ -31,37 +40,25 @@ 1.5.4 - - - - org.nd4j - nd4j-api - ${nd4j.version} - - - - org.nd4j nd4j-cuda-${cuda.version} ${nd4j.version} - org.slf4j slf4j-api - ch.qos.logback logback-classic test - org.nd4j nd4j-api + ${nd4j.version} org.deeplearning4j @@ -81,7 +78,6 @@ junit junit - test org.deeplearning4j @@ -92,9 +88,9 @@ - + @@ -115,5 +111,4 @@ test-nd4j-cuda-11.0 - diff --git a/deeplearning4j/deeplearning4j-cuda/src/test/resources/logback.xml b/deeplearning4j/deeplearning4j-cuda/src/test/resources/logback.xml index 69246755b..70c9f9523 100644 --- a/deeplearning4j/deeplearning4j-cuda/src/test/resources/logback.xml +++ b/deeplearning4j/deeplearning4j-cuda/src/test/resources/logback.xml @@ -1,18 +1,20 @@ - + diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/pom.xml b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/pom.xml index 5a48cfc2d..46f95e5ff 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/pom.xml +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/pom.xml @@ -1,27 +1,33 @@ - + + + + + + 4.0.0 - - deeplearning4j-data org.deeplearning4j + deeplearning4j-data 1.0.0-SNAPSHOT - 4.0.0 deeplearning4j-datasets jar @@ -54,5 +60,4 @@ test-nd4j-cuda-11.0 - diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/base/EmnistFetcher.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/base/EmnistFetcher.java index 1930c312c..706af932b 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/base/EmnistFetcher.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/base/EmnistFetcher.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.base; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/base/IrisUtils.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/base/IrisUtils.java index 19412067f..881dea426 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/base/IrisUtils.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/base/IrisUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.base; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/base/MnistFetcher.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/base/MnistFetcher.java index cd8c4ae01..cf3d022b0 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/base/MnistFetcher.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/base/MnistFetcher.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.base; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/CacheableDataSet.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/CacheableDataSet.java index b9182d57a..3fbe4ccb1 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/CacheableDataSet.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/CacheableDataSet.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.fetchers; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/CacheableExtractableDataSetFetcher.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/CacheableExtractableDataSetFetcher.java index 889005894..d6e6bc3e9 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/CacheableExtractableDataSetFetcher.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/CacheableExtractableDataSetFetcher.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.fetchers; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/Cifar10Fetcher.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/Cifar10Fetcher.java index e723cab1d..96ed09773 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/Cifar10Fetcher.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/Cifar10Fetcher.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.fetchers; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/DataSetType.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/DataSetType.java index d8b36a23a..62cfdaaa3 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/DataSetType.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/DataSetType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.fetchers; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/EmnistDataFetcher.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/EmnistDataFetcher.java index cec1e8ad5..24325d831 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/EmnistDataFetcher.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/EmnistDataFetcher.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.fetchers; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/IrisDataFetcher.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/IrisDataFetcher.java index 120858433..0572d79d2 100755 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/IrisDataFetcher.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/IrisDataFetcher.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.fetchers; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/MnistDataFetcher.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/MnistDataFetcher.java index b9ad2fe04..3cb17a976 100755 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/MnistDataFetcher.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/MnistDataFetcher.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.fetchers; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/SvhnDataFetcher.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/SvhnDataFetcher.java index 79b4427d8..4e33334cb 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/SvhnDataFetcher.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/SvhnDataFetcher.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.fetchers; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/TinyImageNetFetcher.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/TinyImageNetFetcher.java index 04bd63c98..204630dc6 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/TinyImageNetFetcher.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/TinyImageNetFetcher.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.fetchers; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/UciSequenceDataFetcher.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/UciSequenceDataFetcher.java index ad537cf63..28fb97d14 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/UciSequenceDataFetcher.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/fetchers/UciSequenceDataFetcher.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.fetchers; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/Cifar10DataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/Cifar10DataSetIterator.java index c2373d6c4..9f772b6a7 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/Cifar10DataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/Cifar10DataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.impl; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/EmnistDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/EmnistDataSetIterator.java index 527c24b72..2575d1c97 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/EmnistDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/EmnistDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.impl; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/IrisDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/IrisDataSetIterator.java index 8a7091aa3..a4b354d3c 100755 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/IrisDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/IrisDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.impl; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/LFWDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/LFWDataSetIterator.java index 0930d6be2..47e1b191e 100755 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/LFWDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/LFWDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.impl; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/MnistDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/MnistDataSetIterator.java index 81a582e74..dfb60d475 100755 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/MnistDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/MnistDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.impl; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/TinyImageNetDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/TinyImageNetDataSetIterator.java index fbbe3cc97..d13d45d54 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/TinyImageNetDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/TinyImageNetDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.impl; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/UciSequenceDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/UciSequenceDataSetIterator.java index ec32b48a9..5f7330f0e 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/UciSequenceDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/iterator/impl/UciSequenceDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.impl; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/mnist/MnistDbFile.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/mnist/MnistDbFile.java index 189e0bf38..fd13e33e3 100755 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/mnist/MnistDbFile.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/mnist/MnistDbFile.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.mnist; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/mnist/MnistImageFile.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/mnist/MnistImageFile.java index db068e3bd..941f5e7d1 100755 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/mnist/MnistImageFile.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/mnist/MnistImageFile.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.mnist; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/mnist/MnistLabelFile.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/mnist/MnistLabelFile.java index 74a1a1d93..eff8a68b0 100755 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/mnist/MnistLabelFile.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/mnist/MnistLabelFile.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.mnist; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/mnist/MnistManager.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/mnist/MnistManager.java index 220bfb4fd..1ac41c9b8 100755 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/mnist/MnistManager.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datasets/src/main/java/org/deeplearning4j/datasets/mnist/MnistManager.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.mnist; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datavec-iterators/pom.xml b/deeplearning4j/deeplearning4j-data/deeplearning4j-datavec-iterators/pom.xml index 2ce302370..37042e2b7 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datavec-iterators/pom.xml +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datavec-iterators/pom.xml @@ -1,27 +1,33 @@ - + + + + + + 4.0.0 - - deeplearning4j-data org.deeplearning4j + deeplearning4j-data 1.0.0-SNAPSHOT - 4.0.0 deeplearning4j-datavec-iterators jar @@ -37,7 +43,6 @@ org.nd4j nd4j-api - ${nd4j.version} diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datavec-iterators/src/main/java/org/deeplearning4j/datasets/datavec/RecordReaderDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datavec-iterators/src/main/java/org/deeplearning4j/datasets/datavec/RecordReaderDataSetIterator.java index 38d931184..5ad40eb92 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datavec-iterators/src/main/java/org/deeplearning4j/datasets/datavec/RecordReaderDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datavec-iterators/src/main/java/org/deeplearning4j/datasets/datavec/RecordReaderDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.datavec; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datavec-iterators/src/main/java/org/deeplearning4j/datasets/datavec/RecordReaderMultiDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datavec-iterators/src/main/java/org/deeplearning4j/datasets/datavec/RecordReaderMultiDataSetIterator.java index 3096ca886..f1c5ea7f3 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datavec-iterators/src/main/java/org/deeplearning4j/datasets/datavec/RecordReaderMultiDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datavec-iterators/src/main/java/org/deeplearning4j/datasets/datavec/RecordReaderMultiDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.datavec; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datavec-iterators/src/main/java/org/deeplearning4j/datasets/datavec/SequenceRecordReaderDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datavec-iterators/src/main/java/org/deeplearning4j/datasets/datavec/SequenceRecordReaderDataSetIterator.java index d04ca652e..0b17df97c 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datavec-iterators/src/main/java/org/deeplearning4j/datasets/datavec/SequenceRecordReaderDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datavec-iterators/src/main/java/org/deeplearning4j/datasets/datavec/SequenceRecordReaderDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.datavec; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-datavec-iterators/src/main/java/org/deeplearning4j/datasets/datavec/exception/ZeroLengthSequenceException.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-datavec-iterators/src/main/java/org/deeplearning4j/datasets/datavec/exception/ZeroLengthSequenceException.java index 6698408ba..a976c56c4 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-datavec-iterators/src/main/java/org/deeplearning4j/datasets/datavec/exception/ZeroLengthSequenceException.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-datavec-iterators/src/main/java/org/deeplearning4j/datasets/datavec/exception/ZeroLengthSequenceException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.datavec.exception; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/pom.xml b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/pom.xml index 103a1a8e7..c15f449c9 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/pom.xml +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/pom.xml @@ -1,40 +1,43 @@ - + + + + + + 4.0.0 - - deeplearning4j-data org.deeplearning4j + deeplearning4j-data 1.0.0-SNAPSHOT - 4.0.0 deeplearning4j-utility-iterators jar deeplearning4j-utility-iterators - - org.nd4j nd4j-api - ${nd4j.version} diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/AbstractDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/AbstractDataSetIterator.java index 18b1b00b6..834ec2396 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/AbstractDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/AbstractDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/AsyncDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/AsyncDataSetIterator.java index 1967133c1..2307f284e 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/AsyncDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/AsyncDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/AsyncMultiDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/AsyncMultiDataSetIterator.java index 6266fccaa..646d8f56f 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/AsyncMultiDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/AsyncMultiDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/AsyncShieldDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/AsyncShieldDataSetIterator.java index 52411df90..e1ada9705 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/AsyncShieldDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/AsyncShieldDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/AsyncShieldMultiDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/AsyncShieldMultiDataSetIterator.java index e5e6d140a..55707eada 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/AsyncShieldMultiDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/AsyncShieldMultiDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/BaseDatasetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/BaseDatasetIterator.java index 6ccbbfa47..92f3f537a 100755 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/BaseDatasetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/BaseDatasetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/CombinedMultiDataSetPreProcessor.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/CombinedMultiDataSetPreProcessor.java index 3587e7153..271bf3126 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/CombinedMultiDataSetPreProcessor.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/CombinedMultiDataSetPreProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/CombinedPreProcessor.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/CombinedPreProcessor.java index a9ad0de7e..b7012172e 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/CombinedPreProcessor.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/CombinedPreProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/DataSetFetcher.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/DataSetFetcher.java index 367adead8..22e5f1c6d 100755 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/DataSetFetcher.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/DataSetFetcher.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/DataSetIteratorSplitter.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/DataSetIteratorSplitter.java index ac03d5cec..29eaf8c30 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/DataSetIteratorSplitter.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/DataSetIteratorSplitter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/DoublesDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/DoublesDataSetIterator.java index 629f282dd..b24bbd964 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/DoublesDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/DoublesDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/DummyBlockDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/DummyBlockDataSetIterator.java index c336378ad..f451e5780 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/DummyBlockDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/DummyBlockDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/DummyBlockMultiDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/DummyBlockMultiDataSetIterator.java index fbc0eeb39..f73e97f49 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/DummyBlockMultiDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/DummyBlockMultiDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/DummyPreProcessor.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/DummyPreProcessor.java index 9e095f928..3bdc377a5 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/DummyPreProcessor.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/DummyPreProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/EarlyTerminationDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/EarlyTerminationDataSetIterator.java index a4a678f2c..0c39177d8 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/EarlyTerminationDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/EarlyTerminationDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/EarlyTerminationMultiDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/EarlyTerminationMultiDataSetIterator.java index 324d112c7..690d7a858 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/EarlyTerminationMultiDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/EarlyTerminationMultiDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/ExistingDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/ExistingDataSetIterator.java index d2bbbf101..3a65f6ed9 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/ExistingDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/ExistingDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/FileSplitDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/FileSplitDataSetIterator.java index b3a6503ca..0a4bf31fd 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/FileSplitDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/FileSplitDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/FloatsDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/FloatsDataSetIterator.java index bd55fa7c2..66d51945e 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/FloatsDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/FloatsDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/INDArrayDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/INDArrayDataSetIterator.java index f8d462a1f..777b4460d 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/INDArrayDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/INDArrayDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/IteratorDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/IteratorDataSetIterator.java index 23429037b..690ba0db7 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/IteratorDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/IteratorDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/IteratorMultiDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/IteratorMultiDataSetIterator.java index 822701d83..9c0ef7ec2 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/IteratorMultiDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/IteratorMultiDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/JointMultiDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/JointMultiDataSetIterator.java index 59afb857a..407da24f4 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/JointMultiDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/JointMultiDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/MultiDataSetIteratorSplitter.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/MultiDataSetIteratorSplitter.java index effa77f05..9173b2aa9 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/MultiDataSetIteratorSplitter.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/MultiDataSetIteratorSplitter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/MultiDataSetWrapperIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/MultiDataSetWrapperIterator.java index 7f406a59f..fa40f26af 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/MultiDataSetWrapperIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/MultiDataSetWrapperIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/MultipleEpochsIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/MultipleEpochsIterator.java index 592aefcd6..87faf3eae 100755 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/MultipleEpochsIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/MultipleEpochsIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/RandomDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/RandomDataSetIterator.java index 5714953ae..ca61cd55d 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/RandomDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/RandomDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/RandomMultiDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/RandomMultiDataSetIterator.java index 14564441a..86fc318b8 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/RandomMultiDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/RandomMultiDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/ReconstructionDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/ReconstructionDataSetIterator.java index 320477d8e..ad442df75 100755 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/ReconstructionDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/ReconstructionDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/SamplingDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/SamplingDataSetIterator.java index 32e4c61d3..3046eb018 100755 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/SamplingDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/SamplingDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/ScrollableDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/ScrollableDataSetIterator.java index 40039f09e..d4f08b428 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/ScrollableDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/ScrollableDataSetIterator.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.datasets.iterator; import lombok.val; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/ScrollableMultiDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/ScrollableMultiDataSetIterator.java index 5942f77f3..c2201a420 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/ScrollableMultiDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/ScrollableMultiDataSetIterator.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.datasets.iterator; import lombok.val; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/WorkspacesShieldDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/WorkspacesShieldDataSetIterator.java index f0126be81..040d84408 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/WorkspacesShieldDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/WorkspacesShieldDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/callbacks/DataSetCallback.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/callbacks/DataSetCallback.java index c3edb0392..61f801e9e 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/callbacks/DataSetCallback.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/callbacks/DataSetCallback.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.callbacks; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/callbacks/DataSetDeserializer.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/callbacks/DataSetDeserializer.java index 9d4ace225..e064bd9ea 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/callbacks/DataSetDeserializer.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/callbacks/DataSetDeserializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.callbacks; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/callbacks/DefaultCallback.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/callbacks/DefaultCallback.java index 10397c014..6c70bd4da 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/callbacks/DefaultCallback.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/callbacks/DefaultCallback.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.callbacks; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/callbacks/FileCallback.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/callbacks/FileCallback.java index 651220647..1da37d565 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/callbacks/FileCallback.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/callbacks/FileCallback.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.callbacks; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/callbacks/InterleavedDataSetCallback.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/callbacks/InterleavedDataSetCallback.java index d0bf94f32..7a63ee6e6 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/callbacks/InterleavedDataSetCallback.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/callbacks/InterleavedDataSetCallback.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.callbacks; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/file/BaseFileIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/file/BaseFileIterator.java index a0cabdf7c..0ddc984f3 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/file/BaseFileIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/file/BaseFileIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.file; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/file/FileDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/file/FileDataSetIterator.java index 714f1a22c..46b586052 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/file/FileDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/file/FileDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.file; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/file/FileMultiDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/file/FileMultiDataSetIterator.java index 803223cd5..24c6c30ee 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/file/FileMultiDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/file/FileMultiDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.file; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/impl/BenchmarkDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/impl/BenchmarkDataSetIterator.java index 5dd8ebc9c..5ddd1fea5 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/impl/BenchmarkDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/impl/BenchmarkDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.impl; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/impl/BenchmarkMultiDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/impl/BenchmarkMultiDataSetIterator.java index ca067b221..a9680ca2d 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/impl/BenchmarkMultiDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/impl/BenchmarkMultiDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.impl; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/impl/ListDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/impl/ListDataSetIterator.java index 8b592c598..3025eabd6 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/impl/ListDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/impl/ListDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.impl; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/impl/SingletonDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/impl/SingletonDataSetIterator.java index cb9170635..8cff57da6 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/impl/SingletonDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/impl/SingletonDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.impl; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/impl/SingletonMultiDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/impl/SingletonMultiDataSetIterator.java index 9357975f5..d3b823adc 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/impl/SingletonMultiDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/impl/SingletonMultiDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.impl; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/loader/DataSetLoaderIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/loader/DataSetLoaderIterator.java index 18ca8ca5c..93ec4679c 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/loader/DataSetLoaderIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/loader/DataSetLoaderIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.loader; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/loader/MultiDataSetLoaderIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/loader/MultiDataSetLoaderIterator.java index faba56093..870ce203d 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/loader/MultiDataSetLoaderIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/loader/MultiDataSetLoaderIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.loader; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/parallel/BaseParallelDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/parallel/BaseParallelDataSetIterator.java index 714bcdfd1..505006ec9 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/parallel/BaseParallelDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/parallel/BaseParallelDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.parallel; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/parallel/FileSplitParallelDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/parallel/FileSplitParallelDataSetIterator.java index 02f2c4eb0..5b2ad1fc2 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/parallel/FileSplitParallelDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/parallel/FileSplitParallelDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.parallel; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/parallel/JointParallelDataSetIterator.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/parallel/JointParallelDataSetIterator.java index 13da6ac0e..9a59d944f 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/parallel/JointParallelDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/parallel/JointParallelDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.parallel; diff --git a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/parallel/MultiBoolean.java b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/parallel/MultiBoolean.java index df8331bfc..5315c898f 100644 --- a/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/parallel/MultiBoolean.java +++ b/deeplearning4j/deeplearning4j-data/deeplearning4j-utility-iterators/src/main/java/org/deeplearning4j/datasets/iterator/parallel/MultiBoolean.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.datasets.iterator.parallel; diff --git a/deeplearning4j/deeplearning4j-data/pom.xml b/deeplearning4j/deeplearning4j-data/pom.xml index bcf4d3355..851a753f7 100644 --- a/deeplearning4j/deeplearning4j-data/pom.xml +++ b/deeplearning4j/deeplearning4j-data/pom.xml @@ -1,38 +1,55 @@ - + + + + + + 4.0.0 - deeplearning4j-parent org.deeplearning4j 1.0.0-SNAPSHOT - 4.0.0 deeplearning4j-data pom deeplearning4j-data + deeplearning4j-datavec-iterators deeplearning4j-datasets deeplearning4j-utility-iterators + + + + org.nd4j + nd4j-api + ${nd4j.version} + + + + test-nd4j-native @@ -41,5 +58,4 @@ test-nd4j-cuda-11.0 - diff --git a/deeplearning4j/deeplearning4j-dataimport-solrj/pom.xml b/deeplearning4j/deeplearning4j-dataimport-solrj/pom.xml index 15c3c0715..cd1c59066 100644 --- a/deeplearning4j/deeplearning4j-dataimport-solrj/pom.xml +++ b/deeplearning4j/deeplearning4j-dataimport-solrj/pom.xml @@ -1,31 +1,37 @@ + - + - - deeplearning4j-dataimport-solrj 4.0.0 + - deeplearning4j-parent org.deeplearning4j + deeplearning4j-parent 1.0.0-SNAPSHOT + + deeplearning4j-dataimport-solrj jar + 1.10.1 @@ -37,7 +43,9 @@ org.apache.maven.plugins maven-surefire-plugin - -Ddtype=float -Dfile.encoding=UTF-8 -Xmx8g -Dtest.solr.allowed.securerandom=NativePRNG + -Ddtype=float -Dfile.encoding=UTF-8 -Xmx8g + -Dtest.solr.allowed.securerandom=NativePRNG + *.java @@ -50,54 +58,44 @@ - org.apache.solr solr-solrj ${lucene-solr.version} - org.slf4j - slf4j-api + slf4j-api - org.nd4j nd4j-api ${nd4j.version} - org.deeplearning4j deeplearning4j-nn ${project.version} - - junit - junit - test + junit - org.apache.solr solr-test-framework ${lucene-solr.version} test - org.apache.solr solr-core ${lucene-solr.version} test - ch.qos.logback - logback-classic + logback-classic test @@ -114,7 +112,6 @@ - test-nd4j-cuda-11.0 diff --git a/deeplearning4j/deeplearning4j-dataimport-solrj/src/main/java/org/deeplearning4j/nn/dataimport/solr/client/solrj/io/stream/TupleStreamDataSetIterator.java b/deeplearning4j/deeplearning4j-dataimport-solrj/src/main/java/org/deeplearning4j/nn/dataimport/solr/client/solrj/io/stream/TupleStreamDataSetIterator.java index 106c9fd3f..2bf5bf355 100644 --- a/deeplearning4j/deeplearning4j-dataimport-solrj/src/main/java/org/deeplearning4j/nn/dataimport/solr/client/solrj/io/stream/TupleStreamDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-dataimport-solrj/src/main/java/org/deeplearning4j/nn/dataimport/solr/client/solrj/io/stream/TupleStreamDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.dataimport.solr.client.solrj.io.stream; diff --git a/deeplearning4j/deeplearning4j-dataimport-solrj/src/test/java/org/deeplearning4j/nn/dataimport/solr/client/solrj/io/stream/TupleStreamDataSetIteratorTest.java b/deeplearning4j/deeplearning4j-dataimport-solrj/src/test/java/org/deeplearning4j/nn/dataimport/solr/client/solrj/io/stream/TupleStreamDataSetIteratorTest.java index b0757e67f..5b0f93156 100644 --- a/deeplearning4j/deeplearning4j-dataimport-solrj/src/test/java/org/deeplearning4j/nn/dataimport/solr/client/solrj/io/stream/TupleStreamDataSetIteratorTest.java +++ b/deeplearning4j/deeplearning4j-dataimport-solrj/src/test/java/org/deeplearning4j/nn/dataimport/solr/client/solrj/io/stream/TupleStreamDataSetIteratorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.dataimport.solr.client.solrj.io.stream; diff --git a/deeplearning4j/deeplearning4j-dataimport-solrj/src/test/resources/solr/configsets/mini/conf/schema.xml b/deeplearning4j/deeplearning4j-dataimport-solrj/src/test/resources/solr/configsets/mini/conf/schema.xml index 6441ed92f..28bdcaed9 100644 --- a/deeplearning4j/deeplearning4j-dataimport-solrj/src/test/resources/solr/configsets/mini/conf/schema.xml +++ b/deeplearning4j/deeplearning4j-dataimport-solrj/src/test/resources/solr/configsets/mini/conf/schema.xml @@ -1,19 +1,21 @@ - + diff --git a/deeplearning4j/deeplearning4j-dataimport-solrj/src/test/resources/solr/configsets/mini/conf/solrconfig.xml b/deeplearning4j/deeplearning4j-dataimport-solrj/src/test/resources/solr/configsets/mini/conf/solrconfig.xml index 4987c5420..8c9a3dc20 100644 --- a/deeplearning4j/deeplearning4j-dataimport-solrj/src/test/resources/solr/configsets/mini/conf/solrconfig.xml +++ b/deeplearning4j/deeplearning4j-dataimport-solrj/src/test/resources/solr/configsets/mini/conf/solrconfig.xml @@ -1,19 +1,21 @@ - + + + + + + 4.0.0 - - deeplearning4j-scaleout org.deeplearning4j + deeplearning4j-scaleout 1.0.0-SNAPSHOT ../deeplearning4j-scaleout/pom.xml - 4.0.0 deeplearning4j-graph @@ -32,25 +38,20 @@ deeplearning4j-core ${project.version} - org.threadly threadly ${threadly.version} - junit junit - test - ch.qos.logback logback-classic test - org.deeplearning4j deeplearning4j-common-tests @@ -67,5 +68,4 @@ test-nd4j-cuda-11.0 - diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/api/BaseGraph.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/api/BaseGraph.java index ad9ea8c43..ce315585c 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/api/BaseGraph.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/api/BaseGraph.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.api; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/api/Edge.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/api/Edge.java index bf551eef2..0841dda73 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/api/Edge.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/api/Edge.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.api; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/api/IGraph.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/api/IGraph.java index 6b8385448..152d32063 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/api/IGraph.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/api/IGraph.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.api; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/api/IVertexSequence.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/api/IVertexSequence.java index 5859a2359..2b1578b5f 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/api/IVertexSequence.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/api/IVertexSequence.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.api; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/api/NoEdgeHandling.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/api/NoEdgeHandling.java index 808cca6e3..ed62bc2cf 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/api/NoEdgeHandling.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/api/NoEdgeHandling.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.api; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/api/Vertex.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/api/Vertex.java index ef0829794..674a2e166 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/api/Vertex.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/api/Vertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.api; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/data/EdgeLineProcessor.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/data/EdgeLineProcessor.java index a99177cae..aec9f4bfd 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/data/EdgeLineProcessor.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/data/EdgeLineProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.data; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/data/GraphLoader.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/data/GraphLoader.java index 3733c7802..2ac053bb6 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/data/GraphLoader.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/data/GraphLoader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.data; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/data/VertexLoader.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/data/VertexLoader.java index 998dca0e8..86e2cd12c 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/data/VertexLoader.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/data/VertexLoader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.data; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/data/impl/DelimitedEdgeLineProcessor.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/data/impl/DelimitedEdgeLineProcessor.java index 6a6c1b8e2..d87ea0ae5 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/data/impl/DelimitedEdgeLineProcessor.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/data/impl/DelimitedEdgeLineProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.data.impl; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/data/impl/DelimitedVertexLoader.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/data/impl/DelimitedVertexLoader.java index c47f5d9fb..35816a176 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/data/impl/DelimitedVertexLoader.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/data/impl/DelimitedVertexLoader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.data.impl; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/data/impl/WeightedEdgeLineProcessor.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/data/impl/WeightedEdgeLineProcessor.java index e0620ed2c..4f73e12e2 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/data/impl/WeightedEdgeLineProcessor.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/data/impl/WeightedEdgeLineProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.data.impl; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/exception/NoEdgesException.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/exception/NoEdgesException.java index 383b5f1f9..ab0b99d09 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/exception/NoEdgesException.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/exception/NoEdgesException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.exception; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/exception/ParseException.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/exception/ParseException.java index c1efdc258..a677d1a9e 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/exception/ParseException.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/exception/ParseException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.exception; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/graph/Graph.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/graph/Graph.java index 76c9a710f..58f3b31d1 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/graph/Graph.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/graph/Graph.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.graph; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/graph/VertexSequence.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/graph/VertexSequence.java index 4622159ad..18983e4aa 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/graph/VertexSequence.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/graph/VertexSequence.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.graph; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/iterator/GraphWalkIterator.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/iterator/GraphWalkIterator.java index 04f019906..0cd8175a5 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/iterator/GraphWalkIterator.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/iterator/GraphWalkIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.iterator; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/iterator/RandomWalkIterator.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/iterator/RandomWalkIterator.java index fb5f3a442..179595653 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/iterator/RandomWalkIterator.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/iterator/RandomWalkIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.iterator; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/iterator/WeightedRandomWalkIterator.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/iterator/WeightedRandomWalkIterator.java index f55d0104f..281a0a5f9 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/iterator/WeightedRandomWalkIterator.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/iterator/WeightedRandomWalkIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.iterator; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/iterator/parallel/GraphWalkIteratorProvider.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/iterator/parallel/GraphWalkIteratorProvider.java index c66bcf2e2..419d96fb0 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/iterator/parallel/GraphWalkIteratorProvider.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/iterator/parallel/GraphWalkIteratorProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.iterator.parallel; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/iterator/parallel/RandomWalkGraphIteratorProvider.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/iterator/parallel/RandomWalkGraphIteratorProvider.java index 04c882891..a9f8b82b7 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/iterator/parallel/RandomWalkGraphIteratorProvider.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/iterator/parallel/RandomWalkGraphIteratorProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.iterator.parallel; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/iterator/parallel/WeightedRandomWalkGraphIteratorProvider.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/iterator/parallel/WeightedRandomWalkGraphIteratorProvider.java index 004aab2de..f593c967c 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/iterator/parallel/WeightedRandomWalkGraphIteratorProvider.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/iterator/parallel/WeightedRandomWalkGraphIteratorProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.iterator.parallel; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/BinaryTree.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/BinaryTree.java index 9e1964011..abf9350a3 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/BinaryTree.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/BinaryTree.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.models; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/GraphVectors.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/GraphVectors.java index 123ed2777..2a02efaa3 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/GraphVectors.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/GraphVectors.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.models; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/deepwalk/DeepWalk.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/deepwalk/DeepWalk.java index 0ba9217ec..1db6e26a8 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/deepwalk/DeepWalk.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/deepwalk/DeepWalk.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.models.deepwalk; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/deepwalk/GraphHuffman.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/deepwalk/GraphHuffman.java index 5ba8b23e5..ef6af2c51 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/deepwalk/GraphHuffman.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/deepwalk/GraphHuffman.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.models.deepwalk; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/embeddings/GraphVectorLookupTable.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/embeddings/GraphVectorLookupTable.java index 9cc6bda94..c034159c5 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/embeddings/GraphVectorLookupTable.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/embeddings/GraphVectorLookupTable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.models.embeddings; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/embeddings/GraphVectorsImpl.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/embeddings/GraphVectorsImpl.java index bfc174f75..72f57432b 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/embeddings/GraphVectorsImpl.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/embeddings/GraphVectorsImpl.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.models.embeddings; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/embeddings/InMemoryGraphLookupTable.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/embeddings/InMemoryGraphLookupTable.java index bb236a9e5..9dae93708 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/embeddings/InMemoryGraphLookupTable.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/embeddings/InMemoryGraphLookupTable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.models.embeddings; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/loader/GraphVectorSerializer.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/loader/GraphVectorSerializer.java index 12127d798..55ac71655 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/loader/GraphVectorSerializer.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/models/loader/GraphVectorSerializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.models.loader; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/vertexfactory/IntegerVertexFactory.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/vertexfactory/IntegerVertexFactory.java index c82f18e86..692c5684d 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/vertexfactory/IntegerVertexFactory.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/vertexfactory/IntegerVertexFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.vertexfactory; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/vertexfactory/StringVertexFactory.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/vertexfactory/StringVertexFactory.java index 9a15029d9..25d448231 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/vertexfactory/StringVertexFactory.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/vertexfactory/StringVertexFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.vertexfactory; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/vertexfactory/VertexFactory.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/vertexfactory/VertexFactory.java index 7b23f3fa8..e5e72d2a2 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/vertexfactory/VertexFactory.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/vertexfactory/VertexFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.vertexfactory; diff --git a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/vertexfactory/VoidVertexFactory.java b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/vertexfactory/VoidVertexFactory.java index 771b4bd6f..36178c784 100644 --- a/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/vertexfactory/VoidVertexFactory.java +++ b/deeplearning4j/deeplearning4j-graph/src/main/java/org/deeplearning4j/graph/vertexfactory/VoidVertexFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.vertexfactory; diff --git a/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/AssertTestsExtendedBaseClass.java b/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/AssertTestsExtendedBaseClass.java index 4aa3f5507..71de6ada3 100644 --- a/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/AssertTestsExtendedBaseClass.java +++ b/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/AssertTestsExtendedBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph; import lombok.extern.slf4j.Slf4j; diff --git a/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/data/TestGraphLoading.java b/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/data/TestGraphLoading.java index b80a8c976..ac44dfbf8 100644 --- a/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/data/TestGraphLoading.java +++ b/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/data/TestGraphLoading.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.data; diff --git a/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/data/TestGraphLoadingWeighted.java b/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/data/TestGraphLoadingWeighted.java index 524fa9de1..9cd4d4f7b 100644 --- a/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/data/TestGraphLoadingWeighted.java +++ b/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/data/TestGraphLoadingWeighted.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.data; diff --git a/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/graph/TestGraph.java b/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/graph/TestGraph.java index 6a241393b..ed42640d1 100644 --- a/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/graph/TestGraph.java +++ b/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/graph/TestGraph.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.graph; diff --git a/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/models/deepwalk/DeepWalkGradientCheck.java b/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/models/deepwalk/DeepWalkGradientCheck.java index eb217b068..716937869 100644 --- a/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/models/deepwalk/DeepWalkGradientCheck.java +++ b/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/models/deepwalk/DeepWalkGradientCheck.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.models.deepwalk; diff --git a/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/models/deepwalk/TestDeepWalk.java b/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/models/deepwalk/TestDeepWalk.java index d589c9a8a..eb336881b 100644 --- a/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/models/deepwalk/TestDeepWalk.java +++ b/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/models/deepwalk/TestDeepWalk.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.models.deepwalk; diff --git a/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/models/deepwalk/TestGraphHuffman.java b/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/models/deepwalk/TestGraphHuffman.java index 76b2af0b5..301ddd240 100644 --- a/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/models/deepwalk/TestGraphHuffman.java +++ b/deeplearning4j/deeplearning4j-graph/src/test/java/org/deeplearning4j/graph/models/deepwalk/TestGraphHuffman.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.graph.models.deepwalk; diff --git a/deeplearning4j/deeplearning4j-manifold/deeplearning4j-tsne/pom.xml b/deeplearning4j/deeplearning4j-manifold/deeplearning4j-tsne/pom.xml index 86c3e23d6..6a4eeaef8 100644 --- a/deeplearning4j/deeplearning4j-manifold/deeplearning4j-tsne/pom.xml +++ b/deeplearning4j/deeplearning4j-manifold/deeplearning4j-tsne/pom.xml @@ -1,37 +1,38 @@ - + + + + + + 4.0.0 - - deeplearning4j-manifold org.deeplearning4j + deeplearning4j-manifold 1.0.0-SNAPSHOT - 4.0.0 deeplearning4j-tsne jar deeplearning4j-tsne - http://maven.apache.org - - - UTF-8 - @@ -55,7 +56,6 @@ nd4j-api ${nd4j.version} - org.deeplearning4j deeplearning4j-common-tests diff --git a/deeplearning4j/deeplearning4j-manifold/deeplearning4j-tsne/src/main/java/org/deeplearning4j/plot/BarnesHutTsne.java b/deeplearning4j/deeplearning4j-manifold/deeplearning4j-tsne/src/main/java/org/deeplearning4j/plot/BarnesHutTsne.java index 8cd984044..9532b15cd 100644 --- a/deeplearning4j/deeplearning4j-manifold/deeplearning4j-tsne/src/main/java/org/deeplearning4j/plot/BarnesHutTsne.java +++ b/deeplearning4j/deeplearning4j-manifold/deeplearning4j-tsne/src/main/java/org/deeplearning4j/plot/BarnesHutTsne.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.plot; diff --git a/deeplearning4j/deeplearning4j-manifold/deeplearning4j-tsne/src/main/java/org/deeplearning4j/plot/Tsne.java b/deeplearning4j/deeplearning4j-manifold/deeplearning4j-tsne/src/main/java/org/deeplearning4j/plot/Tsne.java index 18061674f..00947b027 100644 --- a/deeplearning4j/deeplearning4j-manifold/deeplearning4j-tsne/src/main/java/org/deeplearning4j/plot/Tsne.java +++ b/deeplearning4j/deeplearning4j-manifold/deeplearning4j-tsne/src/main/java/org/deeplearning4j/plot/Tsne.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.plot; diff --git a/deeplearning4j/deeplearning4j-manifold/deeplearning4j-tsne/src/test/java/org/deeplearning4j/plot/Test6058.java b/deeplearning4j/deeplearning4j-manifold/deeplearning4j-tsne/src/test/java/org/deeplearning4j/plot/Test6058.java index 3359e729f..106b9a739 100644 --- a/deeplearning4j/deeplearning4j-manifold/deeplearning4j-tsne/src/test/java/org/deeplearning4j/plot/Test6058.java +++ b/deeplearning4j/deeplearning4j-manifold/deeplearning4j-tsne/src/test/java/org/deeplearning4j/plot/Test6058.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.plot; diff --git a/deeplearning4j/deeplearning4j-manifold/pom.xml b/deeplearning4j/deeplearning4j-manifold/pom.xml index 6e1a8cd42..1a6f0d60b 100644 --- a/deeplearning4j/deeplearning4j-manifold/pom.xml +++ b/deeplearning4j/deeplearning4j-manifold/pom.xml @@ -1,41 +1,43 @@ - + + + + + + 4.0.0 - - deeplearning4j-parent org.deeplearning4j + deeplearning4j-parent 1.0.0-SNAPSHOT - 4.0.0 deeplearning4j-manifold pom deeplearning4j-manifold + deeplearning4j-tsne - - - - - test-nd4j-native diff --git a/deeplearning4j/deeplearning4j-modelexport-solr/pom.xml b/deeplearning4j/deeplearning4j-modelexport-solr/pom.xml index 13b7ee45d..5c49d4121 100644 --- a/deeplearning4j/deeplearning4j-modelexport-solr/pom.xml +++ b/deeplearning4j/deeplearning4j-modelexport-solr/pom.xml @@ -1,31 +1,37 @@ + - + - - deeplearning4j-modelexport-solr 4.0.0 + - deeplearning4j-parent org.deeplearning4j + deeplearning4j-parent 1.0.0-SNAPSHOT + + deeplearning4j-modelexport-solr jar + @@ -33,7 +39,9 @@ org.apache.maven.plugins maven-surefire-plugin - -Ddtype=float -Dfile.encoding=UTF-8 -Xmx8g -Dtest.solr.allowed.securerandom=NativePRNG + -Ddtype=float -Dfile.encoding=UTF-8 -Xmx8g + -Dtest.solr.allowed.securerandom=NativePRNG + *.java @@ -134,7 +142,7 @@ com.google.protobuf protobuf-java - ${google.protobuf.version} + ${google.protobuf.solr.version} com.tdunning @@ -277,8 +285,7 @@ junit - junit - test + junit org.apache.solr @@ -300,7 +307,6 @@ - test-nd4j-cuda-11.0 @@ -313,5 +319,4 @@ - diff --git a/deeplearning4j/deeplearning4j-modelexport-solr/src/main/java/org/deeplearning4j/nn/modelexport/solr/handler/ModelTupleStream.java b/deeplearning4j/deeplearning4j-modelexport-solr/src/main/java/org/deeplearning4j/nn/modelexport/solr/handler/ModelTupleStream.java index 2dd353dec..3c8f53a26 100644 --- a/deeplearning4j/deeplearning4j-modelexport-solr/src/main/java/org/deeplearning4j/nn/modelexport/solr/handler/ModelTupleStream.java +++ b/deeplearning4j/deeplearning4j-modelexport-solr/src/main/java/org/deeplearning4j/nn/modelexport/solr/handler/ModelTupleStream.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelexport.solr.handler; diff --git a/deeplearning4j/deeplearning4j-modelexport-solr/src/main/java/org/deeplearning4j/nn/modelexport/solr/ltr/model/ScoringModel.java b/deeplearning4j/deeplearning4j-modelexport-solr/src/main/java/org/deeplearning4j/nn/modelexport/solr/ltr/model/ScoringModel.java index 60aac48c2..3c70ff120 100644 --- a/deeplearning4j/deeplearning4j-modelexport-solr/src/main/java/org/deeplearning4j/nn/modelexport/solr/ltr/model/ScoringModel.java +++ b/deeplearning4j/deeplearning4j-modelexport-solr/src/main/java/org/deeplearning4j/nn/modelexport/solr/ltr/model/ScoringModel.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelexport.solr.ltr.model; diff --git a/deeplearning4j/deeplearning4j-modelexport-solr/src/test/java/org/deeplearning4j/nn/modelexport/solr/handler/ModelTupleStreamIntegrationTest.java b/deeplearning4j/deeplearning4j-modelexport-solr/src/test/java/org/deeplearning4j/nn/modelexport/solr/handler/ModelTupleStreamIntegrationTest.java index 31633889a..0c2c9efa8 100644 --- a/deeplearning4j/deeplearning4j-modelexport-solr/src/test/java/org/deeplearning4j/nn/modelexport/solr/handler/ModelTupleStreamIntegrationTest.java +++ b/deeplearning4j/deeplearning4j-modelexport-solr/src/test/java/org/deeplearning4j/nn/modelexport/solr/handler/ModelTupleStreamIntegrationTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelexport.solr.handler; diff --git a/deeplearning4j/deeplearning4j-modelexport-solr/src/test/java/org/deeplearning4j/nn/modelexport/solr/handler/ModelTupleStreamTest.java b/deeplearning4j/deeplearning4j-modelexport-solr/src/test/java/org/deeplearning4j/nn/modelexport/solr/handler/ModelTupleStreamTest.java index dbbe6b880..5ac4936dd 100644 --- a/deeplearning4j/deeplearning4j-modelexport-solr/src/test/java/org/deeplearning4j/nn/modelexport/solr/handler/ModelTupleStreamTest.java +++ b/deeplearning4j/deeplearning4j-modelexport-solr/src/test/java/org/deeplearning4j/nn/modelexport/solr/handler/ModelTupleStreamTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelexport.solr.handler; diff --git a/deeplearning4j/deeplearning4j-modelexport-solr/src/test/java/org/deeplearning4j/nn/modelexport/solr/ltr/model/ScoringModelTest.java b/deeplearning4j/deeplearning4j-modelexport-solr/src/test/java/org/deeplearning4j/nn/modelexport/solr/ltr/model/ScoringModelTest.java index 37d58312d..65a50c9f4 100644 --- a/deeplearning4j/deeplearning4j-modelexport-solr/src/test/java/org/deeplearning4j/nn/modelexport/solr/ltr/model/ScoringModelTest.java +++ b/deeplearning4j/deeplearning4j-modelexport-solr/src/test/java/org/deeplearning4j/nn/modelexport/solr/ltr/model/ScoringModelTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelexport.solr.ltr.model; diff --git a/deeplearning4j/deeplearning4j-modelexport-solr/src/test/resources/solr/configsets/mini-expressible/conf/schema.xml b/deeplearning4j/deeplearning4j-modelexport-solr/src/test/resources/solr/configsets/mini-expressible/conf/schema.xml index 42af336ed..28bdcaed9 100644 --- a/deeplearning4j/deeplearning4j-modelexport-solr/src/test/resources/solr/configsets/mini-expressible/conf/schema.xml +++ b/deeplearning4j/deeplearning4j-modelexport-solr/src/test/resources/solr/configsets/mini-expressible/conf/schema.xml @@ -1,19 +1,21 @@ - + diff --git a/deeplearning4j/deeplearning4j-modelexport-solr/src/test/resources/solr/configsets/mini-expressible/conf/solrconfig.xml b/deeplearning4j/deeplearning4j-modelexport-solr/src/test/resources/solr/configsets/mini-expressible/conf/solrconfig.xml index 61e5b4ea9..9ec535a8a 100644 --- a/deeplearning4j/deeplearning4j-modelexport-solr/src/test/resources/solr/configsets/mini-expressible/conf/solrconfig.xml +++ b/deeplearning4j/deeplearning4j-modelexport-solr/src/test/resources/solr/configsets/mini-expressible/conf/solrconfig.xml @@ -1,19 +1,21 @@ - + + + + + - - deeplearning4j-modelimport 4.0.0 + - deeplearning4j-parent org.deeplearning4j + deeplearning4j-parent 1.0.0-SNAPSHOT + + deeplearning4j-modelimport jar org.slf4j - slf4j-api + slf4j-api - org.nd4j nd4j-api ${nd4j.version} - com.google.code.gson gson ${gson.version} - org.deeplearning4j deeplearning4j-nn ${project.version} - org.nd4j jackson ${nd4j.version} - org.bytedeco javacpp ${javacpp.version} - org.bytedeco hdf5-platform ${hdf5.version}-${javacpp-presets.version} - org.projectlombok lombok ${lombok.version} provided - org.deeplearning4j deeplearning4j-common ${project.version} - junit - junit - test + junit org.deeplearning4j @@ -92,31 +89,27 @@ ${project.version} test - ch.qos.logback - logback-classic + logback-classic test - org.deeplearning4j deeplearning4j-datavec-iterators ${project.version} test - org.nd4j nd4j-tensorflow ${nd4j.version} test - - org.datavec - datavec-python - ${datavec.version} + org.nd4j + python4j-numpy + ${project.version} test @@ -133,7 +126,6 @@ - test-nd4j-cuda-11.0 @@ -146,5 +138,4 @@ - diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/Hdf5Archive.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/Hdf5Archive.java index 73a9a26ea..e956f91d4 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/Hdf5Archive.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/Hdf5Archive.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/KerasLayer.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/KerasLayer.java index 056465dac..8cb90b6e1 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/KerasLayer.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/KerasLayer.java @@ -1,21 +1,24 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras; +import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.deeplearning4j.nn.conf.InputPreProcessor; @@ -56,6 +59,7 @@ public class KerasLayer { protected int[] inputShape; // Keras layer input shape protected DimOrder dimOrder; // Keras layer backend dimension order protected List inboundLayerNames; // List of inbound layers + protected List outboundLayerNames; //List of outbound layers protected Layer layer; // Resulting DL4J layer protected GraphVertex vertex; // Resulting DL4J vertex protected Map weights; // Weights @@ -64,7 +68,8 @@ public class KerasLayer { protected double dropout = 1.0; // Dropout protected Integer kerasMajorVersion = 2; // Set 2 as default for now protected KerasLayerConfiguration conf; - + @Getter + protected Map originalLayerConfig; /** * Constructor with Keras version only. @@ -78,6 +83,7 @@ public class KerasLayer { this.inputShape = null; this.dimOrder = DimOrder.NONE; this.inboundLayerNames = new ArrayList<>(); + this.outboundLayerNames = new ArrayList<>(); this.layer = null; this.vertex = null; this.weights = null; @@ -96,6 +102,7 @@ public class KerasLayer { this.inputShape = null; this.dimOrder = DimOrder.NONE; this.inboundLayerNames = new ArrayList<>(); + this.outboundLayerNames = new ArrayList<>(); this.layer = null; this.vertex = null; this.weights = null; @@ -124,6 +131,7 @@ public class KerasLayer { */ protected KerasLayer(Map layerConfig, boolean enforceTrainingConfig) throws InvalidKerasConfigurationException, UnsupportedKerasConfigurationException { + this.originalLayerConfig = layerConfig; this.kerasMajorVersion = (Integer) layerConfig.get(LAYER_FIELD_KERAS_VERSION); this.conf = KerasLayerConfigurationFactory.get(this.kerasMajorVersion); this.className = KerasLayerUtils.getClassNameFromConfig(layerConfig, conf); @@ -135,6 +143,7 @@ public class KerasLayer { this.inputShape = KerasLayerUtils.getInputShapeFromConfig(layerConfig, conf); this.dimOrder = KerasLayerUtils.getDimOrderFromConfig(layerConfig, conf); this.inboundLayerNames = KerasLayerUtils.getInboundLayerNamesFromConfig(layerConfig, conf); + this.outboundLayerNames = KerasLayerUtils.getOutboundLayerNamesFromConfig(layerConfig,conf); this.layer = null; this.vertex = null; this.weights = null; @@ -449,10 +458,29 @@ public class KerasLayer { public InputPreProcessor getInputPreprocessor(InputType... inputType) throws InvalidKerasConfigurationException { InputPreProcessor preprocessor = null; if (this.layer != null) { - if (inputType.length > 1) - throw new InvalidKerasConfigurationException( - "Keras layer of type \"" + this.className + "\" accepts only one input"); - preprocessor = this.layer.getPreProcessorForInputType(inputType[0]); + if (inputType.length > 1) { + InputType toUse = null; + for(int i = 0; i < inputType.length; i++) { + if(inputType[i] != null) { + if(toUse == null) + toUse = inputType[i]; + else if(!toUse.equals(inputType[i])) { + throw new InvalidKerasConfigurationException( + "Keras layer of type \"" + this.className + "\" accepts only one input"); + } + } + } + + if(toUse == null) { + throw new InvalidKerasConfigurationException( + "Keras layer of type \"" + this.className + " did not have any inputs!"); + } + + preprocessor = this.layer.getPreProcessorForInputType(toUse); + + } + else + preprocessor = this.layer.getPreProcessorForInputType(inputType[0]); } return preprocessor; } diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/KerasModel.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/KerasModel.java index 7fefc6af6..baade796e 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/KerasModel.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/KerasModel.java @@ -1,27 +1,31 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras; import lombok.Data; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.set.ListOrderedSet; import org.deeplearning4j.nn.conf.*; import org.deeplearning4j.nn.conf.graph.PreprocessorVertex; import org.deeplearning4j.nn.conf.inputs.InputType; import org.deeplearning4j.nn.conf.layers.Layer; +import org.deeplearning4j.nn.conf.layers.samediff.SameDiffLambdaLayer; import org.deeplearning4j.nn.graph.ComputationGraph; import org.deeplearning4j.nn.modelimport.keras.config.KerasLayerConfiguration; import org.deeplearning4j.nn.modelimport.keras.config.KerasModelConfiguration; @@ -29,6 +33,7 @@ import org.deeplearning4j.nn.modelimport.keras.exceptions.InvalidKerasConfigurat import org.deeplearning4j.nn.modelimport.keras.exceptions.UnsupportedKerasConfigurationException; import org.deeplearning4j.nn.modelimport.keras.layers.KerasInput; import org.deeplearning4j.nn.modelimport.keras.layers.KerasLoss; +import org.deeplearning4j.nn.modelimport.keras.layers.core.KerasLambda; import org.deeplearning4j.nn.modelimport.keras.layers.recurrent.KerasLSTM; import org.deeplearning4j.nn.modelimport.keras.layers.recurrent.KerasRnnUtils; import org.deeplearning4j.nn.modelimport.keras.layers.recurrent.KerasSimpleRnn; @@ -37,14 +42,16 @@ import org.deeplearning4j.nn.modelimport.keras.utils.KerasModelBuilder; import org.deeplearning4j.nn.modelimport.keras.utils.KerasModelUtils; import org.deeplearning4j.nn.modelimport.keras.utils.KerasOptimizerUtils; import org.deeplearning4j.util.ConvolutionUtils; +import org.nd4j.autodiff.samediff.internal.DependencyList; +import org.nd4j.autodiff.samediff.internal.DependencyTracker; +import org.nd4j.common.primitives.Counter; import org.nd4j.common.primitives.Pair; import org.nd4j.linalg.learning.config.IUpdater; +import org.nd4j.shade.guava.collect.Lists; +import org.tensorflow.framework.NodeDef; import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import static org.deeplearning4j.nn.modelimport.keras.KerasLayer.customLayers; import static org.deeplearning4j.nn.modelimport.keras.KerasLayer.lambdaLayers; @@ -128,9 +135,9 @@ public class KerasModel { throw new InvalidKerasConfigurationException( "Could not determine Keras model class (no " + config.getFieldClassName() + " field found)"); this.className = (String) modelConfig.get(config.getFieldClassName()); - if (!this.className.equals(config.getFieldClassNameModel())) + if (!this.className.equals(config.getFieldClassNameModel()) && !this.className.equals(config.getFieldNameClassFunctional())) throw new InvalidKerasConfigurationException( - "Expected model class name " + config.getFieldClassNameModel() + " (found " + this.className + ")"); + "Expected model class name " + config.getFieldClassNameModel() + " or " + config.getFieldNameClassFunctional() + " (found " + this.className + ")"); /* Retrieve lists of input and output layers, layer configurations. */ @@ -228,253 +235,405 @@ public class KerasModel { if (layer instanceof KerasSimpleRnn) this.useTruncatedBPTT = this.useTruncatedBPTT || ((KerasSimpleRnn) layer).getUnroll(); } - return new Pair<>(layers, layersOrdered); - } - Map getOptimizerConfig(Map trainingConfig) throws InvalidKerasConfigurationException{ - if (!trainingConfig.containsKey(config.getOptimizerConfig())) - throw new InvalidKerasConfigurationException("Field " - + config.getOptimizerConfig() + " missing from layer config"); - return (Map) trainingConfig.get(config.getOptimizerConfig()); - } + List names = new ArrayList<>(); + //set of names of lambda nodes + Set lambdaNames = new HashSet<>(); - /** - * Helper method called from constructor. Incorporate training configuration details into model. - * Includes loss function, optimization details, etc. - * - * @param trainingConfigJson JSON containing Keras training configuration - * @throws IOException IO exception - * @throws InvalidKerasConfigurationException Invalid Keras config - * @throws UnsupportedKerasConfigurationException Unsupported Keras config - */ - void importTrainingConfiguration(String trainingConfigJson) + //node inputs by name for looking up which nodes to do replacements for (useful since indices of nodes can change) + Map> nodesOutputToForLambdas = new HashMap<>(); + for(int i = 0; i < layers.size(); i++) { + names.add(layersOrdered.get(i).getLayerName()); + if(layersOrdered.get(i) instanceof KerasLambda) { + lambdaNames.add(layersOrdered.get(i).getLayerName()); + } + } + + Map> replacementNamesForLambda = new HashMap<>(); + Map updatedOrders = new HashMap<>(); + for(int i = 0; i < layersOrdered.size(); i++) { + KerasLayer kerasLayer = layers.get(names.get(i)); + List tempCopyNames = new ArrayList<>(kerasLayer.getInboundLayerNames()); + List removed = new ArrayList<>(); + + for(String input : tempCopyNames) { + //found a lambda where an input occurs, record the index for input + if(lambdaNames.contains(input)) { + if(!nodesOutputToForLambdas.containsKey(input)) { + nodesOutputToForLambdas.put(input,new ArrayList()); + } + + nodesOutputToForLambdas.get(input).add(kerasLayer.getLayerName()); + } + //potential loop found + int indexOfInput = names.indexOf(input); + if(indexOfInput > i) { + KerasLambda originalLambda = (KerasLambda) kerasLayer; + Map configCopy = new HashMap(kerasLayer.originalLayerConfig); + String newName = kerasLayer.getLayerName() + "-" + input; + if(!replacementNamesForLambda.containsKey(originalLambda.layerName)) { + replacementNamesForLambda.put(originalLambda.layerName,new ArrayList()); + } + configCopy.put(kerasLayer.conf.getLAYER_FIELD_NAME(),newName); + replacementNamesForLambda.get(originalLambda.layerName).add(newName); + SameDiffLambdaLayer sameDiffLambdaLayer = (SameDiffLambdaLayer) originalLambda.getSameDiffLayer().clone(); + sameDiffLambdaLayer.setLayerName(newName); + KerasLambda kerasLambda = new KerasLambda(configCopy,sameDiffLambdaLayer); + kerasLambda.layerName = newName; + kerasLambda.setInboundLayerNames(new ArrayList<>(Arrays.asList(input))); + layers.put(newName,kerasLambda); + int indexOfNewLayer = names.indexOf(input) + 1; + updatedOrders.put(indexOfNewLayer,kerasLambda); + names.add(indexOfNewLayer,newName); + removed.add(input); + System.out.println("Found input " + input + " at keras node " + names.get(i) + " with potential cycle."); + + } + } + + kerasLayer.getInboundLayerNames().removeAll(removed); + } + + + + + //update the list with all the new layers + for(Map.Entry newLayers : updatedOrders.entrySet()) { + layersOrdered.add(newLayers.getKey(),newLayers.getValue()); + } + + List oldNames = new ArrayList<>(names); + + names.clear(); + //old names are used for checking distance from old nodes to new ones + //node inputs by name for looking up which nodes to do replacements for (useful since indices of nodes can change) + if(!replacementNamesForLambda.isEmpty()) { + for (Map.Entry> replacementEntry : replacementNamesForLambda.entrySet()) { + List nodesToReplaceInputNamesWith = nodesOutputToForLambdas.get(replacementEntry.getKey()); + Set processed = new HashSet<>(); + for (String nodeName : nodesToReplaceInputNamesWith) { + KerasLayer kerasLayer = layers.get(nodeName); + boolean shouldBeOriginal = true; + if (!processed.isEmpty()) { + for (String process : processed) { + if (kerasLayer.getInboundLayerNames().contains(process)) { + shouldBeOriginal = false; + break; + } + } + } + + List nearestNodes = findNearestNodesTo(replacementEntry.getKey(), nodeName, replacementEntry.getValue(), oldNames, 2); + //if the original isn't in the closest top 2 nodes, then we shouldn't replace it + if (nodesToReplaceInputNamesWith.size() > 1) { + if (!nearestNodes.contains(replacementEntry.getKey())) { + shouldBeOriginal = false; + } + } + + //layers that contain an already processed + //node as an input need modification + if (shouldBeOriginal) { + processed.add(nodeName); + continue; + } + + //replace whatever the final input name is that was last + kerasLayer.getInboundLayerNames().set(kerasLayer.getInboundLayerNames() + .indexOf(replacementEntry.getKey()), nearestNodes.get(0)); + + processed.add(nodeName); + + + } + } + } + + + layers.clear(); + for(KerasLayer kerasLayer : layersOrdered) { + layers.put(kerasLayer.getLayerName(),kerasLayer); + } + + return new Pair<>(layers, layersOrdered); + } + + List findNearestNodesTo(String original,String target,List targetedNodes,List topoSortNodes,int k) { + List ret = new ArrayList<>(); + int idx = topoSortNodes.indexOf(target); + Counter rankByDistance = new Counter<>(); + + for(int i = 0; i < targetedNodes.size(); i++) { + int currIdx = topoSortNodes.indexOf(targetedNodes.get(i)); + int diff = Math.abs(currIdx - idx); + //note we want the top k ranked by the least + rankByDistance.incrementCount(targetedNodes.get(i),-diff); + } + + int currIdx = topoSortNodes.indexOf(original); + int diff = Math.abs(currIdx - idx); + //note we want the top k ranked by the least + rankByDistance.incrementCount(original,-diff); + rankByDistance.keepTopNElements(k); + return rankByDistance.keySetSorted(); + } + + Map getOptimizerConfig(Map trainingConfig) throws InvalidKerasConfigurationException{ + if (!trainingConfig.containsKey(config.getOptimizerConfig())) + throw new InvalidKerasConfigurationException("Field " + + config.getOptimizerConfig() + " missing from layer config"); + return (Map) trainingConfig.get(config.getOptimizerConfig()); + } + + /** + * Helper method called from constructor. Incorporate training configuration details into model. + * Includes loss function, optimization details, etc. + * + * @param trainingConfigJson JSON containing Keras training configuration + * @throws IOException IO exception + * @throws InvalidKerasConfigurationException Invalid Keras config + * @throws UnsupportedKerasConfigurationException Unsupported Keras config + */ + void importTrainingConfiguration(String trainingConfigJson) throws IOException, InvalidKerasConfigurationException, UnsupportedKerasConfigurationException { - Map trainingConfig = KerasModelUtils.parseJsonString(trainingConfigJson); + Map trainingConfig = KerasModelUtils.parseJsonString(trainingConfigJson); - Map optimizerConfig = getOptimizerConfig(trainingConfig); - this.optimizer = KerasOptimizerUtils.mapOptimizer(optimizerConfig); + Map optimizerConfig = getOptimizerConfig(trainingConfig); + this.optimizer = KerasOptimizerUtils.mapOptimizer(optimizerConfig); - /* Add loss layers for each loss function. */ - List lossLayers = new ArrayList<>(); - if (!trainingConfig.containsKey(config.getTrainingLoss())) - throw new InvalidKerasConfigurationException("Could not determine training loss function (no " - + config.getTrainingLoss() + " field found in training config)"); - Object kerasLossObj = trainingConfig.get(config.getTrainingLoss()); + /* Add loss layers for each loss function. */ + List lossLayers = new ArrayList<>(); + if (!trainingConfig.containsKey(config.getTrainingLoss())) + throw new InvalidKerasConfigurationException("Could not determine training loss function (no " + + config.getTrainingLoss() + " field found in training config)"); + Object kerasLossObj = trainingConfig.get(config.getTrainingLoss()); - if (kerasLossObj instanceof String) { - String kerasLoss = (String) kerasLossObj; - for (String outputLayerName : this.outputLayerNames) - lossLayers.add(new KerasLoss(outputLayerName + "_loss", outputLayerName, kerasLoss)); - } else if (kerasLossObj instanceof Map) { - Map kerasLossMap = (Map) kerasLossObj; - for (String outputLayerName : kerasLossMap.keySet()) { - Object kerasLoss = kerasLossMap.get(outputLayerName); - if (kerasLoss instanceof String) - lossLayers.add(new KerasLoss(outputLayerName + "_loss", outputLayerName, (String) kerasLoss)); - else - throw new InvalidKerasConfigurationException("Unknown Keras loss " + kerasLoss.toString()); + if (kerasLossObj instanceof String) { + String kerasLoss = (String) kerasLossObj; + for (String outputLayerName : this.outputLayerNames) + lossLayers.add(new KerasLoss(outputLayerName + "_loss", outputLayerName, kerasLoss)); + } else if (kerasLossObj instanceof Map) { + Map kerasLossMap = (Map) kerasLossObj; + for (String outputLayerName : kerasLossMap.keySet()) { + Object kerasLoss = kerasLossMap.get(outputLayerName); + if (kerasLoss instanceof String) + lossLayers.add(new KerasLoss(outputLayerName + "_loss", outputLayerName, (String) kerasLoss)); + else + throw new InvalidKerasConfigurationException("Unknown Keras loss " + kerasLoss.toString()); + } + } + this.outputLayerNames.clear(); + + /* Add loss layers to output layer list and layer graph. */ + for (KerasLayer lossLayer : lossLayers) { + this.layersOrdered.add(lossLayer); + this.layers.put(lossLayer.getLayerName(), lossLayer); + this.outputLayerNames.add(lossLayer.getLayerName()); } } - this.outputLayerNames.clear(); - /* Add loss layers to output layer list and layer graph. */ - for (KerasLayer lossLayer : lossLayers) { - this.layersOrdered.add(lossLayer); - this.layers.put(lossLayer.getLayerName(), lossLayer); - this.outputLayerNames.add(lossLayer.getLayerName()); - } - } - - /** - * Helper method called from constructor. Infers and records output type - * for every layer. - */ - Map inferOutputTypes(int[] inputShape) + /** + * Helper method called from constructor. Infers and records output type + * for every layer. + */ + Map inferOutputTypes(int[] inputShape) throws InvalidKerasConfigurationException, UnsupportedKerasConfigurationException { - Map outputTypes = new HashMap<>(); - int kerasLayerIdx = 0; - for (KerasLayer layer : this.layersOrdered) { - InputType outputType; - if (layer instanceof KerasInput) { - if (inputShape != null && layer.inputShape == null) { - layer.inputShape = inputShape; - } - - KerasInput kerasInput = (KerasInput) layer; - Layer layer1 = layersOrdered.get(kerasLayerIdx + 1).layer; - //no dim order, try to pull it from the next layer if there is one - if(ConvolutionUtils.layerHasConvolutionLayout(layer1)) { - CNN2DFormat formatForLayer = ConvolutionUtils.getFormatForLayer(layer1); - if(formatForLayer == CNN2DFormat.NCHW) { - dimOrder = KerasLayer.DimOrder.THEANO; - } else if(formatForLayer == CNN2DFormat.NHWC) { - dimOrder = KerasLayer.DimOrder.TENSORFLOW; - } else { - dimOrder = KerasLayer.DimOrder.NONE; + Map outputTypes = new HashMap<>(); + int kerasLayerIdx = 0; + for (KerasLayer layer : this.layersOrdered) { + InputType outputType; + if (layer instanceof KerasInput) { + if (inputShape != null && layer.inputShape == null) { + layer.inputShape = inputShape; } - } else if(KerasRnnUtils.isRnnLayer(layersOrdered.get(kerasLayerIdx + 1))) { - if(kerasInput.inputShape == null) - kerasInput.inputShape = layersOrdered.get(kerasLayerIdx + 1).inputShape; + + KerasInput kerasInput = (KerasInput) layer; + Layer layer1 = layersOrdered.get(kerasLayerIdx + 1).layer; + //no dim order, try to pull it from the next layer if there is one + if(ConvolutionUtils.layerHasConvolutionLayout(layer1)) { + CNN2DFormat formatForLayer = ConvolutionUtils.getFormatForLayer(layer1); + if(formatForLayer == CNN2DFormat.NCHW) { + dimOrder = KerasLayer.DimOrder.THEANO; + } else if(formatForLayer == CNN2DFormat.NHWC) { + dimOrder = KerasLayer.DimOrder.TENSORFLOW; + } else { + dimOrder = KerasLayer.DimOrder.NONE; + } + } else if(KerasRnnUtils.isRnnLayer(layersOrdered.get(kerasLayerIdx + 1))) { + if(kerasInput.inputShape == null) + kerasInput.inputShape = layersOrdered.get(kerasLayerIdx + 1).inputShape; + } + + if(dimOrder != null) + layer.setDimOrder(dimOrder); + outputType = layer.getOutputType(); + this.truncatedBPTT = ((KerasInput) layer).getTruncatedBptt(); + } else { + List inputTypes = new ArrayList<>(); + int i = 0; + for (String inboundLayerName : layer.getInboundLayerNames()) + if(outputTypes.containsKey(inboundLayerName)) + inputTypes.add(outputTypes.get(inboundLayerName)); + outputType = layer.getOutputType(inputTypes.toArray(new InputType[1])); } - - if(dimOrder != null) - layer.setDimOrder(dimOrder); - outputType = layer.getOutputType(); - this.truncatedBPTT = ((KerasInput) layer).getTruncatedBptt(); - } else { - InputType[] inputTypes = new InputType[layer.getInboundLayerNames().size()]; - int i = 0; - for (String inboundLayerName : layer.getInboundLayerNames()) - inputTypes[i++] = outputTypes.get(inboundLayerName); - outputType = layer.getOutputType(inputTypes); - - + outputTypes.put(layer.getLayerName(), outputType); + kerasLayerIdx++; } - outputTypes.put(layer.getLayerName(), outputType); - kerasLayerIdx++; + + return outputTypes; } - return outputTypes; - } - - /** - * Configure a ComputationGraph from this Keras Model configuration. - * - * @return ComputationGraph - */ - public ComputationGraphConfiguration getComputationGraphConfiguration() + /** + * Configure a ComputationGraph from this Keras Model configuration. + * + * @return ComputationGraph + */ + public ComputationGraphConfiguration getComputationGraphConfiguration() throws InvalidKerasConfigurationException, UnsupportedKerasConfigurationException { - if (!this.className.equals(config.getFieldClassNameModel()) && !this.className.equals(config.getFieldClassNameSequential())) + if (!this.className.equals(config.getFieldClassNameModel()) + && !this.className.equals(config.getFieldClassNameSequential()) + && !this.className.equals(config.getFieldNameClassFunctional())) + throw new InvalidKerasConfigurationException( + "Keras model class name " + this.className + " incompatible with ComputationGraph"); + NeuralNetConfiguration.Builder modelBuilder = new NeuralNetConfiguration.Builder(); - throw new InvalidKerasConfigurationException( - "Keras model class name " + this.className + " incompatible with ComputationGraph"); - NeuralNetConfiguration.Builder modelBuilder = new NeuralNetConfiguration.Builder(); + if (optimizer != null) { + modelBuilder.updater(optimizer); + } - if (optimizer != null) { - modelBuilder.updater(optimizer); - } - - ComputationGraphConfiguration.GraphBuilder graphBuilder = modelBuilder.graphBuilder(); - // NOTE: normally this is disallowed in DL4J. However, in Keras you can create disconnected graph vertices. - // The responsibility for doing this correctly is that of the Keras user. - graphBuilder.allowDisconnected(true); - - - /* Build String array of input layer names, add to ComputationGraph. */ - String[] inputLayerNameArray = new String[this.inputLayerNames.size()]; - this.inputLayerNames.toArray(inputLayerNameArray); - graphBuilder.addInputs(inputLayerNameArray); - - /* Build InputType array of input layer types, add to ComputationGraph. */ - List inputTypeList = new ArrayList<>(); - List initialInputTypes = new ArrayList<>(); - for (String inputLayerName : this.inputLayerNames) { - this.layers.get(inputLayerName); - inputTypeList.add(this.layers.get(inputLayerName).getOutputType()); - - } - - - /* Build String array of output layer names, add to ComputationGraph. */ - String[] outputLayerNameArray = new String[this.outputLayerNames.size()]; - this.outputLayerNames.toArray(outputLayerNameArray); - graphBuilder.setOutputs(outputLayerNameArray); - - Map preprocessors = new HashMap<>(); - - /* Add layersOrdered one at a time. */ - for (KerasLayer layer : this.layersOrdered) { - /* Get inbound layer names. */ - List inboundLayerNames = layer.getInboundLayerNames(); - String[] inboundLayerNamesArray = new String[inboundLayerNames.size()]; - inboundLayerNames.toArray(inboundLayerNamesArray); - - List inboundTypeList = new ArrayList<>(); - - /* Get inbound InputTypes and InputPreProcessor, if necessary. */ - if(!inboundLayerNames.isEmpty()) { - InputType[] inputTypes2 = new InputType[inboundLayerNames.size()]; - int inboundIdx = 0; - for (String layerName : inboundLayerNames) { - KerasLayer prevLayer = layers.get(layerName); - if(prevLayer.isInputPreProcessor()) { - InputType inputType = this.outputTypes.get(layerName); - InputPreProcessor preprocessor = prevLayer.getInputPreprocessor(inputType); - InputType outputType = preprocessor.getOutputType(inputType); - inputTypes2[inboundIdx] = outputType; - inboundIdx++; - } - else { - InputType inputType = this.outputTypes.get(layerName); - inputTypes2[inboundIdx] = inputType; - inboundIdx++; + Map> outputs = new HashMap<>(); + for (KerasLayer layer : Lists.reverse(this.layersOrdered)) { + for(String input : layer.getInboundLayerNames()) { + if(!outputs.containsKey(input)) { + outputs.put(input,new ArrayList()); } - inboundTypeList.add(this.outputTypes.get(layerName)); + outputs.get(input).add(layer.getLayerName()); } } - InputType[] inboundTypeArray = new InputType[inboundTypeList.size()]; - inboundTypeList.toArray(inboundTypeArray); - InputPreProcessor preprocessor = layer.getInputPreprocessor(inboundTypeArray); + ComputationGraphConfiguration.GraphBuilder graphBuilder = modelBuilder.graphBuilder(); + // NOTE: normally this is disallowed in DL4J. However, in Keras you can create disconnected graph vertices. + // The responsibility for doing this correctly is that of the Keras user. + graphBuilder.allowDisconnected(true); + + + /* Build String array of input layer names, add to ComputationGraph. */ + String[] inputLayerNameArray = new String[this.inputLayerNames.size()]; + this.inputLayerNames.toArray(inputLayerNameArray); + graphBuilder.addInputs(inputLayerNameArray); + + /* Build InputType array of input layer types, add to ComputationGraph. */ + List inputTypeList = new ArrayList<>(); + List initialInputTypes = new ArrayList<>(); + for (String inputLayerName : this.inputLayerNames) { + this.layers.get(inputLayerName); + inputTypeList.add(this.layers.get(inputLayerName).getOutputType()); - if (layer.isLayer()) { - if (preprocessor != null) - preprocessors.put(layer.getLayerName(), preprocessor); - graphBuilder.addLayer(layer.getLayerName(), layer.getLayer(), inboundLayerNamesArray); - } else if (layer.isVertex()) { // Ignore "preprocessor" layers for now - if (preprocessor != null) - preprocessors.put(layer.getLayerName(), preprocessor); - graphBuilder.addVertex(layer.getLayerName(), layer.getVertex(), inboundLayerNamesArray); - } else if (layer.isInputPreProcessor()) { - if (preprocessor == null) - throw new UnsupportedKerasConfigurationException("Layer " + layer.getLayerName() - + " could not be mapped to Layer, Vertex, or InputPreProcessor"); - graphBuilder.addVertex(layer.getLayerName(), new PreprocessorVertex(preprocessor), - inboundLayerNamesArray); } - if(layer instanceof KerasInput) { - initialInputTypes.add(this.outputTypes.get(layer.layerName)); + + /* Build String array of output layer names, add to ComputationGraph. */ + String[] outputLayerNameArray = new String[this.outputLayerNames.size()]; + this.outputLayerNames.toArray(outputLayerNameArray); + graphBuilder.setOutputs(outputLayerNameArray); + + Map preprocessors = new HashMap<>(); + /* Add layersOrdered one at a time. */ + for (KerasLayer layer : this.layersOrdered) { + /* Get inbound layer names. */ + List inboundLayerNames = layer.getInboundLayerNames(); + String[] inboundLayerNamesArray = new String[inboundLayerNames.size()]; + inboundLayerNames.toArray(inboundLayerNamesArray); + + List inboundTypeList = new ArrayList<>(); + + /* Get inbound InputTypes and InputPreProcessor, if necessary. */ + if(!inboundLayerNames.isEmpty()) { + InputType[] inputTypes2 = new InputType[inboundLayerNames.size()]; + int inboundIdx = 0; + for (String layerName : inboundLayerNames) { + KerasLayer prevLayer = layers.get(layerName); + if(prevLayer.isInputPreProcessor()) { + InputType inputType = this.outputTypes.get(layerName); + InputPreProcessor preprocessor = prevLayer.getInputPreprocessor(inputType); + InputType outputType = preprocessor.getOutputType(inputType); + inputTypes2[inboundIdx] = outputType; + inboundIdx++; + } + else { + InputType inputType = this.outputTypes.get(layerName); + inputTypes2[inboundIdx] = inputType; + inboundIdx++; + } + + if(outputTypes.containsKey(layerName)) + inboundTypeList.add(this.outputTypes.get(layerName)); + } + + } + + InputType[] inboundTypeArray = new InputType[inboundTypeList.size()]; + inboundTypeList.toArray(inboundTypeArray); + InputPreProcessor preprocessor = layer.getInputPreprocessor(inboundTypeArray); + + if (layer.isLayer()) { + if (preprocessor != null) + preprocessors.put(layer.getLayerName(), preprocessor); + graphBuilder.addLayer(layer.getLayerName(), layer.getLayer(), inboundLayerNamesArray); + } else if (layer.isVertex()) { // Ignore "preprocessor" layers for now + if (preprocessor != null) + preprocessors.put(layer.getLayerName(), preprocessor); + graphBuilder.addVertex(layer.getLayerName(), layer.getVertex(), inboundLayerNamesArray); + } else if (layer.isInputPreProcessor()) { + if (preprocessor == null) + throw new UnsupportedKerasConfigurationException("Layer " + layer.getLayerName() + + " could not be mapped to Layer, Vertex, or InputPreProcessor"); + graphBuilder.addVertex(layer.getLayerName(), new PreprocessorVertex(preprocessor), + inboundLayerNamesArray); + } + + if(layer instanceof KerasInput) { + initialInputTypes.add(this.outputTypes.get(layer.layerName)); + } } + graphBuilder.setInputPreProcessors(preprocessors); + + /* Whether to use standard backprop (or BPTT) or truncated BPTT. */ + if (this.useTruncatedBPTT && this.truncatedBPTT > 0) + graphBuilder.backpropType(BackpropType.TruncatedBPTT).tBPTTForwardLength(truncatedBPTT) + .tBPTTBackwardLength(truncatedBPTT); + else + graphBuilder.backpropType(BackpropType.Standard); + + ComputationGraphConfiguration build = graphBuilder.build(); + //note we don't forcibly over ride inputs when doing keras import. They are already set. + build.addPreProcessors(false,initialInputTypes.toArray(new InputType[initialInputTypes.size()])); + return build; } - graphBuilder.setInputPreProcessors(preprocessors); - /* Whether to use standard backprop (or BPTT) or truncated BPTT. */ - if (this.useTruncatedBPTT && this.truncatedBPTT > 0) - graphBuilder.backpropType(BackpropType.TruncatedBPTT).tBPTTForwardLength(truncatedBPTT) - .tBPTTBackwardLength(truncatedBPTT); - else - graphBuilder.backpropType(BackpropType.Standard); - - ComputationGraphConfiguration build = graphBuilder.build(); - //note we don't forcibly over ride inputs when doing keras import. They are already set. - build.addPreProcessors(false,initialInputTypes.toArray(new InputType[initialInputTypes.size()])); - return build; - } - - /** - * Build a ComputationGraph from this Keras Model configuration and import weights. - * - * @return ComputationGraph - */ - public ComputationGraph getComputationGraph() + /** + * Build a ComputationGraph from this Keras Model configuration and import weights. + * + * @return ComputationGraph + */ + public ComputationGraph getComputationGraph() throws InvalidKerasConfigurationException, UnsupportedKerasConfigurationException { - return getComputationGraph(true); - } + return getComputationGraph(true); + } - /** - * Build a ComputationGraph from this Keras Model configuration and (optionally) import weights. - * - * @param importWeights whether to import weights - * @return ComputationGraph - */ - public ComputationGraph getComputationGraph(boolean importWeights) + /** + * Build a ComputationGraph from this Keras Model configuration and (optionally) import weights. + * + * @param importWeights whether to import weights + * @return ComputationGraph + */ + public ComputationGraph getComputationGraph(boolean importWeights) throws InvalidKerasConfigurationException, UnsupportedKerasConfigurationException { - ComputationGraph model = new ComputationGraph(getComputationGraphConfiguration()); - model.init(); - if (importWeights) - model = (ComputationGraph) KerasModelUtils.copyWeightsToModel(model, this.layers); - return model; + ComputationGraph model = new ComputationGraph(getComputationGraphConfiguration()); + model.init(); + if (importWeights) + model = (ComputationGraph) KerasModelUtils.copyWeightsToModel(model, this.layers); + return model; + } } -} diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/KerasModelImport.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/KerasModelImport.java index 74bfb8f9e..d17302a57 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/KerasModelImport.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/KerasModelImport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/KerasSequentialModel.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/KerasSequentialModel.java index 012878230..2b95df5f9 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/KerasSequentialModel.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/KerasSequentialModel.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/config/Keras1LayerConfiguration.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/config/Keras1LayerConfiguration.java index 54e9d3dac..a3bef15dc 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/config/Keras1LayerConfiguration.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/config/Keras1LayerConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.config; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/config/Keras2LayerConfiguration.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/config/Keras2LayerConfiguration.java index 9b91d10cc..a5f1fc3da 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/config/Keras2LayerConfiguration.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/config/Keras2LayerConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.config; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/config/KerasLayerConfiguration.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/config/KerasLayerConfiguration.java index 4ffdc20c3..ac1aba1cd 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/config/KerasLayerConfiguration.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/config/KerasLayerConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.config; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/config/KerasLayerConfigurationFactory.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/config/KerasLayerConfigurationFactory.java index 9302dd051..648e508ef 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/config/KerasLayerConfigurationFactory.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/config/KerasLayerConfigurationFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.config; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/config/KerasModelConfiguration.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/config/KerasModelConfiguration.java index a4f2a1710..0c3eb369f 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/config/KerasModelConfiguration.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/config/KerasModelConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.config; @@ -31,6 +33,7 @@ public class KerasModelConfiguration { private final String fieldClassName = "class_name"; private final String fieldClassNameSequential = "Sequential"; private final String fieldClassNameModel = "Model"; + private final String fieldNameClassFunctional = "Functional"; private final String fieldKerasVersion = "keras_version"; private final String fieldBackend = "backend"; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/exceptions/InvalidKerasConfigurationException.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/exceptions/InvalidKerasConfigurationException.java index dbebac7b9..296831f69 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/exceptions/InvalidKerasConfigurationException.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/exceptions/InvalidKerasConfigurationException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.exceptions; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/exceptions/UnsupportedKerasConfigurationException.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/exceptions/UnsupportedKerasConfigurationException.java index 999682a8b..fe21c249b 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/exceptions/UnsupportedKerasConfigurationException.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/exceptions/UnsupportedKerasConfigurationException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.exceptions; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/KerasInput.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/KerasInput.java index 30b1b0d34..e631d8750 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/KerasInput.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/KerasInput.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/KerasLoss.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/KerasLoss.java index d47309d1d..72400e750 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/KerasLoss.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/KerasLoss.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/KerasTFOpLayer.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/KerasTFOpLayer.java index 2dd95338a..700852472 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/KerasTFOpLayer.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/KerasTFOpLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/TFOpLayer.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/TFOpLayer.java index 5a1f0e8dd..6645d3ada 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/TFOpLayer.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/TFOpLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/TFOpLayerImpl.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/TFOpLayerImpl.java index 26c369d8b..b18aa780d 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/TFOpLayerImpl.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/TFOpLayerImpl.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activations/KerasELU.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activations/KerasELU.java index 2517ae0ac..2da45b281 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activations/KerasELU.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activations/KerasELU.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.advanced.activations; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activations/KerasLeakyReLU.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activations/KerasLeakyReLU.java index 32324c0d1..8f30b4726 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activations/KerasLeakyReLU.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activations/KerasLeakyReLU.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.advanced.activations; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activations/KerasPReLU.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activations/KerasPReLU.java index 8dad3d35e..449faf6c0 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activations/KerasPReLU.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activations/KerasPReLU.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.advanced.activations; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activations/KerasReLU.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activations/KerasReLU.java index 3a30ec9ef..315997a04 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activations/KerasReLU.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activations/KerasReLU.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.advanced.activations; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activations/KerasSoftmax.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activations/KerasSoftmax.java index 884c55ef1..8455ca765 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activations/KerasSoftmax.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activations/KerasSoftmax.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.advanced.activations; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activations/KerasThresholdedReLU.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activations/KerasThresholdedReLU.java index 2fde5eac2..728113abc 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activations/KerasThresholdedReLU.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activations/KerasThresholdedReLU.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.advanced.activations; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasAtrousConvolution1D.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasAtrousConvolution1D.java index d08ae1c7d..87501b770 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasAtrousConvolution1D.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasAtrousConvolution1D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolutional; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasAtrousConvolution2D.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasAtrousConvolution2D.java index 7b866cbbe..53c3a40ac 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasAtrousConvolution2D.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasAtrousConvolution2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolutional; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasConvolution.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasConvolution.java index a5f3e15ae..899994fd7 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasConvolution.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasConvolution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolutional; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasConvolution1D.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasConvolution1D.java index 8bc1e70a7..5460dfd8c 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasConvolution1D.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasConvolution1D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolutional; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasConvolution2D.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasConvolution2D.java index 67035e879..e7da1fa27 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasConvolution2D.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasConvolution2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolutional; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasConvolution3D.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasConvolution3D.java index ccd776306..740088de9 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasConvolution3D.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasConvolution3D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolutional; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasConvolutionUtils.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasConvolutionUtils.java index cf818f6d2..70acd94be 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasConvolutionUtils.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasConvolutionUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolutional; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasCropping1D.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasCropping1D.java index c3f76fbb7..79699b155 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasCropping1D.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasCropping1D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolutional; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasCropping2D.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasCropping2D.java index b25a4b561..f1cee6fcc 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasCropping2D.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasCropping2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolutional; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasCropping3D.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasCropping3D.java index 71d2bac80..6d5539e10 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasCropping3D.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasCropping3D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolutional; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasDeconvolution2D.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasDeconvolution2D.java index d69b4099a..b763c85cd 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasDeconvolution2D.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasDeconvolution2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolutional; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasDepthwiseConvolution2D.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasDepthwiseConvolution2D.java index b120544bb..d3bd23e23 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasDepthwiseConvolution2D.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasDepthwiseConvolution2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolutional; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasSeparableConvolution2D.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasSeparableConvolution2D.java index 306896d3f..6998d79fc 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasSeparableConvolution2D.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasSeparableConvolution2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolutional; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasSpaceToDepth.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasSpaceToDepth.java index 586ab1010..210143d8f 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasSpaceToDepth.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasSpaceToDepth.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolutional; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasUpsampling1D.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasUpsampling1D.java index 943fa0c15..5cfb9bc86 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasUpsampling1D.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasUpsampling1D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolutional; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasUpsampling2D.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasUpsampling2D.java index 41f5455da..1796fc1b8 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasUpsampling2D.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasUpsampling2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolutional; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasUpsampling3D.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasUpsampling3D.java index 98aabb3ee..d1a99b575 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasUpsampling3D.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasUpsampling3D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolutional; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasZeroPadding1D.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasZeroPadding1D.java index 4575e9bd7..fd4454c95 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasZeroPadding1D.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasZeroPadding1D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolutional; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasZeroPadding2D.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasZeroPadding2D.java index d2b6808ec..bbd4ba807 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasZeroPadding2D.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasZeroPadding2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolutional; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasZeroPadding3D.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasZeroPadding3D.java index 7c840d301..a7292d708 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasZeroPadding3D.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/convolutional/KerasZeroPadding3D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolutional; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasActivation.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasActivation.java index 140a0922e..0814336fc 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasActivation.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasActivation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.core; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasDense.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasDense.java index 296b5dabf..510d094c0 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasDense.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasDense.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.core; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasDropout.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasDropout.java index a88957348..3ae766f3a 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasDropout.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasDropout.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.core; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasFlatten.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasFlatten.java index a807d3357..18aeb3f25 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasFlatten.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasFlatten.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.core; @@ -22,6 +24,8 @@ import org.deeplearning4j.nn.conf.CNN2DFormat; import org.deeplearning4j.nn.conf.InputPreProcessor; import org.deeplearning4j.nn.conf.inputs.InputType; import org.deeplearning4j.nn.conf.inputs.InputType.InputTypeConvolutional; +import org.deeplearning4j.nn.conf.layers.Convolution3D; +import org.deeplearning4j.nn.conf.preprocessor.Cnn3DToFeedForwardPreProcessor; import org.deeplearning4j.nn.conf.preprocessor.CnnToFeedForwardPreProcessor; import org.deeplearning4j.nn.modelimport.keras.KerasLayer; import org.deeplearning4j.nn.modelimport.keras.exceptions.InvalidKerasConfigurationException; @@ -87,6 +91,10 @@ public class KerasFlatten extends KerasLayer { if (inputType.length > 1) throw new InvalidKerasConfigurationException( "Keras Flatten layer accepts only one input (received " + inputType.length + ")"); + /** + * TODO: On layer name dropout_2 as input the flatten layer seems to be outputting 20 instead of 80. + * Likely due to needing to multiply the final outputs totaled to 80, but only getting to 20. + */ InputPreProcessor preprocessor = null; if (inputType[0] instanceof InputTypeConvolutional) { InputTypeConvolutional it = (InputTypeConvolutional) inputType[0]; @@ -111,6 +119,21 @@ public class KerasFlatten extends KerasLayer { InputType.InputTypeFeedForward it = (InputType.InputTypeFeedForward) inputType[0]; val inputShape = new long[]{it.getSize()}; preprocessor = new ReshapePreprocessor(inputShape, inputShape, false, null); + } else if(inputType[0] instanceof InputType.InputTypeConvolutional3D) { + InputType.InputTypeConvolutional3D it = (InputType.InputTypeConvolutional3D) inputType[0]; + switch (this.getDimOrder()) { + case NONE: + case THEANO: + preprocessor = new Cnn3DToFeedForwardPreProcessor(it.getDepth(),it.getHeight(),it.getWidth(), + it.getChannels(),it.getDataFormat() == Convolution3D.DataFormat.NCDHW); + break; + case TENSORFLOW: + preprocessor = new Cnn3DToFeedForwardPreProcessor(it.getDepth(),it.getHeight(),it.getWidth(), + it.getChannels(),it.getDataFormat() != Convolution3D.DataFormat.NCDHW); + break; + default: + throw new InvalidKerasConfigurationException("Unknown Keras backend " + this.getDimOrder()); + } } return preprocessor; } diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasLambda.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasLambda.java index f2ef11c78..908b5018b 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasLambda.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasLambda.java @@ -1,21 +1,24 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.core; +import lombok.extern.slf4j.Slf4j; import org.deeplearning4j.nn.conf.inputs.InputType; import org.deeplearning4j.nn.conf.layers.samediff.SameDiffLayer; import org.deeplearning4j.nn.modelimport.keras.KerasLayer; @@ -30,6 +33,7 @@ import java.util.Map; * * @author Max Pumperla */ +@Slf4j public class KerasLambda extends KerasLayer { /** @@ -68,9 +72,9 @@ public class KerasLambda extends KerasLayer { * @throws InvalidKerasConfigurationException Invalid Keras config */ public InputType getOutputType(InputType... inputType) throws InvalidKerasConfigurationException { - if (inputType.length > 1) - throw new InvalidKerasConfigurationException( - "Keras SameDiff layer accepts only one input (received " + inputType.length + ")"); + if (inputType.length > 1) { + log.warn("Note: only first input type will be counted for lambda on layer with name " + layerName); + } return this.getSameDiffLayer().getOutputType(-1, inputType[0]); } diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasMasking.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasMasking.java index 117daae71..e6148986f 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasMasking.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasMasking.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.core; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasMerge.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasMerge.java index 62c44966e..22ec41fa7 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasMerge.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasMerge.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.core; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasPermute.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasPermute.java index 3c3f7dc41..b988aa2a7 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasPermute.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasPermute.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.core; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasRepeatVector.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasRepeatVector.java index 15f3011c4..f7c1fcaf1 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasRepeatVector.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasRepeatVector.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.core; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasReshape.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasReshape.java index bb4dc5ecf..0af79735f 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasReshape.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasReshape.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.core; @@ -178,4 +180,4 @@ public class KerasReshape extends KerasLayer { ReshapePreprocessor reshape = (ReshapePreprocessor) getInputPreprocessor(inputType); return reshape.getOutputType(inputType[0]); } -} +} \ No newline at end of file diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasSpatialDropout.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasSpatialDropout.java index 14d3e17a1..84e961544 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasSpatialDropout.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasSpatialDropout.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.core; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/custom/KerasLRN.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/custom/KerasLRN.java index 1731b4052..00022e730 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/custom/KerasLRN.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/custom/KerasLRN.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.custom; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/custom/KerasPoolHelper.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/custom/KerasPoolHelper.java index 54c7f6a70..56f2365bf 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/custom/KerasPoolHelper.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/custom/KerasPoolHelper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.custom; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/embeddings/Keras2DEmbedding.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/embeddings/Keras2DEmbedding.java new file mode 100644 index 000000000..d019319d9 --- /dev/null +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/embeddings/Keras2DEmbedding.java @@ -0,0 +1,238 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.nn.modelimport.keras.layers.embeddings; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.extern.slf4j.Slf4j; +import org.deeplearning4j.nn.api.layers.LayerConstraint; +import org.deeplearning4j.nn.conf.InputPreProcessor; +import org.deeplearning4j.nn.conf.RNNFormat; +import org.deeplearning4j.nn.conf.inputs.InputType; +import org.deeplearning4j.nn.conf.layers.EmbeddingLayer; +import org.deeplearning4j.nn.conf.layers.EmbeddingSequenceLayer; +import org.deeplearning4j.nn.modelimport.keras.KerasLayer; +import org.deeplearning4j.nn.modelimport.keras.exceptions.InvalidKerasConfigurationException; +import org.deeplearning4j.nn.modelimport.keras.exceptions.UnsupportedKerasConfigurationException; +import org.deeplearning4j.nn.modelimport.keras.utils.KerasConstraintUtils; +import org.deeplearning4j.nn.modelimport.keras.utils.KerasLayerUtils; +import org.deeplearning4j.nn.params.DefaultParamInitializer; +import org.deeplearning4j.nn.weights.IWeightInit; +import org.nd4j.linalg.activations.Activation; +import org.nd4j.linalg.api.ndarray.INDArray; +import org.nd4j.linalg.factory.Nd4j; + +import java.util.HashMap; +import java.util.Map; +import java.util.Set; + +import static org.deeplearning4j.nn.modelimport.keras.utils.KerasInitilizationUtils.getWeightInitFromConfig; +import static org.deeplearning4j.nn.modelimport.keras.utils.KerasLayerUtils.getNOutFromConfig; + +/** + * Imports an Embedding layer from Keras. + * + * @author dave@skymind.io + */ +@Slf4j +@Data +@EqualsAndHashCode(callSuper = false) +public class Keras2DEmbedding extends KerasLayer { + + private final int NUM_TRAINABLE_PARAMS = 1; + private boolean zeroMasking; + private int inputDim; + private int inputLength; + private boolean inferInputLength; + + + /** + * Pass through constructor for unit tests + * + * @throws UnsupportedKerasConfigurationException Unsupported Keras config + */ + public Keras2DEmbedding() throws UnsupportedKerasConfigurationException { + } + + /** + * Constructor from parsed Keras layer configuration dictionary. + * + * @param layerConfig dictionary containing Keras layer configuration + * @throws InvalidKerasConfigurationException Invalid Keras config + * @throws UnsupportedKerasConfigurationException Unsupported Keras config + */ + public Keras2DEmbedding(Map layerConfig) + throws InvalidKerasConfigurationException, UnsupportedKerasConfigurationException { + this(layerConfig, true); + } + + /** + * Constructor from parsed Keras layer configuration dictionary. + * + * @param layerConfig dictionary containing Keras layer configuration + * @param enforceTrainingConfig whether to enforce training-related configuration options + * @throws InvalidKerasConfigurationException Invalid Keras config + * @throws UnsupportedKerasConfigurationException Unsupported Keras config + */ + public Keras2DEmbedding(Map layerConfig, boolean enforceTrainingConfig) + throws InvalidKerasConfigurationException, UnsupportedKerasConfigurationException { + super(layerConfig, enforceTrainingConfig); + + this.inputDim = getInputDimFromConfig(layerConfig); + this.inputLength = getInputLengthFromConfig(layerConfig); + this.inferInputLength = this.inputLength == 0; + if (this.inferInputLength) + this.inputLength = 1; // set dummy value, so shape inference works + + this.zeroMasking = KerasLayerUtils.getZeroMaskingFromConfig(layerConfig, conf); + if (zeroMasking) + log.warn("Masking in keras and DL4J work differently. We do not completely support mask_zero flag " + + "on Embedding layers. Zero Masking for the Embedding layer only works with unidirectional LSTM for now." + + " If you want to have this behaviour for your imported model " + + "in DL4J, apply masking as a pre-processing step to your input." + + "See https://deeplearning4j.konduit.ai/models/recurrent#masking-one-to-many-many-to-one-and-sequence-classification for more on this."); + + IWeightInit init = getWeightInitFromConfig(layerConfig, + conf.getLAYER_FIELD_EMBEDDING_INIT(), + enforceTrainingConfig, + conf, kerasMajorVersion); + + LayerConstraint embeddingConstraint = KerasConstraintUtils.getConstraintsFromConfig( + layerConfig, conf.getLAYER_FIELD_EMBEDDINGS_CONSTRAINT(), conf, kerasMajorVersion); + int nOutFromConfig = getNOutFromConfig(layerConfig, conf); + EmbeddingLayer.Builder builder = new EmbeddingLayer.Builder() + .name(this.layerName) + .nIn(inputDim) + .nOut(nOutFromConfig) + .dropOut(this.dropout).activation(Activation.IDENTITY) + .weightInit(init) + .biasInit(0.0) + .l1(this.weightL1Regularization) + .l2(this.weightL2Regularization) + .hasBias(false); + if (embeddingConstraint != null) + builder.constrainWeights(embeddingConstraint); + this.layer = builder.build(); + + this.inputShape = new int[]{inputDim,1}; + } + + /** + * Get DL4J Embedding Sequence layer. + * + * @return Embedding Sequence layer + */ + public EmbeddingLayer getEmbeddingLayer() { + return (EmbeddingLayer) this.layer; + } + + /** + * Get layer output type. + * + * @param inputType Array of InputTypes + * @return output type as InputType + * @throws InvalidKerasConfigurationException Invalid Keras config + */ + @Override + public InputType getOutputType(InputType... inputType) throws InvalidKerasConfigurationException { + /* Check whether layer requires a preprocessor for this InputType. */ + InputPreProcessor preprocessor = getInputPreprocessor(inputType[0]); + if (preprocessor != null) { + return this.getEmbeddingLayer().getOutputType(-1, preprocessor.getOutputType(inputType[0])); + } + return this.getEmbeddingLayer().getOutputType(-1, inputType[0]); + } + + /** + * Returns number of trainable parameters in layer. + * + * @return number of trainable parameters (1) + */ + @Override + public int getNumParams() { + return NUM_TRAINABLE_PARAMS; + } + + /** + * Set weights for layer. + * + * @param weights Embedding layer weights + */ + @Override + public void setWeights(Map weights) throws InvalidKerasConfigurationException { + this.weights = new HashMap<>(); + // TODO: "embeddings" is incorrectly read as "s" for some applications + if (weights.containsKey("s")) { + INDArray kernel = weights.get("s"); + weights.remove("s"); + weights.put(conf.getLAYER_FIELD_EMBEDDING_WEIGHTS(), kernel); + } + + if (!weights.containsKey(conf.getLAYER_FIELD_EMBEDDING_WEIGHTS())) + throw new InvalidKerasConfigurationException( + "Parameter " + conf.getLAYER_FIELD_EMBEDDING_WEIGHTS() + " does not exist in weights"); + INDArray kernel = weights.get(conf.getLAYER_FIELD_EMBEDDING_WEIGHTS()); + if (this.zeroMasking) { + kernel.putRow(0, Nd4j.zeros(kernel.columns())); + } + this.weights.put(DefaultParamInitializer.WEIGHT_KEY, kernel); + + if (weights.size() > 2) { + Set paramNames = weights.keySet(); + paramNames.remove(conf.getLAYER_FIELD_EMBEDDING_WEIGHTS()); + String unknownParamNames = paramNames.toString(); + log.warn("Attempting to set weights for unknown parameters: " + + unknownParamNames.substring(1, unknownParamNames.length() - 1)); + } + } + + /** + * Get Keras input length from Keras layer configuration. In Keras input_length, if present, denotes + * the number of indices to embed per mini-batch, i.e. input will be of shape (mb, input_length) + * and (mb, 1) else. + * + * @param layerConfig dictionary containing Keras layer configuration + * @return input length as int + */ + private int getInputLengthFromConfig(Map layerConfig) throws InvalidKerasConfigurationException { + Map innerConfig = KerasLayerUtils.getInnerLayerConfigFromConfig(layerConfig, conf); + if (!innerConfig.containsKey(conf.getLAYER_FIELD_INPUT_LENGTH())) + throw new InvalidKerasConfigurationException( + "Keras Embedding layer config missing " + conf.getLAYER_FIELD_INPUT_LENGTH() + " field"); + if (innerConfig.get(conf.getLAYER_FIELD_INPUT_LENGTH()) == null) { + return 0; + } else { + return (int) innerConfig.get(conf.getLAYER_FIELD_INPUT_LENGTH()); + } + } + + /** + * Get Keras input dimension from Keras layer configuration. + * + * @param layerConfig dictionary containing Keras layer configuration + * @return input dim as int + */ + private int getInputDimFromConfig(Map layerConfig) throws InvalidKerasConfigurationException { + Map innerConfig = KerasLayerUtils.getInnerLayerConfigFromConfig(layerConfig, conf); + if (!innerConfig.containsKey(conf.getLAYER_FIELD_INPUT_DIM())) + throw new InvalidKerasConfigurationException( + "Keras Embedding layer config missing " + conf.getLAYER_FIELD_INPUT_DIM() + " field"); + return (int) innerConfig.get(conf.getLAYER_FIELD_INPUT_DIM()); + } +} diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/embeddings/KerasEmbedding.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/embeddings/KerasEmbedding.java index 77c67c865..34187fa86 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/embeddings/KerasEmbedding.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/embeddings/KerasEmbedding.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.embeddings; @@ -197,7 +199,7 @@ public class KerasEmbedding extends KerasLayer { Set paramNames = weights.keySet(); paramNames.remove(conf.getLAYER_FIELD_EMBEDDING_WEIGHTS()); String unknownParamNames = paramNames.toString(); - log.warn("Attemping to set weights for unknown parameters: " + log.warn("Attempting to set weights for unknown parameters: " + unknownParamNames.substring(1, unknownParamNames.length() - 1)); } } diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/local/KerasLocallyConnected1D.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/local/KerasLocallyConnected1D.java index 7ce67b33f..7c85d8e2c 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/local/KerasLocallyConnected1D.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/local/KerasLocallyConnected1D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.local; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/local/KerasLocallyConnected2D.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/local/KerasLocallyConnected2D.java index 550c20d01..000de59da 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/local/KerasLocallyConnected2D.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/local/KerasLocallyConnected2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.local; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/noise/KerasAlphaDropout.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/noise/KerasAlphaDropout.java index 565126508..9918321c4 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/noise/KerasAlphaDropout.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/noise/KerasAlphaDropout.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.noise; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/noise/KerasGaussianDropout.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/noise/KerasGaussianDropout.java index a27b370d8..e22caea84 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/noise/KerasGaussianDropout.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/noise/KerasGaussianDropout.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.noise; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/noise/KerasGaussianNoise.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/noise/KerasGaussianNoise.java index 45b45a638..db763ab6e 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/noise/KerasGaussianNoise.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/noise/KerasGaussianNoise.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.noise; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/normalization/KerasBatchNormalization.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/normalization/KerasBatchNormalization.java index 39a4ca112..72ec99fc2 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/normalization/KerasBatchNormalization.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/normalization/KerasBatchNormalization.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.normalization; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasGlobalPooling.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasGlobalPooling.java index 309c7e665..a0b1b8d76 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasGlobalPooling.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasGlobalPooling.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.pooling; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPooling1D.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPooling1D.java index 454cbc104..172f8f10e 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPooling1D.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPooling1D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.pooling; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPooling2D.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPooling2D.java index 15be5ec2c..9759cba49 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPooling2D.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPooling2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.pooling; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPooling3D.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPooling3D.java index e48155e33..8634a82e9 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPooling3D.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPooling3D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.pooling; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPoolingUtils.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPoolingUtils.java index 1b370b2b8..0dee09446 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPoolingUtils.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPoolingUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.pooling; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/recurrent/KerasLSTM.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/recurrent/KerasLSTM.java index d2b9f42ff..2f89e1958 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/recurrent/KerasLSTM.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/recurrent/KerasLSTM.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/recurrent/KerasRnnUtils.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/recurrent/KerasRnnUtils.java index 9f26a601c..641ecc1e1 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/recurrent/KerasRnnUtils.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/recurrent/KerasRnnUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/recurrent/KerasSimpleRnn.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/recurrent/KerasSimpleRnn.java index 3a8b9806f..97218a833 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/recurrent/KerasSimpleRnn.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/recurrent/KerasSimpleRnn.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/wrappers/KerasBidirectional.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/wrappers/KerasBidirectional.java index faa271987..707f6efec 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/wrappers/KerasBidirectional.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/layers/wrappers/KerasBidirectional.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.wrappers; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/sequence/TimeSeriesGenerator.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/sequence/TimeSeriesGenerator.java index b08a6a35c..dcee44e2f 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/sequence/TimeSeriesGenerator.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/sequence/TimeSeriesGenerator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.preprocessing.sequence; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/text/KerasTokenizer.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/text/KerasTokenizer.java index 6461d1644..aa6dea28a 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/text/KerasTokenizer.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/text/KerasTokenizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.preprocessing.text; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/text/TokenizerMode.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/text/TokenizerMode.java index 49015794a..8c9971fa3 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/text/TokenizerMode.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/text/TokenizerMode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.preprocessing.text; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessors/KerasFlattenRnnPreprocessor.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessors/KerasFlattenRnnPreprocessor.java index 25aa73a06..5c5782aa6 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessors/KerasFlattenRnnPreprocessor.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessors/KerasFlattenRnnPreprocessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.preprocessors; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessors/PermutePreprocessor.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessors/PermutePreprocessor.java index 6f2250b13..a2cb5e2c0 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessors/PermutePreprocessor.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessors/PermutePreprocessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.preprocessors; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessors/ReshapePreprocessor.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessors/ReshapePreprocessor.java index 106f00914..11ab557d3 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessors/ReshapePreprocessor.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessors/ReshapePreprocessor.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.preprocessors; @@ -177,4 +178,4 @@ public class ReshapePreprocessor extends BaseInputPreProcessor { } return ret; } -} +} \ No newline at end of file diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessors/TensorFlowCnnToFeedForwardPreProcessor.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessors/TensorFlowCnnToFeedForwardPreProcessor.java index 2e1ac2e51..8b1939a86 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessors/TensorFlowCnnToFeedForwardPreProcessor.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/preprocessors/TensorFlowCnnToFeedForwardPreProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.preprocessors; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/DL4JKerasModelValidator.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/DL4JKerasModelValidator.java index 71cfca4a7..9d1addd45 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/DL4JKerasModelValidator.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/DL4JKerasModelValidator.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.nn.modelimport.keras.utils; import lombok.NonNull; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasActivationUtils.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasActivationUtils.java index cdf8bc923..01f8e2d09 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasActivationUtils.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasActivationUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.utils; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasConstraintUtils.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasConstraintUtils.java index d9f7d9661..e90985fed 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasConstraintUtils.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasConstraintUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.utils; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasInitilizationUtils.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasInitilizationUtils.java index b4b5e6564..c4418ec46 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasInitilizationUtils.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasInitilizationUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.utils; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasLayerUtils.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasLayerUtils.java index 6b1fe6b08..ba7b0faad 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasLayerUtils.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasLayerUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.utils; @@ -30,6 +32,7 @@ import org.deeplearning4j.nn.modelimport.keras.layers.KerasTFOpLayer; import org.deeplearning4j.nn.modelimport.keras.layers.advanced.activations.*; import org.deeplearning4j.nn.modelimport.keras.layers.convolutional.*; import org.deeplearning4j.nn.modelimport.keras.layers.core.*; +import org.deeplearning4j.nn.modelimport.keras.layers.embeddings.Keras2DEmbedding; import org.deeplearning4j.nn.modelimport.keras.layers.embeddings.KerasEmbedding; import org.deeplearning4j.nn.modelimport.keras.layers.local.KerasLocallyConnected1D; import org.deeplearning4j.nn.modelimport.keras.layers.noise.KerasAlphaDropout; @@ -43,14 +46,12 @@ import org.deeplearning4j.nn.modelimport.keras.layers.pooling.KerasPooling3D; import org.deeplearning4j.nn.modelimport.keras.layers.recurrent.KerasLSTM; import org.deeplearning4j.nn.modelimport.keras.layers.recurrent.KerasSimpleRnn; import org.deeplearning4j.nn.modelimport.keras.layers.wrappers.KerasBidirectional; +import org.nd4j.common.primitives.Counter; import org.nd4j.linalg.api.ndarray.INDArray; import org.nd4j.common.primitives.Pair; import java.lang.reflect.Constructor; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; /** * Utility functionality to import keras models @@ -191,7 +192,6 @@ public class KerasLayerUtils { layerConfig = getTimeDistributedLayerConfig(layerConfig, conf); layerClassName = getClassNameFromConfig(layerConfig, conf); } - KerasLayer layer = null; if (layerClassName.equals(conf.getLAYER_CLASS_NAME_ACTIVATION())) { layer = new KerasActivation(layerConfig, enforceTrainingConfig); @@ -300,7 +300,9 @@ public class KerasLayerUtils { layer = new KerasUpsampling1D(layerConfig, enforceTrainingConfig); } else if (layerClassName.equals(conf.getLAYER_CLASS_NAME_UPSAMPLING_2D())) { layer = new KerasUpsampling2D(layerConfig, enforceTrainingConfig); - } else if (layerClassName.equals(conf.getLAYER_CLASS_NAME_CROPPING_3D())) { + }else if (layerClassName.equals(conf.getLAYER_CLASS_NAME_UPSAMPLING_2D())) { + layer = new KerasUpsampling3D(layerConfig, enforceTrainingConfig); + } else if (layerClassName.equals(conf.getLAYER_CLASS_NAME_CROPPING_3D())) { layer = new KerasCropping3D(layerConfig, enforceTrainingConfig); } else if (layerClassName.equals(conf.getLAYER_CLASS_NAME_CROPPING_2D())) { layer = new KerasCropping2D(layerConfig, enforceTrainingConfig); @@ -313,6 +315,7 @@ public class KerasLayerUtils { "layer " + lambdaLayerName + ". You can register a SameDiff Lambda layer using KerasLayer." + "registerLambdaLayer(lambdaLayerName, sameDiffLambdaLayer);"); } + SameDiffLambdaLayer lambdaLayer = lambdaLayers.get(lambdaLayerName); if (lambdaLayer != null){ layer = new KerasLambda(layerConfig, enforceTrainingConfig, lambdaLayer); @@ -328,10 +331,10 @@ public class KerasLayerUtils { } else if (conf instanceof Keras2LayerConfiguration){ Keras2LayerConfiguration k2conf = (Keras2LayerConfiguration)conf; if (layerClassName.equals(k2conf.getTENSORFLOW_OP_LAYER())){ - layer = new KerasTFOpLayer(layerConfig, enforceTrainingConfig); + layer = new KerasTFOpLayer(layerConfig, enforceTrainingConfig); } } - if (layer == null){ + if (layer == null) { Class customConfig = customLayers.get(layerClassName); if (customConfig == null) throw new UnsupportedKerasConfigurationException("Unsupported keras layer type " + layerClassName); @@ -339,7 +342,8 @@ public class KerasLayerUtils { Constructor constructor = customConfig.getConstructor(Map.class); layer = (KerasLayer) constructor.newInstance(layerConfig); } catch (Exception e) { - throw new RuntimeException(e); + throw new RuntimeException("The keras custom class " + layerClassName + " needs to have a constructor with only Map as the argument. Please ensure this is defined." + ,e); } } return layer; @@ -495,15 +499,43 @@ public class KerasLayerUtils { List inboundLayerNames = new ArrayList<>(); if (layerConfig.containsKey(conf.getLAYER_FIELD_INBOUND_NODES())) { List inboundNodes = (List) layerConfig.get(conf.getLAYER_FIELD_INBOUND_NODES()); - if (!inboundNodes.isEmpty()) { - inboundNodes = (List) inboundNodes.get(0); - for (Object o : inboundNodes) { + if(!inboundNodes.isEmpty()) { + for(Object nodeName : inboundNodes) { + List list = (List) nodeName; + for(Object o : list) { + List list2 = (List) o; + inboundLayerNames.add(list2.get(0).toString()); + + } + } + + + } + + + } + return inboundLayerNames; + } + + /** + * Get list of inbound layers from Keras layer configuration. + * + * @param layerConfig dictionary containing Keras layer configuration + * @return List of inbound layer names + */ + public static List getOutboundLayerNamesFromConfig(Map layerConfig, KerasLayerConfiguration conf) { + List outputLayerNames = new ArrayList<>(); + if (layerConfig.containsKey(conf.getLAYER_FIELD_OUTBOUND_NODES())) { + List outboundNodes = (List) layerConfig.get(conf.getLAYER_FIELD_OUTBOUND_NODES()); + if (!outboundNodes.isEmpty()) { + outboundNodes = (List) outboundNodes.get(0); + for (Object o : outboundNodes) { String nodeName = (String) ((List) o).get(0); - inboundLayerNames.add(nodeName); + outputLayerNames.add(nodeName); } } } - return inboundLayerNames; + return outputLayerNames; } /** diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasLossUtils.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasLossUtils.java index b9e0ddfce..396238a43 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasLossUtils.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasLossUtils.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.utils; @@ -63,6 +64,7 @@ public class KerasLossUtils { public static ILossFunction mapLossFunction(String kerasLoss, KerasLayerConfiguration conf) throws UnsupportedKerasConfigurationException { LossFunctions.LossFunction dl4jLoss; + kerasLoss = kerasLoss.toLowerCase(); if (kerasLoss.equals(conf.getKERAS_LOSS_MEAN_SQUARED_ERROR()) || kerasLoss.equals(conf.getKERAS_LOSS_MSE())) { dl4jLoss = LossFunctions.LossFunction.SQUARED_LOSS; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasModelBuilder.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasModelBuilder.java index 18229f07e..093be844f 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasModelBuilder.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasModelBuilder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.utils; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasModelUtils.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasModelUtils.java index 43da8001c..9702ffc40 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasModelUtils.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasModelUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.utils; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasOptimizerUtils.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasOptimizerUtils.java index c489f6b0e..9e386aa7f 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasOptimizerUtils.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasOptimizerUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.utils; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasRegularizerUtils.java b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasRegularizerUtils.java index 1c96c89ff..5005e6a6f 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasRegularizerUtils.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/main/java/org/deeplearning4j/nn/modelimport/keras/utils/KerasRegularizerUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.utils; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/KerasTestUtils.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/KerasTestUtils.java index 27aa340e8..f3c15d5b8 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/KerasTestUtils.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/KerasTestUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/MiscTests.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/MiscTests.java index 4a379dbbd..66af84f47 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/MiscTests.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/MiscTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/Temp.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/Temp.java index a93eb558c..9b1226632 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/Temp.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/Temp.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.nn.modelimport.keras; public class Temp { diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/TestTFKerasModelImport.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/TestTFKerasModelImport.java deleted file mode 100644 index d066017c7..000000000 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/TestTFKerasModelImport.java +++ /dev/null @@ -1,147 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.nn.modelimport.keras; - -import org.apache.commons.io.FileUtils; -import org.datavec.python.keras.Model; -import org.deeplearning4j.BaseDL4JTest; -import org.deeplearning4j.nn.graph.ComputationGraph; -import org.junit.Assert; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; -import org.nd4j.common.resources.Resources; -import org.nd4j.common.tests.ResourceUtils; -import org.nd4j.linalg.api.buffer.DataType; -import org.nd4j.linalg.api.concurrency.AffinityManager; -import org.nd4j.linalg.api.ndarray.INDArray; -import org.nd4j.linalg.factory.Nd4j; - -import java.io.File; -import java.util.List; - - -@RunWith(Parameterized.class) -public class TestTFKerasModelImport extends BaseDL4JTest{ - - @Rule - public TemporaryFolder testDir = new TemporaryFolder(); - - private String modelFile; - - @Override - public long getTimeoutMilliseconds(){ - return 300000; - } // installing TF will take a while - - - @Parameterized.Parameters(name = "file={0}") - public static Object[] params() throws Exception { - List paths = ResourceUtils.listClassPathFiles("modelimport/keras/tfkeras", true, false); - return paths.toArray(new String[0]); - } - - public TestTFKerasModelImport(String modelFile){ - this.modelFile = modelFile; - } - - @Test - public void testModelImport() throws Exception{ - testModelImportWithData(modelFile); - } - - private void testModelImportWithData(String path) throws Exception{ - System.out.println(path); - // TODO multi input/output - INDArray inputArray; - INDArray expectedOutputArray; - File f = Resources.asFile(path); //May in in JAR that HDF5 can't read from - File modelFile = new File(testDir.getRoot(), f.getName()); - FileUtils.copyFile(f, modelFile); - - synchronized (Hdf5Archive.LOCK_OBJECT){ - Hdf5Archive hdf5Archive = new Hdf5Archive(modelFile.getAbsolutePath()); - List rootGroups = hdf5Archive.getGroups(); - if (rootGroups.contains("data")){ - String inputName = hdf5Archive.readAttributeAsString("input_names", "data"); - String outputName = hdf5Archive.readAttributeAsString("output_names", "data"); - inputArray = hdf5Archive.readDataSet(inputName, "data"); - expectedOutputArray = hdf5Archive.readDataSet(outputName, "data"); - } - else{ - hdf5Archive.close(); - return; - } - hdf5Archive.close(); - } - INDArray outputArray; - - ComputationGraph dl4jModel = KerasModelImport.importKerasModelAndWeights(path); - outputArray = dl4jModel.outputSingle(inputArray); - - expectedOutputArray = expectedOutputArray.castTo(DataType.FLOAT); - outputArray = outputArray.castTo(DataType.FLOAT); - if (path.contains("misc_")){ - //shape relaxation - expectedOutputArray = expectedOutputArray.reshape( -1); - outputArray = outputArray.reshape(-1); - } - - System.out.println(outputArray.toString()); - System.out.println(expectedOutputArray.toString()); - Assert.assertArrayEquals(expectedOutputArray.shape(), outputArray.shape()); - Assert.assertTrue(expectedOutputArray.equalsWithEps(outputArray, 1e-3)); - } - - private void testModelImportWithKeras(String path) throws Exception{ - Model kerasModel = new Model(path); - ComputationGraph dl4jModel = KerasModelImport.importKerasModelAndWeights(path); - Assert.assertEquals(kerasModel.numInputs(), dl4jModel.getNumInputArrays()); - Assert.assertEquals(kerasModel.numOutputs(), dl4jModel.getNumOutputArrays()); - INDArray[] kerasInputArrays = new INDArray[kerasModel.numInputs()]; - INDArray[] dl4jInputArrays = new INDArray[kerasModel.numInputs()]; - - for (int i = 0; i < kerasInputArrays.length; i ++) { - long[] shape = kerasModel.inputShapeAt(i); - for (int j = 0; j < shape.length; j++) { - if (shape[j] < 0) { - shape[j] = 1; - } - } - - kerasInputArrays[i] = Nd4j.rand(shape); - } - - INDArray[] kerasOut = kerasModel.predict(kerasInputArrays); - INDArray[] dl4jOut = dl4jModel.output(dl4jInputArrays); - - Assert.assertEquals(kerasOut.length, dl4jOut.length); - - for (int i = 0; i < kerasOut.length; i++){ - INDArray kerasOutArr = kerasOut[i]; - kerasOutArr = kerasOutArr.reshape(1, -1);// bit of relaxation on shape - kerasOutArr= kerasOutArr.castTo(DataType.DOUBLE); - Nd4j.getAffinityManager().ensureLocation(dl4jOut[i], AffinityManager.Location.HOST); - INDArray dl4jOutArr = dl4jOut[i].reshape(1, -1); - System.out.println(kerasOutArr.shapeInfoToString()); - System.out.println(dl4jOutArr.shapeInfoToString()); - Assert.assertEquals(kerasOutArr, dl4jOutArr); - } - } -} diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/DeepCTRLambdaTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/DeepCTRLambdaTest.java new file mode 100644 index 000000000..b150b9eaa --- /dev/null +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/DeepCTRLambdaTest.java @@ -0,0 +1,118 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.nn.modelimport.keras.configurations; + +import org.deeplearning4j.nn.conf.inputs.InputType; +import org.deeplearning4j.nn.conf.layers.samediff.SameDiffLambdaLayer; +import org.deeplearning4j.nn.graph.ComputationGraph; +import org.deeplearning4j.nn.modelimport.keras.KerasLayer; +import org.deeplearning4j.nn.modelimport.keras.KerasModelImport; +import org.junit.Test; +import org.nd4j.autodiff.samediff.SDVariable; +import org.nd4j.autodiff.samediff.SameDiff; +import org.nd4j.common.io.ClassPathResource; +import org.nd4j.linalg.api.ndarray.INDArray; +import org.nd4j.linalg.factory.Nd4j; + +import java.io.InputStream; +import java.util.UUID; + +public class DeepCTRLambdaTest { + class TensorsSum extends SameDiffLambdaLayer { + + @Override + public SDVariable defineLayer(SameDiff sameDiff, SDVariable layerInput) { + return layerInput.sum("tensors_sum-" + UUID.randomUUID().toString(),false,1); + } + + @Override + public InputType getOutputType(int layerIndex, InputType inputType) { + return inputType; + } + } + + class TensorsSquare extends SameDiffLambdaLayer { + + @Override + public SDVariable defineLayer(SameDiff sameDiff, SDVariable layerInput) { + return layerInput.mul("tensor_square-" + UUID.randomUUID().toString(),layerInput); + } + + @Override + public InputType getOutputType(int layerIndex, InputType inputType) { + return inputType; + } + } + + class Lambda1 extends SameDiffLambdaLayer { + + @Override + public SDVariable defineLayer(SameDiff sameDiff, SDVariable layerInput) { + return layerInput.mul("lambda1-" + UUID.randomUUID().toString(),0.5); + } + + @Override + public InputType getOutputType(int layerIndex, InputType inputType) { + return inputType; + } + } + + class TensorMean extends SameDiffLambdaLayer { + + @Override + public SDVariable defineLayer(SameDiff sameDiff, SDVariable layerInput) { + if(this.layerName.equals("concat_embed_2d") || this.layerName.equals("cat_embed_2d_genure_mean")) + return layerInput.mean("mean_pooling-" + UUID.randomUUID().toString(),true,1); + else + return layerInput.mean("mean_pooling-" + UUID.randomUUID().toString(),false,1); + } + + @Override + public InputType getOutputType(int layerIndex, InputType inputType) { + return inputType; + } + } + + + @Test + public void testDeepCtr() throws Exception { + KerasLayer.registerLambdaLayer("sum_of_tensors", new TensorsSum()); + KerasLayer.registerLambdaLayer("square_of_tensors", new TensorsSquare()); + KerasLayer.registerLambdaLayer("lambda_1", new Lambda1()); + KerasLayer.registerLambdaLayer("cat_embed_2d_genure_mean", new TensorMean()); + KerasLayer.registerLambdaLayer("embed_1d_mean", new TensorMean()); + + + ClassPathResource classPathResource = new ClassPathResource("modelimport/keras/examples/deepfm/deepfm.h5"); + try(InputStream inputStream = classPathResource.getInputStream(); + INDArray input0 = Nd4j.createNpyFromInputStream(new ClassPathResource("modelimport/keras/examples/deepfm/deepfm_x_0.npy").getInputStream()); + INDArray input1 = Nd4j.createNpyFromInputStream(new ClassPathResource("modelimport/keras/examples/deepfm/deepfm_x_1.npy").getInputStream()); + INDArray input2 = Nd4j.createNpyFromInputStream(new ClassPathResource("modelimport/keras/examples/deepfm/deepfm_x_2.npy").getInputStream()); + INDArray input3 = Nd4j.createNpyFromInputStream(new ClassPathResource("modelimport/keras/examples/deepfm/deepfm_x_3.npy").getInputStream())) { + + INDArray input0Reshaped = input0.reshape(input0.length(),1); + + ComputationGraph computationGraph = KerasModelImport.importKerasModelAndWeights(inputStream); + computationGraph.output(input0Reshaped,input1,input2,input3); + } + } + + + +} diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/FullModelComparisons.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/FullModelComparisons.java index 22d8cdc79..8e2c8c4b3 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/FullModelComparisons.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/FullModelComparisons.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.configurations; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/JsonTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/JsonTest.java index c95a6a8bb..88d1949c7 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/JsonTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/JsonTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.configurations; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/Keras1ModelConfigurationTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/Keras1ModelConfigurationTest.java index d7772f32f..035e6e182 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/Keras1ModelConfigurationTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/Keras1ModelConfigurationTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.configurations; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/Keras2ModelConfigurationTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/Keras2ModelConfigurationTest.java index 926f1422c..918a431fa 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/Keras2ModelConfigurationTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/Keras2ModelConfigurationTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.configurations; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/KerasInitilizationTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/KerasInitilizationTest.java index 583634264..8e5fe3f30 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/KerasInitilizationTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/KerasInitilizationTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.configurations; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/KerasModelImportTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/KerasModelImportTest.java index 9fc21a7ae..8d4fead67 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/KerasModelImportTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/configurations/KerasModelImportTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.configurations; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/e2e/KerasCustomLayerTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/e2e/KerasCustomLayerTest.java index cdf5faca3..c47787610 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/e2e/KerasCustomLayerTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/e2e/KerasCustomLayerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.e2e; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/e2e/KerasCustomLossTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/e2e/KerasCustomLossTest.java index 23c46835e..ca7f0bfd0 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/e2e/KerasCustomLossTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/e2e/KerasCustomLossTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.e2e; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/e2e/KerasLambdaTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/e2e/KerasLambdaTest.java index b4abeef90..fe8850654 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/e2e/KerasLambdaTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/e2e/KerasLambdaTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.e2e; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/e2e/KerasModelEndToEndTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/e2e/KerasModelEndToEndTest.java index 01566932a..d1d1f733f 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/e2e/KerasModelEndToEndTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/e2e/KerasModelEndToEndTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.e2e; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/e2e/KerasYolo9000PredictTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/e2e/KerasYolo9000PredictTest.java index 6c7a93f24..013746149 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/e2e/KerasYolo9000PredictTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/e2e/KerasYolo9000PredictTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.e2e; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/e2e/KerasYolo9000Test.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/e2e/KerasYolo9000Test.java index c8ff853e5..d6a931132 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/e2e/KerasYolo9000Test.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/e2e/KerasYolo9000Test.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.e2e; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activation/KerasLeakyReLUTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activation/KerasLeakyReLUTest.java index e16da1bfa..d6941b0cc 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activation/KerasLeakyReLUTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activation/KerasLeakyReLUTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.advanced.activation; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activation/KerasPReLUTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activation/KerasPReLUTest.java index ee7c0ab48..af5ca4021 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activation/KerasPReLUTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activation/KerasPReLUTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.advanced.activation; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activation/KerasThresholdedReLUTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activation/KerasThresholdedReLUTest.java index 1b24c1ff2..98fd9b347 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activation/KerasThresholdedReLUTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/advanced/activation/KerasThresholdedReLUTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.advanced.activation; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasAtrousConvolution1DTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasAtrousConvolution1DTest.java index 1b3c98f60..0880e5e70 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasAtrousConvolution1DTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasAtrousConvolution1DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasAtrousConvolution2DTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasAtrousConvolution2DTest.java index 411127bd7..2e25dc8a3 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasAtrousConvolution2DTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasAtrousConvolution2DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasConvolution1DTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasConvolution1DTest.java index f12d66f56..7dd793772 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasConvolution1DTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasConvolution1DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasConvolution2DTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasConvolution2DTest.java index 8f61d7038..5563d0979 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasConvolution2DTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasConvolution2DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasConvolution3DTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasConvolution3DTest.java index 11177c5dd..cc22b86b0 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasConvolution3DTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasConvolution3DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasCropping1DTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasCropping1DTest.java index 86fb5591b..82841f7d8 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasCropping1DTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasCropping1DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasCropping2DTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasCropping2DTest.java index 88226704e..7f06618bb 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasCropping2DTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasCropping2DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasCropping3DTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasCropping3DTest.java index 392195e0e..617e9e628 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasCropping3DTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasCropping3DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasDeconvolution2DTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasDeconvolution2DTest.java index 177e2e717..20efd0ae3 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasDeconvolution2DTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasDeconvolution2DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasDepthwiseConvolution2DTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasDepthwiseConvolution2DTest.java index d0fdb5df4..6a45d0703 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasDepthwiseConvolution2DTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasDepthwiseConvolution2DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasSeparableConvolution2DTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasSeparableConvolution2DTest.java index f8ec7e163..73dd6ca53 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasSeparableConvolution2DTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasSeparableConvolution2DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasUpsampling1DTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasUpsampling1DTest.java index c93a0fe32..07862fa9c 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasUpsampling1DTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasUpsampling1DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasUpsampling2DTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasUpsampling2DTest.java index 8033f24e7..030bc40c3 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasUpsampling2DTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasUpsampling2DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasUpsampling3DTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasUpsampling3DTest.java index 578d92276..6ecc7a59c 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasUpsampling3DTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasUpsampling3DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasZeroPadding1DTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasZeroPadding1DTest.java index aa2d96653..eab1aee64 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasZeroPadding1DTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasZeroPadding1DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasZeroPadding2DTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasZeroPadding2DTest.java index 08d6e57a9..960a37df0 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasZeroPadding2DTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasZeroPadding2DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasZeroPadding3DTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasZeroPadding3DTest.java index 960a0194e..123986e6e 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasZeroPadding3DTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/convolution/KerasZeroPadding3DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasActivationLayer.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasActivationLayer.java index e19178ea3..d8a83a71b 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasActivationLayer.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasActivationLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.core; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasDenseTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasDenseTest.java index f2ad5c242..0751d4261 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasDenseTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasDenseTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.core; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasDropoutTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasDropoutTest.java index 943a76b26..6a2ceaa40 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasDropoutTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasDropoutTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.core; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasMaskingTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasMaskingTest.java index 76e5c6239..3cfb94cb4 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasMaskingTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasMaskingTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.core; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasPermuteTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasPermuteTest.java index 218e2fc7c..15f0bef8e 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasPermuteTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasPermuteTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.core; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasRepeatVectorTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasRepeatVectorTest.java index 2a448bf4c..8843078c8 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasRepeatVectorTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasRepeatVectorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.core; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasReshapeTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasReshapeTest.java index 7adfa09c7..11451f360 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasReshapeTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasReshapeTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.core; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasSpatialDropout2DTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasSpatialDropout2DTest.java index dc17a4946..ca710cd4d 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasSpatialDropout2DTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/core/KerasSpatialDropout2DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.core; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/embeddings/KerasEmbeddingTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/embeddings/KerasEmbeddingTest.java index 55274209d..1f1a94315 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/embeddings/KerasEmbeddingTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/embeddings/KerasEmbeddingTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.embeddings; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/flatten/KerasFlatten3dTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/flatten/KerasFlatten3dTest.java new file mode 100644 index 000000000..c9a616080 --- /dev/null +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/flatten/KerasFlatten3dTest.java @@ -0,0 +1,59 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.nn.modelimport.keras.layers.flatten; + +import org.deeplearning4j.nn.conf.InputPreProcessor; +import org.deeplearning4j.nn.conf.preprocessor.Cnn3DToFeedForwardPreProcessor; +import org.deeplearning4j.nn.graph.ComputationGraph; +import org.deeplearning4j.nn.graph.vertex.GraphVertex; +import org.deeplearning4j.nn.graph.vertex.impl.PreprocessorVertex; +import org.deeplearning4j.nn.modelimport.keras.KerasModelImport; +import org.junit.Test; +import org.nd4j.common.io.ClassPathResource; + +import java.io.InputStream; + +import static org.junit.Assert.*; + +public class KerasFlatten3dTest { + + + @Test + public void testFlatten3d() throws Exception { + ClassPathResource classPathResource = new ClassPathResource("modelimport/keras/weights/flatten_3d.hdf5"); + try(InputStream inputStream = classPathResource.getInputStream()) { + ComputationGraph computationGraph = KerasModelImport.importKerasModelAndWeights(inputStream); + assertNotNull(computationGraph); + assertEquals(3,computationGraph.getVertices().length); + GraphVertex[] vertices = computationGraph.getVertices(); + assertTrue(vertices[1] instanceof PreprocessorVertex); + PreprocessorVertex preprocessorVertex = (PreprocessorVertex) vertices[1]; + InputPreProcessor preProcessor = preprocessorVertex.getPreProcessor(); + assertTrue(preProcessor instanceof Cnn3DToFeedForwardPreProcessor); + Cnn3DToFeedForwardPreProcessor cnn3DToFeedForwardPreProcessor = (Cnn3DToFeedForwardPreProcessor) preProcessor; + assertTrue(cnn3DToFeedForwardPreProcessor.isNCDHW()); + assertEquals(10,cnn3DToFeedForwardPreProcessor.getInputDepth()); + assertEquals(10,cnn3DToFeedForwardPreProcessor.getInputHeight()); + assertEquals(1,cnn3DToFeedForwardPreProcessor.getNumChannels()); + assertEquals(10,cnn3DToFeedForwardPreProcessor.getInputWidth()); + System.out.println(cnn3DToFeedForwardPreProcessor); + } + } + +} diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/local/KerasLocallyConnected1DTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/local/KerasLocallyConnected1DTest.java index cc91c89bb..a476401ad 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/local/KerasLocallyConnected1DTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/local/KerasLocallyConnected1DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.local; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/local/KerasLocallyConnected2DTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/local/KerasLocallyConnected2DTest.java index cb05d4597..5fb5c493f 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/local/KerasLocallyConnected2DTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/local/KerasLocallyConnected2DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.local; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/noise/KerasAlphaDropoutTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/noise/KerasAlphaDropoutTest.java index 3a632f2b4..2f4ade637 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/noise/KerasAlphaDropoutTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/noise/KerasAlphaDropoutTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.noise; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/noise/KerasGaussianDropoutTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/noise/KerasGaussianDropoutTest.java index b759dd370..c5b240b76 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/noise/KerasGaussianDropoutTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/noise/KerasGaussianDropoutTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.noise; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/noise/KerasGaussianNoiseTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/noise/KerasGaussianNoiseTest.java index be01a06c5..60c249677 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/noise/KerasGaussianNoiseTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/noise/KerasGaussianNoiseTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.noise; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/normalization/KerasBatchNormalizationTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/normalization/KerasBatchNormalizationTest.java index e240b19f0..388f8a55f 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/normalization/KerasBatchNormalizationTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/normalization/KerasBatchNormalizationTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.normalization; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPooling1DTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPooling1DTest.java index 25acee41a..94e71442a 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPooling1DTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPooling1DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.pooling; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPooling2DTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPooling2DTest.java index 137f8ca00..3dc31c35c 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPooling2DTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPooling2DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.pooling; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPooling3DTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPooling3DTest.java index 153e41103..9d464f63c 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPooling3DTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/pooling/KerasPooling3DTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.pooling; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/recurrent/KerasLSTMTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/recurrent/KerasLSTMTest.java index 60b1044d9..423dbf80e 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/recurrent/KerasLSTMTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/recurrent/KerasLSTMTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/recurrent/KerasSimpleRnnTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/recurrent/KerasSimpleRnnTest.java index 2abcd3e2a..5d25c34c4 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/recurrent/KerasSimpleRnnTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/recurrent/KerasSimpleRnnTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/wrappers/KerasBidirectionalTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/wrappers/KerasBidirectionalTest.java index 0613ecf67..23bdede4f 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/wrappers/KerasBidirectionalTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/layers/wrappers/KerasBidirectionalTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.layers.wrappers; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/optimizers/OptimizerImport.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/optimizers/OptimizerImport.java index 0e8d6feb8..d26c89a81 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/optimizers/OptimizerImport.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/optimizers/OptimizerImport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.optimizers; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/sequence/TimeSeriesGeneratorImportTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/sequence/TimeSeriesGeneratorImportTest.java index 035d0025d..964fe758d 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/sequence/TimeSeriesGeneratorImportTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/sequence/TimeSeriesGeneratorImportTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.preprocessing.sequence; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/sequence/TimeSeriesGeneratorTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/sequence/TimeSeriesGeneratorTest.java index 7495446ee..26844bada 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/sequence/TimeSeriesGeneratorTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/sequence/TimeSeriesGeneratorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.preprocessing.sequence; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/text/TokenizerImportTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/text/TokenizerImportTest.java index f464384df..fb763b184 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/text/TokenizerImportTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/text/TokenizerImportTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.preprocessing.text; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/text/TokenizerTest.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/text/TokenizerTest.java index cebb22fb4..9dd6e262c 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/text/TokenizerTest.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/preprocessing/text/TokenizerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.preprocessing.text; diff --git a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/weights/KerasWeightSettingTests.java b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/weights/KerasWeightSettingTests.java index d32f07496..9583b24b7 100644 --- a/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/weights/KerasWeightSettingTests.java +++ b/deeplearning4j/deeplearning4j-modelimport/src/test/java/org/deeplearning4j/nn/modelimport/keras/weights/KerasWeightSettingTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.modelimport.keras.weights; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbor-server/pom.xml b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbor-server/pom.xml index 9820c29f2..20e158e8a 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbor-server/pom.xml +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbor-server/pom.xml @@ -1,60 +1,42 @@ - + + + + + + 4.0.0 - - deeplearning4j-nearestneighbors-parent org.deeplearning4j + deeplearning4j-nearestneighbors-parent 1.0.0-SNAPSHOT - 4.0.0 deeplearning4j-nearestneighbor-server jar deeplearning4j-nearestneighbor-server - - - - - org.apache.maven.plugins - maven-surefire-plugin - - -Ddtype=float -Dfile.encoding=UTF-8 -Xmx8g - - - *.java - **/*.java - - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.8 - 1.8 - - - - - + + 1.8 + @@ -67,19 +49,16 @@ deeplearning4j-core ${project.version} - io.vertx vertx-core ${vertx.version} - io.vertx vertx-web ${vertx.version} - com.mashape.unirest unirest-java @@ -97,7 +76,6 @@ jcommander ${jcommander.version} - ch.qos.logback logback-classic @@ -111,6 +89,31 @@ + + + + org.apache.maven.plugins + maven-surefire-plugin + + -Dfile.encoding=UTF-8 -Xmx8g + + + *.java + **/*.java + + + + + org.apache.maven.plugins + maven-compiler-plugin + + ${java.compile.version} + ${java.compile.version} + + + + + test-nd4j-native @@ -123,7 +126,6 @@ - test-nd4j-cuda-11.0 diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbor-server/src/main/java/org/deeplearning4j/nearestneighbor/server/NearestNeighbor.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbor-server/src/main/java/org/deeplearning4j/nearestneighbor/server/NearestNeighbor.java index 2adb88fa2..213253ac5 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbor-server/src/main/java/org/deeplearning4j/nearestneighbor/server/NearestNeighbor.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbor-server/src/main/java/org/deeplearning4j/nearestneighbor/server/NearestNeighbor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nearestneighbor.server; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbor-server/src/main/java/org/deeplearning4j/nearestneighbor/server/NearestNeighborsServer.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbor-server/src/main/java/org/deeplearning4j/nearestneighbor/server/NearestNeighborsServer.java index 33c651dee..d995bb751 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbor-server/src/main/java/org/deeplearning4j/nearestneighbor/server/NearestNeighborsServer.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbor-server/src/main/java/org/deeplearning4j/nearestneighbor/server/NearestNeighborsServer.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nearestneighbor.server; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbor-server/src/test/java/org/deeplearning4j/nearestneighbor/server/NearestNeighborTest.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbor-server/src/test/java/org/deeplearning4j/nearestneighbor/server/NearestNeighborTest.java index 4555511ce..34d5e4023 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbor-server/src/test/java/org/deeplearning4j/nearestneighbor/server/NearestNeighborTest.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbor-server/src/test/java/org/deeplearning4j/nearestneighbor/server/NearestNeighborTest.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nearestneighbor.server; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbor-server/src/test/resources/logback.xml b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbor-server/src/test/resources/logback.xml index 7d49481af..aacdbea43 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbor-server/src/test/resources/logback.xml +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbor-server/src/test/resources/logback.xml @@ -1,18 +1,20 @@ - + diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-client/pom.xml b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-client/pom.xml index eed007f32..f9d187170 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-client/pom.xml +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-client/pom.xml @@ -1,35 +1,39 @@ - + + + + + + 4.0.0 - - deeplearning4j-nearestneighbors-parent org.deeplearning4j + deeplearning4j-nearestneighbors-parent 1.0.0-SNAPSHOT - 4.0.0 deeplearning4j-nearestneighbors-client jar deeplearning4j-nearestneighbors-client - - com.mashape.unirest @@ -43,7 +47,6 @@ - test-nd4j-native diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-client/src/main/java/org/deeplearning4j/nearestneighbor/client/NearestNeighborsClient.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-client/src/main/java/org/deeplearning4j/nearestneighbor/client/NearestNeighborsClient.java index 4c14f4c3d..de7714942 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-client/src/main/java/org/deeplearning4j/nearestneighbor/client/NearestNeighborsClient.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-client/src/main/java/org/deeplearning4j/nearestneighbor/client/NearestNeighborsClient.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nearestneighbor.client; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/pom.xml b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/pom.xml index 902a67ae7..db747a32d 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/pom.xml +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/pom.xml @@ -1,37 +1,38 @@ - + + + + + + 4.0.0 - - deeplearning4j-nearestneighbors-parent org.deeplearning4j + deeplearning4j-nearestneighbors-parent 1.0.0-SNAPSHOT - 4.0.0 deeplearning4j-nearestneighbors-model jar deeplearning4j-nearestneighbors-model - http://maven.apache.org - - - UTF-8 - @@ -47,7 +48,6 @@ - test-nd4j-native diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/src/main/java/org/deeplearning4j/nearestneighbor/model/Base64NDArrayBody.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/src/main/java/org/deeplearning4j/nearestneighbor/model/Base64NDArrayBody.java index 83813e3d0..ade6260f9 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/src/main/java/org/deeplearning4j/nearestneighbor/model/Base64NDArrayBody.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/src/main/java/org/deeplearning4j/nearestneighbor/model/Base64NDArrayBody.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nearestneighbor.model; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/src/main/java/org/deeplearning4j/nearestneighbor/model/BatchRecord.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/src/main/java/org/deeplearning4j/nearestneighbor/model/BatchRecord.java index a315d0402..69bdcc605 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/src/main/java/org/deeplearning4j/nearestneighbor/model/BatchRecord.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/src/main/java/org/deeplearning4j/nearestneighbor/model/BatchRecord.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nearestneighbor.model; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/src/main/java/org/deeplearning4j/nearestneighbor/model/CSVRecord.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/src/main/java/org/deeplearning4j/nearestneighbor/model/CSVRecord.java index b40a4e091..f58b294ff 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/src/main/java/org/deeplearning4j/nearestneighbor/model/CSVRecord.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/src/main/java/org/deeplearning4j/nearestneighbor/model/CSVRecord.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nearestneighbor.model; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/src/main/java/org/deeplearning4j/nearestneighbor/model/NearestNeighborRequest.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/src/main/java/org/deeplearning4j/nearestneighbor/model/NearestNeighborRequest.java index 06d4006c1..dea2685ca 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/src/main/java/org/deeplearning4j/nearestneighbor/model/NearestNeighborRequest.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/src/main/java/org/deeplearning4j/nearestneighbor/model/NearestNeighborRequest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nearestneighbor.model; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/src/main/java/org/deeplearning4j/nearestneighbor/model/NearestNeighborsResult.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/src/main/java/org/deeplearning4j/nearestneighbor/model/NearestNeighborsResult.java index e3134bbf7..2cebc7edf 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/src/main/java/org/deeplearning4j/nearestneighbor/model/NearestNeighborsResult.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/src/main/java/org/deeplearning4j/nearestneighbor/model/NearestNeighborsResult.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nearestneighbor.model; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/src/main/java/org/deeplearning4j/nearestneighbor/model/NearestNeighborsResults.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/src/main/java/org/deeplearning4j/nearestneighbor/model/NearestNeighborsResults.java index 0075c620b..e8f66cb41 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/src/main/java/org/deeplearning4j/nearestneighbor/model/NearestNeighborsResults.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbors-model/src/main/java/org/deeplearning4j/nearestneighbor/model/NearestNeighborsResults.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nearestneighbor.model; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/pom.xml b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/pom.xml index 6987dc556..786c02805 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/pom.xml +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/pom.xml @@ -1,37 +1,39 @@ - + + + + + + 4.0.0 - - deeplearning4j-nearestneighbors-parent org.deeplearning4j + deeplearning4j-nearestneighbors-parent 1.0.0-SNAPSHOT - 4.0.0 nearestneighbor-core jar nearestneighbor-core - - UTF-8 - - org.nd4j @@ -41,7 +43,6 @@ junit junit - test ch.qos.logback @@ -59,7 +60,6 @@ ${project.version} test - joda-time joda-time @@ -74,7 +74,6 @@ - test-nd4j-native @@ -87,7 +86,6 @@ - test-nd4j-cuda-11.0 diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/algorithm/BaseClusteringAlgorithm.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/algorithm/BaseClusteringAlgorithm.java index 9ff125ad9..6f22b5166 100755 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/algorithm/BaseClusteringAlgorithm.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/algorithm/BaseClusteringAlgorithm.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.algorithm; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/algorithm/ClusteringAlgorithm.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/algorithm/ClusteringAlgorithm.java index b5fa5c1c5..242a975c6 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/algorithm/ClusteringAlgorithm.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/algorithm/ClusteringAlgorithm.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.algorithm; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/algorithm/Distance.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/algorithm/Distance.java index 6aff39dbb..c84d43708 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/algorithm/Distance.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/algorithm/Distance.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.algorithm; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/cluster/CentersHolder.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/cluster/CentersHolder.java index 25542dc8f..139604400 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/cluster/CentersHolder.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/cluster/CentersHolder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.cluster; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/cluster/Cluster.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/cluster/Cluster.java index c9b1d806c..de9f04169 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/cluster/Cluster.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/cluster/Cluster.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.cluster; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/cluster/ClusterSet.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/cluster/ClusterSet.java index d7241eed9..a6a472f43 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/cluster/ClusterSet.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/cluster/ClusterSet.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.cluster; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/cluster/ClusterUtils.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/cluster/ClusterUtils.java index 54f355b67..43cc53dd5 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/cluster/ClusterUtils.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/cluster/ClusterUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.cluster; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/cluster/Point.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/cluster/Point.java index 86bbe439a..29cc66caf 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/cluster/Point.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/cluster/Point.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.cluster; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/cluster/PointClassification.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/cluster/PointClassification.java index 9f99287d0..4329f67ed 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/cluster/PointClassification.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/cluster/PointClassification.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.cluster; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/condition/ClusteringAlgorithmCondition.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/condition/ClusteringAlgorithmCondition.java index f5ee6b195..5200403ab 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/condition/ClusteringAlgorithmCondition.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/condition/ClusteringAlgorithmCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.condition; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/condition/ConvergenceCondition.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/condition/ConvergenceCondition.java index 93fc2b8bc..a838c28bb 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/condition/ConvergenceCondition.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/condition/ConvergenceCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.condition; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/condition/FixedIterationCountCondition.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/condition/FixedIterationCountCondition.java index cf2df786b..a943eaff3 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/condition/FixedIterationCountCondition.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/condition/FixedIterationCountCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.condition; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/condition/VarianceVariationCondition.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/condition/VarianceVariationCondition.java index 783b67fde..a08eebce2 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/condition/VarianceVariationCondition.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/condition/VarianceVariationCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.condition; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/info/ClusterInfo.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/info/ClusterInfo.java index dd78e30f0..09aafdf15 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/info/ClusterInfo.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/info/ClusterInfo.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.info; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/info/ClusterSetInfo.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/info/ClusterSetInfo.java index cae103f10..d278e03d2 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/info/ClusterSetInfo.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/info/ClusterSetInfo.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.info; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/iteration/IterationHistory.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/iteration/IterationHistory.java index 82dea11ca..03567e0a9 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/iteration/IterationHistory.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/iteration/IterationHistory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.iteration; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/iteration/IterationInfo.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/iteration/IterationInfo.java index d9f32f58e..a295d5c78 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/iteration/IterationInfo.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/iteration/IterationInfo.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.iteration; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/kdtree/HyperRect.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/kdtree/HyperRect.java index 013263629..a490fbd61 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/kdtree/HyperRect.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/kdtree/HyperRect.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.kdtree; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/kdtree/KDTree.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/kdtree/KDTree.java index 68ccf6281..43276947e 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/kdtree/KDTree.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/kdtree/KDTree.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.kdtree; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/kmeans/KMeansClustering.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/kmeans/KMeansClustering.java index e95cd5c9e..6c8b1e195 100755 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/kmeans/KMeansClustering.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/kmeans/KMeansClustering.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.kmeans; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/lsh/LSH.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/lsh/LSH.java index e4e6e99fd..721b2a526 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/lsh/LSH.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/lsh/LSH.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.lsh; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/lsh/RandomProjectionLSH.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/lsh/RandomProjectionLSH.java index 75e342e78..ff4de65ef 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/lsh/RandomProjectionLSH.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/lsh/RandomProjectionLSH.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.lsh; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/optimisation/ClusteringOptimization.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/optimisation/ClusteringOptimization.java index 231939bf3..acc790c8c 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/optimisation/ClusteringOptimization.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/optimisation/ClusteringOptimization.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.optimisation; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/optimisation/ClusteringOptimizationType.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/optimisation/ClusteringOptimizationType.java index e2d09b94f..22b88f0f5 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/optimisation/ClusteringOptimizationType.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/optimisation/ClusteringOptimizationType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.optimisation; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/quadtree/Cell.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/quadtree/Cell.java index 3db3aff91..a79638c05 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/quadtree/Cell.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/quadtree/Cell.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.quadtree; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/quadtree/QuadTree.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/quadtree/QuadTree.java index 0fbf8afec..747fe9b69 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/quadtree/QuadTree.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/quadtree/QuadTree.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.quadtree; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/randomprojection/RPForest.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/randomprojection/RPForest.java index a5966af22..87b3c1dc1 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/randomprojection/RPForest.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/randomprojection/RPForest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.randomprojection; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/randomprojection/RPHyperPlanes.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/randomprojection/RPHyperPlanes.java index 0d4b856f2..9d169b833 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/randomprojection/RPHyperPlanes.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/randomprojection/RPHyperPlanes.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.randomprojection; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/randomprojection/RPNode.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/randomprojection/RPNode.java index faf054569..01a848fd8 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/randomprojection/RPNode.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/randomprojection/RPNode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.randomprojection; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/randomprojection/RPTree.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/randomprojection/RPTree.java index 1360a5c92..031845d7b 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/randomprojection/RPTree.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/randomprojection/RPTree.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.randomprojection; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/randomprojection/RPUtils.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/randomprojection/RPUtils.java index d9653ff10..9eafdbd81 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/randomprojection/RPUtils.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/randomprojection/RPUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.randomprojection; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/sptree/Cell.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/sptree/Cell.java index 2781f2ce4..0f3147eb6 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/sptree/Cell.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/sptree/Cell.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.sptree; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/sptree/DataPoint.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/sptree/DataPoint.java index ae9902de0..5f9544016 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/sptree/DataPoint.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/sptree/DataPoint.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.sptree; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/sptree/HeapItem.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/sptree/HeapItem.java index 6b2f55481..2e3118048 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/sptree/HeapItem.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/sptree/HeapItem.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.sptree; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/sptree/HeapObject.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/sptree/HeapObject.java index e154a75f1..3170abffc 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/sptree/HeapObject.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/sptree/HeapObject.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.sptree; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/sptree/SpTree.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/sptree/SpTree.java index 442894b5a..821019297 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/sptree/SpTree.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/sptree/SpTree.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.sptree; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/strategy/BaseClusteringStrategy.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/strategy/BaseClusteringStrategy.java index 42592335b..5a06b10db 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/strategy/BaseClusteringStrategy.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/strategy/BaseClusteringStrategy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.strategy; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/strategy/ClusteringStrategy.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/strategy/ClusteringStrategy.java index 2ac66ef14..85bd19623 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/strategy/ClusteringStrategy.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/strategy/ClusteringStrategy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.strategy; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/strategy/ClusteringStrategyType.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/strategy/ClusteringStrategyType.java index 5d67974cf..e02adc3ed 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/strategy/ClusteringStrategyType.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/strategy/ClusteringStrategyType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.strategy; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/strategy/FixedClusterCountStrategy.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/strategy/FixedClusterCountStrategy.java index a6bdd285d..52ff0d61b 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/strategy/FixedClusterCountStrategy.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/strategy/FixedClusterCountStrategy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.strategy; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/strategy/OptimisationStrategy.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/strategy/OptimisationStrategy.java index ac697cb2b..e7ad6ee2d 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/strategy/OptimisationStrategy.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/strategy/OptimisationStrategy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.strategy; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/util/MathUtils.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/util/MathUtils.java index 0f657569e..c61d6b293 100755 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/util/MathUtils.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/util/MathUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.util; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/util/MultiThreadUtils.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/util/MultiThreadUtils.java index 5ca73a1ac..41a3a8fce 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/util/MultiThreadUtils.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/util/MultiThreadUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.util; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/util/SetUtils.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/util/SetUtils.java index 00f5be11a..3cef17b4a 100755 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/util/SetUtils.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/util/SetUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.util; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/vptree/VPTree.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/vptree/VPTree.java index 417154cf2..6cd8ea797 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/vptree/VPTree.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/vptree/VPTree.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.vptree; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/vptree/VPTreeFillSearch.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/vptree/VPTreeFillSearch.java index 9dbc75416..20f1b6f35 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/vptree/VPTreeFillSearch.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/vptree/VPTreeFillSearch.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.vptree; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/vptree/package-info.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/vptree/package-info.java index 487753a00..9dbc553c2 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/vptree/package-info.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/main/java/org/deeplearning4j/clustering/vptree/package-info.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /** * Created by agibsonccc on 1/3/15. diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/cluster/ClusterSetTest.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/cluster/ClusterSetTest.java index 381502b93..f95c87eb7 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/cluster/ClusterSetTest.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/cluster/ClusterSetTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.clustering.cluster; import org.junit.Assert; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/kdtree/KDTreeTest.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/kdtree/KDTreeTest.java index e938dfdfe..b3428aa91 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/kdtree/KDTreeTest.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/kdtree/KDTreeTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.kdtree; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/kmeans/KMeansTest.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/kmeans/KMeansTest.java index e01274a71..0255ff3cf 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/kmeans/KMeansTest.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/kmeans/KMeansTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.kmeans; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/lsh/RandomProjectionLSHTest.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/lsh/RandomProjectionLSHTest.java index d9a041f0b..730037e51 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/lsh/RandomProjectionLSHTest.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/lsh/RandomProjectionLSHTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.lsh; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/quadtree/QuadTreeTest.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/quadtree/QuadTreeTest.java index ec304b0c1..bd668ef97 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/quadtree/QuadTreeTest.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/quadtree/QuadTreeTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.quadtree; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/randomprojection/RPTreeTest.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/randomprojection/RPTreeTest.java index 05bbb1cc9..c177a6b62 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/randomprojection/RPTreeTest.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/randomprojection/RPTreeTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.randomprojection; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/randomprojection/RPUtilsTest.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/randomprojection/RPUtilsTest.java index cb3af27bc..e861f8ea0 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/randomprojection/RPUtilsTest.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/randomprojection/RPUtilsTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.randomprojection; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/sptree/SPTreeTest.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/sptree/SPTreeTest.java index 5034a124a..c33952fe1 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/sptree/SPTreeTest.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/sptree/SPTreeTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.sptree; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/vptree/VPTreeSerializationTests.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/vptree/VPTreeSerializationTests.java index b67d5ccbf..7d7c78680 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/vptree/VPTreeSerializationTests.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/vptree/VPTreeSerializationTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.vptree; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/vptree/VpTreeNodeTest.java b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/vptree/VpTreeNodeTest.java index 439165051..19fa2e18a 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/vptree/VpTreeNodeTest.java +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/nearestneighbor-core/src/test/java/org/deeplearning4j/clustering/vptree/VpTreeNodeTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.clustering.vptree; diff --git a/deeplearning4j/deeplearning4j-nearestneighbors-parent/pom.xml b/deeplearning4j/deeplearning4j-nearestneighbors-parent/pom.xml index 70778f67d..b89ac17ba 100644 --- a/deeplearning4j/deeplearning4j-nearestneighbors-parent/pom.xml +++ b/deeplearning4j/deeplearning4j-nearestneighbors-parent/pom.xml @@ -1,33 +1,39 @@ - + + + + + + 4.0.0 - - deeplearning4j-parent org.deeplearning4j + deeplearning4j-parent 1.0.0-SNAPSHOT - 4.0.0 deeplearning4j-nearestneighbors-parent pom deeplearning4j-nearestneighbors-parent + deeplearning4j-nearestneighbor-server nearestneighbor-core @@ -35,10 +41,6 @@ deeplearning4j-nearestneighbors-model - - - - test-nd4j-native diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/pom.xml b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/pom.xml index 3b0fd8944..099b671cb 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/pom.xml +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/pom.xml @@ -1,51 +1,48 @@ - + + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + 4.0.0 + - deeplearning4j-nlp-parent org.deeplearning4j + deeplearning4j-nlp-parent 1.0.0-SNAPSHOT - 4.0.0 org.deeplearning4j deeplearning4j-nlp-chinese 1.0.0-SNAPSHOT - - - The Apache Software License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - - - 1.6.4 0.9.28 + 1.7.2 + junit junit - test org.deeplearning4j @@ -55,16 +52,9 @@ org.nlpcn nlp-lang - 1.7.2 + ${nlp-lang.version} compile - - - org.deeplearning4j - deeplearning4j-common-tests - ${project.version} - test - @@ -75,5 +65,4 @@ test-nd4j-cuda-11.0 - \ No newline at end of file diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/Config.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/Config.java index c293009e4..c0759692e 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/Config.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/Config.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.app.crf; import org.ansj.app.crf.pojo.Element; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/MakeTrainFile.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/MakeTrainFile.java index 005d4367e..97250618a 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/MakeTrainFile.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/MakeTrainFile.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.app.crf; import org.ansj.app.crf.pojo.Element; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/Model.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/Model.java index aedacee25..bfb365825 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/Model.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/Model.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.app.crf; import org.ansj.app.crf.model.CRFModel; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/SplitWord.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/SplitWord.java index 59fc2a6ff..e5af18bae 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/SplitWord.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/SplitWord.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.app.crf; import org.ansj.app.crf.pojo.Element; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/model/CRFModel.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/model/CRFModel.java index 19a3ddf3f..9861d7265 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/model/CRFModel.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/model/CRFModel.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.app.crf.model; import org.ansj.app.crf.Config; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/model/CRFppTxtModel.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/model/CRFppTxtModel.java index 6ca91b2e0..4c8fd4f5b 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/model/CRFppTxtModel.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/model/CRFppTxtModel.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.app.crf.model; import org.ansj.app.crf.Config; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/model/WapitiCRFModel.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/model/WapitiCRFModel.java index 22ae1be93..fe776cf34 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/model/WapitiCRFModel.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/model/WapitiCRFModel.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.app.crf.model; import org.ansj.app.crf.Config; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/pojo/Element.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/pojo/Element.java index 98b50828d..bee9c1b17 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/pojo/Element.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/crf/pojo/Element.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.app.crf.pojo; import org.ansj.app.crf.Config; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/keyword/KeyWordComputer.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/keyword/KeyWordComputer.java index 2d86711cc..6bef7830e 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/keyword/KeyWordComputer.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/keyword/KeyWordComputer.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.app.keyword; import org.ansj.domain.Term; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/keyword/Keyword.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/keyword/Keyword.java index 33f9f4f08..787624f56 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/keyword/Keyword.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/keyword/Keyword.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.app.keyword; public class Keyword implements Comparable { diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/keyword/package-info.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/keyword/package-info.java index 7da91a9e0..a9fec88c1 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/keyword/package-info.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/keyword/package-info.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + /** * @author 崇伟峰 * diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/summary/SummaryComputer.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/summary/SummaryComputer.java index ebd101145..566c40f7a 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/summary/SummaryComputer.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/summary/SummaryComputer.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.app.summary; import org.ansj.app.keyword.KeyWordComputer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/summary/TagContent.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/summary/TagContent.java index 9012d5468..45f97b16f 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/summary/TagContent.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/summary/TagContent.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.app.summary; import org.ansj.app.keyword.Keyword; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/summary/pojo/Summary.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/summary/pojo/Summary.java index 392950aa0..038507138 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/summary/pojo/Summary.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/app/summary/pojo/Summary.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.app.summary.pojo; import org.ansj.app.keyword.Keyword; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/DicReader.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/DicReader.java index 846fa4cff..350a53700 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/DicReader.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/DicReader.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.dic; import org.nlpcn.commons.lang.util.logging.Log; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/LearnTool.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/LearnTool.java index e7b108c8a..7ab4c34d3 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/LearnTool.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/LearnTool.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.dic; import org.ansj.app.crf.SplitWord; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/PathToStream.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/PathToStream.java index 3b1d88546..177235ccf 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/PathToStream.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/PathToStream.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.dic; import org.ansj.dic.impl.File2Stream; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/impl/File2Stream.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/impl/File2Stream.java index 4672c4881..9e76768e5 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/impl/File2Stream.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/impl/File2Stream.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.dic.impl; import org.ansj.dic.PathToStream; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/impl/Jar2Stream.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/impl/Jar2Stream.java index 6d423acd5..1b752eed3 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/impl/Jar2Stream.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/impl/Jar2Stream.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.dic.impl; import org.ansj.dic.DicReader; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/impl/Jdbc2Stream.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/impl/Jdbc2Stream.java index f8dba2159..7fb1de046 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/impl/Jdbc2Stream.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/impl/Jdbc2Stream.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.dic.impl; import org.ansj.dic.PathToStream; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/impl/Url2Stream.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/impl/Url2Stream.java index e53415ba7..b343db90a 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/impl/Url2Stream.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/dic/impl/Url2Stream.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.dic.impl; import org.ansj.dic.PathToStream; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/AnsjItem.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/AnsjItem.java index cabd19e05..9de3bcc8f 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/AnsjItem.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/AnsjItem.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.domain; import org.nlpcn.commons.lang.dat.Item; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/KV.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/KV.java index 442a9a7c0..4b232fbd9 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/KV.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/KV.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.domain; public class KV { diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/Nature.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/Nature.java index 024e8cb10..7382854aa 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/Nature.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/Nature.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.domain; import org.ansj.library.NatureLibrary; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/NewWord.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/NewWord.java index 26bceeb28..4df6e6ae4 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/NewWord.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/NewWord.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.domain; import java.io.Serializable; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/NumNatureAttr.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/NumNatureAttr.java index 4204fe3b4..e0137ad94 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/NumNatureAttr.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/NumNatureAttr.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.domain; import java.io.Serializable; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/PersonNatureAttr.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/PersonNatureAttr.java index 6ca894d2e..aa66c740f 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/PersonNatureAttr.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/PersonNatureAttr.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.domain; import java.io.Serializable; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/Result.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/Result.java index 097269ff4..ccf529653 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/Result.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/Result.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.domain; import org.ansj.recognition.Recognition; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/Term.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/Term.java index 6dc12533d..bd2214c65 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/Term.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/Term.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.domain; import org.ansj.util.MathUtil; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/TermNature.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/TermNature.java index 2db848a3f..741e18bda 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/TermNature.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/TermNature.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.domain; import org.ansj.library.NatureLibrary; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/TermNatures.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/TermNatures.java index 9fe92a629..37e35cdcb 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/TermNatures.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/domain/TermNatures.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.domain; import java.io.Serializable; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/exception/LibraryException.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/exception/LibraryException.java index 18cabf588..910bcea92 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/exception/LibraryException.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/exception/LibraryException.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.exception; public class LibraryException extends RuntimeException { diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/AmbiguityLibrary.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/AmbiguityLibrary.java index 0df8bec55..5d44f008e 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/AmbiguityLibrary.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/AmbiguityLibrary.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.library; import org.ansj.dic.PathToStream; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/CrfLibrary.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/CrfLibrary.java index 8079799a1..5d6c0ccdd 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/CrfLibrary.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/CrfLibrary.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.library; import org.ansj.app.crf.Model; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/DATDictionary.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/DATDictionary.java index 2efb796f9..37a44d1ee 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/DATDictionary.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/DATDictionary.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.library; import org.ansj.dic.DicReader; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/DicLibrary.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/DicLibrary.java index adda9b21a..64a98da6a 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/DicLibrary.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/DicLibrary.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.library; import org.ansj.dic.PathToStream; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/NatureLibrary.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/NatureLibrary.java index 3dfe471fc..2c3e77257 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/NatureLibrary.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/NatureLibrary.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.library; import org.ansj.domain.Nature; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/NgramLibrary.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/NgramLibrary.java index 1d959765b..9a3811a55 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/NgramLibrary.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/NgramLibrary.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.library; import org.ansj.domain.Term; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/StopLibrary.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/StopLibrary.java index d47b561f1..1a5988a4a 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/StopLibrary.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/StopLibrary.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.library; import org.ansj.dic.PathToStream; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/SynonymsLibrary.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/SynonymsLibrary.java index 12790243a..d204fc137 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/SynonymsLibrary.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/SynonymsLibrary.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.library; import org.ansj.dic.PathToStream; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/company/CompanyAttrLibrary.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/company/CompanyAttrLibrary.java index 52575dd2a..ab90d8a65 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/company/CompanyAttrLibrary.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/company/CompanyAttrLibrary.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.library.company; import org.ansj.util.MyStaticValue; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/name/PersonAttrLibrary.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/name/PersonAttrLibrary.java index 6d5c219ab..5e55e0299 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/name/PersonAttrLibrary.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/library/name/PersonAttrLibrary.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.library.name; import org.ansj.domain.PersonNatureAttr; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/Recognition.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/Recognition.java index 2fdfd77db..b953d0544 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/Recognition.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/Recognition.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.recognition; import org.ansj.domain.Result; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/TermArrRecognition.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/TermArrRecognition.java index 5112b3326..b0553cffd 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/TermArrRecognition.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/TermArrRecognition.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.recognition; import org.ansj.domain.Term; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/arrimpl/AsianPersonRecognition.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/arrimpl/AsianPersonRecognition.java index e3a334321..9fa456f06 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/arrimpl/AsianPersonRecognition.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/arrimpl/AsianPersonRecognition.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.recognition.arrimpl; import org.ansj.domain.*; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/arrimpl/ForeignPersonRecognition.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/arrimpl/ForeignPersonRecognition.java index 2f256dacf..cb84c2abb 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/arrimpl/ForeignPersonRecognition.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/arrimpl/ForeignPersonRecognition.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.recognition.arrimpl; import org.ansj.domain.Nature; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/arrimpl/NewWordRecognition.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/arrimpl/NewWordRecognition.java index a869c3739..3c9809bac 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/arrimpl/NewWordRecognition.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/arrimpl/NewWordRecognition.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.recognition.arrimpl; import org.ansj.dic.LearnTool; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/arrimpl/NumRecognition.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/arrimpl/NumRecognition.java index 4ebd539d0..fa5e7de03 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/arrimpl/NumRecognition.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/arrimpl/NumRecognition.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.recognition.arrimpl; import org.ansj.domain.Term; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/arrimpl/UserDefineRecognition.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/arrimpl/UserDefineRecognition.java index e6b453a62..905f21383 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/arrimpl/UserDefineRecognition.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/arrimpl/UserDefineRecognition.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.recognition.arrimpl; import org.ansj.domain.Term; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/BookRecognition.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/BookRecognition.java index b6ddaefec..9eff9f908 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/BookRecognition.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/BookRecognition.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.recognition.impl; import org.ansj.domain.Nature; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/DicRecognition.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/DicRecognition.java index 70d35a900..471b6bbd9 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/DicRecognition.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/DicRecognition.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.recognition.impl; import org.ansj.domain.Result; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/EmailRecognition.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/EmailRecognition.java index b91f4c8f9..1e00e400b 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/EmailRecognition.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/EmailRecognition.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.recognition.impl; import org.ansj.domain.Result; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/IDCardRecognition.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/IDCardRecognition.java index 1f0ef26c5..6dcc5c2b0 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/IDCardRecognition.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/IDCardRecognition.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.recognition.impl; import org.ansj.domain.Nature; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/NatureRecognition.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/NatureRecognition.java index a7f443527..12daf70e8 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/NatureRecognition.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/NatureRecognition.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.recognition.impl; import org.ansj.domain.*; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/StopRecognition.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/StopRecognition.java index 4449155af..be0b12a48 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/StopRecognition.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/StopRecognition.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.recognition.impl; import org.ansj.domain.Result; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/SynonymsRecgnition.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/SynonymsRecgnition.java index c9064e3d8..cbc9b6bb7 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/SynonymsRecgnition.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/SynonymsRecgnition.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.recognition.impl; import org.ansj.domain.Result; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/TimeRecognition.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/TimeRecognition.java index 9c981374f..287ab3f8f 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/TimeRecognition.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/TimeRecognition.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.recognition.impl; import org.ansj.domain.Nature; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/UserDicNatureRecognition.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/UserDicNatureRecognition.java index 5ea599aa4..590d5b62e 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/UserDicNatureRecognition.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/recognition/impl/UserDicNatureRecognition.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.recognition.impl; import org.ansj.domain.Nature; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/Analysis.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/Analysis.java index 0140b3b9d..3b57ba708 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/Analysis.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/Analysis.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.splitWord; import org.ansj.domain.Result; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/GetWords.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/GetWords.java index 02ca98f1b..56c5dee42 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/GetWords.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/GetWords.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.splitWord; public interface GetWords { diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/analysis/BaseAnalysis.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/analysis/BaseAnalysis.java index c4ffe0ba1..e0f1752cf 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/analysis/BaseAnalysis.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/analysis/BaseAnalysis.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.splitWord.analysis; import org.ansj.domain.Result; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/analysis/DicAnalysis.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/analysis/DicAnalysis.java index fc37eb19f..e864fcbed 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/analysis/DicAnalysis.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/analysis/DicAnalysis.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.splitWord.analysis; import org.ansj.domain.Result; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/analysis/IndexAnalysis.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/analysis/IndexAnalysis.java index e3e983dd8..ce48f8377 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/analysis/IndexAnalysis.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/analysis/IndexAnalysis.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.splitWord.analysis; import org.ansj.domain.Result; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/analysis/NlpAnalysis.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/analysis/NlpAnalysis.java index 900df8203..4a9c8de67 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/analysis/NlpAnalysis.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/analysis/NlpAnalysis.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.splitWord.analysis; import org.ansj.app.crf.SplitWord; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/analysis/ToAnalysis.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/analysis/ToAnalysis.java index ea3c39bab..74dce3089 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/analysis/ToAnalysis.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/analysis/ToAnalysis.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.splitWord.analysis; import org.ansj.domain.Result; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/impl/GetWordsImpl.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/impl/GetWordsImpl.java index 346ee63d3..56b7a4f0b 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/impl/GetWordsImpl.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/splitWord/impl/GetWordsImpl.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.splitWord.impl; import org.ansj.domain.AnsjItem; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/AnsjReader.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/AnsjReader.java index 7890153f6..5a8f9df75 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/AnsjReader.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/AnsjReader.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.util; import java.io.IOException; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/Graph.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/Graph.java index e90eafa00..3882a20cb 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/Graph.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/Graph.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.util; import org.ansj.domain.AnsjItem; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/MathUtil.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/MathUtil.java index 29608600e..9657a2eaf 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/MathUtil.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/MathUtil.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.util; import org.ansj.domain.Term; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/MatrixUtil.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/MatrixUtil.java index 049a18ff7..1f00e6959 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/MatrixUtil.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/MatrixUtil.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.util; public class MatrixUtil { diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/MyStaticValue.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/MyStaticValue.java index c97b5a4cf..c8866936a 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/MyStaticValue.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/MyStaticValue.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.util; import org.ansj.app.crf.SplitWord; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/NameFix.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/NameFix.java index bbc49e824..3e1ba2018 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/NameFix.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/NameFix.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.util; import org.ansj.domain.Term; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/TermUtil.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/TermUtil.java index 1811a0912..373232b50 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/TermUtil.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/ansj/util/TermUtil.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.ansj.util; import org.ansj.domain.Nature; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/deeplearning4j/nlp/chinese/tokenization/tokenizer/ChineseTokenizer.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/deeplearning4j/nlp/chinese/tokenization/tokenizer/ChineseTokenizer.java index 080734f01..3c6456251 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/deeplearning4j/nlp/chinese/tokenization/tokenizer/ChineseTokenizer.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/deeplearning4j/nlp/chinese/tokenization/tokenizer/ChineseTokenizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.chinese.tokenization.tokenizer; @@ -28,15 +30,6 @@ import java.util.List; import java.util.NoSuchElementException; -/** - * The ansj_seg of the open source segmentation algorithm comes form github,the link: https://github.com/NLPchina/ansj_seg - * When the open source code that obeyed the Apache 2.0 license is reused, its latest commit ID is dedc45fdf85dfd2d4c691fb1f147d7cbf9a5d7fb - * and its copyright 2011-2016 - - * @author: wangfeng - * @since : June 2,2017 - */ - public class ChineseTokenizer implements Tokenizer { private TokenPreProcess tokenPreProcess; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/deeplearning4j/nlp/chinese/tokenization/tokenizerFactory/ChineseTokenizerFactory.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/deeplearning4j/nlp/chinese/tokenization/tokenizerFactory/ChineseTokenizerFactory.java index 0f5771e91..5b569cf46 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/deeplearning4j/nlp/chinese/tokenization/tokenizerFactory/ChineseTokenizerFactory.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/main/java/org/deeplearning4j/nlp/chinese/tokenization/tokenizerFactory/ChineseTokenizerFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.chinese.tokenization.tokenizerFactory; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/AssertTestsExtendBaseClass.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/AssertTestsExtendBaseClass.java index 17018e410..c56a608d5 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/AssertTestsExtendBaseClass.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/AssertTestsExtendBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.tokenization.tokenizer; import lombok.extern.slf4j.Slf4j; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/ChineseTokenizerTest.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/ChineseTokenizerTest.java index f1f90eb29..0b3385089 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/ChineseTokenizerTest.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-chinese/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/ChineseTokenizerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.tokenization.tokenizer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/pom.xml b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/pom.xml index c85e18cdd..a96fcc9f2 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/pom.xml +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/pom.xml @@ -1,34 +1,37 @@ - + + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + 4.0.0 + - deeplearning4j-nlp-parent org.deeplearning4j + deeplearning4j-nlp-parent 1.0.0-SNAPSHOT - 4.0.0 deeplearning4j-nlp-japanese - UTF-8 0.9.0 2.1.16 @@ -37,7 +40,6 @@ junit junit - test @@ -61,13 +63,6 @@ org.slf4j slf4j-api - - - org.deeplearning4j - deeplearning4j-common-tests - ${project.version} - test - @@ -78,5 +73,4 @@ test-nd4j-cuda-11.0 - diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/TokenBase.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/TokenBase.java index cfc094718..87672c682 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/TokenBase.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/TokenBase.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/TokenizerBase.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/TokenizerBase.java index a35dbf589..47e327319 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/TokenizerBase.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/TokenizerBase.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/buffer/BufferEntry.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/buffer/BufferEntry.java index a1a9924cd..b3037c91f 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/buffer/BufferEntry.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/buffer/BufferEntry.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.buffer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/buffer/FeatureInfoMap.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/buffer/FeatureInfoMap.java index 27008d305..45096222d 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/buffer/FeatureInfoMap.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/buffer/FeatureInfoMap.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.buffer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/buffer/StringValueMapBuffer.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/buffer/StringValueMapBuffer.java index 1fcdbf4c2..24af72a4c 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/buffer/StringValueMapBuffer.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/buffer/StringValueMapBuffer.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.buffer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/buffer/TokenInfoBuffer.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/buffer/TokenInfoBuffer.java index 8a677fd62..d69aa479a 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/buffer/TokenInfoBuffer.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/buffer/TokenInfoBuffer.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.buffer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/buffer/WordIdMap.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/buffer/WordIdMap.java index b56f9c491..9dc3997e6 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/buffer/WordIdMap.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/buffer/WordIdMap.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.buffer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/CharacterDefinitionsCompiler.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/CharacterDefinitionsCompiler.java index 2a87c2768..4d95476df 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/CharacterDefinitionsCompiler.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/CharacterDefinitionsCompiler.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.compile; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/Compiler.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/Compiler.java index 90c2022bb..9d3341102 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/Compiler.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/Compiler.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.compile; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/ConnectionCostsCompiler.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/ConnectionCostsCompiler.java index 4091876e9..1b49f1781 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/ConnectionCostsCompiler.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/ConnectionCostsCompiler.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.compile; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/DictionaryCompilerBase.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/DictionaryCompilerBase.java index e5f1c3379..a932b21c3 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/DictionaryCompilerBase.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/DictionaryCompilerBase.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.compile; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/DoubleArrayTrieCompiler.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/DoubleArrayTrieCompiler.java index 415bfc955..871333cd9 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/DoubleArrayTrieCompiler.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/DoubleArrayTrieCompiler.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.compile; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/ProgressLog.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/ProgressLog.java index f5c4ec7ba..5b9e8f7ea 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/ProgressLog.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/ProgressLog.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.compile; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/TokenInfoBufferCompiler.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/TokenInfoBufferCompiler.java index 24fd32525..4e375b073 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/TokenInfoBufferCompiler.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/TokenInfoBufferCompiler.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.compile; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/TokenInfoDictionaryCompilerBase.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/TokenInfoDictionaryCompilerBase.java index 1b58dd40c..b6eadd177 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/TokenInfoDictionaryCompilerBase.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/TokenInfoDictionaryCompilerBase.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.compile; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/UnknownDictionaryCompiler.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/UnknownDictionaryCompiler.java index c8838d22a..c311cda67 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/UnknownDictionaryCompiler.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/UnknownDictionaryCompiler.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.compile; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/WordIdMapCompiler.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/WordIdMapCompiler.java index 436390a69..47e91adc1 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/WordIdMapCompiler.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/compile/WordIdMapCompiler.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.compile; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/CharacterDefinitions.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/CharacterDefinitions.java index 206dac0b4..c486804c4 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/CharacterDefinitions.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/CharacterDefinitions.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.dict; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/ConnectionCosts.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/ConnectionCosts.java index 7b510426c..2ffd72f13 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/ConnectionCosts.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/ConnectionCosts.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.dict; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/Dictionary.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/Dictionary.java index 46f790702..5cadc193b 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/Dictionary.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/Dictionary.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.dict; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/DictionaryEntryBase.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/DictionaryEntryBase.java index c15fa1acc..812bbc4ef 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/DictionaryEntryBase.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/DictionaryEntryBase.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.dict; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/DictionaryField.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/DictionaryField.java index fa90add2f..e9bfd3336 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/DictionaryField.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/DictionaryField.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.dict; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/GenericDictionaryEntry.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/GenericDictionaryEntry.java index 91493e4d0..53794cef2 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/GenericDictionaryEntry.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/GenericDictionaryEntry.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.dict; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/InsertedDictionary.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/InsertedDictionary.java index f8aa93b56..0b60e6a59 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/InsertedDictionary.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/InsertedDictionary.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.dict; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/TokenInfoDictionary.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/TokenInfoDictionary.java index d04a19b78..1c5fdf868 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/TokenInfoDictionary.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/TokenInfoDictionary.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.dict; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/UnknownDictionary.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/UnknownDictionary.java index 9ecf37dc4..e3c82a406 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/UnknownDictionary.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/UnknownDictionary.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.dict; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/UserDictionary.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/UserDictionary.java index 671d93195..ea5d34ed3 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/UserDictionary.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/dict/UserDictionary.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.dict; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/io/ByteBufferIO.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/io/ByteBufferIO.java index 61877b2f1..ba19d6300 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/io/ByteBufferIO.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/io/ByteBufferIO.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.io; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/io/IntegerArrayIO.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/io/IntegerArrayIO.java index e11c20248..09e7d57ba 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/io/IntegerArrayIO.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/io/IntegerArrayIO.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.io; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/io/StringArrayIO.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/io/StringArrayIO.java index e66aa4004..2ae8af33f 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/io/StringArrayIO.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/io/StringArrayIO.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.io; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/ipadic/Token.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/ipadic/Token.java index c433cff8e..250069224 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/ipadic/Token.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/ipadic/Token.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.ipadic; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/ipadic/Tokenizer.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/ipadic/Tokenizer.java index f3476069b..c9f256e03 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/ipadic/Tokenizer.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/ipadic/Tokenizer.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.ipadic; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/ipadic/compile/DictionaryCompiler.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/ipadic/compile/DictionaryCompiler.java index 8ba7467ab..f9b618a23 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/ipadic/compile/DictionaryCompiler.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/ipadic/compile/DictionaryCompiler.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.ipadic.compile; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/ipadic/compile/DictionaryEntry.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/ipadic/compile/DictionaryEntry.java index 17ecb087d..c5d8ce6e5 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/ipadic/compile/DictionaryEntry.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/ipadic/compile/DictionaryEntry.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.ipadic.compile; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/ipadic/compile/TokenInfoDictionaryCompiler.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/ipadic/compile/TokenInfoDictionaryCompiler.java index 75c031ce7..8244fbca8 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/ipadic/compile/TokenInfoDictionaryCompiler.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/ipadic/compile/TokenInfoDictionaryCompiler.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.ipadic.compile; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/ipadic/package-info.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/ipadic/package-info.java index af29d5434..37a8dea39 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/ipadic/package-info.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/ipadic/package-info.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + /*-* * A Japanese morphological analyzer based on the IPADIC dictionary. *

diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/trie/DoubleArrayTrie.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/trie/DoubleArrayTrie.java index 8a7b5e248..d93f189b3 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/trie/DoubleArrayTrie.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/trie/DoubleArrayTrie.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.trie; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/trie/PatriciaTrie.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/trie/PatriciaTrie.java index 21484af70..11675fe23 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/trie/PatriciaTrie.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/trie/PatriciaTrie.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.trie; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/trie/PatriciaTrieFormatter.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/trie/PatriciaTrieFormatter.java index 9ded7fbb2..5e9ed86fe 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/trie/PatriciaTrieFormatter.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/trie/PatriciaTrieFormatter.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.trie; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/trie/Trie.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/trie/Trie.java index bc22a0768..3553fa4f8 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/trie/Trie.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/trie/Trie.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.trie; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/DictionaryEntryLineParser.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/DictionaryEntryLineParser.java index 1fe07ca47..67e2ca74d 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/DictionaryEntryLineParser.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/DictionaryEntryLineParser.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.util; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/FileResourceResolver.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/FileResourceResolver.java index 2e6377ec5..9f4112e21 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/FileResourceResolver.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/FileResourceResolver.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.util; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/KuromojiBinFilesFetcher.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/KuromojiBinFilesFetcher.java index 942ce6a21..00590f537 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/KuromojiBinFilesFetcher.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/KuromojiBinFilesFetcher.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package com.atilika.kuromoji.util; import lombok.extern.slf4j.Slf4j; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/ResourceResolver.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/ResourceResolver.java index f5cc69517..8ae842ef3 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/ResourceResolver.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/ResourceResolver.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.util; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/SimpleResourceResolver.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/SimpleResourceResolver.java index 47605a622..023039abe 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/SimpleResourceResolver.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/SimpleResourceResolver.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.util; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/StringUtils.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/StringUtils.java index 79293800d..1f34a18cc 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/StringUtils.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/StringUtils.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.util; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/UnknownDictionaryEntryParser.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/UnknownDictionaryEntryParser.java index 1ee2e505a..dd40fb61d 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/UnknownDictionaryEntryParser.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/util/UnknownDictionaryEntryParser.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.util; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/viterbi/TokenFactory.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/viterbi/TokenFactory.java index 8ae1b6137..2d3487a64 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/viterbi/TokenFactory.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/viterbi/TokenFactory.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.viterbi; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/viterbi/ViterbiBuilder.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/viterbi/ViterbiBuilder.java index 7d3fd6d5a..9a46af073 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/viterbi/ViterbiBuilder.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/viterbi/ViterbiBuilder.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.viterbi; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/viterbi/ViterbiFormatter.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/viterbi/ViterbiFormatter.java index a020b862e..a6e5a2475 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/viterbi/ViterbiFormatter.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/viterbi/ViterbiFormatter.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.viterbi; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/viterbi/ViterbiLattice.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/viterbi/ViterbiLattice.java index 406e5fa15..cb72446b3 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/viterbi/ViterbiLattice.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/viterbi/ViterbiLattice.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.viterbi; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/viterbi/ViterbiNode.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/viterbi/ViterbiNode.java index 95135f7c3..de68d0006 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/viterbi/ViterbiNode.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/viterbi/ViterbiNode.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.viterbi; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/viterbi/ViterbiSearcher.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/viterbi/ViterbiSearcher.java index 68a751450..a17e1cd9b 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/viterbi/ViterbiSearcher.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/com/atilika/kuromoji/viterbi/ViterbiSearcher.java @@ -1,18 +1,19 @@ -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package com.atilika.kuromoji.viterbi; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/org/deeplearning4j/nlp/japanese/tokenization/tokenizer/JapaneseTokenizer.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/org/deeplearning4j/nlp/japanese/tokenization/tokenizer/JapaneseTokenizer.java index 3ab43c4c8..d5fb5ddaa 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/org/deeplearning4j/nlp/japanese/tokenization/tokenizer/JapaneseTokenizer.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/org/deeplearning4j/nlp/japanese/tokenization/tokenizer/JapaneseTokenizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.japanese.tokenization.tokenizer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/org/deeplearning4j/nlp/japanese/tokenization/tokenizerfactory/JapaneseTokenizerFactory.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/org/deeplearning4j/nlp/japanese/tokenization/tokenizerfactory/JapaneseTokenizerFactory.java index 58ee50742..be21e1ea9 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/org/deeplearning4j/nlp/japanese/tokenization/tokenizerfactory/JapaneseTokenizerFactory.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/main/java/org/deeplearning4j/nlp/japanese/tokenization/tokenizerfactory/JapaneseTokenizerFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.japanese.tokenization.tokenizerfactory; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/AssertTestsExtendBaseClass.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/AssertTestsExtendBaseClass.java index 146e77e88..f367863c3 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/AssertTestsExtendBaseClass.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/AssertTestsExtendBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ import com.atilika.kuromoji.TestUtils; import com.atilika.kuromoji.ipadic.RandomizedInputTest; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/CommonCornerCasesTest.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/CommonCornerCasesTest.java index 1d23baab6..476f888ab 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/CommonCornerCasesTest.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/CommonCornerCasesTest.java @@ -1,35 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ + package com.atilika.kuromoji; import org.deeplearning4j.BaseDL4JTest; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/TestUtils.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/TestUtils.java index 3cafff4e2..70689a650 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/TestUtils.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/TestUtils.java @@ -1,35 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ + package com.atilika.kuromoji; import java.io.BufferedReader; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/buffer/StringValueMapBufferTest.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/buffer/StringValueMapBufferTest.java index 265f4faf4..04c757527 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/buffer/StringValueMapBufferTest.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/buffer/StringValueMapBufferTest.java @@ -1,35 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ + package com.atilika.kuromoji.buffer; import org.deeplearning4j.BaseDL4JTest; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/compile/CharacterDefinitionsCompilerTest.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/compile/CharacterDefinitionsCompilerTest.java index 2e077eef6..ab672a5c8 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/compile/CharacterDefinitionsCompilerTest.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/compile/CharacterDefinitionsCompilerTest.java @@ -1,35 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ + package com.atilika.kuromoji.compile; import com.atilika.kuromoji.dict.CharacterDefinitions; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/compile/ConnectionCostsCompilerTest.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/compile/ConnectionCostsCompilerTest.java index 516535e42..923475267 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/compile/ConnectionCostsCompilerTest.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/compile/ConnectionCostsCompilerTest.java @@ -1,35 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ + package com.atilika.kuromoji.compile; import com.atilika.kuromoji.dict.ConnectionCosts; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/compile/TokenInfoBufferCompilerTest.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/compile/TokenInfoBufferCompilerTest.java index abda8710d..3c43a9ded 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/compile/TokenInfoBufferCompilerTest.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/compile/TokenInfoBufferCompilerTest.java @@ -1,35 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ + package com.atilika.kuromoji.compile; import com.atilika.kuromoji.buffer.BufferEntry; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/compile/UnknownDictionaryCompilerTest.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/compile/UnknownDictionaryCompilerTest.java index 3156e47a3..44ced0896 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/compile/UnknownDictionaryCompilerTest.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/compile/UnknownDictionaryCompilerTest.java @@ -1,35 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ + package com.atilika.kuromoji.compile; import com.atilika.kuromoji.dict.CharacterDefinitions; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/compile/WordIdMapCompilerTest.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/compile/WordIdMapCompilerTest.java index 6edb8f541..2f771cda6 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/compile/WordIdMapCompilerTest.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/compile/WordIdMapCompilerTest.java @@ -1,35 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ + package com.atilika.kuromoji.compile; import com.atilika.kuromoji.buffer.WordIdMap; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/dict/InsertedDictionaryTest.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/dict/InsertedDictionaryTest.java index eae973831..fedb858b2 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/dict/InsertedDictionaryTest.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/dict/InsertedDictionaryTest.java @@ -1,35 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ + package com.atilika.kuromoji.dict; import org.deeplearning4j.BaseDL4JTest; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/dict/UserDictionaryTest.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/dict/UserDictionaryTest.java index fb8980305..c9050e48d 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/dict/UserDictionaryTest.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/dict/UserDictionaryTest.java @@ -1,35 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ + package com.atilika.kuromoji.dict; import org.deeplearning4j.BaseDL4JTest; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/ipadic/MultiThreadedTokenizerTest.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/ipadic/MultiThreadedTokenizerTest.java index 88323264d..e81602c08 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/ipadic/MultiThreadedTokenizerTest.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/ipadic/MultiThreadedTokenizerTest.java @@ -1,35 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ + package com.atilika.kuromoji.ipadic; import org.deeplearning4j.BaseDL4JTest; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/ipadic/RandomizedInputTest.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/ipadic/RandomizedInputTest.java index c30d6ae40..1ec6506c7 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/ipadic/RandomizedInputTest.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/ipadic/RandomizedInputTest.java @@ -1,35 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ + package com.atilika.kuromoji.ipadic; import com.carrotsearch.randomizedtesting.RandomizedTest; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/ipadic/SearchTokenizerTest.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/ipadic/SearchTokenizerTest.java index 3d0727e8b..08e3a0aee 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/ipadic/SearchTokenizerTest.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/ipadic/SearchTokenizerTest.java @@ -1,35 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ + package com.atilika.kuromoji.ipadic; import com.atilika.kuromoji.TokenizerBase.Mode; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/ipadic/TokenizerTest.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/ipadic/TokenizerTest.java index 0ac090144..4a374090d 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/ipadic/TokenizerTest.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/ipadic/TokenizerTest.java @@ -1,35 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ + package com.atilika.kuromoji.ipadic; import com.atilika.kuromoji.CommonCornerCasesTest; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/ipadic/UserDictionaryTokenizerTest.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/ipadic/UserDictionaryTokenizerTest.java index 204693e31..dabfd509d 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/ipadic/UserDictionaryTokenizerTest.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/ipadic/UserDictionaryTokenizerTest.java @@ -1,35 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ + package com.atilika.kuromoji.ipadic; import org.deeplearning4j.BaseDL4JTest; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/trie/DoubleArrayTrieTest.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/trie/DoubleArrayTrieTest.java index 3f4e5763e..8a816cdd2 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/trie/DoubleArrayTrieTest.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/trie/DoubleArrayTrieTest.java @@ -1,35 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ + package com.atilika.kuromoji.trie; import org.deeplearning4j.BaseDL4JTest; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/trie/NodeTest.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/trie/NodeTest.java index 474c073f2..f83318edc 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/trie/NodeTest.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/trie/NodeTest.java @@ -1,35 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ + package com.atilika.kuromoji.trie; import org.deeplearning4j.BaseDL4JTest; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/trie/PatriciaTrieTest.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/trie/PatriciaTrieTest.java index 1f4bec6ad..c43d07b35 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/trie/PatriciaTrieTest.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/trie/PatriciaTrieTest.java @@ -1,35 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ + package com.atilika.kuromoji.trie; import org.deeplearning4j.BaseDL4JTest; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/trie/TrieTest.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/trie/TrieTest.java index a27131eb8..4842c11d8 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/trie/TrieTest.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/trie/TrieTest.java @@ -1,35 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ + package com.atilika.kuromoji.trie; import com.atilika.kuromoji.trie.Trie.Node; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/util/DictionaryEntryLineParserTest.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/util/DictionaryEntryLineParserTest.java index f9ff1c060..8f07d0806 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/util/DictionaryEntryLineParserTest.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/com/atilika/kuromoji/util/DictionaryEntryLineParserTest.java @@ -1,35 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -/*-* - * Copyright © 2010-2015 Atilika Inc. and contributors (see CONTRIBUTORS.md) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. A copy of the - * License is distributed with this work in the LICENSE.md file. You may - * also obtain a copy of the License from - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ + package com.atilika.kuromoji.util; import org.deeplearning4j.BaseDL4JTest; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/JapaneseTokenizerTest.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/JapaneseTokenizerTest.java index 518807a01..51213df3c 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/JapaneseTokenizerTest.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-japanese/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/JapaneseTokenizerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.tokenization.tokenizer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-korean/pom.xml b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-korean/pom.xml index be02f45b6..47656042d 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-korean/pom.xml +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-korean/pom.xml @@ -1,29 +1,33 @@ - + + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + 4.0.0 + - deeplearning4j-nlp-parent org.deeplearning4j + deeplearning4j-nlp-parent 1.0.0-SNAPSHOT - 4.0.0 deeplearning4j-nlp-korean_2.11 @@ -37,7 +41,6 @@ junit junit - test org.scala-lang @@ -54,12 +57,6 @@ deeplearning4j-nlp ${project.version} - - org.deeplearning4j - deeplearning4j-common-tests - ${project.version} - test - @@ -70,5 +67,4 @@ test-nd4j-cuda-11.0 - diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-korean/src/main/java/org/deeplearning4j/nlp/korean/tokenization/tokenizer/KoreanTokenizer.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-korean/src/main/java/org/deeplearning4j/nlp/korean/tokenization/tokenizer/KoreanTokenizer.java index 9c5332542..921e2c27b 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-korean/src/main/java/org/deeplearning4j/nlp/korean/tokenization/tokenizer/KoreanTokenizer.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-korean/src/main/java/org/deeplearning4j/nlp/korean/tokenization/tokenizer/KoreanTokenizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.korean.tokenization.tokenizer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-korean/src/main/java/org/deeplearning4j/nlp/korean/tokenization/tokenizerfactory/KoreanTokenizerFactory.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-korean/src/main/java/org/deeplearning4j/nlp/korean/tokenization/tokenizerfactory/KoreanTokenizerFactory.java index a381aef7b..92d9594c0 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-korean/src/main/java/org/deeplearning4j/nlp/korean/tokenization/tokenizerfactory/KoreanTokenizerFactory.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-korean/src/main/java/org/deeplearning4j/nlp/korean/tokenization/tokenizerfactory/KoreanTokenizerFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nlp.korean.tokenization.tokenizerfactory; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-korean/src/test/java/AssertTestsExtendBaseClass.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-korean/src/test/java/AssertTestsExtendBaseClass.java index d7c6cbc15..00df89af6 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-korean/src/test/java/AssertTestsExtendBaseClass.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-korean/src/test/java/AssertTestsExtendBaseClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ import lombok.extern.slf4j.Slf4j; import java.util.*; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-korean/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/KoreanTokenizerTest.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-korean/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/KoreanTokenizerTest.java index a710f8b53..484af5790 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-korean/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/KoreanTokenizerTest.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-korean/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/KoreanTokenizerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.tokenization.tokenizer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-korean/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/PerformanceTests.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-korean/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/PerformanceTests.java index f57ef45b3..6cfc0b1c2 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-korean/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/PerformanceTests.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-korean/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/PerformanceTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.tokenization.tokenizer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/transformer/TreeTransformer.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/transformer/TreeTransformer.java deleted file mode 100644 index 0e7e188a4..000000000 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/corpora/treeparser/transformer/TreeTransformer.java +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.nlp.uima.corpora.treeparser.transformer; - -import org.deeplearning4j.nn.layers.feedforward.autoencoder.recursive.Tree; - -/** - * Tree transformer - * @author Adam Gibson - */ -public interface TreeTransformer { - - /** - * Applies a applyTransformToOrigin to a tree - * @param t the tree to applyTransformToOrigin - * @return the transformed tree - */ - Tree transform(Tree t); - - -} diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/preprocessor/StemmingPreprocessor.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/preprocessor/StemmingPreprocessor.java deleted file mode 100644 index a3e33cfcb..000000000 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/main/java/org/deeplearning4j/nlp/uima/tokenization/tokenizer/preprocessor/StemmingPreprocessor.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.nlp.uima.tokenization.tokenizer.preprocessor; - -import org.deeplearning4j.text.tokenization.tokenizer.preprocessor.CommonPreprocessor; -import org.tartarus.snowball.ext.PorterStemmer; - -/** - * This tokenizer preprocessor implements basic cleaning inherited from CommonPreprocessor + does english Porter stemming on tokens - * - * PLEASE NOTE: This preprocessor is thread-safe by using synchronized method - * - * @author raver119@gmail.com - */ -public class StemmingPreprocessor extends CommonPreprocessor { - @Override - public String preProcess(String token) { - String prep = super.preProcess(token); - PorterStemmer stemmer = new PorterStemmer(); - stemmer.setCurrent(prep); - stemmer.stem(); - - return stemmer.getCurrent(); - } -} diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/StemmingPreprocessorTest.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/StemmingPreprocessorTest.java deleted file mode 100644 index 36b298e98..000000000 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp-uima/src/test/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/StemmingPreprocessorTest.java +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.text.tokenization.tokenizer.preprocessor; - -import org.deeplearning4j.BaseDL4JTest; -import org.deeplearning4j.nlp.uima.tokenization.tokenizer.preprocessor.StemmingPreprocessor; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; - -/** - * @author raver119@gmail.com - */ -public class StemmingPreprocessorTest extends BaseDL4JTest { - - @Test - public void testPreProcess() throws Exception { - StemmingPreprocessor preprocessor = new StemmingPreprocessor(); - - String test = "TESTING."; - - String output = preprocessor.preProcess(test); - - System.out.println("Output: " + output); - assertEquals("test", output); - } -} diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/pom.xml b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/pom.xml index 6595a3a1e..b00219d82 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/pom.xml +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/pom.xml @@ -1,22 +1,28 @@ - + + + + - 4.0.0 + org.deeplearning4j deeplearning4j-nlp-parent @@ -25,43 +31,41 @@ deeplearning4j-nlp + + 0.4 + + org.nd4j nd4j-native-api ${nd4j.version} - commons-lang commons-lang - 2.6 + ${commons-lang.version} org.deeplearning4j deeplearning4j-core ${project.version} - org.threadly threadly ${threadly.version} - junit junit - test - org.mockito mockito-core ${mockito.version} test - ch.qos.logback logback-classic @@ -75,14 +79,7 @@ com.github.vinhkhuc jfasttext - 0.4 - - - - org.deeplearning4j - deeplearning4j-common-tests - ${project.version} - test + ${jfasttext.version} @@ -94,5 +91,4 @@ test-nd4j-cuda-11.0 - diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/bagofwords/vectorizer/BagOfWordsVectorizer.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/bagofwords/vectorizer/BagOfWordsVectorizer.java index 85953777d..9bc05a1f2 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/bagofwords/vectorizer/BagOfWordsVectorizer.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/bagofwords/vectorizer/BagOfWordsVectorizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.bagofwords.vectorizer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/bagofwords/vectorizer/BaseTextVectorizer.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/bagofwords/vectorizer/BaseTextVectorizer.java index 58159b333..2d9fb37c7 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/bagofwords/vectorizer/BaseTextVectorizer.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/bagofwords/vectorizer/BaseTextVectorizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.bagofwords.vectorizer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/bagofwords/vectorizer/DefaultInputStreamCreator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/bagofwords/vectorizer/DefaultInputStreamCreator.java index 295383a6c..3f1140496 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/bagofwords/vectorizer/DefaultInputStreamCreator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/bagofwords/vectorizer/DefaultInputStreamCreator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.bagofwords.vectorizer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/bagofwords/vectorizer/TextVectorizer.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/bagofwords/vectorizer/TextVectorizer.java index 6d67e47ce..bb05cd820 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/bagofwords/vectorizer/TextVectorizer.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/bagofwords/vectorizer/TextVectorizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.bagofwords.vectorizer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/bagofwords/vectorizer/TfidfVectorizer.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/bagofwords/vectorizer/TfidfVectorizer.java index a78366fca..e635886b5 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/bagofwords/vectorizer/TfidfVectorizer.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/bagofwords/vectorizer/TfidfVectorizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.bagofwords.vectorizer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/BertIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/BertIterator.java index e7fbdafe7..004f33089 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/BertIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/BertIterator.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.iterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/CnnSentenceDataSetIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/CnnSentenceDataSetIterator.java index 0905370cf..3dea0178d 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/CnnSentenceDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/CnnSentenceDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.iterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/LabeledPairSentenceProvider.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/LabeledPairSentenceProvider.java index 9517c5f6c..6efdd1445 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/LabeledPairSentenceProvider.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/LabeledPairSentenceProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.iterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/LabeledSentenceProvider.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/LabeledSentenceProvider.java index b16619c2f..210c05b50 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/LabeledSentenceProvider.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/LabeledSentenceProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.iterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/bert/BertMaskedLMMasker.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/bert/BertMaskedLMMasker.java index 682039253..ed5679b6b 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/bert/BertMaskedLMMasker.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/bert/BertMaskedLMMasker.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.iterator.bert; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/bert/BertSequenceMasker.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/bert/BertSequenceMasker.java index b3c7bf65f..55e990cc8 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/bert/BertSequenceMasker.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/bert/BertSequenceMasker.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.iterator.bert; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/provider/CollectionLabeledPairSentenceProvider.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/provider/CollectionLabeledPairSentenceProvider.java index c70ebeab5..026261044 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/provider/CollectionLabeledPairSentenceProvider.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/provider/CollectionLabeledPairSentenceProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.iterator.provider; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/provider/CollectionLabeledSentenceProvider.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/provider/CollectionLabeledSentenceProvider.java index 216f521a9..6e3e34f83 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/provider/CollectionLabeledSentenceProvider.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/provider/CollectionLabeledSentenceProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.iterator.provider; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/provider/FileLabeledSentenceProvider.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/provider/FileLabeledSentenceProvider.java index 000ba7a57..9b13579c4 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/provider/FileLabeledSentenceProvider.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/provider/FileLabeledSentenceProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.iterator.provider; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/provider/LabelAwareConverter.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/provider/LabelAwareConverter.java index 689a88f46..831a935b0 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/provider/LabelAwareConverter.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/iterator/provider/LabelAwareConverter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.iterator.provider; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/WeightLookupTable.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/WeightLookupTable.java index 880a80f00..7373be89b 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/WeightLookupTable.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/WeightLookupTable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.embeddings; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/inmemory/InMemoryLookupTable.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/inmemory/InMemoryLookupTable.java index 0ca08ad98..95cb6a7a5 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/inmemory/InMemoryLookupTable.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/inmemory/InMemoryLookupTable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.embeddings.inmemory; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/ElementsLearningAlgorithm.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/ElementsLearningAlgorithm.java index f856fc6ea..38faf3deb 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/ElementsLearningAlgorithm.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/ElementsLearningAlgorithm.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.embeddings.learning; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/SequenceLearningAlgorithm.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/SequenceLearningAlgorithm.java index f250d14d1..1f69a4704 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/SequenceLearningAlgorithm.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/SequenceLearningAlgorithm.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.embeddings.learning; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/impl/elements/BatchItem.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/impl/elements/BatchItem.java index e1819157e..da802ce5d 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/impl/elements/BatchItem.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/impl/elements/BatchItem.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.embeddings.learning.impl.elements; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/impl/elements/BatchSequences.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/impl/elements/BatchSequences.java index 5be52af18..6fbfc2df0 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/impl/elements/BatchSequences.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/impl/elements/BatchSequences.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.embeddings.learning.impl.elements; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/impl/elements/CBOW.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/impl/elements/CBOW.java index fdfd91926..8c654a6c5 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/impl/elements/CBOW.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/impl/elements/CBOW.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.embeddings.learning.impl.elements; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/impl/elements/SkipGram.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/impl/elements/SkipGram.java index c7e117a1c..4e09b8856 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/impl/elements/SkipGram.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/impl/elements/SkipGram.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.embeddings.learning.impl.elements; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/impl/sequence/DBOW.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/impl/sequence/DBOW.java index 807175d85..bad8887fa 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/impl/sequence/DBOW.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/impl/sequence/DBOW.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.embeddings.learning.impl.sequence; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/impl/sequence/DM.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/impl/sequence/DM.java index 5ec5c460f..df218f083 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/impl/sequence/DM.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/learning/impl/sequence/DM.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.embeddings.learning.impl.sequence; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/loader/VectorsConfiguration.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/loader/VectorsConfiguration.java index 484c70500..16ef042b5 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/loader/VectorsConfiguration.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/loader/VectorsConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.embeddings.loader; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/loader/WordVectorSerializer.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/loader/WordVectorSerializer.java index 4a946256e..ced087222 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/loader/WordVectorSerializer.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/loader/WordVectorSerializer.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.embeddings.loader; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/reader/ModelUtils.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/reader/ModelUtils.java index db483563c..72ce605a3 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/reader/ModelUtils.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/reader/ModelUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.embeddings.reader; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/reader/impl/BasicModelUtils.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/reader/impl/BasicModelUtils.java index 08801319a..b81cdd525 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/reader/impl/BasicModelUtils.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/reader/impl/BasicModelUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.embeddings.reader.impl; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/reader/impl/FlatModelUtils.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/reader/impl/FlatModelUtils.java index 83c1e823b..5b3289315 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/reader/impl/FlatModelUtils.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/reader/impl/FlatModelUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.embeddings.reader.impl; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/reader/impl/TreeModelUtils.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/reader/impl/TreeModelUtils.java index efdd4b385..ef50574e7 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/reader/impl/TreeModelUtils.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/reader/impl/TreeModelUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.embeddings.reader.impl; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/wordvectors/WordVectors.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/wordvectors/WordVectors.java index a9f8c4fd4..1772d8936 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/wordvectors/WordVectors.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/wordvectors/WordVectors.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.embeddings.wordvectors; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/wordvectors/WordVectorsImpl.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/wordvectors/WordVectorsImpl.java index 14d625020..e6e089f9b 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/wordvectors/WordVectorsImpl.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/wordvectors/WordVectorsImpl.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.embeddings.wordvectors; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/fasttext/FTLossFunctions.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/fasttext/FTLossFunctions.java index fca042af7..40a058354 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/fasttext/FTLossFunctions.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/fasttext/FTLossFunctions.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.models.fasttext; public enum FTLossFunctions { diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/fasttext/FTModels.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/fasttext/FTModels.java index 401c2217a..7eaaa865a 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/fasttext/FTModels.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/fasttext/FTModels.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.models.fasttext; public enum FTModels { diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/fasttext/FTOptions.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/fasttext/FTOptions.java index af311092b..6888f3124 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/fasttext/FTOptions.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/fasttext/FTOptions.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.models.fasttext; public enum FTOptions { diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/fasttext/FastText.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/fasttext/FastText.java index 71f4809eb..f4e28a880 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/fasttext/FastText.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/fasttext/FastText.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.models.fasttext; import com.github.jfasttext.JFastText; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/node2vec/Node2Vec.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/node2vec/Node2Vec.java index 61ef44f1a..8ce735246 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/node2vec/Node2Vec.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/node2vec/Node2Vec.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.node2vec; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/paragraphvectors/ParagraphVectors.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/paragraphvectors/ParagraphVectors.java index e27debd50..527e84319 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/paragraphvectors/ParagraphVectors.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/paragraphvectors/ParagraphVectors.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.paragraphvectors; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/Consumer.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/Consumer.java index b3c40ad29..ee70c09e2 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/Consumer.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/Consumer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/PCService.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/PCService.java index cfefbd849..dcc37d99d 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/PCService.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/PCService.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/SequenceVectors.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/SequenceVectors.java index 33b77f658..d7a633ec5 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/SequenceVectors.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/SequenceVectors.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/enums/ListenerEvent.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/enums/ListenerEvent.java index 575b6726a..582aa52a1 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/enums/ListenerEvent.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/enums/ListenerEvent.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.enums; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/enums/NoEdgeHandling.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/enums/NoEdgeHandling.java index cf8979a86..c34c281e5 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/enums/NoEdgeHandling.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/enums/NoEdgeHandling.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.graph.enums; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/enums/PopularityMode.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/enums/PopularityMode.java index 4fc825797..242403d25 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/enums/PopularityMode.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/enums/PopularityMode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.graph.enums; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/enums/SamplingMode.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/enums/SamplingMode.java index 638e7b8c6..71a043b85 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/enums/SamplingMode.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/enums/SamplingMode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.graph.enums; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/enums/SpreadSpectrum.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/enums/SpreadSpectrum.java index b948ff8d5..2cc10b75c 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/enums/SpreadSpectrum.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/enums/SpreadSpectrum.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.graph.enums; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/enums/WalkDirection.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/enums/WalkDirection.java index b30203ec0..46e245877 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/enums/WalkDirection.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/enums/WalkDirection.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.graph.enums; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/enums/WalkMode.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/enums/WalkMode.java index aef75b91b..f2923cc96 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/enums/WalkMode.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/enums/WalkMode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.graph.enums; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/exception/NoEdgesException.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/exception/NoEdgesException.java index f61701095..37dfa0074 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/exception/NoEdgesException.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/exception/NoEdgesException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.graph.exception; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/exception/ParseException.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/exception/ParseException.java index 07fd38308..98a935d3b 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/exception/ParseException.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/exception/ParseException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.graph.exception; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/huffman/BinaryTree.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/huffman/BinaryTree.java index ee7e37eb5..49b955490 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/huffman/BinaryTree.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/huffman/BinaryTree.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.graph.huffman; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/huffman/GraphHuffman.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/huffman/GraphHuffman.java index d39f8e24f..d0e406a64 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/huffman/GraphHuffman.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/huffman/GraphHuffman.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.graph.huffman; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/primitives/Edge.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/primitives/Edge.java index b15a4e00d..21015c678 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/primitives/Edge.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/primitives/Edge.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.graph.primitives; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/primitives/Graph.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/primitives/Graph.java index 1e022af72..85645b6b1 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/primitives/Graph.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/primitives/Graph.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.graph.primitives; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/primitives/IGraph.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/primitives/IGraph.java index 943751f91..5862bef47 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/primitives/IGraph.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/primitives/IGraph.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.graph.primitives; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/primitives/Vertex.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/primitives/Vertex.java index 07ce78a6c..03e1ae233 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/primitives/Vertex.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/primitives/Vertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.graph.primitives; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/vertex/AbstractVertexFactory.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/vertex/AbstractVertexFactory.java index 072f88f5a..4d040f1fa 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/vertex/AbstractVertexFactory.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/vertex/AbstractVertexFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.graph.vertex; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/vertex/VertexFactory.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/vertex/VertexFactory.java index c2228e2a2..3ee33733c 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/vertex/VertexFactory.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/vertex/VertexFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.graph.vertex; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/walkers/GraphWalker.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/walkers/GraphWalker.java index 3ad9adaae..102a61d5a 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/walkers/GraphWalker.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/walkers/GraphWalker.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.graph.walkers; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/walkers/impl/NearestVertexWalker.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/walkers/impl/NearestVertexWalker.java index ef771a560..b1cc3938e 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/walkers/impl/NearestVertexWalker.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/walkers/impl/NearestVertexWalker.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.graph.walkers.impl; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/walkers/impl/PopularityWalker.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/walkers/impl/PopularityWalker.java index 05d69e94c..40d3b453b 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/walkers/impl/PopularityWalker.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/walkers/impl/PopularityWalker.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.graph.walkers.impl; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/walkers/impl/RandomWalker.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/walkers/impl/RandomWalker.java index a033a4a81..b442e1369 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/walkers/impl/RandomWalker.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/walkers/impl/RandomWalker.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.graph.walkers.impl; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/walkers/impl/WeightedWalker.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/walkers/impl/WeightedWalker.java index 025d1dd93..d7479f0d9 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/walkers/impl/WeightedWalker.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/graph/walkers/impl/WeightedWalker.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.graph.walkers.impl; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/interfaces/SequenceElementFactory.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/interfaces/SequenceElementFactory.java index 9b28848d0..4b49b1ae0 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/interfaces/SequenceElementFactory.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/interfaces/SequenceElementFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.interfaces; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/interfaces/SequenceIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/interfaces/SequenceIterator.java index 70b1e1496..9b680a9b9 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/interfaces/SequenceIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/interfaces/SequenceIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.interfaces; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/interfaces/VectorsListener.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/interfaces/VectorsListener.java index 1aea72609..903d44794 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/interfaces/VectorsListener.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/interfaces/VectorsListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.interfaces; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/iterators/AbstractSequenceIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/iterators/AbstractSequenceIterator.java index 081e7a56e..da635f713 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/iterators/AbstractSequenceIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/iterators/AbstractSequenceIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.iterators; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/iterators/FilteredSequenceIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/iterators/FilteredSequenceIterator.java index 29fe362da..d7e9d09bb 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/iterators/FilteredSequenceIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/iterators/FilteredSequenceIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.iterators; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/iterators/SynchronizedSequenceIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/iterators/SynchronizedSequenceIterator.java index 7add62d7c..a94d49abf 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/iterators/SynchronizedSequenceIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/iterators/SynchronizedSequenceIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.iterators; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/listeners/ScoreListener.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/listeners/ScoreListener.java index f5839ef26..07241bdab 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/listeners/ScoreListener.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/listeners/ScoreListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.listeners; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/listeners/SerializingListener.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/listeners/SerializingListener.java index c02129bcb..abde6f71b 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/listeners/SerializingListener.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/listeners/SerializingListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.listeners; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/listeners/SimilarityListener.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/listeners/SimilarityListener.java index 03173f4af..a420ae347 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/listeners/SimilarityListener.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/listeners/SimilarityListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.listeners; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/sequence/Sequence.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/sequence/Sequence.java index a840a5a5b..26ed0b5f9 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/sequence/Sequence.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/sequence/Sequence.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.sequence; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/sequence/SequenceElement.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/sequence/SequenceElement.java index 99263f6bc..918d94276 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/sequence/SequenceElement.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/sequence/SequenceElement.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.sequence; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/sequence/ShallowSequenceElement.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/sequence/ShallowSequenceElement.java index f66b6cab2..490e5b4fb 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/sequence/ShallowSequenceElement.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/sequence/ShallowSequenceElement.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.sequence; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/serialization/AbstractElementFactory.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/serialization/AbstractElementFactory.java index 7a7414589..956cc281e 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/serialization/AbstractElementFactory.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/serialization/AbstractElementFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.serialization; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/serialization/VocabWordFactory.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/serialization/VocabWordFactory.java index 78e15dd89..0d16a6ca0 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/serialization/VocabWordFactory.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/serialization/VocabWordFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.serialization; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/transformers/SequenceTransformer.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/transformers/SequenceTransformer.java index 645586573..6d12a7479 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/transformers/SequenceTransformer.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/transformers/SequenceTransformer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.transformers; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/transformers/impl/GraphTransformer.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/transformers/impl/GraphTransformer.java index 616ba3ba5..d0be5414b 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/transformers/impl/GraphTransformer.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/transformers/impl/GraphTransformer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.transformers.impl; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/transformers/impl/SentenceTransformer.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/transformers/impl/SentenceTransformer.java index 160e0bc9f..936ea742d 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/transformers/impl/SentenceTransformer.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/transformers/impl/SentenceTransformer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.transformers.impl; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/transformers/impl/iterables/BasicTransformerIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/transformers/impl/iterables/BasicTransformerIterator.java index 75d775831..40d4350fa 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/transformers/impl/iterables/BasicTransformerIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/transformers/impl/iterables/BasicTransformerIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.transformers.impl.iterables; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/transformers/impl/iterables/ParallelTransformerIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/transformers/impl/iterables/ParallelTransformerIterator.java index 01c0bb9e7..613973c4c 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/transformers/impl/iterables/ParallelTransformerIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/sequencevectors/transformers/impl/iterables/ParallelTransformerIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.sequencevectors.transformers.impl.iterables; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/Huffman.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/Huffman.java index 8f97c776f..428a3dca0 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/Huffman.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/Huffman.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.word2vec; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/InputStreamCreator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/InputStreamCreator.java index e2417c163..3e6255730 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/InputStreamCreator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/InputStreamCreator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.word2vec; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/StaticWord2Vec.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/StaticWord2Vec.java index e5821e515..3fa21d1dd 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/StaticWord2Vec.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/StaticWord2Vec.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.word2vec; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/StreamWork.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/StreamWork.java index e866c2744..621b798da 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/StreamWork.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/StreamWork.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.word2vec; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/VocabWord.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/VocabWord.java index 158d83e9c..f8b84a969 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/VocabWord.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/VocabWord.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.word2vec; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/VocabWork.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/VocabWork.java index f1925548f..dd50e43c9 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/VocabWork.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/VocabWork.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.word2vec; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/Word2Vec.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/Word2Vec.java index f2b1111b8..f2cae7f32 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/Word2Vec.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/Word2Vec.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.word2vec; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/iterator/Word2VecDataFetcher.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/iterator/Word2VecDataFetcher.java index 4879d1977..430fc346b 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/iterator/Word2VecDataFetcher.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/iterator/Word2VecDataFetcher.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.word2vec.iterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/iterator/Word2VecDataSetIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/iterator/Word2VecDataSetIterator.java index 45ab6b083..f77acc13f 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/iterator/Word2VecDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/iterator/Word2VecDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.word2vec.iterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/HuffmanNode.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/HuffmanNode.java index b87e0b2e4..6995a7fd3 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/HuffmanNode.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/HuffmanNode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.word2vec.wordstore; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/VocabCache.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/VocabCache.java index 95859842b..2e726e419 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/VocabCache.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/VocabCache.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.word2vec.wordstore; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/VocabConstructor.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/VocabConstructor.java index fca1288d0..0aee4a76a 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/VocabConstructor.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/VocabConstructor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.word2vec.wordstore; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/VocabularyHolder.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/VocabularyHolder.java index 1f636d5e6..b8c3d684d 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/VocabularyHolder.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/VocabularyHolder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.word2vec.wordstore; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/VocabularyWord.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/VocabularyWord.java index 1eb8c01f6..c8abccd28 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/VocabularyWord.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/VocabularyWord.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.word2vec.wordstore; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/inmemory/AbstractCache.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/inmemory/AbstractCache.java index 3c00ff5d8..4e97edcd1 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/inmemory/AbstractCache.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/inmemory/AbstractCache.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.word2vec.wordstore.inmemory; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/inmemory/InMemoryLookupCache.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/inmemory/InMemoryLookupCache.java index d5c4b35fa..d5d395e01 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/inmemory/InMemoryLookupCache.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/wordstore/inmemory/InMemoryLookupCache.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.models.word2vec.wordstore.inmemory; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/AsyncLabelAwareIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/AsyncLabelAwareIterator.java index 19068ff5f..e00e32df5 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/AsyncLabelAwareIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/AsyncLabelAwareIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.documentiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/BasicLabelAwareIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/BasicLabelAwareIterator.java index a529407d5..3187533ef 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/BasicLabelAwareIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/BasicLabelAwareIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.documentiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/DocumentIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/DocumentIterator.java index 5ac6d9090..fc3b88033 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/DocumentIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/DocumentIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.documentiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/FileDocumentIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/FileDocumentIterator.java index 0eff0731a..0d9b84701 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/FileDocumentIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/FileDocumentIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.documentiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/FileLabelAwareIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/FileLabelAwareIterator.java index e580212a8..0ffeee655 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/FileLabelAwareIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/FileLabelAwareIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.documentiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/FilenamesLabelAwareIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/FilenamesLabelAwareIterator.java index b9b2b84d9..ffaff7801 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/FilenamesLabelAwareIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/FilenamesLabelAwareIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.documentiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/LabelAwareDocumentIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/LabelAwareDocumentIterator.java index 8a13de286..d1f8b86da 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/LabelAwareDocumentIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/LabelAwareDocumentIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.documentiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/LabelAwareIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/LabelAwareIterator.java index d0dce5871..9c574f496 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/LabelAwareIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/LabelAwareIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.documentiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/LabelAwareIteratorWrapper.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/LabelAwareIteratorWrapper.java index 22db35a94..e1b27831b 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/LabelAwareIteratorWrapper.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/LabelAwareIteratorWrapper.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.text.documentiterator; import java.util.List; @@ -37,6 +55,11 @@ public class LabelAwareIteratorWrapper implements LabelAwareIterator { return nextDocument(); } + @Override + public void remove() { + + } + @Override public LabelledDocument nextDocument() { LabelledDocument doc = delegate.nextDocument(); diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/LabelledDocument.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/LabelledDocument.java index ec583b1bf..9811bc4bb 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/LabelledDocument.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/LabelledDocument.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.documentiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/LabelsSource.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/LabelsSource.java index 444c5610c..6aceff073 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/LabelsSource.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/LabelsSource.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.documentiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/SimpleLabelAwareIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/SimpleLabelAwareIterator.java index 816035164..480196af8 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/SimpleLabelAwareIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/SimpleLabelAwareIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.documentiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/interoperability/DocumentIteratorConverter.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/interoperability/DocumentIteratorConverter.java index 5a25e01b0..f4f21dc8c 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/interoperability/DocumentIteratorConverter.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/documentiterator/interoperability/DocumentIteratorConverter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.documentiterator.interoperability; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/inputsanitation/InputHomogenization.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/inputsanitation/InputHomogenization.java index 2bb0bb97d..d60983093 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/inputsanitation/InputHomogenization.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/inputsanitation/InputHomogenization.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.inputsanitation; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/invertedindex/InvertedIndex.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/invertedindex/InvertedIndex.java index 3b5b9d796..9688d9ff6 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/invertedindex/InvertedIndex.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/invertedindex/InvertedIndex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.invertedindex; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/labels/LabelsProvider.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/labels/LabelsProvider.java index 84e4f667c..b02a16928 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/labels/LabelsProvider.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/labels/LabelsProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.labels; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/movingwindow/ContextLabelRetriever.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/movingwindow/ContextLabelRetriever.java index a5d716fd6..379b7da74 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/movingwindow/ContextLabelRetriever.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/movingwindow/ContextLabelRetriever.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.movingwindow; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/movingwindow/Util.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/movingwindow/Util.java index 29d617f2d..0e140dacc 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/movingwindow/Util.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/movingwindow/Util.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.movingwindow; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/movingwindow/Window.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/movingwindow/Window.java index bfb7332b1..0c43f65ac 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/movingwindow/Window.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/movingwindow/Window.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.movingwindow; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/movingwindow/WindowConverter.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/movingwindow/WindowConverter.java index c6341bcd1..96796193c 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/movingwindow/WindowConverter.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/movingwindow/WindowConverter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.movingwindow; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/movingwindow/Windows.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/movingwindow/Windows.java index 7ac4a56bd..c66f1ccba 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/movingwindow/Windows.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/movingwindow/Windows.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.movingwindow; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/movingwindow/WordConverter.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/movingwindow/WordConverter.java index 6d0644781..c51f1b6bd 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/movingwindow/WordConverter.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/movingwindow/WordConverter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.movingwindow; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/AggregatingSentenceIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/AggregatingSentenceIterator.java index b94deb1bf..0ef0622ec 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/AggregatingSentenceIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/AggregatingSentenceIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.sentenceiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/BaseSentenceIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/BaseSentenceIterator.java index bfca3ace6..81b303313 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/BaseSentenceIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/BaseSentenceIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.sentenceiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/BasicLineIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/BasicLineIterator.java index 1a1b61778..9914c39a0 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/BasicLineIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/BasicLineIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.sentenceiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/BasicResultSetIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/BasicResultSetIterator.java index 8d97a2867..962219597 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/BasicResultSetIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/BasicResultSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.sentenceiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/CollectionSentenceIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/CollectionSentenceIterator.java index 125ed2988..96a37260d 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/CollectionSentenceIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/CollectionSentenceIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.sentenceiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/FileSentenceIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/FileSentenceIterator.java index fb014511e..281095ea1 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/FileSentenceIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/FileSentenceIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.sentenceiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/LineSentenceIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/LineSentenceIterator.java index 83991c551..dfc807262 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/LineSentenceIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/LineSentenceIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.sentenceiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/MutipleEpochsSentenceIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/MutipleEpochsSentenceIterator.java index e038b1b6f..0cf457b5a 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/MutipleEpochsSentenceIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/MutipleEpochsSentenceIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.sentenceiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/PrefetchingSentenceIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/PrefetchingSentenceIterator.java index cb1e860c1..845973643 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/PrefetchingSentenceIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/PrefetchingSentenceIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.sentenceiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/SentenceIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/SentenceIterator.java index fb47a778d..50c787f48 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/SentenceIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/SentenceIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.sentenceiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/SentencePreProcessor.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/SentencePreProcessor.java index 2ab6ee7c2..07f72398d 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/SentencePreProcessor.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/SentencePreProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.sentenceiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/StreamLineIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/StreamLineIterator.java index 156e88958..389312958 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/StreamLineIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/StreamLineIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.sentenceiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/SynchronizedSentenceIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/SynchronizedSentenceIterator.java index ee2f6cd12..fbbca6531 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/SynchronizedSentenceIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/SynchronizedSentenceIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.sentenceiterator; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/interoperability/SentenceIteratorConverter.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/interoperability/SentenceIteratorConverter.java index 3ebc29d56..dd9944517 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/interoperability/SentenceIteratorConverter.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/interoperability/SentenceIteratorConverter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.sentenceiterator.interoperability; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/labelaware/LabelAwareFileSentenceIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/labelaware/LabelAwareFileSentenceIterator.java index afb0856e5..1a44afebb 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/labelaware/LabelAwareFileSentenceIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/labelaware/LabelAwareFileSentenceIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.sentenceiterator.labelaware; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/labelaware/LabelAwareSentenceIterator.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/labelaware/LabelAwareSentenceIterator.java index 19f32a0bc..7816fad0a 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/labelaware/LabelAwareSentenceIterator.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/sentenceiterator/labelaware/LabelAwareSentenceIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.sentenceiterator.labelaware; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/stopwords/StopWords.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/stopwords/StopWords.java index 5fa2772b5..56c0e393f 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/stopwords/StopWords.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/stopwords/StopWords.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.stopwords; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/BertWordPieceStreamTokenizer.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/BertWordPieceStreamTokenizer.java index 4dbcfc66e..28c24a765 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/BertWordPieceStreamTokenizer.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/BertWordPieceStreamTokenizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.tokenization.tokenizer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/BertWordPieceTokenizer.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/BertWordPieceTokenizer.java index 817f8c563..0e179d72d 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/BertWordPieceTokenizer.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/BertWordPieceTokenizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.tokenization.tokenizer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/DefaultStreamTokenizer.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/DefaultStreamTokenizer.java index 5d4ab92db..c57ec0b24 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/DefaultStreamTokenizer.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/DefaultStreamTokenizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.tokenization.tokenizer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/DefaultTokenizer.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/DefaultTokenizer.java index 644287089..0b3da9142 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/DefaultTokenizer.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/DefaultTokenizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.tokenization.tokenizer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/NGramTokenizer.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/NGramTokenizer.java index a0b920c04..3df7516f1 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/NGramTokenizer.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/NGramTokenizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.tokenization.tokenizer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/TokenPreProcess.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/TokenPreProcess.java index 4e434d670..b6086ce73 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/TokenPreProcess.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/TokenPreProcess.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.tokenization.tokenizer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/Tokenizer.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/Tokenizer.java index 9de419eb0..975e787a2 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/Tokenizer.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/Tokenizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.tokenization.tokenizer; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/BertWordPiecePreProcessor.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/BertWordPiecePreProcessor.java index b46ab164a..46949bfd6 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/BertWordPiecePreProcessor.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/BertWordPiecePreProcessor.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.text.tokenization.tokenizer.preprocessor; import it.unimi.dsi.fastutil.ints.IntOpenHashSet; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/CommonPreprocessor.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/CommonPreprocessor.java index bbe267814..f5b41b788 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/CommonPreprocessor.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/CommonPreprocessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.tokenization.tokenizer.preprocessor; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/CompositePreProcessor.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/CompositePreProcessor.java index df7a51b8f..5c9ad6373 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/CompositePreProcessor.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/CompositePreProcessor.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.text.tokenization.tokenizer.preprocessor; import lombok.NonNull; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/EndingPreProcessor.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/EndingPreProcessor.java index d0b62c5b9..712523d38 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/EndingPreProcessor.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/EndingPreProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.tokenization.tokenizer.preprocessor; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/LowCasePreProcessor.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/LowCasePreProcessor.java index 3495e20c6..59ac13e95 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/LowCasePreProcessor.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/LowCasePreProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.tokenization.tokenizer.preprocessor; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/StringCleaning.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/StringCleaning.java index 7cfe2ba4f..1f8375d13 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/StringCleaning.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizer/preprocessor/StringCleaning.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.tokenization.tokenizer.preprocessor; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizerfactory/BertWordPieceTokenizerFactory.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizerfactory/BertWordPieceTokenizerFactory.java index 7907f7759..08fb735c7 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizerfactory/BertWordPieceTokenizerFactory.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizerfactory/BertWordPieceTokenizerFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.tokenization.tokenizerfactory; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizerfactory/DefaultTokenizerFactory.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizerfactory/DefaultTokenizerFactory.java index cb0c01ccd..697f20493 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizerfactory/DefaultTokenizerFactory.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizerfactory/DefaultTokenizerFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.tokenization.tokenizerfactory; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizerfactory/NGramTokenizerFactory.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizerfactory/NGramTokenizerFactory.java index 28894eaff..632c04673 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizerfactory/NGramTokenizerFactory.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizerfactory/NGramTokenizerFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.tokenization.tokenizerfactory; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizerfactory/TokenizerFactory.java b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizerfactory/TokenizerFactory.java index 930268d03..ce8a6a999 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizerfactory/TokenizerFactory.java +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/text/tokenization/tokenizerfactory/TokenizerFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.text.tokenization.tokenizerfactory; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/resources/assets/render.js b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/resources/assets/render.js index 89c92e55f..92f906b16 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/resources/assets/render.js +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/resources/assets/render.js @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ var x = []; var y = []; diff --git a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/resources/org/deeplearning4j/ehcache.xml b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/resources/org/deeplearning4j/ehcache.xml index 2cd145833..8344bf3ba 100755 --- a/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/resources/org/deeplearning4j/ehcache.xml +++ b/deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/resources/org/deeplearning4j/ehcache.xml @@ -1,18 +1,20 @@ - + + diff --git a/deeplearning4j/deeplearning4j-nlp-parent/pom.xml b/deeplearning4j/deeplearning4j-nlp-parent/pom.xml index 61627d8a9..6beaa365c 100644 --- a/deeplearning4j/deeplearning4j-nlp-parent/pom.xml +++ b/deeplearning4j/deeplearning4j-nlp-parent/pom.xml @@ -1,42 +1,53 @@ - - + + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + 4.0.0 + - deeplearning4j-parent org.deeplearning4j + deeplearning4j-parent 1.0.0-SNAPSHOT - 4.0.0 deeplearning4j-nlp-parent pom deeplearning4j-nlp - deeplearning4j-nlp-uima deeplearning4j-nlp-korean deeplearning4j-nlp-japanese deeplearning4j-nlp-chinese + + + org.deeplearning4j + deeplearning4j-common-tests + ${project.version} + test + + + test-nd4j-native @@ -45,5 +56,4 @@ test-nd4j-cuda-11.0 - diff --git a/deeplearning4j/deeplearning4j-nn/pom.xml b/deeplearning4j/deeplearning4j-nn/pom.xml index 268a70cd9..4222ed205 100644 --- a/deeplearning4j/deeplearning4j-nn/pom.xml +++ b/deeplearning4j/deeplearning4j-nn/pom.xml @@ -1,66 +1,65 @@ - + + + + - - - deeplearning4j-parent - org.deeplearning4j - 1.0.0-SNAPSHOT - 4.0.0 + + org.deeplearning4j + deeplearning4j-parent + 1.0.0-SNAPSHOT + + deeplearning4j-nn - jar deeplearning4j-nn - org.deeplearning4j deeplearning4j-utility-iterators ${project.version} - org.lucee oswego-concurrent 1.3.4 - org.deeplearning4j deeplearning4j-common ${project.version} - org.projectlombok lombok ${lombok.version} provided - commons-io commons-io ${commonsio.version} - org.nd4j @@ -88,33 +87,26 @@ jackson ${nd4j.version} - com.github.oshi oshi-core ${oshi.version} - ch.qos.logback logback-classic test - it.unimi.dsi fastutil ${fastutil.version} - junit junit - ${junit.version} - test - org.deeplearning4j deeplearning4j-common-tests @@ -131,5 +123,4 @@ test-nd4j-cuda-11.0 - diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/EarlyStoppingConfiguration.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/EarlyStoppingConfiguration.java index 817d022e2..bcd989bb6 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/EarlyStoppingConfiguration.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/EarlyStoppingConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/EarlyStoppingModelSaver.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/EarlyStoppingModelSaver.java index 61364d369..94ade17dd 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/EarlyStoppingModelSaver.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/EarlyStoppingModelSaver.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/EarlyStoppingResult.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/EarlyStoppingResult.java index 2987b2089..f5245bbae 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/EarlyStoppingResult.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/EarlyStoppingResult.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/listener/EarlyStoppingListener.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/listener/EarlyStoppingListener.java index 9cad1e5dd..1eb0ede88 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/listener/EarlyStoppingListener.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/listener/EarlyStoppingListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.listener; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/saver/InMemoryModelSaver.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/saver/InMemoryModelSaver.java index ec113d361..117b40469 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/saver/InMemoryModelSaver.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/saver/InMemoryModelSaver.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.saver; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/saver/LocalFileGraphSaver.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/saver/LocalFileGraphSaver.java index 46e700082..09eecccd0 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/saver/LocalFileGraphSaver.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/saver/LocalFileGraphSaver.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.saver; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/saver/LocalFileModelSaver.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/saver/LocalFileModelSaver.java index 76a5b366a..b0f268f15 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/saver/LocalFileModelSaver.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/saver/LocalFileModelSaver.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.saver; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/AutoencoderScoreCalculator.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/AutoencoderScoreCalculator.java index 2284efd1b..5d0557135 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/AutoencoderScoreCalculator.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/AutoencoderScoreCalculator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.scorecalc; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/ClassificationScoreCalculator.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/ClassificationScoreCalculator.java index 8346e8c93..a57d6de9a 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/ClassificationScoreCalculator.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/ClassificationScoreCalculator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.scorecalc; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/DataSetLossCalculator.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/DataSetLossCalculator.java index 9c0d50324..02d17d495 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/DataSetLossCalculator.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/DataSetLossCalculator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.scorecalc; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/DataSetLossCalculatorCG.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/DataSetLossCalculatorCG.java index cf6b64ca9..e33da5ffa 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/DataSetLossCalculatorCG.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/DataSetLossCalculatorCG.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.scorecalc; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/ROCScoreCalculator.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/ROCScoreCalculator.java index 89149a35a..f255471fa 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/ROCScoreCalculator.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/ROCScoreCalculator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.scorecalc; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/RegressionScoreCalculator.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/RegressionScoreCalculator.java index 87c9f2e38..681f789ee 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/RegressionScoreCalculator.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/RegressionScoreCalculator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.scorecalc; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/ScoreCalculator.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/ScoreCalculator.java index e6d5ebbfe..2abbf26b3 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/ScoreCalculator.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/ScoreCalculator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.scorecalc; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/VAEReconErrorScoreCalculator.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/VAEReconErrorScoreCalculator.java index 46eb7d670..abb310d5c 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/VAEReconErrorScoreCalculator.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/VAEReconErrorScoreCalculator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.scorecalc; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/VAEReconProbScoreCalculator.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/VAEReconProbScoreCalculator.java index 35d9dd0c9..a99323d1b 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/VAEReconProbScoreCalculator.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/VAEReconProbScoreCalculator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.scorecalc; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/base/BaseIEvaluationScoreCalculator.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/base/BaseIEvaluationScoreCalculator.java index 7f6b7dbe5..a5476468d 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/base/BaseIEvaluationScoreCalculator.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/base/BaseIEvaluationScoreCalculator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.scorecalc.base; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/base/BaseMLNScoreCalculator.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/base/BaseMLNScoreCalculator.java index 57f6c6089..71327aa2c 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/base/BaseMLNScoreCalculator.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/base/BaseMLNScoreCalculator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.scorecalc.base; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/base/BaseScoreCalculator.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/base/BaseScoreCalculator.java index 40c0b83cb..4df0e25f9 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/base/BaseScoreCalculator.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/scorecalc/base/BaseScoreCalculator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.scorecalc.base; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/BestScoreEpochTerminationCondition.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/BestScoreEpochTerminationCondition.java index 713d3d2a3..a03738bb5 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/BestScoreEpochTerminationCondition.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/BestScoreEpochTerminationCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.termination; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/EpochTerminationCondition.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/EpochTerminationCondition.java index ea08693d2..2a0a86e44 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/EpochTerminationCondition.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/EpochTerminationCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.termination; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/InvalidScoreIterationTerminationCondition.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/InvalidScoreIterationTerminationCondition.java index 8084233a3..6bf878984 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/InvalidScoreIterationTerminationCondition.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/InvalidScoreIterationTerminationCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.termination; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/IterationTerminationCondition.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/IterationTerminationCondition.java index 69f74c056..e7f39cd8b 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/IterationTerminationCondition.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/IterationTerminationCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.termination; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/MaxEpochsTerminationCondition.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/MaxEpochsTerminationCondition.java index 6d2e46578..0b155ad25 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/MaxEpochsTerminationCondition.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/MaxEpochsTerminationCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.termination; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/MaxScoreIterationTerminationCondition.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/MaxScoreIterationTerminationCondition.java index ff82bd4dc..e55ed69a5 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/MaxScoreIterationTerminationCondition.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/MaxScoreIterationTerminationCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.termination; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/MaxTimeIterationTerminationCondition.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/MaxTimeIterationTerminationCondition.java index 26d65a145..c6821873b 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/MaxTimeIterationTerminationCondition.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/MaxTimeIterationTerminationCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.termination; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/ScoreImprovementEpochTerminationCondition.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/ScoreImprovementEpochTerminationCondition.java index 45a577ee3..17d2a94c4 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/ScoreImprovementEpochTerminationCondition.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/termination/ScoreImprovementEpochTerminationCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.termination; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/trainer/BaseEarlyStoppingTrainer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/trainer/BaseEarlyStoppingTrainer.java index f038645ec..fdd18300d 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/trainer/BaseEarlyStoppingTrainer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/trainer/BaseEarlyStoppingTrainer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.trainer; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/trainer/EarlyStoppingGraphTrainer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/trainer/EarlyStoppingGraphTrainer.java index 2b8178ce9..961aff863 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/trainer/EarlyStoppingGraphTrainer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/trainer/EarlyStoppingGraphTrainer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.trainer; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/trainer/EarlyStoppingTrainer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/trainer/EarlyStoppingTrainer.java index 5eee74512..3d0f31f57 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/trainer/EarlyStoppingTrainer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/trainer/EarlyStoppingTrainer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.trainer; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/trainer/IEarlyStoppingTrainer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/trainer/IEarlyStoppingTrainer.java index 577fe1693..fef295d55 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/trainer/IEarlyStoppingTrainer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/earlystopping/trainer/IEarlyStoppingTrainer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.earlystopping.trainer; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/BaseEvaluation.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/BaseEvaluation.java index 8ca1763f6..e350d7bbd 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/BaseEvaluation.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/BaseEvaluation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.eval; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/ConfusionMatrix.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/ConfusionMatrix.java index 69767df13..6f4e3d69d 100755 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/ConfusionMatrix.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/ConfusionMatrix.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.eval; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/Evaluation.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/Evaluation.java index af0e55f57..98b1a0a6f 100755 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/Evaluation.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/Evaluation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.eval; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/EvaluationAveraging.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/EvaluationAveraging.java index 605aafbf2..6c93b4098 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/EvaluationAveraging.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/EvaluationAveraging.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.eval; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/EvaluationBinary.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/EvaluationBinary.java index 108b0c7d0..2ec6cec7d 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/EvaluationBinary.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/EvaluationBinary.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.eval; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/EvaluationCalibration.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/EvaluationCalibration.java index bda8b21b2..60fc7b77b 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/EvaluationCalibration.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/EvaluationCalibration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.eval; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/EvaluationUtils.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/EvaluationUtils.java index 61570257d..a4cb7f99b 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/EvaluationUtils.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/EvaluationUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.eval; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/IEvaluation.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/IEvaluation.java index cca4daa51..754590899 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/IEvaluation.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/IEvaluation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.eval; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/ROC.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/ROC.java index 25e1ae3d1..7e01b2a80 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/ROC.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/ROC.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.eval; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/ROCBinary.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/ROCBinary.java index c9dd6dd45..a9a52cbf4 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/ROCBinary.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/ROCBinary.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.eval; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/ROCMultiClass.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/ROCMultiClass.java index 4bc284b92..2f5d4981c 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/ROCMultiClass.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/ROCMultiClass.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.eval; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/RegressionEvaluation.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/RegressionEvaluation.java index 10c7c0c6d..2b47f2d33 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/RegressionEvaluation.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/RegressionEvaluation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.eval; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/curves/Histogram.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/curves/Histogram.java index 3b043adaf..6c5d10501 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/curves/Histogram.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/curves/Histogram.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.eval.curves; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/curves/PrecisionRecallCurve.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/curves/PrecisionRecallCurve.java index 2b00ac375..066dafcc7 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/curves/PrecisionRecallCurve.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/curves/PrecisionRecallCurve.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.eval.curves; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/curves/ReliabilityDiagram.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/curves/ReliabilityDiagram.java index 27285a4e1..6398e63f4 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/curves/ReliabilityDiagram.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/curves/ReliabilityDiagram.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.eval.curves; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/curves/RocCurve.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/curves/RocCurve.java index 5d5e65c2a..10d87cc94 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/curves/RocCurve.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/curves/RocCurve.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.eval.curves; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/meta/Prediction.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/meta/Prediction.java index fff9c2129..6a770d4ac 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/meta/Prediction.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/eval/meta/Prediction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.eval.meta; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/exception/DL4JException.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/exception/DL4JException.java index 41b7a0f44..1da1388e9 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/exception/DL4JException.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/exception/DL4JException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.exception; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/exception/DL4JInvalidConfigException.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/exception/DL4JInvalidConfigException.java index b2839946a..50cd43d49 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/exception/DL4JInvalidConfigException.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/exception/DL4JInvalidConfigException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.exception; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/exception/DL4JInvalidInputException.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/exception/DL4JInvalidInputException.java index 39217c20f..5003c8b11 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/exception/DL4JInvalidInputException.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/exception/DL4JInvalidInputException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.exception; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/exception/DeepLearningException.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/exception/DeepLearningException.java index 973a62b37..61081094e 100755 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/exception/DeepLearningException.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/exception/DeepLearningException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.exception; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/exception/InvalidStepException.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/exception/InvalidStepException.java index edba60532..51d952177 100755 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/exception/InvalidStepException.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/exception/InvalidStepException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.exception; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/gradientcheck/GradientCheckUtil.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/gradientcheck/GradientCheckUtil.java index c50ea517b..9079c3c97 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/gradientcheck/GradientCheckUtil.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/gradientcheck/GradientCheckUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.gradientcheck; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/adapters/ArgmaxAdapter.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/adapters/ArgmaxAdapter.java index 8830a1304..4d100dbaf 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/adapters/ArgmaxAdapter.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/adapters/ArgmaxAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.adapters; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/adapters/Regression2dAdapter.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/adapters/Regression2dAdapter.java index bc8cc8c95..df4ce1e77 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/adapters/Regression2dAdapter.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/adapters/Regression2dAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.adapters; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/adapters/YoloModelAdapter.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/adapters/YoloModelAdapter.java index 5a92a8fc7..62cfa3dbf 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/adapters/YoloModelAdapter.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/adapters/YoloModelAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.adapters; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/Classifier.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/Classifier.java index 8b1173523..a53540c82 100755 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/Classifier.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/Classifier.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.api; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/FwdPassType.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/FwdPassType.java index cef823f82..9a5797ea3 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/FwdPassType.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/FwdPassType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.api; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/Layer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/Layer.java index be96113c9..424d6c20e 100755 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/Layer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/Layer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.api; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/MaskState.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/MaskState.java index 0e2fc39d7..0d1c093e0 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/MaskState.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/MaskState.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.api; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/Model.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/Model.java index 49b32dcc2..ddf936c83 100755 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/Model.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/Model.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.api; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/ModelAdapter.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/ModelAdapter.java index 6b99a92d4..144f11f9c 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/ModelAdapter.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/ModelAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.api; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/NeuralNetwork.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/NeuralNetwork.java index 2284545ad..47d658075 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/NeuralNetwork.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/NeuralNetwork.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.api; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/OptimizationAlgorithm.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/OptimizationAlgorithm.java index 7528f9258..0c551dd70 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/OptimizationAlgorithm.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/OptimizationAlgorithm.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.api; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/ParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/ParamInitializer.java index b6b252e65..157ba4d46 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/ParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/ParamInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.api; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/Trainable.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/Trainable.java index 7ecb91b48..6ab8b8b04 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/Trainable.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/Trainable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.api; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/TrainingConfig.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/TrainingConfig.java index 06b1d9b6e..8cd56fdfa 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/TrainingConfig.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/TrainingConfig.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.api; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/Updater.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/Updater.java index eea606086..c7545183a 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/Updater.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/Updater.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.api; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/layers/IOutputLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/layers/IOutputLayer.java index 4c860f7c8..ef8aa7778 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/layers/IOutputLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/layers/IOutputLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.api.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/layers/LayerConstraint.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/layers/LayerConstraint.java index 8ad675047..eae936d19 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/layers/LayerConstraint.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/layers/LayerConstraint.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.api.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/layers/RecurrentLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/layers/RecurrentLayer.java index dc7d9de55..f722442ef 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/layers/RecurrentLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/api/layers/RecurrentLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.api.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/BackpropType.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/BackpropType.java index 801c3f95a..34f3fe91d 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/BackpropType.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/BackpropType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/CNN2DFormat.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/CNN2DFormat.java index b40d76bff..7999335fa 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/CNN2DFormat.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/CNN2DFormat.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.nn.conf; /** diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/CacheMode.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/CacheMode.java index 0c66b46ea..05a63959e 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/CacheMode.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/CacheMode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/ComputationGraphConfiguration.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/ComputationGraphConfiguration.java index 38f7cc9cc..66766d6b2 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/ComputationGraphConfiguration.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/ComputationGraphConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf; @@ -999,7 +1001,7 @@ public class ComputationGraphConfiguration implements Serializable, Cloneable { * InputType.convolutional(28,28,1)) then the input labelled "a" is a feed forward input, whereas the input labelled "b" in a CNN * input, with 28x28x1 images as input.
* Note: Using setInputTypes is not always necessary, but can be especially helpful for example with CNNs such that - * the calculations on input/ouput sizes (width, height, channels, etc) don't need to be done manually.
+ * the calculations on input/output sizes (width, height, channels, etc) don't need to be done manually.
* Note 2: If a preprocessor is manually added for a given layer, it will not be overridden by the automatic * addition of preprocessors. * Note 3: If a layer has an nIn set manually, this will not be overridden @@ -1143,7 +1145,7 @@ public class ComputationGraphConfiguration implements Serializable, Cloneable { * first * @return A map of activation types for the graph (key: vertex name. value: type of activations out of that vertex) */ - public Map getLayerActivationTypes(){ + public Map getLayerActivationTypes() { Preconditions.checkArgument(networkInputs != null && networkInputs.size() > 0, "Cannot calculate activation types if no inputs have been set (use addInputs(String...))"); Preconditions.checkArgument(networkInputTypes != null && networkInputTypes.size() == networkInputs.size(), diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/ConvolutionMode.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/ConvolutionMode.java index 4bd1050f0..0ec30172c 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/ConvolutionMode.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/ConvolutionMode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/DataFormat.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/DataFormat.java index bde392a58..0643084df 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/DataFormat.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/DataFormat.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf; import org.deeplearning4j.nn.conf.serde.format.DataFormatDeserializer; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/GradientNormalization.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/GradientNormalization.java index 05b1c6638..216b1da05 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/GradientNormalization.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/GradientNormalization.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/InputPreProcessor.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/InputPreProcessor.java index 92b98eff5..96c623181 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/InputPreProcessor.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/InputPreProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/MultiLayerConfiguration.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/MultiLayerConfiguration.java index ba9dc1c68..5f07281b5 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/MultiLayerConfiguration.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/MultiLayerConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/NeuralNetConfiguration.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/NeuralNetConfiguration.java index 462bc9f17..927a368b8 100755 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/NeuralNetConfiguration.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/NeuralNetConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/RNNFormat.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/RNNFormat.java index c12857178..9ca22d6d4 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/RNNFormat.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/RNNFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/Updater.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/Updater.java index d9f8cd647..93d919610 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/Updater.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/Updater.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/WorkspaceMode.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/WorkspaceMode.java index 2a754d07d..f6577c690 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/WorkspaceMode.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/WorkspaceMode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/constraint/BaseConstraint.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/constraint/BaseConstraint.java index 0973f5cb2..444d4f88f 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/constraint/BaseConstraint.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/constraint/BaseConstraint.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.constraint; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/constraint/MaxNormConstraint.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/constraint/MaxNormConstraint.java index 7a20de13e..eae797b99 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/constraint/MaxNormConstraint.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/constraint/MaxNormConstraint.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.constraint; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/constraint/MinMaxNormConstraint.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/constraint/MinMaxNormConstraint.java index 6995d8d21..da3344f06 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/constraint/MinMaxNormConstraint.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/constraint/MinMaxNormConstraint.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.constraint; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/constraint/NonNegativeConstraint.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/constraint/NonNegativeConstraint.java index 697374d42..522288375 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/constraint/NonNegativeConstraint.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/constraint/NonNegativeConstraint.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.constraint; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/constraint/UnitNormConstraint.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/constraint/UnitNormConstraint.java index 1385816f9..59ce8597b 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/constraint/UnitNormConstraint.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/constraint/UnitNormConstraint.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.constraint; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/BinomialDistribution.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/BinomialDistribution.java index dcaf50b4e..b418a657d 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/BinomialDistribution.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/BinomialDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.distribution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/ConstantDistribution.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/ConstantDistribution.java index 0a023846f..4ab2fceec 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/ConstantDistribution.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/ConstantDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.distribution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/Distribution.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/Distribution.java index ae1c5afcd..c02b54393 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/Distribution.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/Distribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.distribution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/Distributions.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/Distributions.java index 976bd2e9a..8a9780db1 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/Distributions.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/Distributions.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.distribution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/GaussianDistribution.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/GaussianDistribution.java index a461a8150..bc60afc8f 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/GaussianDistribution.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/GaussianDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.distribution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/LogNormalDistribution.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/LogNormalDistribution.java index 15182c9ba..8be8fb9b3 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/LogNormalDistribution.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/LogNormalDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.distribution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/NormalDistribution.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/NormalDistribution.java index 87223bf8a..42ca576d7 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/NormalDistribution.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/NormalDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.distribution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/OrthogonalDistribution.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/OrthogonalDistribution.java index dbe7143d4..695696034 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/OrthogonalDistribution.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/OrthogonalDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.distribution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/TruncatedNormalDistribution.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/TruncatedNormalDistribution.java index 711e4ba72..18f30f5c5 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/TruncatedNormalDistribution.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/TruncatedNormalDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.distribution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/UniformDistribution.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/UniformDistribution.java index 8403b01ef..c9d0e6fca 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/UniformDistribution.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/UniformDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.distribution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/serde/LegacyDistributionDeserializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/serde/LegacyDistributionDeserializer.java index e26841a46..ce0ebe517 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/serde/LegacyDistributionDeserializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/serde/LegacyDistributionDeserializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.distribution.serde; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/serde/LegacyDistributionHelper.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/serde/LegacyDistributionHelper.java index cb4e54a68..f897e3746 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/serde/LegacyDistributionHelper.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/distribution/serde/LegacyDistributionHelper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.distribution.serde; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/AlphaDropout.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/AlphaDropout.java index aa2ed3478..1b4c15830 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/AlphaDropout.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/AlphaDropout.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.dropout; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/Dropout.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/Dropout.java index faded5e58..172e10d18 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/Dropout.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/Dropout.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.dropout; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/DropoutHelper.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/DropoutHelper.java index 8aef673fd..04349bcd1 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/DropoutHelper.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/DropoutHelper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.dropout; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/GaussianDropout.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/GaussianDropout.java index cd25718bc..d4edff833 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/GaussianDropout.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/GaussianDropout.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.dropout; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/GaussianNoise.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/GaussianNoise.java index d165614ab..2745ea6e6 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/GaussianNoise.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/GaussianNoise.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.dropout; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/IDropout.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/IDropout.java index 43ba15898..52c8b7cc5 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/IDropout.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/IDropout.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.dropout; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/SpatialDropout.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/SpatialDropout.java index 4d83e7fe8..044155ea9 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/SpatialDropout.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/dropout/SpatialDropout.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.dropout; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/AttentionVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/AttentionVertex.java index 77efbf84e..bbb9136f6 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/AttentionVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/AttentionVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.graph; import org.nd4j.shade.guava.base.Preconditions; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/ElementWiseVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/ElementWiseVertex.java index d04e9f498..523dd3dfb 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/ElementWiseVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/ElementWiseVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.graph; @@ -20,6 +22,7 @@ import lombok.Data; import lombok.val; import org.deeplearning4j.nn.conf.inputs.InputType; import org.deeplearning4j.nn.conf.inputs.InvalidInputTypeException; +import org.deeplearning4j.nn.conf.layers.InputTypeUtil; import org.deeplearning4j.nn.conf.memory.LayerMemoryReport; import org.deeplearning4j.nn.conf.memory.MemoryReport; import org.deeplearning4j.nn.graph.ComputationGraph; @@ -125,6 +128,8 @@ public class ElementWiseVertex extends GraphVertex { public InputType getOutputType(int layerIndex, InputType... vertexInputs) throws InvalidInputTypeException { if (vertexInputs.length == 1) return vertexInputs[0]; + InputTypeUtil.convertMultipleTypes(vertexInputs); + InputType first = vertexInputs[0]; if (first.getType() != InputType.Type.CNN) { //FF, RNN or flat CNN data inputs diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/FrozenVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/FrozenVertex.java index 5059395bb..f67294eb6 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/FrozenVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/FrozenVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.graph; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/GraphVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/GraphVertex.java index 497cc77f5..b268b1643 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/GraphVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/GraphVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.graph; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/L2NormalizeVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/L2NormalizeVertex.java index f299ca3b6..70aa9709e 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/L2NormalizeVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/L2NormalizeVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.graph; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/L2Vertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/L2Vertex.java index 53fe591bb..930689f63 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/L2Vertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/L2Vertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.graph; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/LayerVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/LayerVertex.java index 7a670cbf7..ee2fcf278 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/LayerVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/LayerVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.graph; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/MergeVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/MergeVertex.java index 1def6ab32..5904b4f63 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/MergeVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/MergeVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.graph; @@ -25,6 +27,7 @@ import org.deeplearning4j.nn.conf.RNNFormat; import org.deeplearning4j.nn.conf.inputs.InputType; import org.deeplearning4j.nn.conf.inputs.InvalidInputTypeException; import org.deeplearning4j.nn.conf.layers.Convolution3D; +import org.deeplearning4j.nn.conf.layers.InputTypeUtil; import org.deeplearning4j.nn.conf.memory.LayerMemoryReport; import org.deeplearning4j.nn.conf.memory.MemoryReport; import org.deeplearning4j.nn.graph.ComputationGraph; @@ -43,9 +46,8 @@ import org.nd4j.linalg.api.ndarray.INDArray; @Data public class MergeVertex extends GraphVertex { - @Setter protected int mergeAxis = DEFAULT_MERGE_DIM; //default value for backward compatibility (deserialization of old version JSON) - NCHW and NCW format - + protected boolean modified = false; public final static int DEFAULT_MERGE_DIM = 1; @@ -94,6 +96,10 @@ public class MergeVertex extends GraphVertex { public InputType getOutputType(int layerIndex, InputType... vertexInputs) throws InvalidInputTypeException { if (vertexInputs.length == 1) return vertexInputs[0]; + + InputTypeUtil.convertMultipleTypes(vertexInputs); + + InputType first = vertexInputs[0]; if (first.getType() == InputType.Type.CNNFlat) { //TODO @@ -157,17 +163,6 @@ public class MergeVertex extends GraphVertex { } for (int i = 0; i < vertexInputs.length; i++) { - if (vertexInputs[i].getType() != first.getType()) { - if(vertexInputs[i].getType() != InputType.Type.FF && vertexInputs[i].getType() != InputType.Type.RNN) - throw new InvalidInputTypeException( - "Invalid input: MergeVertex cannot merge activations of different types:" - + " first type = " + first.getType() + ", input type " + (i + 1) - + " = " + vertexInputs[i].getType()); - else { - type = InputType.Type.RNN; - } - } - long thisSize = 0; switch (vertexInputs[i].getType()) { case FF: @@ -185,7 +180,7 @@ public class MergeVertex extends GraphVertex { case RNN: thisSize = ((InputType.InputTypeRecurrent) vertexInputs[i]).getSize(); //don't change dimension if it was already modified - if(this.mergeAxis == DEFAULT_MERGE_DIM) + if(!modified) this.mergeAxis = format == RNNFormat.NCW ? 1 : 2; break; default: @@ -263,6 +258,15 @@ public class MergeVertex extends GraphVertex { } } + public int getMergeAxis() { + return mergeAxis; + } + + public void setMergeAxis(int mergeAxis) { + this.mergeAxis = mergeAxis; + modified = true; + } + @Override public MemoryReport getMemoryReport(InputType... inputTypes) { InputType outputType = getOutputType(-1, inputTypes); diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/PoolHelperVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/PoolHelperVertex.java index c5034129c..4d7770bb7 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/PoolHelperVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/PoolHelperVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.graph; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/PreprocessorVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/PreprocessorVertex.java index 90f905c60..c22a17ba3 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/PreprocessorVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/PreprocessorVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.graph; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/ReshapeVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/ReshapeVertex.java index 006024eea..5ae980818 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/ReshapeVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/ReshapeVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.graph; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/ScaleVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/ScaleVertex.java index 1859586c6..98f6acfef 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/ScaleVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/ScaleVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.graph; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/ShiftVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/ShiftVertex.java index b50f16d5e..9ddc0cef2 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/ShiftVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/ShiftVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.graph; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/StackVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/StackVertex.java index 65515153d..a0116dc70 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/StackVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/StackVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.graph; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/SubsetVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/SubsetVertex.java index cb3692af2..412ae3603 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/SubsetVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/SubsetVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.graph; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/UnstackVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/UnstackVertex.java index 910db350c..4d5481a60 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/UnstackVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/UnstackVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.graph; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/rnn/DuplicateToTimeSeriesVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/rnn/DuplicateToTimeSeriesVertex.java index 4560fd1f9..5dcdf115f 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/rnn/DuplicateToTimeSeriesVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/rnn/DuplicateToTimeSeriesVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.graph.rnn; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/rnn/LastTimeStepVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/rnn/LastTimeStepVertex.java index b95dccc9b..b40548040 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/rnn/LastTimeStepVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/rnn/LastTimeStepVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.graph.rnn; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/rnn/ReverseTimeSeriesVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/rnn/ReverseTimeSeriesVertex.java index eb4fccb19..6a0d79fcd 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/rnn/ReverseTimeSeriesVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/graph/rnn/ReverseTimeSeriesVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.graph.rnn; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/inputs/InputType.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/inputs/InputType.java index 5178adb6a..1f5d0b7e8 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/inputs/InputType.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/inputs/InputType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.inputs; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/inputs/InvalidInputTypeException.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/inputs/InvalidInputTypeException.java index 18b39c5f8..7f1523bb5 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/inputs/InvalidInputTypeException.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/inputs/InvalidInputTypeException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.inputs; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/AbstractLSTM.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/AbstractLSTM.java index b051c4b36..2fe44d146 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/AbstractLSTM.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/AbstractLSTM.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/ActivationLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/ActivationLayer.java index c4aaadc98..c42a2de9a 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/ActivationLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/ActivationLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/AutoEncoder.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/AutoEncoder.java index 69788c5a3..74c9e8255 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/AutoEncoder.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/AutoEncoder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/BaseLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/BaseLayer.java index 7abe0da06..20190837f 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/BaseLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/BaseLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/BaseOutputLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/BaseOutputLayer.java index e8de58d9f..aa04699f6 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/BaseOutputLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/BaseOutputLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/BasePretrainNetwork.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/BasePretrainNetwork.java index d53927b9e..973ee1f2a 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/BasePretrainNetwork.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/BasePretrainNetwork.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/BaseRecurrentLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/BaseRecurrentLayer.java index 6237600a3..21c7d6acc 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/BaseRecurrentLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/BaseRecurrentLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/BaseUpsamplingLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/BaseUpsamplingLayer.java index 057aaa8ab..b5a319e99 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/BaseUpsamplingLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/BaseUpsamplingLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/BatchNormalization.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/BatchNormalization.java index dcced3aeb..419c6200e 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/BatchNormalization.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/BatchNormalization.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/CapsuleLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/CapsuleLayer.java index 5769f2a83..643a213b5 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/CapsuleLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/CapsuleLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/CapsuleStrengthLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/CapsuleStrengthLayer.java index 4664a86a0..4d503fc32 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/CapsuleStrengthLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/CapsuleStrengthLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/CenterLossOutputLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/CenterLossOutputLayer.java index 34213038a..a67523cd2 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/CenterLossOutputLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/CenterLossOutputLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Cnn3DLossLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Cnn3DLossLayer.java index 1bde3d912..31af4a070 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Cnn3DLossLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Cnn3DLossLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/CnnLossLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/CnnLossLayer.java index 647b187e3..16f89e703 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/CnnLossLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/CnnLossLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Convolution1D.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Convolution1D.java index 00650e464..cce064575 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Convolution1D.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Convolution1D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Convolution1DLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Convolution1DLayer.java index cc958f8cf..a4393c9ca 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Convolution1DLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Convolution1DLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Convolution2D.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Convolution2D.java index 13af9e1c4..24f7b0d8a 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Convolution2D.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Convolution2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Convolution3D.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Convolution3D.java index dc88116e5..765908889 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Convolution3D.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Convolution3D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/ConvolutionLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/ConvolutionLayer.java index 5a07470e2..f9c3ccc50 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/ConvolutionLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/ConvolutionLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Deconvolution2D.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Deconvolution2D.java index b2f64c894..886e50f55 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Deconvolution2D.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Deconvolution2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Deconvolution3D.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Deconvolution3D.java index 01bd3ca83..ef41e0007 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Deconvolution3D.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Deconvolution3D.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/DenseLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/DenseLayer.java index 67cac076d..2a06e5ccd 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/DenseLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/DenseLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/DepthwiseConvolution2D.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/DepthwiseConvolution2D.java index 7edf65618..76c7f2b57 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/DepthwiseConvolution2D.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/DepthwiseConvolution2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/DropoutLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/DropoutLayer.java index 94cad0a98..856decdb5 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/DropoutLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/DropoutLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/EmbeddingLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/EmbeddingLayer.java index 6478b6d59..6f26600fa 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/EmbeddingLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/EmbeddingLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/EmbeddingSequenceLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/EmbeddingSequenceLayer.java index e52883779..20022f936 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/EmbeddingSequenceLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/EmbeddingSequenceLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/FeedForwardLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/FeedForwardLayer.java index 751637913..3089812a3 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/FeedForwardLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/FeedForwardLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/GlobalPoolingLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/GlobalPoolingLayer.java index d9e10e6f5..a3a4793dd 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/GlobalPoolingLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/GlobalPoolingLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/GravesBidirectionalLSTM.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/GravesBidirectionalLSTM.java index 1a2a89a24..68be0d755 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/GravesBidirectionalLSTM.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/GravesBidirectionalLSTM.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/GravesLSTM.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/GravesLSTM.java index 60fe918a8..c01ac8d39 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/GravesLSTM.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/GravesLSTM.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/InputTypeUtil.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/InputTypeUtil.java index 4f07669bf..d676db49b 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/InputTypeUtil.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/InputTypeUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; @@ -28,6 +30,7 @@ import org.deeplearning4j.nn.conf.preprocessor.CnnToRnnPreProcessor; import org.deeplearning4j.nn.conf.preprocessor.FeedForwardToCnnPreProcessor; import org.deeplearning4j.nn.conf.preprocessor.FeedForwardToRnnPreProcessor; import org.nd4j.common.base.Preconditions; +import org.nd4j.common.primitives.Counter; import java.util.Arrays; @@ -575,4 +578,65 @@ public class InputTypeUtil { } } + /** + * Convert multiple types when multiple are found. + * Only handles simple obvious cases, otherwise errs on throwing an exception. + * Useful for multiple input vertices such as {@link org.deeplearning4j.nn.conf.graph.MergeVertex} + * and {@link org.deeplearning4j.nn.conf.graph.ElementWiseVertex} + * @param vertexInputs the input types to convert + */ + public static void convertMultipleTypes(InputType[] vertexInputs) { + Counter counter = new Counter<>(); + for(int i = 0; i < vertexInputs.length; i++) { + counter.incrementCount(vertexInputs[i].getType(),1.0); + } + + InputType.Type maxType = counter.argMax(); + //more than one type + //convert feed forward to rnn and back + if(counter.size() > 1) { + switch(maxType) { + case FF: + for(int i = 0; i < vertexInputs.length; i++) { + if(vertexInputs[i].getType() != maxType) { + switch(vertexInputs[i].getType()) { + case RNN: + InputType.InputTypeRecurrent recurrent = (InputType.InputTypeRecurrent) vertexInputs[i]; + if(recurrent.getTimeSeriesLength() == 1) { + vertexInputs[i] = InputType.feedForward(recurrent.getSize()); + } + break; + default: + throw new IllegalArgumentException("Attempted conversion of types and was unable to"); + } + } + } + break; + case RNN: + RNNFormat rnnFormat = null; + for(int i = 0; i < vertexInputs.length; i++) { + if(vertexInputs[i].getType() == InputType.Type.RNN) { + InputType.InputTypeRecurrent firstRecurrent = (InputType.InputTypeRecurrent) vertexInputs[i]; + rnnFormat = firstRecurrent.getFormat(); + break; + + } + } + for(int i = 0; i < vertexInputs.length; i++) { + if(vertexInputs[i].getType() != maxType) { + switch(vertexInputs[i].getType()) { + case FF: + InputType.InputTypeFeedForward ff = (InputType.InputTypeFeedForward) vertexInputs[i]; + vertexInputs[i] = InputType.recurrent(ff.getSize(),rnnFormat); + break; + default: + throw new IllegalArgumentException("Attempted conversion of types and was unable to"); + + } + } + } + break; + } + } + } } diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LSTM.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LSTM.java index ba0b52d8c..c292acc4b 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LSTM.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LSTM.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Layer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Layer.java index 25577bd1f..b41ee576b 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Layer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Layer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LayerValidation.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LayerValidation.java index a63cfed88..2752ba7e1 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LayerValidation.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LayerValidation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LearnedSelfAttentionLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LearnedSelfAttentionLayer.java index 8ddd20b45..77f07a7e9 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LearnedSelfAttentionLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LearnedSelfAttentionLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LocalResponseNormalization.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LocalResponseNormalization.java index ebfc56a7b..03cf8b82a 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LocalResponseNormalization.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LocalResponseNormalization.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LocallyConnected1D.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LocallyConnected1D.java index a5028f08a..6b47caf53 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LocallyConnected1D.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LocallyConnected1D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LocallyConnected2D.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LocallyConnected2D.java index b65d2fe77..433e11eea 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LocallyConnected2D.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LocallyConnected2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LossLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LossLayer.java index e26dbd83f..9efc800e8 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LossLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/LossLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/NoParamLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/NoParamLayer.java index f8b647eb4..cd15d3a2b 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/NoParamLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/NoParamLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/OutputLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/OutputLayer.java index 75d864605..167345923 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/OutputLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/OutputLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/PReLULayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/PReLULayer.java index b9b8bca4d..89f6920ba 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/PReLULayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/PReLULayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Pooling1D.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Pooling1D.java index 78ae7a36d..92fa2e198 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Pooling1D.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Pooling1D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Pooling2D.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Pooling2D.java index a9a3076c5..f26a064b1 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Pooling2D.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Pooling2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/PoolingType.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/PoolingType.java index 38c9ad4b7..a509760a0 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/PoolingType.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/PoolingType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/PrimaryCapsules.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/PrimaryCapsules.java index ff4e1cf76..382191a23 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/PrimaryCapsules.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/PrimaryCapsules.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/RecurrentAttentionLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/RecurrentAttentionLayer.java index 10659f326..c43b9f223 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/RecurrentAttentionLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/RecurrentAttentionLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/RnnLossLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/RnnLossLayer.java index f1dcd73a6..391e4cf64 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/RnnLossLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/RnnLossLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/RnnOutputLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/RnnOutputLayer.java index e35498e37..f80f66d6b 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/RnnOutputLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/RnnOutputLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/SelfAttentionLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/SelfAttentionLayer.java index 79fa765a4..60557761b 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/SelfAttentionLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/SelfAttentionLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/SeparableConvolution2D.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/SeparableConvolution2D.java index af4d05d89..3330e9029 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/SeparableConvolution2D.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/SeparableConvolution2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/SpaceToBatchLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/SpaceToBatchLayer.java index 042f09121..0b155aee4 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/SpaceToBatchLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/SpaceToBatchLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/SpaceToDepthLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/SpaceToDepthLayer.java index 53d9007be..298fadd61 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/SpaceToDepthLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/SpaceToDepthLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Subsampling1DLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Subsampling1DLayer.java index cda4f3b4a..e044b5612 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Subsampling1DLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Subsampling1DLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Subsampling3DLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Subsampling3DLayer.java index 67a2e804c..ff9a10e2a 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Subsampling3DLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Subsampling3DLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/SubsamplingLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/SubsamplingLayer.java index 333a3c02e..4f30b6cd0 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/SubsamplingLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/SubsamplingLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Upsampling1D.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Upsampling1D.java index 4b39fa34d..9909aee98 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Upsampling1D.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Upsampling1D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Upsampling2D.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Upsampling2D.java index 0357c3e7b..1153c9149 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Upsampling2D.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Upsampling2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Upsampling3D.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Upsampling3D.java index 695212d89..449c1be63 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Upsampling3D.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/Upsampling3D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/ZeroPadding1DLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/ZeroPadding1DLayer.java index a3345fde9..90f940cda 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/ZeroPadding1DLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/ZeroPadding1DLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/ZeroPadding3DLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/ZeroPadding3DLayer.java index 8dfd594a6..d7ecdb567 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/ZeroPadding3DLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/ZeroPadding3DLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/ZeroPaddingLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/ZeroPaddingLayer.java index ef92d2f85..4de916918 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/ZeroPaddingLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/ZeroPaddingLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/convolutional/Cropping1D.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/convolutional/Cropping1D.java index b10b0e716..c59a5a8c2 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/convolutional/Cropping1D.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/convolutional/Cropping1D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.convolutional; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/convolutional/Cropping2D.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/convolutional/Cropping2D.java index 3a13e2fc0..8d7d690ab 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/convolutional/Cropping2D.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/convolutional/Cropping2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.convolutional; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/convolutional/Cropping3D.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/convolutional/Cropping3D.java index 74710a469..d213ce4c6 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/convolutional/Cropping3D.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/convolutional/Cropping3D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.convolutional; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/misc/ElementWiseMultiplicationLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/misc/ElementWiseMultiplicationLayer.java index ef88dc8b7..bf92d9452 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/misc/ElementWiseMultiplicationLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/misc/ElementWiseMultiplicationLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.misc; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/misc/FrozenLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/misc/FrozenLayer.java index f72da09e5..3d8a2d8c3 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/misc/FrozenLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/misc/FrozenLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.misc; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/misc/FrozenLayerWithBackprop.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/misc/FrozenLayerWithBackprop.java index 468c31032..0c7826366 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/misc/FrozenLayerWithBackprop.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/misc/FrozenLayerWithBackprop.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.misc; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/misc/RepeatVector.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/misc/RepeatVector.java index e7f252c4b..bd85f3ee7 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/misc/RepeatVector.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/misc/RepeatVector.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.misc; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/objdetect/BoundingBoxesDeserializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/objdetect/BoundingBoxesDeserializer.java index dec2c6c33..0c0395b3f 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/objdetect/BoundingBoxesDeserializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/objdetect/BoundingBoxesDeserializer.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.objdetect; import org.nd4j.linalg.api.buffer.DataBuffer; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/objdetect/Yolo2OutputLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/objdetect/Yolo2OutputLayer.java index 6ffb92978..24b2146db 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/objdetect/Yolo2OutputLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/objdetect/Yolo2OutputLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.objdetect; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/recurrent/Bidirectional.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/recurrent/Bidirectional.java index 792e5633b..cdf47bad8 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/recurrent/Bidirectional.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/recurrent/Bidirectional.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/recurrent/LastTimeStep.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/recurrent/LastTimeStep.java index 52c048472..804d499c6 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/recurrent/LastTimeStep.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/recurrent/LastTimeStep.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/recurrent/SimpleRnn.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/recurrent/SimpleRnn.java index 7bc91c17e..c883a9c36 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/recurrent/SimpleRnn.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/recurrent/SimpleRnn.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/recurrent/TimeDistributed.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/recurrent/TimeDistributed.java index 5489ccc78..25da33632 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/recurrent/TimeDistributed.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/recurrent/TimeDistributed.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.nn.conf.layers.recurrent; import lombok.Data; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/AbstractSameDiffLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/AbstractSameDiffLayer.java index 49453dd1f..e57e33c8f 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/AbstractSameDiffLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/AbstractSameDiffLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.samediff; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SDLayerParams.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SDLayerParams.java index d4bf4c32c..16432c6b7 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SDLayerParams.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SDLayerParams.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.samediff; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SDVertexParams.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SDVertexParams.java index f86396b3a..e59df70b7 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SDVertexParams.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SDVertexParams.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.samediff; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SameDiffLambdaLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SameDiffLambdaLayer.java index 7271d59ef..60e0cf27d 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SameDiffLambdaLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SameDiffLambdaLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.samediff; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SameDiffLambdaVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SameDiffLambdaVertex.java index cfbcfcbc4..028831d5d 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SameDiffLambdaVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SameDiffLambdaVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.samediff; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SameDiffLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SameDiffLayer.java index f290a09f3..d011e4205 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SameDiffLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SameDiffLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.samediff; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SameDiffLayerUtils.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SameDiffLayerUtils.java index 63fa3694d..4c7e27e83 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SameDiffLayerUtils.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SameDiffLayerUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.samediff; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SameDiffOutputLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SameDiffOutputLayer.java index d6c4892f3..1a8fb543a 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SameDiffOutputLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SameDiffOutputLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.samediff; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SameDiffVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SameDiffVertex.java index 795365cd3..14b756a4d 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SameDiffVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/samediff/SameDiffVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.samediff; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/util/MaskLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/util/MaskLayer.java index 1eaa661df..1e4cfd53b 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/util/MaskLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/util/MaskLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.util; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/util/MaskZeroLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/util/MaskZeroLayer.java index fd9c64ba6..afc77e001 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/util/MaskZeroLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/util/MaskZeroLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.util; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/BernoulliReconstructionDistribution.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/BernoulliReconstructionDistribution.java index 8671bef66..901926dea 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/BernoulliReconstructionDistribution.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/BernoulliReconstructionDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.variational; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/CompositeReconstructionDistribution.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/CompositeReconstructionDistribution.java index 8b8937121..1ca72c422 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/CompositeReconstructionDistribution.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/CompositeReconstructionDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.variational; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/ExponentialReconstructionDistribution.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/ExponentialReconstructionDistribution.java index 2bb9f2bf4..35af6e388 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/ExponentialReconstructionDistribution.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/ExponentialReconstructionDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.variational; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/GaussianReconstructionDistribution.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/GaussianReconstructionDistribution.java index 9f41a2ac5..6581545a1 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/GaussianReconstructionDistribution.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/GaussianReconstructionDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.variational; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/LossFunctionWrapper.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/LossFunctionWrapper.java index b1ed0e504..6d2df7f9a 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/LossFunctionWrapper.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/LossFunctionWrapper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.variational; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/ReconstructionDistribution.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/ReconstructionDistribution.java index f58e6b0e7..90ff4e6b3 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/ReconstructionDistribution.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/ReconstructionDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.variational; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/VariationalAutoencoder.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/VariationalAutoencoder.java index ac42afa55..ae3f4142f 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/VariationalAutoencoder.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/variational/VariationalAutoencoder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.variational; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/wrapper/BaseWrapperLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/wrapper/BaseWrapperLayer.java index c11f618da..43e8e2fc0 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/wrapper/BaseWrapperLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/layers/wrapper/BaseWrapperLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.layers.wrapper; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/memory/LayerMemoryReport.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/memory/LayerMemoryReport.java index 4e7d63dca..4ec1de20e 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/memory/LayerMemoryReport.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/memory/LayerMemoryReport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.memory; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/memory/MemoryReport.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/memory/MemoryReport.java index 34a25a15b..04bfd324d 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/memory/MemoryReport.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/memory/MemoryReport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.memory; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/memory/MemoryType.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/memory/MemoryType.java index 4f078973f..5381288c9 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/memory/MemoryType.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/memory/MemoryType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.memory; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/memory/MemoryUseMode.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/memory/MemoryUseMode.java index 8a07e4120..7350a7a7e 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/memory/MemoryUseMode.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/memory/MemoryUseMode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.memory; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/memory/NetworkMemoryReport.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/memory/NetworkMemoryReport.java index 8d6bdb0f4..f68b3e574 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/memory/NetworkMemoryReport.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/memory/NetworkMemoryReport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.memory; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/misc/DummyConfig.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/misc/DummyConfig.java index 10db681a8..3f2fd878a 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/misc/DummyConfig.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/misc/DummyConfig.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.misc; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/module/GraphBuilderModule.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/module/GraphBuilderModule.java index d219de5a0..caa1446ab 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/module/GraphBuilderModule.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/module/GraphBuilderModule.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.module; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/ocnn/OCNNOutputLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/ocnn/OCNNOutputLayer.java index 539289eca..c683e7f48 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/ocnn/OCNNOutputLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/ocnn/OCNNOutputLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.ocnn; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/BaseInputPreProcessor.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/BaseInputPreProcessor.java index 83f1097b7..9e6d87299 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/BaseInputPreProcessor.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/BaseInputPreProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.preprocessor; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/Cnn3DToFeedForwardPreProcessor.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/Cnn3DToFeedForwardPreProcessor.java index f6ba7af7b..a7a4ab301 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/Cnn3DToFeedForwardPreProcessor.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/Cnn3DToFeedForwardPreProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.preprocessor; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/CnnToFeedForwardPreProcessor.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/CnnToFeedForwardPreProcessor.java index 45e40b2f4..ae2968041 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/CnnToFeedForwardPreProcessor.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/CnnToFeedForwardPreProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.preprocessor; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/CnnToRnnPreProcessor.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/CnnToRnnPreProcessor.java index 6f18e70e4..806eae9eb 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/CnnToRnnPreProcessor.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/CnnToRnnPreProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.preprocessor; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/ComposableInputPreProcessor.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/ComposableInputPreProcessor.java index 55f0e6b12..135c62817 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/ComposableInputPreProcessor.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/ComposableInputPreProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.preprocessor; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/FeedForwardToCnn3DPreProcessor.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/FeedForwardToCnn3DPreProcessor.java index 305ace530..f85b291a5 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/FeedForwardToCnn3DPreProcessor.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/FeedForwardToCnn3DPreProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.preprocessor; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/FeedForwardToCnnPreProcessor.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/FeedForwardToCnnPreProcessor.java index 817d53848..bdcba8de7 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/FeedForwardToCnnPreProcessor.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/FeedForwardToCnnPreProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.preprocessor; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/FeedForwardToRnnPreProcessor.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/FeedForwardToRnnPreProcessor.java index e6bca1bed..fd44b805c 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/FeedForwardToRnnPreProcessor.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/FeedForwardToRnnPreProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.preprocessor; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/RnnToCnnPreProcessor.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/RnnToCnnPreProcessor.java index 57487aae7..788545836 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/RnnToCnnPreProcessor.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/RnnToCnnPreProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.preprocessor; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/RnnToFeedForwardPreProcessor.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/RnnToFeedForwardPreProcessor.java index d4355e38b..93d7bd9be 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/RnnToFeedForwardPreProcessor.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/preprocessor/RnnToFeedForwardPreProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.preprocessor; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/BaseNetConfigDeserializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/BaseNetConfigDeserializer.java index c4f594ece..b2cf91806 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/BaseNetConfigDeserializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/BaseNetConfigDeserializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.serde; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/ComputationGraphConfigurationDeserializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/ComputationGraphConfigurationDeserializer.java index 50384e518..dd473ce2e 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/ComputationGraphConfigurationDeserializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/ComputationGraphConfigurationDeserializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.serde; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/JsonMappers.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/JsonMappers.java index 124cc4ffc..5e80d8aad 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/JsonMappers.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/JsonMappers.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.serde; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/MultiLayerConfigurationDeserializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/MultiLayerConfigurationDeserializer.java index 028fef9d3..5d6d6a471 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/MultiLayerConfigurationDeserializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/MultiLayerConfigurationDeserializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.serde; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/format/DataFormatDeserializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/format/DataFormatDeserializer.java index ec50a5edb..736aae7f1 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/format/DataFormatDeserializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/format/DataFormatDeserializer.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.serde.format; import org.deeplearning4j.nn.conf.CNN2DFormat; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/format/DataFormatSerializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/format/DataFormatSerializer.java index 9abe90d38..1565e5873 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/format/DataFormatSerializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/format/DataFormatSerializer.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.serde.format; import org.deeplearning4j.nn.conf.CNN2DFormat; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/legacy/LegacyIntArrayDeserializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/legacy/LegacyIntArrayDeserializer.java index 064219fd1..0180ac369 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/legacy/LegacyIntArrayDeserializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/legacy/LegacyIntArrayDeserializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.serde.legacy; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/legacy/LegacyJsonFormat.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/legacy/LegacyJsonFormat.java index e421c4b1f..ce1d8d857 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/legacy/LegacyJsonFormat.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/serde/legacy/LegacyJsonFormat.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.nn.conf.serde.legacy; import lombok.AccessLevel; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/stepfunctions/DefaultStepFunction.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/stepfunctions/DefaultStepFunction.java index 3d8d8902e..ca51a82b7 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/stepfunctions/DefaultStepFunction.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/stepfunctions/DefaultStepFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.stepfunctions; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/stepfunctions/GradientStepFunction.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/stepfunctions/GradientStepFunction.java index 11e228278..7b7cf1fea 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/stepfunctions/GradientStepFunction.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/stepfunctions/GradientStepFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.stepfunctions; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/stepfunctions/NegativeDefaultStepFunction.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/stepfunctions/NegativeDefaultStepFunction.java index 76c48d862..af4823b5d 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/stepfunctions/NegativeDefaultStepFunction.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/stepfunctions/NegativeDefaultStepFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.stepfunctions; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/stepfunctions/NegativeGradientStepFunction.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/stepfunctions/NegativeGradientStepFunction.java index a75e0dc89..7bf39089c 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/stepfunctions/NegativeGradientStepFunction.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/stepfunctions/NegativeGradientStepFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.stepfunctions; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/stepfunctions/StepFunction.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/stepfunctions/StepFunction.java index f3068e545..dfe3b603c 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/stepfunctions/StepFunction.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/stepfunctions/StepFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.stepfunctions; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/weightnoise/DropConnect.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/weightnoise/DropConnect.java index 76c8c220c..4c304b580 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/weightnoise/DropConnect.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/weightnoise/DropConnect.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.weightnoise; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/weightnoise/IWeightNoise.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/weightnoise/IWeightNoise.java index 3e4f80caa..500c097f2 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/weightnoise/IWeightNoise.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/weightnoise/IWeightNoise.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.weightnoise; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/weightnoise/WeightNoise.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/weightnoise/WeightNoise.java index 20beffafd..e0a77dc8d 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/weightnoise/WeightNoise.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/conf/weightnoise/WeightNoise.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.conf.weightnoise; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/gradient/DefaultGradient.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/gradient/DefaultGradient.java index feae146ce..a081ada09 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/gradient/DefaultGradient.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/gradient/DefaultGradient.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.gradient; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/gradient/Gradient.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/gradient/Gradient.java index eb33560cb..5ab89cc74 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/gradient/Gradient.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/gradient/Gradient.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.gradient; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/ComputationGraph.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/ComputationGraph.java index 30d66aefa..f4c08ece1 100755 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/ComputationGraph.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/ComputationGraph.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.graph; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/util/ComputationGraphUtil.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/util/ComputationGraphUtil.java index 54f3835e9..9b5974b46 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/util/ComputationGraphUtil.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/util/ComputationGraphUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.graph.util; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/util/GraphIndices.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/util/GraphIndices.java index ed046352b..5d5e56281 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/util/GraphIndices.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/util/GraphIndices.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.graph.util; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/BaseGraphVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/BaseGraphVertex.java index 555c64f94..6223d03a1 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/BaseGraphVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/BaseGraphVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.graph.vertex; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/BaseWrapperVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/BaseWrapperVertex.java index de6b18428..b5e1b8d77 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/BaseWrapperVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/BaseWrapperVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.graph.vertex; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/GraphVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/GraphVertex.java index a2477f940..22cc18f03 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/GraphVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/GraphVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.graph.vertex; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/VertexIndices.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/VertexIndices.java index 06f7b7785..fecf31b51 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/VertexIndices.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/VertexIndices.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.graph.vertex; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/ElementWiseVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/ElementWiseVertex.java index 5018dbe71..4c5d28702 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/ElementWiseVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/ElementWiseVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.graph.vertex.impl; @@ -86,19 +88,19 @@ public class ElementWiseVertex extends BaseGraphVertex { return workspaceMgr.dup(ArrayType.ACTIVATIONS, inputs[0]); boolean isBc = false; - for(int i=1; i feedForwardMaskArrays(INDArray[] maskArrays, MaskState currentMaskState, - int minibatchSize) { + int minibatchSize) { //No op if (maskArrays == null || maskArrays.length == 0) { return null; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/ReshapeVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/ReshapeVertex.java index 39fcac462..6222fd3e2 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/ReshapeVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/ReshapeVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.graph.vertex.impl; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/ScaleVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/ScaleVertex.java index c4fa89239..146d86eb7 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/ScaleVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/ScaleVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.graph.vertex.impl; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/ShiftVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/ShiftVertex.java index d9f5c78de..2f4758580 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/ShiftVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/ShiftVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.graph.vertex.impl; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/StackVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/StackVertex.java index 3be9d6895..f86c48725 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/StackVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/StackVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.graph.vertex.impl; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/SubsetVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/SubsetVertex.java index db4449293..4e1f82944 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/SubsetVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/SubsetVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.graph.vertex.impl; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/UnstackVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/UnstackVertex.java index 9eb4151c8..4969960b6 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/UnstackVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/UnstackVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.graph.vertex.impl; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/rnn/DuplicateToTimeSeriesVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/rnn/DuplicateToTimeSeriesVertex.java index 8b3f2fba0..042439d04 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/rnn/DuplicateToTimeSeriesVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/rnn/DuplicateToTimeSeriesVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.graph.vertex.impl.rnn; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/rnn/LastTimeStepVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/rnn/LastTimeStepVertex.java index 75ce3be3b..108b16f48 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/rnn/LastTimeStepVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/rnn/LastTimeStepVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.graph.vertex.impl.rnn; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/rnn/ReverseTimeSeriesVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/rnn/ReverseTimeSeriesVertex.java index 0d75119de..bed9df7ae 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/rnn/ReverseTimeSeriesVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/graph/vertex/impl/rnn/ReverseTimeSeriesVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.graph.vertex.impl.rnn; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/AbstractLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/AbstractLayer.java index f3d009a6c..a4d5b63ef 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/AbstractLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/AbstractLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/ActivationLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/ActivationLayer.java index c1c92d3a7..299bba895 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/ActivationLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/ActivationLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/BaseLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/BaseLayer.java index 1b7d045a8..ea554222f 100755 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/BaseLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/BaseLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/BaseOutputLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/BaseOutputLayer.java index a10bb33f3..e56e6dca0 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/BaseOutputLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/BaseOutputLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/BasePretrainNetwork.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/BasePretrainNetwork.java index f135b0400..5c30473a4 100755 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/BasePretrainNetwork.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/BasePretrainNetwork.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/DropoutLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/DropoutLayer.java index ff5af8426..591ad0920 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/DropoutLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/DropoutLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/FrozenLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/FrozenLayer.java index 3c28cc59a..25025e778 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/FrozenLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/FrozenLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/FrozenLayerWithBackprop.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/FrozenLayerWithBackprop.java index 7fe55dd0b..a4a0eed04 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/FrozenLayerWithBackprop.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/FrozenLayerWithBackprop.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/LayerHelper.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/LayerHelper.java index 58a8c1c52..1f17a9d1a 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/LayerHelper.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/LayerHelper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/LossLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/LossLayer.java index 7180ff446..d65e9b88f 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/LossLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/LossLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/OutputLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/OutputLayer.java index 591f0f3a4..52982b7b7 100755 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/OutputLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/OutputLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/RepeatVector.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/RepeatVector.java index fd9187cef..4b2b6c2f7 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/RepeatVector.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/RepeatVector.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Cnn3DLossLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Cnn3DLossLayer.java index 212161a9e..eae2ecb88 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Cnn3DLossLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Cnn3DLossLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/CnnLossLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/CnnLossLayer.java index 06c3b2375..73773fb93 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/CnnLossLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/CnnLossLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Convolution1DLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Convolution1DLayer.java index 866df2759..47984f0e6 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Convolution1DLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Convolution1DLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Convolution3DLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Convolution3DLayer.java index a3726ba36..4afbbff36 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Convolution3DLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Convolution3DLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/ConvolutionHelper.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/ConvolutionHelper.java index 7d26f0c06..9a0602ee3 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/ConvolutionHelper.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/ConvolutionHelper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/ConvolutionLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/ConvolutionLayer.java index 826df70da..184393419 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/ConvolutionLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/ConvolutionLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Cropping1DLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Cropping1DLayer.java index 269694c50..1316e48cf 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Cropping1DLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Cropping1DLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Cropping2DLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Cropping2DLayer.java index fbb87ec1e..9f198f069 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Cropping2DLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Cropping2DLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Cropping3DLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Cropping3DLayer.java index a659e539a..32394fca2 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Cropping3DLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Cropping3DLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Deconvolution2DLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Deconvolution2DLayer.java index 2ef624a92..a8f2d8beb 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Deconvolution2DLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Deconvolution2DLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Deconvolution3DLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Deconvolution3DLayer.java index 4c452d853..4e5971946 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Deconvolution3DLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/Deconvolution3DLayer.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/DepthwiseConvolution2DLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/DepthwiseConvolution2DLayer.java index 2cc71c671..d83a67afd 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/DepthwiseConvolution2DLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/DepthwiseConvolution2DLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/SeparableConvolution2DLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/SeparableConvolution2DLayer.java index 09cb4bc72..746ebe835 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/SeparableConvolution2DLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/SeparableConvolution2DLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/SpaceToBatch.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/SpaceToBatch.java index ca4a1a03b..c37d8217b 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/SpaceToBatch.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/SpaceToBatch.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/SpaceToDepth.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/SpaceToDepth.java index c20b508a8..64bdd89c5 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/SpaceToDepth.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/SpaceToDepth.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/ZeroPadding1DLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/ZeroPadding1DLayer.java index 642d42283..451cfa7a9 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/ZeroPadding1DLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/ZeroPadding1DLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/ZeroPadding3DLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/ZeroPadding3DLayer.java index b679a437e..c160b7fc3 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/ZeroPadding3DLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/ZeroPadding3DLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/ZeroPaddingLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/ZeroPaddingLayer.java index 27b85c8df..bd3fc3230 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/ZeroPaddingLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/ZeroPaddingLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/subsampling/Subsampling1DLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/subsampling/Subsampling1DLayer.java index 0cb105692..260f8e0c5 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/subsampling/Subsampling1DLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/subsampling/Subsampling1DLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution.subsampling; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/subsampling/Subsampling3DLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/subsampling/Subsampling3DLayer.java index b9d496bc7..13b63bd83 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/subsampling/Subsampling3DLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/subsampling/Subsampling3DLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution.subsampling; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/subsampling/SubsamplingHelper.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/subsampling/SubsamplingHelper.java index aaeaab216..7d86f450e 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/subsampling/SubsamplingHelper.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/subsampling/SubsamplingHelper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution.subsampling; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/subsampling/SubsamplingLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/subsampling/SubsamplingLayer.java index 56377519e..09e2eed83 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/subsampling/SubsamplingLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/subsampling/SubsamplingLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution.subsampling; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/upsampling/Upsampling1D.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/upsampling/Upsampling1D.java index 0200d70c0..dc0089889 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/upsampling/Upsampling1D.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/upsampling/Upsampling1D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution.upsampling; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/upsampling/Upsampling2D.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/upsampling/Upsampling2D.java index 8e7add607..5e7a17f83 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/upsampling/Upsampling2D.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/upsampling/Upsampling2D.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution.upsampling; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/upsampling/Upsampling3D.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/upsampling/Upsampling3D.java index 5361450fc..e0a733f43 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/upsampling/Upsampling3D.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/convolution/upsampling/Upsampling3D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.convolution.upsampling; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/feedforward/PReLU.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/feedforward/PReLU.java index f904f9e89..8b0193e4d 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/feedforward/PReLU.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/feedforward/PReLU.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.feedforward; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/feedforward/autoencoder/AutoEncoder.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/feedforward/autoencoder/AutoEncoder.java index d2b64f175..598bc4cce 100755 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/feedforward/autoencoder/AutoEncoder.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/feedforward/autoencoder/AutoEncoder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.feedforward.autoencoder; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/feedforward/autoencoder/recursive/Tree.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/feedforward/autoencoder/recursive/Tree.java index daf5e15bd..1dfb48733 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/feedforward/autoencoder/recursive/Tree.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/feedforward/autoencoder/recursive/Tree.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.feedforward.autoencoder.recursive; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/feedforward/dense/DenseLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/feedforward/dense/DenseLayer.java index fa0b893b3..943130357 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/feedforward/dense/DenseLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/feedforward/dense/DenseLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.feedforward.dense; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/feedforward/elementwise/ElementWiseMultiplicationLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/feedforward/elementwise/ElementWiseMultiplicationLayer.java index d081575a3..c9cdf56cf 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/feedforward/elementwise/ElementWiseMultiplicationLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/feedforward/elementwise/ElementWiseMultiplicationLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.feedforward.elementwise; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/feedforward/embedding/EmbeddingLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/feedforward/embedding/EmbeddingLayer.java index 18234e422..b5314d57e 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/feedforward/embedding/EmbeddingLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/feedforward/embedding/EmbeddingLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.feedforward.embedding; @@ -89,11 +91,15 @@ public class EmbeddingLayer extends BaseLayer [minibatch, nOut, seqLen] i.e., NWC -> NCW } return workspaceMgr.leverageTo(ArrayType.ACTIVATIONS, ret); diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/mkldnn/BaseMKLDNNHelper.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/mkldnn/BaseMKLDNNHelper.java index a5217ab38..d229d97e9 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/mkldnn/BaseMKLDNNHelper.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/mkldnn/BaseMKLDNNHelper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.mkldnn; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/mkldnn/MKLDNNBatchNormHelper.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/mkldnn/MKLDNNBatchNormHelper.java index cc33d5112..68698cc11 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/mkldnn/MKLDNNBatchNormHelper.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/mkldnn/MKLDNNBatchNormHelper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.mkldnn; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/mkldnn/MKLDNNConvHelper.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/mkldnn/MKLDNNConvHelper.java index 4aee210c2..31ee517b3 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/mkldnn/MKLDNNConvHelper.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/mkldnn/MKLDNNConvHelper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.mkldnn; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/mkldnn/MKLDNNLSTMHelper.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/mkldnn/MKLDNNLSTMHelper.java index 472d5c00b..db1f0e913 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/mkldnn/MKLDNNLSTMHelper.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/mkldnn/MKLDNNLSTMHelper.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.nn.layers.mkldnn; import org.deeplearning4j.nn.api.Layer; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/mkldnn/MKLDNNLocalResponseNormalizationHelper.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/mkldnn/MKLDNNLocalResponseNormalizationHelper.java index b0304c20b..fec76bd51 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/mkldnn/MKLDNNLocalResponseNormalizationHelper.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/mkldnn/MKLDNNLocalResponseNormalizationHelper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.mkldnn; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/mkldnn/MKLDNNSubsamplingHelper.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/mkldnn/MKLDNNSubsamplingHelper.java index 190034ad3..d4e1c71ef 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/mkldnn/MKLDNNSubsamplingHelper.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/mkldnn/MKLDNNSubsamplingHelper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.mkldnn; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/normalization/BatchNormalization.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/normalization/BatchNormalization.java index c2a94a75b..871aae734 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/normalization/BatchNormalization.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/normalization/BatchNormalization.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.normalization; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/normalization/BatchNormalizationHelper.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/normalization/BatchNormalizationHelper.java index 94b406070..a08d26ea0 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/normalization/BatchNormalizationHelper.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/normalization/BatchNormalizationHelper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.normalization; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/normalization/LocalResponseNormalization.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/normalization/LocalResponseNormalization.java index 7aa0ded4a..24cf51fbf 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/normalization/LocalResponseNormalization.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/normalization/LocalResponseNormalization.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.normalization; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/normalization/LocalResponseNormalizationHelper.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/normalization/LocalResponseNormalizationHelper.java index c2dbc1c65..0c27c19b7 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/normalization/LocalResponseNormalizationHelper.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/normalization/LocalResponseNormalizationHelper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.normalization; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/objdetect/DetectedObject.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/objdetect/DetectedObject.java index 99e7586e3..61e51dbdf 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/objdetect/DetectedObject.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/objdetect/DetectedObject.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.objdetect; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/objdetect/Yolo2OutputLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/objdetect/Yolo2OutputLayer.java index 4d118c62b..869f9e61c 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/objdetect/Yolo2OutputLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/objdetect/Yolo2OutputLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.objdetect; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/objdetect/YoloUtils.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/objdetect/YoloUtils.java index 06423a5a7..570c30359 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/objdetect/YoloUtils.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/objdetect/YoloUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.objdetect; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/ocnn/OCNNOutputLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/ocnn/OCNNOutputLayer.java index e6c14f2e4..102fc984c 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/ocnn/OCNNOutputLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/ocnn/OCNNOutputLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.ocnn; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/ocnn/OCNNParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/ocnn/OCNNParamInitializer.java index eea8a7dc4..005a137a3 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/ocnn/OCNNParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/ocnn/OCNNParamInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.ocnn; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/pooling/GlobalPoolingLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/pooling/GlobalPoolingLayer.java index 5f2a561fb..807eb4a1b 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/pooling/GlobalPoolingLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/pooling/GlobalPoolingLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.pooling; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/BaseRecurrentLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/BaseRecurrentLayer.java index 5aa5bc88c..97d05d0f1 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/BaseRecurrentLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/BaseRecurrentLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/BidirectionalLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/BidirectionalLayer.java index c33371881..d7330e5b0 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/BidirectionalLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/BidirectionalLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/FwdPassReturn.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/FwdPassReturn.java index 1abd713e7..de17292c1 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/FwdPassReturn.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/FwdPassReturn.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/GravesBidirectionalLSTM.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/GravesBidirectionalLSTM.java index e65786a54..767dd37d3 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/GravesBidirectionalLSTM.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/GravesBidirectionalLSTM.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/GravesLSTM.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/GravesLSTM.java index c4751f2ef..81699e10a 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/GravesLSTM.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/GravesLSTM.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/LSTM.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/LSTM.java index b284e6bcb..5d6c0ad80 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/LSTM.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/LSTM.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/LSTMHelper.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/LSTMHelper.java index 222e50185..1b687aea8 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/LSTMHelper.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/LSTMHelper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/LSTMHelpers.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/LSTMHelpers.java index b6ad1331a..bf6e3f78d 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/LSTMHelpers.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/LSTMHelpers.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/LastTimeStepLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/LastTimeStepLayer.java index 792493d2a..88f7419c1 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/LastTimeStepLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/LastTimeStepLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/MaskZeroLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/MaskZeroLayer.java index daf9220d9..675a233c4 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/MaskZeroLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/MaskZeroLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/RnnLossLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/RnnLossLayer.java index 28913681f..530da587e 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/RnnLossLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/RnnLossLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/RnnOutputLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/RnnOutputLayer.java index 51a602e57..e4afb7bde 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/RnnOutputLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/RnnOutputLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/SimpleRnn.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/SimpleRnn.java index b54be88cc..938a7deba 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/SimpleRnn.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/SimpleRnn.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.recurrent; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/TimeDistributedLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/TimeDistributedLayer.java index c00db6821..f2cd30c80 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/TimeDistributedLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/recurrent/TimeDistributedLayer.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.nn.layers.recurrent; import org.deeplearning4j.nn.api.Layer; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/samediff/DL4JSameDiffMemoryMgr.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/samediff/DL4JSameDiffMemoryMgr.java index 1e9b0d9b4..6d6316a73 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/samediff/DL4JSameDiffMemoryMgr.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/samediff/DL4JSameDiffMemoryMgr.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.nn.layers.samediff; import org.nd4j.autodiff.samediff.internal.memory.AbstractMemoryMgr; @@ -53,6 +71,15 @@ public class DL4JSameDiffMemoryMgr extends AbstractMemoryMgr { @Override public INDArray allocate(boolean detached, LongShapeDescriptor descriptor) { + if(descriptor.isEmpty()) { + INDArray ret = Nd4j.create(descriptor); + if(detached) { + ret = ret.detach(); + } + + return ret; + } + return allocate(detached, descriptor.dataType(), descriptor.getShape()); } diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/samediff/SameDiffGraphVertex.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/samediff/SameDiffGraphVertex.java index 7fc7af03f..551d02c05 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/samediff/SameDiffGraphVertex.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/samediff/SameDiffGraphVertex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.samediff; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/samediff/SameDiffLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/samediff/SameDiffLayer.java index 948837166..d3a1a115a 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/samediff/SameDiffLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/samediff/SameDiffLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.samediff; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/samediff/SameDiffOutputLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/samediff/SameDiffOutputLayer.java index 2b28fe952..ee18eda94 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/samediff/SameDiffOutputLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/samediff/SameDiffOutputLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.samediff; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/training/CenterLossOutputLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/training/CenterLossOutputLayer.java index b251217bd..8ce07aa17 100755 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/training/CenterLossOutputLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/training/CenterLossOutputLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.training; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/util/IdentityLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/util/IdentityLayer.java index 43e9b23ba..3ffb826e9 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/util/IdentityLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/util/IdentityLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.util; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/util/MaskLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/util/MaskLayer.java index 98130a04f..96f50feb2 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/util/MaskLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/util/MaskLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.util; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/variational/VariationalAutoencoder.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/variational/VariationalAutoencoder.java index 8e7cee485..009af9e9c 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/variational/VariationalAutoencoder.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/variational/VariationalAutoencoder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.variational; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/wrapper/BaseWrapperLayer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/wrapper/BaseWrapperLayer.java index 37338926a..af4e24028 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/wrapper/BaseWrapperLayer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/layers/wrapper/BaseWrapperLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.layers.wrapper; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/multilayer/MultiLayerNetwork.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/multilayer/MultiLayerNetwork.java index c823b3514..bf8f9b1d7 100755 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/multilayer/MultiLayerNetwork.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/multilayer/MultiLayerNetwork.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.multilayer; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/BatchNormalizationParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/BatchNormalizationParamInitializer.java index 534f99a1d..55a82a0b0 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/BatchNormalizationParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/BatchNormalizationParamInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.params; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/BidirectionalParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/BidirectionalParamInitializer.java index c52010227..9fb28dd5c 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/BidirectionalParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/BidirectionalParamInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.params; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/CenterLossParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/CenterLossParamInitializer.java index eabb4f85d..b0e41cfef 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/CenterLossParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/CenterLossParamInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.params; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/Convolution3DParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/Convolution3DParamInitializer.java index 054927d31..fc7cde052 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/Convolution3DParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/Convolution3DParamInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.params; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/ConvolutionParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/ConvolutionParamInitializer.java index 78d36cdeb..475d83be8 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/ConvolutionParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/ConvolutionParamInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.params; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/Deconvolution3DParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/Deconvolution3DParamInitializer.java index d65c0d87d..683f78a81 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/Deconvolution3DParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/Deconvolution3DParamInitializer.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.params; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/DeconvolutionParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/DeconvolutionParamInitializer.java index 67ae7d37c..c99e4cb7f 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/DeconvolutionParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/DeconvolutionParamInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.params; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/DefaultParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/DefaultParamInitializer.java index f30992717..6a2a0ea78 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/DefaultParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/DefaultParamInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.params; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/DepthwiseConvolutionParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/DepthwiseConvolutionParamInitializer.java index 220f591b3..0c89fe434 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/DepthwiseConvolutionParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/DepthwiseConvolutionParamInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.params; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/ElementWiseParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/ElementWiseParamInitializer.java index 3158b36dc..feac294e5 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/ElementWiseParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/ElementWiseParamInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.params; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/EmbeddingLayerParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/EmbeddingLayerParamInitializer.java index ab50e44f0..a66125a4a 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/EmbeddingLayerParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/EmbeddingLayerParamInitializer.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.params; import lombok.val; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/EmptyParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/EmptyParamInitializer.java index e3a915643..bfdc5c655 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/EmptyParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/EmptyParamInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.params; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/FrozenLayerParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/FrozenLayerParamInitializer.java index 864194ba9..626a7a321 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/FrozenLayerParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/FrozenLayerParamInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.params; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/FrozenLayerWithBackpropParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/FrozenLayerWithBackpropParamInitializer.java index 6c266ad51..c380aeef7 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/FrozenLayerWithBackpropParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/FrozenLayerWithBackpropParamInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.params; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/GravesBidirectionalLSTMParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/GravesBidirectionalLSTMParamInitializer.java index fa379b937..154d6ff1a 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/GravesBidirectionalLSTMParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/GravesBidirectionalLSTMParamInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.params; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/GravesLSTMParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/GravesLSTMParamInitializer.java index 46f6af7f6..c0ec7d25c 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/GravesLSTMParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/GravesLSTMParamInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.params; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/LSTMParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/LSTMParamInitializer.java index 327596fb9..de173e01e 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/LSTMParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/LSTMParamInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.params; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/PReLUParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/PReLUParamInitializer.java index 8927fbe0a..3e72e95e7 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/PReLUParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/PReLUParamInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.params; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/PretrainParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/PretrainParamInitializer.java index 7391da93d..cb3b2f564 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/PretrainParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/PretrainParamInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.params; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/SameDiffParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/SameDiffParamInitializer.java index 9c96b8f87..8f4901c83 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/SameDiffParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/SameDiffParamInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.params; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/SeparableConvolutionParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/SeparableConvolutionParamInitializer.java index 796bf29d7..11252bfaa 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/SeparableConvolutionParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/SeparableConvolutionParamInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.params; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/SimpleRnnParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/SimpleRnnParamInitializer.java index 9f0ab62d3..8cf037609 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/SimpleRnnParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/SimpleRnnParamInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.params; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/VariationalAutoencoderParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/VariationalAutoencoderParamInitializer.java index 59ecf39f0..fc4683291 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/VariationalAutoencoderParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/VariationalAutoencoderParamInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.params; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/WrapperLayerParamInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/WrapperLayerParamInitializer.java index 9235f36da..fb9ceb4a1 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/WrapperLayerParamInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/params/WrapperLayerParamInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.params; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/transferlearning/FineTuneConfiguration.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/transferlearning/FineTuneConfiguration.java index 78a844ba5..9192ebeb9 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/transferlearning/FineTuneConfiguration.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/transferlearning/FineTuneConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.transferlearning; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/transferlearning/TransferLearning.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/transferlearning/TransferLearning.java index 6b3050db2..3eb6974f6 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/transferlearning/TransferLearning.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/transferlearning/TransferLearning.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.transferlearning; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/transferlearning/TransferLearningHelper.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/transferlearning/TransferLearningHelper.java index 28ce92a01..f6d5bf611 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/transferlearning/TransferLearningHelper.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/transferlearning/TransferLearningHelper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.transferlearning; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/BaseMultiLayerUpdater.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/BaseMultiLayerUpdater.java index 6fc0378a2..0eaf4ddb7 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/BaseMultiLayerUpdater.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/BaseMultiLayerUpdater.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.updater; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/LayerUpdater.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/LayerUpdater.java index 25327f634..4f5df2bd2 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/LayerUpdater.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/LayerUpdater.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.updater; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/MultiLayerUpdater.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/MultiLayerUpdater.java index f2b6ce0e9..b7cbd9b20 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/MultiLayerUpdater.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/MultiLayerUpdater.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.updater; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/UpdaterBlock.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/UpdaterBlock.java index e5c886d3a..a4f0d5125 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/UpdaterBlock.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/UpdaterBlock.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.updater; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/UpdaterCreator.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/UpdaterCreator.java index 91ecba74f..e00ceee90 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/UpdaterCreator.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/UpdaterCreator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.updater; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/UpdaterUtils.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/UpdaterUtils.java index b3b13939a..026f5af4b 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/UpdaterUtils.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/UpdaterUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.updater; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/graph/ComputationGraphUpdater.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/graph/ComputationGraphUpdater.java index a25295942..ab270852e 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/graph/ComputationGraphUpdater.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/updater/graph/ComputationGraphUpdater.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.updater.graph; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/IWeightInit.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/IWeightInit.java index a99120e36..a51ba06da 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/IWeightInit.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/IWeightInit.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInit.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInit.java index 435e148a1..85e0193c2 100755 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInit.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInit.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitConstant.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitConstant.java index 473107d53..931f3b2a7 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitConstant.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitConstant.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitDistribution.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitDistribution.java index 89cfefbee..aed9482ad 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitDistribution.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitIdentity.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitIdentity.java index b25121cd3..cec4cf27b 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitIdentity.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitIdentity.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitLecunUniform.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitLecunUniform.java index 9d619defb..67b987a78 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitLecunUniform.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitLecunUniform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitNormal.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitNormal.java index 1936315fb..68fdab8b1 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitNormal.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitNormal.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitRelu.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitRelu.java index 5799ec7f3..51b6a5923 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitRelu.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitRelu.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitReluUniform.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitReluUniform.java index ffccfdb9a..5a7b79d30 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitReluUniform.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitReluUniform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitSigmoidUniform.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitSigmoidUniform.java index c0124fc9e..963228b53 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitSigmoidUniform.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitSigmoidUniform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitUniform.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitUniform.java index ebfff6b35..8ef63482b 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitUniform.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitUniform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitUtil.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitUtil.java index ab2692656..c6593b484 100755 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitUtil.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitVarScalingNormalFanAvg.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitVarScalingNormalFanAvg.java index 3b9698f10..3a571640a 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitVarScalingNormalFanAvg.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitVarScalingNormalFanAvg.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitVarScalingNormalFanIn.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitVarScalingNormalFanIn.java index dca457de3..ccd391655 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitVarScalingNormalFanIn.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitVarScalingNormalFanIn.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitVarScalingNormalFanOut.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitVarScalingNormalFanOut.java index 0af43ac88..95838489a 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitVarScalingNormalFanOut.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitVarScalingNormalFanOut.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitVarScalingUniformFanAvg.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitVarScalingUniformFanAvg.java index f2e050e6e..08a24d3b9 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitVarScalingUniformFanAvg.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitVarScalingUniformFanAvg.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitVarScalingUniformFanIn.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitVarScalingUniformFanIn.java index 7135394a7..1119e0c31 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitVarScalingUniformFanIn.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitVarScalingUniformFanIn.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitVarScalingUniformFanOut.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitVarScalingUniformFanOut.java index 09bf2053d..0cfa0b500 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitVarScalingUniformFanOut.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitVarScalingUniformFanOut.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitXavier.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitXavier.java index d67b2a386..4ba435fa5 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitXavier.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitXavier.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitXavierLegacy.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitXavierLegacy.java index 560c450ea..bfd399eac 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitXavierLegacy.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitXavierLegacy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitXavierUniform.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitXavierUniform.java index 247ea0a4a..8f053cd83 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitXavierUniform.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/WeightInitXavierUniform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/embeddings/ArrayEmbeddingInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/embeddings/ArrayEmbeddingInitializer.java index 6b32adb8d..fefed67a6 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/embeddings/ArrayEmbeddingInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/embeddings/ArrayEmbeddingInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights.embeddings; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/embeddings/EmbeddingInitializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/embeddings/EmbeddingInitializer.java index 73d4a0b5f..193e115a5 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/embeddings/EmbeddingInitializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/embeddings/EmbeddingInitializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights.embeddings; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/embeddings/WeightInitEmbedding.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/embeddings/WeightInitEmbedding.java index fbca5a8fa..36674daa7 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/embeddings/WeightInitEmbedding.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/weights/embeddings/WeightInitEmbedding.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.weights.embeddings; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/workspace/ArrayType.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/workspace/ArrayType.java index 4e0e908f7..334db8470 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/workspace/ArrayType.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/workspace/ArrayType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.workspace; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/workspace/LayerWorkspaceMgr.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/workspace/LayerWorkspaceMgr.java index 5ce11cf5c..ea6169415 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/workspace/LayerWorkspaceMgr.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/nn/workspace/LayerWorkspaceMgr.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.nn.workspace; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/Solver.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/Solver.java index 4c24e58b7..5a0a68dc3 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/Solver.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/Solver.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/BaseTrainingListener.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/BaseTrainingListener.java index 2068ca510..c5b39de4e 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/BaseTrainingListener.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/BaseTrainingListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.api; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/ConvexOptimizer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/ConvexOptimizer.java index 3eb28c939..8537a6800 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/ConvexOptimizer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/ConvexOptimizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.api; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/InvocationType.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/InvocationType.java index 8a088befb..f02faa165 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/InvocationType.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/InvocationType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.api; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/IterationListener.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/IterationListener.java index 8d90c6d0a..f31f79114 100755 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/IterationListener.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/IterationListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.api; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/LineOptimizer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/LineOptimizer.java index 3f3932d8f..bd03f0458 100755 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/LineOptimizer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/LineOptimizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.api; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/StepFunction.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/StepFunction.java index a07f48038..38a54f822 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/StepFunction.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/StepFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.api; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/TrainingListener.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/TrainingListener.java index 04666ace2..d94c9b885 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/TrainingListener.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/api/TrainingListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.api; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/Checkpoint.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/Checkpoint.java index a50bad242..a1a5fcfd1 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/Checkpoint.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/Checkpoint.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.listeners; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/CheckpointListener.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/CheckpointListener.java index a61f37e14..c037313bb 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/CheckpointListener.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/CheckpointListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.listeners; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/CollectScoresIterationListener.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/CollectScoresIterationListener.java index 97ac32d8b..da961553a 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/CollectScoresIterationListener.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/CollectScoresIterationListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.listeners; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/CollectScoresListener.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/CollectScoresListener.java index fe3ae20d7..40921793b 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/CollectScoresListener.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/CollectScoresListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.listeners; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/ComposableIterationListener.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/ComposableIterationListener.java index 7b80cf5d2..8aa308b90 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/ComposableIterationListener.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/ComposableIterationListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.listeners; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/EvaluativeListener.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/EvaluativeListener.java index c632a2c22..bfb68feac 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/EvaluativeListener.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/EvaluativeListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.listeners; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/FailureTestingListener.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/FailureTestingListener.java index 9cb012c45..e03c77f0a 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/FailureTestingListener.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/FailureTestingListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.listeners; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/PerformanceListener.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/PerformanceListener.java index 9ff5993c3..fca72fb7f 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/PerformanceListener.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/PerformanceListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.listeners; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/ScoreIterationListener.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/ScoreIterationListener.java index c38a3da1b..47464f989 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/ScoreIterationListener.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/ScoreIterationListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.listeners; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/SharedGradient.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/SharedGradient.java index 4b75b3360..5ee4e1d46 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/SharedGradient.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/SharedGradient.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.listeners; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/SleepyTrainingListener.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/SleepyTrainingListener.java index 70cca449e..06d21b411 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/SleepyTrainingListener.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/SleepyTrainingListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.listeners; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/TimeIterationListener.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/TimeIterationListener.java index be082d06b..15edab025 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/TimeIterationListener.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/TimeIterationListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.listeners; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/callbacks/EvaluationCallback.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/callbacks/EvaluationCallback.java index 61a76da07..f155e2113 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/callbacks/EvaluationCallback.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/callbacks/EvaluationCallback.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.listeners.callbacks; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/callbacks/ModelSavingCallback.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/callbacks/ModelSavingCallback.java index 50d53252e..b40168df5 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/callbacks/ModelSavingCallback.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/listeners/callbacks/ModelSavingCallback.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.listeners.callbacks; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/BackTrackLineSearch.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/BackTrackLineSearch.java index f6020e11f..1244003f6 100755 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/BackTrackLineSearch.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/BackTrackLineSearch.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solvers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/BaseOptimizer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/BaseOptimizer.java index 8c8954dfa..e07eee923 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/BaseOptimizer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/BaseOptimizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solvers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/ConjugateGradient.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/ConjugateGradient.java index eb7b9803e..caa65cd1d 100755 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/ConjugateGradient.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/ConjugateGradient.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solvers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/LBFGS.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/LBFGS.java index a5cfd2a5e..24538e1c8 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/LBFGS.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/LBFGS.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solvers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/LineGradientDescent.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/LineGradientDescent.java index 11ce94230..9fa1f1fe3 100755 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/LineGradientDescent.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/LineGradientDescent.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solvers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/StochasticGradientDescent.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/StochasticGradientDescent.java index 4fd50c78b..710795b39 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/StochasticGradientDescent.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/StochasticGradientDescent.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solvers; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/BasicGradientsAccumulator.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/BasicGradientsAccumulator.java index 8d0ef2ad3..fd4361758 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/BasicGradientsAccumulator.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/BasicGradientsAccumulator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solvers.accumulation; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/EncodedGradientsAccumulator.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/EncodedGradientsAccumulator.java index 900951e51..450ca4c6c 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/EncodedGradientsAccumulator.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/EncodedGradientsAccumulator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solvers.accumulation; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/EncodingHandler.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/EncodingHandler.java index c451ecd6a..5f7cb6276 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/EncodingHandler.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/EncodingHandler.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solvers.accumulation; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/FancyBlockingQueue.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/FancyBlockingQueue.java index e530b729c..99c14177e 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/FancyBlockingQueue.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/FancyBlockingQueue.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solvers.accumulation; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/GradientsAccumulator.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/GradientsAccumulator.java index 4928294bb..989b8ed14 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/GradientsAccumulator.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/GradientsAccumulator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solvers.accumulation; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/IndexedTail.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/IndexedTail.java index 63fcd293f..efdc3ce28 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/IndexedTail.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/IndexedTail.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solvers.accumulation; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/LocalHandler.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/LocalHandler.java index 3c7f888c5..e6a3b1f74 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/LocalHandler.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/LocalHandler.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solvers.accumulation; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/MessageHandler.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/MessageHandler.java index 8c67b4857..b108fcd85 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/MessageHandler.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/MessageHandler.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solvers.accumulation; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/Registerable.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/Registerable.java index 57e49d262..c2bc81900 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/Registerable.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/Registerable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solvers.accumulation; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/SmartFancyBlockingQueue.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/SmartFancyBlockingQueue.java index 813d1c2f4..445939223 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/SmartFancyBlockingQueue.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/SmartFancyBlockingQueue.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solvers.accumulation; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/ResidualPostProcessor.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/ResidualPostProcessor.java index 92194ec70..87804e0f1 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/ResidualPostProcessor.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/ResidualPostProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solvers.accumulation.encoding; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/ThresholdAlgorithm.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/ThresholdAlgorithm.java index 9ca469514..be90a8c97 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/ThresholdAlgorithm.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/ThresholdAlgorithm.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solvers.accumulation.encoding; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/ThresholdAlgorithmReducer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/ThresholdAlgorithmReducer.java index c655a3220..831f69cfd 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/ThresholdAlgorithmReducer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/ThresholdAlgorithmReducer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solvers.accumulation.encoding; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/residual/NoOpResidualPostProcessor.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/residual/NoOpResidualPostProcessor.java index a8b23960b..46a2643af 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/residual/NoOpResidualPostProcessor.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/residual/NoOpResidualPostProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solvers.accumulation.encoding.residual; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/residual/ResidualClippingPostProcessor.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/residual/ResidualClippingPostProcessor.java index 24387e12f..d5f7b3cd2 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/residual/ResidualClippingPostProcessor.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/residual/ResidualClippingPostProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solvers.accumulation.encoding.residual; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/threshold/AdaptiveThresholdAlgorithm.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/threshold/AdaptiveThresholdAlgorithm.java index 6cdacee11..96df36abb 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/threshold/AdaptiveThresholdAlgorithm.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/threshold/AdaptiveThresholdAlgorithm.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solvers.accumulation.encoding.threshold; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/threshold/FixedThresholdAlgorithm.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/threshold/FixedThresholdAlgorithm.java index 96e3f7b6f..bc52ed1ca 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/threshold/FixedThresholdAlgorithm.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/threshold/FixedThresholdAlgorithm.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solvers.accumulation.encoding.threshold; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/threshold/TargetSparsityThresholdAlgorithm.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/threshold/TargetSparsityThresholdAlgorithm.java index a539cc831..55a2085c0 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/threshold/TargetSparsityThresholdAlgorithm.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/encoding/threshold/TargetSparsityThresholdAlgorithm.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.solvers.accumulation.encoding.threshold; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/stepfunctions/DefaultStepFunction.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/stepfunctions/DefaultStepFunction.java index dcf5c6061..a75c5b16c 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/stepfunctions/DefaultStepFunction.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/stepfunctions/DefaultStepFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.stepfunctions; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/stepfunctions/GradientStepFunction.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/stepfunctions/GradientStepFunction.java index 68ef1d8a2..73c4a48f1 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/stepfunctions/GradientStepFunction.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/stepfunctions/GradientStepFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.stepfunctions; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/stepfunctions/NegativeDefaultStepFunction.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/stepfunctions/NegativeDefaultStepFunction.java index 8b138d1d8..efa2aee1c 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/stepfunctions/NegativeDefaultStepFunction.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/stepfunctions/NegativeDefaultStepFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.stepfunctions; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/stepfunctions/NegativeGradientStepFunction.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/stepfunctions/NegativeGradientStepFunction.java index 41776ba42..c10aa98ca 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/stepfunctions/NegativeGradientStepFunction.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/stepfunctions/NegativeGradientStepFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.stepfunctions; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/stepfunctions/StepFunctions.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/stepfunctions/StepFunctions.java index 676c85db4..cad3637ec 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/stepfunctions/StepFunctions.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/stepfunctions/StepFunctions.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.optimize.stepfunctions; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/CapsuleUtils.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/CapsuleUtils.java index b0d86d393..fe124e824 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/CapsuleUtils.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/CapsuleUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.util; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/Convolution1DUtils.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/Convolution1DUtils.java index f9ce6fdb0..49064567d 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/Convolution1DUtils.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/Convolution1DUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.util; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/Convolution3DUtils.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/Convolution3DUtils.java index 82c59dff4..6be89cfe6 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/Convolution3DUtils.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/Convolution3DUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.util; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/ConvolutionUtils.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/ConvolutionUtils.java index 66c1b5205..da8f2a577 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/ConvolutionUtils.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/ConvolutionUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.util; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/CrashReportingUtil.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/CrashReportingUtil.java index dc7bad9dc..f03e89a7f 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/CrashReportingUtil.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/CrashReportingUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.util; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/DL4JModelValidator.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/DL4JModelValidator.java index 5a36bd4a2..56b8c1380 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/DL4JModelValidator.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/DL4JModelValidator.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.util; import lombok.NonNull; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/MaskedReductionUtil.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/MaskedReductionUtil.java index 5fa59dd5b..674f0cc27 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/MaskedReductionUtil.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/MaskedReductionUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.util; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/ModelSerializer.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/ModelSerializer.java index 8fa2225e9..28eb1ebbd 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/ModelSerializer.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/ModelSerializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.util; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/NetworkUtils.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/NetworkUtils.java index 0010cb017..c055e44f5 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/NetworkUtils.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/NetworkUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.util; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/OutputLayerUtil.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/OutputLayerUtil.java index e5616a977..f3045037f 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/OutputLayerUtil.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/OutputLayerUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.util; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/TimeSeriesUtils.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/TimeSeriesUtils.java index 0a1df4019..e5e875a1d 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/TimeSeriesUtils.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/TimeSeriesUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.util; diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/ValidationUtils.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/ValidationUtils.java index 416593654..2f39ca95b 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/ValidationUtils.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/util/ValidationUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.util; diff --git a/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/pom.xml b/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/pom.xml deleted file mode 100644 index ca4c49e9e..000000000 --- a/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/pom.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - 4.0.0 - jar - - - org.deeplearning4j - deeplearning4j-remote - 1.0.0-SNAPSHOT - - - deeplearning4j-json-server - 1.0.0-SNAPSHOT - deeplearning4j-json-server - - - - junit - junit - ${junit.version} - test - - - - org.projectlombok - lombok - ${lombok.version} - provided - - - - org.nd4j - nd4j-api - ${project.version} - - - - org.nd4j - nd4j-json-client - ${project.version} - - - - org.nd4j - nd4j-json-server - ${project.version} - - - - org.deeplearning4j - deeplearning4j-parallel-wrapper - ${project.version} - - - - org.slf4j - slf4j-api - ${slf4j.version} - - - - ch.qos.logback - logback-core - ${logback.version} - test - - - - ch.qos.logback - logback-classic - ${logback.version} - test - - - - org.deeplearning4j - deeplearning4j-common-tests - ${project.version} - test - - - - - - - testresources - - true - - - - - test-nd4j-native - - false - - - - org.nd4j - nd4j-native - ${project.version} - test - - - - - - test-nd4j-cuda-11.0 - - false - - - - org.nd4j - nd4j-cuda-11.0 - ${project.version} - test - - - - - diff --git a/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/helpers/House.java b/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/helpers/House.java deleted file mode 100644 index d66c8bae5..000000000 --- a/deeplearning4j/deeplearning4j-remote/deeplearning4j-json-server/src/test/java/org/deeplearning4j/remote/helpers/House.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.remote.helpers; - -import com.google.gson.Gson; -import lombok.*; -import org.nd4j.remote.clients.serde.JsonDeserializer; -import org.nd4j.remote.clients.serde.JsonSerializer; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class House { - private int district; - private int bedrooms; - private int bathrooms; - private int area; - - - public static class HouseSerializer implements JsonSerializer { - @Override - public String serialize(@NonNull House o) { - return new Gson().toJson(o); - } - } - - public static class HouseDeserializer implements JsonDeserializer { - @Override - public House deserialize(@NonNull String json) { - return new Gson().fromJson(json, House.class); - } - } -} diff --git a/deeplearning4j/deeplearning4j-remote/pom.xml b/deeplearning4j/deeplearning4j-remote/pom.xml deleted file mode 100644 index 1816689a4..000000000 --- a/deeplearning4j/deeplearning4j-remote/pom.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - 4.0.0 - pom - - - deeplearning4j-json-server - - - - org.deeplearning4j - deeplearning4j-parent - 1.0.0-SNAPSHOT - - - deeplearning4j-remote - 1.0.0-SNAPSHOT - deeplearning4j-remote - - - - testresources - - - test-nd4j-native - - - test-nd4j-cuda-11.0 - - - diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/pom.xml b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/pom.xml index 18392dfc0..06a3b3eed 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/pom.xml +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/pom.xml @@ -1,30 +1,35 @@ - + + + + - - - deeplearning4j-scaleout - org.deeplearning4j - 1.0.0-SNAPSHOT - 4.0.0 + + org.deeplearning4j + deeplearning4j-scaleout + 1.0.0-SNAPSHOT + + deeplearning4j-scaleout-parallelwrapper-parameter-server - jar deeplearning4j-scaleout-parallelwrapper-parameter-server @@ -32,22 +37,10 @@ 2.11.12 2.11 + 1.8 + 1.8 - - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.8 - 1.8 - - - - - org.deeplearning4j @@ -72,21 +65,17 @@ junit junit - test - org.scala-lang scala-library ${scala.version} - ch.qos.logback logback-classic test - org.deeplearning4j deeplearning4j-common-tests @@ -107,7 +96,6 @@ - test-nd4j-cuda-11.0 diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/src/main/java/org/deeplearning4j/parallelism/parameterserver/ParameterServerTrainer.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/src/main/java/org/deeplearning4j/parallelism/parameterserver/ParameterServerTrainer.java index 8da0eb90d..f55abfe2f 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/src/main/java/org/deeplearning4j/parallelism/parameterserver/ParameterServerTrainer.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/src/main/java/org/deeplearning4j/parallelism/parameterserver/ParameterServerTrainer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism.parameterserver; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/src/main/java/org/deeplearning4j/parallelism/parameterserver/ParameterServerTrainerContext.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/src/main/java/org/deeplearning4j/parallelism/parameterserver/ParameterServerTrainerContext.java index ccd362d59..02b3422f6 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/src/main/java/org/deeplearning4j/parallelism/parameterserver/ParameterServerTrainerContext.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/src/main/java/org/deeplearning4j/parallelism/parameterserver/ParameterServerTrainerContext.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism.parameterserver; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/src/test/java/org/deeplearning4j/parallelism/parameterserver/ParameterServerParallelWrapperTest.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/src/test/java/org/deeplearning4j/parallelism/parameterserver/ParameterServerParallelWrapperTest.java index ad610739f..8add854cf 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/src/test/java/org/deeplearning4j/parallelism/parameterserver/ParameterServerParallelWrapperTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/src/test/java/org/deeplearning4j/parallelism/parameterserver/ParameterServerParallelWrapperTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism.parameterserver; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/src/test/resources/aeron.properties b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/src/test/resources/aeron.properties index dc91547b2..50ee74c92 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/src/test/resources/aeron.properties +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/src/test/resources/aeron.properties @@ -1,18 +1,20 @@ -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ aeron.mtu.length=16384, aeron.socket.so_sndbuf=2097152, diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/src/test/resources/log4j.properties b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/src/test/resources/log4j.properties index dfbc3b868..9eaa7fcda 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/src/test/resources/log4j.properties +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/src/test/resources/log4j.properties @@ -1,18 +1,20 @@ -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ log4j.rootLogger=ERROR, Console diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/src/test/resources/logback.xml b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/src/test/resources/logback.xml index f6b823056..9304f8923 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/src/test/resources/logback.xml +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper-parameter-server/src/test/resources/logback.xml @@ -1,18 +1,20 @@ - + diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/pom.xml b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/pom.xml index 36a77391e..f45795091 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/pom.xml +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/pom.xml @@ -1,48 +1,41 @@ - + + + + - - - deeplearning4j-scaleout - org.deeplearning4j - 1.0.0-SNAPSHOT - 4.0.0 + + org.deeplearning4j + deeplearning4j-scaleout + 1.0.0-SNAPSHOT + + deeplearning4j-parallel-wrapper - jar deeplearning4j-parallel-wrapper - - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.8 - 1.8 - - - - - + - UTF-8 + 1.8 + 1.8 @@ -56,14 +49,11 @@ org.slf4j slf4j-api - ch.qos.logback logback-classic test - - org.nd4j nd4j-parameter-server @@ -83,14 +73,12 @@ deeplearning4j-core ${project.version} - org.deeplearning4j deeplearning4j-ui ${project.version} test - org.deeplearning4j deeplearning4j-common-tests @@ -107,5 +95,4 @@ test-nd4j-cuda-11.0 - diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/EarlyStoppingParallelTrainer.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/EarlyStoppingParallelTrainer.java index 4ba5ba4ce..faad7cb84 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/EarlyStoppingParallelTrainer.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/EarlyStoppingParallelTrainer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/InplaceParallelInference.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/InplaceParallelInference.java index 149a122f2..8e26cc456 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/InplaceParallelInference.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/InplaceParallelInference.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/ParallelInference.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/ParallelInference.java index 9f5af35f0..e0e8d97f0 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/ParallelInference.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/ParallelInference.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/ParallelWrapper.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/ParallelWrapper.java index 842ac34b2..2de0c6f14 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/ParallelWrapper.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/ParallelWrapper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/factory/DefaultTrainerContext.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/factory/DefaultTrainerContext.java index 4fa6e9a95..ec51c1a84 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/factory/DefaultTrainerContext.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/factory/DefaultTrainerContext.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism.factory; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/factory/SymmetricTrainerContext.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/factory/SymmetricTrainerContext.java index 86dfac989..f6d9f0b83 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/factory/SymmetricTrainerContext.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/factory/SymmetricTrainerContext.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism.factory; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/factory/TrainerContext.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/factory/TrainerContext.java index 6e717f42a..80f682288 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/factory/TrainerContext.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/factory/TrainerContext.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism.factory; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/inference/InferenceMode.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/inference/InferenceMode.java index 0ae731c2c..afa6dbded 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/inference/InferenceMode.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/inference/InferenceMode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism.inference; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/inference/InferenceObservable.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/inference/InferenceObservable.java index 02095b8ee..52ed723ff 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/inference/InferenceObservable.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/inference/InferenceObservable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism.inference; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/inference/LoadBalanceMode.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/inference/LoadBalanceMode.java index d3a1dda6a..8703189ee 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/inference/LoadBalanceMode.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/inference/LoadBalanceMode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism.inference; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/inference/observers/BasicInferenceObservable.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/inference/observers/BasicInferenceObservable.java index 5223d4528..f146c78b4 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/inference/observers/BasicInferenceObservable.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/inference/observers/BasicInferenceObservable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism.inference.observers; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/inference/observers/BasicInferenceObserver.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/inference/observers/BasicInferenceObserver.java index 4f32aae28..c41e8b996 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/inference/observers/BasicInferenceObserver.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/inference/observers/BasicInferenceObserver.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism.inference.observers; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/inference/observers/BatchedInferenceObservable.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/inference/observers/BatchedInferenceObservable.java index 29512bbbb..9a6e2d606 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/inference/observers/BatchedInferenceObservable.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/inference/observers/BatchedInferenceObservable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism.inference.observers; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/main/DataSetIteratorProviderFactory.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/main/DataSetIteratorProviderFactory.java index 52315d6ff..dcc2b41a7 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/main/DataSetIteratorProviderFactory.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/main/DataSetIteratorProviderFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism.main; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/main/MultiDataSetProviderFactory.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/main/MultiDataSetProviderFactory.java index d6faf2d2a..8128cb9e5 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/main/MultiDataSetProviderFactory.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/main/MultiDataSetProviderFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism.main; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/main/ParallelWrapperMain.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/main/ParallelWrapperMain.java index 4a5c889de..6ed42b765 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/main/ParallelWrapperMain.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/main/ParallelWrapperMain.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism.main; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/trainer/CommunicativeTrainer.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/trainer/CommunicativeTrainer.java index d62cfe155..c6e726641 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/trainer/CommunicativeTrainer.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/trainer/CommunicativeTrainer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism.trainer; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/trainer/DefaultTrainer.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/trainer/DefaultTrainer.java index a56e8c691..15f587012 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/trainer/DefaultTrainer.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/trainer/DefaultTrainer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism.trainer; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/trainer/SymmetricTrainer.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/trainer/SymmetricTrainer.java index b4559d586..0a50765a0 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/trainer/SymmetricTrainer.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/trainer/SymmetricTrainer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism.trainer; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/trainer/Trainer.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/trainer/Trainer.java index 538f7579e..9be598b91 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/trainer/Trainer.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/main/java/org/deeplearning4j/parallelism/trainer/Trainer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism.trainer; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/InplaceParallelInferenceTest.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/InplaceParallelInferenceTest.java index d089781f1..2be704840 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/InplaceParallelInferenceTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/InplaceParallelInferenceTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/ParallelInferenceTest.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/ParallelInferenceTest.java index 33f89ac1e..1333a9c8c 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/ParallelInferenceTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/ParallelInferenceTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/ParallelWrapperTest.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/ParallelWrapperTest.java index 5f69dda2f..a650d5817 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/ParallelWrapperTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/ParallelWrapperTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/TestListeners.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/TestListeners.java index 12b3d45b7..0671a9fa1 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/TestListeners.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/TestListeners.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/TestParallelEarlyStopping.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/TestParallelEarlyStopping.java index ac2b018e2..833903a31 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/TestParallelEarlyStopping.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/TestParallelEarlyStopping.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/TestParallelEarlyStoppingUI.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/TestParallelEarlyStoppingUI.java index e26da4213..c9e6f3c20 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/TestParallelEarlyStoppingUI.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/TestParallelEarlyStoppingUI.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/factory/DefaultTrainerContextTest.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/factory/DefaultTrainerContextTest.java index c96ca4a19..59c0a3244 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/factory/DefaultTrainerContextTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/factory/DefaultTrainerContextTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism.factory; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/factory/SymmetricTrainerContextTest.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/factory/SymmetricTrainerContextTest.java index 0258caac9..028c2d854 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/factory/SymmetricTrainerContextTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/factory/SymmetricTrainerContextTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism.factory; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/inference/observers/BatchedInferenceObservableTest.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/inference/observers/BatchedInferenceObservableTest.java index facf506d6..07cacf840 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/inference/observers/BatchedInferenceObservableTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/inference/observers/BatchedInferenceObservableTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism.inference.observers; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/main/MnistDataSetIteratorProviderFactory.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/main/MnistDataSetIteratorProviderFactory.java index 3dd78b5d4..60adac0f8 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/main/MnistDataSetIteratorProviderFactory.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/main/MnistDataSetIteratorProviderFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism.main; diff --git a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/main/ParallelWrapperMainTest.java b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/main/ParallelWrapperMainTest.java index ae6672b47..041a10862 100644 --- a/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/main/ParallelWrapperMainTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/deeplearning4j-scaleout-parallelwrapper/src/test/java/org/deeplearning4j/parallelism/main/ParallelWrapperMainTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.parallelism.main; diff --git a/deeplearning4j/deeplearning4j-scaleout/pom.xml b/deeplearning4j/deeplearning4j-scaleout/pom.xml index d0a199d76..1868052ec 100644 --- a/deeplearning4j/deeplearning4j-scaleout/pom.xml +++ b/deeplearning4j/deeplearning4j-scaleout/pom.xml @@ -1,30 +1,37 @@ - + + + - 4.0.0 + org.deeplearning4j deeplearning4j-parent 1.0.0-SNAPSHOT + deeplearning4j-scaleout pom + DeepLearning4j-scaleout-parent @@ -41,5 +48,4 @@ test-nd4j-cuda-11.0 - diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/pom.xml b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/pom.xml index 693fbcf7a..16fec0f6f 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/pom.xml +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/pom.xml @@ -1,34 +1,39 @@ - + + + + - - - spark_2.11 - org.deeplearning4j - 1.0.0-SNAPSHOT - 4.0.0 + + org.deeplearning4j + spark_2.11 + 1.0.0-SNAPSHOT + + dl4j-spark-nlp-java8_2.11 - jar dl4j-spark-nlp-java8 - UTF-8 3.4.2 @@ -59,14 +64,12 @@ junit test - org.apache.spark spark-core_2.11 ${spark.version} provided - org.deeplearning4j deeplearning4j-common-tests @@ -83,5 +86,4 @@ test-nd4j-cuda-11.0 - diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/paragraphvectors/SparkParagraphVectors.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/paragraphvectors/SparkParagraphVectors.java index 4aa5b768d..68a24b3fb 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/paragraphvectors/SparkParagraphVectors.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/paragraphvectors/SparkParagraphVectors.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.paragraphvectors; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/paragraphvectors/functions/DocumentSequenceConvertFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/paragraphvectors/functions/DocumentSequenceConvertFunction.java index 433246e91..f333c25e0 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/paragraphvectors/functions/DocumentSequenceConvertFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/paragraphvectors/functions/DocumentSequenceConvertFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.paragraphvectors.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/paragraphvectors/functions/KeySequenceConvertFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/paragraphvectors/functions/KeySequenceConvertFunction.java index 01684510d..34cfad414 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/paragraphvectors/functions/KeySequenceConvertFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/paragraphvectors/functions/KeySequenceConvertFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.paragraphvectors.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/SparkSequenceVectors.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/SparkSequenceVectors.java index fec929ee5..0e5866891 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/SparkSequenceVectors.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/SparkSequenceVectors.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/export/ExportContainer.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/export/ExportContainer.java index 771aa2b94..c1275af07 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/export/ExportContainer.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/export/ExportContainer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.export; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/export/SparkModelExporter.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/export/SparkModelExporter.java index d06153cef..0794ee699 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/export/SparkModelExporter.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/export/SparkModelExporter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.export; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/export/impl/HdfsModelExporter.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/export/impl/HdfsModelExporter.java index 72b6fa052..c2409a342 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/export/impl/HdfsModelExporter.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/export/impl/HdfsModelExporter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.export.impl; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/export/impl/VocabCacheExporter.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/export/impl/VocabCacheExporter.java index 0d649f9af..ac8b40fe5 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/export/impl/VocabCacheExporter.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/export/impl/VocabCacheExporter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.export.impl; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/BaseTokenizerFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/BaseTokenizerFunction.java index e0e100c88..85a5ff67e 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/BaseTokenizerFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/BaseTokenizerFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/CountFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/CountFunction.java index 75fc057f4..71b9127e0 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/CountFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/CountFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/DistributedFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/DistributedFunction.java index 5e442c537..b25b9ab08 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/DistributedFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/DistributedFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/ElementsFrequenciesAccumulator.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/ElementsFrequenciesAccumulator.java index ec68345f5..16552ed96 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/ElementsFrequenciesAccumulator.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/ElementsFrequenciesAccumulator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/ExportFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/ExportFunction.java index 2a891e5c3..d0648745e 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/ExportFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/ExportFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/ExtraCountFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/ExtraCountFunction.java index 28e8e9da9..b8f3e24e6 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/ExtraCountFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/ExtraCountFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/ExtraElementsFrequenciesAccumulator.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/ExtraElementsFrequenciesAccumulator.java index fd8684790..044685d61 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/ExtraElementsFrequenciesAccumulator.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/ExtraElementsFrequenciesAccumulator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/ListSequenceConvertFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/ListSequenceConvertFunction.java index fa3e7e57a..bcc8e14ed 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/ListSequenceConvertFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/ListSequenceConvertFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/PartitionTrainingFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/PartitionTrainingFunction.java index fb0c327b4..dadea0722 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/PartitionTrainingFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/PartitionTrainingFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/TokenizerFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/TokenizerFunction.java index b65b48a1c..83e178624 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/TokenizerFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/TokenizerFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/TrainingFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/TrainingFunction.java index bb80d51c2..50b7183f0 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/TrainingFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/TrainingFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/VocabRddFunctionFlat.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/VocabRddFunctionFlat.java index 6a6cdad6a..a240e1b6f 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/VocabRddFunctionFlat.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/functions/VocabRddFunctionFlat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/SparkElementsLearningAlgorithm.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/SparkElementsLearningAlgorithm.java index 76c988475..92e9644c2 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/SparkElementsLearningAlgorithm.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/SparkElementsLearningAlgorithm.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.learning; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/SparkSequenceLearningAlgorithm.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/SparkSequenceLearningAlgorithm.java index 4ed6db70e..a89eb7f24 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/SparkSequenceLearningAlgorithm.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/SparkSequenceLearningAlgorithm.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.learning; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/elements/BaseSparkLearningAlgorithm.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/elements/BaseSparkLearningAlgorithm.java index 20c07e4e8..204fd45bb 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/elements/BaseSparkLearningAlgorithm.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/elements/BaseSparkLearningAlgorithm.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.learning.elements; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/elements/SparkCBOW.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/elements/SparkCBOW.java index db065c8e3..fb2b0839e 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/elements/SparkCBOW.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/elements/SparkCBOW.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.learning.elements; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/elements/SparkSkipGram.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/elements/SparkSkipGram.java index c792cede6..d33ae1e90 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/elements/SparkSkipGram.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/elements/SparkSkipGram.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.learning.elements; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/sequence/BaseSparkSequenceLearningAlgorithm.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/sequence/BaseSparkSequenceLearningAlgorithm.java index 88025dc9b..672df0b02 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/sequence/BaseSparkSequenceLearningAlgorithm.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/sequence/BaseSparkSequenceLearningAlgorithm.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.learning.sequence; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/sequence/SparkDBOW.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/sequence/SparkDBOW.java index b6aeb7bab..db35549db 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/sequence/SparkDBOW.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/sequence/SparkDBOW.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.learning.sequence; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/sequence/SparkDM.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/sequence/SparkDM.java index b2c9e5035..d5280d7f0 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/sequence/SparkDM.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/learning/sequence/SparkDM.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.learning.sequence; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/primitives/ExtraCounter.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/primitives/ExtraCounter.java index 4b238b95f..7c562ac24 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/primitives/ExtraCounter.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/sequencevectors/primitives/ExtraCounter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.primitives; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/word2vec/SparkWord2Vec.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/word2vec/SparkWord2Vec.java index bf6ad1cfd..3bf077c27 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/word2vec/SparkWord2Vec.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/main/java/org/deeplearning4j/spark/models/word2vec/SparkWord2Vec.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.word2vec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/test/java/org/deeplearning4j/spark/models/sequencevectors/SparkSequenceVectorsTest.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/test/java/org/deeplearning4j/spark/models/sequencevectors/SparkSequenceVectorsTest.java index 0a6e5bd73..bb3e36039 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/test/java/org/deeplearning4j/spark/models/sequencevectors/SparkSequenceVectorsTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/test/java/org/deeplearning4j/spark/models/sequencevectors/SparkSequenceVectorsTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/test/java/org/deeplearning4j/spark/models/sequencevectors/export/ExportContainerTest.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/test/java/org/deeplearning4j/spark/models/sequencevectors/export/ExportContainerTest.java index 604181109..195e648ce 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/test/java/org/deeplearning4j/spark/models/sequencevectors/export/ExportContainerTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/test/java/org/deeplearning4j/spark/models/sequencevectors/export/ExportContainerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.sequencevectors.export; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/test/java/org/deeplearning4j/spark/models/word2vec/SparkWord2VecTest.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/test/java/org/deeplearning4j/spark/models/word2vec/SparkWord2VecTest.java index a7bdfd45b..8d8394d26 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/test/java/org/deeplearning4j/spark/models/word2vec/SparkWord2VecTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/test/java/org/deeplearning4j/spark/models/word2vec/SparkWord2VecTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.word2vec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/test/resources/log4j.properties b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/test/resources/log4j.properties index 5d1edb39f..9cbceef98 100755 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/test/resources/log4j.properties +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/test/resources/log4j.properties @@ -1,18 +1,20 @@ -################################################################################ -# Copyright (c) 2015-2019 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ log4j.rootLogger=ERROR, Console log4j.appender.Console=org.apache.log4j.ConsoleAppender diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/test/resources/logback.xml b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/test/resources/logback.xml index 4d94f2516..702c83263 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/test/resources/logback.xml +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp-java8/src/test/resources/logback.xml @@ -1,18 +1,20 @@ - + diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/pom.xml b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/pom.xml index ffd7a4b0f..8700d6afc 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/pom.xml +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/pom.xml @@ -1,33 +1,39 @@ - + + + + + + 4.0.0 - - spark_2.11 org.deeplearning4j + spark_2.11 1.0.0-SNAPSHOT - 4.0.0 + dl4j-spark-nlp_2.11 - jar dl4j-spark-nlp - UTF-8 3.4.2 @@ -45,27 +51,23 @@ junit junit - test org.datavec datavec-spark_2.11 ${datavec.version} - org.apache.spark spark-core_2.11 ${spark.version} provided - com.fasterxml.jackson.module jackson-module-scala_2.11 2.6.7.1 - org.deeplearning4j deeplearning4j-common-tests @@ -82,5 +84,4 @@ test-nd4j-cuda-11.0 - diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/FirstIterationFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/FirstIterationFunction.java index e13223749..d7924eb8f 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/FirstIterationFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/FirstIterationFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.embeddings.word2vec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/MapToPairFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/MapToPairFunction.java index 8b3b679f0..b3ed36cd5 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/MapToPairFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/MapToPairFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.embeddings.word2vec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/NegativeHolder.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/NegativeHolder.java index 7f1b682ab..a0a93494f 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/NegativeHolder.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/NegativeHolder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.embeddings.word2vec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/SecondIterationFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/SecondIterationFunction.java index 4b3a7ee8a..903625d79 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/SecondIterationFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/SecondIterationFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.embeddings.word2vec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/SentenceBatch.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/SentenceBatch.java index f9ecbfc98..636398308 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/SentenceBatch.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/SentenceBatch.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.embeddings.word2vec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/VocabHolder.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/VocabHolder.java index 36354665c..04c2966e5 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/VocabHolder.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/VocabHolder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.embeddings.word2vec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2Vec.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2Vec.java index 627877eca..89d240bb4 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2Vec.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2Vec.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.embeddings.word2vec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecChange.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecChange.java index c197159b1..1d1cd0da6 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecChange.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecChange.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.embeddings.word2vec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecFuncCall.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecFuncCall.java index 7059673eb..5c3d2b79c 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecFuncCall.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecFuncCall.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.embeddings.word2vec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecParam.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecParam.java index 9a88a9e14..64dc77326 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecParam.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecParam.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.embeddings.word2vec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecPerformer.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecPerformer.java index 79fc7aba0..40d669bc7 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecPerformer.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecPerformer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.embeddings.word2vec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecPerformerVoid.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecPerformerVoid.java index 47fc41722..10959eda4 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecPerformerVoid.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecPerformerVoid.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.embeddings.word2vec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecSetup.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecSetup.java index f7d18f1d3..8b7f0ece2 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecSetup.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecSetup.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.embeddings.word2vec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecVariables.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecVariables.java index 227be43cb..6c589cc66 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecVariables.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecVariables.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.embeddings.word2vec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/accumulators/MaxPerPartitionAccumulator.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/accumulators/MaxPerPartitionAccumulator.java index b090cc0b3..24a0bbb73 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/accumulators/MaxPerPartitionAccumulator.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/accumulators/MaxPerPartitionAccumulator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.text.accumulators; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/accumulators/WordFreqAccumulator.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/accumulators/WordFreqAccumulator.java index 70fd4c545..c0d767d7d 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/accumulators/WordFreqAccumulator.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/accumulators/WordFreqAccumulator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.text.accumulators; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/CountCumSum.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/CountCumSum.java index 8a04afc2d..1d99cfdd6 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/CountCumSum.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/CountCumSum.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.text.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/FoldBetweenPartitionFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/FoldBetweenPartitionFunction.java index 14a10f443..c127e8310 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/FoldBetweenPartitionFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/FoldBetweenPartitionFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.text.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/FoldWithinPartitionFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/FoldWithinPartitionFunction.java index c2638ebd0..47718ab53 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/FoldWithinPartitionFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/FoldWithinPartitionFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.text.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/GetSentenceCountFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/GetSentenceCountFunction.java index 69f1f84e6..ed579cc04 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/GetSentenceCountFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/GetSentenceCountFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.text.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/MapPerPartitionVoidFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/MapPerPartitionVoidFunction.java index a55cef073..6585b316b 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/MapPerPartitionVoidFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/MapPerPartitionVoidFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.text.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/ReduceSentenceCount.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/ReduceSentenceCount.java index 3a40ad2f9..3591b86c7 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/ReduceSentenceCount.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/ReduceSentenceCount.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.text.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/TextPipeline.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/TextPipeline.java index 534c65353..91c06cfd0 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/TextPipeline.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/TextPipeline.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.text.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/TokenizerFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/TokenizerFunction.java index 5049619ee..e919c50a9 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/TokenizerFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/TokenizerFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.text.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/UpdateWordFreqAccumulatorFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/UpdateWordFreqAccumulatorFunction.java index 30decf5a0..39f78bbf5 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/UpdateWordFreqAccumulatorFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/UpdateWordFreqAccumulatorFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.text.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/WordsListToVocabWordsFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/WordsListToVocabWordsFunction.java index 2fa3bd65d..f840cb5a4 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/WordsListToVocabWordsFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/main/java/org/deeplearning4j/spark/text/functions/WordsListToVocabWordsFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.text.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/test/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecTest.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/test/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecTest.java index b66d79956..20a16daf4 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/test/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/test/java/org/deeplearning4j/spark/models/embeddings/word2vec/Word2VecTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.models.embeddings.word2vec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/test/java/org/deeplearning4j/spark/text/BaseSparkTest.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/test/java/org/deeplearning4j/spark/text/BaseSparkTest.java index af39a474c..72fdaf7aa 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/test/java/org/deeplearning4j/spark/text/BaseSparkTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/test/java/org/deeplearning4j/spark/text/BaseSparkTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.text; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/test/java/org/deeplearning4j/spark/text/TestFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/test/java/org/deeplearning4j/spark/text/TestFunction.java index 9ca3c9445..ed1b997c5 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/test/java/org/deeplearning4j/spark/text/TestFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/test/java/org/deeplearning4j/spark/text/TestFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.text; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/test/java/org/deeplearning4j/spark/text/TextPipelineTest.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/test/java/org/deeplearning4j/spark/text/TextPipelineTest.java index c2e334761..fb8bf0883 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/test/java/org/deeplearning4j/spark/text/TextPipelineTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/test/java/org/deeplearning4j/spark/text/TextPipelineTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.text; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/test/resources/log4j.properties b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/test/resources/log4j.properties index 5d1edb39f..9cbceef98 100755 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/test/resources/log4j.properties +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/test/resources/log4j.properties @@ -1,18 +1,20 @@ -################################################################################ -# Copyright (c) 2015-2019 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ log4j.rootLogger=ERROR, Console log4j.appender.Console=org.apache.log4j.ConsoleAppender diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/test/resources/logback.xml b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/test/resources/logback.xml index 4d94f2516..702c83263 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/test/resources/logback.xml +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-nlp/src/test/resources/logback.xml @@ -1,18 +1,20 @@ - + diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/pom.xml b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/pom.xml index 53297cb13..8643d4293 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/pom.xml +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/pom.xml @@ -1,35 +1,41 @@ - + + + + - - - spark_2.11 - org.deeplearning4j - 1.0.0-SNAPSHOT - 4.0.0 + + org.deeplearning4j + spark_2.11 + 1.0.0-SNAPSHOT + + dl4j-spark-parameterserver_2.11 - jar dl4j-spark-parameterserver - UTF-8 + 1.8 + 1.8 @@ -65,14 +71,12 @@ deeplearning4j-parallel-wrapper ${nd4j.version} - org.apache.spark spark-core_2.11 ${spark.version} provided - org.deeplearning4j deeplearning4j-common-tests @@ -89,21 +93,4 @@ test-nd4j-cuda-11.0 - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.8 - 1.8 - - - - - - diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/ParameterServerSubscriber.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/ParameterServerSubscriber.java index bf9bfefc3..91e47517e 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/ParameterServerSubscriber.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/ParameterServerSubscriber.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/ParameterServerTrainingHook.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/ParameterServerTrainingHook.java index 0bd842dfc..912778928 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/ParameterServerTrainingHook.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/ParameterServerTrainingHook.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/accumulation/SharedTrainingAccumulationFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/accumulation/SharedTrainingAccumulationFunction.java index 2606eeed8..156677180 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/accumulation/SharedTrainingAccumulationFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/accumulation/SharedTrainingAccumulationFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.accumulation; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/accumulation/SharedTrainingAccumulationTuple.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/accumulation/SharedTrainingAccumulationTuple.java index 385ef9a65..b3e0d02ee 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/accumulation/SharedTrainingAccumulationTuple.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/accumulation/SharedTrainingAccumulationTuple.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.accumulation; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/accumulation/SharedTrainingAggregateFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/accumulation/SharedTrainingAggregateFunction.java index 9d9dd77f6..cb550a693 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/accumulation/SharedTrainingAggregateFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/accumulation/SharedTrainingAggregateFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.accumulation; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/callbacks/DataSetDeserializationCallback.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/callbacks/DataSetDeserializationCallback.java index c00a842d0..e39fc35c8 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/callbacks/DataSetDeserializationCallback.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/callbacks/DataSetDeserializationCallback.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.callbacks; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/callbacks/MultiDataSetDeserializationCallback.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/callbacks/MultiDataSetDeserializationCallback.java index 72c5e4642..7a75ccc51 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/callbacks/MultiDataSetDeserializationCallback.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/callbacks/MultiDataSetDeserializationCallback.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.callbacks; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/callbacks/PortableDataStreamCallback.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/callbacks/PortableDataStreamCallback.java index d0f14da5a..f9213d075 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/callbacks/PortableDataStreamCallback.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/callbacks/PortableDataStreamCallback.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.callbacks; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/callbacks/PortableDataStreamMDSCallback.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/callbacks/PortableDataStreamMDSCallback.java index c534b3361..59088c6c8 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/callbacks/PortableDataStreamMDSCallback.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/callbacks/PortableDataStreamMDSCallback.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.callbacks; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/conf/SharedTrainingConfiguration.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/conf/SharedTrainingConfiguration.java index 70adcfb59..cfe33e216 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/conf/SharedTrainingConfiguration.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/conf/SharedTrainingConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.conf; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/functions/SharedFlatMapDataSet.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/functions/SharedFlatMapDataSet.java index 900f0e63b..1c04c17b3 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/functions/SharedFlatMapDataSet.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/functions/SharedFlatMapDataSet.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/functions/SharedFlatMapMultiDataSet.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/functions/SharedFlatMapMultiDataSet.java index 5ce338b0f..7c128722c 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/functions/SharedFlatMapMultiDataSet.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/functions/SharedFlatMapMultiDataSet.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/functions/SharedFlatMapPaths.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/functions/SharedFlatMapPaths.java index 70f1cf1c1..9368bb9c9 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/functions/SharedFlatMapPaths.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/functions/SharedFlatMapPaths.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/functions/SharedFlatMapPathsMDS.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/functions/SharedFlatMapPathsMDS.java index 881b5e08f..3f5bc39ee 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/functions/SharedFlatMapPathsMDS.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/functions/SharedFlatMapPathsMDS.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.functions; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/iterators/MultiPdsIterator.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/iterators/MultiPdsIterator.java index 1dcbc1ab3..bd67a38d1 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/iterators/MultiPdsIterator.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/iterators/MultiPdsIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.iterators; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/iterators/PdsIterator.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/iterators/PdsIterator.java index 32c355001..639b6f85d 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/iterators/PdsIterator.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/iterators/PdsIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.iterators; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/iterators/VirtualDataSetIterator.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/iterators/VirtualDataSetIterator.java index d6759b40b..5f6d2681f 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/iterators/VirtualDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/iterators/VirtualDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.iterators; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/iterators/VirtualIterator.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/iterators/VirtualIterator.java index 812bbfe15..ae8c9c3de 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/iterators/VirtualIterator.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/iterators/VirtualIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.iterators; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/iterators/VirtualMultiDataSetIterator.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/iterators/VirtualMultiDataSetIterator.java index a3c3b43a8..c3cd94221 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/iterators/VirtualMultiDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/iterators/VirtualMultiDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.iterators; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/modelimport/elephas/ElephasModelImport.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/modelimport/elephas/ElephasModelImport.java index 6ca207cc7..584afbf2e 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/modelimport/elephas/ElephasModelImport.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/modelimport/elephas/ElephasModelImport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.modelimport.elephas; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v1/SilentTrainingDriver.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v1/SilentTrainingDriver.java index e2f7d6a06..6351934ac 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v1/SilentTrainingDriver.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v1/SilentTrainingDriver.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.networking.v1; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v1/WiredEncodingHandler.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v1/WiredEncodingHandler.java index c2fc97658..26aad6232 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v1/WiredEncodingHandler.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v1/WiredEncodingHandler.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.networking.v1; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v1/messages/SilentIntroductoryConfirmation.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v1/messages/SilentIntroductoryConfirmation.java index 84ac2b384..95364b696 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v1/messages/SilentIntroductoryConfirmation.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v1/messages/SilentIntroductoryConfirmation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.networking.v1.messages; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v1/messages/SilentIntroductoryMessage.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v1/messages/SilentIntroductoryMessage.java index c1eeac1fd..cdf2d8461 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v1/messages/SilentIntroductoryMessage.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v1/messages/SilentIntroductoryMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.networking.v1.messages; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v1/messages/SilentUpdatesMessage.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v1/messages/SilentUpdatesMessage.java index ebe35e457..99ddec53e 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v1/messages/SilentUpdatesMessage.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v1/messages/SilentUpdatesMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.networking.v1.messages; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v2/ModelParamsConsumer.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v2/ModelParamsConsumer.java index f633bf0ad..b30376656 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v2/ModelParamsConsumer.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v2/ModelParamsConsumer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.networking.v2; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v2/UpdaterParamsConsumer.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v2/UpdaterParamsConsumer.java index d812b7b05..e0c247433 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v2/UpdaterParamsConsumer.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v2/UpdaterParamsConsumer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.networking.v2; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v2/UpdatesConsumer.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v2/UpdatesConsumer.java index d3a406ea8..c3e686496 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v2/UpdatesConsumer.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v2/UpdatesConsumer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.networking.v2; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v2/WiredEncodingHandler.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v2/WiredEncodingHandler.java index 130526658..9d8f02da7 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v2/WiredEncodingHandler.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/networking/v2/WiredEncodingHandler.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.networking.v2; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/pw/SharedTrainingWrapper.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/pw/SharedTrainingWrapper.java index 0b92ffe56..80f056145 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/pw/SharedTrainingWrapper.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/pw/SharedTrainingWrapper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.pw; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/python/ArrayDescriptor.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/python/ArrayDescriptor.java index 4819684e9..47b6ed6d1 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/python/ArrayDescriptor.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/python/ArrayDescriptor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.python; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/python/DataSetDescriptor.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/python/DataSetDescriptor.java index 7dec493cf..be31e4e2b 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/python/DataSetDescriptor.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/python/DataSetDescriptor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.python; import org.nd4j.linalg.api.ndarray.INDArray; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/python/Utils.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/python/Utils.java index ed3ee48e5..709a7bcd3 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/python/Utils.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/python/Utils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.python; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/training/SharedTrainingMaster.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/training/SharedTrainingMaster.java index f90bbdcf6..0139e66bc 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/training/SharedTrainingMaster.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/training/SharedTrainingMaster.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.training; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/training/SharedTrainingResult.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/training/SharedTrainingResult.java index dc0cf5867..5ef323929 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/training/SharedTrainingResult.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/training/SharedTrainingResult.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.training; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/training/SharedTrainingWorker.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/training/SharedTrainingWorker.java index 0a3b78bb2..b9094b69e 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/training/SharedTrainingWorker.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/training/SharedTrainingWorker.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.training; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/util/BlockingObserver.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/util/BlockingObserver.java index 642fc1e8b..359517e8f 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/util/BlockingObserver.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/util/BlockingObserver.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.util; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/util/CountingIterator.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/util/CountingIterator.java index f23873a82..8ff6987c9 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/util/CountingIterator.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/main/java/org/deeplearning4j/spark/parameterserver/util/CountingIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.util; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/BaseSparkTest.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/BaseSparkTest.java index 9a28fe351..8857ddaea 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/BaseSparkTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/BaseSparkTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/accumulation/SharedTrainingAccumulationFunctionTest.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/accumulation/SharedTrainingAccumulationFunctionTest.java index c3a7674f4..b8975f281 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/accumulation/SharedTrainingAccumulationFunctionTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/accumulation/SharedTrainingAccumulationFunctionTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.accumulation; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/accumulation/SharedTrainingAggregateFunctionTest.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/accumulation/SharedTrainingAggregateFunctionTest.java index b363e5c5b..e8c15fbe3 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/accumulation/SharedTrainingAggregateFunctionTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/accumulation/SharedTrainingAggregateFunctionTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.accumulation; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/iterators/VirtualDataSetIteratorTest.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/iterators/VirtualDataSetIteratorTest.java index 7903b75e9..02519d3d2 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/iterators/VirtualDataSetIteratorTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/iterators/VirtualDataSetIteratorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.iterators; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/iterators/VirtualIteratorTest.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/iterators/VirtualIteratorTest.java index 0f2b8f4e5..de5dbeb1b 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/iterators/VirtualIteratorTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/iterators/VirtualIteratorTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.iterators; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/modelimport/elephas/TestElephasImport.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/modelimport/elephas/TestElephasImport.java index e7a4d08a3..02c8ba259 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/modelimport/elephas/TestElephasImport.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/modelimport/elephas/TestElephasImport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.modelimport.elephas; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/train/GradientSharingTrainingTest.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/train/GradientSharingTrainingTest.java index c1eff1dce..adfae4140 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/train/GradientSharingTrainingTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/java/org/deeplearning4j/spark/parameterserver/train/GradientSharingTrainingTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.parameterserver.train; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/resources/log4j.properties b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/resources/log4j.properties index 4bee14770..c7fd64dca 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/resources/log4j.properties +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/resources/log4j.properties @@ -1,18 +1,20 @@ -################################################################################ -# Copyright (c) 2015-2019 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ log4j.rootLogger=ERROR, Console log4j.appender.Console=org.apache.log4j.ConsoleAppender diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/resources/logback.xml b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/resources/logback.xml index 9605642db..e1bdcc3e8 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/resources/logback.xml +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark-parameterserver/src/test/resources/logback.xml @@ -1,18 +1,20 @@ - + diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/pom.xml b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/pom.xml index 9b399fa22..770908ef3 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/pom.xml +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/pom.xml @@ -1,37 +1,38 @@ - + + + + + + 4.0.0 - - spark_2.11 org.deeplearning4j + spark_2.11 1.0.0-SNAPSHOT - 4.0.0 + dl4j-spark_2.11 - jar dl4j-spark - - - UTF-8 - UTF-8 - - @@ -39,32 +40,27 @@ deeplearning4j-core ${deeplearning4j.version} - org.datavec datavec-spark_2.11 ${datavec.version} - org.deeplearning4j deeplearning4j-ui-components ${deeplearning4j.version} - junit junit - test - ch.qos.logback - logback-classic + logback-classic + test - org.deeplearning4j deeplearning4j-ui @@ -77,21 +73,18 @@ - org.nd4j nd4j-kryo_2.11 ${nd4j.version} test - org.apache.spark spark-core_2.11 ${spark.version} provided - org.deeplearning4j deeplearning4j-common-tests @@ -108,5 +101,4 @@ test-nd4j-cuda-11.0 - diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/RDDTrainingApproach.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/RDDTrainingApproach.java index d01729230..f5033e51f 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/RDDTrainingApproach.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/RDDTrainingApproach.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.api; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/Repartition.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/Repartition.java index 6ea666882..1463f2ffd 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/Repartition.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/Repartition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.api; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/RepartitionStrategy.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/RepartitionStrategy.java index 38ab87f53..a6b4d8b75 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/RepartitionStrategy.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/RepartitionStrategy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.api; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/Repartitioner.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/Repartitioner.java index cff9a2fa5..28215c8b8 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/Repartitioner.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/Repartitioner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.api; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/TrainingHook.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/TrainingHook.java index 4a90bb2bb..ac7fc98ad 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/TrainingHook.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/TrainingHook.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.api; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/TrainingMaster.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/TrainingMaster.java index 270fca8e5..d3b9dc89f 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/TrainingMaster.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/TrainingMaster.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.api; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/TrainingResult.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/TrainingResult.java index 2cf2f6e4a..e10367584 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/TrainingResult.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/TrainingResult.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.api; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/TrainingWorker.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/TrainingWorker.java index db0c0b3f0..8af42c88c 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/TrainingWorker.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/TrainingWorker.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.api; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/WorkerConfiguration.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/WorkerConfiguration.java index e39237e7a..8d078c86e 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/WorkerConfiguration.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/WorkerConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.api; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/stats/CommonSparkTrainingStats.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/stats/CommonSparkTrainingStats.java index b86ea1255..7df3f54af 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/stats/CommonSparkTrainingStats.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/stats/CommonSparkTrainingStats.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.api.stats; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/stats/SparkTrainingStats.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/stats/SparkTrainingStats.java index 1b75245cc..fa03b508a 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/stats/SparkTrainingStats.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/stats/SparkTrainingStats.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.api.stats; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/stats/StatsCalculationHelper.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/stats/StatsCalculationHelper.java index 3476c5dd2..22b717eef 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/stats/StatsCalculationHelper.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/stats/StatsCalculationHelper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.api.stats; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/ExecuteWorkerFlatMap.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/ExecuteWorkerFlatMap.java index 519012272..7392fba83 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/ExecuteWorkerFlatMap.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/ExecuteWorkerFlatMap.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.api.worker; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/ExecuteWorkerMultiDataSetFlatMap.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/ExecuteWorkerMultiDataSetFlatMap.java index 2486034aa..bda945957 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/ExecuteWorkerMultiDataSetFlatMap.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/ExecuteWorkerMultiDataSetFlatMap.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.api.worker; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/ExecuteWorkerPDSFlatMap.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/ExecuteWorkerPDSFlatMap.java index 4969a055b..7ea100c0c 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/ExecuteWorkerPDSFlatMap.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/ExecuteWorkerPDSFlatMap.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.api.worker; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/ExecuteWorkerPDSMDSFlatMap.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/ExecuteWorkerPDSMDSFlatMap.java index 63b82bdaa..7add831dc 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/ExecuteWorkerPDSMDSFlatMap.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/ExecuteWorkerPDSMDSFlatMap.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.api.worker; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/ExecuteWorkerPathFlatMap.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/ExecuteWorkerPathFlatMap.java index eb41281af..1ee372b77 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/ExecuteWorkerPathFlatMap.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/ExecuteWorkerPathFlatMap.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.api.worker; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/ExecuteWorkerPathMDSFlatMap.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/ExecuteWorkerPathMDSFlatMap.java index 9fe261af4..40d72b809 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/ExecuteWorkerPathMDSFlatMap.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/ExecuteWorkerPathMDSFlatMap.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.api.worker; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/NetBroadcastTuple.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/NetBroadcastTuple.java index 9fc53eb0a..2212ab05c 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/NetBroadcastTuple.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/api/worker/NetBroadcastTuple.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.api.worker; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/BatchAndExportDataSetsFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/BatchAndExportDataSetsFunction.java index 7c32abe9e..656e2f936 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/BatchAndExportDataSetsFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/BatchAndExportDataSetsFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.data; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/BatchAndExportMultiDataSetsFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/BatchAndExportMultiDataSetsFunction.java index 09541297f..ba36d902b 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/BatchAndExportMultiDataSetsFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/BatchAndExportMultiDataSetsFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.data; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/BatchDataSetsFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/BatchDataSetsFunction.java index 9513193e4..b53982f7b 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/BatchDataSetsFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/BatchDataSetsFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.data; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/DataSetExportFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/DataSetExportFunction.java index dd311e047..d2d290b13 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/DataSetExportFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/DataSetExportFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.data; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/DataSetProvider.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/DataSetProvider.java index 392d0d591..4eea1c19f 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/DataSetProvider.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/DataSetProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.data; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/MultiDataSetExportFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/MultiDataSetExportFunction.java index 0ae008e76..e3d10a418 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/MultiDataSetExportFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/MultiDataSetExportFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.data; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/MultiDataSetProvider.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/MultiDataSetProvider.java index 5607064c6..2cf24e2f5 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/MultiDataSetProvider.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/MultiDataSetProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.data; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/PathToDataSetFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/PathToDataSetFunction.java index 861a7547f..b66f83b39 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/PathToDataSetFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/PathToDataSetFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.data; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/PathToMultiDataSetFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/PathToMultiDataSetFunction.java index eff41d9c0..4fe230547 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/PathToMultiDataSetFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/PathToMultiDataSetFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.data; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/SplitDataSetsFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/SplitDataSetsFunction.java index 026b65dd6..38461a043 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/SplitDataSetsFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/SplitDataSetsFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.data; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/loader/RemoteFileSource.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/loader/RemoteFileSource.java index 3e659fa21..5f608ebfe 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/loader/RemoteFileSource.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/loader/RemoteFileSource.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.data.loader; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/loader/RemoteFileSourceFactory.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/loader/RemoteFileSourceFactory.java index 5a99208b1..7445ea598 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/loader/RemoteFileSourceFactory.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/loader/RemoteFileSourceFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.data.loader; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/shuffle/SplitDataSetExamplesPairFlatMapFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/shuffle/SplitDataSetExamplesPairFlatMapFunction.java index 1ccf54b91..27bd20d4f 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/shuffle/SplitDataSetExamplesPairFlatMapFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/data/shuffle/SplitDataSetExamplesPairFlatMapFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.data.shuffle; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/DataVecByteDataSetFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/DataVecByteDataSetFunction.java index 9627c82bd..e11f888f1 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/DataVecByteDataSetFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/DataVecByteDataSetFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.datavec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/DataVecDataSetFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/DataVecDataSetFunction.java index bce687170..b34bb9813 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/DataVecDataSetFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/DataVecDataSetFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.datavec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/DataVecSequenceDataSetFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/DataVecSequenceDataSetFunction.java index 5eae48811..36910861e 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/DataVecSequenceDataSetFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/DataVecSequenceDataSetFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.datavec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/DataVecSequencePairDataSetFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/DataVecSequencePairDataSetFunction.java index ec7d94365..e66f30d22 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/DataVecSequencePairDataSetFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/DataVecSequencePairDataSetFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.datavec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/RDDMiniBatches.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/RDDMiniBatches.java index 653bbc75d..107efb416 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/RDDMiniBatches.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/RDDMiniBatches.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.datavec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/RecordReaderFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/RecordReaderFunction.java index e120735a6..0d920e05f 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/RecordReaderFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/RecordReaderFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.datavec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/export/StringToDataSetExportFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/export/StringToDataSetExportFunction.java index 6558e78ea..165f4d7a7 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/export/StringToDataSetExportFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/export/StringToDataSetExportFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.datavec.export; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/iterator/DataVecRecord.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/iterator/DataVecRecord.java index da3a08e10..8e083eb68 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/iterator/DataVecRecord.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/iterator/DataVecRecord.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.datavec.iterator; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/iterator/DataVecRecords.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/iterator/DataVecRecords.java index 4cef35c7f..5d33a7168 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/iterator/DataVecRecords.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/iterator/DataVecRecords.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.datavec.iterator; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/iterator/IteratorUtils.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/iterator/IteratorUtils.java index f031f28cf..db37611e8 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/iterator/IteratorUtils.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/iterator/IteratorUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.datavec.iterator; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/iterator/RRMDSIFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/iterator/RRMDSIFunction.java index a2d990e01..ea7073334 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/iterator/RRMDSIFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/iterator/RRMDSIFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.datavec.iterator; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/iterator/SparkSourceDummyReader.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/iterator/SparkSourceDummyReader.java index 15820ec96..c7ef16e49 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/iterator/SparkSourceDummyReader.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/iterator/SparkSourceDummyReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.datavec.iterator; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/iterator/SparkSourceDummySeqReader.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/iterator/SparkSourceDummySeqReader.java index 3bfefcee0..97cc048a1 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/iterator/SparkSourceDummySeqReader.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/datavec/iterator/SparkSourceDummySeqReader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.datavec.iterator; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/earlystopping/BaseSparkEarlyStoppingTrainer.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/earlystopping/BaseSparkEarlyStoppingTrainer.java index 9be054abb..a91aaf07a 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/earlystopping/BaseSparkEarlyStoppingTrainer.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/earlystopping/BaseSparkEarlyStoppingTrainer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.earlystopping; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/earlystopping/SparkDataSetLossCalculator.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/earlystopping/SparkDataSetLossCalculator.java index 3f41903b1..450935b60 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/earlystopping/SparkDataSetLossCalculator.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/earlystopping/SparkDataSetLossCalculator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.earlystopping; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/earlystopping/SparkEarlyStoppingGraphTrainer.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/earlystopping/SparkEarlyStoppingGraphTrainer.java index 1b8e8ae8f..10e43a254 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/earlystopping/SparkEarlyStoppingGraphTrainer.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/earlystopping/SparkEarlyStoppingGraphTrainer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.earlystopping; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/earlystopping/SparkEarlyStoppingTrainer.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/earlystopping/SparkEarlyStoppingTrainer.java index 111c4896d..c3618f37e 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/earlystopping/SparkEarlyStoppingTrainer.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/earlystopping/SparkEarlyStoppingTrainer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.earlystopping; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/earlystopping/SparkLossCalculatorComputationGraph.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/earlystopping/SparkLossCalculatorComputationGraph.java index 3c906f619..5d833c1b1 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/earlystopping/SparkLossCalculatorComputationGraph.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/earlystopping/SparkLossCalculatorComputationGraph.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.earlystopping; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/SparkListenable.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/SparkListenable.java index 7ca79cdde..2a746ffb3 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/SparkListenable.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/SparkListenable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/Add.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/Add.java index ccd6bfa6c..6f9d8049c 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/Add.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/Add.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.common; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/CountPartitionsFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/CountPartitionsFunction.java index 58543d5dc..b575d6ba0 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/CountPartitionsFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/CountPartitionsFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.common; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/LoadDataSetFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/LoadDataSetFunction.java index dd9073131..ef83a0350 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/LoadDataSetFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/LoadDataSetFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.common; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/SplitPartitionsFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/SplitPartitionsFunction.java index 7aa450e5f..72a3d8c4e 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/SplitPartitionsFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/SplitPartitionsFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.common; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/SplitPartitionsFunction2.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/SplitPartitionsFunction2.java index 0e89698da..e8a7fb4bc 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/SplitPartitionsFunction2.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/SplitPartitionsFunction2.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.common; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/reduce/IntDoubleReduceFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/reduce/IntDoubleReduceFunction.java index 64cc9c4fe..6ee2f73bb 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/reduce/IntDoubleReduceFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/reduce/IntDoubleReduceFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.common.reduce; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/reduce/LongDoubleReduceFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/reduce/LongDoubleReduceFunction.java index 1092ff02b..1de1414a5 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/reduce/LongDoubleReduceFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/reduce/LongDoubleReduceFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.common.reduce; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/repartition/BalancedPartitioner.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/repartition/BalancedPartitioner.java index d61a2b092..d9dd6e492 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/repartition/BalancedPartitioner.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/repartition/BalancedPartitioner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.common.repartition; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/repartition/EqualPartitioner.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/repartition/EqualPartitioner.java index 006181a6d..a68817877 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/repartition/EqualPartitioner.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/repartition/EqualPartitioner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.common.repartition; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/repartition/HashingBalancedPartitioner.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/repartition/HashingBalancedPartitioner.java index 9412a3cbb..7ca0688fa 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/repartition/HashingBalancedPartitioner.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/repartition/HashingBalancedPartitioner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.common.repartition; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/repartition/MapTupleToPairFlatMap.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/repartition/MapTupleToPairFlatMap.java index 23b702444..648b31a2d 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/repartition/MapTupleToPairFlatMap.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/repartition/MapTupleToPairFlatMap.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.common.repartition; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/score/BaseVaeReconstructionProbWithKeyFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/score/BaseVaeReconstructionProbWithKeyFunction.java index 99fcdc65b..b3844ea4a 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/score/BaseVaeReconstructionProbWithKeyFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/score/BaseVaeReconstructionProbWithKeyFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.common.score; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/score/BaseVaeScoreWithKeyFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/score/BaseVaeScoreWithKeyFunction.java index da6a374c4..0929e73f4 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/score/BaseVaeScoreWithKeyFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/common/score/BaseVaeScoreWithKeyFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.common.score; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/evaluation/EvaluationRunner.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/evaluation/EvaluationRunner.java index 4551b21f7..eb526d01e 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/evaluation/EvaluationRunner.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/evaluation/EvaluationRunner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.evaluation; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/SparkComputationGraph.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/SparkComputationGraph.java index 7453e1dd2..6074c2bb8 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/SparkComputationGraph.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/SparkComputationGraph.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.graph; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/dataset/DataSetToMultiDataSetFn.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/dataset/DataSetToMultiDataSetFn.java index cc0fd311a..8ca5b9121 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/dataset/DataSetToMultiDataSetFn.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/dataset/DataSetToMultiDataSetFn.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.graph.dataset; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/dataset/PairDataSetToMultiDataSetFn.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/dataset/PairDataSetToMultiDataSetFn.java index ef92b68a6..104dd9765 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/dataset/PairDataSetToMultiDataSetFn.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/dataset/PairDataSetToMultiDataSetFn.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.graph.dataset; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/evaluation/IEvaluateMDSFlatMapFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/evaluation/IEvaluateMDSFlatMapFunction.java index cdb41ba33..dfcf89e79 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/evaluation/IEvaluateMDSFlatMapFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/evaluation/IEvaluateMDSFlatMapFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.graph.evaluation; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/evaluation/IEvaluateMDSPathsFlatMapFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/evaluation/IEvaluateMDSPathsFlatMapFunction.java index d87fd59ad..2e43de375 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/evaluation/IEvaluateMDSPathsFlatMapFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/evaluation/IEvaluateMDSPathsFlatMapFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.graph.evaluation; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/ArrayPairToPair.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/ArrayPairToPair.java index f45590aaf..a910fa0e9 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/ArrayPairToPair.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/ArrayPairToPair.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.graph.scoring; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/CGVaeReconstructionErrorWithKeyFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/CGVaeReconstructionErrorWithKeyFunction.java index 0e5f01343..483732681 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/CGVaeReconstructionErrorWithKeyFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/CGVaeReconstructionErrorWithKeyFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.graph.scoring; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/CGVaeReconstructionProbWithKeyFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/CGVaeReconstructionProbWithKeyFunction.java index 835bb8fa7..5912b1272 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/CGVaeReconstructionProbWithKeyFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/CGVaeReconstructionProbWithKeyFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.graph.scoring; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/GraphFeedForwardWithKeyFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/GraphFeedForwardWithKeyFunction.java index 6d730b60b..75e57cec1 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/GraphFeedForwardWithKeyFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/GraphFeedForwardWithKeyFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.graph.scoring; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/PairToArrayPair.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/PairToArrayPair.java index a3c6fb814..f61560547 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/PairToArrayPair.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/PairToArrayPair.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.graph.scoring; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/ScoreExamplesFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/ScoreExamplesFunction.java index 44474248d..bdadadae7 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/ScoreExamplesFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/ScoreExamplesFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.graph.scoring; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/ScoreExamplesWithKeyFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/ScoreExamplesWithKeyFunction.java index 5d310ee9f..1aea6826d 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/ScoreExamplesWithKeyFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/ScoreExamplesWithKeyFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.graph.scoring; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/ScoreFlatMapFunctionCGDataSet.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/ScoreFlatMapFunctionCGDataSet.java index 829dddd5e..062217237 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/ScoreFlatMapFunctionCGDataSet.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/ScoreFlatMapFunctionCGDataSet.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.graph.scoring; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/ScoreFlatMapFunctionCGMultiDataSet.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/ScoreFlatMapFunctionCGMultiDataSet.java index f72fdbb34..9c7cbc4bc 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/ScoreFlatMapFunctionCGMultiDataSet.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/graph/scoring/ScoreFlatMapFunctionCGMultiDataSet.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.graph.scoring; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/listeners/VanillaStatsStorageRouter.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/listeners/VanillaStatsStorageRouter.java index 96cf03c4d..7da9509c2 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/listeners/VanillaStatsStorageRouter.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/listeners/VanillaStatsStorageRouter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.listeners; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/listeners/VanillaStatsStorageRouterProvider.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/listeners/VanillaStatsStorageRouterProvider.java index 318763f34..96e934e16 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/listeners/VanillaStatsStorageRouterProvider.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/listeners/VanillaStatsStorageRouterProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.listeners; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/SparkDl4jMultiLayer.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/SparkDl4jMultiLayer.java index 9820aa485..18f120ea3 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/SparkDl4jMultiLayer.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/SparkDl4jMultiLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.multilayer; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/evaluation/IEvaluateAggregateFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/evaluation/IEvaluateAggregateFunction.java index c1d368773..d205191fc 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/evaluation/IEvaluateAggregateFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/evaluation/IEvaluateAggregateFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.multilayer.evaluation; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/evaluation/IEvaluateFlatMapFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/evaluation/IEvaluateFlatMapFunction.java index 0a33fb995..4e9ceef75 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/evaluation/IEvaluateFlatMapFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/evaluation/IEvaluateFlatMapFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.multilayer.evaluation; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/evaluation/IEvaluationReduceFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/evaluation/IEvaluationReduceFunction.java index ac6e97e38..bd5d73af0 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/evaluation/IEvaluationReduceFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/evaluation/IEvaluationReduceFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.multilayer.evaluation; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/FeedForwardWithKeyFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/FeedForwardWithKeyFunction.java index 6804ca34b..432e688d3 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/FeedForwardWithKeyFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/FeedForwardWithKeyFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.multilayer.scoring; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/ScoreExamplesFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/ScoreExamplesFunction.java index 4142750d0..55ae9e537 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/ScoreExamplesFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/ScoreExamplesFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.multilayer.scoring; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/ScoreExamplesWithKeyFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/ScoreExamplesWithKeyFunction.java index e25915bfc..7b053b01f 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/ScoreExamplesWithKeyFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/ScoreExamplesWithKeyFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.multilayer.scoring; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/ScoreFlatMapFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/ScoreFlatMapFunction.java index 98a2639ef..04fa5be83 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/ScoreFlatMapFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/ScoreFlatMapFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.multilayer.scoring; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/SingleToPairFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/SingleToPairFunction.java index 528dbf216..17f03900c 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/SingleToPairFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/SingleToPairFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.multilayer.scoring; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/VaeReconstructionErrorWithKeyFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/VaeReconstructionErrorWithKeyFunction.java index 231f3c9a2..2980313b1 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/VaeReconstructionErrorWithKeyFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/VaeReconstructionErrorWithKeyFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.multilayer.scoring; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/VaeReconstructionProbWithKeyFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/VaeReconstructionProbWithKeyFunction.java index e8fc8416f..4a158ca63 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/VaeReconstructionProbWithKeyFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/multilayer/scoring/VaeReconstructionProbWithKeyFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.multilayer.scoring; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/BaseTrainingMaster.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/BaseTrainingMaster.java index 7dcc14b4b..a30c6bc42 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/BaseTrainingMaster.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/BaseTrainingMaster.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.paramavg; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/BaseTrainingResult.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/BaseTrainingResult.java index eac730d69..e5fa99498 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/BaseTrainingResult.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/BaseTrainingResult.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.paramavg; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/BaseTrainingWorker.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/BaseTrainingWorker.java index 741092088..29cfb595a 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/BaseTrainingWorker.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/BaseTrainingWorker.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.paramavg; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/ParameterAveragingTrainingMaster.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/ParameterAveragingTrainingMaster.java index cb9e36340..cedd5b85c 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/ParameterAveragingTrainingMaster.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/ParameterAveragingTrainingMaster.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.paramavg; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/ParameterAveragingTrainingResult.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/ParameterAveragingTrainingResult.java index 8cd3330a9..b5d1c4c70 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/ParameterAveragingTrainingResult.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/ParameterAveragingTrainingResult.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.paramavg; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/ParameterAveragingTrainingWorker.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/ParameterAveragingTrainingWorker.java index 1f5c54824..71e4c574a 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/ParameterAveragingTrainingWorker.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/ParameterAveragingTrainingWorker.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.paramavg; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/aggregator/ParameterAveragingAggregationTuple.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/aggregator/ParameterAveragingAggregationTuple.java index f6b1e74bf..07abe33f0 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/aggregator/ParameterAveragingAggregationTuple.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/aggregator/ParameterAveragingAggregationTuple.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.paramavg.aggregator; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/aggregator/ParameterAveragingElementAddFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/aggregator/ParameterAveragingElementAddFunction.java index 419bcee35..47fba3515 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/aggregator/ParameterAveragingElementAddFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/aggregator/ParameterAveragingElementAddFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.paramavg.aggregator; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/aggregator/ParameterAveragingElementCombineFunction.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/aggregator/ParameterAveragingElementCombineFunction.java index 545830dd7..faed4af4b 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/aggregator/ParameterAveragingElementCombineFunction.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/aggregator/ParameterAveragingElementCombineFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.paramavg.aggregator; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/stats/ParameterAveragingTrainingMasterStats.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/stats/ParameterAveragingTrainingMasterStats.java index 59e8af83b..c30a084e8 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/stats/ParameterAveragingTrainingMasterStats.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/stats/ParameterAveragingTrainingMasterStats.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.paramavg.stats; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/stats/ParameterAveragingTrainingWorkerStats.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/stats/ParameterAveragingTrainingWorkerStats.java index 5c2de5d31..51b0f9d57 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/stats/ParameterAveragingTrainingWorkerStats.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/stats/ParameterAveragingTrainingWorkerStats.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.paramavg.stats; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/util/ExportSupport.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/util/ExportSupport.java index 2cdbcbda0..91c61b13f 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/util/ExportSupport.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/paramavg/util/ExportSupport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.paramavg.util; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/repartitioner/DefaultRepartitioner.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/repartitioner/DefaultRepartitioner.java index b98fbfe73..93d6093ce 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/repartitioner/DefaultRepartitioner.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/repartitioner/DefaultRepartitioner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.repartitioner; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/repartitioner/EqualRepartitioner.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/repartitioner/EqualRepartitioner.java index 2f16796c8..8d17bae81 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/repartitioner/EqualRepartitioner.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/repartitioner/EqualRepartitioner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.repartitioner; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/repartitioner/NoOpRepartitioner.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/repartitioner/NoOpRepartitioner.java index 274554009..84619c3bf 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/repartitioner/NoOpRepartitioner.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/impl/repartitioner/NoOpRepartitioner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.repartitioner; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/BaseDataSetIterator.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/BaseDataSetIterator.java index 9fc53759f..a00052e69 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/BaseDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/BaseDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.iterator; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/PathSparkDataSetIterator.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/PathSparkDataSetIterator.java index b9d1064d7..c7b5ca41b 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/PathSparkDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/PathSparkDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.iterator; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/PathSparkMultiDataSetIterator.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/PathSparkMultiDataSetIterator.java index d2d2945c7..f370db29e 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/PathSparkMultiDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/PathSparkMultiDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.iterator; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/PortableDataStreamDataSetIterator.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/PortableDataStreamDataSetIterator.java index 53af6aa21..0ed2dad75 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/PortableDataStreamDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/PortableDataStreamDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.iterator; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/PortableDataStreamMultiDataSetIterator.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/PortableDataStreamMultiDataSetIterator.java index 5b09784e9..718272f52 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/PortableDataStreamMultiDataSetIterator.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/PortableDataStreamMultiDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.iterator; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/SparkADSI.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/SparkADSI.java index a86182878..e931ffb78 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/SparkADSI.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/SparkADSI.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.iterator; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/SparkAMDSI.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/SparkAMDSI.java index 44b8d3ee1..1e5bb5e42 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/SparkAMDSI.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/iterator/SparkAMDSI.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.iterator; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/ordering/DataSetOrdering.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/ordering/DataSetOrdering.java index e2daa3511..68ab6da8c 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/ordering/DataSetOrdering.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/ordering/DataSetOrdering.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.ordering; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/stats/BaseEventStats.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/stats/BaseEventStats.java index 35a70460c..adf0ee26f 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/stats/BaseEventStats.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/stats/BaseEventStats.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.stats; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/stats/EventStats.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/stats/EventStats.java index 63fb31a32..e4495978a 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/stats/EventStats.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/stats/EventStats.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.stats; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/stats/ExampleCountEventStats.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/stats/ExampleCountEventStats.java index a0792b659..1ef5d10c5 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/stats/ExampleCountEventStats.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/stats/ExampleCountEventStats.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.stats; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/stats/PartitionCountEventStats.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/stats/PartitionCountEventStats.java index 5d13c223a..317fbe4dd 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/stats/PartitionCountEventStats.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/stats/PartitionCountEventStats.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.stats; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/stats/StatsUtils.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/stats/StatsUtils.java index d903790dd..8068efadd 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/stats/StatsUtils.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/stats/StatsUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.stats; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/time/NTPTimeSource.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/time/NTPTimeSource.java index 4657a6aeb..0455a1881 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/time/NTPTimeSource.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/time/NTPTimeSource.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.time; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/time/SystemClockTimeSource.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/time/SystemClockTimeSource.java index c6e4a8776..124203b9e 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/time/SystemClockTimeSource.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/time/SystemClockTimeSource.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.time; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/time/TimeSource.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/time/TimeSource.java index fcc0bb302..6a4401b87 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/time/TimeSource.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/time/TimeSource.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.time; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/time/TimeSourceProvider.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/time/TimeSourceProvider.java index b699cf6fc..46ef4d3d4 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/time/TimeSourceProvider.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/time/TimeSourceProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.time; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/MLLibUtil.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/MLLibUtil.java index cfa081710..d2914f5ee 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/MLLibUtil.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/MLLibUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.util; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/SparkDataUtils.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/SparkDataUtils.java index 697477e6e..ef93bb447 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/SparkDataUtils.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/SparkDataUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.util; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/SparkUtils.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/SparkUtils.java index 0bfad5a8a..238a89940 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/SparkUtils.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/SparkUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.util; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/data/SparkDataValidation.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/data/SparkDataValidation.java index dedfad905..3b5b2839d 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/data/SparkDataValidation.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/data/SparkDataValidation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.util.data; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/data/ValidationResult.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/data/ValidationResult.java index f2a3e9b6d..af56589bf 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/data/ValidationResult.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/data/ValidationResult.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.util.data; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/data/validation/ValidateDataSetFn.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/data/validation/ValidateDataSetFn.java index 29c325f00..e91e0cf86 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/data/validation/ValidateDataSetFn.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/data/validation/ValidateDataSetFn.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.util.data.validation; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/data/validation/ValidateMultiDataSetFn.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/data/validation/ValidateMultiDataSetFn.java index e229d6c44..1d06f2c8c 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/data/validation/ValidateMultiDataSetFn.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/data/validation/ValidateMultiDataSetFn.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.util.data.validation; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/data/validation/ValidationResultReduceFn.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/data/validation/ValidationResultReduceFn.java index 7c71ff890..d4a092d4d 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/data/validation/ValidationResultReduceFn.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/data/validation/ValidationResultReduceFn.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.util.data.validation; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/serde/StorageLevelDeserializer.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/serde/StorageLevelDeserializer.java index a419e5144..459d6d51e 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/serde/StorageLevelDeserializer.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/serde/StorageLevelDeserializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.util.serde; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/serde/StorageLevelSerializer.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/serde/StorageLevelSerializer.java index e05b18e06..03685997b 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/serde/StorageLevelSerializer.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/java/org/deeplearning4j/spark/util/serde/StorageLevelSerializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.util.serde; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/scala/org/apache/spark/TaskContextHelper.scala b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/scala/org/apache/spark/TaskContextHelper.scala index 3d65d2d9f..6cba56bec 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/scala/org/apache/spark/TaskContextHelper.scala +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/main/scala/org/apache/spark/TaskContextHelper.scala @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.apache.spark diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/BaseSparkKryoTest.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/BaseSparkKryoTest.java index db24914a9..984ae9552 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/BaseSparkKryoTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/BaseSparkKryoTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/BaseSparkTest.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/BaseSparkTest.java index be78ec7cd..303bee880 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/BaseSparkTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/BaseSparkTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/TestEarlyStoppingSpark.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/TestEarlyStoppingSpark.java index 1515cf3cf..4454e54c0 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/TestEarlyStoppingSpark.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/TestEarlyStoppingSpark.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/TestEarlyStoppingSparkCompGraph.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/TestEarlyStoppingSparkCompGraph.java index 0c4e2b2f8..80608457c 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/TestEarlyStoppingSparkCompGraph.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/TestEarlyStoppingSparkCompGraph.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/TestKryo.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/TestKryo.java index 8c5188b70..4373d84b9 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/TestKryo.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/TestKryo.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/common/AddTest.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/common/AddTest.java index 1a4991e6d..2f5219967 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/common/AddTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/common/AddTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.common; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/data/TestShuffleExamples.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/data/TestShuffleExamples.java index c26db5642..92fcbe58c 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/data/TestShuffleExamples.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/data/TestShuffleExamples.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.data; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/data/TestSparkDataUtils.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/data/TestSparkDataUtils.java index 10c3c22d9..561fa9589 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/data/TestSparkDataUtils.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/data/TestSparkDataUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.data; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/datavec/MiniBatchTests.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/datavec/MiniBatchTests.java index a4676c0a1..c69b38c8a 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/datavec/MiniBatchTests.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/datavec/MiniBatchTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.datavec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/datavec/TestDataVecDataSetFunctions.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/datavec/TestDataVecDataSetFunctions.java index 996360564..5ae2aa75a 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/datavec/TestDataVecDataSetFunctions.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/datavec/TestDataVecDataSetFunctions.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.datavec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/datavec/TestExport.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/datavec/TestExport.java index d110a3b98..35e577a1a 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/datavec/TestExport.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/datavec/TestExport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.datavec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/datavec/TestPreProcessedData.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/datavec/TestPreProcessedData.java index 6e90a82b8..b89250cac 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/datavec/TestPreProcessedData.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/datavec/TestPreProcessedData.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.datavec; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/datavec/iterator/TestIteratorUtils.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/datavec/iterator/TestIteratorUtils.java index f34bc453d..43781529e 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/datavec/iterator/TestIteratorUtils.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/datavec/iterator/TestIteratorUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.datavec.iterator; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/TestKryoWarning.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/TestKryoWarning.java index 941132dc5..9aced75ff 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/TestKryoWarning.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/TestKryoWarning.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/common/repartition/BalancedPartitionerTest.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/common/repartition/BalancedPartitionerTest.java index b3be0029c..ad5706465 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/common/repartition/BalancedPartitionerTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/common/repartition/BalancedPartitionerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.common.repartition; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/common/repartition/HashingBalancedPartitionerTest.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/common/repartition/HashingBalancedPartitionerTest.java index 4d2ed4b97..77ccd38bd 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/common/repartition/HashingBalancedPartitionerTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/common/repartition/HashingBalancedPartitionerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.common.repartition; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/customlayer/TestCustomLayer.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/customlayer/TestCustomLayer.java index 46f421682..361fb378e 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/customlayer/TestCustomLayer.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/customlayer/TestCustomLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.customlayer; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/customlayer/layer/CustomLayer.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/customlayer/layer/CustomLayer.java index a4294161b..c98ede7c9 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/customlayer/layer/CustomLayer.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/customlayer/layer/CustomLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.customlayer.layer; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/customlayer/layer/CustomLayerImpl.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/customlayer/layer/CustomLayerImpl.java index 680edd1fa..5325b1cb3 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/customlayer/layer/CustomLayerImpl.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/customlayer/layer/CustomLayerImpl.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.customlayer.layer; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/graph/TestSparkComputationGraph.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/graph/TestSparkComputationGraph.java index e83a8027a..d5bc6d5ca 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/graph/TestSparkComputationGraph.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/graph/TestSparkComputationGraph.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.graph; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/misc/TestFrozenLayers.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/misc/TestFrozenLayers.java index fef5ba1b3..4f69c671d 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/misc/TestFrozenLayers.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/misc/TestFrozenLayers.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.misc; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/multilayer/TestMiscFunctions.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/multilayer/TestMiscFunctions.java index 4c971edbb..15dbd6dbc 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/multilayer/TestMiscFunctions.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/multilayer/TestMiscFunctions.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.multilayer; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/multilayer/TestSparkDl4jMultiLayer.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/multilayer/TestSparkDl4jMultiLayer.java index 4903091c6..314d49099 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/multilayer/TestSparkDl4jMultiLayer.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/multilayer/TestSparkDl4jMultiLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.multilayer; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/paramavg/TestCompareParameterAveragingSparkVsSingleMachine.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/paramavg/TestCompareParameterAveragingSparkVsSingleMachine.java index 9a6c80000..932e5dabf 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/paramavg/TestCompareParameterAveragingSparkVsSingleMachine.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/paramavg/TestCompareParameterAveragingSparkVsSingleMachine.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.paramavg; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/paramavg/TestJsonYaml.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/paramavg/TestJsonYaml.java index 8558878b8..ce0bd0334 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/paramavg/TestJsonYaml.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/paramavg/TestJsonYaml.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.paramavg; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/paramavg/TestSparkMultiLayerParameterAveraging.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/paramavg/TestSparkMultiLayerParameterAveraging.java index 7357f77e7..8e8313ada 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/paramavg/TestSparkMultiLayerParameterAveraging.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/paramavg/TestSparkMultiLayerParameterAveraging.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.paramavg; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/paramavg/util/ExportSupportTest.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/paramavg/util/ExportSupportTest.java index 16103a6bf..29c287c20 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/paramavg/util/ExportSupportTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/paramavg/util/ExportSupportTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.paramavg.util; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/stats/TestTrainingStatsCollection.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/stats/TestTrainingStatsCollection.java index 15d57b0a6..9f8c54b32 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/stats/TestTrainingStatsCollection.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/impl/stats/TestTrainingStatsCollection.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.impl.stats; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/time/TestTimeSource.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/time/TestTimeSource.java index f4b435d46..3c15e8709 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/time/TestTimeSource.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/time/TestTimeSource.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.time; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/ui/TestListeners.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/ui/TestListeners.java index 2c6d1fbc1..a730b8c55 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/ui/TestListeners.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/ui/TestListeners.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.ui; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/util/MLLIbUtilTest.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/util/MLLIbUtilTest.java index c4a425617..ff9894f58 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/util/MLLIbUtilTest.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/util/MLLIbUtilTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.util; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/util/TestRepartitioning.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/util/TestRepartitioning.java index ad1622966..22d1cc5f6 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/util/TestRepartitioning.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/util/TestRepartitioning.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.util; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/util/TestValidation.java b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/util/TestValidation.java index 48b73f9be..87be7acf6 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/util/TestValidation.java +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/java/org/deeplearning4j/spark/util/TestValidation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.spark.util; diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/resources/log4j.properties b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/resources/log4j.properties index 5d1edb39f..9cbceef98 100755 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/resources/log4j.properties +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/resources/log4j.properties @@ -1,18 +1,20 @@ -################################################################################ -# Copyright (c) 2015-2019 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ log4j.rootLogger=ERROR, Console log4j.appender.Console=org.apache.log4j.ConsoleAppender diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/resources/logback.xml b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/resources/logback.xml index 4d94f2516..702c83263 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/resources/logback.xml +++ b/deeplearning4j/deeplearning4j-scaleout/spark/dl4j-spark/src/test/resources/logback.xml @@ -1,18 +1,20 @@ - + diff --git a/deeplearning4j/deeplearning4j-scaleout/spark/pom.xml b/deeplearning4j/deeplearning4j-scaleout/spark/pom.xml index 8bafabc38..9be176ec3 100644 --- a/deeplearning4j/deeplearning4j-scaleout/spark/pom.xml +++ b/deeplearning4j/deeplearning4j-scaleout/spark/pom.xml @@ -1,31 +1,39 @@ - + + + + + + 4.0.0 - - deeplearning4j-scaleout org.deeplearning4j + deeplearning4j-scaleout 1.0.0-SNAPSHOT - 4.0.0 + spark_2.11 - 1.0.0-SNAPSHOT pom Spark parent + dl4j-spark dl4j-spark-nlp @@ -34,87 +42,12 @@ - UTF-8 - UTF-8 - 2.1.0 2.11.12 2.11 - - - - - - org.codehaus.mojo - build-helper-maven-plugin - - - add-source - generate-sources - add-source - - - src/main/spark-${spark.major.version} - - - - - - - - net.alchim31.maven - scala-maven-plugin - ${maven-scala-plugin.version} - - - - scala-compile-first - process-resources - - compile - doc-jar - - - - - - scala-test-compile - process-test-resources - - testCompile - - - - - ${scala.version} - - -deprecation - -explaintypes - -nobootcp - - - -Xms128m - -Xmx512m - - - - - org.scalamacros - paradise_${scala.version} - ${scala.macros.version} - - - - - - - - @@ -122,7 +55,6 @@ jackson ${nd4j.version} - org.apache.spark spark-mllib_2.11 @@ -176,6 +108,76 @@ + + + + + org.codehaus.mojo + build-helper-maven-plugin + + + add-source + generate-sources + + add-source + + + + src/main/spark-${spark.major.version} + + + + + + + + net.alchim31.maven + scala-maven-plugin + ${maven-scala-plugin.version} + + + + scala-compile-first + process-resources + + compile + doc-jar + + + + + scala-test-compile + process-test-resources + + testCompile + + + + + ${scala.version} + + -deprecation + -explaintypes + -nobootcp + + + -Xms128m + -Xmx512m + + + + org.scalamacros + paradise_${scala.version} + ${scala.macros.version} + + + + + + + test-nd4j-native diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/pom.xml b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/pom.xml index 09f5bb084..1a9a33a14 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/pom.xml +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/pom.xml @@ -1,69 +1,62 @@ - + + + + + 4.0.0 - - deeplearning4j-ui-parent org.deeplearning4j + deeplearning4j-ui-parent 1.0.0-SNAPSHOT - 4.0.0 deeplearning4j-ui-components - - org.projectlombok - lombok - ${lombok.version} - provided - - org.nd4j jackson ${nd4j.version} - org.freemarker freemarker ${freemarker.version} - junit junit - test - commons-io commons-io ${commonsio.version} - org.nd4j nd4j-common ${nd4j.version} - org.deeplearning4j deeplearning4j-common-tests @@ -80,5 +73,4 @@ test-nd4j-cuda-11.0 - diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/api/Component.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/api/Component.java index 5104fd75a..ac5ced327 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/api/Component.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/api/Component.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.api; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/api/LengthUnit.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/api/LengthUnit.java index e16df0276..0c94628d0 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/api/LengthUnit.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/api/LengthUnit.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.api; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/api/Style.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/api/Style.java index f93057670..10598ab4e 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/api/Style.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/api/Style.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.api; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/api/Utils.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/api/Utils.java index 67705bcda..1db664556 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/api/Utils.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/api/Utils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.api; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/Chart.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/Chart.java index fc56a94f9..93105294b 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/Chart.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/Chart.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.components.chart; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/ChartHistogram.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/ChartHistogram.java index 20a1524a9..cadb48c43 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/ChartHistogram.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/ChartHistogram.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.components.chart; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/ChartHorizontalBar.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/ChartHorizontalBar.java index 2303e0f7d..8b18258b8 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/ChartHorizontalBar.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/ChartHorizontalBar.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.components.chart; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/ChartLine.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/ChartLine.java index 57744915d..09b86e94d 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/ChartLine.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/ChartLine.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.components.chart; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/ChartScatter.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/ChartScatter.java index 9d0d22d2c..045140980 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/ChartScatter.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/ChartScatter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.components.chart; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/ChartStackedArea.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/ChartStackedArea.java index 72ad3c702..aa9ec6a17 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/ChartStackedArea.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/ChartStackedArea.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.components.chart; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/ChartTimeline.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/ChartTimeline.java index a9c05101b..659d08f82 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/ChartTimeline.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/ChartTimeline.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.components.chart; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/style/StyleChart.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/style/StyleChart.java index ef6d26aba..ac967b322 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/style/StyleChart.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/chart/style/StyleChart.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.components.chart.style; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/component/ComponentDiv.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/component/ComponentDiv.java index 8d87e5226..5a070e54b 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/component/ComponentDiv.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/component/ComponentDiv.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.components.component; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/component/style/StyleDiv.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/component/style/StyleDiv.java index b5ddc1356..084f204bf 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/component/style/StyleDiv.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/component/style/StyleDiv.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.components.component.style; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/decorator/DecoratorAccordion.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/decorator/DecoratorAccordion.java index 307069eef..17adb06f2 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/decorator/DecoratorAccordion.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/decorator/DecoratorAccordion.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.components.decorator; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/decorator/style/StyleAccordion.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/decorator/style/StyleAccordion.java index 03c4345bb..a5328d1cb 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/decorator/style/StyleAccordion.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/decorator/style/StyleAccordion.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.components.decorator.style; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/table/ComponentTable.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/table/ComponentTable.java index f680f6561..f423224fd 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/table/ComponentTable.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/table/ComponentTable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.components.table; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/table/style/StyleTable.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/table/style/StyleTable.java index db3197971..3c6f78140 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/table/style/StyleTable.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/table/style/StyleTable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.components.table.style; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/text/ComponentText.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/text/ComponentText.java index eaa4fe389..12588fcd9 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/text/ComponentText.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/text/ComponentText.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.components.text; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/text/style/StyleText.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/text/style/StyleText.java index 8db8826c5..f0aabc5dd 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/text/style/StyleText.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/components/text/style/StyleText.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.components.text.style; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/standalone/ComponentObject.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/standalone/ComponentObject.java index 8b4f59d8a..8fdcc3ab2 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/standalone/ComponentObject.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/standalone/ComponentObject.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.standalone; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/standalone/StaticPageUtil.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/standalone/StaticPageUtil.java index 80a9a959f..523c29ed6 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/standalone/StaticPageUtil.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/java/org/deeplearning4j/ui/standalone/StaticPageUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.standalone; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/resources/assets/dl4j-ui.d.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/resources/assets/dl4j-ui.d.ts index 5bd2e87ba..805c21800 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/resources/assets/dl4j-ui.d.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/resources/assets/dl4j-ui.d.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /// /// diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/resources/assets/dl4j-ui.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/resources/assets/dl4j-ui.js index f5b7b36ec..1a68aef3c 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/resources/assets/dl4j-ui.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/resources/assets/dl4j-ui.js @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/api/Component.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/api/Component.ts index 8edc13e10..d20a128ef 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/api/Component.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/api/Component.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /// /// diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/api/ComponentType.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/api/ComponentType.ts index c2abf9230..cbea83a0a 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/api/ComponentType.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/api/ComponentType.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //Note that the component types match the java classes! diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/api/Constants.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/api/Constants.ts index 99b8c17cc..208cc7240 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/api/Constants.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/api/Constants.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ class ChartConstants { diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/api/Margin.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/api/Margin.ts index e342897a0..dbad1ad88 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/api/Margin.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/api/Margin.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ interface Margin { top: number; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/api/Renderable.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/api/Renderable.ts index 3f07bed0e..f7949d609 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/api/Renderable.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/api/Renderable.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /// diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/api/Style.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/api/Style.ts index 524233144..ef6dfd304 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/api/Style.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/api/Style.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ abstract class Style { diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/Chart.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/Chart.ts index 806615256..6e81c06cb 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/Chart.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/Chart.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /// /// diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/ChartHistogram.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/ChartHistogram.ts index 8dfbfcd8c..baf0f2a78 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/ChartHistogram.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/ChartHistogram.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /// /// diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/ChartLine.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/ChartLine.ts index d85fcb88c..c2b150eeb 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/ChartLine.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/ChartLine.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /// /// diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/ChartScatter.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/ChartScatter.ts index 69e2cdb7d..34678daf8 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/ChartScatter.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/ChartScatter.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /// /// diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/ChartStackedArea.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/ChartStackedArea.ts index 4c47f490c..363f94149 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/ChartStackedArea.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/ChartStackedArea.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /// /// diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/ChartTimeline.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/ChartTimeline.ts index 543a9d72c..f36413f2a 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/ChartTimeline.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/ChartTimeline.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /// /// diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/Legend.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/Legend.ts index 326689d85..6043cfb47 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/Legend.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/Legend.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ class Legend { diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/style/StyleChart.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/style/StyleChart.ts index 81513ba20..1a7c59692 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/style/StyleChart.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/chart/style/StyleChart.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ class StyleChart extends Style { diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/component/ComponentDiv.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/component/ComponentDiv.ts index 9e7bef85c..34a3fd71f 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/component/ComponentDiv.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/component/ComponentDiv.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ class ComponentDiv extends Component implements Renderable { diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/component/style/StyleDiv.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/component/style/StyleDiv.ts index 13cd6779a..6c8788466 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/component/style/StyleDiv.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/component/style/StyleDiv.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ class StyleDiv extends Style { diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/decorator/DecoratorAccordion.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/decorator/DecoratorAccordion.ts index 173d735e8..2a068cfcf 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/decorator/DecoratorAccordion.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/decorator/DecoratorAccordion.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /// /// diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/decorator/style/StyleAccordion.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/decorator/style/StyleAccordion.ts index e272c73a2..f2ae9efd0 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/decorator/style/StyleAccordion.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/decorator/style/StyleAccordion.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ class StyleAccordion extends Style { diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/table/ComponentTable.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/table/ComponentTable.ts index baab848f2..038fd1377 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/table/ComponentTable.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/table/ComponentTable.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /// /// diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/table/style/StyleTable.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/table/style/StyleTable.ts index b1e1136ab..3226a1b54 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/table/style/StyleTable.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/table/style/StyleTable.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ class StyleTable extends Style { diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/text/ComponentText.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/text/ComponentText.ts index c3e4639d9..128462dfc 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/text/ComponentText.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/text/ComponentText.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /// /// diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/text/style/StyleText.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/text/style/StyleText.ts index 9ab6432ce..928acea4f 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/text/style/StyleText.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/components/text/style/StyleText.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ class StyleText extends Style { diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/typedefs/d3.d.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/typedefs/d3.d.ts index eb15577f9..ebf93a9f7 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/typedefs/d3.d.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/typedefs/d3.d.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ // Type definitions for d3JS // Project: http://d3js.org/ diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/typedefs/jquery.d.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/typedefs/jquery.d.ts index 286dac49a..e8c37c93e 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/typedefs/jquery.d.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/typedefs/jquery.d.ts @@ -1,40 +1,26 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ // Type definitions for jQuery 1.10.x / 2.0.x // Project: http://jquery.com/ // Definitions by: Boris Yankov , Christian Hoffmeister , Steve Fenton , Diullei Gomes , Tass Iliopoulos , Jason Swearingen , Sean Hill , Guus Goossens , Kelly Summerlin , Basarat Ali Syed , Nicholas Wolverson , Derek Cicerone , Andrew Gaspar , James Harrison Fisher , Seikichi Kondo , Benjamin Jackman , Poul Sorensen , Josh Strobl , John Reilly , Dick van den Brink // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -/* ***************************************************************************** -Copyright (c) Microsoft Corporation. All rights reserved. -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at http://www.apache.org/licenses/LICENSE-2.0 - -THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED -WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, -MERCHANTABLITY OR NON-INFRINGEMENT. - -See the Apache Version 2.0 License for specific language governing permissions -and limitations under the License. -***************************************************************************** */ - - /** * Interface for the AJAX setting that will configure the AJAX request */ diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/typedefs/jqueryui.d.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/typedefs/jqueryui.d.ts index 6b284fa2b..0055f9a95 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/typedefs/jqueryui.d.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/typedefs/jqueryui.d.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ // Type definitions for jQueryUI 1.9 // Project: http://jqueryui.com/ diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/util/TSUtils.ts b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/util/TSUtils.ts index 348bfe957..6ea4542d9 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/util/TSUtils.ts +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/main/typescript/org/deeplearning4j/ui/util/TSUtils.ts @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /// diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/test/java/org/deeplearning4j/ui/TestComponentSerialization.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/test/java/org/deeplearning4j/ui/TestComponentSerialization.java index 35ab647e3..d1e7f9bb5 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/test/java/org/deeplearning4j/ui/TestComponentSerialization.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/test/java/org/deeplearning4j/ui/TestComponentSerialization.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/test/java/org/deeplearning4j/ui/TestRendering.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/test/java/org/deeplearning4j/ui/TestRendering.java index a697f2617..159b69f88 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/test/java/org/deeplearning4j/ui/TestRendering.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/test/java/org/deeplearning4j/ui/TestRendering.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/test/java/org/deeplearning4j/ui/TestStandAlone.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/test/java/org/deeplearning4j/ui/TestStandAlone.java index 7ba9f9c36..79693cb0c 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/test/java/org/deeplearning4j/ui/TestStandAlone.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-components/src/test/java/org/deeplearning4j/ui/TestStandAlone.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/pom.xml b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/pom.xml index 6e9cdad17..07439d574 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/pom.xml +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/pom.xml @@ -1,105 +1,89 @@ - + + + + - - - deeplearning4j-ui-parent - org.deeplearning4j - 1.0.0-SNAPSHOT - 4.0.0 + + org.deeplearning4j + deeplearning4j-ui-parent + 1.0.0-SNAPSHOT + + deeplearning4j-ui-model - jar deeplearning4j-ui-model - - UTF-8 - - ch.qos.logback logback-classic test - org.deeplearning4j deeplearning4j-core ${project.version} - - - org.projectlombok - lombok - ${lombok.version} - provided - - org.nd4j nd4j-api ${nd4j.version} - org.nd4j nd4j-native-api ${nd4j.version} - org.agrona Agrona ${agrona.version} - org.mapdb mapdb ${mapdb.version} - org.xerial sqlite-jdbc ${sqlite.version} - javax.annotation javax.annotation-api - ${javax.version} + ${javax.annotation-api.version} provided - junit junit - test - org.deeplearning4j deeplearning4j-common-tests @@ -116,5 +100,4 @@ test-nd4j-cuda-11.0 - diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/activation/PathUpdate.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/activation/PathUpdate.java index 07852e017..6d04ab37e 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/activation/PathUpdate.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/activation/PathUpdate.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.activation; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/nearestneighbors/word2vec/NearestNeighborsQuery.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/nearestneighbors/word2vec/NearestNeighborsQuery.java index 483dc5be9..fe2a59416 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/nearestneighbors/word2vec/NearestNeighborsQuery.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/nearestneighbors/word2vec/NearestNeighborsQuery.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.nearestneighbors.word2vec; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/renders/PathUpdate.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/renders/PathUpdate.java index 6d3e630bd..b7f157b50 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/renders/PathUpdate.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/renders/PathUpdate.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.renders; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/BaseStatsListener.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/BaseStatsListener.java index 7e4518d16..904bafe50 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/BaseStatsListener.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/BaseStatsListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.stats; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/J7StatsListener.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/J7StatsListener.java index 5ec194375..3abb68338 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/J7StatsListener.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/J7StatsListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.stats; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/StatsListener.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/StatsListener.java index 501bf3609..34738e70f 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/StatsListener.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/StatsListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.stats; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/Histogram.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/Histogram.java index 632067e12..66383b041 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/Histogram.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/Histogram.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.stats.api; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/StatsInitializationConfiguration.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/StatsInitializationConfiguration.java index 2cbd39152..06e17508a 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/StatsInitializationConfiguration.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/StatsInitializationConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.stats.api; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/StatsInitializationReport.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/StatsInitializationReport.java index c0f55d02b..1b6f336e8 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/StatsInitializationReport.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/StatsInitializationReport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.stats.api; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/StatsReport.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/StatsReport.java index 042b40a84..ff8003b52 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/StatsReport.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/StatsReport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.stats.api; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/StatsType.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/StatsType.java index e0761387b..2d0e137fd 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/StatsType.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/StatsType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.stats.api; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/StatsUpdateConfiguration.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/StatsUpdateConfiguration.java index 825bf7a13..8b6e19a2a 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/StatsUpdateConfiguration.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/StatsUpdateConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.stats.api; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/SummaryType.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/SummaryType.java index 860286618..178dff0cd 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/SummaryType.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/api/SummaryType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.stats.api; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/DefaultStatsInitializationConfiguration.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/DefaultStatsInitializationConfiguration.java index b7c6e816c..ce0ac87fe 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/DefaultStatsInitializationConfiguration.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/DefaultStatsInitializationConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.stats.impl; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/DefaultStatsUpdateConfiguration.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/DefaultStatsUpdateConfiguration.java index 7a8ee2c6d..2fcaad726 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/DefaultStatsUpdateConfiguration.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/DefaultStatsUpdateConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.stats.impl; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/SbeStatsInitializationReport.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/SbeStatsInitializationReport.java index e0996c28a..67c20e378 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/SbeStatsInitializationReport.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/SbeStatsInitializationReport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.stats.impl; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/SbeStatsReport.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/SbeStatsReport.java index fc979f075..468a91dd7 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/SbeStatsReport.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/SbeStatsReport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.stats.impl; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/SbeUtil.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/SbeUtil.java index 9ffe22aa8..2c69df82d 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/SbeUtil.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/SbeUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.stats.impl; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/java/JavaStatsInitializationReport.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/java/JavaStatsInitializationReport.java index 709c9c9e3..d197b5400 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/java/JavaStatsInitializationReport.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/java/JavaStatsInitializationReport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.stats.impl.java; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/java/JavaStatsReport.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/java/JavaStatsReport.java index cacad95c1..099f98d0b 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/java/JavaStatsReport.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/impl/java/JavaStatsReport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.stats.impl.java; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/GroupSizeEncodingDecoder.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/GroupSizeEncodingDecoder.java index 6b019548a..4089bc769 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/GroupSizeEncodingDecoder.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/GroupSizeEncodingDecoder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /*- Generated SBE (Simple Binary Encoding) message codec */ package org.deeplearning4j.ui.model.stats.sbe; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/GroupSizeEncodingEncoder.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/GroupSizeEncodingEncoder.java index 8df79dcb1..ef86798a9 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/GroupSizeEncodingEncoder.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/GroupSizeEncodingEncoder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /*- Generated SBE (Simple Binary Encoding) message codec */ package org.deeplearning4j.ui.model.stats.sbe; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/InitFieldsPresentDecoder.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/InitFieldsPresentDecoder.java index 6d1ab499d..81dc901cf 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/InitFieldsPresentDecoder.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/InitFieldsPresentDecoder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /*- Generated SBE (Simple Binary Encoding) message codec */ package org.deeplearning4j.ui.model.stats.sbe; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/InitFieldsPresentEncoder.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/InitFieldsPresentEncoder.java index be61eed8a..69f35490d 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/InitFieldsPresentEncoder.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/InitFieldsPresentEncoder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /*- Generated SBE (Simple Binary Encoding) message codec */ package org.deeplearning4j.ui.model.stats.sbe; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/MemoryType.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/MemoryType.java index 0e326c9a7..8c8182928 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/MemoryType.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/MemoryType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /*- Generated SBE (Simple Binary Encoding) message codec */ package org.deeplearning4j.ui.model.stats.sbe; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/MessageHeaderDecoder.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/MessageHeaderDecoder.java index 0dd8e1025..dbb25009e 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/MessageHeaderDecoder.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/MessageHeaderDecoder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /*- Generated SBE (Simple Binary Encoding) message codec */ package org.deeplearning4j.ui.model.stats.sbe; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/MessageHeaderEncoder.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/MessageHeaderEncoder.java index e451771a1..07c3f6c3e 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/MessageHeaderEncoder.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/MessageHeaderEncoder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /*- Generated SBE (Simple Binary Encoding) message codec */ package org.deeplearning4j.ui.model.stats.sbe; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/MetaAttribute.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/MetaAttribute.java index c18fdc990..623198b1c 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/MetaAttribute.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/MetaAttribute.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /*- Generated SBE (Simple Binary Encoding) message codec */ package org.deeplearning4j.ui.model.stats.sbe; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StatSource.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StatSource.java index eb0b99683..6de96e85d 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StatSource.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StatSource.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /*- Generated SBE (Simple Binary Encoding) message codec */ package org.deeplearning4j.ui.model.stats.sbe; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StatType.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StatType.java index fe078418b..ccd66e02a 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StatType.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StatType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /*- Generated SBE (Simple Binary Encoding) message codec */ package org.deeplearning4j.ui.model.stats.sbe; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StaticInfoDecoder.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StaticInfoDecoder.java index d5d14bbbb..39e8d9922 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StaticInfoDecoder.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StaticInfoDecoder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /*- Generated SBE (Simple Binary Encoding) message codec */ package org.deeplearning4j.ui.model.stats.sbe; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StaticInfoEncoder.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StaticInfoEncoder.java index 59ea3d548..bb5c4ab40 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StaticInfoEncoder.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StaticInfoEncoder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /*- Generated SBE (Simple Binary Encoding) message codec */ package org.deeplearning4j.ui.model.stats.sbe; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StatsType.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StatsType.java index b1d5fd2ab..7d4f7c992 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StatsType.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StatsType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /*- Generated SBE (Simple Binary Encoding) message codec */ package org.deeplearning4j.ui.model.stats.sbe; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StorageMetaDataDecoder.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StorageMetaDataDecoder.java index 04526fa0e..e02e2485a 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StorageMetaDataDecoder.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StorageMetaDataDecoder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /*- Generated SBE (Simple Binary Encoding) message codec */ package org.deeplearning4j.ui.model.stats.sbe; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StorageMetaDataEncoder.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StorageMetaDataEncoder.java index da0963c56..cb0f66af4 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StorageMetaDataEncoder.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/StorageMetaDataEncoder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /*- Generated SBE (Simple Binary Encoding) message codec */ package org.deeplearning4j.ui.model.stats.sbe; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/SummaryType.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/SummaryType.java index 7589a053d..1bf80bb6b 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/SummaryType.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/SummaryType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /*- Generated SBE (Simple Binary Encoding) message codec */ package org.deeplearning4j.ui.model.stats.sbe; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/UpdateDecoder.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/UpdateDecoder.java index c197ca804..ebdf2f123 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/UpdateDecoder.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/UpdateDecoder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /*- Generated SBE (Simple Binary Encoding) message codec */ package org.deeplearning4j.ui.model.stats.sbe; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/UpdateEncoder.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/UpdateEncoder.java index 2fa4ea3e5..09bf9a0f5 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/UpdateEncoder.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/UpdateEncoder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /*- Generated SBE (Simple Binary Encoding) message codec */ package org.deeplearning4j.ui.model.stats.sbe; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/UpdateFieldsPresentDecoder.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/UpdateFieldsPresentDecoder.java index 312d2a22a..15e3d8f2e 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/UpdateFieldsPresentDecoder.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/UpdateFieldsPresentDecoder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /*- Generated SBE (Simple Binary Encoding) message codec */ package org.deeplearning4j.ui.model.stats.sbe; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/UpdateFieldsPresentEncoder.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/UpdateFieldsPresentEncoder.java index 6a23981de..de4eab67f 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/UpdateFieldsPresentEncoder.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/UpdateFieldsPresentEncoder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /*- Generated SBE (Simple Binary Encoding) message codec */ package org.deeplearning4j.ui.model.stats.sbe; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/VarDataUTF8Decoder.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/VarDataUTF8Decoder.java index 37bf222fe..f9e49667f 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/VarDataUTF8Decoder.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/VarDataUTF8Decoder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /*- Generated SBE (Simple Binary Encoding) message codec */ package org.deeplearning4j.ui.model.stats.sbe; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/VarDataUTF8Encoder.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/VarDataUTF8Encoder.java index 83cd8b65f..c2f976924 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/VarDataUTF8Encoder.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/stats/sbe/VarDataUTF8Encoder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /*- Generated SBE (Simple Binary Encoding) message codec */ package org.deeplearning4j.ui.model.stats.sbe; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/AgronaPersistable.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/AgronaPersistable.java index ddeef0792..0208c40a5 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/AgronaPersistable.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/AgronaPersistable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.storage; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/BaseCollectionStatsStorage.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/BaseCollectionStatsStorage.java index ae45a30cc..d58dadfa0 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/BaseCollectionStatsStorage.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/BaseCollectionStatsStorage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.storage; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/FileStatsStorage.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/FileStatsStorage.java index 129341bed..0614fede4 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/FileStatsStorage.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/FileStatsStorage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.storage; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/InMemoryStatsStorage.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/InMemoryStatsStorage.java index 893de4465..8faee5abd 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/InMemoryStatsStorage.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/InMemoryStatsStorage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.storage; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/impl/JavaStorageMetaData.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/impl/JavaStorageMetaData.java index 7c64d5985..3082cd391 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/impl/JavaStorageMetaData.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/impl/JavaStorageMetaData.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.storage.impl; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/impl/QueuePairStatsStorageListener.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/impl/QueuePairStatsStorageListener.java index 2895104b4..f9c89b6ac 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/impl/QueuePairStatsStorageListener.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/impl/QueuePairStatsStorageListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.storage.impl; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/impl/QueueStatsStorageListener.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/impl/QueueStatsStorageListener.java index 313bdf8b5..b2b2286f7 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/impl/QueueStatsStorageListener.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/impl/QueueStatsStorageListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.storage.impl; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/impl/SbeStorageMetaData.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/impl/SbeStorageMetaData.java index 66654e20a..9dbbb03a4 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/impl/SbeStorageMetaData.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/impl/SbeStorageMetaData.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.storage.impl; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/mapdb/MapDBStatsStorage.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/mapdb/MapDBStatsStorage.java index 4ac703501..0a77a4252 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/mapdb/MapDBStatsStorage.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/mapdb/MapDBStatsStorage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.storage.mapdb; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/sqlite/J7FileStatsStorage.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/sqlite/J7FileStatsStorage.java index 5f33c6e01..f5a78f018 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/sqlite/J7FileStatsStorage.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/storage/sqlite/J7FileStatsStorage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.storage.sqlite; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/weights/ConvolutionListenerPersistable.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/weights/ConvolutionListenerPersistable.java index fa06cad27..5e950b2ea 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/weights/ConvolutionListenerPersistable.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/weights/ConvolutionListenerPersistable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.weights; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/weights/HistogramBin.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/weights/HistogramBin.java index c7e045dcc..3cacebfd7 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/weights/HistogramBin.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/weights/HistogramBin.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.weights; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/weights/beans/CompactModelAndGradient.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/weights/beans/CompactModelAndGradient.java index f1442850b..fb3c35b0f 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/weights/beans/CompactModelAndGradient.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/java/org/deeplearning4j/ui/model/weights/beans/CompactModelAndGradient.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.model.weights.beans; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/resources/StatsListenerSchemas.xml b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/resources/StatsListenerSchemas.xml index 88e76be27..1998abe03 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/resources/StatsListenerSchemas.xml +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-model/src/main/resources/StatsListenerSchemas.xml @@ -1,19 +1,21 @@ - + + diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-standalone/pom.xml b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-standalone/pom.xml index c807b7a46..918625134 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-standalone/pom.xml +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-standalone/pom.xml @@ -1,40 +1,43 @@ - + + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + 4.0.0 + - deeplearning4j-ui-parent org.deeplearning4j + deeplearning4j-ui-parent 1.0.0-SNAPSHOT - 4.0.0 deeplearning4j-ui-standalone - - - test-nd4j-native - - - test-nd4j-cuda-11.0 - - + + + org.deeplearning4j + deeplearning4j-ui + ${deeplearning4j.version} + + @@ -54,11 +57,14 @@ - + reference.conf - - + + org.deeplearning4j.ui.play.PlayUIServer @@ -131,12 +137,12 @@ - - - org.deeplearning4j - deeplearning4j-ui - ${deeplearning4j.version} - - - + + + test-nd4j-native + + + test-nd4j-cuda-11.0 + + diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-standalone/src/main/resources/logback.xml b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-standalone/src/main/resources/logback.xml index 2283bdc50..020402821 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-standalone/src/main/resources/logback.xml +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-standalone/src/main/resources/logback.xml @@ -1,18 +1,20 @@ - + diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/pom.xml b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/pom.xml index f24bf9109..72d86bb62 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/pom.xml +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/pom.xml @@ -1,39 +1,49 @@ - + + + + + + 4.0.0 - - deeplearning4j-ui-parent org.deeplearning4j + deeplearning4j-ui-parent 1.0.0-SNAPSHOT - 4.0.0 deeplearning4j-ui deeplearning4j-ui + + 1.8 + 1.8 + + org.deeplearning4j deeplearning4j-vertx ${project.version} - commons-io commons-io @@ -44,11 +54,9 @@ deeplearning4j-nlp ${project.version} - junit junit - test org.deeplearning4j @@ -70,20 +78,4 @@ test-nd4j-cuda-11.0 - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.8 - 1.8 - - - - - - diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/main/java/org/deeplearning4j/ui/weights/ConvolutionalIterationListener.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/main/java/org/deeplearning4j/ui/weights/ConvolutionalIterationListener.java index 87444f214..3dffd5138 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/main/java/org/deeplearning4j/ui/weights/ConvolutionalIterationListener.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/main/java/org/deeplearning4j/ui/weights/ConvolutionalIterationListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.weights; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/test/java/org/deeplearning4j/ui/ApiTest.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/test/java/org/deeplearning4j/ui/ApiTest.java index 3474d7d71..488427cd5 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/test/java/org/deeplearning4j/ui/ApiTest.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/test/java/org/deeplearning4j/ui/ApiTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/test/java/org/deeplearning4j/ui/ManualTests.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/test/java/org/deeplearning4j/ui/ManualTests.java index c45e5c509..2e7669546 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/test/java/org/deeplearning4j/ui/ManualTests.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/test/java/org/deeplearning4j/ui/ManualTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/test/java/org/deeplearning4j/ui/weights/HistogramBinTest.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/test/java/org/deeplearning4j/ui/weights/HistogramBinTest.java index 3794d0ce9..97ebe1428 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/test/java/org/deeplearning4j/ui/weights/HistogramBinTest.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/test/java/org/deeplearning4j/ui/weights/HistogramBinTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.weights; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/test/java/org/deeplearning4j/ui/weights/TestConvolutionalListener.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/test/java/org/deeplearning4j/ui/weights/TestConvolutionalListener.java index af1f02801..89960cb61 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/test/java/org/deeplearning4j/ui/weights/TestConvolutionalListener.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/test/java/org/deeplearning4j/ui/weights/TestConvolutionalListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.weights; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/test/resources/log4j.properties b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/test/resources/log4j.properties index 56592ce91..b2c84d28e 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/test/resources/log4j.properties +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/test/resources/log4j.properties @@ -1,19 +1,21 @@ -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ log4j.rootLogger=ERROR, Console log4j.appender.Console=org.apache.log4j.ConsoleAppender diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/test/resources/logback.xml b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/test/resources/logback.xml index 9baf66a0d..aa683e0b1 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/test/resources/logback.xml +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui/src/test/resources/logback.xml @@ -1,18 +1,20 @@ - + diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/pom.xml b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/pom.xml index 835e77fe0..4d09b4187 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/pom.xml +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/pom.xml @@ -1,95 +1,93 @@ - + - - deeplearning4j-ui-parent - org.deeplearning4j - 1.0.0-SNAPSHOT - + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 + + org.deeplearning4j + deeplearning4j-ui-parent + 1.0.0-SNAPSHOT + + deeplearning4j-vertx + + 1.8 + 1.8 + + io.vertx vertx-core ${vertx.version} - io.vertx vertx-web ${vertx.version} - org.deeplearning4j deeplearning4j-core ${project.version} - org.deeplearning4j deeplearning4j-ui-model ${project.version} - ch.qos.logback logback-classic test - org.freemarker freemarker ${freemarker.version} - com.beust jcommander ${jcommander.version} - - jakarta.xml.bind jakarta.xml.bind-api 2.3.2 - org.deeplearning4j deeplearning4j-common-tests ${project.version} test - org.webjars.npm babel__polyfill 7.4.4 - org.webjars.npm coreui__coreui @@ -116,11 +114,9 @@ popper.js 1.12.9 - org.webjars.npm bootstrap - 4.3.1 org.webjars @@ -208,7 +204,6 @@ weaverjs 1.2.0 - org.webjars retinajs @@ -269,7 +264,6 @@ jquery-ui-touch-punch 0.2.2 - org.webjars d3js @@ -285,7 +279,6 @@ github-com-jboesch-Gritter 1.7.4 - org.webjars.bowergithub.stenin-nikita @@ -302,7 +295,6 @@ bootstrap-glyphicons bdd2cbfba0 - org.webjars.npm @@ -334,14 +326,12 @@ regenerator-runtime 0.13.2 - org.webjars.npm bootstrap 4.3.1 - org.webjars.npm @@ -353,17 +343,12 @@ lodash.debounce 4.0.8 - - org.webjars.npm graphlib 2.1.7 - - - org.webjars.bower cytoscape @@ -437,21 +422,6 @@ - - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.8 - 1.8 - - - - - - test-nd4j-native diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/VertxUIServer.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/VertxUIServer.java index ddc8187e4..108c692aa 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/VertxUIServer.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/VertxUIServer.java @@ -1,18 +1,20 @@ - /* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ + /* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/api/HttpMethod.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/api/HttpMethod.java index 7230d63b6..43fdff8be 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/api/HttpMethod.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/api/HttpMethod.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.api; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/api/I18N.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/api/I18N.java index 3ec6f186c..bc271054c 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/api/I18N.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/api/I18N.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.api; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/api/Route.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/api/Route.java index e209c8b54..0926b14ef 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/api/Route.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/api/Route.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.api; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/api/UIModule.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/api/UIModule.java index 0a2ca40c3..de6d899ff 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/api/UIModule.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/api/UIModule.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.api; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/api/UIServer.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/api/UIServer.java index 56b049f6f..3bc5442f3 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/api/UIServer.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/api/UIServer.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.api; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/i18n/DefaultI18N.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/i18n/DefaultI18N.java index 2dd768b07..2e4a1e7f0 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/i18n/DefaultI18N.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/i18n/DefaultI18N.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.i18n; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/i18n/I18NProvider.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/i18n/I18NProvider.java index 73adab7d7..31f62d029 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/i18n/I18NProvider.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/i18n/I18NProvider.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.i18n; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/i18n/I18NResource.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/i18n/I18NResource.java index 119dba718..01e5c28a5 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/i18n/I18NResource.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/i18n/I18NResource.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.i18n; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/SameDiffModule.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/SameDiffModule.java index ed187f366..fd15d7356 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/SameDiffModule.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/SameDiffModule.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.module; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/convolutional/ConvolutionalListenerModule.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/convolutional/ConvolutionalListenerModule.java index 6818e5492..b5d00de0c 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/convolutional/ConvolutionalListenerModule.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/convolutional/ConvolutionalListenerModule.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.module.convolutional; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/defaultModule/DefaultModule.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/defaultModule/DefaultModule.java index 7c637b5dd..168c7a09c 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/defaultModule/DefaultModule.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/defaultModule/DefaultModule.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit, KK. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.module.defaultModule; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/remote/RemoteReceiverModule.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/remote/RemoteReceiverModule.java index 1f5040991..f2148cdd6 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/remote/RemoteReceiverModule.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/remote/RemoteReceiverModule.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.module.remote; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/train/TrainModule.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/train/TrainModule.java index 8bde827f5..908a99067 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/train/TrainModule.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/train/TrainModule.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.module.train; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/train/TrainModuleUtils.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/train/TrainModuleUtils.java index ce60efb90..61de50143 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/train/TrainModuleUtils.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/train/TrainModuleUtils.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.module.train; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/tsne/TsneModule.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/tsne/TsneModule.java index 96029e01f..7a145d055 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/tsne/TsneModule.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/java/org/deeplearning4j/ui/module/tsne/TsneModule.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui.module.tsne; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/META-INF/services/org.deeplearning4j.ui.api.UIModule b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/META-INF/services/org.deeplearning4j.ui.api.UIModule index 548b33f41..19bdba540 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/META-INF/services/org.deeplearning4j.ui.api.UIModule +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/META-INF/services/org.deeplearning4j.ui.api.UIModule @@ -1,3 +1,39 @@ +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +# +# /* ****************************************************************************** +# * Copyright (c) 2021 Deeplearning4j Contributors +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + ################################################################################ # Copyright (c) 2015-2018 Skymind, Inc. # diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/css/samediff/samediff.css b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/css/samediff/samediff.css index f5cdd1aae..fc44f9930 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/css/samediff/samediff.css +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/css/samediff/samediff.css @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + html, body {height: 100%; } diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/css/style.css b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/css/style.css index 242590804..1100b5e56 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/css/style.css +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/css/style.css @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + .app-header { background: #080808; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/counter.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/counter.js index 70cf556ce..c452593c6 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/counter.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/counter.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + (function($) { $.fn.countTo = function(options) { // merge the default plugin settings with the custom options diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/flatbuffers-utils.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/flatbuffers-utils.js index ade2b2ade..9b6a873b6 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/flatbuffers-utils.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/flatbuffers-utils.js @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ function extractHeaders(/*Uint8Array*/ bytes, offset){ diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/array_generated.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/array_generated.js index 8a2b644e6..d785b94bd 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/array_generated.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/array_generated.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify /** diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/config_generated.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/config_generated.js index 9ca0cccd1..b41755d23 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/config_generated.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/config_generated.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify /** diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/graph_generated.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/graph_generated.js index 29911e63a..023afe112 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/graph_generated.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/graph_generated.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify /** diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/node_generated.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/node_generated.js index a7b2e264f..6ceab9bb8 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/node_generated.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/node_generated.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify /** diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/properties_generated.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/properties_generated.js index 60ffe427d..5028b0c09 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/properties_generated.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/properties_generated.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify /** diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/request_generated.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/request_generated.js index f2bddc61e..9adf0cffd 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/request_generated.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/request_generated.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify /** diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/result_generated.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/result_generated.js index 23995803a..006b6a9ac 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/result_generated.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/result_generated.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify /** diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/uigraphevents_generated.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/uigraphevents_generated.js index 7d52224a8..cc6010b5d 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/uigraphevents_generated.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/uigraphevents_generated.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify /** diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/uigraphstatic_generated.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/uigraphstatic_generated.js index c05088d1a..d1ca38d96 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/uigraphstatic_generated.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/uigraphstatic_generated.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify /** diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/utils_generated.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/utils_generated.js index 7a8dcd520..409f206ea 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/utils_generated.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/utils_generated.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify /** diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/variable_generated.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/variable_generated.js index 3f128e4fc..517a9a409 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/variable_generated.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/generated/variable_generated.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify /** diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/samediff-graph.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/samediff-graph.js index 45b87faba..4251671e0 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/samediff-graph.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/samediff-graph.js @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/samediff-plots.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/samediff-plots.js index f1e7c1239..ecbd7a37a 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/samediff-plots.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/samediff-plots.js @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ function renderLineChart(/*jquery selector*/ element, label, xDataArray, yDataArray ){ diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/samediff-ui.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/samediff-ui.js index 5a5d89be6..2184a31e2 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/samediff-ui.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/samediff/samediff-ui.js @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ function toggleSidebar(){ $('#samediffsidebar').toggleClass('sidebarhidden'); diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/train/model-graph.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/train/model-graph.js index 4116ae6f5..823ceb66e 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/train/model-graph.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/train/model-graph.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + function renderModelGraph(){ getSessionSettings(function(){ var modelGraphUrl = multiSession ? "/train/" + currSession + "/model/graph" : "/train/model/graph"; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/train/model-layers.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/train/model-layers.js index 783021356..3220a00fb 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/train/model-layers.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/train/model-layers.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + $(function () { // on dom ready $('#layers').cytoscape({ diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/train/model.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/train/model.js index ec58ce5d7..d34709839 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/train/model.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/train/model.js @@ -1,4 +1,22 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + var selectedVertex = -1; function setSelectedVertex(vertex){ selectedVertex = vertex; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/train/overview.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/train/overview.js index 05c1ccace..4fd936b72 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/train/overview.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/train/overview.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + /* ---------- Variances chart selection ---------- */ var selectedChart = "stdevActivations"; function selectStdevChart(fieldName) { diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/train/system.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/train/system.js index 8c88a3840..cb21ec4f8 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/train/system.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/train/system.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + selectMachine(); //Make machineID Global var lastUpdateTimeSystem = -1; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/train/train.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/train/train.js index 1ef0a65a7..95e4826b2 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/train/train.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/js/train/train.js @@ -1,4 +1,22 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + function languageSelect(languageCode, redirect){ //language code: iso639 code diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/legacy/common.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/legacy/common.js index 696803978..30a7d7fd7 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/legacy/common.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/legacy/common.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + function buildSessionSelector(event) { buildSessionSelector2("/sessions?event=",event); } diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/legacy/jquery-fileupload.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/legacy/jquery-fileupload.js index 51293e82c..dba4d482e 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/legacy/jquery-fileupload.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/legacy/jquery-fileupload.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + /** * fileUpload * http://abandon.ie diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/legacy/render.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/legacy/render.js index 8d6f7fc92..11142398e 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/legacy/render.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/legacy/render.js @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ var x = []; var y = []; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/legacy/renderTsne.js b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/legacy/renderTsne.js index 4b69dcff7..58dacddb7 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/legacy/renderTsne.js +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/legacy/renderTsne.js @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ var height = 700; var width = 1024; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/legacy/roboto.css b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/legacy/roboto.css index a6b0248e1..3b578c9f0 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/legacy/roboto.css +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/deeplearning4jUiAssets/legacy/roboto.css @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + /* cyrillic-ext */ @font-face { font-family: 'Roboto'; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/templates/Activations.html b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/templates/Activations.html index 547615b79..c343079e4 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/templates/Activations.html +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/templates/Activations.html @@ -1,20 +1,22 @@ - + - + diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/templates/SameDiffUI.html b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/templates/SameDiffUI.html index 1d29f7827..ed21375e7 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/templates/SameDiffUI.html +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/templates/SameDiffUI.html @@ -1,20 +1,22 @@ - + - + diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/templates/Tsne.html b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/templates/Tsne.html index 76e1d7f96..e09d0d8a8 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/templates/Tsne.html +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/main/resources/templates/Tsne.html @@ -1,20 +1,22 @@ - + - + diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/test/java/org/deeplearning4j/ui/TestRemoteReceiver.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/test/java/org/deeplearning4j/ui/TestRemoteReceiver.java index b173f1a8c..900e8d5bc 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/test/java/org/deeplearning4j/ui/TestRemoteReceiver.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/test/java/org/deeplearning4j/ui/TestRemoteReceiver.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/test/java/org/deeplearning4j/ui/TestSameDiffUI.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/test/java/org/deeplearning4j/ui/TestSameDiffUI.java index 7401874d3..0cd7b5f02 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/test/java/org/deeplearning4j/ui/TestSameDiffUI.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/test/java/org/deeplearning4j/ui/TestSameDiffUI.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/test/java/org/deeplearning4j/ui/TestVertxUI.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/test/java/org/deeplearning4j/ui/TestVertxUI.java index 2ed7e1b74..a7543acce 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/test/java/org/deeplearning4j/ui/TestVertxUI.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/test/java/org/deeplearning4j/ui/TestVertxUI.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/test/java/org/deeplearning4j/ui/TestVertxUIManual.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/test/java/org/deeplearning4j/ui/TestVertxUIManual.java index 7fb0a041e..b0e007436 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/test/java/org/deeplearning4j/ui/TestVertxUIManual.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/test/java/org/deeplearning4j/ui/TestVertxUIManual.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.ui; import io.netty.handler.codec.http.HttpResponseStatus; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/test/java/org/deeplearning4j/ui/TestVertxUIMultiSession.java b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/test/java/org/deeplearning4j/ui/TestVertxUIMultiSession.java index 0f3f50d41..f4af52141 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/test/java/org/deeplearning4j/ui/TestVertxUIMultiSession.java +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/test/java/org/deeplearning4j/ui/TestVertxUIMultiSession.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.ui; diff --git a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/test/resources/logback.xml b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/test/resources/logback.xml index 9baf66a0d..aa683e0b1 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/test/resources/logback.xml +++ b/deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-vertx/src/test/resources/logback.xml @@ -1,18 +1,20 @@ - + diff --git a/deeplearning4j/deeplearning4j-ui-parent/pom.xml b/deeplearning4j/deeplearning4j-ui-parent/pom.xml index 947a28783..e0692a8ae 100644 --- a/deeplearning4j/deeplearning4j-ui-parent/pom.xml +++ b/deeplearning4j/deeplearning4j-ui-parent/pom.xml @@ -1,41 +1,37 @@ - + + + + + 4.0.0 - - deeplearning4j-parent org.deeplearning4j + deeplearning4j-parent 1.0.0-SNAPSHOT - 4.0.0 deeplearning4j-ui-parent pom - - - - - org.apache.maven.plugins - maven-compiler-plugin - - - deeplearning4j-ui deeplearning4j-ui-components @@ -52,5 +48,4 @@ test-nd4j-cuda-11.0 - diff --git a/deeplearning4j/deeplearning4j-zoo/pom.xml b/deeplearning4j/deeplearning4j-zoo/pom.xml index ea431ebd9..881cfea7e 100644 --- a/deeplearning4j/deeplearning4j-zoo/pom.xml +++ b/deeplearning4j/deeplearning4j-zoo/pom.xml @@ -1,77 +1,72 @@ - + - - deeplearning4j-parent - org.deeplearning4j - 1.0.0-SNAPSHOT - + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 + + org.deeplearning4j + deeplearning4j-parent + 1.0.0-SNAPSHOT + + deeplearning4j-zoo - jar org.slf4j - slf4j-api + slf4j-api - org.nd4j nd4j-api ${nd4j.version} - org.deeplearning4j deeplearning4j-nn ${project.version} - org.deeplearning4j deeplearning4j-common ${project.version} - junit - junit - test + junit - ch.qos.logback - logback-classic + logback-classic test - org.deeplearning4j deeplearning4j-core ${deeplearning4j.version} test - org.deeplearning4j deeplearning4j-common-tests @@ -88,6 +83,4 @@ test-nd4j-cuda-11.0 - - diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/InstantiableModel.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/InstantiableModel.java index deda8b67f..d9054257c 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/InstantiableModel.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/InstantiableModel.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/ModelMetaData.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/ModelMetaData.java index 78fe5e0af..860f87087 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/ModelMetaData.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/ModelMetaData.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/PretrainedType.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/PretrainedType.java index 0bb140101..2608c903a 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/PretrainedType.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/PretrainedType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/ZooModel.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/ZooModel.java index 61b59b325..f0f349725 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/ZooModel.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/ZooModel.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/ZooType.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/ZooType.java index 9259bf063..e2a59c8ec 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/ZooType.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/ZooType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/AlexNet.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/AlexNet.java index 41ddb7874..fa77c3472 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/AlexNet.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/AlexNet.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.model; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/Darknet19.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/Darknet19.java index 67f49b24c..e85179b47 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/Darknet19.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/Darknet19.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.model; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/FaceNetNN4Small2.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/FaceNetNN4Small2.java index 4d511e3c0..3806be74a 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/FaceNetNN4Small2.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/FaceNetNN4Small2.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.model; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/InceptionResNetV1.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/InceptionResNetV1.java index 45570f2b8..5924d8535 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/InceptionResNetV1.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/InceptionResNetV1.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.model; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/LeNet.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/LeNet.java index 8a59741b1..87a499eea 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/LeNet.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/LeNet.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.model; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/NASNet.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/NASNet.java index 40a839830..777248d83 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/NASNet.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/NASNet.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.model; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/ResNet50.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/ResNet50.java index 2d8056eda..04347bb31 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/ResNet50.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/ResNet50.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.model; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/SimpleCNN.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/SimpleCNN.java index a8301387b..226f5ee97 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/SimpleCNN.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/SimpleCNN.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.model; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/SqueezeNet.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/SqueezeNet.java index 209e61d2c..1e5c7f4ae 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/SqueezeNet.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/SqueezeNet.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.model; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/TextGenerationLSTM.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/TextGenerationLSTM.java index 11243443b..d9e3a2a59 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/TextGenerationLSTM.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/TextGenerationLSTM.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.model; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/TinyYOLO.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/TinyYOLO.java index 760cba553..9eb5d004c 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/TinyYOLO.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/TinyYOLO.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.model; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/UNet.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/UNet.java index 4e481655c..9c0a69a56 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/UNet.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/UNet.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.model; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/VGG16.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/VGG16.java index b42312b9e..a6035d96c 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/VGG16.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/VGG16.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.model; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/VGG19.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/VGG19.java index 40bd6f658..5209d6e6e 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/VGG19.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/VGG19.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.model; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/Xception.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/Xception.java index 0e4b4845d..2d1a9fdd0 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/Xception.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/Xception.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.model; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/YOLO2.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/YOLO2.java index f82f86528..afae9962b 100755 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/YOLO2.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/YOLO2.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.model; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/helper/DarknetHelper.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/helper/DarknetHelper.java index 3d23a00a5..4f20c1324 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/helper/DarknetHelper.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/helper/DarknetHelper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.model.helper; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/helper/FaceNetHelper.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/helper/FaceNetHelper.java index d93c450dc..c822b6020 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/helper/FaceNetHelper.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/helper/FaceNetHelper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.model.helper; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/helper/InceptionResNetHelper.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/helper/InceptionResNetHelper.java index cb4231d6a..da1915260 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/helper/InceptionResNetHelper.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/helper/InceptionResNetHelper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.model.helper; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/helper/NASNetHelper.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/helper/NASNetHelper.java index 1b6a1063a..b4112cfbe 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/helper/NASNetHelper.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/model/helper/NASNetHelper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.model.helper; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/BaseLabels.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/BaseLabels.java index bcca7c1b1..3649ef996 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/BaseLabels.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/BaseLabels.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.util; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/ClassPrediction.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/ClassPrediction.java index b6ec8a21f..4a3be3c01 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/ClassPrediction.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/ClassPrediction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.util; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/Labels.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/Labels.java index c14f207bd..1ab875bbe 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/Labels.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/Labels.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.util; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/darknet/COCOLabels.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/darknet/COCOLabels.java index c5f91bf54..32fe9d463 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/darknet/COCOLabels.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/darknet/COCOLabels.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.util.darknet; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/darknet/DarknetLabels.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/darknet/DarknetLabels.java index b15b82848..07bada7a7 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/darknet/DarknetLabels.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/darknet/DarknetLabels.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.util.darknet; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/darknet/VOCLabels.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/darknet/VOCLabels.java index 1e4c76e98..2b9ca72e9 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/darknet/VOCLabels.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/darknet/VOCLabels.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.util.darknet; diff --git a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/imagenet/ImageNetLabels.java b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/imagenet/ImageNetLabels.java index 9006b99c7..388028e1c 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/imagenet/ImageNetLabels.java +++ b/deeplearning4j/deeplearning4j-zoo/src/main/java/org/deeplearning4j/zoo/util/imagenet/ImageNetLabels.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo.util.imagenet; diff --git a/deeplearning4j/deeplearning4j-zoo/src/test/java/org/deeplearning4j/zoo/MiscTests.java b/deeplearning4j/deeplearning4j-zoo/src/test/java/org/deeplearning4j/zoo/MiscTests.java index 9dea6629a..2fb8c7a8a 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/test/java/org/deeplearning4j/zoo/MiscTests.java +++ b/deeplearning4j/deeplearning4j-zoo/src/test/java/org/deeplearning4j/zoo/MiscTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo; diff --git a/deeplearning4j/deeplearning4j-zoo/src/test/java/org/deeplearning4j/zoo/TestDownload.java b/deeplearning4j/deeplearning4j-zoo/src/test/java/org/deeplearning4j/zoo/TestDownload.java index b45afe47a..7bdc33539 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/test/java/org/deeplearning4j/zoo/TestDownload.java +++ b/deeplearning4j/deeplearning4j-zoo/src/test/java/org/deeplearning4j/zoo/TestDownload.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo; diff --git a/deeplearning4j/deeplearning4j-zoo/src/test/java/org/deeplearning4j/zoo/TestImageNet.java b/deeplearning4j/deeplearning4j-zoo/src/test/java/org/deeplearning4j/zoo/TestImageNet.java index 9106bede3..68d94560b 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/test/java/org/deeplearning4j/zoo/TestImageNet.java +++ b/deeplearning4j/deeplearning4j-zoo/src/test/java/org/deeplearning4j/zoo/TestImageNet.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo; diff --git a/deeplearning4j/deeplearning4j-zoo/src/test/java/org/deeplearning4j/zoo/TestInstantiation.java b/deeplearning4j/deeplearning4j-zoo/src/test/java/org/deeplearning4j/zoo/TestInstantiation.java index d70137775..3b90aba09 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/test/java/org/deeplearning4j/zoo/TestInstantiation.java +++ b/deeplearning4j/deeplearning4j-zoo/src/test/java/org/deeplearning4j/zoo/TestInstantiation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo; diff --git a/deeplearning4j/deeplearning4j-zoo/src/test/java/org/deeplearning4j/zoo/TestUtils.java b/deeplearning4j/deeplearning4j-zoo/src/test/java/org/deeplearning4j/zoo/TestUtils.java index a59b12f13..5c9b252df 100644 --- a/deeplearning4j/deeplearning4j-zoo/src/test/java/org/deeplearning4j/zoo/TestUtils.java +++ b/deeplearning4j/deeplearning4j-zoo/src/test/java/org/deeplearning4j/zoo/TestUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.zoo; diff --git a/deeplearning4j/dl4j-integration-tests/pom.xml b/deeplearning4j/dl4j-integration-tests/pom.xml index e8d958cf1..0f878403b 100644 --- a/deeplearning4j/dl4j-integration-tests/pom.xml +++ b/deeplearning4j/dl4j-integration-tests/pom.xml @@ -1,27 +1,29 @@ - + - + - deeplearning4j-parent org.deeplearning4j + deeplearning4j-parent 1.0.0-SNAPSHOT @@ -29,11 +31,15 @@ dl4j-integration-tests + + 1.8 + 1.8 + + org.slf4j - slf4j-api - + slf4j-api org.nd4j @@ -58,17 +64,13 @@ junit - junit - - test + junit ch.qos.logback - logback-classic - + logback-classic test - org.deeplearning4j deeplearning4j-common-tests @@ -101,18 +103,6 @@ - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.8 - 1.8 - - - - diff --git a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/IntegrationTestBaselineGenerator.java b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/IntegrationTestBaselineGenerator.java index 51caaf21f..835c71116 100644 --- a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/IntegrationTestBaselineGenerator.java +++ b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/IntegrationTestBaselineGenerator.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.integration; diff --git a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/IntegrationTestRunner.java b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/IntegrationTestRunner.java index 5d35fdeb6..5f10e169e 100644 --- a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/IntegrationTestRunner.java +++ b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/IntegrationTestRunner.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.integration; diff --git a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/IntegrationTestsDL4J.java b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/IntegrationTestsDL4J.java index 11a2189d8..af29a7831 100644 --- a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/IntegrationTestsDL4J.java +++ b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/IntegrationTestsDL4J.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.integration; diff --git a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/IntegrationTestsSameDiff.java b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/IntegrationTestsSameDiff.java index de5bc0ea1..7f4843391 100644 --- a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/IntegrationTestsSameDiff.java +++ b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/IntegrationTestsSameDiff.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.integration; import org.deeplearning4j.BaseDL4JTest; diff --git a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/ModelType.java b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/ModelType.java index cb47cc229..da1dc3bdb 100644 --- a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/ModelType.java +++ b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/ModelType.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.integration; public enum ModelType { diff --git a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/TestCase.java b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/TestCase.java index ab1347699..3bafc0149 100644 --- a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/TestCase.java +++ b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/TestCase.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.integration; diff --git a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/TestUtils.java b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/TestUtils.java index 72e51cd92..351962212 100644 --- a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/TestUtils.java +++ b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/TestUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.integration; diff --git a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/CNN1DTestCases.java b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/CNN1DTestCases.java index e30adc52b..b76ba8170 100644 --- a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/CNN1DTestCases.java +++ b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/CNN1DTestCases.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.integration.testcases.dl4j; diff --git a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/CNN2DTestCases.java b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/CNN2DTestCases.java index baebf6b45..df7582c7f 100644 --- a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/CNN2DTestCases.java +++ b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/CNN2DTestCases.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.integration.testcases.dl4j; diff --git a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/CNN3DTestCases.java b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/CNN3DTestCases.java index f22237faa..183d9c12f 100644 --- a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/CNN3DTestCases.java +++ b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/CNN3DTestCases.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.integration.testcases.dl4j; diff --git a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/MLPTestCases.java b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/MLPTestCases.java index a2f86477e..cb432b0ac 100644 --- a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/MLPTestCases.java +++ b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/MLPTestCases.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.integration.testcases.dl4j; diff --git a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/RNNTestCases.java b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/RNNTestCases.java index de9209c23..1f778e43b 100644 --- a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/RNNTestCases.java +++ b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/RNNTestCases.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.integration.testcases.dl4j; diff --git a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/UnsupervisedTestCases.java b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/UnsupervisedTestCases.java index f10dff828..676c69054 100644 --- a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/UnsupervisedTestCases.java +++ b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/UnsupervisedTestCases.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.integration.testcases.dl4j; diff --git a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/misc/CharacterIterator.java b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/misc/CharacterIterator.java index 110bfb731..7553e262e 100644 --- a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/misc/CharacterIterator.java +++ b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/dl4j/misc/CharacterIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.integration.testcases.dl4j.misc; diff --git a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/samediff/SameDiffCNNCases.java b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/samediff/SameDiffCNNCases.java index 81b1b87ff..d592e614b 100644 --- a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/samediff/SameDiffCNNCases.java +++ b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/samediff/SameDiffCNNCases.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.integration.testcases.samediff; import org.deeplearning4j.datasets.iterator.EarlyTerminationDataSetIterator; diff --git a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/samediff/SameDiffMLPTestCases.java b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/samediff/SameDiffMLPTestCases.java index 3f7dda540..3fbb03055 100644 --- a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/samediff/SameDiffMLPTestCases.java +++ b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/samediff/SameDiffMLPTestCases.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.integration.testcases.samediff; import org.datavec.api.records.reader.RecordReader; diff --git a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/samediff/SameDiffRNNTestCases.java b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/samediff/SameDiffRNNTestCases.java index 9e2890455..75a0f4015 100644 --- a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/samediff/SameDiffRNNTestCases.java +++ b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/testcases/samediff/SameDiffRNNTestCases.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.integration.testcases.samediff; import org.datavec.api.records.reader.SequenceRecordReader; diff --git a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/util/CountingMultiDataSetIterator.java b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/util/CountingMultiDataSetIterator.java index bd82ce61c..de372c479 100644 --- a/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/util/CountingMultiDataSetIterator.java +++ b/deeplearning4j/dl4j-integration-tests/src/test/java/org/deeplearning4j/integration/util/CountingMultiDataSetIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.integration.util; diff --git a/deeplearning4j/dl4j-integration-tests/src/test/resources/logback-test.xml b/deeplearning4j/dl4j-integration-tests/src/test/resources/logback-test.xml index 69246755b..70c9f9523 100644 --- a/deeplearning4j/dl4j-integration-tests/src/test/resources/logback-test.xml +++ b/deeplearning4j/dl4j-integration-tests/src/test/resources/logback-test.xml @@ -1,18 +1,20 @@ - + diff --git a/deeplearning4j/pom.xml b/deeplearning4j/pom.xml index e121e305d..93dcb3b61 100644 --- a/deeplearning4j/pom.xml +++ b/deeplearning4j/pom.xml @@ -1,33 +1,34 @@ - - + + 4.0.0 + org.deeplearning4j deeplearning4j 1.0.0-SNAPSHOT - 4.0.0 - org.deeplearning4j deeplearning4j-parent pom @@ -36,93 +37,12 @@ http://deeplearning4j.org/ DeepLearning for java - - - Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - - - - - - agibsonccc - Adam Gibson - adam@skymind.io - - - chrisvnicholson - Chris Nicholson - chris@skymind.io - - - jpatanooga - Josh Patterson - - - AlexDBlack - Alex Black - - - nyghtowl - Melanie Warrick - - - raver119 - Vyacheslav Kokorin - - - saudet - Samuel Audet - - - eraly - Susan Eraly - - - kepricon - Daehyun Kim - - - - smarthi - Suneel Marthi - - - taisukeoe - Taisuke Oe - - - treo - Paul Dubs - - - EronWright - Eron Wright - - - jyt109 - Jeffrey Tang - - - sonaliii - Sonali Dayal - - - emmjaykay - emmjaykay - - - crockpotveggies - Justin Long - - scm:git://github.com:deeplearning4j/deeplearning4j.git - scm:git:git@github.com:deeplearning4j/deeplearning4j.git + scm:git:git@github.com:eclipse/deeplearning4j.git - git@github.com:deeplearning4j/deeplearning4j.git + git@github.com:eclipse/deeplearning4j.git HEAD @@ -142,7 +62,6 @@ deeplearning4j-manifold dl4j-integration-tests deeplearning4j-common - deeplearning4j-remote deeplearning4j-common-tests @@ -235,11 +154,9 @@ + org.apache.maven.plugins maven-compiler-plugin - - maven-source-plugin - com.lewisd lint-maven-plugin @@ -268,9 +185,7 @@ net.revelc.code.formatter formatter-maven-plugin - ${maven-formatter-plugin.version} - ${session.executionRootDirectory}/contrib/formatter.xml deeplearning4j-core deeplearning4j-scaleout @@ -291,80 +206,16 @@ pl.project13.maven git-commit-id-plugin - ${maven-git-commit-id-plugin.version} - - - - revision - - generate-resources - - - - true - - ${project.basedir}/target/generated-sources/src/main/resources/ai/skymind/${project.groupId}-${project.artifactId}-git.properties - - - true - - org.codehaus.mojo build-helper-maven-plugin - ${maven-build-helper-plugin.version} - - - add-resource - generate-resources - - add-resource - - - - - - ${project.basedir}/target/generated-sources/src/main/resources - - - - - - - - maven-javadoc-plugin - ${maven-javadoc-plugin.version} - - -Xdoclint:none - - - - attach-javadocs - - jar - - - - - - maven-source-plugin - ${maven-source-plugin.version} - - - attach-sources - - jar - - - - maven-surefire-plugin ${maven-surefire-plugin.version} @@ -373,7 +224,7 @@ - -Psonatype-oss-release -DskipTests ${arguments} - true - false - - - - maven-gpg-plugin - 1.6 - - ${gpg.passphrase} - - - - sign-artifacts - verify - - sign - - - - - - maven-compiler-plugin - ${maven-compiler-plugin.version} - - 1.7 - 1.7 - - - org.eclipse.m2e lifecycle-mapping - ${maven-lifecycle-mapping-plugin.version} - - - - - - com.lewisd - lint-maven-plugin - [0.0.11,) - - check - - - - - - - - - @@ -521,19 +316,4 @@ - - - - - maven-surefire-report-plugin - ${maven-surefire-plugin.version} - - - - org.codehaus.mojo - cobertura-maven-plugin - 2.7 - - - diff --git a/jumpy/release.sh b/jumpy/release.sh deleted file mode 100755 index 219ff4663..000000000 --- a/jumpy/release.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. -# -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ - -# Note: this needs manual upgrading of version in setup.py to work (can't override old versions) - -# remove old wheels -sudo rm -rf dist/* - -# Build Python 2 & 3 wheels for current version -sudo python2 setup.py sdist bdist_wheel -sudo python3 setup.py sdist bdist_wheel - -# Upload to PyPI with twine. Needs full "skymind" credentials in ~/.pypirc -twine upload dist/* \ No newline at end of file diff --git a/jumpy/tests/jumpy/__init__.py b/jumpy/tests/jumpy/__init__.py deleted file mode 100644 index 72e314156..000000000 --- a/jumpy/tests/jumpy/__init__.py +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. -# -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ diff --git a/libnd4j/CMakeLists.txt b/libnd4j/CMakeLists.txt index 0631763c2..9c26d0314 100755 --- a/libnd4j/CMakeLists.txt +++ b/libnd4j/CMakeLists.txt @@ -60,7 +60,7 @@ else() set(CMAKE_CXX_FLAGS_RELEASE "-O3 -fPIC -D_RELEASE=true") set(CMAKE_CXX_FLAGS_DEBUG " -g -O0 -fPIC") - if (SD_CPU) + if (SD_CPU AND SD_SANITIZE) set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=address") endif() endif() @@ -131,23 +131,31 @@ if(NOT SD_CUDA) endif() endif() + #arm-compute entry if(${HELPERS_armcompute}) find_package(ARMCOMPUTE REQUIRED) + execute_process(COMMAND ${CMAKE_C_COMPILER} -fuse-ld=gold -Wl,--version ERROR_QUIET OUTPUT_VARIABLE ld_version) + if ("${ld_version}" MATCHES "GNU gold") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=gold ") + if (CMAKE_BUILD_TYPE STREQUAL "Debug") + add_link_options("-Wl,--long-plt") + endif() + endif() if(ARMCOMPUTE_FOUND) message("Found ARMCOMPUTE: ${ARMCOMPUTE_LIBRARIES}") set(HAVE_ARMCOMPUTE 1) # Add preprocessor definition for ARM Compute NEON add_definitions(-DARMCOMPUTENEON_ENABLED) - #build our library with neon support - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpu=neon") include_directories(${ARMCOMPUTE_INCLUDE}) message("----${ARMCOMPUTE_INCLUDE}---") endif() + endif() - + + # new mkl-dnn entry if (${HELPERS_mkldnn}) @@ -259,8 +267,8 @@ set (CMAKE_INSTALL_PREFIX $ENV{ND4J_HOME}/nd4j-native-parent/nd4j-native/src/mai # Set package information set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Native operations for nd4j.") set(CPACK_PACKAGE_RELEASE 1) -set(CPACK_PACKAGE_CONTACT "raver119 ") -set(CPACK_PACKAGE_VENDOR "Skymind") +set(CPACK_PACKAGE_CONTACT "agibsonccc ") +set(CPACK_PACKAGE_VENDOR "Eclipse") set(CPACK_SETDESTDIR "false") set(CPACK_PACKAGING_INSTALL_PREFIX "/usr/local/lib") set(CPACK_PACKAGE_NAME "libnd4j") diff --git a/libnd4j/assembly-cuda.xml b/libnd4j/assembly-cuda.xml index 61a7370b7..d55f0d14a 100644 --- a/libnd4j/assembly-cuda.xml +++ b/libnd4j/assembly-cuda.xml @@ -1,18 +1,20 @@ - + diff --git a/libnd4j/assembly.xml b/libnd4j/assembly.xml index e8ad5df32..76b7fb7ae 100644 --- a/libnd4j/assembly.xml +++ b/libnd4j/assembly.xml @@ -1,18 +1,20 @@ - + diff --git a/libnd4j/auto_vectorization/AutoVectorization.md b/libnd4j/auto_vectorization/AutoVectorization.md index 61b98febe..44da56665 100644 --- a/libnd4j/auto_vectorization/AutoVectorization.md +++ b/libnd4j/auto_vectorization/AutoVectorization.md @@ -1,3 +1,4 @@ + # Auto-vectorization Report This report tool is used to get a human-friendly compiler output of the auto-vectorization process. It is intended for developers to help them to investigate the obstacles that compiler faced during auto-vectorization. @@ -5,7 +6,11 @@ This report tool is used to get a human-friendly compiler output of the auto-vec ## Usage ```--check-vectorization``` option should be added to the **release** build to be able to get the auto-vectorization report ```./buildnativeoperations.sh -a native -j 28 --check-vectorization``` -it will output ```vecmiss.html``` inside blasbuild/cpu folder. +it will output ```vecmiss.html``` inside blasbuild/cpu folder. + +For the direct usage: +`compile command | python3 auto_vect.py` +Also please note that to use it with `parallel make` one should add `--output-sync=target` ## Report Format Each filename contains info about optimization attempts for the source code lines. @@ -22,6 +27,25 @@ It is possible to click on the line number to see source code - GCC (Currently, only GCC is supported) - python3 +##### Adding new compiler support for the stdin message parsing +To add new compiler for the stdin processing one should add entry in `STDIN_COMPILER_ENTRY` for that compiler with the following syntax + + { 'compiler_name' : [('comparision', 'version with dot delimiter', 'entry_name') , other version and etc] } + example: STDIN_COMPILER_ENTRY = { 'gcc' : [('<','9','gcc_old'),...] ,...} + + The next step to add a parser for the entry in `STDIN_PARSERS` + ` STDIN_PARSERS = { 'gcc_old' : parser_method }` + the signature of the parser function is: + `Parse_info parser_method(line, helper_storage)` +- the line is a compiler output that needs to be parsed. +- helper_storage is a dict and can be used as a state storage to parse multi-line and et cetera, as parser called for each line. +- Please note that Parse_info members should be the same with those which were defined in `general_stdin_parser local_parser` + +to simplify adding compiler, especially, for those which outputs message details in one line, there is the helper method `general_stdin_parser("succes hint in the message", "failure hint in the message", (file, line, message) extractor regex pattern)`: + + example: general_stdin_parser("vectorized loop", "unvectorized loop", r'[^/]+([^,]+)\,\s*line\s*(\d+)\:(.*)') + + ### Detailed report with `-fsave-optimization-record` option: If you want to get more detailed information (for now it reports the functions of failures) you should use new version of the toolchain (GCC > 9). As the new version of GCC compilers have `-fsave-optimization-record` option. `buildnativeoperations.sh` using CMake will detect it and switch to the more detailed version. @@ -31,7 +55,11 @@ And also the internal structure of the `-fsave-optimization-record` json.gz can It outputs two files **vecmiss_fsave.html** and **vecmiss_fsave.html.js**. So to see report details you need to enable javascript on browser if it was disabled. -##### Requirements for the Detailed report +There is also `--inverted-file` option to generate inverted index for optimization messages in json format **vecmiss_fsave_inverted_index.json**. +`inverted_index.py` script contains methods to work with those generated json outputs. For now one can get postings for optimization messages and filter those message based on file index and function index. File and function index can be obtained using the methods with a predicate filter . + + message : [ file_index, line_position, [ compressed list of function index] ] +#### Requirements for the Detailed report - GCC version > 9 - python3 - Cython (python3) @@ -39,11 +67,11 @@ It outputs two files **vecmiss_fsave.html** and **vecmiss_fsave.html.js**. So to - gzip (python3) - c++filt +##### Some internal notes for `-fsave-optimization-record` output format handling Internally, we are using Cython to speed up json.gz file processing (bigGzipJson.pyx). Because json.gz files can take big memory in raw when loaded in whole. If you want to use bigGzipJson outside `buildnativeoperations.sh` and CMake then you should compile it manually using this command in auto_vectorization folder: `python3 cython_setup.py build_ext --inplace` json.gz files could be processed outside of `buildnativeoperations.sh`. -You need to call `python3 auto_vect.py --fsave` inside base source folder and where json.gz files exist. - +You need to call `python3 auto_vect.py --fsave` inside base source folder and where json.gz files exist. diff --git a/libnd4j/auto_vectorization/auto_vect.py b/libnd4j/auto_vectorization/auto_vect.py index f98dc7422..1f642fb6b 100644 --- a/libnd4j/auto_vectorization/auto_vect.py +++ b/libnd4j/auto_vectorization/auto_vect.py @@ -1,13 +1,32 @@ ''' @author : Abdelrauf rauf@konduit.ai ''' -import re +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + +import argparse import sys +import re import os import subprocess import fnmatch import json import gzip +import argparse + try: from bigGzipJson import json_gzip_extract_objects except ImportError: @@ -17,22 +36,124 @@ from multiprocessing import Pool, Manager ,cpu_count import traceback import html -mtch = re.compile(r"[^/]*([^:]+)\:(\d+)\:(\d+)\:(.*)") -replace_msg = re.compile(r"(\d+)?\.?(\d+)?_?\d+\.?(\d+)?") -progress_msg = re.compile(r"\s{0,4}\[\s{0,2}\d+\%\]") -file_dir_strip = str(Path(os.getcwd())) -pp_index = file_dir_strip.rfind("libnd4j") -if pp_index>=0: - file_dir_strip =file_dir_strip[:pp_index+len("libnd4j")] -BASE_URL = "https://github.com/eclipse/deeplearning4j/tree/master/libnd4j/" -if BASE_URL.endswith("/")==False: - BASE_URL = BASE_URL + "/" -#print(file_dir_strip) +# compiler_name :[ (check_operation, version, name_entry), ..] +# positions playes role as checking will stop if it finds non empty entry +STDIN_COMPILER_ENTRY = { 'gcc' : [('<','9','gcc_old')], 'g++' : [('<','9','gcc_old'), ('t','_','')],'nc++' :[('t','_', 'ncxx')] } + +# FSAVE_SUPPORT compiler_name : (check_operation, version ) True or False +# if you want to make it false for all just put 'f' and 't' for true case +FSAVE_SUPPORT = { 'gcc' : ('>=','9'), 'g++' : ('>=','9'), 'nc++' : ('f','_')} + +stdin_parser = None +HAS_FSAVE = False + +FALLBACK_TO_FSAVE_FILES = True +FSAVE_INVERTED_INDEX = False + +number_replace = re.compile(r"(\d+)?\.?(\d+)?_?\d+\.?(\d+)?") +cmake_build_progress = re.compile(r"\s{0,4}\[\s{0,2}\d+\%\]") + +internal_match = 'deeplearning4j'+os.path.sep+'libnd4j'+os.path.sep +internal_match_replace = "./" + +BASE_URL = '' + +FSAVE_IGNORE_EXTERNALS = True +FSAVE_SHOW_SUCCESSFULS = True + +def general_stdin_parser(std_success_msg, std_fail_msg , std_line_regex_str): + ''' + General Parser from success and error message and line regex extractor + Parameters: + std_line_regex_str: it should match group(1) to file, group(2) to line_number and group(3) to message + ''' + matcher = re.compile(std_line_regex_str) + def local_parser(line, helper_storage): + #for generic we will parsing stdin input line by line + #so we dont need any storage + parse_info = ParseInfo() + x = matcher.match(line) + parse_info.external_source = True + if x: + #print(line) + file_name =x.group(1).strip() + ppos = file_name.find(internal_match) + if ppos>=0: + file_name = internal_match_replace + file_name[ppos+len(internal_match):] + parse_info.external_source = False + parse_info.line_pos = int(x.group(2)) + msg = x.group(3).lower().strip() + parse_info.file_name = file_name + if std_fail_msg in msg: + msg = number_replace.sub("_numb",msg.replace(std_fail_msg,"fail:")) + parse_info.msg = msg.strip() + parse_info.miss = 1 + parse_info.success = 0 + #print(parse_info.__dict__) + return parse_info + elif std_success_msg in msg: + parse_info.msg = msg.strip() + parse_info.miss = 0 + parse_info.success = 1 + #print(parse_info.__dict__) + return parse_info + return None + + return local_parser + + +# entry: parser list for compilers that can parse compilers output and return Parse_info +# the signature of the parser function is `Parse_info parser_function_name_(line, helper_storage)` +# Please note that Parse_info members should be the same as we defined in `general_stdin_parser local_parser` +# the line is a compiler output. helper_storage is a dict and can be used as a state storage +# to parse multi-line and et cetera, as parser called for each line. +STDIN_PARSERS = { 'gcc_old' : general_stdin_parser('loop vectorized', 'note: not vectorized:', r"[^/]*([^:]+)\:(\d+)\:\d+\:(.*)" ), + 'ncxx' : general_stdin_parser("vectorized loop", "unvectorized loop", r'[^/]+([^,]+)\,\s*line\s*(\d+)\:(.*)') +} + + + +def version_check( version1, version2, op='>='): + op_list = {"<": (lambda x,y: x": (lambda x,y: x>y), ">=": (lambda x,y: x>=y), + 'f': (lambda x,y: False),'t': (lambda x,y: True) + + } + return op_list[op](version1.split('.'),version2.split('.')) + + +def init_global_options(args): + global stdin_parser + global HAS_FSAVE + global BASE_URL + global FSAVE_INVERTED_INDEX + + FSAVE_INVERTED_INDEX = args.inverted_index + BASE_URL = args.base_url + if BASE_URL.endswith("/")==False: + BASE_URL = BASE_URL + "/" + + entry_name = '' + + if args.compiler in STDIN_COMPILER_ENTRY: + for x in STDIN_COMPILER_ENTRY[args.compiler]: + ret = version_check(args.compiler_version,x[1],x[0]) + if ret == True: + entry_name = x[2] + break + + if len(entry_name)>0: + stdin_parser = STDIN_PARSERS[entry_name] + if args.compiler in FSAVE_SUPPORT: + x = FSAVE_SUPPORT[args.compiler] + HAS_FSAVE = version_check(args.compiler_version,x[1],x[0]) + class info: def __repr__(self): return str(self.__dict__) -FSAVE_IGNORE_EXTERNALS = True + def get_cxx_filt_result(strx): if len(strx)<1: @@ -63,22 +184,10 @@ def get_obj_json_gz(filename): return json.loads(f.read().decode('utf-8'))[-1] - -def get_msg(msg): - msg = msg.lower().strip() - if "note: not vectorized:" in msg: - msg = replace_msg.sub("_numb",msg.replace("note: not vectorized:","")) - return( 0, 1, msg.strip()) - elif "loop vectorized" in msg: - return (1, 0, None) - # elif msg.startswith("missed")==False: - # msg = replace_msg.sub("_numb",msg) - # return( 0, 0, msg.strip()) - return None - +class ParseInfo: + pass - class File_Info: ''' Holds information about vectorized and miss vectorized lines for one file @@ -121,9 +230,17 @@ class File_Info: if success and "loop vectorized" in msg: v.optimized +=1 self.total_opted +=1 + if FSAVE_SHOW_SUCCESSFULS==True: + if "success" in v.miss_details2: + ls = v.miss_details2.get("success") + ls.add(function) + else: + ls =set() + v.miss_details2["success"]=ls + ls.add(function) elif success==False and "not vectorized:" in msg: #reduce this msg - msg = msg.replace("not vectorized:","") + msg = msg.replace("not vectorized:","").strip() v.missed +=1 self.total_missed +=1 msg = sys.intern(msg) @@ -136,15 +253,15 @@ class File_Info: ls.add(function) return self - def add(self, line_pos, msg_x): + def add(self, line_pos, msg, success, missed): v = self.add_line(line_pos) - if msg_x is not None: - v.optimized += msg_x[0] - v.missed += msg_x[1] - self.total_opted += msg_x[0] - self.total_missed += msg_x[1] - if msg_x[2] is not None: - v.miss_details.add(msg_x[2]) + if msg is not None: + v.optimized += success + v.missed += missed + self.total_opted += success + self.total_missed += missed + if msg is not None: + v.miss_details.add(msg) return self @@ -170,8 +287,9 @@ def process_gzip_json_new(json_gz_fname,list_Queue): if len(x['message'])>0 and 'location' in x: line = int(x['location']['line']) file_name = x['location']['file'].strip() - if file_dir_strip in file_name: - file_name = file_name.replace(file_dir_strip,'./') + ppos = file_name.find(internal_match) + if ppos>=0: + file_name = internal_match_replace + file_name[ppos+len(internal_match):] external_source = False msg = x['message'][0] success = x['kind'] == 'success' @@ -240,8 +358,8 @@ def consume_processed_new(list_Queue , c_index): print("generate report for consumer {0} {1}".format(c_index,len(info_))) try: uniq_ind = str(c_index)+'_' if len(list_Queue)>1 else '' - generate_report(wr_fname,info_ ,only_body = False, unique_id_prefix = uniq_ind,fsave_format = True, function_list= func_list) - print(" consumer {0} saved output into {1}".format(c_index,wr_fname)) + wr = generate_report(wr_fname,info_ ,only_body = False, unique_id_prefix = uniq_ind,fsave_format = True, function_list= func_list) + print(" consumer {0} saved output into {1}".format(c_index, wr)) except Exception as e: print(traceback.format_exc()) @@ -249,28 +367,27 @@ def consume_processed_new(list_Queue , c_index): def obtain_info_from(input_): info_ = dict() + parser_storage = dict() #can be used for parsing multi-lines + if HAS_FSAVE ==True or stdin_parser is None: + #just print progress + for line in input_: + if cmake_build_progress.match(line): + #actually we redirect only, stderr so this should not happen + print("__"+line.strip()) + elif "error" in line or "Error" in line: + print("****"+line.strip()) + return info_ for line in input_: - x = mtch.match(line) - external_source = True - if x: - file_name =x.group(1).strip() - if file_dir_strip in file_name: - file_name = file_name.replace(file_dir_strip,'') - external_source = False - line_number = int(x.group(2)) - msg = x.group(4).lower() - msg = msg.replace(file_dir_strip,'./') - msg_x = get_msg(msg) - if msg_x is None: - continue - if file_name in info_: + x = stdin_parser(line, parser_storage) + if x is not None: + if x.file_name in info_: #ignore col_number - info_[file_name].add(line_number,msg_x) + info_[x.file_name].add(x.line_pos, x.msg, x.success, x.miss) + info_[x.file_name].external = x.external_source else: - #print("{0} {1}".format(file_name,external_source)) - info_[file_name] = File_Info().add(line_number,msg_x) - info_[file_name].external = external_source - elif progress_msg.match(line): + info_[x.file_name] = File_Info().add(x.line_pos, x.msg, x.success, x.miss) + info_[x.file_name].external = x.external_source + elif cmake_build_progress.match(line): #actually we redirect only, stderr so this should not happen print("__"+line.strip()) elif "error" in line or "Error" in line: @@ -324,6 +441,13 @@ def footer(): return '\n' + +def get_compressed_indices_list(set_a): + new_list = sorted(list(set_a)) + for i in range(len(new_list)-1,0,-1): + new_list[i] = new_list[i] - new_list[i-1] + return new_list + def get_compressed_indices(set_a): a_len = len(set_a) if a_len<=1: @@ -350,10 +474,10 @@ def get_content(k, v, unique_id_prefix = '', fsave_format=False): inc_id = 0 for fk,fv in sorted(v.infos.items()): if fsave_format==True: - inner_str+='

{1}
{2}
    '.format( + inner_str+='
    {1}
    {2}
      '.format( fk,fv.optimized,fv.missed,unique_id_prefix,inc_id) else: - inner_str+='
      {2}
      {3}
        '.format( + inner_str+='
        {2}
        {3}
          '.format( k,fk,fv.optimized,fv.missed,unique_id_prefix,inc_id) inc_id+=1 if fsave_format==True: @@ -448,12 +572,49 @@ def additional_tags(fsave):
        ''' +class Json_reverse: + pass + +def generate_inverted_index(output_name, info_ , function_list ): + temp_str ='' + output_name = output_name.replace(".html","_inverted_index") + rev_index = Json_reverse() + rev_index.functions =[get_cxx_filt_result(k) for k,v in sorted(function_list.items(), key=lambda x: x[1])] + rev_index.msg_entries = {} + message_list =dict() + rev_index.files = list() + doc_i = 0 + for doc_name,v in info_.items(): + for line_pos,info in v.infos.items(): + for msg,func_indices in info.miss_details2.items(): + #we index msgs here, as previously it was not done + msg_index = len(message_list) + if msg in message_list: + msg_index = message_list[msg] + else: + message_list[msg] = msg_index + ## postings + if not msg_index in rev_index.msg_entries: + rev_index.msg_entries[msg_index] = list() + rev_index.msg_entries[msg_index].append([doc_i,line_pos, get_compressed_indices_list(func_indices)]) + doc_i = doc_i + 1 + rev_index.files.append(doc_name) + rev_index.messages = [k for k,v in sorted(message_list.items(), key=lambda x: x[1])] + with open(output_name+ ".json","w") as f: + json.dump(rev_index.__dict__, f) + return (output_name+ ".json") + + + + def generate_report(output_name,info_ ,only_body = False, unique_id_prefix='',fsave_format = False , function_list = None): ''' Generate Auto-Vectorization Report in html format ''' + temp_str ='' + if FSAVE_INVERTED_INDEX == True and fsave_format == True: + return generate_inverted_index(output_name,info_ , function_list ) - temp_str ='' if fsave_format ==True: # we gonna dump function_list as key list sorted by value #and use it as jscript array @@ -491,7 +652,10 @@ def generate_report(output_name,info_ ,only_body = False, unique_id_prefix='',fs if len(temp_str)>0: f.write(temp_str) if only_body==False: - f.write(footer()) + f.write(footer()) + + return (output_name, output_name+".js") if fsave_format ==True else (output_name) + def fsave_report_launch(json_gz_list): @@ -521,20 +685,40 @@ def fsave_report_launch(json_gz_list): cs.wait() +class ArgumentParser(argparse.ArgumentParser): + def error(self, message): + self.print_help(sys.stderr) + self.exit(2, ' error: {0}\n'.format ( message)) def main(): - if "--fsave" in sys.argv: + parser = ArgumentParser(description='Auto vectorization report') + parser.add_argument('--fsave', action='store_true', help='looks for json files generated by -fsave-optimization-record flag instead of waiting for the stdin') + parser.add_argument('--inverted_index', action='store_true', help='generate inverted_index for -fsave-optimization-record in json format') + parser.add_argument('--base_url', default='https://github.com/eclipse/deeplearning4j/tree/master/libnd4j/', help='url link for source code line view') + parser.add_argument('--compiler', choices=['gcc','nc++'], default = 'gcc') + parser.add_argument('--compiler_version',default='') + args = parser.parse_args() + init_global_options(args) + + if args.fsave: json_gz_list = internal_glob(".","*.json.gz") fsave_report_launch(json_gz_list) return + #initialize globals file_info = obtain_info_from(sys.stdin) + + if HAS_FSAVE==True: + json_gz_list = internal_glob(".","*.json.gz") + fsave_report_launch(json_gz_list) + return + if len(file_info)>0: #print(file_info) print("---generating vectorization html report--") generate_report("vecmiss.html", file_info) - else: + elif FALLBACK_TO_FSAVE_FILES == True: # lets check if we got fsave files json_gz_list = internal_glob(".","*.json.gz") fsave_report_launch(json_gz_list) diff --git a/libnd4j/auto_vectorization/bigGzipJson.pyx b/libnd4j/auto_vectorization/bigGzipJson.pyx index 277bd16ec..12d407741 100644 --- a/libnd4j/auto_vectorization/bigGzipJson.pyx +++ b/libnd4j/auto_vectorization/bigGzipJson.pyx @@ -312,7 +312,7 @@ def json_gzip_extract_objects(filename, property_name, next_contains_value=''): is_End = False #total = 0 while is_End==False: - buffer = f.read(8192*2) + buffer = f.read(16384*2) lenx= len(buffer) #total +=lenx @@ -341,7 +341,7 @@ def json_gzip_extract_objects(filename, property_name, next_contains_value=''): strx = b'' #print('----+++') - if(len(strx)>16384*3): + if(len(strx)>16384*4): #buffer to big #try to avoid big parents if DEBUG_LOG: diff --git a/libnd4j/auto_vectorization/cython_setup.py b/libnd4j/auto_vectorization/cython_setup.py index 9dc6ef0c1..31d7fed02 100644 --- a/libnd4j/auto_vectorization/cython_setup.py +++ b/libnd4j/auto_vectorization/cython_setup.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + from distutils.core import setup from Cython.Build import cythonize setup(ext_modules=cythonize("bigGzipJson.pyx", language_level="3")) diff --git a/libnd4j/auto_vectorization/inverted_index.py b/libnd4j/auto_vectorization/inverted_index.py new file mode 100644 index 000000000..9d5e77a74 --- /dev/null +++ b/libnd4j/auto_vectorization/inverted_index.py @@ -0,0 +1,202 @@ +''' +@author : Abdelrauf rauf@konduit.ai +''' + +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + +import json + + +def get_compressed_indices_list(set_a): + '''Get compressed list from set ''' + new_list = sorted(list(set_a)) + for i in range(len(new_list)-1,0,-1): + new_list[i] = new_list[i] - new_list[i-1] + return new_list + +def intersect_compressed_sorted_list(list1, list2): + len_1 = len(list1) + len_2 = len(list2) + intersected = [] + last_1 ,last_2,i,j = 0,0,0,0 + while ireal_j: + last_2 = real_j + j+=1 + else: + #intersected + i+=1 + j+=1 + intersected.append(real_i) + last_1 = real_i + last_2 = real_j + return intersected + + +class InvertedIndex: + ''' InvertedIndex for the auto_vect generated invert_index json format ''' + + def __init__(self, file_name): + with open(file_name,"r") as ifx: + self.index_obj = json.load(ifx) + + + def get_all_index(self, entry_name, predicate ): + ''' + Parameters: + entry_name {messages,files,function} + predicate function + Returns: + list: list of indexes + ''' + return [idx for idx,x in enumerate(self.index_obj[entry_name]) if predicate(x)] + + def get_all_index_value(self, entry_name, predicate ): + ''' + Parameters: + entry_name {messages,files,function} + predicate function + Returns: + list: list of indexes ,values + ''' + return [(idx, x) for idx,x in enumerate(self.index_obj[entry_name]) if predicate(x)] + + def get_function_index(self, predicate = lambda x: True): + return self.get_all_index('functions', predicate) + + def get_msg_index(self, predicate = lambda x: True): + return self.get_all_index('messages', predicate) + + def get_file_index(self, predicate = lambda x: True): + return self.get_all_index('files', predicate) + + + + def get_msg_postings(self, index ): + ''' + Gets postings for the given message + Parameters: + index message index + Returns: + [[file index , line position , [ functions ]]]: list of file index line position and and compressed functions for the given message + ''' + key = str(index) + if not key in self.index_obj['msg_entries']: + return [] + return self.index_obj['msg_entries'][key] + + + + def intersect_postings(self, posting1, compressed_sorted_functions , sorted_files = None): + ''' + Intersects postings with the given functions and sorted_files + Parameters: + posting1 postings. posting is [[file_id1,line, [compressed_functions]],..] + compressed_sorted_functions compressed sorted function index to be intersected + sorted_files sorted index of files to be Intersected with the result [ default is None] + Returns: + filtered uncompressed posting + ''' + new_postings = [] + if sorted_files is not None: + i,j = 0,0 + len_1 = len(posting1) + len_2 = len(sorted_files) + while ifile_2: + j+=1 + else: + new_postings.append(posting1[i]) + i+=1 + #dont increase sorted_files in this case + #j=+1 + + input_p =new_postings if sorted_files is not None else posting1 + #search and intersect all functions + new_list = [] + for p in input_p: + px = intersect_compressed_sorted_list(compressed_sorted_functions,p[2]) + if len(px)>0: + new_list.append([p[0],p[1],px]) + return new_list + + + def get_results_for_msg(self, msg_index, functions, sorted_files = None): + ''' + Return filtered posting for the given msgs index + Parameters: + msg_index message index + functions function index list + sorted_files intersects with sorted_files also (default: None) + Returns: + filtered uncompressed posting for msg index [ [doc, line, [ function index]] ] + ''' + result = [] + compressed = get_compressed_indices_list(functions) + ix = self.intersect_postings(self.get_msg_postings(msg_index) , compressed, sorted_files) + if len(ix)>0: + result.append(ix) + return result + + def get_results_for_msg_grouped_by_func(self, msg_index, functions, sorted_files = None): + ''' + Return {functions: set((doc_id, pos))} for the given msg index + Parameters: + msg_index message index + functions function index list + sorted_files intersects with sorted_files also (default: None) + Returns: + {functions: set((doc_id, pos))} + ''' + result = {} + compressed = get_compressed_indices_list(functions) + ix = self.intersect_postings(self.get_msg_postings(msg_index) , compressed, sorted_files) + for t in ix: + for f in t[2]: + if f in result: + result[f].add((t[0],t[1])) + else: + result[f] = set() + result[f].add((t[0],t[1])) + return result + +''' +Example: + +import re +rfile='vecmiss_fsave_inverted_index.json' +import inverted_index as helper +ind_obj = helper.InvertedIndex(rfile) +reg_ops = re.compile(r'simdOps') +reg_msg = re.compile(r'success') +simdOps = ind_obj.get_function_index(lambda x : reg_ops.search(x) ) +msgs = ind_obj.get_msg_index(lambda x: reg_msg.search(x)) +files = ind_obj.get_file_index(lambda x: 'cublas' in x) +res = ind_obj.get_results_for_msg(msgs[0],simdOps) + +''' \ No newline at end of file diff --git a/libnd4j/blas/CMakeLists.txt b/libnd4j/blas/CMakeLists.txt index e258c24a1..ea5241e1c 100755 --- a/libnd4j/blas/CMakeLists.txt +++ b/libnd4j/blas/CMakeLists.txt @@ -78,8 +78,10 @@ else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SD_OPS_LIST}") endif() -IF(${SD_ARCH} MATCHES "arm*") +IF(${SD_ARCH} MATCHES "armv8") set(ARCH_TUNE "-march=${SD_ARCH}") +ELSEIF(${SD_ARCH} MATCHES "armv7") + set(ARCH_TUNE "-march=${SD_ARCH} -mfpu=neon ") ELSEIF(${SD_ARCH} MATCHES "power*") set(ARCH_TUNE "-mcpu=${SD_ARCH} -mtune=${SD_ARCH} -D__POWER") ELSEIF(${SD_EXTENSION} MATCHES "avx2") @@ -208,7 +210,7 @@ if(SD_CUDA) file(GLOB_RECURSE CUSTOMOPS_SOURCES false ../include/ops/declarable/generic/*.cpp) file(GLOB_RECURSE CUSTOMOPS_HELPERS_SOURCES false ../include/ops/declarable/helpers/cuda/*.cu ../include/ops/declarable/helpers/impl/*.cpp) file(GLOB_RECURSE OPS_SOURCES false ../include/ops/impl/*.cpp ../include/ops/declarable/impl/*.cpp ../include/ops/*.h) - file(GLOB_RECURSE HELPERS_SOURCES false ../include/helpers/impl/*.cpp ../include/helpers/*.cu ../include/helpers/*.cupp ../include/helpers/*.h) + file(GLOB_RECURSE HELPERS_SOURCES false ../include/build_info.cu ../include/helpers/impl/*.cpp ../include/helpers/*.cu ../include/helpers/*.cupp ../include/helpers/*.h) file(GLOB_RECURSE INDEXING_SOURCES false ../include/indexing/*.cpp ../include/indexing/*.h) file(GLOB_RECURSE LOOPS_SOURCES false ../include/loops/impl/*.cpp ../include/loops/*.h) file(GLOB_RECURSE LEGACY_SOURCES false ../include/legacy/impl/*.cpp ../include/legacy/*.cu ../include/legacy/*.h) @@ -288,7 +290,7 @@ elseif(SD_CPU) file(GLOB_RECURSE CUSTOMOPS_GENERIC_SOURCES false ../include/ops/declarable/helpers/cpu/*.cpp ../include/ops/declarable/helpers/impl/*.cpp) file(GLOB_RECURSE OPS_SOURCES false ../include/ops/impl/*.cpp ../include/ops/declarable/impl/*.cpp ../include/ops/*.h) file(GLOB_RECURSE INDEXING_SOURCES false ../include/indexing/*.cpp ../include/indexing/*.h) - file(GLOB_RECURSE HELPERS_SOURCES false ../include/helpers/*.cpp ../include/helpers/*.h) + file(GLOB_RECURSE HELPERS_SOURCES false ../include/build_info.cpp ../include/helpers/*.cpp ../include/helpers/*.h) file(GLOB_RECURSE LEGACY_SOURCES false ../include/legacy/impl/*.cpp ../include/legacy/cpu/*.cpp ../include/legacy/*.h) file(GLOB_RECURSE LOOPS_SOURCES false ../include/loops/*.cpp ../include/loops/*.h) @@ -366,6 +368,11 @@ elseif(SD_CPU) if (NOT BLAS_LIBRARIES) set(BLAS_LIBRARIES "") endif() + get_cmake_property(_variableNames VARIABLES) + list (SORT _variableNames) + foreach (_variableName ${_variableNames}) + message(STATUS "${_variableName}=${${_variableName}}") + endforeach() target_link_libraries(${SD_LIBRARY_NAME} ${MKLDNN} ${MKLDNN_LIBRARIES} ${ARMCOMPUTE_LIBRARIES} ${OPENBLAS_LIBRARIES} ${BLAS_LIBRARIES} ${CPU_FEATURES}) if ("${SD_ALL_OPS}" AND "${SD_BUILD_MINIFIER}") diff --git a/libnd4j/buildnativeoperations.sh b/libnd4j/buildnativeoperations.sh index 107906349..49da2dca8 100755 --- a/libnd4j/buildnativeoperations.sh +++ b/libnd4j/buildnativeoperations.sh @@ -1,19 +1,21 @@ #!/usr/bin/env bash -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ set -eu @@ -47,7 +49,6 @@ fi } - export CMAKE_COMMAND="cmake" if which cmake3 &> /dev/null; then export CMAKE_COMMAND="cmake3" @@ -199,17 +200,22 @@ fi case "$OS" in linux-armhf) - export RPI_BIN=$RPI_HOME/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf - export CMAKE_COMMAND="$CMAKE_COMMAND -D CMAKE_TOOLCHAIN_FILE=cmake/rpi.cmake -DSD_ARM_BUILD=true" if [ -z "$ARCH" ]; then - ARCH="armv7-r" + ARCH="armv7-a" fi + if [ ! -z ${RPI_BIN+set} ]; then + export CMAKE_COMMAND="$CMAKE_COMMAND -D CMAKE_TOOLCHAIN_FILE=cmake/rpi.cmake" + fi + export CMAKE_COMMAND="$CMAKE_COMMAND -DSD_ARM_BUILD=true -DSD_SANITIZE=OFF " ;; linux-arm64) if [ -z "$ARCH" ]; then ARCH="armv8-a" fi + if [ ! -z ${RPI_BIN+set} ]; then + export CMAKE_COMMAND="$CMAKE_COMMAND -D CMAKE_TOOLCHAIN_FILE=cmake/rpi.cmake" + fi export CMAKE_COMMAND="$CMAKE_COMMAND -DSD_ARM_BUILD=true" ;; diff --git a/libnd4j/cibuild.sh b/libnd4j/cibuild.sh index 337a2d746..f2480d5c4 100755 --- a/libnd4j/cibuild.sh +++ b/libnd4j/cibuild.sh @@ -1,19 +1,21 @@ #!/usr/bin/env bash -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ set -eu diff --git a/libnd4j/cmake/FindARMCOMPUTE.cmake b/libnd4j/cmake/FindARMCOMPUTE.cmake index ae0e1fbba..e8911557a 100644 --- a/libnd4j/cmake/FindARMCOMPUTE.cmake +++ b/libnd4j/cmake/FindARMCOMPUTE.cmake @@ -18,6 +18,10 @@ ### Find ARM COMPUTE LIBRARY STATIC libraries +if (NOT DEFINED ${ARMCOMPUTE_ROOT}) + set(ARMCOMPUTE_ROOT "$ENV{ARMCOMPUTE_ROOT}") +endif() + SET (COMPUTE_INCLUDE_DIRS /usr/include ${ARMCOMPUTE_ROOT} diff --git a/libnd4j/cmake/postinst b/libnd4j/cmake/postinst index df4e554fd..98877c9f0 100755 --- a/libnd4j/cmake/postinst +++ b/libnd4j/cmake/postinst @@ -1,4 +1,22 @@ #!/bin/sh +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + if [ -f "/usr/local/lib/libnd4jcpu.so" ]; then cat >/etc/ld.so.conf.d/libnd4jcpu.conf < properties); @@ -117,8 +120,11 @@ namespace sd { static FORCEINLINE _CUDA_HD bool hasExtraProperties(Nd4jLong *shapeInfo); + static FORCEINLINE _CUDA_HD bool hasPaddedBuffer(const Nd4jLong* shapeInfo); + static FORCEINLINE _CUDA_HD void flagAsPaddedBuffer(Nd4jLong* shapeInfo); static FORCEINLINE _CUDA_HD void resetDataType(Nd4jLong *shapeInfo); + static FORCEINLINE _CUDA_HD Nd4jLong propertyWithoutDataType(const Nd4jLong *shapeInfo); static FORCEINLINE _CUDA_HD void setDataType(Nd4jLong *shapeInfo, const sd::DataType dataType); static FORCEINLINE _CUDA_HD void copyDataType(Nd4jLong* to, const Nd4jLong* from); @@ -253,7 +259,7 @@ namespace sd { } FORCEINLINE _CUDA_HD void ArrayOptions::unsetPropertyBit(Nd4jLong *shapeInfo, int property) { - extra(shapeInfo) &= property; + extra(shapeInfo) &= ~property; } FORCEINLINE _CUDA_HD SparseType ArrayOptions::sparseType(const Nd4jLong *shapeInfo) { @@ -283,17 +289,37 @@ namespace sd { } } + FORCEINLINE _CUDA_HD void ArrayOptions::flagAsPaddedBuffer(Nd4jLong* shapeInfo) { + if (!isNewFormat(shapeInfo)) + return ; + + return setPropertyBit(shapeInfo, ARRAY_HAS_PADDED_BUFFER); + } + + FORCEINLINE _CUDA_HD bool ArrayOptions::hasPaddedBuffer(const Nd4jLong* shapeInfo) { + if (!isNewFormat(shapeInfo)) + return false; + + return hasPropertyBitSet(shapeInfo, ARRAY_HAS_PADDED_BUFFER); + } + + FORCEINLINE _CUDA_HD Nd4jLong ArrayOptions::propertyWithoutDataType(const Nd4jLong *shapeInfo){ + Nd4jLong property = shapeInfo[shapeInfo[0] + shapeInfo[0] + 1]; + property = property & (~ARRAY_BOOL); + property = property & (~ARRAY_HALF); + property = property & (~ARRAY_BHALF); + property = property & (~ARRAY_FLOAT); + property = property & (~ARRAY_DOUBLE); + property = property & (~ARRAY_INT); + property = property & (~ARRAY_LONG); + property = property & (~ARRAY_CHAR); + property = property & (~ARRAY_SHORT); + property = property & (~ARRAY_UNSIGNED); + return property; + } + FORCEINLINE _CUDA_HD void ArrayOptions::resetDataType(Nd4jLong *shapeInfo) { - unsetPropertyBit(shapeInfo, ARRAY_BOOL); - unsetPropertyBit(shapeInfo, ARRAY_HALF); - unsetPropertyBit(shapeInfo, ARRAY_BHALF); - unsetPropertyBit(shapeInfo, ARRAY_FLOAT); - unsetPropertyBit(shapeInfo, ARRAY_DOUBLE); - unsetPropertyBit(shapeInfo, ARRAY_INT); - unsetPropertyBit(shapeInfo, ARRAY_LONG); - unsetPropertyBit(shapeInfo, ARRAY_CHAR); - unsetPropertyBit(shapeInfo, ARRAY_SHORT); - unsetPropertyBit(shapeInfo, ARRAY_UNSIGNED); + extra(shapeInfo) = propertyWithoutDataType(shapeInfo); } FORCEINLINE _CUDA_HD void ArrayOptions::setDataType(Nd4jLong *shapeInfo, const sd::DataType dataType) { diff --git a/libnd4j/include/array/NDArray.h b/libnd4j/include/array/NDArray.h index 67452dda2..8f28349c7 100644 --- a/libnd4j/include/array/NDArray.h +++ b/libnd4j/include/array/NDArray.h @@ -463,6 +463,11 @@ namespace sd { */ FORCEINLINE Nd4jLong bufferOffset() const; + /** + * checks if array has padded buffer + */ + FORCEINLINE bool hasPaddedBuffer() const; + /** * if _bufferD==nullptr return _buffer, else return _bufferD */ @@ -1744,7 +1749,7 @@ bool NDArray::isEmpty() const { if (this->_shapeInfo == nullptr) return false; - return ArrayOptions::arrayType(this->shapeInfo()) == ArrayType::EMPTY; + return ArrayOptions::arrayType(this->shapeInfo()) == ArrayType::EMPTY || this->lengthOf() < 1; } ////////////////////////////////////////////////////////////////////////// @@ -1781,9 +1786,11 @@ T& NDArray::r(const Nd4jLong i) { // if (i >= _length) // throw std::invalid_argument("NDArray::t(i): input index is out of array length !"); - if (DataTypeUtils::fromT() != _dataType) + auto inputDtype = DataTypeUtils::fromT(); + if (inputDtype != _dataType) { + nd4j_printf("Expected data type was %d but was %d\n",_dataType,inputDtype); throw std::invalid_argument("NDArray::t(i): type of array is not equal to template type T!"); - + } syncToHost(); tickWriteHost(); @@ -1796,9 +1803,11 @@ T& NDArray::r(const Nd4jLong i, const Nd4jLong j) { if (rankOf() != 2 || i >= sizeAt(0) || j >= sizeAt(1)) throw std::invalid_argument("NDArray::t(i,j): one of input indexes is out of array length or rank!=2 !"); - if (DataTypeUtils::fromT() != _dataType) + auto inputDtype = DataTypeUtils::fromT(); + if (inputDtype != _dataType) { + nd4j_printf("Expected data type was %d but was %d\n", _dataType, inputDtype); throw std::invalid_argument("NDArray::t(i,j): type of array is not equal to template type T!"); - + } syncToHost(); tickWriteHost(); @@ -1839,8 +1848,11 @@ T NDArray::t(const Nd4jLong i) const { // if (i >= _length) // throw std::invalid_argument("NDArray::t(i): input index is out of array length !"); - if (DataTypeUtils::fromT() != _dataType) + auto inputDtype = DataTypeUtils::fromT(); + if (inputDtype != _dataType) { + nd4j_printf("Expected data type was %d but was %d\n", _dataType, inputDtype); throw std::invalid_argument("NDArray::t(i): type of array is not equal to template type T!"); + } syncToHost(); @@ -1853,9 +1865,11 @@ T NDArray::t(const Nd4jLong i, const Nd4jLong j) const { if (rankOf() != 2 || i >= sizeAt(0) || j >= sizeAt(1)) throw std::invalid_argument("NDArray::t(i,j): one of input indexes is out of array length or rank!=2 !"); - if (DataTypeUtils::fromT() != _dataType) + auto inputDtype = DataTypeUtils::fromT(); + if (inputDtype != _dataType) { + nd4j_printf("Expected data type was %d but was %d\n", _dataType, inputDtype); throw std::invalid_argument("NDArray::t(i,j): type of array is not equal to template type T!"); - + } syncToHost(); return *(reinterpret_cast(bufferWithOffset(i * strideAt(0) + j * strideAt(1)))); @@ -1867,9 +1881,11 @@ T NDArray::t(const Nd4jLong i, const Nd4jLong j, const Nd4jLong k) const { if (rankOf() != 3 || i >= sizeAt(0) || j >= sizeAt(1) || k >= sizeAt(2)) throw std::invalid_argument("NDArray::t(i,j,k): one of input indexes is out of array length or rank!=3!"); - if (DataTypeUtils::fromT() != _dataType) + auto inputDtype = DataTypeUtils::fromT(); + if (inputDtype != _dataType) { + nd4j_printf("Expected data type was %d but was %d\n", _dataType, inputDtype); throw std::invalid_argument("NDArray::t(i,j,k): type of array is not equal to template type T!"); - + } syncToHost(); return *(reinterpret_cast(bufferWithOffset(i * strideAt(0) + j * strideAt(1) + k * strideAt(2)))); @@ -1881,9 +1897,11 @@ T NDArray::t(const Nd4jLong i, const Nd4jLong j, const Nd4jLong k, const Nd4jLon if (rankOf() != 4 || i >= sizeAt(0) || j >= sizeAt(1) || k >= sizeAt(2) || w >= sizeAt(3)) throw std::invalid_argument("NDArray::t(i,j,k,w): one of input indexes is out of array length or rank!=4!"); - if (DataTypeUtils::fromT() != _dataType) + auto inputDtype = DataTypeUtils::fromT(); + if (inputDtype != _dataType) { + nd4j_printf("Expected data type was %d but was %d\n", _dataType, inputDtype); throw std::invalid_argument("NDArray::t(i,j,k,w): type of array is not equal to template type T!"); - + } syncToHost(); return *(reinterpret_cast(bufferWithOffset(i * strideAt(0) + j * strideAt(1) + k * strideAt(2) + w * strideAt(3)))); @@ -1929,6 +1947,11 @@ Nd4jLong NDArray::bufferOffset() const { return _offset; } +//////////////////////////////////////////////////////////////////////// +bool NDArray::hasPaddedBuffer() const { + return ArrayOptions::hasPaddedBuffer(_shapeInfo); +} + #if defined(__CUDACC__) //&& defined(BUILD_TESTS) // for CUDA we need stil stuff inline diff --git a/libnd4j/include/array/NDArray.hXX b/libnd4j/include/array/NDArray.hXX index cfd910343..e9c3bc104 100644 --- a/libnd4j/include/array/NDArray.hXX +++ b/libnd4j/include/array/NDArray.hXX @@ -1218,9 +1218,9 @@ void NDArray::assign(const T& value, bool allowParallelism) { // just fire scalar auto temp = NDArrayFactory::create(dataType(), value, this->getContext()); - NDArray::prepareSpecialUse({this}, {&temp}); + NDArray::prepareSpecialUse(std::vector{this}, std::vector{&temp}); NativeOpExecutioner::execScalar(getContext(), sd::scalar::CopyPws, buffer(), shapeInfo(), specialBuffer(), specialShapeInfo(), buffer(), shapeInfo(), specialBuffer(), specialShapeInfo(), temp.buffer(), temp.shapeInfo(), temp.specialBuffer(), temp.specialShapeInfo(), nullptr, allowParallelism); - NDArray::registerSpecialUse({this}, {&temp}); + NDArray::registerSpecialUse(std::vector{this}, std::vector{&temp}); } template ND4J_EXPORT void NDArray::assign(const double& value, bool allowParallelism); template ND4J_EXPORT void NDArray::assign(const float& value, bool allowParallelism); diff --git a/libnd4j/include/array/NDArrayFactory.h b/libnd4j/include/array/NDArrayFactory.h index f25c68fb4..f778f3adb 100644 --- a/libnd4j/include/array/NDArrayFactory.h +++ b/libnd4j/include/array/NDArrayFactory.h @@ -18,7 +18,7 @@ // // Created by raver119 on 2018-09-16. // @author Oleg Semeniv -// +// @author Abdelrauf #ifndef DEV_TESTS_NDARRAYFACTORY_H #define DEV_TESTS_NDARRAYFACTORY_H @@ -32,6 +32,7 @@ namespace sd { + class ND4J_EXPORT NDArrayFactory { private: template @@ -58,6 +59,10 @@ namespace sd { template static NDArray* linspace(T from, T to, Nd4jLong numElements); + static NDArray create(const ShapeDescriptor& shapeDescriptor, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); + + static NDArray create(const char order, const std::vector& shape, sd::DataType dataType, const std::vector& paddings, const std::vector& paddingOffsets, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); + template static NDArray* create_(const T value, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); diff --git a/libnd4j/include/array/ShapeDescriptor.h b/libnd4j/include/array/ShapeDescriptor.h index 6e2299ba0..0ce9de25a 100644 --- a/libnd4j/include/array/ShapeDescriptor.h +++ b/libnd4j/include/array/ShapeDescriptor.h @@ -1,6 +1,7 @@ /******************************************************************************* * Copyright (c) 2015-2018 Skymind, Inc. - * + * Copyright (c) 2019-2020 Konduit K.K. + * * This program and the accompanying materials are made available under the * terms of the Apache License, Version 2.0 which is available at * https://www.apache.org/licenses/LICENSE-2.0. @@ -16,7 +17,7 @@ // // @author raver119@gmail.com -// +// @author AbdelRauf #ifndef DEV_TESTS_SHAPEDESCRIPTOR_H #define DEV_TESTS_SHAPEDESCRIPTOR_H @@ -25,11 +26,18 @@ #include #include #include +#include #include #include namespace sd { + +#define SHAPE_DESC_OK 0 +#define SHAPE_DESC_INCORRECT_STRIDES 1 //strides does not match shapes +#define SHAPE_DESC_INCORRECT_EWS 2 //ews neither matches stride nor continuity +#define SHAPE_DESC_INCORRECT_RANK 4 //rank > 32 or shape size and rank does not match + class ND4J_EXPORT ShapeDescriptor { private: @@ -39,7 +47,8 @@ class ND4J_EXPORT ShapeDescriptor { Nd4jLong _ews = 1; char _order = 'c'; DataType _dataType; - bool _empty = false; + Nd4jLong _extraProperties = 0; + Nd4jLong _paddedAllocSize = 0; public: ShapeDescriptor(const ShapeDescriptor &other); @@ -49,11 +58,12 @@ class ND4J_EXPORT ShapeDescriptor { explicit ShapeDescriptor(const Nd4jLong *shapeInfo, const Nd4jLong *dtypeOverride, const Nd4jLong *orderOverride); explicit ShapeDescriptor(const DataType type, const Nd4jLong length); explicit ShapeDescriptor(const DataType type, const char order, const Nd4jLong *shape, const int rank); - explicit ShapeDescriptor(const DataType type, const char order, const Nd4jLong *shape, const Nd4jLong *strides, const int rank, Nd4jLong ews, const bool empty); explicit ShapeDescriptor(const DataType type, const char order, const std::initializer_list &shape); explicit ShapeDescriptor(const DataType type, const char order, const std::vector &shape); explicit ShapeDescriptor(const DataType type, const char order, const std::vector &shape, const std::vector &strides); explicit ShapeDescriptor(const DataType type, const char order, const std::vector &shape, const std::vector &strides, const Nd4jLong ews); + explicit ShapeDescriptor(const DataType type, const char order, const Nd4jLong *shape, const Nd4jLong *strides, const int rank, Nd4jLong ews, Nd4jLong extras); + ShapeDescriptor() = default; ~ShapeDescriptor() = default; @@ -66,6 +76,12 @@ class ND4J_EXPORT ShapeDescriptor { std::vector& shape(); std::vector& strides(); + //returns minimal allocation length + Nd4jLong allocLength() const; + + //returns Status for the correctness + Nd4jLong validate() const; + // we use default copy assignment operator ShapeDescriptor& operator=(const ShapeDescriptor& other) = default; @@ -81,9 +97,13 @@ class ND4J_EXPORT ShapeDescriptor { Nd4jLong* toShapeInfo() const; + static ShapeDescriptor emptyDescriptor(const DataType type); static ShapeDescriptor scalarDescriptor(const DataType type); static ShapeDescriptor vectorDescriptor(const Nd4jLong length, const DataType type); + + //create Descriptor with padded buffer. + static ShapeDescriptor paddedBufferDescriptor(const DataType type, const char order, const std::vector& shape, const std::vector& paddings); }; } diff --git a/libnd4j/include/array/impl/NDArrayFactory.cpp b/libnd4j/include/array/impl/NDArrayFactory.cpp index f14aa9dbb..8dcaff0fe 100644 --- a/libnd4j/include/array/impl/NDArrayFactory.cpp +++ b/libnd4j/include/array/impl/NDArrayFactory.cpp @@ -30,12 +30,55 @@ - +#include #include #include namespace sd { + ND4J_EXPORT NDArray NDArrayFactory::create(const ShapeDescriptor& shapeDescriptor, sd::LaunchContext * context){ + auto status = shapeDescriptor.validate(); + if(status != SHAPE_DESC_OK){ + nd4j_printf("NDArrayFactory::create: ShapeDescriptor status code [%d]\n", status ); + throw std::invalid_argument("NDArrayFactory::create: invalid ShapeDescriptor "); + } + Nd4jLong allocSize = shapeDescriptor.allocLength() * DataTypeUtils::sizeOfElement(shapeDescriptor.dataType()); + std::shared_ptr buffer = std::make_shared(allocSize, shapeDescriptor.dataType(), context->getWorkspace()); + NDArray result(buffer, shapeDescriptor, context); + result.nullify(); + return result; + } + + ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector& shape, sd::DataType dataType, const std::vector& paddings, const std::vector &paddingOffsets, sd::LaunchContext * context) { + int rank = shape.size(); + if ( rank > MAX_RANK) + throw std::invalid_argument("NDArrayFactory::create: rank of NDArray can't exceed 32"); + + if(paddings.size() != rank ){ + throw std::invalid_argument("NDArrayFactory::create: paddings size should match rank "); + } + + auto shapeDescriptor = ShapeDescriptor::paddedBufferDescriptor(dataType, order, shape, paddings); + + Nd4jLong allocSize = shapeDescriptor.allocLength() * DataTypeUtils::sizeOfElement(shapeDescriptor.dataType()); + std::shared_ptr buffer = std::make_shared(allocSize, shapeDescriptor.dataType(), context->getWorkspace()); + + //lets check offsets + int check_size = paddingOffsets.size() < rank ? paddingOffsets.size() : rank; + + for(int i=0; i< check_size; i++){ + if(paddingOffsets[i]>paddings[i]){ + throw std::invalid_argument("NDArrayFactory::create: paddingOffsets numbers should not exceed corresponding paddings"); + } + } + + Nd4jLong offset = offset_from_coords(shapeDescriptor.strides().data(), paddingOffsets.data(), check_size); + + NDArray result(buffer, shapeDescriptor, context, offset); + result.nullify(); + return result; + } + //////////////////////////////////////////////////////////////////////// template <> ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context) { diff --git a/libnd4j/include/array/impl/ShapeDescriptor.cpp b/libnd4j/include/array/impl/ShapeDescriptor.cpp index 3ef096312..892ac148c 100644 --- a/libnd4j/include/array/impl/ShapeDescriptor.cpp +++ b/libnd4j/include/array/impl/ShapeDescriptor.cpp @@ -1,6 +1,7 @@ /******************************************************************************* * Copyright (c) 2015-2018 Skymind, Inc. - * + * Copyright (c) 2019-2020 Konduit K.K. + * * This program and the accompanying materials are made available under the * terms of the Apache License, Version 2.0 which is available at * https://www.apache.org/licenses/LICENSE-2.0. @@ -16,19 +17,20 @@ // // @author raver119@gmail.com -// +// @author AbdelRauf #include #include #include + namespace sd { ////////////////////////////////////////////////////////////////////////// // equal to operator bool ShapeDescriptor::operator==(const ShapeDescriptor &other) const { - if (_empty != other._empty) + if (_extraProperties != other._extraProperties) return false; if (_rank != other._rank) return false; @@ -51,13 +53,14 @@ namespace sd { ////////////////////////////////////////////////////////////////////////// // less than operator bool ShapeDescriptor::operator<(const ShapeDescriptor &other) const { - return std::tie(_empty, _rank, _dataType, _ews, _order, _shape, _strides) < - std::tie(other._empty, other._rank, other._dataType, other._ews, other._order, other._shape, + return std::tie(_extraProperties, _rank, _dataType, _ews, _order, _shape, _strides) < + std::tie(other._extraProperties, other._rank, other._dataType, other._ews, other._order, other._shape, other._strides); } Nd4jLong *ShapeDescriptor::toShapeInfo() const { - if (_empty) { + //for empy array use original + if (isEmpty()) { if (_rank == 0) return ShapeBuilders::emptyShapeInfo(_dataType); else { @@ -65,31 +68,29 @@ namespace sd { } } - + Nd4jLong * shapeInfo; switch (_rank) { case 0: { - auto shapeInfo = ShapeBuilders::createScalarShapeInfo(_dataType); + shapeInfo = ShapeBuilders::createScalarShapeInfo(_dataType); shapeInfo[2] = _ews; - return shapeInfo; } + break; case 1: { - auto shapeInfo = ShapeBuilders::createVectorShapeInfo(_dataType, _shape[0]); + shapeInfo = ShapeBuilders::createVectorShapeInfo(_dataType, _shape[0]); shapeInfo[2 + _rank * 2] = _ews; shapeInfo[2] = _strides[0]; shapeInfo[2 + _rank * 2 + 1] = _order; - return shapeInfo; } + break; default: { - auto shapeInfo = ShapeBuilders::createShapeInfo(_dataType, _order, _shape); - + shapeInfo = ShapeBuilders::createShapeInfo(_dataType, _order, _shape); for (int e = 0; e < _rank; e++) shapeInfo[e + 1 + _rank] = _strides[e]; - shapeInfo[2 + _rank * 2] = _ews; - - return shapeInfo; } } + ArrayOptions::setPropertyBit(shapeInfo, _extraProperties); + return shapeInfo; } ShapeDescriptor::ShapeDescriptor(const DataType type, const char order, const Nd4jLong *shape, const int rank) @@ -105,24 +106,23 @@ namespace sd { else shape::calcStridesFortran(_shape.data(), _shape.size(), _strides.data()); - for (auto v:_shape) { if (v == 0) { - _empty = true; + _extraProperties = ARRAY_EMPTY; break; } } } ShapeDescriptor::ShapeDescriptor(const DataType type, const char order, const Nd4jLong *shape, - const Nd4jLong *strides, const int rank, Nd4jLong ews, const bool empty) { + const Nd4jLong *strides, const int rank, Nd4jLong ews, Nd4jLong extras) { _shape.resize(rank); _strides.resize(rank); _dataType = type; _order = order; _rank = rank; - _empty = empty; + _extraProperties = extras; _ews = ews; for (int e = 0; e < rank; e++) @@ -134,7 +134,7 @@ namespace sd { for (auto v:_shape) { if (v == 0) { - _empty = true; + _extraProperties |= ARRAY_EMPTY; break; } } @@ -151,13 +151,12 @@ namespace sd { for (auto v:_shape) { if (v == 0) { - _empty = true; + _extraProperties |= ARRAY_EMPTY; break; } } - // no point calculating strides for empty arrays - if (!_empty) { + if (!isEmpty()) { if (order == 'c') shape::calcStrides(_shape.data(), shape.size(), _strides.data()); else @@ -184,7 +183,7 @@ namespace sd { for (auto v:_shape) { if (v == 0) { - _empty = true; + _extraProperties |= ARRAY_EMPTY; break; } } @@ -201,7 +200,7 @@ namespace sd { ShapeDescriptor::ShapeDescriptor(const DataType type, const Nd4jLong length) : _dataType(type), _ews(1), _order('c'), _rank(1), - _empty(false) { + _extraProperties(0) { _shape = {length}; _strides = {1}; } @@ -211,15 +210,14 @@ namespace sd { _ews = shape::elementWiseStride(shapeInfo); _rank = shape::rank(shapeInfo); + _extraProperties = ArrayOptions::propertyWithoutDataType(shapeInfo); if (inheritDtype) _dataType = ArrayOptions::dataType(shapeInfo); - _empty = shape::isEmpty(shapeInfo); - for (int e = 0; e < _rank; e++) { _shape.emplace_back(shapeInfo[e + 1]); if (shapeInfo[e + 1] == 0) - _empty = true; + _extraProperties |= ARRAY_EMPTY; } for (int e = 0; e < _rank; e++) @@ -252,13 +250,64 @@ namespace sd { } Nd4jLong ShapeDescriptor::arrLength() const { - + //when _ews == 1 allocation length is also array length Nd4jLong len = 1; - for (const auto &dim : const_cast(this)->shape()) + for (const auto& dim : _shape) len *= dim; return len; } + Nd4jLong ShapeDescriptor::allocLength() const { + if (_paddedAllocSize > 0) return _paddedAllocSize; + Nd4jLong len = 1; + if (_ews == 1 && _rank>1) { + //calculate using max stride + int ind = _order == 'c' ? 0: _rank - 1; + return _shape[ind] * _strides[ind]; + } + for (int i = 0; i < _rank; i++) { + len += (_shape[i] - 1) * _strides[i]; + } + return len; + } + + Nd4jLong ShapeDescriptor::validate() const { + auto status = SHAPE_DESC_OK; + bool is_continous = true; + if (_rank != _shape.size() || _rank > MAX_RANK) status |= SHAPE_DESC_INCORRECT_RANK; + bool ranks_match = (_strides.size() == _shape.size()); + if (!ranks_match) status = status | SHAPE_DESC_INCORRECT_STRIDES; + if (_rank > 0 && ranks_match) { + if (_order == 'c') { + for (int j = _rank - 2; j >= 0; j--) { + Nd4jLong currentStride = _strides[j]; + Nd4jLong allowedStride = _strides[j + 1] * _shape[j + 1]; + if (currentStride < allowedStride) { + status = status | SHAPE_DESC_INCORRECT_STRIDES; + break; + } + is_continous = is_continous & (currentStride == allowedStride); + } + } + else { + for (int j = 1; j < _rank; j++) { + Nd4jLong currentStride = _strides[j]; + Nd4jLong allowedStride = _strides[j - 1] * _shape[j - 1]; + if (currentStride < allowedStride) { + status = status | SHAPE_DESC_INCORRECT_STRIDES; + break; + } + is_continous = is_continous & (currentStride == allowedStride); + } + } + + int index = (_order == 'c') ? _rank - 1 : 0; + auto correctEws = is_continous ? _strides[index] : 0; + if (correctEws != _ews) status = status | SHAPE_DESC_INCORRECT_EWS; + } + return status; + } + char ShapeDescriptor::order() const { return _order; } @@ -268,7 +317,7 @@ namespace sd { } bool ShapeDescriptor::isEmpty() const { - return _empty; + return _extraProperties & ARRAY_EMPTY; } std::vector &ShapeDescriptor::shape() { @@ -282,18 +331,19 @@ namespace sd { ShapeDescriptor::ShapeDescriptor(const ShapeDescriptor &other) { _rank = other._rank; _ews = other._ews; - _empty = other._empty; + _extraProperties = other._extraProperties; _dataType = other._dataType; _order = other._order; _shape = other._shape; _strides = other._strides; + _paddedAllocSize = other._paddedAllocSize; } ////////////////////////////////////////////////////////////////////////// ShapeDescriptor::ShapeDescriptor(const DataType type, const char order, const std::vector &shape, const std::vector &strides) : _dataType(type), _order(order), _shape(shape) { - + _rank = shape.size(); if (strides.empty() && !shape.empty()) { _strides.resize(shape.size()); if (order == 'c') @@ -307,7 +357,7 @@ namespace sd { for (auto v:_shape) { if (v == 0) { - _empty = true; + _extraProperties |= ARRAY_EMPTY; break; } } @@ -316,7 +366,7 @@ namespace sd { ShapeDescriptor ShapeDescriptor::emptyDescriptor(const DataType type) { ShapeDescriptor descriptor; descriptor._dataType = type; - descriptor._empty = true; + descriptor._extraProperties = ARRAY_EMPTY; descriptor._rank = 0; descriptor._order = 'c'; descriptor._ews = 1; @@ -327,7 +377,7 @@ namespace sd { ShapeDescriptor ShapeDescriptor::scalarDescriptor(const DataType type) { ShapeDescriptor descriptor; descriptor._dataType = type; - descriptor._empty = false; + descriptor._extraProperties = 0; descriptor._rank = 0; descriptor._order = 'c'; descriptor._ews = 1; @@ -344,7 +394,7 @@ namespace sd { descriptor._strides.emplace_back(1); else { descriptor._strides.emplace_back(0); - descriptor._empty = true; + descriptor._extraProperties = ARRAY_EMPTY; } descriptor._order = 'c'; @@ -353,6 +403,58 @@ namespace sd { return descriptor; } + + ShapeDescriptor ShapeDescriptor::paddedBufferDescriptor(const DataType type, const char order, const std::vector& shape, const std::vector& paddings) { + ShapeDescriptor descriptor; + descriptor._dataType = type; + descriptor._order = order; + descriptor._shape = shape; + descriptor._rank = shape.size(); + descriptor._strides.resize(shape.size()); + descriptor._extraProperties = 0; + if (descriptor._rank < 1) { + descriptor._ews = 1; + return descriptor; + } + //calculate strides with paddings + int min_rank = descriptor._rank > paddings.size() ? paddings.size() : descriptor._rank; + bool is_continous = true; + if (order == 'c') { + + descriptor._strides[descriptor._rank - 1] = 1L; + for (int j = descriptor._rank - 2; j >= 0; j--) { + Nd4jLong pad = (j + 1 < min_rank) ? paddings[j + 1] : 0; + descriptor._strides[j] = descriptor._strides[j + 1] * (descriptor._shape[j + 1] + pad); + descriptor._extraProperties = descriptor._extraProperties | (descriptor._shape[j + 1] == 0); + if (pad != 0) is_continous = false; + } + if (!is_continous && descriptor._rank > 0) { + Nd4jLong size_pad = paddings.size()>0 ? paddings[0] : 0; + //alloc size should be supplied manually as we dont have place to store it + descriptor._paddedAllocSize = descriptor._strides[0] * (descriptor._shape[0] + size_pad); + } + } + else { + descriptor._strides[0] = 1L; + for (int j = 1; j < descriptor._rank; j++) { + Nd4jLong pad = (j - 1 < min_rank) ? paddings[j - 1] : 0; + descriptor._strides[j] = descriptor._strides[j - 1] * (descriptor._shape[j - 1] + pad); + descriptor._extraProperties = descriptor._extraProperties | (descriptor._shape[j - 1] == 0); + if (pad != 0) is_continous = false; + } + if (!is_continous && descriptor._rank > 0) { + Nd4jLong size_pad = paddings.size()>=descriptor._rank ? paddings[descriptor._rank-1] : 0; + //alloc size should be supplied manually as we dont have place to store it + descriptor._paddedAllocSize = descriptor._strides[descriptor._rank-1] * (descriptor._shape[descriptor._rank-1] + size_pad); + } + } + + descriptor._ews = is_continous ? 1 : 0; + if(!is_continous) descriptor._extraProperties |= ARRAY_HAS_PADDED_BUFFER; + return descriptor; + } + + } namespace std { diff --git a/libnd4j/include/build_info.cpp b/libnd4j/include/build_info.cpp new file mode 100644 index 000000000..d1016b5b7 --- /dev/null +++ b/libnd4j/include/build_info.cpp @@ -0,0 +1,62 @@ +/******************************************************************************* + * Copyright (c) 2019 Konduit K.K. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License, Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * SPDX-License-Identifier: Apache-2.0 + ******************************************************************************/ + +#include +#include + +const char* buildInfo() { + return "" +#if defined(__clang__) + "Clang: " TOSTRING(__clang_version__) +#elif defined(_MSC_VER) + "MSVC: " TOSTRING(_MSC_FULL_VER) +#else + "GCC: " TOSTRING(__VERSION__) +#endif +#if defined(_MSC_VER) && defined(_MSVC_LANG) + "\nSTD version: " TOSTRING(_MSVC_LANG) +#elif defined(__cplusplus) + "\nSTD version: " TOSTRING(__cplusplus) +#endif + +#if defined(__CUDACC__) + "\nCUDA: " TOSTRING(__CUDACC_VER_MAJOR__) + "." TOSTRING(__CUDACC_VER_MINOR__) + "." TOSTRING(__CUDACC_VER_BUILD__) +#endif +#if defined(DEFAULT_ENGINE) + "\nDEFAULT_ENGINE: " TOSTRING(DEFAULT_ENGINE) +#endif +#if defined(HAVE_FLATBUFFERS) + "\nHAVE_FLATBUFFERS" +#endif +#if defined(HAVE_MKLDNN) + "\nHAVE_MKLDNN" +#endif +#if defined(__EXTERNAL_BLAS__) + "\nHAVE_EXTERNAL_BLAS" +#endif +#if defined(HAVE_OPENBLAS) + "\nHAVE_OPENBLAS" +#endif +#if defined(HAVE_CUDNN) + "\nHAVE_CUDNN" +#endif +#if defined(HAVE_ARMCOMPUTE) + "\nHAVE_ARMCOMPUTE" +#endif + ; +} diff --git a/libnd4j/include/build_info.cu b/libnd4j/include/build_info.cu new file mode 100644 index 000000000..d1016b5b7 --- /dev/null +++ b/libnd4j/include/build_info.cu @@ -0,0 +1,62 @@ +/******************************************************************************* + * Copyright (c) 2019 Konduit K.K. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License, Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * SPDX-License-Identifier: Apache-2.0 + ******************************************************************************/ + +#include +#include + +const char* buildInfo() { + return "" +#if defined(__clang__) + "Clang: " TOSTRING(__clang_version__) +#elif defined(_MSC_VER) + "MSVC: " TOSTRING(_MSC_FULL_VER) +#else + "GCC: " TOSTRING(__VERSION__) +#endif +#if defined(_MSC_VER) && defined(_MSVC_LANG) + "\nSTD version: " TOSTRING(_MSVC_LANG) +#elif defined(__cplusplus) + "\nSTD version: " TOSTRING(__cplusplus) +#endif + +#if defined(__CUDACC__) + "\nCUDA: " TOSTRING(__CUDACC_VER_MAJOR__) + "." TOSTRING(__CUDACC_VER_MINOR__) + "." TOSTRING(__CUDACC_VER_BUILD__) +#endif +#if defined(DEFAULT_ENGINE) + "\nDEFAULT_ENGINE: " TOSTRING(DEFAULT_ENGINE) +#endif +#if defined(HAVE_FLATBUFFERS) + "\nHAVE_FLATBUFFERS" +#endif +#if defined(HAVE_MKLDNN) + "\nHAVE_MKLDNN" +#endif +#if defined(__EXTERNAL_BLAS__) + "\nHAVE_EXTERNAL_BLAS" +#endif +#if defined(HAVE_OPENBLAS) + "\nHAVE_OPENBLAS" +#endif +#if defined(HAVE_CUDNN) + "\nHAVE_CUDNN" +#endif +#if defined(HAVE_ARMCOMPUTE) + "\nHAVE_ARMCOMPUTE" +#endif + ; +} diff --git a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/listener/StatusChangeType.java b/libnd4j/include/build_info.h similarity index 67% rename from arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/listener/StatusChangeType.java rename to libnd4j/include/build_info.h index d8e2f429b..a0864f9af 100644 --- a/arbiter/arbiter-core/src/main/java/org/deeplearning4j/arbiter/optimize/runner/listener/StatusChangeType.java +++ b/libnd4j/include/build_info.h @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. + * Copyright (c) 2019 Konduit K.K. * * This program and the accompanying materials are made available under the * terms of the Apache License, Version 2.0 which is available at @@ -14,13 +14,26 @@ * SPDX-License-Identifier: Apache-2.0 ******************************************************************************/ -package org.deeplearning4j.arbiter.optimize.runner.listener; +#ifndef LIBND4J_BUILD_INFO_H +#define LIBND4J_BUILD_INFO_H -/** - * Created by Alex on 20/07/2017. - */ -public enum StatusChangeType { +#ifdef _WIN32 +#define ND4J_EXPORT __declspec( dllexport ) +#else +#define ND4J_EXPORT +#endif - CandidateCompleted, CandidateFailed, CandidateNewScheduled, CandidateNewBestScore +#define STRINGIFY(x) #x +#define TOSTRING(x) STRINGIFY(x) +#ifdef __cplusplus +extern "C" { +#endif + +ND4J_EXPORT const char* buildInfo(); + +#ifdef __cplusplus } +#endif + +#endif diff --git a/libnd4j/include/graph/generated/array_generated.js b/libnd4j/include/graph/generated/array_generated.js index adf6ce13b..4e8970ec0 100644 --- a/libnd4j/include/graph/generated/array_generated.js +++ b/libnd4j/include/graph/generated/array_generated.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify /** diff --git a/libnd4j/include/graph/generated/config_generated.js b/libnd4j/include/graph/generated/config_generated.js index 9ca0cccd1..b41755d23 100644 --- a/libnd4j/include/graph/generated/config_generated.js +++ b/libnd4j/include/graph/generated/config_generated.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify /** diff --git a/libnd4j/include/graph/generated/graph_generated.js b/libnd4j/include/graph/generated/graph_generated.js index 2a46b81ce..e1e3c7a67 100644 --- a/libnd4j/include/graph/generated/graph_generated.js +++ b/libnd4j/include/graph/generated/graph_generated.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify /** diff --git a/libnd4j/include/graph/generated/nd4j/__init__.py b/libnd4j/include/graph/generated/nd4j/__init__.py index e69de29bb..9f8c45314 100644 --- a/libnd4j/include/graph/generated/nd4j/__init__.py +++ b/libnd4j/include/graph/generated/nd4j/__init__.py @@ -0,0 +1,16 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + diff --git a/libnd4j/include/graph/generated/nd4j/graph/ByteOrder.py b/libnd4j/include/graph/generated/nd4j/graph/ByteOrder.py index e2491ab4e..65cf6bbc8 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/ByteOrder.py +++ b/libnd4j/include/graph/generated/nd4j/graph/ByteOrder.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/DType.py b/libnd4j/include/graph/generated/nd4j/graph/DType.py index 393ec7c4a..c7212682b 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/DType.py +++ b/libnd4j/include/graph/generated/nd4j/graph/DType.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/Direction.py b/libnd4j/include/graph/generated/nd4j/graph/Direction.py index 7c5cc7f98..4b7d1da60 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/Direction.py +++ b/libnd4j/include/graph/generated/nd4j/graph/Direction.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/ExecutionMode.py b/libnd4j/include/graph/generated/nd4j/graph/ExecutionMode.py index a4e1df3ce..ec949e540 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/ExecutionMode.py +++ b/libnd4j/include/graph/generated/nd4j/graph/ExecutionMode.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/FlatArray.py b/libnd4j/include/graph/generated/nd4j/graph/FlatArray.py index 0514ea63a..dd40ad5aa 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/FlatArray.py +++ b/libnd4j/include/graph/generated/nd4j/graph/FlatArray.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/FlatArrayList.py b/libnd4j/include/graph/generated/nd4j/graph/FlatArrayList.py index 2d9d18c24..c9e3b4aff 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/FlatArrayList.py +++ b/libnd4j/include/graph/generated/nd4j/graph/FlatArrayList.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/FlatConfiguration.py b/libnd4j/include/graph/generated/nd4j/graph/FlatConfiguration.py index 2dbf37c3d..0ef110916 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/FlatConfiguration.py +++ b/libnd4j/include/graph/generated/nd4j/graph/FlatConfiguration.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/FlatDropRequest.py b/libnd4j/include/graph/generated/nd4j/graph/FlatDropRequest.py index a04413a53..69a2f9b16 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/FlatDropRequest.py +++ b/libnd4j/include/graph/generated/nd4j/graph/FlatDropRequest.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/FlatGraph.py b/libnd4j/include/graph/generated/nd4j/graph/FlatGraph.py index df71069e3..d58d4c8c5 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/FlatGraph.py +++ b/libnd4j/include/graph/generated/nd4j/graph/FlatGraph.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/FlatInferenceRequest.py b/libnd4j/include/graph/generated/nd4j/graph/FlatInferenceRequest.py index 7825bd31b..28e65a785 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/FlatInferenceRequest.py +++ b/libnd4j/include/graph/generated/nd4j/graph/FlatInferenceRequest.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/FlatNode.py b/libnd4j/include/graph/generated/nd4j/graph/FlatNode.py index d5104efb6..41afba680 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/FlatNode.py +++ b/libnd4j/include/graph/generated/nd4j/graph/FlatNode.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/FlatProperties.py b/libnd4j/include/graph/generated/nd4j/graph/FlatProperties.py index f9dc1637b..d715258e8 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/FlatProperties.py +++ b/libnd4j/include/graph/generated/nd4j/graph/FlatProperties.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/FlatResponse.py b/libnd4j/include/graph/generated/nd4j/graph/FlatResponse.py index d80b45bbd..6ac57ff92 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/FlatResponse.py +++ b/libnd4j/include/graph/generated/nd4j/graph/FlatResponse.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/FlatResult.py b/libnd4j/include/graph/generated/nd4j/graph/FlatResult.py index 6e5835d48..ad64f6149 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/FlatResult.py +++ b/libnd4j/include/graph/generated/nd4j/graph/FlatResult.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/FlatTiming.py b/libnd4j/include/graph/generated/nd4j/graph/FlatTiming.py index 4fddf6077..ac103cd45 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/FlatTiming.py +++ b/libnd4j/include/graph/generated/nd4j/graph/FlatTiming.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/FlatVariable.py b/libnd4j/include/graph/generated/nd4j/graph/FlatVariable.py index d0036c247..715f8c1bb 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/FlatVariable.py +++ b/libnd4j/include/graph/generated/nd4j/graph/FlatVariable.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/FrameIteration.py b/libnd4j/include/graph/generated/nd4j/graph/FrameIteration.py index d280907da..0bf604da8 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/FrameIteration.py +++ b/libnd4j/include/graph/generated/nd4j/graph/FrameIteration.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/InputType.py b/libnd4j/include/graph/generated/nd4j/graph/InputType.py index 08a3929e7..d7a4e9abe 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/InputType.py +++ b/libnd4j/include/graph/generated/nd4j/graph/InputType.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/IntPair.py b/libnd4j/include/graph/generated/nd4j/graph/IntPair.py index 8bbd29e4a..01e848167 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/IntPair.py +++ b/libnd4j/include/graph/generated/nd4j/graph/IntPair.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/IntTriple.py b/libnd4j/include/graph/generated/nd4j/graph/IntTriple.py index 91bbd84a5..8d89a86cf 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/IntTriple.py +++ b/libnd4j/include/graph/generated/nd4j/graph/IntTriple.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/LongPair.py b/libnd4j/include/graph/generated/nd4j/graph/LongPair.py index aa1695aac..9463c9750 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/LongPair.py +++ b/libnd4j/include/graph/generated/nd4j/graph/LongPair.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/LongTriple.py b/libnd4j/include/graph/generated/nd4j/graph/LongTriple.py index 49b2a2a4e..5611c8c7d 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/LongTriple.py +++ b/libnd4j/include/graph/generated/nd4j/graph/LongTriple.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/OpClass.py b/libnd4j/include/graph/generated/nd4j/graph/OpClass.py index 426e444fa..a857fc33b 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/OpClass.py +++ b/libnd4j/include/graph/generated/nd4j/graph/OpClass.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/OpType.py b/libnd4j/include/graph/generated/nd4j/graph/OpType.py index 2e56ad9f3..d81eb0b92 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/OpType.py +++ b/libnd4j/include/graph/generated/nd4j/graph/OpType.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/OutputMode.py b/libnd4j/include/graph/generated/nd4j/graph/OutputMode.py index 42f83cc9c..555d71e6a 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/OutputMode.py +++ b/libnd4j/include/graph/generated/nd4j/graph/OutputMode.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/ProfilingMode.py b/libnd4j/include/graph/generated/nd4j/graph/ProfilingMode.py index 911a0d500..370f14a49 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/ProfilingMode.py +++ b/libnd4j/include/graph/generated/nd4j/graph/ProfilingMode.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/UIAddName.py b/libnd4j/include/graph/generated/nd4j/graph/UIAddName.py index 1e07c37b0..799857c1f 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/UIAddName.py +++ b/libnd4j/include/graph/generated/nd4j/graph/UIAddName.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/UIEvent.py b/libnd4j/include/graph/generated/nd4j/graph/UIEvent.py index 1f7217447..539e169c4 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/UIEvent.py +++ b/libnd4j/include/graph/generated/nd4j/graph/UIEvent.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/UIEventSubtype.py b/libnd4j/include/graph/generated/nd4j/graph/UIEventSubtype.py index 6712b0c19..2c6385b3d 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/UIEventSubtype.py +++ b/libnd4j/include/graph/generated/nd4j/graph/UIEventSubtype.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/UIEventType.py b/libnd4j/include/graph/generated/nd4j/graph/UIEventType.py index e32ed751a..eef1e2dd4 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/UIEventType.py +++ b/libnd4j/include/graph/generated/nd4j/graph/UIEventType.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/UIGraphStructure.py b/libnd4j/include/graph/generated/nd4j/graph/UIGraphStructure.py index 60da5b6fb..68fbc344b 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/UIGraphStructure.py +++ b/libnd4j/include/graph/generated/nd4j/graph/UIGraphStructure.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/UIHardwareState.py b/libnd4j/include/graph/generated/nd4j/graph/UIHardwareState.py index 760dd567d..4e56b19c1 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/UIHardwareState.py +++ b/libnd4j/include/graph/generated/nd4j/graph/UIHardwareState.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/UIHistogram.py b/libnd4j/include/graph/generated/nd4j/graph/UIHistogram.py index 4ede141f0..da8fc58ce 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/UIHistogram.py +++ b/libnd4j/include/graph/generated/nd4j/graph/UIHistogram.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/UIHistogramType.py b/libnd4j/include/graph/generated/nd4j/graph/UIHistogramType.py index 7cbd19724..6762072e5 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/UIHistogramType.py +++ b/libnd4j/include/graph/generated/nd4j/graph/UIHistogramType.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/UIInfoType.py b/libnd4j/include/graph/generated/nd4j/graph/UIInfoType.py index af7ac52c4..71fc59a70 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/UIInfoType.py +++ b/libnd4j/include/graph/generated/nd4j/graph/UIInfoType.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/UIOp.py b/libnd4j/include/graph/generated/nd4j/graph/UIOp.py index c6207f962..7ab1f8011 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/UIOp.py +++ b/libnd4j/include/graph/generated/nd4j/graph/UIOp.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/UIStaticInfoRecord.py b/libnd4j/include/graph/generated/nd4j/graph/UIStaticInfoRecord.py index 7938d7915..764f70252 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/UIStaticInfoRecord.py +++ b/libnd4j/include/graph/generated/nd4j/graph/UIStaticInfoRecord.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/UISummaryStatistics.py b/libnd4j/include/graph/generated/nd4j/graph/UISummaryStatistics.py index 0c43fc3af..e0a9022f5 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/UISummaryStatistics.py +++ b/libnd4j/include/graph/generated/nd4j/graph/UISummaryStatistics.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/UISystemInfo.py b/libnd4j/include/graph/generated/nd4j/graph/UISystemInfo.py index 4b3308e56..17a6a58d2 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/UISystemInfo.py +++ b/libnd4j/include/graph/generated/nd4j/graph/UISystemInfo.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/UIVariable.py b/libnd4j/include/graph/generated/nd4j/graph/UIVariable.py index 8e025b76b..7e2bf01b3 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/UIVariable.py +++ b/libnd4j/include/graph/generated/nd4j/graph/UIVariable.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/UpdaterState.py b/libnd4j/include/graph/generated/nd4j/graph/UpdaterState.py index e3907c9a2..e2f9dbf0f 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/UpdaterState.py +++ b/libnd4j/include/graph/generated/nd4j/graph/UpdaterState.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/VarType.py b/libnd4j/include/graph/generated/nd4j/graph/VarType.py index 0fd0a6c81..b2fdb753e 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/VarType.py +++ b/libnd4j/include/graph/generated/nd4j/graph/VarType.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + # automatically generated by the FlatBuffers compiler, do not modify # namespace: graph diff --git a/libnd4j/include/graph/generated/nd4j/graph/__init__.py b/libnd4j/include/graph/generated/nd4j/graph/__init__.py index e69de29bb..9f8c45314 100644 --- a/libnd4j/include/graph/generated/nd4j/graph/__init__.py +++ b/libnd4j/include/graph/generated/nd4j/graph/__init__.py @@ -0,0 +1,16 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + diff --git a/libnd4j/include/graph/generated/node_generated.js b/libnd4j/include/graph/generated/node_generated.js index 3f831a582..7d2259469 100644 --- a/libnd4j/include/graph/generated/node_generated.js +++ b/libnd4j/include/graph/generated/node_generated.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify /** diff --git a/libnd4j/include/graph/generated/properties_generated.js b/libnd4j/include/graph/generated/properties_generated.js index 60ffe427d..5028b0c09 100644 --- a/libnd4j/include/graph/generated/properties_generated.js +++ b/libnd4j/include/graph/generated/properties_generated.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify /** diff --git a/libnd4j/include/graph/generated/request_generated.js b/libnd4j/include/graph/generated/request_generated.js index f2bddc61e..9adf0cffd 100644 --- a/libnd4j/include/graph/generated/request_generated.js +++ b/libnd4j/include/graph/generated/request_generated.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify /** diff --git a/libnd4j/include/graph/generated/result_generated.js b/libnd4j/include/graph/generated/result_generated.js index 23995803a..006b6a9ac 100644 --- a/libnd4j/include/graph/generated/result_generated.js +++ b/libnd4j/include/graph/generated/result_generated.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify /** diff --git a/libnd4j/include/graph/generated/uigraphevents_generated.js b/libnd4j/include/graph/generated/uigraphevents_generated.js index 7d52224a8..cc6010b5d 100644 --- a/libnd4j/include/graph/generated/uigraphevents_generated.js +++ b/libnd4j/include/graph/generated/uigraphevents_generated.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify /** diff --git a/libnd4j/include/graph/generated/uigraphstatic_generated.js b/libnd4j/include/graph/generated/uigraphstatic_generated.js index c6ec80aa3..dca32d9a7 100644 --- a/libnd4j/include/graph/generated/uigraphstatic_generated.js +++ b/libnd4j/include/graph/generated/uigraphstatic_generated.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify /** diff --git a/libnd4j/include/graph/generated/utils_generated.js b/libnd4j/include/graph/generated/utils_generated.js index 7a8dcd520..409f206ea 100644 --- a/libnd4j/include/graph/generated/utils_generated.js +++ b/libnd4j/include/graph/generated/utils_generated.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify /** diff --git a/libnd4j/include/graph/generated/variable_generated.js b/libnd4j/include/graph/generated/variable_generated.js index 4bcdcd741..8555f7773 100644 --- a/libnd4j/include/graph/generated/variable_generated.js +++ b/libnd4j/include/graph/generated/variable_generated.js @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify /** diff --git a/libnd4j/include/helpers/cpu/ConstantShapeHelper.cpp b/libnd4j/include/helpers/cpu/ConstantShapeHelper.cpp index f12616688..11b0a6e83 100644 --- a/libnd4j/include/helpers/cpu/ConstantShapeHelper.cpp +++ b/libnd4j/include/helpers/cpu/ConstantShapeHelper.cpp @@ -140,7 +140,7 @@ ConstantShapeBuffer& ConstantShapeHelper::createShapeInfoWithUnitiesForBroadcast ALLOCATE(newShapeInfo, workspace, shape::shapeInfoLength(shape::rank(maxShapeInfo)), Nd4jLong); newShapeInfo[0] = shape::rank(maxShapeInfo); - + newShapeInfo[2*shape::rank(maxShapeInfo)+1] = 0; sd::ArrayOptions::copyDataType(newShapeInfo, minShapeInfo); // type newShapeInfo[2 * newShapeInfo[0] + 2] = shape::elementWiseStride(minShapeInfo); // ews newShapeInfo[2 * newShapeInfo[0] + 3] = shape::order(minShapeInfo); // order diff --git a/libnd4j/include/helpers/cuda/ConstantShapeHelper.cu b/libnd4j/include/helpers/cuda/ConstantShapeHelper.cu index fb093e7b7..77ac99ac8 100644 --- a/libnd4j/include/helpers/cuda/ConstantShapeHelper.cu +++ b/libnd4j/include/helpers/cuda/ConstantShapeHelper.cu @@ -143,7 +143,7 @@ ConstantShapeBuffer& ConstantShapeHelper::createShapeInfoWithUnitiesForBroadcas ALLOCATE(newShapeInfo, workspace, shape::shapeInfoLength(shape::rank(maxShapeInfo)), Nd4jLong); newShapeInfo[0] = shape::rank(maxShapeInfo); - + newShapeInfo[2*shape::rank(maxShapeInfo)+1] = 0; sd::ArrayOptions::copyDataType(newShapeInfo, minShapeInfo); // type newShapeInfo[2 * newShapeInfo[0] + 2] = shape::elementWiseStride(minShapeInfo); // ews newShapeInfo[2 * newShapeInfo[0] + 3] = shape::order(minShapeInfo); // order diff --git a/libnd4j/include/helpers/impl/ShapeBuilders.cpp b/libnd4j/include/helpers/impl/ShapeBuilders.cpp index dbcf6dac0..00d374f8e 100644 --- a/libnd4j/include/helpers/impl/ShapeBuilders.cpp +++ b/libnd4j/include/helpers/impl/ShapeBuilders.cpp @@ -146,6 +146,7 @@ Nd4jLong* ShapeBuilders::createSubArrShapeInfo(const Nd4jLong* inShapeInfo, cons ALLOCATE(subArrShapeInfo, workspace, shape::shapeInfoLength(dimsSize), Nd4jLong); subArrShapeInfo[0] = dimsSize; // rank + subArrShapeInfo[2*dimsSize+1] = 0; sd::ArrayOptions::copyDataType(subArrShapeInfo, inShapeInfo); // type subArrShapeInfo[2*dimsSize + 3] = shape::order(inShapeInfo); // order diff --git a/libnd4j/include/helpers/impl/ShapeUtils.cpp b/libnd4j/include/helpers/impl/ShapeUtils.cpp index 998df7728..d3c9e8563 100644 --- a/libnd4j/include/helpers/impl/ShapeUtils.cpp +++ b/libnd4j/include/helpers/impl/ShapeUtils.cpp @@ -987,6 +987,7 @@ std::vector ShapeUtils::evalDimsWithoutUnities(const Nd4jLong* shapeIn void ShapeUtils::updateStridesAndType(Nd4jLong* dest, const Nd4jLong* source, const char order) { shape::updateStrides(dest, order); + dest[2 * dest[0] +1] = 0; //zero extra ArrayOptions::copyDataType(dest, source); } diff --git a/libnd4j/include/helpers/shape.h b/libnd4j/include/helpers/shape.h index ca6054482..1d19440f9 100644 --- a/libnd4j/include/helpers/shape.h +++ b/libnd4j/include/helpers/shape.h @@ -1342,20 +1342,20 @@ __device__ INLINEDEF Nd4jLong *cuMalloc(Nd4jLong *buffer, long size) { * @return the strides for a matrix of n dimensions */ INLINEDEF _CUDA_HD Nd4jLong * calcStridesFortran(Nd4jLong const* shape, int rank, int startNum) { - if (isVector(shape, rank)) { + // if (isVector(shape, rank)) { - traceNew(5); + // traceNew(5); - Nd4jLong *ret = new Nd4jLong[2]; - for (int i = 0; i < 2; i++) - ret[i] = 1; - return ret; + // Nd4jLong *ret = new Nd4jLong[2]; + // for (int i = 0; i < 2; i++) + // ret[i] = 1; + // return ret; - } + // } int dimensions = rank; - traceNew(6); + traceNew(5); Nd4jLong *stride = new Nd4jLong[dimensions]; Nd4jLong st = startNum; @@ -1368,12 +1368,12 @@ __device__ INLINEDEF Nd4jLong *cuMalloc(Nd4jLong *buffer, long size) { } INLINEDEF _CUDA_HD Nd4jLong * calcStridesFortran(Nd4jLong const* shape, int rank, int startNum, Nd4jLong *ret) { - if (isVector(shape, rank)) { - for (int i = 0; i < rank; i++) - ret[i] = 1; - return ret; + // if (isVector(shape, rank)) { + // for (int i = 0; i < rank; i++) + // ret[i] = 1; + // return ret; - } + // } //int dimensions = rank; @@ -2617,7 +2617,7 @@ INLINEDEF _CUDA_HD int numOfNonUnitDims(const int rank, const Nd4jLong* inShape) } INLINEDEF _CUDA_HD bool isEmpty(const Nd4jLong *shapeInfo) { - return ((shape::extra(const_cast(shapeInfo)) & ARRAY_EMPTY) == ARRAY_EMPTY); + return ((shape::extra(const_cast(shapeInfo)) & ARRAY_EMPTY) == ARRAY_EMPTY) || (!shape::isScalar(shapeInfo) && shape::length(shapeInfo) < 1); } @@ -2996,9 +2996,9 @@ INLINEDEF _CUDA_HD bool haveSameShapeAndStrides(const Nd4jLong *shapeInfo1, cons if (0 == rank(shapeInfo)) return 1; if (dim >= 0) - return shapeInfo[1+dim]; + return shapeInfo[1 + dim]; else - return shapeInfo[1+(rank(shapeInfo) + dim)]; + return shapeInfo[1 + (rank(shapeInfo) + dim)]; } INLINEDEF _CUDA_HD Nd4jLong strideAt(const Nd4jLong *shapeInfo, const int dim) { @@ -3020,6 +3020,9 @@ INLINEDEF _CUDA_HD bool haveSameShapeAndStrides(const Nd4jLong *shapeInfo1, cons if (shapeA[0] != shapeB[0]) return false; + if(shape::isEmpty(shapeA) && shape::isEmpty(shapeB)) + return true; + if (shapeA[0] == 0) return true; @@ -4210,7 +4213,7 @@ INLINEDEF _CUDA_HD bool reshapeC(const Nd4jLong* oldShapeInfo, Nd4jLong* newShap newShapeInfo[2 * newRank + 3] = oldOrder; // order *shape::ews(newShapeInfo) = oldEws; // ews } - + newShapeInfo[2*newShapeInfo[0]+1] = 0; sd::ArrayOptions::copyDataType(newShapeInfo, oldShapeInfo); // type return true; @@ -4837,6 +4840,7 @@ INLINEDEF _CUDA_HD void calcSubArrsShapeInfoAndOffsets(const Nd4jLong* wholeShap const int subArrRank = keepUnitiesInShape ? rank : rank - dimsSize; subArrShapeInfo[0] = subArrRank; // rank + subArrShapeInfo[2 * subArrRank + 1] = 0; // clear (to avoid uninitialized) sd::ArrayOptions::copyDataType(subArrShapeInfo, wholeShapeInfo); // type subArrShapeInfo[2 * subArrRank + 3] = shape::order(wholeShapeInfo); // order @@ -4914,6 +4918,7 @@ INLINEDEF void calcSubArrShapeInfoAndOffset(const Nd4jLong* idx, const Nd4jLong* } } + minShapeInfo[2 * shape::rank(minShapeInfo) + 1] = 0; // zero minShapeInfo[2 * shape::rank(minShapeInfo) + 3] = shape::order(maxShapeInfo); // order sd::ArrayOptions::copyDataType(minShapeInfo, maxShapeInfo); // type @@ -5047,7 +5052,7 @@ INLINEDEF _CUDA_HD void excludeUnitiesFromShapeInfo(const Nd4jLong* inShapeInfo, shape::shapeOf(outShapeInfo)[k] = shape::shapeOf(inShapeInfo)[i]; shape::stride(outShapeInfo)[k++] = shape::stride(inShapeInfo)[i]; } - + outShapeInfo[2 * outShapeInfo[0] + 1] = 0; sd::ArrayOptions::copyDataType(outShapeInfo, inShapeInfo); // type *shape::ews(outShapeInfo) = shape::elementWiseStride(inShapeInfo); // ews outShapeInfo[2 * outShapeInfo[0] + 3] = shape::order(inShapeInfo); // order diff --git a/libnd4j/include/legacy/NativeOps.h b/libnd4j/include/legacy/NativeOps.h index a55846d87..76a5779ca 100755 --- a/libnd4j/include/legacy/NativeOps.h +++ b/libnd4j/include/legacy/NativeOps.h @@ -1594,6 +1594,7 @@ typedef sd::ConstantDataBuffer OpaqueConstantDataBuffer; typedef sd::ConstantShapeBuffer OpaqueConstantShapeBuffer; ND4J_EXPORT OpaqueConstantShapeBuffer* shapeBuffer(int rank, Nd4jLong *shape, Nd4jLong *strides, sd::DataType dtype, char order, Nd4jLong ews, bool empty); +ND4J_EXPORT OpaqueConstantShapeBuffer* shapeBufferEx(int rank, Nd4jLong *shape, Nd4jLong *strides, sd::DataType dtype, char order, Nd4jLong ews, Nd4jLong extras); ND4J_EXPORT OpaqueConstantDataBuffer* constantBufferLong(sd::DataType dtype, Nd4jLong const* data, int length); ND4J_EXPORT OpaqueConstantDataBuffer* constantBufferDouble(sd::DataType dtype, double *data, int length); diff --git a/libnd4j/include/legacy/cpu/NativeOps.cpp b/libnd4j/include/legacy/cpu/NativeOps.cpp index b483ef91a..633748aa9 100644 --- a/libnd4j/include/legacy/cpu/NativeOps.cpp +++ b/libnd4j/include/legacy/cpu/NativeOps.cpp @@ -2690,11 +2690,15 @@ void tryPointer(Nd4jPointer extra, Nd4jPointer p, int len) { } } -sd::ConstantShapeBuffer* shapeBuffer(int rank, Nd4jLong *shape, Nd4jLong *strides, sd::DataType dtype, char order, Nd4jLong ews, bool empty) { +OpaqueConstantShapeBuffer* shapeBuffer(int rank, Nd4jLong *shape, Nd4jLong *strides, sd::DataType dtype, char order, Nd4jLong ews, bool empty) { + return shapeBufferEx(rank, shape, strides, dtype, order, ews, empty ? ARRAY_EMPTY : 0); +} + +OpaqueConstantShapeBuffer* shapeBufferEx(int rank, Nd4jLong *shape, Nd4jLong *strides, sd::DataType dtype, char order, Nd4jLong ews, Nd4jLong extras) { try { auto buffer = new ConstantShapeBuffer(); *buffer = sd::ConstantShapeHelper::getInstance().bufferForShapeInfo( - ShapeDescriptor(dtype, order, shape, strides, rank, ews, empty)); + ShapeDescriptor(dtype, order, shape, strides, rank, ews, extras)); return buffer; } catch (std::exception &e) { sd::LaunchContext::defaultContext()->errorReference()->setErrorCode(1); @@ -2703,7 +2707,7 @@ sd::ConstantShapeBuffer* shapeBuffer(int rank, Nd4jLong *shape, Nd4jLong *stride } } -void deleteConstantShapeBuffer(sd::ConstantShapeBuffer* ptr) { +void deleteConstantShapeBuffer(OpaqueConstantShapeBuffer* ptr) { delete ptr; } @@ -2733,11 +2737,11 @@ sd::ConstantDataBuffer* constantBuffer(sd::DataType dtype, sd::ConstantDescripto } } -Nd4jPointer getConstantShapeBufferPrimary(sd::ConstantShapeBuffer* dbf) { +Nd4jPointer getConstantShapeBufferPrimary(OpaqueConstantShapeBuffer* dbf) { return const_cast(dbf->primary()); } -Nd4jPointer getConstantShapeBufferSpecial(sd::ConstantShapeBuffer* dbf) { +Nd4jPointer getConstantShapeBufferSpecial(OpaqueConstantShapeBuffer* dbf) { return const_cast(dbf->special()); } diff --git a/libnd4j/include/legacy/cuda/NativeOps.cu b/libnd4j/include/legacy/cuda/NativeOps.cu index aa6c139d2..3a2df235e 100755 --- a/libnd4j/include/legacy/cuda/NativeOps.cu +++ b/libnd4j/include/legacy/cuda/NativeOps.cu @@ -3418,10 +3418,14 @@ int dataTypeFromNpyHeader(void *header) { } OpaqueConstantShapeBuffer* shapeBuffer(int rank, Nd4jLong *shape, Nd4jLong *strides, sd::DataType dtype, char order, Nd4jLong ews, bool empty) { + return shapeBufferEx(rank, shape, strides, dtype, order, ews, empty ? ARRAY_EMPTY : 0); +} + +OpaqueConstantShapeBuffer* shapeBufferEx(int rank, Nd4jLong *shape, Nd4jLong *strides, sd::DataType dtype, char order, Nd4jLong ews, Nd4jLong extras) { try { auto buffer = new ConstantShapeBuffer(); *buffer = sd::ConstantShapeHelper::getInstance().bufferForShapeInfo( - ShapeDescriptor(dtype, order, shape, strides, rank, ews, empty)); + ShapeDescriptor(dtype, order, shape, strides, rank, ews, extras)); return buffer; } catch (std::exception &e) { sd::LaunchContext::defaultContext()->errorReference()->setErrorCode(1); @@ -3480,11 +3484,11 @@ Nd4jLong getConstantDataBufferSizeOf(sd::ConstantDataBuffer* dbf) { return dbf->sizeOf(); } -Nd4jPointer getConstantShapeBufferPrimary(sd::ConstantShapeBuffer* dbf) { +Nd4jPointer getConstantShapeBufferPrimary(OpaqueConstantShapeBuffer* dbf) { return const_cast(dbf->primary()); } -Nd4jPointer getConstantShapeBufferSpecial(sd::ConstantShapeBuffer* dbf) { +Nd4jPointer getConstantShapeBufferSpecial(OpaqueConstantShapeBuffer* dbf) { return const_cast(dbf->special()); } diff --git a/libnd4j/include/ops/declarable/generic/linalg/matrix_determinant.cpp b/libnd4j/include/ops/declarable/generic/linalg/matrix_determinant.cpp index 7046b69f9..b09f25b6a 100644 --- a/libnd4j/include/ops/declarable/generic/linalg/matrix_determinant.cpp +++ b/libnd4j/include/ops/declarable/generic/linalg/matrix_determinant.cpp @@ -77,7 +77,7 @@ namespace sd { auto output = OUTPUT_VARIABLE(0); REQUIRE_TRUE(input->rankOf() >=2, 0, "log_matrix_determinant: The rank of input array should not less than 2, but %i is given", input->rankOf()); - REQUIRE_TRUE(input->sizeAt(-1) == input->sizeAt(-2), 0, "log_matrix_determinant: The last two dimmensions should be equal, but %i and %i are given", input->sizeAt(-1), input->sizeAt(-2)); + REQUIRE_TRUE(input->sizeAt(-1) == input->sizeAt(-2), 0, "log_matrix_determinant: The last two dimensions should be equal, but %i and %i are given", input->sizeAt(-1), input->sizeAt(-2)); return helpers::logAbsDeterminant(block.launchContext(), input, output); } diff --git a/libnd4j/include/ops/declarable/generic/nn/embedding_lookup.cpp b/libnd4j/include/ops/declarable/generic/nn/embedding_lookup.cpp index 0f4a01e03..95ca23ebf 100644 --- a/libnd4j/include/ops/declarable/generic/nn/embedding_lookup.cpp +++ b/libnd4j/include/ops/declarable/generic/nn/embedding_lookup.cpp @@ -34,11 +34,11 @@ namespace ops { ////////////////////////////////////////////////////////////////////////// CUSTOM_OP_IMPL(embedding_lookup, 2, 1, false, 0, 1) { auto input = INPUT_VARIABLE(0); // lookup param - auto indeces = INPUT_VARIABLE(1); // indeces, as is + auto indices = INPUT_VARIABLE(1); // indices, as is auto output = OUTPUT_VARIABLE(0); // if (block.width() > 2) { // multiple input - indeces = INPUT_VARIABLE(block.width() - 1); + indices = INPUT_VARIABLE(block.width() - 1); std::vector dims(input->rankOf()); int i = output->rankOf() - input->rankOf(); for (auto& v: dims){ @@ -49,24 +49,24 @@ CUSTOM_OP_IMPL(embedding_lookup, 2, 1, false, 0, 1) { REQUIRE_TRUE(block.width() > output->sizeAt(0), 0, "embedding_lookup: input list should be greater then %i, but %i given.", output->sizeAt(0), block.width() ); - for (Nd4jLong e = 0; e < indeces->lengthOf(); ++e) { - Nd4jLong thisIndex = (*indeces).e(e); + for (Nd4jLong e = 0; e < indices->lengthOf(); ++e) { + Nd4jLong thisIndex = (*indices).e(e); input = INPUT_VARIABLE(thisIndex); // lookup param outputView.at(e)->assign(input); } } else { - int indexRank = indeces->rankOf(); + int indexRank = indices->rankOf(); REQUIRE_TRUE(indexRank > 0, 0, "embeded_lookup: input array of indexes can't be single scalar, the requirement is: rank > 0 !"); int inputRank = input->rankOf(); - int lastIndDim = indeces->lengthOf(); + int lastIndDim = indices->lengthOf(); int partition_mode = INT_ARG(0); // partition_mode == 0 - i.e. 'mod' , 1 - 'div' sd::ops::gather op; - auto result(op.evaluate({input, indeces}, {0})); + auto result(op.evaluate({input, indices}, {0})); REQUIRE_TRUE(result.status() == Status::OK(), 0, "embedding_lookup: cannot retrieve results from gather op."); REQUIRE_TRUE(result.at(0)->isSameShape(output), 0, "embedding_lookup: wrong shape of return from gather op."); output->assign(result.at(0)); @@ -83,14 +83,14 @@ DECLARE_TYPES(embedding_lookup) { DECLARE_SHAPE_FN(embedding_lookup) { auto inShapeInfo = inputShape->at(0); - auto indecesShapeInfo = inputShape->at(1); + auto indicesShapeInfo = inputShape->at(1); int inRank = shape::rank(inShapeInfo); if (inputShape->size() == 2u) { int outRank = inRank; std::vector shapeInfo(outRank); - shapeInfo[0] = indecesShapeInfo[1]; // vector - how many elements + shapeInfo[0] = indicesShapeInfo[1]; // vector - how many elements for (int e = 1; e < outRank; e++) shapeInfo[e] = shape::sizeAt(inShapeInfo, e); @@ -101,8 +101,8 @@ DECLARE_SHAPE_FN(embedding_lookup) { int outRank = inRank + 1; std::vector shapeInfo(outRank); - auto indeces = INPUT_VARIABLE(block.width() - 1); - shapeInfo[0] = indeces->lengthOf(); // vector - how many elements + auto indices = INPUT_VARIABLE(block.width() - 1); + shapeInfo[0] = indices->lengthOf(); // vector - how many elements for (int e = 1; e < outRank; e++) shapeInfo[e] = shape::sizeAt(inShapeInfo, e); diff --git a/libnd4j/include/ops/declarable/generic/nn/layer_norm.cpp b/libnd4j/include/ops/declarable/generic/nn/layer_norm.cpp index 5643932cb..80c01bcd2 100644 --- a/libnd4j/include/ops/declarable/generic/nn/layer_norm.cpp +++ b/libnd4j/include/ops/declarable/generic/nn/layer_norm.cpp @@ -35,7 +35,7 @@ namespace ops { std::vector axis = *block.getIArguments(); - const bool isNCHW = block.getBArguments()->size() > 0 ? B_ARG(0) : true; // INT_ARG(9): 0-NCHW, 1-NHWC + const bool isNCHW = block.getBArguments()->size() > 0 ? B_ARG(0) : true; // 0-NCHW, 1-NHWC const int dimC = isNCHW ? 1 : input->rankOf() - 1; REQUIRE_TRUE(gain->rankOf() == 1 && gain->sizeAt(0) == input->sizeAt(dimC), 0, "LAYER_NORM OP: wrong shape of gain array, expected is {%i}, but got %s instead !", input->sizeAt(dimC), ShapeUtils::shapeAsString(gain).c_str()); @@ -82,7 +82,7 @@ namespace ops { auto dLdg = OUTPUT_VARIABLE(1); auto dLdb = block.width() == 4 ? OUTPUT_VARIABLE(2) : nullptr; - const bool isNCHW = block.getBArguments()->size() > 0 ? B_ARG(0) : true; // INT_ARG(9): 0-NCHW, 1-NHWC + const bool isNCHW = block.getBArguments()->size() > 0 ? B_ARG(0) : true; // 0-NCHW, 1-NHWC const int dimC = isNCHW ? 1 : input->rankOf() - 1; REQUIRE_TRUE(gain->rankOf() == 1 && gain->sizeAt(0) == input->sizeAt(dimC), 0, "LAYER_NORM_BP OP: wrong shape of gain array, expected is {%i}, but got %s instead !", input->sizeAt(dimC), ShapeUtils::shapeAsString(gain).c_str()); diff --git a/libnd4j/include/ops/declarable/generic/nn/pooling/maxpool3d.cpp b/libnd4j/include/ops/declarable/generic/nn/pooling/maxpool3d.cpp index fd28901cc..922178c0d 100644 --- a/libnd4j/include/ops/declarable/generic/nn/pooling/maxpool3d.cpp +++ b/libnd4j/include/ops/declarable/generic/nn/pooling/maxpool3d.cpp @@ -47,7 +47,7 @@ CUSTOM_OP_IMPL(maxpool3dnew, 1, 1, false, 0, 14) { int dH = INT_ARG(10); // dilations height int dW = INT_ARG(11); // dilations width int isSameMode = INT_ARG(12); // 1-SAME, 0-VALID - // int extraParam0 = INT_ARG(13); // unnecessary for max case, required only for avg and pnorm cases + int extraParam0 = INT_ARG(13); // unnecessary for max case, required only for avg and pnorm cases int isNCDHW = block.getIArguments()->size() > 14 ? !INT_ARG(14) : 1; // 1-NDHWC, 0-NCDHW REQUIRE_TRUE(input->rankOf() == 5, 0, "MAXPOOL3DNEW OP: rank of input array must be equal to 5, but got %i instead !", input->rankOf()); @@ -166,7 +166,7 @@ CUSTOM_OP_IMPL(maxpool3dnew_bp, 2, 1, false, 0, 14) { const int dH = INT_ARG(10); // dilations height const int dW = INT_ARG(11); // dilations width const int isSameMode = INT_ARG(12); // 1-SAME, 0-VALID - // int extraParam0 = INT_ARG(13); // unnecessary for max case, required only for avg and pnorm cases + int extraParam0 = INT_ARG(13); // unnecessary for max case, required only for avg and pnorm cases int isNCDHW = block.getIArguments()->size() > 14 ? !INT_ARG(14) : 1; // 1-NDHWC, 0-NCDHW REQUIRE_TRUE(input->rankOf() == 5, 0, "MAXPOOL3DNEW_BP op: input should have rank of 5, but got %i instead", input->rankOf()); diff --git a/libnd4j/include/ops/declarable/generic/parity_ops/onehot.cpp b/libnd4j/include/ops/declarable/generic/parity_ops/onehot.cpp index 5b25ea7e6..70dd5b20f 100644 --- a/libnd4j/include/ops/declarable/generic/parity_ops/onehot.cpp +++ b/libnd4j/include/ops/declarable/generic/parity_ops/onehot.cpp @@ -34,8 +34,8 @@ namespace sd { double on(1.0f); // T_ARG(0); double off(0.0f); //T_ARG(1); - auto depth = -1; //INT_ARG(0); - auto axis = -1; //INT_ARG(1); + auto axis = -1; //INT_ARG(0); + auto depth = -1; //INT_ARG(1); if (block.numI() > 0) axis = INT_ARG(0); diff --git a/libnd4j/include/ops/declarable/generic/random/dropout.cpp b/libnd4j/include/ops/declarable/generic/random/dropout.cpp index b64fd49d5..edbc6d378 100644 --- a/libnd4j/include/ops/declarable/generic/random/dropout.cpp +++ b/libnd4j/include/ops/declarable/generic/random/dropout.cpp @@ -105,7 +105,7 @@ CONFIGURABLE_OP_IMPL(alpha_dropout_bp, 2, 1, false, 4, 1) { int seed = INT_ARG(0); double probValue = T_ARG(0); - double alphaValue = T_ARG(0); + double alphaValue = T_ARG(1); double alpha1Value = T_ARG(2); double betaValue = T_ARG(3); diff --git a/libnd4j/include/ops/declarable/generic/shape/flatten_2d.cpp b/libnd4j/include/ops/declarable/generic/shape/flatten_2d.cpp new file mode 100644 index 000000000..3f7892c9a --- /dev/null +++ b/libnd4j/include/ops/declarable/generic/shape/flatten_2d.cpp @@ -0,0 +1,92 @@ +/******************************************************************************* + * Copyright (c) 2015-2018 Skymind, Inc. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License, Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * SPDX-License-Identifier: Apache-2.0 + ******************************************************************************/ + +// +// Created by raver119 on 29/10/17. +// + +#include +#if NOT_EXCLUDED(OP_flatten2d) + +#include + +namespace sd { +namespace ops { + +////////////////////////////////////////////////////////////////////////// +// here iArgs is a vector with (optional) negative of order as first element: +// ({-order, dim1, dim2, dim3, ...}) +CUSTOM_OP_IMPL(flatten_2d, 1, 1, false, 0, -2) { + + auto x = INPUT_VARIABLE(0); + auto z = OUTPUT_VARIABLE(0); + + //Special case: empty.reshape() -> return empty + if (x->isEmpty()) { + REQUIRE_TRUE(z->isEmpty(), 0, "Reshape: when input is empty, output must also be empty"); + return Status::OK(); //No op + } + + REQUIRE_TRUE(x->lengthOf() == z->lengthOf(), 0, "Reshape: lengths before and after reshape should match, but got %i vs %i", x->lengthOf(), z->lengthOf()); + + if (Environment::getInstance().isDebugAndVerbose()) + nd4j_printv("Reshape: new shape", z->getShapeAsVector()); + + z->assign(x->reshape(z->ordering(), z->getShapeAsVector())); + + return Status::OK(); +} + + +DECLARE_TYPES(flatten_2d) { + getOpDescriptor() + ->setAllowedInputTypes(0, sd::DataType::ANY) + ->setAllowedInputTypes(1, {ALL_INTS}) + ->setSameMode(true); +} + +DECLARE_SHAPE_FN(flatten_2d) { + + const auto x = INPUT_VARIABLE(0); + const auto shape = x->shapeOf(); + auto axis = INT_ARG(0); + if(axis < 0) { + axis += x->rankOf(); + } + std::vector reshapeArgs; + std::vector shapeNew; + auto firstDim = 1; + auto lastDim = 1; + for(int i = 0; i < axis; i++) { + firstDim *= shape[i]; + } + + for(int i = axis; i < x->rankOf(); i++) { + lastDim *= shape[i]; + } + + shapeNew.push_back(firstDim); + shapeNew.push_back(lastDim); + nd4j_printf("Shape %d %d\n",firstDim,lastDim); + auto len = shape::prodLong(shapeNew.data(), shapeNew.size()); + REQUIRE_TRUE(x->lengthOf() == len, 0, "Reshape: lengths before and after reshape should match, but got %i vs %i", x->lengthOf(), len); + + return SHAPELIST(ConstantShapeHelper::getInstance().createShapeInfo(x->dataType(), x->ordering(), shapeNew)); +} +} +} + +#endif \ No newline at end of file diff --git a/libnd4j/include/ops/declarable/generic/tensor/fill_as.cpp b/libnd4j/include/ops/declarable/generic/tensor/fill_as.cpp index f2d74572d..881ebe758 100644 --- a/libnd4j/include/ops/declarable/generic/tensor/fill_as.cpp +++ b/libnd4j/include/ops/declarable/generic/tensor/fill_as.cpp @@ -29,7 +29,7 @@ namespace sd { auto output = OUTPUT_VARIABLE(0); if (block.width() > 1) { - auto s = INPUT_VARIABLE(1); + auto s = INPUT_VARIABLE(0); output->assign(s); } else if (block.numT() > 0) { output->assign(T_ARG(0)); diff --git a/libnd4j/include/ops/declarable/generic/tensor/strided_slice.cpp b/libnd4j/include/ops/declarable/generic/tensor/strided_slice.cpp index bbdc84ce5..9974197b8 100644 --- a/libnd4j/include/ops/declarable/generic/tensor/strided_slice.cpp +++ b/libnd4j/include/ops/declarable/generic/tensor/strided_slice.cpp @@ -302,7 +302,7 @@ namespace sd { CUSTOM_OP_IMPL(strided_slice, 1, 1, false, 0, 5) { auto x = INPUT_VARIABLE(0); auto z = OUTPUT_VARIABLE(0); - if (z->isEmpty()) { + if (z->isEmpty() || z->lengthOf() == 0) { return ND4J_STATUS_OK; } @@ -430,7 +430,7 @@ namespace sd { RELEASE(subArrShapeInfo, block.getWorkspace()); } - else if (!z->isEmpty()){ + else if (!z->isEmpty()) { z->assign(x->e(0)); } return Status::OK(); @@ -469,7 +469,7 @@ namespace sd { for (int e = 5; e < block.getIArguments()->size(); e++) args.emplace_back(INT_ARG(e)); - // FIXME: propably template required here + // FIXME: probably template required here ShapeUtils::copyVectorPart(begin, args, elements, 0); ShapeUtils::copyVectorPart(end, args, elements, elements); ShapeUtils::copyVectorPart(strides, args, elements, elements * 2); @@ -526,9 +526,11 @@ namespace sd { // } else { // newShape = ConstantShapeHelper::getInstance().scalarShapeInfo(ArrayOptions::dataType(inShape)); // } + nd4j_printf("Returning new shape %d\n",0); return SHAPELIST(newShape); } + nd4j_printf("Returning empty shape info %d\n",0); return SHAPELIST(ConstantShapeHelper::getInstance().emptyShapeInfo(ArrayOptions::dataType(inShape))); } diff --git a/libnd4j/include/ops/declarable/headers/shape.h b/libnd4j/include/ops/declarable/headers/shape.h index 7f9330342..8f205af58 100644 --- a/libnd4j/include/ops/declarable/headers/shape.h +++ b/libnd4j/include/ops/declarable/headers/shape.h @@ -53,6 +53,10 @@ namespace sd { DECLARE_CUSTOM_OP(expand_dims, 1, 1, false, 0, -2); #endif + #if NOT_EXCLUDED(OP_flatten_2d) + DECLARE_CUSTOM_OP(flatten_2d, 1, 1, false, 0, 1); + #endif + #if NOT_EXCLUDED(OP_reshape) DECLARE_CUSTOM_OP(reshape, 1, 1, false, 0, -2); #endif @@ -92,7 +96,7 @@ namespace sd { * shape array - array containing shape be broadcasted to */ #if NOT_EXCLUDED(OP_broadcast_to) - DECLARE_CUSTOM_OP(broadcast_to, 2, 1, false, 0, 0); + DECLARE_CUSTOM_OP(broadcast_to, 2, 1, false, 0, 0); #endif diff --git a/libnd4j/include/ops/declarable/helpers/cpu/random.cpp b/libnd4j/include/ops/declarable/helpers/cpu/random.cpp index d96b30175..4547f3645 100644 --- a/libnd4j/include/ops/declarable/helpers/cpu/random.cpp +++ b/libnd4j/include/ops/declarable/helpers/cpu/random.cpp @@ -173,12 +173,12 @@ namespace helpers { s ← s + p. return x. * */ - template + template void fillRandomPoisson_(LaunchContext* context, graph::RandomGenerator& rng, NDArray* lambda, NDArray* output) { auto shift = output->lengthOf() / lambda->lengthOf(); auto step = lambda->lengthOf(); T* lambdaBuf = lambda->dataBuffer()->primaryAsT(); - T* outputBuf = output->dataBuffer()->primaryAsT(); + Z* outputBuf = output->dataBuffer()->primaryAsT(); bool directLa = lambda->ews() == 1 && lambda->ordering() == 'c'; bool directOut = output->ews() == 1 && output->ordering() == 'c'; PRAGMA_OMP_PARALLEL_FOR @@ -188,7 +188,7 @@ namespace helpers { for (Nd4jLong e = 0; e < step; e++) { auto p = math::nd4j_exp(-lambda->t(e)); auto s = p; - auto x = T(0.f); + auto x = Z(0.f); while (u > s) { x += 1.f; p *= directLa?lambdaBuf[e]/x:lambda->t(e) / x; @@ -197,16 +197,19 @@ namespace helpers { if (directOut) outputBuf[pos + e] = x; else - output->r(pos + e) = x; + output->r(pos + e) = x; } } } + void fillRandomPoisson(LaunchContext* context, graph::RandomGenerator& rng, NDArray* lambda, NDArray* output) { - BUILD_SINGLE_SELECTOR(output->dataType(), fillRandomPoisson_, (context, rng, lambda, output), FLOAT_NATIVE); + BUILD_DOUBLE_SELECTOR(lambda->dataType(), output->dataType(), fillRandomPoisson_, (context, rng, lambda, output), FLOAT_TYPES, FLOAT_TYPES); } - BUILD_SINGLE_TEMPLATE(template void fillRandomPoisson_, (LaunchContext* context, - graph::RandomGenerator& rng, NDArray* lambda, NDArray* output), FLOAT_TYPES); + + BUILD_DOUBLE_TEMPLATE(template void fillRandomPoisson_, (LaunchContext* context, + graph::RandomGenerator& rng, NDArray* lambda, NDArray* output), FLOAT_TYPES, FLOAT_TYPES); + template void fillRandomUniform_(LaunchContext* context, graph::RandomGenerator& rng, NDArray* min, NDArray* max, NDArray* output) { diff --git a/libnd4j/include/ops/declarable/impl/DeclarableOp.cpp b/libnd4j/include/ops/declarable/impl/DeclarableOp.cpp index cd8d0bdd8..489970bf4 100644 --- a/libnd4j/include/ops/declarable/impl/DeclarableOp.cpp +++ b/libnd4j/include/ops/declarable/impl/DeclarableOp.cpp @@ -320,22 +320,21 @@ namespace sd { if (!shape::equalsSoft(out, shape) || shape::isEmpty(out) != shape::isEmpty(shape)) { auto eShape = ShapeUtils::shapeAsString(out); auto aShape = ShapeUtils::shapeAsString(shape); - + auto eShapeInfoString = ShapeUtils::shapeInfoAsString(out); + auto aShapeInfoString = ShapeUtils::shapeInfoAsString(shape); //outSha->destroy(); delete outSha; - nd4j_printf("Expected vs provided shapes mismatch %s vs %s at index %i\n", eShape.c_str(), aShape.c_str(), pair.second); + nd4j_printf("Expected vs provided shapes mismatch %s vs %s at index %i with expected shape info %s and output shape info %s\n", eShape.c_str(), aShape.c_str(), pair.second,eShapeInfoString.c_str(),aShapeInfoString.c_str()); + throw std::runtime_error("Expected vs provided shapes mismatch"); } - /* - * FIXME: we want to uncomment this eventually, and check data types equality //checking out data type equality if (ArrayOptions::dataType(out) != ArrayOptions::dataType(shape)) { std::string msg = "Provided array [" + StringUtils::valueToString(pair.second) + "] has unexpected data type"; throw sd::datatype_exception::build(msg, ArrayOptions::dataType(out), ArrayOptions::dataType(shape)); } - */ } } else { auto fout = ctx.fastpath_out(); @@ -346,16 +345,22 @@ namespace sd { ctx.setOutputArray(idx, outArr, true); } else { auto array = fout[idx]; + int shapeEquals = shape::equalsSoft(out, array->shapeInfo()); + int arrayEmpty = array->isEmpty(); // checking out shape equality - if (!shape::equalsSoft(out, array->shapeInfo()) || shape::isEmpty(out) != array->isEmpty()) { + if (!shapeEquals || arrayEmpty) { auto eShape = ShapeUtils::shapeAsString(out); auto aShape = ShapeUtils::shapeAsString(array->shapeInfo()); + auto eShapeInfoString = ShapeUtils::shapeInfoAsString(out); + auto aShapeInfoString = ShapeUtils::shapeInfoAsString(array->shapeInfo()); + if(eShapeInfoString != aShapeInfoString) { + //outSha->destroy(); + delete outSha; - //outSha->destroy(); - delete outSha; + nd4j_printf("Expected vs provided shapes mismatch %s vs %s at index %i with expected shape info %s and output shape info %s. Conditions, shapeEquals: %d, array empty: %d\n", eShape.c_str(), aShape.c_str(), idx,eShapeInfoString.c_str(),aShapeInfoString.c_str(),shapeEquals,arrayEmpty); + throw std::runtime_error("Output array did not match expected shape."); + } - nd4j_printf("Expected vs provided shape mismatch %s vs %s at index %i\n", eShape.c_str(), aShape.c_str(), idx); - throw std::runtime_error("Expected vs provided shape mismatch"); } } } diff --git a/libnd4j/include/ops/declarable/platform/armcompute/armcomputeUtils.cpp b/libnd4j/include/ops/declarable/platform/armcompute/armcomputeUtils.cpp index 66b472252..64d254167 100644 --- a/libnd4j/include/ops/declarable/platform/armcompute/armcomputeUtils.cpp +++ b/libnd4j/include/ops/declarable/platform/armcompute/armcomputeUtils.cpp @@ -77,14 +77,16 @@ Arm_DataType getArmType ( const DataType &dType){ return ret; } + bool isArmcomputeFriendly(const NDArray& arr) { - auto dType = getArmType(arr.dataType()); + auto dType = getArmType(arr.dataType()); int rank = (int)(arr.rankOf()); + int ind = arr.ordering() == 'c' ? rank-1 : 0; + auto arrStrides = arr.stridesOf(); return dType != Arm_DataType::UNKNOWN && rank<=arm_compute::MAX_DIMS && arr.ordering() == 'c' && - arr.ews()==1 && - shape::strideDescendingCAscendingF(arr.shapeInfo()) == true; + arrStrides[ind] == 1 ; } Arm_TensorInfo getArmTensorInfo(int rank, Nd4jLong* bases,sd::DataType ndArrayType, arm_compute::DataLayout layout) { @@ -107,7 +109,10 @@ Arm_TensorInfo getArmTensorInfo(int rank, Nd4jLong* bases,sd::DataType ndArrayTy Arm_TensorInfo getArmTensorInfo(const NDArray& arr, arm_compute::DataLayout layout) { auto dType = getArmType(arr.dataType()); - + + + internal_print_nd_shape(arr,"shape") ; + internal_print_nd_array(arr,"data") ; // constexpr int numChannels = 1; int rank = (int)(arr.rankOf()); @@ -122,21 +127,28 @@ Arm_TensorInfo getArmTensorInfo(const NDArray& arr, Arm_Strides strides; shape.set_num_dimensions(rank); strides.set_num_dimensions(rank); - size_t element_size = arm_compute::data_size_from_type(dType); + size_t element_size = arr.sizeOfT(); for (int i = 0, j = rank - 1; i < rank; i++, j--) { shape[i] = static_cast(bases[j]); - strides[i] = static_cast(arrStrides[j]) * element_size; + strides[i] = static_cast(arrStrides[j] * element_size); } // fill the rest unused with 1 for (int i = rank; i < arm_compute::MAX_DIMS; i++) { shape[i] = 1; } - size_t total_size; - size_t size_ind = rank - 1; - total_size = shape[size_ind] * strides[size_ind]; - + + size_t total_size = arr.lengthOf() * element_size; + size_t offset=0; + //size_t size_ind = rank - 1; + //total_size = shape[size_ind] * strides[size_ind]; + if (arr.hasPaddedBuffer()){ + internal_printf("---has padded buffer %d\n",0); + total_size = arr.getDataBuffer()->getLenInBytes(); + offset = arr.bufferOffset() * element_size; + } + internal_printf(":: offset %d el size %d arr.getDataBuffer()->getLenInBytes() %d lengthof %d \n",(int)arr.bufferOffset(), (int)element_size, (int)arr.getDataBuffer()->getLenInBytes(), (int)arr.lengthOf()); Arm_TensorInfo info; - info.init(shape, numChannels, dType, strides, 0, total_size); + info.init(shape, numChannels, dType, strides, offset, total_size); info.set_data_layout(layout); return info; @@ -154,19 +166,19 @@ Arm_Tensor getArmTensor(const NDArray& arr, arm_compute::DataLayout layout) { auto info = getArmTensorInfo(arr, layout); Arm_Tensor tensor; tensor.allocator()->init(info); - void* buff = (void*)arr.buffer(); + //get without offset + void* buff = arr.getDataBuffer()->primary(); tensor.allocator()->import_memory(buff); return tensor; } -void copyFromTensor(const Arm_Tensor& inTensor, NDArray& output) { - //only for C order +void copyFromTensor(const Arm_Tensor& inTensor, sd::NDArray& output) { //only for C order if (output.ordering() != 'c') return; - auto shapeInfo = output.shapeInfo(); - auto bases = &(shapeInfo[1]); - Nd4jLong rank = shapeInfo[0]; - auto strides = output.stridesOf(); + const Nd4jLong* shapeInfo = output.shapeInfo(); + const Nd4jLong* bases = &(shapeInfo[1]); + const Nd4jLong rank = shapeInfo[0]; + const Nd4jLong* strides = output.stridesOf(); int width = bases[rank - 1]; uint8_t* outputBuffer = (uint8_t*)output.buffer(); size_t offset = 0; @@ -176,7 +188,7 @@ void copyFromTensor(const Arm_Tensor& inTensor, NDArray& output) { int element_size = inTensor.info()->element_size(); window.use_tensor_dimensions(inTensor.info()->tensor_shape(), /* first_dimension =*/arm_compute::Window::DimY); -// if (output.ews() == 1) { + if (output.ews() == 1) { auto copySize = width * element_size; auto dest = outputBuffer; arm_compute::execute_window_loop(window, [&](const arm_compute::Coordinates& id) @@ -186,31 +198,28 @@ void copyFromTensor(const Arm_Tensor& inTensor, NDArray& output) { dest += copySize; }, tensor_it); - // } - // else { - // Nd4jLong coords[MAX_RANK] = {}; - // if(strides[rank-1]!=1){ - // throw std::runtime_error( "not implemented for subarrays whose last stride is not 1"); - // //TODO: implement to work with all subarrays properly - // } - // arm_compute::execute_window_loop(window, [&](const arm_compute::Coordinates& id) - // { - // auto src = tensor_it.ptr(); - // auto dest = outputBuffer + offset * element_size; - // memcpy(dest, src, width * element_size); - // offset = sd::inc_coords(bases, strides, coords, offset, rank, 1); - // }, - // tensor_it); - // } + } + else { + Nd4jLong coords[MAX_RANK] = {}; + auto copySize = width * element_size; + arm_compute::execute_window_loop(window, [&](const arm_compute::Coordinates& id) + { + auto src = tensor_it.ptr(); + auto dest = outputBuffer + offset * element_size; + memcpy(dest, src, copySize); + offset = sd::inc_coords(bases, strides, coords, offset, rank, 1); + }, + tensor_it); + } } -void copyToTensor(const NDArray& input, Arm_Tensor& outTensor) { +void copyToTensor(const sd::NDArray& input, Arm_Tensor& outTensor) { //only for C order if (input.ordering() != 'c') return; - auto shapeInfo = input.shapeInfo(); - auto bases = &(shapeInfo[1]); - Nd4jLong rank = shapeInfo[0]; - auto strides = input.stridesOf(); + const Nd4jLong* shapeInfo = input.shapeInfo(); + const Nd4jLong* bases = &(shapeInfo[1]); + const Nd4jLong rank = shapeInfo[0]; + const Nd4jLong* strides = input.stridesOf(); uint8_t *inputBuffer = (uint8_t*)input.buffer(); int width = bases[rank - 1]; size_t offset = 0; @@ -220,38 +229,36 @@ void copyToTensor(const NDArray& input, Arm_Tensor& outTensor) { window.use_tensor_dimensions(outTensor.info()->tensor_shape(), /* first_dimension =*/arm_compute::Window::DimY); -// if (input.ews() == 1) { + if (input.ews() == 1) { - auto copySize = width * element_size; - auto src = inputBuffer; - arm_compute::execute_window_loop(window, [&](const arm_compute::Coordinates& id) + auto copySize = width * element_size; + auto src = inputBuffer; + arm_compute::execute_window_loop(window, [&](const arm_compute::Coordinates& id) { auto dest = tensor_it.ptr(); memcpy(dest,src, copySize); src += copySize; }, tensor_it); -// } -// else { -// Nd4jLong coords[MAX_RANK] = {}; -// if(strides[rank-1]!=1){ -// throw std::runtime_error( "not implemented for subarrays whose last stride is not 1"); -// //TODO: implement to work with all subarrays properly -// } -// arm_compute::execute_window_loop(window, [&](const arm_compute::Coordinates& id) -// { -// auto dest = tensor_it.ptr(); -// auto src = inputBuffer + offset * element_size; -// offset = sd::inc_coords(bases, strides, coords, offset, rank, 1); -// }, -// tensor_it); -// } + } + else { + Nd4jLong coords[MAX_RANK] = {}; + auto copySize = width * element_size; + arm_compute::execute_window_loop(window, [&](const arm_compute::Coordinates& id) + { + auto dest = tensor_it.ptr(); + auto src = inputBuffer + offset * element_size; + memcpy(dest, src, copySize); + offset = sd::inc_coords(bases, strides, coords, offset, rank, 1); + }, + tensor_it); + } } // armcompute should be built with debug option void print_tensor(Arm_ITensor& tensor, const char* msg) { - auto info = tensor.info(); + auto info = tensor.info(); auto padding = info->padding(); std::cout << msg << "\ntotal: " << info->total_size() << "\n"; diff --git a/libnd4j/include/ops/declarable/platform/armcompute/armcomputeUtils.h b/libnd4j/include/ops/declarable/platform/armcompute/armcomputeUtils.h index 72a4e6e89..b95d68b1e 100644 --- a/libnd4j/include/ops/declarable/platform/armcompute/armcomputeUtils.h +++ b/libnd4j/include/ops/declarable/platform/armcompute/armcomputeUtils.h @@ -13,6 +13,7 @@ * SPDX-License-Identifier: Apache-2.0 ******************************************************************************/ + // Created by Abdelrauf 2020 #ifndef DEV_TESTSARMCOMPUTEUTILS_H #define DEV_TESTSARMCOMPUTEUTILS_H @@ -39,91 +40,284 @@ using namespace samediff; +#if 0 +#define internal_printf(FORMAT, ...) nd4j_printf(FORMAT, __VA_ARGS__) +//define ARM_COMPUTE_ASSERTS_ENABLED 1 +#define internal_print_arm_array(a,b) print_tensor(a,b) +#define internal_print_nd_array(a,b) ((a).printIndexedBuffer(b)) +#define internal_print_nd_shape(a,b) ((a).printShapeInfo(b)) +#else +#define internal_printf(FORMAT, ...) +#define internal_print_arm_array(a,b) +#define internal_print_nd_array(a,b) +#define internal_print_nd_shape(a,b) +#endif namespace sd { namespace ops { namespace platforms { - using Arm_DataType = arm_compute::DataType; - using Arm_Tensor = arm_compute::Tensor; - using Arm_ITensor = arm_compute::ITensor; - using Arm_TensorInfo = arm_compute::TensorInfo; - using Arm_TensorShape = arm_compute::TensorShape; - using Arm_Strides = arm_compute::Strides; - /** - * Here we actually declare our platform helpers - */ - + using Arm_DataType = arm_compute::DataType; + using Arm_Tensor = arm_compute::Tensor; + using Arm_ITensor = arm_compute::ITensor; + using Arm_TensorInfo = arm_compute::TensorInfo; + using Arm_TensorShape = arm_compute::TensorShape; + using Arm_Strides = arm_compute::Strides; + using Arm_WeightsInfo = arm_compute::WeightsInfo; + using Arm_PermutationVector = arm_compute::PermutationVector; + using Arm_DataLayout = arm_compute::DataLayout; - DECLARE_PLATFORM(maxpool2d, ENGINE_CPU); + /** + * Here we actually declare our platform helpers + */ + DECLARE_PLATFORM(maxpool2d, ENGINE_CPU); - DECLARE_PLATFORM(avgpool2d, ENGINE_CPU); + DECLARE_PLATFORM(avgpool2d, ENGINE_CPU); - //utils - Arm_DataType getArmType(const sd::DataType& dType); + DECLARE_PLATFORM(conv2d, ENGINE_CPU); - Arm_TensorInfo getArmTensorInfo(int rank, Nd4jLong* bases, sd::DataType ndArrayType, arm_compute::DataLayout layout = arm_compute::DataLayout::UNKNOWN); + DECLARE_PLATFORM(deconv2d, ENGINE_CPU); - Arm_TensorInfo getArmTensorInfo(const NDArray& arr, arm_compute::DataLayout layout = arm_compute::DataLayout::UNKNOWN); + //utils + Arm_DataType getArmType(const sd::DataType& dType); - Arm_Tensor getArmTensor(const NDArray& arr, arm_compute::DataLayout layout = arm_compute::DataLayout::UNKNOWN); + Arm_TensorInfo getArmTensorInfo(int rank, Nd4jLong* bases, sd::DataType ndArrayType, Arm_DataLayout layout = Arm_DataLayout::UNKNOWN); - void copyFromTensor(const Arm_Tensor& inTensor, NDArray& output); - void copyToTensor(const NDArray& input, Arm_Tensor& outTensor); - void print_tensor(Arm_ITensor& tensor, const char* msg); - bool isArmcomputeFriendly(const NDArray& arr); + Arm_TensorInfo getArmTensorInfo(const NDArray& arr, Arm_DataLayout layout = Arm_DataLayout::UNKNOWN); + Arm_Tensor getArmTensor(const NDArray& arr, Arm_DataLayout layout = Arm_DataLayout::UNKNOWN); - template - class ArmFunction { - public: + void copyFromTensor(const Arm_Tensor& inTensor, NDArray& output); + void copyToTensor(const NDArray& input, Arm_Tensor& outTensor); + void print_tensor(Arm_ITensor& tensor, const char* msg); + bool isArmcomputeFriendly(const NDArray& arr); - template - void configure(NDArray *input , NDArray *output, arm_compute::DataLayout layout, Args&& ...args) { - - auto inInfo = getArmTensorInfo(*input, layout); - auto outInfo = getArmTensorInfo(*output, layout); - in.allocator()->init(inInfo); - out.allocator()->init(outInfo); - armFunction.configure(&in,&out,std::forward(args) ...); - if (in.info()->has_padding()) { - //allocate and copy - in.allocator()->allocate(); - //copy - copyToTensor(*input, in); + template + class ArmFunction { + public: + template + void configure( NDArray* input, NDArray* output, Arm_DataLayout layout, Args&& ...args) { + bool inputHasPaddedBuffer = input->hasPaddedBuffer(); + bool outputHasPaddedBuffer = output->hasPaddedBuffer(); + if (inputHasPaddedBuffer) { + in = getArmTensor(*input, layout); + internal_printf("input is a padded buffer %d\n", 0); + } + else { + auto inInfo = getArmTensorInfo(*input, layout); + in.allocator()->init(inInfo); + } + if (outputHasPaddedBuffer) { + out = getArmTensor(*output, layout); + internal_printf("output is a padded buffer %d\n", 0); + } + else { + auto outInfo = getArmTensorInfo(*output, layout); + out.allocator()->init(outInfo); + } + armFunction.configure(&in, &out, std::forward(args) ...); + if (!inputHasPaddedBuffer) { + if (in.info()->has_padding() || input->ews() != 1) { + //allocate and copy + in.allocator()->allocate(); + inputNd = input; + } + else { + //import only for ews()==1 + in.allocator()->import_memory(input->buffer()); + internal_printf("input import %d\n", 0); + } + } + if (!outputHasPaddedBuffer) { + if (out.info()->has_padding() || output->ews()!=1) { + //store pointer to our array to copy after run + out.allocator()->allocate(); + outNd = output; + } + else { + //import only for ews()==1 + out.allocator()->import_memory(output->buffer()); + internal_printf("output import %d\n", 0); + } + } + } + void run() { + if (inputNd) { + //copy + copyToTensor(*inputNd, in); + internal_printf("input copy %d\n", 0); + internal_print_nd_array(*inputNd,"input"); + internal_print_arm_array(in, "in"); + } + armFunction.run(); + if (outNd) { + copyFromTensor(out, *outNd); + internal_printf("output copy %d\n", 0); + internal_print_arm_array(out, "out"); + } + } + private: + Arm_Tensor in; + Arm_Tensor out; + NDArray* inputNd = nullptr; + NDArray* outNd = nullptr; + F armFunction{}; + }; - } - else { - //import buffer - void* buff = input->buffer(); - in.allocator()->import_memory(buff); - } - if (out.info()->has_padding()) { - //store pointer to our array to copy after run - out.allocator()->allocate(); - outNd = output; - } - else { - //import - void* buff = output->buffer(); - out.allocator()->import_memory(buff); - } + template + class ArmFunctionWeighted { + public: + template + void configure( NDArray* input, NDArray* weights, NDArray* biases, NDArray* output, Arm_DataLayout layout, arm_compute::PermutationVector permuteVector, Args&& ...args) { + bool inputHasPaddedBuffer = input->hasPaddedBuffer(); + bool weightsHasPaddedBuffer = weights->hasPaddedBuffer(); + bool outputHasPaddedBuffer = output->hasPaddedBuffer(); + bool biasesHasPaddedBuffer = false; + if (inputHasPaddedBuffer) { + in = getArmTensor(*input, layout); + internal_printf("input is a padded buffer %d\n", 1); + } + else { + in.allocator()->init(getArmTensorInfo(*input, layout)); + } + if (weightsHasPaddedBuffer) { + w = getArmTensor(*weights, layout); + internal_printf("weights is a padded buffer %d\n", 1); + } + else { + w.allocator()->init(getArmTensorInfo(*weights, layout)); + } + if (outputHasPaddedBuffer) { + out = getArmTensor(*output, layout); + internal_printf("output is a padded buffer %d\n", 1); + } + else { + out.allocator()->init(getArmTensorInfo(*output, layout)); + } + Arm_Tensor* bias_ptr = nullptr; + if (biases) { + biasesHasPaddedBuffer = biases->hasPaddedBuffer(); + if (biasesHasPaddedBuffer) { + b = getArmTensor(*biases, layout); + internal_printf("biases is a padded buffer %d\n", 1); + } + else { + b.allocator()->init(getArmTensorInfo(*biases, layout)); + } + bias_ptr = &b; + } + if (permuteVector.num_dimensions() == 0) { + armFunction.configure(&in, &w, bias_ptr, &out, std::forward(args)...); + } + else { + //configure with permute kernel + Arm_TensorShape shape; + int rank = permuteVector.num_dimensions(); + shape.set_num_dimensions(rank); + auto wInfoPtr = w.info(); + for (int i = 0; i < rank; i++) { + shape[i] = wInfoPtr->dimension(permuteVector[i]); + } + for (int i = rank; i < arm_compute::MAX_DIMS; i++) { + shape[i] = 1; + } + Arm_TensorInfo wPermInfo(shape, 1, wInfoPtr->data_type(), layout); + wPerm.allocator()->init(wPermInfo); + permuter.configure(&w, &wPerm, permuteVector); + armFunction.configure(&in, &wPerm, bias_ptr, &out, std::forward(args)...); + wPerm.allocator()->allocate(); + runPerm = true; + } + //import buffer + if (!inputHasPaddedBuffer) { + if (in.info()->has_padding() || input->ews()!=1) { + //allocate and copy + in.allocator()->allocate(); + inputNd = input; + } + else { + //import buffer + in.allocator()->import_memory(input->buffer()); + internal_printf("input import %d\n", 1); + } + } + if (!weightsHasPaddedBuffer) { + if (w.info()->has_padding() || weights->ews()!=1) { + //store pointer to our array to copy after run + w.allocator()->allocate(); + wNd = weights; + } + else { + //import + w.allocator()->import_memory(weights->buffer()); + internal_printf("weights import %d\n", 1); + } + } + if (biases && !biasesHasPaddedBuffer) { + if (b.info()->has_padding() || biases->ews()!=1) { + //store pointer to our array to copy after run + b.allocator()->allocate(); + bNd = biases; + } + else { + //import + b.allocator()->import_memory(biases->buffer()); + internal_printf("biases import %d\n", 1); + } + } + if (!outputHasPaddedBuffer) { + if (out.info()->has_padding() || output->ews()!=1) { + //store pointer to our array to copy after run + out.allocator()->allocate(); + outNd = output; + } + else { + //import + out.allocator()->import_memory(output->buffer()); + internal_printf("output import %d\n", 1); + } + } + } + void run() { + if (inputNd) { + //copy + copyToTensor(*inputNd, in); + internal_printf("input copy %d\n", 1); + } + if (bNd) { + //copy + copyToTensor(*bNd, b); + internal_printf("biases copy %d\n", 1); + } + if (wNd) { + //copy + copyToTensor(*wNd, w); + internal_printf("weights copy %d\n", 1); + } + if (runPerm) { + permuter.run(); + } + armFunction.run(); + if (outNd) { + copyFromTensor(out, *outNd); + internal_printf("output copy %d\n", 1); + } + } + private: + bool runPerm = false; + Arm_Tensor in; + Arm_Tensor b; + Arm_Tensor w; + Arm_Tensor wPerm; + Arm_Tensor out; + NDArray* inputNd = nullptr; + NDArray* wNd = nullptr; + NDArray* bNd = nullptr; + NDArray* outNd = nullptr; + arm_compute::NEPermute permuter; + F armFunction{}; + }; - } - - void run() { - armFunction.run(); - if (outNd) { - copyFromTensor(out, *outNd); - } - } - - private: - Arm_Tensor in; - Arm_Tensor out; - NDArray *outNd=nullptr; - F armFunction{}; - }; } } } diff --git a/libnd4j/include/ops/declarable/platform/armcompute/avgpooling2d.cpp b/libnd4j/include/ops/declarable/platform/armcompute/avgpooling2d.cpp index d8413104d..6c43a1ce2 100644 --- a/libnd4j/include/ops/declarable/platform/armcompute/avgpooling2d.cpp +++ b/libnd4j/include/ops/declarable/platform/armcompute/avgpooling2d.cpp @@ -52,12 +52,12 @@ PLATFORM_IMPL(avgpool2d, ENGINE_CPU) { REQUIRE_TRUE(input->rankOf() == 4, 0, "AVGPOOL2D ARMCOMPUTE op: input should have rank of 4, but got %i instead", input->rankOf()); REQUIRE_TRUE(dH != 0 && dW != 0, 0, "AVGPOOL2D ARMCOMPUTE op: dilation must not be zero, but got instead {%i, %i}", dH, dW); - bool exclude_padding= (extraParam0 == 0) ? true : false; + bool excludePadding= (extraParam0 == 0) ? true : false; auto dataLayout = isNCHW ? arm_compute::DataLayout::NCHW : arm_compute::DataLayout::NHWC; // Calculate individual paddings - unsigned int pad_left, pad_top, pad_right, pad_bottom; + unsigned int padLeft, padTop, padRight, padBottom; int bS, iC, iH, iW, oC, oH, oW; // batch size, input channels, input height/width, output channels, output height/width; int indIOioC, indIiH, indWoC, indWiC, indWkH, indOoH; // corresponding indexes ConvolutionUtils::getSizesAndIndexesConv2d(isNCHW, 0, *input, *output, bS, iC, iH, iW, oC, oH, oW, indIOioC, indIiH, indWiC, indWoC, indWkH, indOoH); @@ -65,17 +65,17 @@ PLATFORM_IMPL(avgpool2d, ENGINE_CPU) { if(paddingMode){ ConvolutionUtils::calcPadding2D(pH, pW, oH, oW, iH, iW, kH, kW, sH, sW, dH, dW); } - pad_left = pW; - pad_top = pH; - pad_right = (oW - 1) * sW - iW + kW - pW ; - pad_bottom = (oH - 1) * sH - iH + kH - pH ; + padLeft = pW; + padTop = pH; + padRight = (oW - 1) * sW - iW + kW - pW ; + padBottom = (oH - 1) * sH - iH + kH - pH ; #if 0 nd4j_printf("avgpool kH = %d, kW = %d, sH = %d, sW = %d , pH = %d , pW = %d, dH = %d, dW = %d, paddingMode = %d , isNCHW %d exclude pad %d \n" , kH , kW , sH , sW , pH - , pW , dH , dW , paddingMode,isNCHW?1:0 ,exclude_padding?1:0); + , pW , dH , dW , paddingMode,isNCHW?1:0 ,excludePadding?1:0); #endif - auto poolPad = arm_compute::PadStrideInfo(sW, sH, pad_left,pad_right, pad_top, pad_bottom, arm_compute::DimensionRoundingType::FLOOR); - auto poolInfo = arm_compute::PoolingLayerInfo(arm_compute::PoolingType::AVG, arm_compute::Size2D(kW, kH), dataLayout, poolPad, exclude_padding); + auto poolPad = arm_compute::PadStrideInfo(sW, sH, padLeft, padRight, padTop, padBottom, arm_compute::DimensionRoundingType::FLOOR); + auto poolInfo = arm_compute::PoolingLayerInfo(arm_compute::PoolingType::AVG, arm_compute::Size2D(kW, kH), dataLayout, poolPad, excludePadding); ArmFunction pool; pool.configure(input,output, dataLayout, poolInfo); @@ -93,10 +93,10 @@ PLATFORM_CHECK(avgpool2d, ENGINE_CPU) { // Data types supported: QASYMM8/QASYMM8_SIGNED/F16/F32 auto dTypeInput = getArmType(input->dataType()); auto dTypeOutput = getArmType(output->dataType()); - bool is_supported = dH==1 && dW==1 && isArmcomputeFriendly(*input) && isArmcomputeFriendly(*output) + bool isSupported = dH==1 && dW==1 && isArmcomputeFriendly(*input) && isArmcomputeFriendly(*output) && (dTypeInput ==Arm_DataType::F32) && (dTypeOutput ==Arm_DataType::F32); - return is_supported; + return isSupported; } diff --git a/libnd4j/include/ops/declarable/platform/armcompute/conv2d.cpp b/libnd4j/include/ops/declarable/platform/armcompute/conv2d.cpp new file mode 100644 index 000000000..d361ce4e1 --- /dev/null +++ b/libnd4j/include/ops/declarable/platform/armcompute/conv2d.cpp @@ -0,0 +1,166 @@ +/******************************************************************************* + * Copyright (c) 2019 Konduit K.K. + * This program and the accompanying materials are made available under the + * terms of the Apache License, Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * SPDX-License-Identifier: Apache-2.0 + ******************************************************************************/ + + // Created by Abdelrauf (rauf@konduit.ai) 2020 + + +#include +#include +#include +#include + + +#include "armcomputeUtils.h" + + +namespace sd { +namespace ops { +namespace platforms { + + + + +////////////////////////////////////////////////////////////////////// +PLATFORM_IMPL(conv2d, ENGINE_CPU) { + + auto input = INPUT_VARIABLE(0); // [bS, iH, iW, iC] (NHWC) or [bS, iC, iH, iW] (NCHW) + auto weights = INPUT_VARIABLE(1); // [kH, kW, iC, oC], [oC, iC, kH, kW], [oC, kH, kW, iC] + auto bias = block.width() > 2 ? INPUT_VARIABLE(2) : nullptr; // [oC] + + auto output = OUTPUT_VARIABLE(0); // [bS, oH, oW, oC] (NHWC) or [bS, oC, oH, oW] (NCHW) + + int sH = INT_ARG(2); // strides height + int sW = INT_ARG(3); // strides width + int pH = INT_ARG(4); // paddings height + int pW = INT_ARG(5); // paddings width + int dH = INT_ARG(6); // dilations height + int dW = INT_ARG(7); // dilations width + int paddingMode = INT_ARG(8); // 0-VALID, 1-SAME + bool isNCHW = block.getIArguments()->size() > 9 ? !INT_ARG(9) : 1; // INT_ARG(9): 0-NCHW, 1-NHWC + int wFormat = block.getIArguments()->size() > 10 ? INT_ARG(10) : 0; // 0 - [kH, kW, iC, oC], 1 - [oC, iC, kH, kW], 2 - [oC, kH, kW, iC] + + int kH = INT_ARG(0) > 0 ? INT_ARG(0) : static_cast(weights->sizeAt(0)); // filter(kernel) height + int kW = INT_ARG(1) > 0 ? INT_ARG(1) : static_cast(weights->sizeAt(1)); // filter(kernel) width + + // Calculate individual paddings + unsigned int padLeft, padTop, padRight, padBottom; + int bS, iC, iH, iW, oC, oH, oW; // batch size, input channels, input height/width, output channels, output height/width; + int indIOioC, indIiH, indWoC, indWiC, indWkH, indOoH; // corresponding indexes + ConvolutionUtils::getSizesAndIndexesConv2d(isNCHW, 0, *input, *output, bS, iC, iH, iW, oC, oH, oW, indIOioC, indIiH, indWiC, indWoC, indWkH, indOoH); + + ConvolutionUtils::calcPadding2D(pH, pW, oH, oW, iH, iW, kH, kW, sH, sW, dH, dW, paddingMode); + int pWSame = (paddingMode == 2 && dW > 1) ? ((oW - 1) * sW + (kW - 1) * dW + 1 - iW) / 2 : pW; // dH == 1 for causal mode in conv1d + padLeft = pW; + padTop = pH; + padRight = (oW - 1) * sW - iW + kW - pWSame ; + padBottom = (oH - 1) * sH - iH + kH - pH ; + + + std::vector expectedWeightsShape = ConvolutionUtils::expectWeightsShape(wFormat, kH, kW, iC, oC); + REQUIRE_TRUE(weights->isSameShape(expectedWeightsShape), 0, "CONV2D ARMCOMPUTE OP: wrong shape of weights array, expected is %s, but got %s instead !", ShapeUtils::shapeAsString(expectedWeightsShape).c_str(), ShapeUtils::shapeAsString(weights).c_str()); + if (bias) + REQUIRE_TRUE(bias->rankOf() <= 2 && oC == bias->lengthOf(), 0, "CONV2D ARMCOMPUTE OP: wrong shape of array with biases, expected rank, length: <=2, %i, but got %i, %i instead !", oC, bias->rankOf(), bias->lengthOf()); + + //conv2dMKLDNN(input, weights, bias, output, kH, kW, sH, sW, pH, pW, dH, dW, paddingMode, isNCHW, wFormat); +#if 0 + nd4j_printf("conv2d bS = %d, iH =%d, iW = %d, oH=%d, oW=%d kH=%d, kW=%d wformat=%d, iC =%d, , oC=%d\n", + bS, iH, iW, oH, oW, kH, kW, wFormat, iC, oC + ); + nd4j_printf("conv2d kH = %d, kW = %d, sH = %d, sW = %d , pH = %d , pW = %d, dH = %d, dW = %d, paddingMode = %d , isNCHW %d \n" , kH , kW , sH , sW , pH + , pW , dH , dW , paddingMode,isNCHW?1:0 ); +#endif + + auto dataLayout = isNCHW ? arm_compute::DataLayout::NCHW : arm_compute::DataLayout::NHWC; + //check weight input datalayout match + bool dataLayoutMatch = (isNCHW && wFormat == 1) || (!isNCHW && wFormat == 2); + arm_compute::PermutationVector permuteVector; + if (!dataLayoutMatch) { + //lets premute + if (wFormat == 0) { + if (isNCHW) { +#if 0 + nd4j_printf("perm choise %d\n",0); +#endif + //reshape + permuteVector= arm_compute::PermutationVector(2U, 3U, 1U, 0U); + } + else { +#if 0 + nd4j_printf("perm choise %d\n",1); +#endif + //reshape + permuteVector = arm_compute::PermutationVector(1U, 2U, 3U, 0U); + } + } + else if (wFormat == 1) { +#if 0 + nd4j_printf("perm choise %d\n",2); +#endif + permuteVector = arm_compute::PermutationVector(2U, 0U, 1U, 3U); + } + else { +#if 0 + nd4j_printf("perm choise %d\n",3); +#endif + permuteVector = arm_compute::PermutationVector(1U, 2U, 0U, 3U); + } + } + else { +#if 0 + nd4j_printf("perm choise %d\n",4); +#endif + //set 0 + permuteVector.set_num_dimensions(0); + } + + Arm_WeightsInfo wInfo(false, kW, kH, 1); + arm_compute::Size2D dilation(dW, dH); + arm_compute::PadStrideInfo pad(sW, sH, padLeft,padRight, padTop, padBottom, arm_compute::DimensionRoundingType::FLOOR); + ArmFunctionWeighted conv; + conv.configure( input, weights, bias, output, dataLayout, permuteVector, pad, wInfo, dilation); + conv.run(); // run function + return Status::OK(); +} + + +PLATFORM_CHECK(conv2d, ENGINE_CPU) { + + auto input = INPUT_VARIABLE(0); + auto weights = INPUT_VARIABLE(1); + auto output = OUTPUT_VARIABLE(0); + // Data types supported: QASYMM8/QASYMM8_SIGNED/F16/F32. + auto dTypeInput = getArmType(input->dataType()); + auto dTypeWeight = getArmType(weights->dataType()); + auto dTypeOutput = getArmType(output->dataType()); + + bool isSupported = isArmcomputeFriendly(*input) + && isArmcomputeFriendly(*weights) + && isArmcomputeFriendly(*output) + && (dTypeInput == Arm_DataType::F32 /*|| dTypeInput == Arm_DataType::F16*/) + && (dTypeWeight == dTypeInput) + && (dTypeOutput == dTypeInput); + +#if 0 +nd4j_printf("conv2d isArmcomputeFriendly(*input) = %d , isArmcomputeFriendly(*weights) = %d, isArmcomputeFriendly(*output) %d\n", +isArmcomputeFriendly(*input),isArmcomputeFriendly(*weights),isArmcomputeFriendly(*output)); +#endif + return isSupported; +} + + + +} +} +} diff --git a/libnd4j/include/ops/declarable/platform/armcompute/deconv2d.cpp b/libnd4j/include/ops/declarable/platform/armcompute/deconv2d.cpp new file mode 100644 index 000000000..06742983d --- /dev/null +++ b/libnd4j/include/ops/declarable/platform/armcompute/deconv2d.cpp @@ -0,0 +1,180 @@ +/******************************************************************************* + * Copyright (c) 2019 Konduit K.K. + * This program and the accompanying materials are made available under the + * terms of the Apache License, Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * SPDX-License-Identifier: Apache-2.0 + ******************************************************************************/ + + // Created by Abdelrauf (rauf@konduit.ai) 2020 + + +#include +#include +#include +#include + + +#include "armcomputeUtils.h" + + +namespace sd { +namespace ops { +namespace platforms { + + + + +////////////////////////////////////////////////////////////////////// +PLATFORM_IMPL(deconv2d, ENGINE_CPU) { + + auto input = INPUT_VARIABLE(0); // [bS, iH, iW, iC] (NHWC) or [bS, iC, iH, iW] (NCHW) + auto weights = INPUT_VARIABLE(1); // [kH, kW, oC, iC], [iC, oC, kH, kW], [iC, kH, kW, oC] + auto bias = block.width() > 2 ? INPUT_VARIABLE(2) : nullptr; // [oC] + + auto output = OUTPUT_VARIABLE(0); // [bS, oH, oW, oC] (NHWC) or [bS, oC, oH, oW] (NCHW) + + REQUIRE_TRUE(input->rankOf() == 4, 0, "CUSTOM DECONV2D ARMCOMPUTE OP: rank of input array must be equal to 4, but got %i instead !", input->rankOf()); + REQUIRE_TRUE(weights->rankOf() == 4, 0, "CUSTOM DECONV2D ARMCOMPUTE OP: rank of weights array must be equal to 4, but got %i instead !", weights->rankOf()); + + int kH = INT_ARG(0) > 0 ? INT_ARG(0) : static_cast(weights->sizeAt(0));// filter(kernel) height + int kW = INT_ARG(1) > 0 ? INT_ARG(1) : static_cast(weights->sizeAt(1));// filter(kernel) width + int sH = INT_ARG(2); // strides height + int sW = INT_ARG(3); // strides width + int pH = INT_ARG(4); // paddings height + int pW = INT_ARG(5); // paddings width + int dH = INT_ARG(6); // dilations height + int dW = INT_ARG(7); // dilations width + int paddingMode = INT_ARG(8); // 0-VALID, 1-SAME + bool isNCHW = block.getIArguments()->size() > 9 ? !INT_ARG(9) : 1; // INT_ARG(9): 0-NCHW, 1-NHWC + int wFormat = block.getIArguments()->size() > 10 ? INT_ARG(10) : 0; // 0 - [kH, kW, iC, oC], 1 - [oC, iC, kH, kW], 2 - [oC, kH, kW, iC] + + + // Calculate individual paddings + unsigned int padLeft, padTop, padRight, padBottom; + int bS, iC, iH, iW, oC, oH, oW; // batch size, input channels, input height/width, output channels, output height/width; + int indIOioC, indIiH, indWoC, indWiC, indWkH, indOoH; // corresponding indexes + ConvolutionUtils::getSizesAndIndexesConv2d(isNCHW, wFormat, *input, *output, bS, iC, iH, iW, oC, oH, oW, indIOioC, indIiH, indWoC, indWiC, indWkH, indOoH); + + std::vector expectedWeightsShape = ConvolutionUtils::expectWeightsShape(wFormat, kH, kW, oC, iC); + REQUIRE_TRUE(weights->isSameShape(expectedWeightsShape), 0, "CUSTOM DECONV2D ARMCOMPUTE OP: wrong shape of weights array, expected is %s, but got %s instead !", ShapeUtils::shapeAsString(expectedWeightsShape).c_str(), ShapeUtils::shapeAsString(weights).c_str()); + if (bias) + REQUIRE_TRUE(bias->rankOf() <= 2 && oC == bias->lengthOf(), 0, "CUSTOM DECONV2D ARMCOMPUTE OP: wrong shape of array with biases, expected rank, length: <=2, %i, but got %i, %i instead !", oC, bias->rankOf(), bias->lengthOf()); + + if(paddingMode){ + //Note: we're intentionally swapping iH and oH, to calculated the padding for a"normal" conv (not deconv) forward pass + ConvolutionUtils::calcPadding2D(pH, pW, iH, iW, oH, oW, kH, kW, sH, sW, dH, dW); + } + padLeft = pW; + padTop = pH; + padRight = (iW - 1) * sW - oW + kW - pW; + padBottom = (iH - 1) * sH - oH + kH - pH; + //deconv2dMKLDNN(input, weights, bias, output, kH, kW, sH, sW, pH, pW, dH, dW, paddingMode, isNCHW, wFormat); +#if 0 + nd4j_printf("deconv2d bS = %d, iH =%d, iW = %d, oH=%d, oW=%d kH=%d, kW=%d wformat=%d, iC =%d, , oC=%d\n", + bS, iH, iW, oH, oW, kH, kW, wFormat, iC, oC + ); + nd4j_printf("deconv2d kH = %d, kW = %d, sH = %d, sW = %d , pH = %d , pW = %d, dH = %d, dW = %d, paddingMode = %d , isNCHW %d \n" , kH , kW , sH , sW , pH + , pW , dH , dW , paddingMode,isNCHW?1:0 ); +#endif + + auto dataLayout = isNCHW ? arm_compute::DataLayout::NCHW : arm_compute::DataLayout::NHWC; + //check weight input datalayout match + bool dataLayoutMatch = (isNCHW && wFormat == 1) || (!isNCHW && wFormat == 2); + arm_compute::PermutationVector permuteVector; + //unlike in cov2d for weights iC and oC permutted : for example {oC, iC, kH, kW}, {iC, oC, kH, kW} + //but we need it normal way for arm + if (!dataLayoutMatch) { + //lets premute + if (wFormat == 0) { + if (isNCHW) { +#if 0 + nd4j_printf("perm choise %d\n", 0); +#endif + //reshape + permuteVector = arm_compute::PermutationVector(2U, 3U, 0U, 1U); + } + else { +#if 0 + nd4j_printf("perm choise %d\n", 1); +#endif + //reshape + permuteVector = arm_compute::PermutationVector(0U, 2U, 3U, 1U); + } + } + else if (wFormat == 1) { +#if 0 + nd4j_printf("perm choise %d\n", 2); +#endif + permuteVector = arm_compute::PermutationVector(3U, 0U, 1U, 2U); + } + else { +#if 0 + nd4j_printf("perm choise %d\n", 3); +#endif + permuteVector = arm_compute::PermutationVector(1U, 2U, 3U, 0U); + } + } + else { +//fix weight + if(isNCHW){ +#if 0 + nd4j_printf("perm choise %d\n", 4); +#endif + permuteVector = arm_compute::PermutationVector(0U, 1U, 3U, 2U); + }else{ +#if 0 + nd4j_printf("perm choise %d\n", 5); +#endif + permuteVector = arm_compute::PermutationVector(3U, 1U, 2U, 0U); + } + } + + Arm_WeightsInfo wInfo(false, kW, kH, 1); + arm_compute::PadStrideInfo pad(sW, sH, padLeft,padRight, padTop, padBottom, arm_compute::DimensionRoundingType::FLOOR); + ArmFunctionWeighted deconv; + deconv.configure( input, weights, bias, output, dataLayout, permuteVector, pad); + deconv.run(); // run function + return Status::OK(); +} + + +PLATFORM_CHECK(deconv2d, ENGINE_CPU) { + + auto input = INPUT_VARIABLE(0); + auto weights = INPUT_VARIABLE(1); + auto output = OUTPUT_VARIABLE(0); + int dH = INT_ARG(6); + int dW = INT_ARG(7); + // Data types supported: QASYMM8/QASYMM8_SIGNED/F16/F32. + auto dTypeInput = getArmType(input->dataType()); + auto dTypeWeight = getArmType(weights->dataType()); + auto dTypeOutput = getArmType(output->dataType()); + + bool isSupported = dW==1 && dH==1 + && isArmcomputeFriendly(*input) + && isArmcomputeFriendly(*weights) + && isArmcomputeFriendly(*output) + && (dTypeInput == Arm_DataType::F32 /*|| dTypeInput == Arm_DataType::F16*/) + && (dTypeWeight == dTypeInput) + && (dTypeOutput == dTypeInput); + +#if 0 +nd4j_printf("deconv2d isSupported %d : isArmcomputeFriendly(*input) = %d , isArmcomputeFriendly(*weights) = %d, isArmcomputeFriendly(*output) %d\n", +isSupported, isArmcomputeFriendly(*input),isArmcomputeFriendly(*weights),isArmcomputeFriendly(*output)); +#endif + return isSupported; +} + + + +} +} +} diff --git a/libnd4j/include/ops/declarable/platform/armcompute/maxpooling2d.cpp b/libnd4j/include/ops/declarable/platform/armcompute/maxpooling2d.cpp index cd6779628..f06a0441b 100644 --- a/libnd4j/include/ops/declarable/platform/armcompute/maxpooling2d.cpp +++ b/libnd4j/include/ops/declarable/platform/armcompute/maxpooling2d.cpp @@ -56,7 +56,7 @@ PLATFORM_IMPL(maxpool2d, ENGINE_CPU) { auto dataLayout = isNCHW ? arm_compute::DataLayout::NCHW : arm_compute::DataLayout::NHWC; // Calculate individual paddings - unsigned int pad_left, pad_top, pad_right, pad_bottom; + unsigned int padLeft, padTop, padRight, padBottom; int bS, iC, iH, iW, oC, oH, oW; // batch size, input channels, input height/width, output channels, output height/width; int indIOioC, indIiH, indWoC, indWiC, indWkH, indOoH; // corresponding indexes ConvolutionUtils::getSizesAndIndexesConv2d(isNCHW, 0, *input, *output, bS, iC, iH, iW, oC, oH, oW, indIOioC, indIiH, indWiC, indWoC, indWkH, indOoH); @@ -64,16 +64,16 @@ PLATFORM_IMPL(maxpool2d, ENGINE_CPU) { if(paddingMode){ ConvolutionUtils::calcPadding2D(pH, pW, oH, oW, iH, iW, kH, kW, sH, sW, dH, dW); } - pad_left = pW; - pad_top = pH; - pad_right = (oW - 1) * sW - iW + kW - pW ; - pad_bottom = (oH - 1) * sH - iH + kH - pH ; + padLeft = pW; + padTop = pH; + padRight = (oW - 1) * sW - iW + kW - pW ; + padBottom = (oH - 1) * sH - iH + kH - pH ; #if 0 nd4j_printf("avgpool kH = %d, kW = %d, sH = %d, sW = %d , pH = %d , pW = %d, dH = %d, dW = %d, paddingMode = %d , isNCHW %d exclude pad %d \n" , kH , kW , sH , sW , pH , pW , dH , dW , paddingMode,isNCHW?1:0 ,exclude_padding?1:0); #endif - auto poolPad = arm_compute::PadStrideInfo(sW, sH, pad_left,pad_right, pad_top, pad_bottom, arm_compute::DimensionRoundingType::FLOOR); + auto poolPad = arm_compute::PadStrideInfo(sW, sH, padLeft,padRight, padTop, padBottom, arm_compute::DimensionRoundingType::FLOOR); auto poolInfo = arm_compute::PoolingLayerInfo(arm_compute::PoolingType::MAX, arm_compute::Size2D(kW, kH), dataLayout, poolPad); ArmFunction pool; @@ -93,10 +93,10 @@ PLATFORM_CHECK(maxpool2d, ENGINE_CPU) { // Data types supported: QASYMM8/QASYMM8_SIGNED/F16/F32 auto dTypeInput = getArmType(input->dataType()); auto dTypeOutput = getArmType(output->dataType()); - bool is_supported = dH==1 && dW==1 && isArmcomputeFriendly(*input) && isArmcomputeFriendly(*output) + bool isSupported = dH==1 && dW==1 && isArmcomputeFriendly(*input) && isArmcomputeFriendly(*output) && (dTypeInput ==Arm_DataType::F32) && (dTypeOutput ==Arm_DataType::F32); - return is_supported; + return isSupported; } diff --git a/libnd4j/include/types/types.h b/libnd4j/include/types/types.h index 7717c8019..cb8c7f593 100644 --- a/libnd4j/include/types/types.h +++ b/libnd4j/include/types/types.h @@ -87,7 +87,8 @@ #define FLOAT_NATIVE \ (sd::DataType::FLOAT32, float), \ - (sd::DataType::DOUBLE, double) + (sd::DataType::DOUBLE, double), \ + (sd::DataType::HALF, float16) #define FLOAT_TYPES_0 \ (sd::DataType::HALF, float16) diff --git a/libnd4j/packages/push_to_bintray.sh b/libnd4j/packages/push_to_bintray.sh index 78fbed761..27af43192 100755 --- a/libnd4j/packages/push_to_bintray.sh +++ b/libnd4j/packages/push_to_bintray.sh @@ -1,19 +1,21 @@ #!/bin/bash -u -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ # push_to_bintray.sh - francois@skymind.io diff --git a/libnd4j/pi_build.sh b/libnd4j/pi_build.sh index f96c3f1f1..9feda1668 100755 --- a/libnd4j/pi_build.sh +++ b/libnd4j/pi_build.sh @@ -1,185 +1,318 @@ -#!/bin/bash -TARGET=armv7-a -BLAS_TARGET_NAME=ARMV7 -ARMCOMPUTE_TARGET=armv7a -#BASE_DIR=${HOME}/pi -#https://stackoverflow.com/questions/59895/how-to-get-the-source-directory-of-a-bash-script-from-within-the-script-itself -SOURCE="${BASH_SOURCE[0]}" -ARMCOMPUTE_DEBUG=1 -LIBND4J_BUILD_MODE=Release -while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink - DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )" - SOURCE="$(readlink "$SOURCE")" - [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located -done -BASE_DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )" -CMAKE=cmake #/snap/bin/cmake - -mkdir -p ${BASE_DIR}/helper_bin/ - -CROSS_COMPILER_URL=https://sourceforge.net/projects/raspberry-pi-cross-compilers/files/Raspberry%20Pi%20GCC%20Cross-Compiler%20Toolchains/Buster/GCC%208.3.0/Raspberry%20Pi%203A%2B%2C%203B%2B%2C%204/cross-gcc-8.3.0-pi_3%2B.tar.gz/download -CROSS_COMPILER_DIR=${BASE_DIR}/helper_bin/cross_compiler - -SCONS_LOCAL_URL=http://prdownloads.sourceforge.net/scons/scons-local-3.1.1.tar.gz -SCONS_LOCAL_DIR=${BASE_DIR}/helper_bin/scons_local - -THIRD_PARTY=${BASE_DIR}/third_party_libs - -ARMCOMPUTE_GIT_URL=https://github.com/ARM-software/ComputeLibrary.git -ARMCOMPUTE_TAG=v20.05 -ARMCOMPUTE_DIR=${THIRD_PARTY}/arm_compute_dir - -OPENBLAS_GIT_URL="https://github.com/xianyi/OpenBLAS.git" -OPENBLAS_DIR=${THIRD_PARTY}/OpenBLAS - - -LIBND4J_SRC_DIR=${BASE_DIR} - -LIBND4J_BUILD_DIR=${BASE_DIR}/build_pi - -#for some downloads -XRTACT_STRIP="--strip-components=1" - -HAS_ARMCOMPUTE=1 -mkdir -p ${BASE_DIR} -mkdir -p ${THIRD_PARTY} - -#change directory to base -cd $BASE_DIR - -function message { - echo "BUILDER:::: ${@}" -} - - -function check_requirements { - for i in "${@}" - do - if [ ! -e "$i" ]; then - message "missing: ${i}" - exit -2 - fi - done -} - -function download_extract { - #$1 is url #2 is dir $3 is extract argument - if [ ! -f ${2}_file ]; then - message "download" - wget --quiet --show-progress -O ${2}_file ${1} - fi - - message "extract" - #extract - mkdir -p ${2} - command="tar -xzf ${2}_file --directory=${2} ${3} " - message $command - $command - - check_requirements "${2}" -} - -function git_check { - #$1 is url #$2 is dir #$3 is tag or branch if optional - command="git clone --quiet ${1} ${2}" - message "$command" - $command - if [ -n "$3" ]; then - cd ${2} - command="git checkout ${3}" - message "$command" - $command - cd ${BASE_DIR} - fi - check_requirements "${2}" -} - - -if [ ! -d ${CROSS_COMPILER_DIR} ]; then - #out file - message "download CROSS_COMPILER" - download_extract ${CROSS_COMPILER_URL} ${CROSS_COMPILER_DIR} ${XRTACT_STRIP} -fi - -#useful exports -export PI_FOLDER=${CROSS_COMPILER_DIR} -export RPI_BIN=${PI_FOLDER}/bin/arm-linux-gnueabihf -export PI_SYS_ROOT=${PI_FOLDER}/arm-linux-gnueabihf/libc -export LD_LIBRARY_PATH=${PI_FOLDER}/lib:$LD_LIBRARY_PATH -export CC=${RPI_BIN}-gcc -export FC=${RPI_BIN}-gfortran -export CXX=${RPI_BIN}-g++ -export CPP=${RPI_BIN}-cpp -export RANLIB=${RPI_BIN}-gcc-ranlib -export LD="${RPI_BIN}-ld" -export AR="${RPI_BIN}-ar" - - -#lets build OpenBlas -if [ ! -d "${OPENBLAS_DIR}" ]; then - message "download OpenBLAS" - git_check "${OPENBLAS_GIT_URL}" "${OPENBLAS_DIR}" -fi - -if [ ! -f "${THIRD_PARTY}/lib/libopenblas.so" ]; then - message "build and install OpenBLAS" - cd ${OPENBLAS_DIR} - - command="make TARGET=${BLAS_TARGET_NAME} HOSTCC=gcc CC=${CC} USE_THREAD=0 NOFORTRAN=1 CFLAGS=--sysroot=${PI_SYS_ROOT} LDFLAGS=\"-L${PI_SYS_ROOT}/../lib/ -lm\" &>/dev/null" - message $command - eval $command - message "install it" - command="make PREFIX=${THIRD_PARTY} install" - message $command - $command - cd $BASE_DIR - -fi -check_requirements ${THIRD_PARTY}/lib/libopenblas.so - - - -if [ ! -d ${SCONS_LOCAL_DIR} ]; then - #out file - message "download Scons local" - download_extract ${SCONS_LOCAL_URL} ${SCONS_LOCAL_DIR} -fi -check_requirements ${SCONS_LOCAL_DIR}/scons.py - - -if [ ! -d "${ARMCOMPUTE_DIR}" ]; then - message "download ArmCompute Source" - git_check ${ARMCOMPUTE_GIT_URL} "${ARMCOMPUTE_DIR}" "tags/${ARMCOMPUTE_TAG}" -fi - -#build armcompute -if [ ! -f "${ARMCOMPUTE_DIR}/build/libarm_compute-static.a" ]; then -message "build arm compute" -cd ${ARMCOMPUTE_DIR} -command="CC=gcc CXX=g++ python3 ${SCONS_LOCAL_DIR}/scons.py Werror=1 -j$(nproc) toolchain_prefix=${RPI_BIN}- debug=${ARMCOMPUTE_DEBUG} neon=1 opencl=0 extra_cxx_flags=-fPIC os=linux build=cross_compile arch=${ARMCOMPUTE_TARGET} &>/dev/null" -message $command -eval $command -cd ${BASE_DIR} -fi -check_requirements "${ARMCOMPUTE_DIR}/build/libarm_compute-static.a" "${ARMCOMPUTE_DIR}/build/libarm_compute_core-static.a" - - - -message "build cmake for LIBND4J. output: ${LIBND4J_BUILD_DIR}" - -TOOLCHAIN=${LIBND4J_SRC_DIR}/cmake/rpi.cmake -cmake_cmd="${CMAKE} -G \"Unix Makefiles\" -B${LIBND4J_BUILD_DIR} -S${LIBND4J_SRC_DIR} -DCMAKE_BUILD_TYPE=${LIBND4J_BUILD_MODE} -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN} -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DSD_ALL_OPS=true -DSD_CPU=true -DSD_LIBRARY_NAME=nd4jcpu -DSD_BUILD_TESTS=ON -DSD_ARM_BUILD=true -DOPENBLAS_PATH=${THIRD_PARTY} -DSD_ARCH=${TARGET} -DARMCOMPUTE_ROOT=${ARMCOMPUTE_DIR} -DHELPERS_armcompute=${HAS_ARMCOMPUTE}" -message $cmake_cmd -eval $cmake_cmd - -#build -message "lets build" - -cd ${LIBND4J_BUILD_DIR} -make -j $(nproc) - - - - - - +#!/usr/bin/env bash +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +function message { + echo "BUILDER:::: ${@}" +} + +BUILD_USING_MAVEN= +CURRENT_TARGET=arm32 +HAS_ARMCOMPUTE=1 +ARMCOMPUTE_DEBUG=0 +ARMCOMPUTE_TAG=v20.05 +LIBND4J_BUILD_MODE=Release +export ANDROID_VERSION=21 +OTHER_ARGS=() +while [[ $# -gt 0 ]] +do +key="$1" + +case $key in + -a|--arch) + CURRENT_TARGET="$2" + shift + shift + ;; + -m|--mvn) + BUILD_USING_MAVEN="mvn" + shift + ;; + *) + OTHER_ARGS+=("$1") + shift + ;; +esac +done + +CC_URL32="https://developer.arm.com/-/media/Files/downloads/gnu-a/8.3-2019.03/binrel/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz?revision=e09a1c45-0ed3-4a8e-b06b-db3978fd8d56&la=en&hash=93ED4444B8B3A812B893373B490B90BBB28FD2E3" +CC_URL64="https://developer.arm.com/-/media/Files/downloads/gnu-a/8.3-2019.03/binrel/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz?revision=2e88a73f-d233-4f96-b1f4-d8b36e9bb0b9&la=en&hash=167687FADA00B73D20EED2A67D0939A197504ACD" +CC_ANDROID="https://dl.google.com/android/repository/android-ndk-r21d-linux-x86_64.zip" +TARGET_ARRS=( arm32 arm64 android-arm android-arm64 ) +COMPILER_ARRS=( "${CC_URL32}" "${CC_URL64}" "${CC_ANDROID}" "${CC_ANDROID}" ) +COMPILER_DOWNLOAD_CMD_LIST=( download_extract_xz download_extract_xz download_extract_unzip download_extract_unzip ) +COMPILER_DESTDIR=( "arm32" "arm64" "android" "android" ) + +OPENBLAS_TARGETS=( ARMV7 ARMV8 ARMV7 ARMV8) +ARMCOMPUTE_TARGETS=( armv7a arm64-v8a armv7a arm64-v8a) +OS_LIST=( linux linux android android) +LIBND4J_PLATFORM_EXT_LIST=( armhf arm64 arm arm64 ) +PREFIXES=( arm-linux-gnueabihf aarch64-linux-gnu arm-linux-androideabi aarch64-linux-android ) +TARGET_INDEX=-1 + +for i in "${!TARGET_ARRS[@]}"; do + if [[ "${TARGET_ARRS[$i]}" = "${CURRENT_TARGET}" ]]; then + TARGET_INDEX=${i} + fi +done + +if [ ${TARGET_INDEX} -eq -1 ];then + message "could not find ${CURRENT_TARGET} in ${TARGET_ARRS[@]}" + exit -1 +fi + +#BASE_DIR=${HOME}/pi +#https://stackoverflow.com/questions/59895/how-to-get-the-source-directory-of-a-bash-script-from-within-the-script-itself +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done +BASE_DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )" + +CROSS_COMPILER_URL=${COMPILER_ARRS[$TARGET_INDEX]} +CROSS_COMPILER_DIR=${BASE_DIR}/compile_tools/cross_compiler_${COMPILER_DESTDIR[$TARGET_INDEX]} +COMPILER_DOWNLOAD_CMD=${COMPILER_DOWNLOAD_CMD_LIST[$TARGET_INDEX]} +DETECT=${DETECT_LIST[$TARGET_INDEX]} +LIBND4J_PLATFORM_EXT=${LIBND4J_PLATFORM_EXT_LIST[$TARGET_INDEX]} +BLAS_TARGET_NAME=${OPENBLAS_TARGETS[$TARGET_INDEX]} +ARMCOMPUTE_TARGET=${ARMCOMPUTE_TARGETS[$TARGET_INDEX]} +TARGET_OS=${OS_LIST[$TARGET_INDEX]} +LIBND4J_PLATFORM=${TARGET_OS}-${LIBND4J_PLATFORM_EXT} +PREFIX=${PREFIXES[$TARGET_INDEX]} + +CMAKE=cmake #/snap/bin/cmake +mkdir -p ${BASE_DIR}/compile_tools/ + +SCONS_LOCAL_URL=http://prdownloads.sourceforge.net/scons/scons-local-3.1.1.tar.gz +SCONS_LOCAL_DIR=${BASE_DIR}/compile_tools/scons_local + +THIRD_PARTY=${BASE_DIR}/third_party_libs${TARGET_INDEX} + +ARMCOMPUTE_GIT_URL=https://github.com/ARM-software/ComputeLibrary.git +ARMCOMPUTE_DIR=${THIRD_PARTY}/arm_compute_dir + +OPENBLAS_GIT_URL="https://github.com/xianyi/OpenBLAS.git" +OPENBLAS_DIR=${THIRD_PARTY}/OpenBLAS + + +mkdir -p ${BASE_DIR} +mkdir -p ${THIRD_PARTY} + +#change directory to base +cd $BASE_DIR + +function check_requirements { + for i in "${@}" + do + if [ ! -e "$i" ]; then + message "missing: ${i}" + exit -2 + fi + done +} + +function rename_top_folder { + for dir in ${1}/* + do + if [ -d "$dir" ] + then + mv "${dir}" "${1}/folder/" + message "${dir} => ${1}/folder/" + break + fi + done +} + +function download_extract_base { + #$1 is url #2 is dir $3 is extract argument + if [ ! -f ${3}_file ]; then + message "download" + wget --quiet --show-progress -O ${3}_file ${2} + fi + + message "extract $@" + #extract + mkdir -p ${3} + if [ ${1} = "-unzip" ]; then + command="unzip -qq ${3}_file -d ${3} " + else + command="tar ${1} ${3}_file --directory=${3} " + fi + message $command + $command + check_requirements "${3}" +} + +function download_extract { + download_extract_base -xzf $@ +} + +function download_extract_xz { + download_extract_base -xf $@ +} + +function download_extract_unzip { + download_extract_base -unzip $@ +} + +function git_check { + #$1 is url #$2 is dir #$3 is tag or branch if optional + command= + if [ -n "$3" ]; then + command="git clone --quiet --depth 1 --branch ${3} ${1} ${2}" + else + command="git clone --quiet ${1} ${2}" + fi + message "$command" + $command + check_requirements "${2}" +} + +#fix py debug linkage manually and also makes it use gold +function fix_pi_linker { + #$1 BINUTILS folder + if [ ! -f ${1}/ld.original ]; then + mv ${1}/ld ${1}/ld.original + fi + rm -f ${1}/ld + printf '#!/usr/bin/env bash\n'"${1}/ld.gold --long-plt \$*">${1}/ld + chmod +x ${1}/ld +} + +if [ ! -d ${CROSS_COMPILER_DIR}/folder ]; then + #out file + message "download CROSS_COMPILER" + ${COMPILER_DOWNLOAD_CMD} ${CROSS_COMPILER_URL} ${CROSS_COMPILER_DIR} + message "rename top folder (instead of --strip-components=1)" + rename_top_folder ${CROSS_COMPILER_DIR} +fi + +CROSS_COMPILER_DIR=${CROSS_COMPILER_DIR}/folder + +if [ "${TARGET_OS}" = "android" ];then + ANDROID_TOOLCHAIN=${CROSS_COMPILER_DIR}/toolchains/llvm/prebuilt/linux-x86_64 + COMPILER_PREFIX="${ANDROID_TOOLCHAIN}/bin/${PREFIX}${ANDROID_VERSION}" + TOOLCHAIN_PREFIX="${ANDROID_TOOLCHAIN}/bin/${PREFIX}" + if [ "$BLAS_TARGET_NAME" = "ARMV7" ];then + BLAS_XTRA="ARM_SOFTFP_ABI=1 " + COMPILER_PREFIX="${ANDROID_TOOLCHAIN}/bin/armv7a-linux-androideabi${ANDROID_VERSION}" + fi + CC_EXE="clang" + CXX_EXE="clang++" + AR="${TOOLCHAIN_PREFIX}-ar" + RANLIB="${TOOLCHAIN_PREFIX}-ranlib" + BLAS_XTRA="CC=${COMPILER_PREFIX}-${CC_EXE} AR=${AR} RANLIB=${RANLIB} ${BLAS_XTRA}" +else + BINUTILS_BIN=${CROSS_COMPILER_DIR}/${PREFIX}/bin + COMPILER_PREFIX=${CROSS_COMPILER_DIR}/bin/${PREFIX} + TOOLCHAIN_PREFIX=${COMPILER_PREFIX} + SYS_ROOT=${CROSS_COMPILER_DIR}/${PREFIX}/libc + #LD_LIBRARY_PATH=${CROSS_COMPILER_DIR}/lib:$LD_LIBRARY_PATH + CC_EXE="gcc" + CXX_EXE="g++" + RANLIB="${BINUTILS_BIN}/ranlib" + export LD="${BINUTILS_BIN}/ld" + AR="${BINUTILS_BIN}/ar" + BLAS_XTRA="CC=${COMPILER_PREFIX}-${CC_EXE} AR=${AR} RANLIB=${RANLIB} CFLAGS=--sysroot=${SYS_ROOT} LDFLAGS=\"-L${SYS_ROOT}/../lib/ -lm\"" +fi + +check_requirements ${CC} + +if [ -z "${BUILD_USING_MAVEN}" ] ;then +#lets build OpenBlas +if [ ! -d "${OPENBLAS_DIR}" ]; then + message "download OpenBLAS" + git_check "${OPENBLAS_GIT_URL}" "${OPENBLAS_DIR}" "v0.3.10" +fi + +if [ ! -f "${THIRD_PARTY}/lib/libopenblas.so" ]; then + message "build and install OpenBLAS" + cd ${OPENBLAS_DIR} + + command="make TARGET=${BLAS_TARGET_NAME} HOSTCC=gcc NOFORTRAN=1 ${BLAS_XTRA} " + message $command + eval $command &>/dev/null + message "install it" + command="make TARGET=${BLAS_TARGET_NAME} PREFIX=${THIRD_PARTY} install &>/dev/null" + message $command + $command + cd $BASE_DIR + +fi +check_requirements ${THIRD_PARTY}/lib/libopenblas.so + +export OPENBLAS_PATH=${THIRD_PARTY} + +fi # end if [ -z "${BUILD_USING_MAVEN}"];then + +if [ ! -d ${SCONS_LOCAL_DIR} ]; then + #out file + message "download Scons local" + download_extract ${SCONS_LOCAL_URL} ${SCONS_LOCAL_DIR} +fi +check_requirements ${SCONS_LOCAL_DIR}/scons.py + +if [ ! -d "${ARMCOMPUTE_DIR}" ]; then + message "download ArmCompute Source" + git_check ${ARMCOMPUTE_GIT_URL} "${ARMCOMPUTE_DIR}" "${ARMCOMPUTE_TAG}" +fi + +#build armcompute +if [ ! -f "${ARMCOMPUTE_DIR}/build/libarm_compute-static.a" ]; then +message "build arm compute" +cd ${ARMCOMPUTE_DIR} +command="CC=${CC_EXE} CXX=${CXX_EXE} python3 ${SCONS_LOCAL_DIR}/scons.py Werror=1 -j$(nproc) toolchain_prefix=${TOOLCHAIN_PREFIX}- compiler_prefix=${COMPILER_PREFIX}- debug=${ARMCOMPUTE_DEBUG} neon=1 opencl=0 extra_cxx_flags=-fPIC os=${TARGET_OS} build=cross_compile arch=${ARMCOMPUTE_TARGET} " +message $command +eval $command &>/dev/null +cd ${BASE_DIR} +fi +check_requirements "${ARMCOMPUTE_DIR}/build/libarm_compute-static.a" "${ARMCOMPUTE_DIR}/build/libarm_compute_core-static.a" + +export ARMCOMPUTE_ROOT="${ARMCOMPUTE_DIR}" + +if [ "${TARGET_OS}" = "android" ];then + export ANDROID_NDK=${CROSS_COMPILER_DIR} +else + export RPI_BIN=${CROSS_COMPILER_DIR}/bin/${PREFIX} + export JAVA_LIBRARY_PATH=${CROSS_COMPILER_DIR}/${PREFIX}/lib + fix_pi_linker ${BINUTILS_BIN} +fi + + +#because of the toolchain passive detection we have to delete build folder manually +detect=$(cat ${BASE_DIR}/blasbuild/cpu/CMakeCache.txt | grep -o ${PREFIX}) +if [ -z "${detect}" ] ;then +message "remove blasbuild folder " +rm -rf $BASE_DIR/blasbuild/ +else +message "keep blasbuild folder" +fi + +if [ -z "${BUILD_USING_MAVEN}" ] ;then +message "lets build just library" +DHELPER=" -h armcompute " +bash ./buildnativeoperations.sh -o ${LIBND4J_PLATFORM} -t ${DHELPER} -j $(nproc) +else +message "cd $BASE_DIR/.. " +cd $BASE_DIR/.. +message "lets build jars" +DHELPER=" -Dlibnd4j.helper=armcompute " +mvn install -Dlibnd4j.platform=${LIBND4J_PLATFORM} -Djavacpp.platform=${LIBND4J_PLATFORM} -DprotocCommand=protoc -Djavacpp.platform.compiler=${COMPILER_PREFIX}-${CC_EXE} -Djava.library.path=${JAVA_LIBRARY_PATH} ${DHELPER} -Dmaven.test.skip=true -Dmaven.javadoc.skip=true +fi diff --git a/libnd4j/pom.xml b/libnd4j/pom.xml index 1819d8112..87f6decd4 100644 --- a/libnd4j/pom.xml +++ b/libnd4j/pom.xml @@ -1,19 +1,21 @@ - + The C++ engine that powers the scientific computing library ND4J - n-dimensional arrays for Java - http://nd4j.org/ - - - agibsonccc - Adam Gibson - adam@skymind.io - - - raver119 - raver119 - - - saudet - Samuel Audet - - diff --git a/libnd4j/proto.sh b/libnd4j/proto.sh index 964a80b7d..0c84fafc8 100644 --- a/libnd4j/proto.sh +++ b/libnd4j/proto.sh @@ -1,19 +1,21 @@ #!/bin/bash -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ DIRS="" diff --git a/libnd4j/setuposx.sh b/libnd4j/setuposx.sh index 1603babca..8f8c88b03 100755 --- a/libnd4j/setuposx.sh +++ b/libnd4j/setuposx.sh @@ -1,20 +1,22 @@ #!/usr/bin/env bash -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ # setup gcc for openmp diff --git a/libnd4j/tests_cpu/layers_tests/ConstantShapeHelperTests.cpp b/libnd4j/tests_cpu/layers_tests/ConstantShapeHelperTests.cpp index a9a42ac88..7d6ee3fb6 100644 --- a/libnd4j/tests_cpu/layers_tests/ConstantShapeHelperTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ConstantShapeHelperTests.cpp @@ -240,4 +240,110 @@ TEST_F(ConstantShapeHelperTests, ShapeDescriptor_1) { ShapeDescriptor descr2(shapeInfo2); ASSERT_FALSE(descr1 == descr2); -} \ No newline at end of file +} + +TEST_F(ConstantShapeHelperTests, ShapeDescriptor_validation) { + + //for c order + std::vector shape{ 2,3,4,5 }; + std::vector incorrectStride1{ 20,20,5,1 }; + std::vector incorrectStride2{ 60,20,5,5 }; + std::vector correctStride1{ 60,20,5,1 }; + std::vector correctStride2{ 300,100,25,5 }; + std::vector correctStride3{ 800, 200, 40, 5 }; + + auto shapeDesc = ShapeDescriptor(DataType::FLOAT32, 'c', shape, incorrectStride1, 1); + ASSERT_TRUE(shapeDesc.validate() == SHAPE_DESC_INCORRECT_STRIDES); + shapeDesc = ShapeDescriptor(DataType::FLOAT32, 'c', shape, correctStride1, 1); + ASSERT_TRUE(shapeDesc.validate() == SHAPE_DESC_OK); + shapeDesc = ShapeDescriptor(DataType::FLOAT32, 'c', shape, incorrectStride2, 1); + ASSERT_TRUE(shapeDesc.validate() == (SHAPE_DESC_INCORRECT_STRIDES | SHAPE_DESC_INCORRECT_EWS)); + shapeDesc = ShapeDescriptor(DataType::FLOAT32, 'c', shape, correctStride2, 1); + ASSERT_TRUE(shapeDesc.validate() == SHAPE_DESC_INCORRECT_EWS); + shapeDesc = ShapeDescriptor(DataType::FLOAT32, 'c', shape, correctStride2, 5); + ASSERT_TRUE(shapeDesc.validate() == SHAPE_DESC_OK); + shapeDesc = ShapeDescriptor(DataType::FLOAT32, 'c', shape, correctStride3, 1); + ASSERT_TRUE(shapeDesc.validate() == SHAPE_DESC_INCORRECT_EWS); + shapeDesc = ShapeDescriptor(DataType::FLOAT32, 'c', shape, correctStride3, 0); + ASSERT_TRUE(shapeDesc.validate() == SHAPE_DESC_OK); + + //order f + std::reverse(std::begin(shape), std::end(shape)); + std::reverse(std::begin(incorrectStride1), std::end(incorrectStride1)); + std::reverse(std::begin(incorrectStride2), std::end(incorrectStride2)); + std::reverse(std::begin(correctStride1), std::end(correctStride1)); + std::reverse(std::begin(correctStride2), std::end(correctStride2)); + std::reverse(std::begin(correctStride3), std::end(correctStride3)); + + shapeDesc = ShapeDescriptor(DataType::FLOAT32, 'f', shape, incorrectStride1, 1); + ASSERT_TRUE(shapeDesc.validate() == SHAPE_DESC_INCORRECT_STRIDES); + shapeDesc = ShapeDescriptor(DataType::FLOAT32, 'f', shape, correctStride1, 1); + ASSERT_TRUE(shapeDesc.validate() == SHAPE_DESC_OK); + shapeDesc = ShapeDescriptor(DataType::FLOAT32, 'f', shape, incorrectStride2, 1); + ASSERT_TRUE(shapeDesc.validate() == (SHAPE_DESC_INCORRECT_STRIDES | SHAPE_DESC_INCORRECT_EWS)); + shapeDesc = ShapeDescriptor(DataType::FLOAT32, 'f', shape, correctStride2, 1); + ASSERT_TRUE(shapeDesc.validate() == SHAPE_DESC_INCORRECT_EWS); + shapeDesc = ShapeDescriptor(DataType::FLOAT32, 'f', shape, correctStride2, 5); + ASSERT_TRUE(shapeDesc.validate() == SHAPE_DESC_OK); + shapeDesc = ShapeDescriptor(DataType::FLOAT32, 'f', shape, correctStride3, 1); + ASSERT_TRUE(shapeDesc.validate() == SHAPE_DESC_INCORRECT_EWS); + shapeDesc = ShapeDescriptor(DataType::FLOAT32, 'f', shape, correctStride3, 0); + ASSERT_TRUE(shapeDesc.validate() == SHAPE_DESC_OK); + + std::vector shape1; + shape1.resize(MAX_RANK+1); + shapeDesc = ShapeDescriptor(DataType::FLOAT32, 'f', shape1, correctStride3, 0); + ASSERT_TRUE( (shapeDesc.validate() & SHAPE_DESC_INCORRECT_RANK) == SHAPE_DESC_INCORRECT_RANK); + +} + +TEST_F(ConstantShapeHelperTests, ShapeDescriptor_paddedBuffer) { + + constexpr int n = 2; + constexpr int c = 3; + constexpr int h = 4; + constexpr int w = 5; + constexpr int n_pad = 2; + constexpr int c_pad = 3; + constexpr int h_pad = 4; + constexpr int w_pad = 5; + char orders[] = { 'c', 'f' }; + + for (auto& order : orders) { + auto shapeDesc1 = ShapeDescriptor::paddedBufferDescriptor(DataType::FLOAT32, order, { n, c, h, w }, { n_pad, c_pad, h_pad, w_pad }); + auto shapeDesc2 = ShapeDescriptor(DataType::FLOAT32, order, { n + n_pad, c + c_pad, h + h_pad, w + w_pad }); + auto shapeDesc3 = ShapeDescriptor::paddedBufferDescriptor(DataType::FLOAT32, order, { n, c, h, w }, { n_pad, c_pad }); + auto shapeDesc4 = ShapeDescriptor(DataType::FLOAT32, order, { n + n_pad, c + c_pad, h, w }); + auto shapeDesc5 = ShapeDescriptor::paddedBufferDescriptor(DataType::FLOAT32, order, { n, c, h, w }, { 0, 0, h_pad, w_pad }); + auto shapeDesc6 = ShapeDescriptor(DataType::FLOAT32, order, { n, c , h + h_pad, w + w_pad }); + + ASSERT_TRUE(shapeDesc1.validate() == SHAPE_DESC_OK); + ASSERT_TRUE(shapeDesc2.validate() == SHAPE_DESC_OK); + ASSERT_TRUE(shapeDesc3.validate() == SHAPE_DESC_OK); + ASSERT_TRUE(shapeDesc4.validate() == SHAPE_DESC_OK); + ASSERT_TRUE(shapeDesc5.validate() == SHAPE_DESC_OK); + ASSERT_TRUE(shapeDesc6.validate() == SHAPE_DESC_OK); + + ASSERT_TRUE(shapeDesc1.allocLength() == shapeDesc2.allocLength()); + ASSERT_TRUE(shapeDesc3.allocLength() == shapeDesc4.allocLength()); + ASSERT_TRUE(shapeDesc5.allocLength() == shapeDesc6.allocLength()); + + const auto& v1 = shapeDesc1.strides(); + const auto& v2 = shapeDesc2.strides(); + const auto& v3 = shapeDesc3.strides(); + const auto& v4 = shapeDesc4.strides(); + const auto& v5 = shapeDesc5.strides(); + const auto& v6 = shapeDesc6.strides(); + + for (int i = 0; i < v1.size(); i++) { + ASSERT_TRUE(v1[i] == v2[i]); + } + for (int i = 0; i < v3.size(); i++) { + ASSERT_TRUE(v3[i] == v4[i]); + } + for (int i = 0; i < v5.size(); i++) { + ASSERT_TRUE(v5[i] == v6[i]); + } + } + +} diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp index ef35bfa72..8038eef3f 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp @@ -2117,6 +2117,34 @@ TEST_F(DeclarableOpsTests14, Reshape2) { delete variableSpace; } +TEST_F(DeclarableOpsTests14, Flatten2d1) { + auto x = NDArrayFactory::create('c', { 3, 4, 5 }); + auto zAssertion = NDArrayFactory::create('c', { 3, 20 }); + + sd::ops::flatten_2d op; + auto result = op.evaluate({ &x }, {}, { 1 }); + + ASSERT_EQ(ND4J_STATUS_OK, result.status()); + + auto z = result.at(0); + + ASSERT_TRUE(result.at(0)->isSameShape(zAssertion)); +} + +TEST_F(DeclarableOpsTests14, Flatten2d2) { + auto x = NDArrayFactory::create('c', { 2,3, 4, 5 }); + auto zAssertion = NDArrayFactory::create('c', { 6, 20 }); + + sd::ops::flatten_2d op; + auto result = op.evaluate({ &x }, {}, { -2 }); + + ASSERT_EQ(ND4J_STATUS_OK, result.status()); + + auto z = result.at(0); + + ASSERT_TRUE(result.at(0)->isSameShape(zAssertion)); +} + TEST_F(DeclarableOpsTests14, Reshape3) { auto x = NDArrayFactory::create('c', { 3, 4, 5 }); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests4.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests4.cpp index 56e5e213a..333eda0bf 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests4.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests4.cpp @@ -118,6 +118,35 @@ TYPED_TEST(TypedDeclarableOpsTests4, avgpool2d_3) { } +//auto padding{top,right, bottom, left} matching arm_compute +std::tuple getSpecialAutoPadding(int rank) { + auto extra_pad_x = rank < 1 ? 0 : 32; + auto pad_x = rank < 1 ? 0 : 4; + auto pad_y = rank < 2 ? 0 : 4; + return std::tuple{ pad_y, pad_x + extra_pad_x, pad_y, pad_x }; +} + +TYPED_TEST(TypedDeclarableOpsTests4, avgpool2d_padded_buffer) { + + int top, right, bottom, left; + std::tie(top, right, bottom, left) = getSpecialAutoPadding(4); + + auto input = NDArrayFactory::create('c', {2, 5, 5, 2}, DataTypeUtils::fromT(), {0, 0, top + bottom, left + right}, {0, 0, top, left} ); + auto output = NDArrayFactory::create('c', {2, 3, 3, 2}, DataTypeUtils::fromT(), {0, 0, top + bottom, left + right}, {0, 0, top, left} ); + auto exp = NDArrayFactory::create('c', {2, 3, 3, 2}, {7.f, 8.f, 11.f, 12.f, 14.f, 15.f, 27.f, 28.f, 31.f, 32.f, 34.f, 35.f, 42.f, 43.f, 46.f, 47.f, 49.f, 50.f, 57.f, 58.f, 61.f, 62.f, 64.f, 65.f, 77.f, 78.f, 81.f, 82.f, 84.f, 85.f, 92.f, 93.f, 96.f, 97.f, 99.f, 100.f,}); + + input.linspace(1); + + sd::ops::avgpool2d op; + auto status = op.execute({&input}, {&output}, {}, {2, 2, 2, 2, 0, 0, 1, 1, 1, 0, 1}); + + ASSERT_EQ(Status::OK(), status); + ASSERT_TRUE(exp.isSameShape(output)); + ASSERT_TRUE(exp.equalsTo(output)); + +} + + ////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests4, avgpool2d_4) { auto x = NDArrayFactory::create('c', {2, 5, 5, 2}); diff --git a/libnd4j/tests_cpu/layers_tests/PlaygroundTests.cpp b/libnd4j/tests_cpu/layers_tests/PlaygroundTests.cpp index b55f971d4..97dd9f13c 100644 --- a/libnd4j/tests_cpu/layers_tests/PlaygroundTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/PlaygroundTests.cpp @@ -49,7 +49,7 @@ #include #include #include - +#include using namespace sd; using namespace sd::graph; @@ -66,6 +66,9 @@ TEST_F(PlaygroundTests, test_avx) { nd4j_printf("Optimal level: %i; Binary level: %i;\n", ::optimalLevel(), ::binaryLevel()); } +TEST_F(PlaygroundTests, buildver) { + nd4j_printf("%s\n", buildInfo()); +} TEST_F(PlaygroundTests, test_biasAdd_1) { auto x = NDArrayFactory::create('c', {512, 3072}); diff --git a/libnd4j/tests_cpu/libnd4j_tests/CMakeLists.txt b/libnd4j/tests_cpu/libnd4j_tests/CMakeLists.txt index bbd632d27..f9a81567d 100644 --- a/libnd4j/tests_cpu/libnd4j_tests/CMakeLists.txt +++ b/libnd4j/tests_cpu/libnd4j_tests/CMakeLists.txt @@ -53,8 +53,6 @@ if (${HELPERS_armcompute}) set(HAVE_ARMCOMPUTE 1) # Add preprocessor definition for ARM Compute NEON add_definitions(-DARMCOMPUTENEON_ENABLED) - #build our library with neon support - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpu=neon") include_directories(${ARMCOMPUTE_INCLUDE}) endif() diff --git a/libnd4j/tests_cpu/run_minifier.sh b/libnd4j/tests_cpu/run_minifier.sh index b7fdf99ea..0b4a1e3ba 100755 --- a/libnd4j/tests_cpu/run_minifier.sh +++ b/libnd4j/tests_cpu/run_minifier.sh @@ -1,19 +1,21 @@ #!/bin/bash -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ # script for running and manual testing of the minifier # by GS diff --git a/libnd4j/tests_cpu/run_tests.sh b/libnd4j/tests_cpu/run_tests.sh index 8f412dee5..89c09747c 100755 --- a/libnd4j/tests_cpu/run_tests.sh +++ b/libnd4j/tests_cpu/run_tests.sh @@ -1,20 +1,22 @@ #!/usr/bin/env bash -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ set -exo pipefail diff --git a/nd4j/buildmultiplescalaversions.sh b/nd4j/buildmultiplescalaversions.sh index bd98b3692..e2619f317 100755 --- a/nd4j/buildmultiplescalaversions.sh +++ b/nd4j/buildmultiplescalaversions.sh @@ -1,19 +1,21 @@ #! /bin/bash -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ BASEDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/pom.xml b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/pom.xml index 9a42f6bd0..792c96fc4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/pom.xml +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/pom.xml @@ -1,44 +1,135 @@ - + + + + - - - nd4j-api-parent - org.nd4j - 1.0.0-SNAPSHOT - 4.0.0 + + org.nd4j + nd4j-api-parent + 1.0.0-SNAPSHOT + + nd4j-api - 1.0.0-SNAPSHOT - jar nd4j-api - https://deeplearning4j.org + + + 1.8 + 1.8 + 0.9.1 + 1.0.0 + + + + + com.jakewharton.byteunits + byteunits + ${byteunits.version} + + + org.apache.commons + commons-math3 + ${commons-math3.version} + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + org.apache.commons + commons-collections4 + ${commons-collections4.version} + + + + com.google.flatbuffers + flatbuffers-java + ${flatbuffers.version} + + + + org.nd4j + protobuf + ${project.version} + + + + com.github.oshi + oshi-core + ${oshi.version} + + + org.slf4j + slf4j-api + + + + org.nd4j + jackson + ${project.version} + + + commons-net + commons-net + ${commons-net.version} + + + net.ericaro + neoitertools + ${neoitertools.version} + + + junit + junit + + + + + org.nd4j + nd4j-common + ${project.version} + + + ch.qos.logback + logback-classic + + + ch.qos.logback + logback-core + + - org.apache.maven.plugins maven-antrun-plugin - 1.8 + ${maven-antrun-plugin.version} generate-sources @@ -47,19 +138,21 @@ - - - + + + - com.github.os72 protoc-jar-maven-plugin - 3.8.0 + ${protoc-jar-maven-plugin.version} tensorflow @@ -68,15 +161,17 @@ run - 3.8.0 + ${protoc-jar-maven-plugin.version} .proto src/main/protobuf/tf src/main/protobuf/onnx + src/main/protobuf/nd4j src/main/protobuf/tf/tensorflow src/main/protobuf/onnx + src/main/protobuf/nd4j main false @@ -85,16 +180,16 @@ - com.google.code.maven-replacer-plugin replacer - 1.5.3 + ${maven-replacer-plugin.version} ${project.build.sourceDirectory}/org/tensorflow/** ${project.build.sourceDirectory}/tensorflow/** ${project.build.sourceDirectory}/onnx/** + ${project.build.sourceDirectory}/org/nd4j/ir/** com.google.protobuf. org.nd4j.shade.protobuf. @@ -109,16 +204,6 @@ - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.7 - 1.7 - - org.apache.maven.plugins maven-jar-plugin @@ -142,104 +227,6 @@ - - UTF-8 - - - - - - ch.qos.logback - logback-classic - ${logback.version} - - - ch.qos.logback - logback-core - ${logback.version} - - - - - - - - - com.jakewharton.byteunits - byteunits - 0.9.1 - - - - org.apache.commons - commons-math3 - ${commons-math3.version} - - - - - com.google.flatbuffers - flatbuffers-java - ${flatbuffers.version} - - - - - org.nd4j - protobuf - ${project.version} - - - - - - - com.github.oshi - oshi-core - ${oshi.version} - - - - org.slf4j - slf4j-api - - - - - - org.nd4j - jackson - ${project.version} - - - commons-net - commons-net - ${commons-net.version} - - - net.ericaro - neoitertools - 1.0.0 - - - junit - junit - - - - - org.nd4j - nd4j-common - ${project.version} - - - org.bytedeco - javacpp - ${javacpp.version} - - - testresources diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/TFGraphRunnerService.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/TFGraphRunnerService.java index 0aa1b6398..27dbfdde3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/TFGraphRunnerService.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/TFGraphRunnerService.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/adapters/InferenceAdapter.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/adapters/InferenceAdapter.java index 671ef613d..aa910cf70 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/adapters/InferenceAdapter.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/adapters/InferenceAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.adapters; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/adapters/InputAdapter.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/adapters/InputAdapter.java index 09ca4eaa6..c578d9141 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/adapters/InputAdapter.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/adapters/InputAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.adapters; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/adapters/OutputAdapter.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/adapters/OutputAdapter.java index ba1ff40d4..0b4a9ef2f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/adapters/OutputAdapter.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/adapters/OutputAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.adapters; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/BasicGraphExecutioner.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/BasicGraphExecutioner.java index c9cd5e80d..a17ebec93 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/BasicGraphExecutioner.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/BasicGraphExecutioner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.execution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/GraphExecutioner.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/GraphExecutioner.java index b001bf31c..c3a378bf3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/GraphExecutioner.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/GraphExecutioner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.execution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/Node.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/Node.java index 1e99b5643..82ba46f89 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/Node.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/Node.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.execution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/conf/ExecutionMode.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/conf/ExecutionMode.java index 70f63a1b5..8bad5aba3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/conf/ExecutionMode.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/conf/ExecutionMode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.execution.conf; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/conf/ExecutorConfiguration.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/conf/ExecutorConfiguration.java index 5cf3dfb1d..928dba19a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/conf/ExecutorConfiguration.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/conf/ExecutorConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.execution.conf; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/conf/OutputMode.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/conf/OutputMode.java index 61382d96d..7cce821a6 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/conf/OutputMode.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/conf/OutputMode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.execution.conf; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/input/Operands.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/input/Operands.java index 7022cfb0b..d126d1970 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/input/Operands.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/input/Operands.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.execution.input; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/input/OperandsAdapter.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/input/OperandsAdapter.java index aa2c129ef..b5119f3b4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/input/OperandsAdapter.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/execution/input/OperandsAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.execution.input; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/functions/DifferentialFunction.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/functions/DifferentialFunction.java index f4f2d6c6b..5efa667a2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/functions/DifferentialFunction.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/functions/DifferentialFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.functions; @@ -77,13 +79,18 @@ public abstract class DifferentialFunction { @Getter @Setter @JsonIgnore - private String ownName; + protected String ownName; + + @JsonIgnore + @Getter + @Setter + protected boolean ownNameSetWithDefault = false; public DifferentialFunction() { this(true); } - public DifferentialFunction(boolean sameDiff){ + public DifferentialFunction(boolean sameDiff) { //Only need instance ID if using function in context of SameDiff, not standard ND4J with INDArray args if(sameDiff) setInstanceId(); @@ -166,9 +173,9 @@ public abstract class DifferentialFunction { return ret; } - public void setPropertiesForFunction(Map properties){ + public void setPropertiesForFunction(Map properties) { Map fields = DifferentialFunctionClassHolder.getInstance().getFieldsForFunction(this); - for(String s : properties.keySet()){ + for(String s : properties.keySet()) { Field f = fields.get(s); if(f == null){ log.warn("No fields found for property name {} for class {}", s, this.getClass().getName()); @@ -456,7 +463,12 @@ public abstract class DifferentialFunction { } } - public void replaceArg(int i, SDVariable newArg){ + /** + * Replace argument at the specfied index + * @param i the index + * @param newArg the new argument + */ + public void replaceArg(int i, SDVariable newArg) { if(sameDiff != null){ sameDiff.replaceArgFor(i, newArg, this); } @@ -475,20 +487,20 @@ public abstract class DifferentialFunction { /** * @return The output variable, or the first output variable, if multiple outputs exist */ - public SDVariable outputVariable(){ + public SDVariable outputVariable() { return outputVariables()[0]; } - public List outputs(){ + public List outputs() { SDVariable[] out = outputVariables(); return out == null ? null : Arrays.asList(out); } - public String[] outputVariablesNames(){ + public String[] outputVariablesNames() { SDVariable[] outputVars = outputVariables(); String[] out = new String[outputVars.length]; - for( int i=0; i calculateOutputShape() { - throw new ND4JIllegalStateException("calculateOutputShape() method leaked out for [" + this.opName() + "]"); + throw new ND4JIllegalStateException("Op type of " + getClass().getName() + "did not override calculateOutputShape() method leaked out for [" + this.opName() + "]"); } public List calculateOutputShape(OpContext oc){ - throw new ND4JIllegalStateException("calculateOutputShape(OpContext) method leaked out for [" + this.opName() + "]"); + throw new ND4JIllegalStateException("Op type of " + getClass().getName() + " did not override calculateOutputShape(OpContext) method leaked out for [" + this.opName() + "]"); } /** @@ -726,7 +735,7 @@ public abstract class DifferentialFunction { * @return The data types of the outputs */ public List calculateOutputDataTypes(List dataTypes){ - throw new UnsupportedOperationException("calculateOutputDataTypes() has not been implemented for " + getClass().getName()); + throw new UnsupportedOperationException("Op type of " + getClass().getName() + " and name " + this.toString() + " did not override calculateOutputDataTypes()! This function has not been implemented for " + getClass().getName()); } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/At.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/At.java index e05d067c6..6e02e7c4d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/At.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/At.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.autodiff.listeners; import lombok.*; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/BaseEvaluationListener.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/BaseEvaluationListener.java index c0af6bb5c..e242875f1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/BaseEvaluationListener.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/BaseEvaluationListener.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.autodiff.listeners; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/BaseListener.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/BaseListener.java index 6978a79d0..dfe348766 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/BaseListener.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/BaseListener.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.autodiff.listeners; import org.nd4j.autodiff.listeners.records.LossCurve; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/Listener.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/Listener.java index 4ed7df6c3..fcea487a1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/Listener.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/Listener.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.autodiff.listeners; import org.nd4j.autodiff.listeners.records.LossCurve; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/ListenerEvaluations.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/ListenerEvaluations.java index 256bdb4a6..4c7dd86c3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/ListenerEvaluations.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/ListenerEvaluations.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.autodiff.listeners; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/ListenerResponse.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/ListenerResponse.java index c6ff02827..41d192406 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/ListenerResponse.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/ListenerResponse.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.autodiff.listeners; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/ListenerVariables.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/ListenerVariables.java index 33baf7099..e107dac96 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/ListenerVariables.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/ListenerVariables.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.autodiff.listeners; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/Loss.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/Loss.java index d95f662bf..c3bd75064 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/Loss.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/Loss.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.autodiff.listeners; import java.util.ArrayList; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/Operation.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/Operation.java index 8676c4b02..e3ab64270 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/Operation.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/Operation.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.autodiff.listeners; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/checkpoint/Checkpoint.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/checkpoint/Checkpoint.java index 0c0a1429d..a0dc95c6c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/checkpoint/Checkpoint.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/checkpoint/Checkpoint.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.listeners.checkpoint; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/checkpoint/CheckpointListener.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/checkpoint/CheckpointListener.java index c15db7e08..be1082de7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/checkpoint/CheckpointListener.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/checkpoint/CheckpointListener.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.autodiff.listeners.checkpoint; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/debugging/ArraySavingListener.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/debugging/ArraySavingListener.java index 2a9c6e9ad..b00ecc44c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/debugging/ArraySavingListener.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/debugging/ArraySavingListener.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.autodiff.listeners.debugging; import lombok.NonNull; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/debugging/ExecDebuggingListener.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/debugging/ExecDebuggingListener.java index 847faea37..103aa932f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/debugging/ExecDebuggingListener.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/debugging/ExecDebuggingListener.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.autodiff.listeners.debugging; import lombok.val; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/debugging/OpBenchmarkListener.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/debugging/OpBenchmarkListener.java index 703559729..812b91487 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/debugging/OpBenchmarkListener.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/debugging/OpBenchmarkListener.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.autodiff.listeners.debugging; import lombok.*; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/impl/HistoryListener.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/impl/HistoryListener.java index b337c0656..84c466f2a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/impl/HistoryListener.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/impl/HistoryListener.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.autodiff.listeners.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/impl/ScoreListener.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/impl/ScoreListener.java index 9bb0c7de3..163ad2515 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/impl/ScoreListener.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/impl/ScoreListener.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.autodiff.listeners.impl; import lombok.extern.slf4j.Slf4j; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/impl/UIListener.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/impl/UIListener.java index 2cd544508..64ad0cc3d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/impl/UIListener.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/impl/UIListener.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.autodiff.listeners.impl; import com.google.flatbuffers.Table; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/ProfilingListener.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/ProfilingListener.java index 57de9f2e9..da857c0f5 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/ProfilingListener.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/ProfilingListener.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.listeners.profiler; import lombok.*; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/comparison/Config.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/comparison/Config.java index f174bfe4f..bcf94af32 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/comparison/Config.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/comparison/Config.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.listeners.profiler.comparison; import lombok.Builder; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/comparison/OpStats.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/comparison/OpStats.java index 0949020af..1b7473b5d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/comparison/OpStats.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/comparison/OpStats.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.listeners.profiler.comparison; import lombok.AllArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/comparison/ProfileAnalyzer.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/comparison/ProfileAnalyzer.java index c60ebe20a..5e478944a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/comparison/ProfileAnalyzer.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/comparison/ProfileAnalyzer.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.listeners.profiler.comparison; import lombok.NonNull; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/data/ColorName.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/data/ColorName.java index 0d9c08deb..2cd6ade37 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/data/ColorName.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/data/ColorName.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.listeners.profiler.data; public enum ColorName { diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/data/Phase.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/data/Phase.java index bca7feb39..5a9bfb75b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/data/Phase.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/data/Phase.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.listeners.profiler.data; /** diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/data/TraceEvent.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/data/TraceEvent.java index e4270edd1..0a3c60636 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/data/TraceEvent.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/data/TraceEvent.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.listeners.profiler.data; import lombok.AllArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/data/TraceEvents.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/data/TraceEvents.java index b3ebf6d8a..5be491ba7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/data/TraceEvents.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/profiler/data/TraceEvents.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.listeners.profiler.data; import lombok.AllArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/records/EvaluationRecord.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/records/EvaluationRecord.java index 1f05469c4..efb17d882 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/records/EvaluationRecord.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/records/EvaluationRecord.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.autodiff.listeners.records; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/records/History.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/records/History.java index c4bb830a4..4a5c27994 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/records/History.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/records/History.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.autodiff.listeners.records; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/records/LossCurve.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/records/LossCurve.java index 4d7300c62..c0d976f43 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/records/LossCurve.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/listeners/records/LossCurve.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.autodiff.listeners.records; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/loss/LossReduce.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/loss/LossReduce.java index 1c1170903..a2ceb6953 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/loss/LossReduce.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/loss/LossReduce.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.loss; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ArgumentInterceptor.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ArgumentInterceptor.java index a1f4734fc..754757fd0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ArgumentInterceptor.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ArgumentInterceptor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.samediff; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ArrayHolder.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ArrayHolder.java index 9c8f59357..e862d02b4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ArrayHolder.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ArrayHolder.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.autodiff.samediff; import org.nd4j.linalg.api.ndarray.INDArray; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/NameScope.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/NameScope.java index aca2ce9cb..7f995abf7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/NameScope.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/NameScope.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.autodiff.samediff; import lombok.Data; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SDIndex.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SDIndex.java index 058789aa2..96e64b31f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SDIndex.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SDIndex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.samediff; import lombok.Getter; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SDVariable.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SDVariable.java index d78c6b5b3..d1c101e60 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SDVariable.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SDVariable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.samediff; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiff.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiff.java index 1535ed105..4e881b5e6 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiff.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiff.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.samediff; @@ -43,6 +45,7 @@ import org.nd4j.evaluation.IEvaluation; import org.nd4j.evaluation.classification.Evaluation; import org.nd4j.evaluation.classification.ROC; import org.nd4j.graph.*; +import org.nd4j.imports.VariableUtils; import org.nd4j.imports.graphmapper.tf.TFGraphMapper; import org.nd4j.linalg.api.buffer.DataType; import org.nd4j.linalg.api.memory.MemoryWorkspace; @@ -94,6 +97,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import static org.nd4j.autodiff.util.SameDiffUtils.stackOutputs; +import static org.nd4j.imports.VariableUtils.stripVarSuffix; /** * SameDiff is the entrypoint for ND4J's automatic differentiation functionality. @@ -571,9 +575,9 @@ public class SameDiff extends SDBaseOps { */ public DifferentialFunction getVariableOutputOp(String variableName) { Preconditions.checkState(variables.containsKey(variableName), "No variable with name \"%s\" found in graph", variableName); - if (variables.get(variableName).getOutputOfOp() == null) + if (variables.get(variableName).getOutputOfOp() == null || ops.get(stripVarSuffix(variables.get(variableName).getOutputOfOp())) == null) return null; - return ops.get(variables.get(variableName).getOutputOfOp()).getOp(); + return ops.get(stripVarSuffix(variables.get(variableName).getOutputOfOp())).getOp(); } /** @@ -2473,7 +2477,7 @@ public class SameDiff extends SDBaseOps { * Special case of {@link #batchOutput()}. */ public Map outputAll(Map placeholders) { - return batchOutput().outputAll().inputs(placeholders).exec(); + return batchOutput().outputAll().inputs(placeholders).output(); } /** * Do inference for a single variable for a single batch. @@ -2483,7 +2487,7 @@ public class SameDiff extends SDBaseOps { * Special case of {@link #batchOutput()}. */ public INDArray outputSingle(Map placeholders, String output) { - return batchOutput().output(output).inputs(placeholders).execSingle(); + return batchOutput().output(output).inputs(placeholders).outputSingle(); } /** @@ -2576,7 +2580,7 @@ public class SameDiff extends SDBaseOps { //Placeholder validation is performed in InferenceSession InferenceSession is = sessions.get(threadId); - return is.output(outputs == null ? Collections.emptyList() : Arrays.asList(outputs), + return is.output(outputs == null ? Collections.emptyList() : Arrays.asList(outputs), placeholders, batch, requiredActivations, activeListeners, at); } @@ -3328,6 +3332,7 @@ public class SameDiff extends SDBaseOps { Preconditions.checkState(!variables.containsKey(to), "Cannot rename variable \"%s\" to name \"%s\": a variable with name \"%s\" already exists", from, to, to); Variable v = variables.get(from); + SameDiffOp opToReName = ops.get(stripVarSuffix(from)); v.setName(to); v.getVariable().setVarName(to); if (v.getInputsForOp() != null) { @@ -3337,6 +3342,7 @@ public class SameDiff extends SDBaseOps { while (newInputs.contains(from)) { newInputs.set(newInputs.indexOf(from), to); } + op.setInputsToOp(newInputs); } } @@ -3375,26 +3381,62 @@ public class SameDiff extends SDBaseOps { } if (v.getOutputOfOp() != null) { - SameDiffOp op = ops.get(v.getOutputOfOp()); - List newOuts = new ArrayList<>(op.getOutputsOfOp()); - while (newOuts.contains(from)) { - newOuts.set(newOuts.indexOf(from), to); + SameDiffOp op = ops.get(stripVarSuffix(from)); + if(op != null && op.getOutputsOfOp() != null) { + List newOuts = new ArrayList<>(op.getOutputsOfOp()); + while (newOuts.contains(from)) { + newOuts.set(newOuts.indexOf(from), to); + } + + //find other aliases and ensure those get updated as well, + //after this any other versions of the op may not be discoverable + //due to the renaming + String strippedVarSuffix = stripVarSuffix(from); + for(int i = 0; i < newOuts.size(); i++) { + String newOut = newOuts.get(i); + if(stripVarSuffix(newOut).equals(strippedVarSuffix)) { + val idx = newOut.lastIndexOf(':'); + val newString = to + newOut.substring(idx); + newOuts.set(i,newString); + } + } + + op.setOutputsOfOp(newOuts); + } + else if(op != null) { + op.setOutputsOfOp(Arrays.asList(to)); } - op.setOutputsOfOp(newOuts); } variables.remove(from); variables.put(to, v); + //set as just op name, update to set as the name of the output + if(opToReName != null && opToReName.getOp() != null && opToReName.getOp().isOwnNameSetWithDefault()) { + ops.remove(from); + opToReName.getOp().setOwnName(to); + ops.put(to,opToReName); + opToReName.setName(to); + } - if(v.getVariable().getVariableType() == VariableType.CONSTANT && constantArrays.hasArray(from)){ + for(Variable variable : variables.values()) { + if(variable.getInputsForOp() != null && variable.getInputsForOp().contains(from)) { + variable.getInputsForOp().set(variable.getInputsForOp().indexOf(from),to); + } + + if(variable.getOutputOfOp() != null && variable.getOutputOfOp().equals(from)) { + variable.setOutputOfOp(to); + } + } + + if(v.getVariable().getVariableType() == VariableType.CONSTANT && constantArrays.hasArray(from)) { constantArrays.rename(from, to); } - if(v.getVariable().getVariableType() == VariableType.VARIABLE && variablesArrays.hasArray(from)){ + if(v.getVariable().getVariableType() == VariableType.VARIABLE && variablesArrays.hasArray(from)) { variablesArrays.rename(from, to); } - if(v.getVariable().getVariableType() == VariableType.PLACEHOLDER ){ + if(v.getVariable().getVariableType() == VariableType.PLACEHOLDER) { for(Map e : placeholdersPerThread.values()){ //Not really thread safe - but renaming variables during execution in other threads can never be thread safe :) if(e != null && e.containsKey(from)){ @@ -3434,6 +3476,7 @@ public class SameDiff extends SDBaseOps { while (l.contains(from)) { l.set(l.indexOf(from), to); } + trainingConfig.setDataSetLabelMaskMapping(l); } @@ -3453,7 +3496,7 @@ public class SameDiff extends SDBaseOps { } //Check losses: - if(lossVariables.contains(from)){ + if(lossVariables.contains(from)) { int idx = lossVariables.indexOf(from); lossVariables.set(idx, to); } @@ -5225,10 +5268,10 @@ public class SameDiff extends SDBaseOps { v2.setControlDepsForOp(l); } - if(v.controlDepsForVarLength() > 0){ + if(v.controlDepsForVarLength() > 0) { int num = v.controlDepsForVarLength(); List l = new ArrayList<>(num); - for( int i=0; i 0) { int l = fn.controlDepsLength(); List list = new ArrayList<>(l); - for( int i=0; i 0) { int l = fn.varControlDepsLength(); List list = new ArrayList<>(l); - for( int i=0; i 0) { @@ -5674,7 +5717,7 @@ public class SameDiff extends SDBaseOps { int fns = (sd.ops() == null ? 0 : sd.ops().length); int defFns = sd.definedFunctionNames().size(); - sb.append(String.format(format, e.getKey(), String.valueOf(vars), String.valueOf(fns), String.valueOf(defFns))).append("\n"); + sb.append(String.format(format, e.getKey(), vars, fns, defFns)).append("\n"); } } @@ -5683,7 +5726,7 @@ public class SameDiff extends SDBaseOps { /** * For internal use only. - * Creates a new discinct block name from baseName. + * Creates a new distinct block name from baseName. * Block names are used by If and While */ public String newBlockName(String baseName) { diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiffConditional.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiffConditional.java index 6ecf9ec71..3b9ab66ec 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiffConditional.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiffConditional.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.samediff; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiffFunctionDefinition.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiffFunctionDefinition.java index b0cf3f752..ee0ac045d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiffFunctionDefinition.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiffFunctionDefinition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.samediff; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiffLambda.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiffLambda.java index c9efc1428..3684efe96 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiffLambda.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiffLambda.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.samediff; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiffNoArgSingleLambda.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiffNoArgSingleLambda.java index 4c3f7a86d..85fa1128d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiffNoArgSingleLambda.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiffNoArgSingleLambda.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.samediff; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiffSingleLambda.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiffSingleLambda.java index 21ba05689..b82895ac1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiffSingleLambda.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiffSingleLambda.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.samediff; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/TrainingConfig.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/TrainingConfig.java index 70c962781..3c8274da3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/TrainingConfig.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/TrainingConfig.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.samediff; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/VariableType.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/VariableType.java index 757b834df..b1b415c02 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/VariableType.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/VariableType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.samediff; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/api/OutAndGrad.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/api/OutAndGrad.java index d0bc4b8b6..6ef18e491 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/api/OutAndGrad.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/api/OutAndGrad.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.autodiff.samediff.api; import lombok.AllArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/array/SingleThreadArrayHolder.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/array/SingleThreadArrayHolder.java index 3f67b57bd..ddd5d7689 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/array/SingleThreadArrayHolder.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/array/SingleThreadArrayHolder.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.autodiff.samediff.array; import lombok.NonNull; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/array/ThreadSafeArrayHolder.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/array/ThreadSafeArrayHolder.java index 34832d45f..a165d4258 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/array/ThreadSafeArrayHolder.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/array/ThreadSafeArrayHolder.java @@ -1,7 +1,26 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.autodiff.samediff.array; import lombok.NonNull; import org.nd4j.autodiff.samediff.ArrayHolder; +import org.nd4j.linalg.api.buffer.DataType; import org.nd4j.linalg.api.ndarray.INDArray; import org.nd4j.linalg.util.DeviceLocalNDArray; @@ -42,7 +61,8 @@ public class ThreadSafeArrayHolder implements ArrayHolder { if (array.isView()) array = array.dup(); //Device local doesn't support views if (!map.containsKey(name)) { - DeviceLocalNDArray dla = new DeviceLocalNDArray(array, lazyInit); + INDArray toBroadcast = array.dataType() == DataType.UTF8 ? array.dup() : array; + DeviceLocalNDArray dla = new DeviceLocalNDArray(toBroadcast, lazyInit); map.put(name, dla); } else { DeviceLocalNDArray dla = map.get(name); diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/config/BatchOutputConfig.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/config/BatchOutputConfig.java index a0a3dd503..464522f2d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/config/BatchOutputConfig.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/config/BatchOutputConfig.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.autodiff.samediff.config; @@ -58,7 +60,7 @@ public class BatchOutputConfig { /** * Add required outputs */ - public BatchOutputConfig output(@NonNull String... outputs){ + public BatchOutputConfig output(@NonNull String... outputs) { this.outputs.addAll(Arrays.asList(outputs)); return this; } @@ -139,7 +141,7 @@ public class BatchOutputConfig { /** * Do inference and return the results */ - public Map output(){ + public Map output() { return sd.output(placeholders, listeners, outputs.toArray(new String[0])); } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/config/EvaluationConfig.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/config/EvaluationConfig.java index b77e13c8d..d403b225f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/config/EvaluationConfig.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/config/EvaluationConfig.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.autodiff.samediff.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/config/FitConfig.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/config/FitConfig.java index 8932a563f..7cb8fdd7a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/config/FitConfig.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/config/FitConfig.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.autodiff.samediff.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/config/OutputConfig.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/config/OutputConfig.java index 97f80490a..25e6dc677 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/config/OutputConfig.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/config/OutputConfig.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.autodiff.samediff.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/impl/DefaultSameDiffConditional.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/impl/DefaultSameDiffConditional.java index f5e1ec96f..6e3a49104 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/impl/DefaultSameDiffConditional.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/impl/DefaultSameDiffConditional.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.samediff.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/AbstractDependencyTracker.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/AbstractDependencyTracker.java index 5496df7a1..8c9c0b798 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/AbstractDependencyTracker.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/AbstractDependencyTracker.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.autodiff.samediff.internal; import lombok.Getter; @@ -36,11 +54,15 @@ public abstract class AbstractDependencyTracker { private final Map> dependencies; //Key: the dependent. Value: all things that the key depends on @Getter private final Map>> orDependencies; //Key: the dependent. Value: the set of OR dependencies + @Getter private final Map> reverseDependencies = new HashMap<>(); //Key: the dependee. Value: The set of all dependents that depend on this value + @Getter private final Map> reverseOrDependencies = new HashMap<>(); + @Getter private final Set satisfiedDependencies = new HashSet<>(); //Mark the dependency as satisfied. If not in set: assumed to not be satisfied - + @Getter private final Set allSatisfied; //Set of all dependent values (Ys) that have all dependencies satisfied + @Getter private final Queue allSatisfiedQueue = new LinkedList<>(); //Queue for *new* "all satisfied" values. Values are removed using the "new all satisfied" methods diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/AbstractSession.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/AbstractSession.java index 650bdeab2..ec7e2ff79 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/AbstractSession.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/AbstractSession.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.samediff.internal; @@ -118,7 +120,7 @@ public abstract class AbstractSession { } /** - * Get the output of the session - i.e., perform inference/forward pass and return the autputs for the specified variables + * Get the output of the session - i.e., perform inference/forward pass and return the outputs for the specified variables * * @param variables Name of the variables we want the arrays/activations for * @param placeholderValues The placeholder values (if any). May be null. @@ -163,6 +165,7 @@ public abstract class AbstractSession { //Step 2: Check that we have required placeholders List phNames = sameDiff.inputs(); + log.info("Placeholder names were " + phNames); if (placeholderValues == null || !placeholderValues.keySet().containsAll(phNames)) { /* We only have a subset of all placeholders Validate that we have all *required* placeholder values. Some might not be needed to calculate the requested outputs @@ -190,9 +193,15 @@ public abstract class AbstractSession { } if (required && (placeholderValues == null || !placeholderValues.containsKey(s))) { - throw new IllegalStateException( - "An input placeholder \"" + s + "\" is required to calculate the requested outputs," + - " but a placeholder value was not provided"); + if(placeholderValues != null) + throw new IllegalStateException( + "An input placeholder \"" + s + "\" is required to calculate the requested outputs," + + " but a placeholder value was not provided. Placeholders specified were " + placeholderValues.keySet()); + else { + throw new IllegalStateException( + "An input placeholder \"" + s + "\" is required to calculate the requested outputs," + + " but a placeholder value was not provided. Place holder values were null! "); + } } } } @@ -282,7 +291,7 @@ public abstract class AbstractSession { log.trace("Beginning execution step {}: {}", step, es); FrameIter outFrameIter; - boolean skipDepUpdate = false; //Only used for Switch ops, which have slighly different handling... + boolean skipDepUpdate = false; //Only used for Switch ops, which have slightly different handling... boolean skipMarkSatisfied = false; //Only for enter ops, because of different frame/iter if (es.getType() == ExecType.CONSTANT || es.getType() == ExecType.VARIABLE) { VarId vid = new VarId(es.getName(), OUTER_FRAME, 0, null); @@ -514,7 +523,7 @@ public abstract class AbstractSession { * Execution failed - can't calculate all requested outputs, and there's nothing left to calculate. * Throws an exception with a useful message * - * @param userRequestedUnique All outputs that the user requseted + * @param userRequestedUnique All outputs that the user reqeseted * @param out Current outputs * @param step Execution step */ diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/DependencyList.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/DependencyList.java index 98b5806d5..5467dc92e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/DependencyList.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/DependencyList.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.autodiff.samediff.internal; import lombok.AllArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/DependencyTracker.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/DependencyTracker.java index 069fac4ab..2baceb86f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/DependencyTracker.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/DependencyTracker.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.autodiff.samediff.internal; import lombok.extern.slf4j.Slf4j; @@ -5,7 +23,7 @@ import lombok.extern.slf4j.Slf4j; import java.util.*; /** - * Dependenci tracker. See {@link AbstractDependencyTracker} for details + * Dependency tracker. See {@link AbstractDependencyTracker} for details * * @param For a dependency X -> Y, Y has type T * @param For a dependency X -> Y, X has type D diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/FrameIter.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/FrameIter.java index 4ca555327..b41669e0f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/FrameIter.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/FrameIter.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.samediff.internal; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/IdentityDependencyTracker.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/IdentityDependencyTracker.java index 828b19a62..b0e222bc9 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/IdentityDependencyTracker.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/IdentityDependencyTracker.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.autodiff.samediff.internal; import lombok.extern.slf4j.Slf4j; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/InferenceSession.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/InferenceSession.java index e29721749..34e7c33b1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/InferenceSession.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/InferenceSession.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.samediff.internal; @@ -51,6 +53,8 @@ import org.nd4j.common.util.ArrayUtil; import java.util.*; +import static org.nd4j.imports.VariableUtils.stripVarSuffix; + /** * InferenceSession: Performs inference (forward pass) on a SameDiff instance to get the outputs of the requested nodes.
        * Dynamically (in AbstractSession) calculates the required subgraph to execute to get the required outputs.
        @@ -271,7 +275,7 @@ public class InferenceSession extends AbstractSession inputsForOps = v.getInputsForOp(); if (inputsForOps != null) { for (String opName : inputsForOps) { @@ -891,6 +895,9 @@ public class InferenceSession extends AbstractSession 0 && maxMemFrac < 1, "Maximum memory fraction for cache must be between 0.0 and 1.0, got %s", maxMemFrac); - Preconditions.checkArgument(smallArrayThreshold >= 0, "Small array threshould must be >= 0, got %s", smallArrayThreshold); + Preconditions.checkArgument(smallArrayThreshold >= 0, "Small array threshold must be >= 0, got %s", smallArrayThreshold); Preconditions.checkArgument(largerArrayMaxMultiple >= 1.0, "Larger array max multiple must be >= 1.0, got %s", largerArrayMaxMultiple); this.maxMemFrac = maxMemFrac; this.smallArrayThreshold = smallArrayThreshold; @@ -88,7 +107,7 @@ public class ArrayCacheMemoryMgr extends AbstractMemoryMgr { maxCacheBytes = (long)(maxMemFrac * totalMemBytes); } - private boolean isCpu(){ + private boolean isCpu() { String backend = Nd4j.getExecutioner().getEnvironmentInformation().getProperty("backend"); return !"CUDA".equalsIgnoreCase(backend); } @@ -111,7 +130,34 @@ public class ArrayCacheMemoryMgr extends AbstractMemoryMgr { @Override public INDArray allocate(boolean detached, LongShapeDescriptor descriptor) { - return allocate(detached, descriptor.dataType(), descriptor.getShape()); + if(descriptor.isEmpty()) { + INDArray ret = Nd4j.create(descriptor); + if(detached) { + ret = ret.detach(); + } + + return ret; + } + + DataType dataType = descriptor.dataType(); + long[] shape = descriptor.getShape(); + if (arrayStores.containsKey(dataType)) { + INDArray arr = arrayStores.get(dataType).get(shape); + if(arr != null && arr.ordering() != descriptor.getOrder()) { + arr.setOrder(descriptor.getOrder()); + } + + + if (arr != null) { + //Decrement cache size + currentCacheSize -= dataType.width() * arr.data().length(); + + return arr; //Allocated from cache + } + } + + //Allocation failed, allocate new array + return Nd4j.createUninitializedDetached(dataType, shape); } @Override @@ -122,13 +168,18 @@ public class ArrayCacheMemoryMgr extends AbstractMemoryMgr { DataType dt = array.dataType(); + if(array.data() == null && array.closeable()) { + array.close(); + return; + } + long thisBytes = array.data().length() * dt.width(); if(array.dataType() == DataType.UTF8) { //Don't cache string arrays due to variable length buffers if(array.closeable()) array.close(); } else if (currentCacheSize + thisBytes > maxCacheBytes) { - if(thisBytes > maxCacheBytes){ + if(thisBytes > maxCacheBytes) { //Can't store even if we clear everything - too large if(array.closeable()) array.close(); @@ -137,7 +188,7 @@ public class ArrayCacheMemoryMgr extends AbstractMemoryMgr { //Need to deallocate some arrays to stay under limit - do in "oldest first" order Iterator iter = lruCache.iterator(); - while(currentCacheSize + thisBytes > maxCacheBytes){ + while(currentCacheSize + thisBytes > maxCacheBytes) { long next = iter.next(); iter.remove(); INDArray nextOldest = lruCacheValues.remove(next); @@ -162,7 +213,7 @@ public class ArrayCacheMemoryMgr extends AbstractMemoryMgr { lruCacheValues.put(array.getId(), array); } - private void cacheArray(INDArray array){ + private void cacheArray(INDArray array) { DataType dt = array.dataType(); if (!arrayStores.containsKey(dt)) arrayStores.put(dt, new ArrayStore()); diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/memory/ArrayCloseMemoryMgr.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/memory/ArrayCloseMemoryMgr.java index 24992c50b..8db9c0ec2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/memory/ArrayCloseMemoryMgr.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/memory/ArrayCloseMemoryMgr.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.autodiff.samediff.internal.memory; import lombok.NonNull; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/memory/CloseValidationMemoryMgr.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/memory/CloseValidationMemoryMgr.java index 433a9393d..cf9e39f73 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/memory/CloseValidationMemoryMgr.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/memory/CloseValidationMemoryMgr.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.autodiff.samediff.internal.memory; import lombok.NonNull; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/memory/NoOpMemoryMgr.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/memory/NoOpMemoryMgr.java index 30b891c2f..5eb86640d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/memory/NoOpMemoryMgr.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal/memory/NoOpMemoryMgr.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.autodiff.samediff.internal.memory; import lombok.NonNull; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDBaseOps.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDBaseOps.java index 8190c4849..54ac0f951 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDBaseOps.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDBaseOps.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== @@ -21,6 +23,10 @@ package org.nd4j.autodiff.samediff.ops; import static org.nd4j.autodiff.samediff.ops.SDValidation.isSameType; import java.lang.String; +import java.util.Arrays; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; + import org.nd4j.autodiff.samediff.SDVariable; import org.nd4j.autodiff.samediff.SameDiff; import org.nd4j.common.base.Preconditions; @@ -301,7 +307,7 @@ public class SDBaseOps { * @param transposeB Whether to transpose B arrays or not */ public SDVariable[] batchMmul(SDVariable[] inputsA, SDVariable[] inputsB, boolean transposeA, - boolean transposeB) { + boolean transposeB) { SDValidation.validateNumerical("batchMmul", "inputsA", inputsA); Preconditions.checkArgument(inputsA.length >= 1, "inputsA has incorrect size/length. Expected: inputsA.length >= 1, got %s", inputsA.length); SDValidation.validateNumerical("batchMmul", "inputsB", inputsB); @@ -325,7 +331,7 @@ public class SDBaseOps { * @param transposeB Whether to transpose B arrays or not */ public SDVariable[] batchMmul(String[] names, SDVariable[] inputsA, SDVariable[] inputsB, - boolean transposeA, boolean transposeB) { + boolean transposeA, boolean transposeB) { SDValidation.validateNumerical("batchMmul", "inputsA", inputsA); Preconditions.checkArgument(inputsA.length >= 1, "inputsA has incorrect size/length. Expected: inputsA.length >= 1, got %s", inputsA.length); SDValidation.validateNumerical("batchMmul", "inputsB", inputsB); @@ -476,7 +482,7 @@ public class SDBaseOps { * @return output Output variable (NUMERIC type) */ public SDVariable cumprod(String name, SDVariable in, boolean exclusive, boolean reverse, - int... axis) { + int... axis) { SDValidation.validateNumerical("cumprod", "in", in); Preconditions.checkArgument(axis.length >= 1, "axis has incorrect size/length. Expected: axis.length >= 1, got %s", axis.length); SDVariable out = new org.nd4j.linalg.api.ops.impl.transforms.custom.CumProd(sd,in, exclusive, reverse, axis).outputVariable(); @@ -557,7 +563,7 @@ public class SDBaseOps { * @return output (NUMERIC type) */ public SDVariable cumsum(String name, SDVariable in, boolean exclusive, boolean reverse, - int... axis) { + int... axis) { SDValidation.validateNumerical("cumsum", "in", in); Preconditions.checkArgument(axis.length >= 1, "axis has incorrect size/length. Expected: axis.length >= 1, got %s", axis.length); SDVariable out = new org.nd4j.linalg.api.ops.impl.transforms.custom.CumSum(sd,in, exclusive, reverse, axis).outputVariable(); @@ -674,7 +680,7 @@ public class SDBaseOps { * @param numPartitions Number of partitions, >= 1 */ public SDVariable[] dynamicPartition(String[] names, SDVariable x, SDVariable partitions, - int numPartitions) { + int numPartitions) { SDValidation.validateNumerical("dynamicPartition", "x", x); SDValidation.validateInteger("dynamicPartition", "partitions", partitions); SDVariable[] out = new org.nd4j.linalg.api.ops.impl.transforms.custom.DynamicPartition(sd,x, partitions, numPartitions).outputVariables(); @@ -1183,7 +1189,7 @@ public class SDBaseOps { * @return output INDArray with linearly spaced elements (NUMERIC type) */ public SDVariable linspace(String name, DataType dataType, double start, double stop, - long number) { + long number) { SDVariable out = new org.nd4j.linalg.api.ops.impl.shape.Linspace(sd,dataType, start, stop, number).outputVariable(); return sd.updateVariableNameAndReference(out, name); } @@ -1199,7 +1205,7 @@ public class SDBaseOps { * @return output INDArray with linearly spaced elements (NUMERIC type) */ public SDVariable linspace(SDVariable start, SDVariable stop, SDVariable number, - DataType dataType) { + DataType dataType) { SDValidation.validateNumerical("linspace", "start", start); SDValidation.validateNumerical("linspace", "stop", stop); SDValidation.validateInteger("linspace", "number", number); @@ -1218,7 +1224,7 @@ public class SDBaseOps { * @return output INDArray with linearly spaced elements (NUMERIC type) */ public SDVariable linspace(String name, SDVariable start, SDVariable stop, SDVariable number, - DataType dataType) { + DataType dataType) { SDValidation.validateNumerical("linspace", "start", start); SDValidation.validateNumerical("linspace", "stop", stop); SDValidation.validateInteger("linspace", "number", number); @@ -1439,7 +1445,7 @@ public class SDBaseOps { * @return output Number of elements that the condition is satisfied for (NUMERIC type) */ public SDVariable matchConditionCount(SDVariable in, Condition condition, boolean keepDim, - int... dimensions) { + int... dimensions) { SDValidation.validateNumerical("matchConditionCount", "in", in); Preconditions.checkArgument(dimensions.length >= 0, "dimensions has incorrect size/length. Expected: dimensions.length >= 0, got %s", dimensions.length); return new org.nd4j.linalg.api.ops.impl.reduce.longer.MatchCondition(sd,in, condition, keepDim, dimensions).outputVariable(); @@ -1463,7 +1469,7 @@ public class SDBaseOps { * @return output Number of elements that the condition is satisfied for (NUMERIC type) */ public SDVariable matchConditionCount(String name, SDVariable in, Condition condition, - boolean keepDim, int... dimensions) { + boolean keepDim, int... dimensions) { SDValidation.validateNumerical("matchConditionCount", "in", in); Preconditions.checkArgument(dimensions.length >= 0, "dimensions has incorrect size/length. Expected: dimensions.length >= 0, got %s", dimensions.length); SDVariable out = new org.nd4j.linalg.api.ops.impl.reduce.longer.MatchCondition(sd,in, condition, keepDim, dimensions).outputVariable(); @@ -1508,7 +1514,7 @@ public class SDBaseOps { * @return output Number of elements that the condition is satisfied for (NUMERIC type) */ public SDVariable matchConditionCount(String name, SDVariable in, Condition condition, - int... dimensions) { + int... dimensions) { SDValidation.validateNumerical("matchConditionCount", "in", in); Preconditions.checkArgument(dimensions.length >= 0, "dimensions has incorrect size/length. Expected: dimensions.length >= 0, got %s", dimensions.length); SDVariable out = new org.nd4j.linalg.api.ops.impl.reduce.longer.MatchCondition(sd,in, condition, false, dimensions).outputVariable(); @@ -1889,7 +1895,7 @@ public class SDBaseOps { * @return output (NUMERIC type) */ public SDVariable mmul(SDVariable x, SDVariable y, boolean transposeX, boolean transposeY, - boolean transposeZ) { + boolean transposeZ) { SDValidation.validateNumerical("mmul", "x", x); SDValidation.validateNumerical("mmul", "y", y); return new org.nd4j.linalg.api.ops.impl.reduce.Mmul(sd,x, y, transposeX, transposeY, transposeZ).outputVariable(); @@ -1908,7 +1914,7 @@ public class SDBaseOps { * @return output (NUMERIC type) */ public SDVariable mmul(String name, SDVariable x, SDVariable y, boolean transposeX, - boolean transposeY, boolean transposeZ) { + boolean transposeY, boolean transposeZ) { SDValidation.validateNumerical("mmul", "x", x); SDValidation.validateNumerical("mmul", "y", y); SDVariable out = new org.nd4j.linalg.api.ops.impl.reduce.Mmul(sd,x, y, transposeX, transposeY, transposeZ).outputVariable(); @@ -2298,14 +2304,14 @@ public class SDBaseOps { * * @param indices Indices - value 0 to depth-1 (NUMERIC type) * @param depth Number of classes - * @param axis - * @param on - * @param off + * @param axis + * @param on + * @param off * @param dataType Output data type * @return output Output variable (NUMERIC type) */ public SDVariable oneHot(SDVariable indices, int depth, int axis, double on, double off, - DataType dataType) { + DataType dataType) { SDValidation.validateNumerical("oneHot", "indices", indices); return new org.nd4j.linalg.api.ops.impl.shape.OneHot(sd,indices, depth, axis, on, off, dataType).outputVariable(); } @@ -2318,14 +2324,14 @@ public class SDBaseOps { * @param name name May be null. Name for the output variable * @param indices Indices - value 0 to depth-1 (NUMERIC type) * @param depth Number of classes - * @param axis - * @param on - * @param off + * @param axis + * @param on + * @param off * @param dataType Output data type * @return output Output variable (NUMERIC type) */ public SDVariable oneHot(String name, SDVariable indices, int depth, int axis, double on, - double off, DataType dataType) { + double off, DataType dataType) { SDValidation.validateNumerical("oneHot", "indices", indices); SDVariable out = new org.nd4j.linalg.api.ops.impl.shape.OneHot(sd,indices, depth, axis, on, off, dataType).outputVariable(); return sd.updateVariableNameAndReference(out, name); @@ -2338,9 +2344,9 @@ public class SDBaseOps { * * @param indices Indices - value 0 to depth-1 (NUMERIC type) * @param depth Number of classes - * @param axis - * @param on - * @param off + * @param axis + * @param on + * @param off * @return output Output variable (NUMERIC type) */ public SDVariable oneHot(SDVariable indices, int depth, int axis, double on, double off) { @@ -2356,13 +2362,13 @@ public class SDBaseOps { * @param name name May be null. Name for the output variable * @param indices Indices - value 0 to depth-1 (NUMERIC type) * @param depth Number of classes - * @param axis - * @param on - * @param off + * @param axis + * @param on + * @param off * @return output Output variable (NUMERIC type) */ public SDVariable oneHot(String name, SDVariable indices, int depth, int axis, double on, - double off) { + double off) { SDValidation.validateNumerical("oneHot", "indices", indices); SDVariable out = new org.nd4j.linalg.api.ops.impl.shape.OneHot(sd,indices, depth, axis, on, off, DataType.FLOAT).outputVariable(); return sd.updateVariableNameAndReference(out, name); @@ -2430,7 +2436,7 @@ public class SDBaseOps { * As per onesLike(String, SDVariable) but the output datatype may be specified
        * * @param input (NUMERIC type) - * @param dataType + * @param dataType * @return output (NUMERIC type) */ public SDVariable onesLike(SDVariable input, DataType dataType) { @@ -2443,7 +2449,7 @@ public class SDBaseOps { * * @param name name May be null. Name for the output variable * @param input (NUMERIC type) - * @param dataType + * @param dataType * @return output (NUMERIC type) */ public SDVariable onesLike(String name, SDVariable input, DataType dataType) { @@ -2606,7 +2612,7 @@ public class SDBaseOps { * @param from Initial/smallest value * @param to Largest value (exclusive) * @param step Step size - * @param dataType + * @param dataType * @return output INDArray with the specified values (NUMERIC type) */ public SDVariable range(double from, double to, double step, DataType dataType) { @@ -2622,7 +2628,7 @@ public class SDBaseOps { * @param from Initial/smallest value * @param to Largest value (exclusive) * @param step Step size - * @param dataType + * @param dataType * @return output INDArray with the specified values (NUMERIC type) */ public SDVariable range(String name, double from, double to, double step, DataType dataType) { @@ -2638,7 +2644,7 @@ public class SDBaseOps { * @param from Initial/smallest value (NUMERIC type) * @param to Largest value (exclusive) (NUMERIC type) * @param step Step size (NUMERIC type) - * @param dataType + * @param dataType * @return output INDArray with the specified values (NUMERIC type) */ public SDVariable range(SDVariable from, SDVariable to, SDVariable step, DataType dataType) { @@ -2657,11 +2663,11 @@ public class SDBaseOps { * @param from Initial/smallest value (NUMERIC type) * @param to Largest value (exclusive) (NUMERIC type) * @param step Step size (NUMERIC type) - * @param dataType + * @param dataType * @return output INDArray with the specified values (NUMERIC type) */ public SDVariable range(String name, SDVariable from, SDVariable to, SDVariable step, - DataType dataType) { + DataType dataType) { SDValidation.validateNumerical("range", "from", from); SDValidation.validateNumerical("range", "to", to); SDValidation.validateNumerical("range", "step", step); @@ -2721,7 +2727,7 @@ public class SDBaseOps { * @return output New array with values replaced where condition is satisfied (NUMERIC type) */ public SDVariable replaceWhere(String name, SDVariable update, SDVariable from, - Condition condition) { + Condition condition) { SDValidation.validateNumerical("replaceWhere", "update", update); SDValidation.validateNumerical("replaceWhere", "from", from); SDVariable out = new org.nd4j.linalg.api.ops.impl.transforms.comparison.CompareAndReplace(sd,update, from, condition).outputVariable(); @@ -2755,7 +2761,7 @@ public class SDBaseOps { * @return output New array with values replaced where condition is satisfied (NUMERIC type) */ public SDVariable replaceWhere(String name, SDVariable update, double value, - Condition condition) { + Condition condition) { SDValidation.validateNumerical("replaceWhere", "update", update); SDVariable out = new org.nd4j.linalg.api.ops.impl.transforms.comparison.CompareAndSet(sd,update, value, condition).outputVariable(); return sd.updateVariableNameAndReference(out, name); @@ -2793,6 +2799,47 @@ public class SDBaseOps { return sd.updateVariableNameAndReference(out, name); } + + /** + * Split the input in to a list of sub tensors + * @param input the input to split + * @param numSizeSplits the number of splits + * @param splitDim the dimension to split along + * @return the set of output variables + */ + public SDVariable[] split(SDVariable input,int numSizeSplits,int splitDim) { + SDValidation.validateNumerical("split",input); + SDVariable[] out = new org.nd4j.linalg.api.ops.impl.shape.Split(sd,input,numSizeSplits,splitDim).outputVariables(); + return out; + } + + /** + * Split the input in to a list of sub tensors + * @param name the potential name of the input + * @param input the input to split + * @param numSizeSplits the number of splits + * @param splitDim the dimension to split along + * @return the set of output variables + */ + public SDVariable[] split(String name,SDVariable input,int numSizeSplits,int splitDim) { + SDValidation.validateNumerical("split",input); + SDVariable[] out = new org.nd4j.linalg.api.ops.impl.shape.Split(sd,input,numSizeSplits,splitDim).outputVariables(); + SDVariable[] ret = new SDVariable[out.length]; + AtomicInteger index = new AtomicInteger(0); + Arrays.stream(out).forEach(output -> { + if(index.get() < 1) { + ret[index.get()] = sd.updateVariableNameAndReference(output,name); + index.incrementAndGet(); + } + else { + ret[index.get()] = sd.updateVariableNameAndReference(output,name + ":" + index.get()); + index.incrementAndGet(); + } + }); + + return ret; + } + /** * Reshape the input variable to the specified (fixed) shape. The output variable will have the same values as the
        * input, but with the specified shape.
        @@ -2883,7 +2930,7 @@ public class SDBaseOps { * @return output Reversed sequences (NUMERIC type) */ public SDVariable reverseSequence(SDVariable x, SDVariable seq_lengths, int seqDim, - int batchDim) { + int batchDim) { SDValidation.validateNumerical("reverseSequence", "x", x); SDValidation.validateInteger("reverseSequence", "seq_lengths", seq_lengths); return new org.nd4j.linalg.api.ops.impl.transforms.custom.ReverseSequence(sd,x, seq_lengths, seqDim, batchDim).outputVariable(); @@ -2900,7 +2947,7 @@ public class SDBaseOps { * @return output Reversed sequences (NUMERIC type) */ public SDVariable reverseSequence(String name, SDVariable x, SDVariable seq_lengths, int seqDim, - int batchDim) { + int batchDim) { SDValidation.validateNumerical("reverseSequence", "x", x); SDValidation.validateInteger("reverseSequence", "seq_lengths", seq_lengths); SDVariable out = new org.nd4j.linalg.api.ops.impl.transforms.custom.ReverseSequence(sd,x, seq_lengths, seqDim, batchDim).outputVariable(); @@ -3076,7 +3123,7 @@ public class SDBaseOps { * @return output The updated variable (NUMERIC type) */ public SDVariable scatterAdd(String name, SDVariable ref, SDVariable indices, - SDVariable updates) { + SDVariable updates) { SDValidation.validateNumerical("scatterAdd", "ref", ref); SDValidation.validateNumerical("scatterAdd", "indices", indices); SDValidation.validateNumerical("scatterAdd", "updates", updates); @@ -3119,7 +3166,7 @@ public class SDBaseOps { * @return output The updated variable (NUMERIC type) */ public SDVariable scatterDiv(String name, SDVariable ref, SDVariable indices, - SDVariable updates) { + SDVariable updates) { SDValidation.validateNumerical("scatterDiv", "ref", ref); SDValidation.validateNumerical("scatterDiv", "indices", indices); SDValidation.validateNumerical("scatterDiv", "updates", updates); @@ -3162,7 +3209,7 @@ public class SDBaseOps { * @return output The updated variable (NUMERIC type) */ public SDVariable scatterMax(String name, SDVariable ref, SDVariable indices, - SDVariable updates) { + SDVariable updates) { SDValidation.validateNumerical("scatterMax", "ref", ref); SDValidation.validateNumerical("scatterMax", "indices", indices); SDValidation.validateNumerical("scatterMax", "updates", updates); @@ -3205,7 +3252,7 @@ public class SDBaseOps { * @return output The updated variable (NUMERIC type) */ public SDVariable scatterMin(String name, SDVariable ref, SDVariable indices, - SDVariable updates) { + SDVariable updates) { SDValidation.validateNumerical("scatterMin", "ref", ref); SDValidation.validateNumerical("scatterMin", "indices", indices); SDValidation.validateNumerical("scatterMin", "updates", updates); @@ -3248,7 +3295,7 @@ public class SDBaseOps { * @return output The updated variable (NUMERIC type) */ public SDVariable scatterMul(String name, SDVariable ref, SDVariable indices, - SDVariable updates) { + SDVariable updates) { SDValidation.validateNumerical("scatterMul", "ref", ref); SDValidation.validateNumerical("scatterMul", "indices", indices); SDValidation.validateNumerical("scatterMul", "updates", updates); @@ -3291,7 +3338,7 @@ public class SDBaseOps { * @return output The updated variable (NUMERIC type) */ public SDVariable scatterSub(String name, SDVariable ref, SDVariable indices, - SDVariable updates) { + SDVariable updates) { SDValidation.validateNumerical("scatterSub", "ref", ref); SDValidation.validateNumerical("scatterSub", "indices", indices); SDValidation.validateNumerical("scatterSub", "updates", updates); @@ -3334,7 +3381,7 @@ public class SDBaseOps { * @return output The updated variable (NUMERIC type) */ public SDVariable scatterUpdate(String name, SDVariable ref, SDVariable indices, - SDVariable updates) { + SDVariable updates) { SDValidation.validateNumerical("scatterUpdate", "ref", ref); SDValidation.validateNumerical("scatterUpdate", "indices", indices); SDValidation.validateNumerical("scatterUpdate", "updates", updates); @@ -3548,7 +3595,7 @@ public class SDBaseOps { * * @param lengths Lengths of the sequences (NUMERIC type) * @param maxLen Maximum sequence length - * @param dataType + * @param dataType * @return output Output variable (NUMERIC type) */ public SDVariable sequenceMask(SDVariable lengths, int maxLen, DataType dataType) { @@ -3563,7 +3610,7 @@ public class SDBaseOps { * @param name name May be null. Name for the output variable * @param lengths Lengths of the sequences (NUMERIC type) * @param maxLen Maximum sequence length - * @param dataType + * @param dataType * @return output Output variable (NUMERIC type) */ public SDVariable sequenceMask(String name, SDVariable lengths, int maxLen, DataType dataType) { @@ -3578,7 +3625,7 @@ public class SDBaseOps { * * @param lengths Lengths of the sequences (NUMERIC type) * @param maxLen Maximum sequence length (INT type) - * @param dataType + * @param dataType * @return output Output variable (NUMERIC type) */ public SDVariable sequenceMask(SDVariable lengths, SDVariable maxLen, DataType dataType) { @@ -3594,11 +3641,11 @@ public class SDBaseOps { * @param name name May be null. Name for the output variable * @param lengths Lengths of the sequences (NUMERIC type) * @param maxLen Maximum sequence length (INT type) - * @param dataType + * @param dataType * @return output Output variable (NUMERIC type) */ public SDVariable sequenceMask(String name, SDVariable lengths, SDVariable maxLen, - DataType dataType) { + DataType dataType) { SDValidation.validateNumerical("sequenceMask", "lengths", lengths); SDValidation.validateInteger("sequenceMask", "maxLen", maxLen); SDVariable out = new org.nd4j.linalg.api.ops.impl.shape.SequenceMask(sd,lengths, maxLen, dataType).outputVariable(); @@ -3609,7 +3656,7 @@ public class SDBaseOps { * see sequenceMask(String, SDVariable, SDVariable, DataType)
        * * @param lengths (NUMERIC type) - * @param dataType + * @param dataType * @return output (NUMERIC type) */ public SDVariable sequenceMask(SDVariable lengths, DataType dataType) { @@ -3622,7 +3669,7 @@ public class SDBaseOps { * * @param name name May be null. Name for the output variable * @param lengths (NUMERIC type) - * @param dataType + * @param dataType * @return output (NUMERIC type) */ public SDVariable sequenceMask(String name, SDVariable lengths, DataType dataType) { @@ -3810,7 +3857,7 @@ public class SDBaseOps { * keepDims = false: [a,c]
        * * @param x (NUMERIC type) - * @param keepDims + * @param keepDims * @param dimensions (Size: AtLeast(min=0)) * @return output (NUMERIC type) */ @@ -3832,7 +3879,7 @@ public class SDBaseOps { * * @param name name May be null. Name for the output variable * @param x (NUMERIC type) - * @param keepDims + * @param keepDims * @param dimensions (Size: AtLeast(min=0)) * @return output (NUMERIC type) */ @@ -3968,7 +4015,7 @@ public class SDBaseOps { * @return output reduced array of rank (input rank - num dimensions) (NUMERIC type) */ public SDVariable standardDeviation(SDVariable x, boolean biasCorrected, boolean keepDims, - int... dimensions) { + int... dimensions) { SDValidation.validateNumerical("standardDeviation", "x", x); Preconditions.checkArgument(dimensions.length >= 0, "dimensions has incorrect size/length. Expected: dimensions.length >= 0, got %s", dimensions.length); return new org.nd4j.linalg.api.ops.impl.summarystats.StandardDeviation(sd,x, biasCorrected, keepDims, dimensions).outputVariable(); @@ -3992,7 +4039,7 @@ public class SDBaseOps { * @return output reduced array of rank (input rank - num dimensions) (NUMERIC type) */ public SDVariable standardDeviation(String name, SDVariable x, boolean biasCorrected, - boolean keepDims, int... dimensions) { + boolean keepDims, int... dimensions) { SDValidation.validateNumerical("standardDeviation", "x", x); Preconditions.checkArgument(dimensions.length >= 0, "dimensions has incorrect size/length. Expected: dimensions.length >= 0, got %s", dimensions.length); SDVariable out = new org.nd4j.linalg.api.ops.impl.summarystats.StandardDeviation(sd,x, biasCorrected, keepDims, dimensions).outputVariable(); @@ -4037,7 +4084,7 @@ public class SDBaseOps { * @return output reduced array of rank (input rank - num dimensions) (NUMERIC type) */ public SDVariable standardDeviation(String name, SDVariable x, boolean biasCorrected, - int... dimensions) { + int... dimensions) { SDValidation.validateNumerical("standardDeviation", "x", x); Preconditions.checkArgument(dimensions.length >= 0, "dimensions has incorrect size/length. Expected: dimensions.length >= 0, got %s", dimensions.length); SDVariable out = new org.nd4j.linalg.api.ops.impl.summarystats.StandardDeviation(sd,x, biasCorrected, false, dimensions).outputVariable(); @@ -4066,7 +4113,7 @@ public class SDBaseOps { * @return output A subset of the input array (NUMERIC type) */ public SDVariable stridedSlice(SDVariable in, long[] begin, long[] end, long[] strides, - int beginMask, int endMask, int ellipsisMask, int newAxisMask, int shrinkAxisMask) { + int beginMask, int endMask, int ellipsisMask, int newAxisMask, int shrinkAxisMask) { SDValidation.validateNumerical("stridedSlice", "in", in); Preconditions.checkArgument(begin.length >= 1, "begin has incorrect size/length. Expected: begin.length >= 1, got %s", begin.length); Preconditions.checkArgument(end.length >= 1, "end has incorrect size/length. Expected: end.length >= 1, got %s", end.length); @@ -4097,8 +4144,8 @@ public class SDBaseOps { * @return output A subset of the input array (NUMERIC type) */ public SDVariable stridedSlice(String name, SDVariable in, long[] begin, long[] end, - long[] strides, int beginMask, int endMask, int ellipsisMask, int newAxisMask, - int shrinkAxisMask) { + long[] strides, int beginMask, int endMask, int ellipsisMask, int newAxisMask, + int shrinkAxisMask) { SDValidation.validateNumerical("stridedSlice", "in", in); Preconditions.checkArgument(begin.length >= 1, "begin has incorrect size/length. Expected: begin.length >= 1, got %s", begin.length); Preconditions.checkArgument(end.length >= 1, "end has incorrect size/length. Expected: end.length >= 1, got %s", end.length); @@ -4149,7 +4196,7 @@ public class SDBaseOps { * @return output A subset of the input array (NUMERIC type) */ public SDVariable stridedSlice(String name, SDVariable in, long[] begin, long[] end, - long... strides) { + long... strides) { SDValidation.validateNumerical("stridedSlice", "in", in); Preconditions.checkArgument(begin.length >= 1, "begin has incorrect size/length. Expected: begin.length >= 1, got %s", begin.length); Preconditions.checkArgument(end.length >= 1, "end has incorrect size/length. Expected: end.length >= 1, got %s", end.length); @@ -4283,7 +4330,7 @@ public class SDBaseOps { * @return output Output variable (NUMERIC type) */ public SDVariable tensorMmul(SDVariable x, SDVariable y, int[] dimensionsX, int[] dimensionsY, - boolean transposeX, boolean transposeY, boolean transposeZ) { + boolean transposeX, boolean transposeY, boolean transposeZ) { SDValidation.validateNumerical("tensorMmul", "x", x); SDValidation.validateNumerical("tensorMmul", "y", y); Preconditions.checkArgument(dimensionsX.length >= 1, "dimensionsX has incorrect size/length. Expected: dimensionsX.length >= 1, got %s", dimensionsX.length); @@ -4305,7 +4352,7 @@ public class SDBaseOps { * @return output Output variable (NUMERIC type) */ public SDVariable tensorMmul(String name, SDVariable x, SDVariable y, int[] dimensionsX, - int[] dimensionsY, boolean transposeX, boolean transposeY, boolean transposeZ) { + int[] dimensionsY, boolean transposeX, boolean transposeY, boolean transposeZ) { SDValidation.validateNumerical("tensorMmul", "x", x); SDValidation.validateNumerical("tensorMmul", "y", y); Preconditions.checkArgument(dimensionsX.length >= 1, "dimensionsX has incorrect size/length. Expected: dimensionsX.length >= 1, got %s", dimensionsX.length); @@ -4342,7 +4389,7 @@ public class SDBaseOps { * @return output Output variable (NUMERIC type) */ public SDVariable tensorMmul(String name, SDVariable x, SDVariable y, int[] dimensionsX, - int... dimensionsY) { + int... dimensionsY) { SDValidation.validateNumerical("tensorMmul", "x", x); SDValidation.validateNumerical("tensorMmul", "y", y); Preconditions.checkArgument(dimensionsX.length >= 1, "dimensionsX has incorrect size/length. Expected: dimensionsX.length >= 1, got %s", dimensionsX.length); @@ -4475,7 +4522,7 @@ public class SDBaseOps { * @return output Unsorted segment output (NUMERIC type) */ public SDVariable unsortedSegmentMax(String name, SDVariable data, SDVariable segmentIds, - int numSegments) { + int numSegments) { SDValidation.validateNumerical("unsortedSegmentMax", "data", data); SDValidation.validateNumerical("unsortedSegmentMax", "segmentIds", segmentIds); SDVariable out = new org.nd4j.linalg.api.ops.impl.transforms.segment.UnsortedSegmentMax(sd,data, segmentIds, numSegments).outputVariable(); @@ -4514,7 +4561,7 @@ public class SDBaseOps { * @return output Unsorted segment output (NUMERIC type) */ public SDVariable unsortedSegmentMean(String name, SDVariable data, SDVariable segmentIds, - int numSegments) { + int numSegments) { SDValidation.validateNumerical("unsortedSegmentMean", "data", data); SDValidation.validateNumerical("unsortedSegmentMean", "segmentIds", segmentIds); SDVariable out = new org.nd4j.linalg.api.ops.impl.transforms.segment.UnsortedSegmentMean(sd,data, segmentIds, numSegments).outputVariable(); @@ -4553,7 +4600,7 @@ public class SDBaseOps { * @return output Unsorted segment output (NUMERIC type) */ public SDVariable unsortedSegmentMin(String name, SDVariable data, SDVariable segmentIds, - int numSegments) { + int numSegments) { SDValidation.validateNumerical("unsortedSegmentMin", "data", data); SDValidation.validateNumerical("unsortedSegmentMin", "segmentIds", segmentIds); SDVariable out = new org.nd4j.linalg.api.ops.impl.transforms.segment.UnsortedSegmentMin(sd,data, segmentIds, numSegments).outputVariable(); @@ -4592,7 +4639,7 @@ public class SDBaseOps { * @return output Unsorted segment output (NUMERIC type) */ public SDVariable unsortedSegmentProd(String name, SDVariable data, SDVariable segmentIds, - int numSegments) { + int numSegments) { SDValidation.validateNumerical("unsortedSegmentProd", "data", data); SDValidation.validateNumerical("unsortedSegmentProd", "segmentIds", segmentIds); SDVariable out = new org.nd4j.linalg.api.ops.impl.transforms.segment.UnsortedSegmentProd(sd,data, segmentIds, numSegments).outputVariable(); @@ -4629,7 +4676,7 @@ public class SDBaseOps { * @return output Unsorted segment output (NUMERIC type) */ public SDVariable unsortedSegmentSqrtN(String name, SDVariable data, SDVariable segmentIds, - int numSegments) { + int numSegments) { SDValidation.validateNumerical("unsortedSegmentSqrtN", "data", data); SDValidation.validateNumerical("unsortedSegmentSqrtN", "segmentIds", segmentIds); SDVariable out = new org.nd4j.linalg.api.ops.impl.transforms.segment.UnsortedSegmentSqrtN(sd,data, segmentIds, numSegments).outputVariable(); @@ -4668,7 +4715,7 @@ public class SDBaseOps { * @return output Unsorted segment output (NUMERIC type) */ public SDVariable unsortedSegmentSum(String name, SDVariable data, SDVariable segmentIds, - int numSegments) { + int numSegments) { SDValidation.validateNumerical("unsortedSegmentSum", "data", data); SDValidation.validateNumerical("unsortedSegmentSum", "segmentIds", segmentIds); SDVariable out = new org.nd4j.linalg.api.ops.impl.transforms.segment.UnsortedSegmentSum(sd,data, segmentIds, numSegments).outputVariable(); @@ -4724,7 +4771,7 @@ public class SDBaseOps { * @return output reduced array of rank (input rank - num dimensions) (NUMERIC type) */ public SDVariable variance(SDVariable x, boolean biasCorrected, boolean keepDims, - int... dimensions) { + int... dimensions) { SDValidation.validateNumerical("variance", "x", x); Preconditions.checkArgument(dimensions.length >= 0, "dimensions has incorrect size/length. Expected: dimensions.length >= 0, got %s", dimensions.length); return new org.nd4j.linalg.api.ops.impl.summarystats.Variance(sd,x, biasCorrected, keepDims, dimensions).outputVariable(); @@ -4748,7 +4795,7 @@ public class SDBaseOps { * @return output reduced array of rank (input rank - num dimensions) (NUMERIC type) */ public SDVariable variance(String name, SDVariable x, boolean biasCorrected, boolean keepDims, - int... dimensions) { + int... dimensions) { SDValidation.validateNumerical("variance", "x", x); Preconditions.checkArgument(dimensions.length >= 0, "dimensions has incorrect size/length. Expected: dimensions.length >= 0, got %s", dimensions.length); SDVariable out = new org.nd4j.linalg.api.ops.impl.summarystats.Variance(sd,x, biasCorrected, keepDims, dimensions).outputVariable(); diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDBitwise.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDBitwise.java index 96d794d09..22a81f8a8 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDBitwise.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDBitwise.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDCNN.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDCNN.java index 29153feed..fa77a1a5b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDCNN.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDCNN.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDImage.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDImage.java index 1b930f5b6..7e134933e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDImage.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDImage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDLinalg.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDLinalg.java index a8bd99515..99b76f2ba 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDLinalg.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDLinalg.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDLoss.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDLoss.java index 7d59cbc7e..9e0df3715 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDLoss.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDLoss.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDMath.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDMath.java index 20c5a58c0..9b0f8f79a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDMath.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDMath.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDNN.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDNN.java index 5aab76314..129482632 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDNN.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDNN.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDOps.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDOps.java index 536f98f89..6402d8637 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDOps.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDOps.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDRNN.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDRNN.java index 161e9adb4..6eaea31dc 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDRNN.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDRNN.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDRandom.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDRandom.java index 0514e65b6..9f3d15399 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDRandom.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDRandom.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDValidation.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDValidation.java index 93999f0fe..606f6beed 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDValidation.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/ops/SDValidation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.samediff.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/serde/FlatBuffersMapper.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/serde/FlatBuffersMapper.java index 6253c700d..c2acb0ff7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/serde/FlatBuffersMapper.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/serde/FlatBuffersMapper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.samediff.serde; @@ -826,6 +828,7 @@ public class FlatBuffersMapper { } else { dims = new int[0]; } + Map fnProps = node.propertiesForFunction(); int[] flatProperties = FlatBuffersMapper.mapFunctionPropertiesToFlatProperties(bufferBuilder, fnProps); int propIdx = FlatNode.createPropertiesVector(bufferBuilder, flatProperties); diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/serde/LegacyOpMapper.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/serde/LegacyOpMapper.java index 52f39982b..1d0e3c5ab 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/serde/LegacyOpMapper.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/serde/LegacyOpMapper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.samediff.serde; @@ -209,7 +211,7 @@ public class LegacyOpMapper { } } - public static Class transformSameOpClass(int opNum){ + public static Class transformSameOpClass(int opNum) { switch (opNum){ case 0: return Abs.class; @@ -225,12 +227,16 @@ public class LegacyOpMapper { return Cube.class; case 7: return OneMinus.class; + case 8: + return org.nd4j.linalg.api.ops.impl.transforms.same.Min.class; case 11: return Reciprocal.class; case 12: return Square.class; case 13: return CompareAndSet.class; + case 15: + return FModOp.class; case 17: return Ceil.class; case 18: diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/transform/GraphTransformUtil.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/transform/GraphTransformUtil.java index fde3988f4..6668c7861 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/transform/GraphTransformUtil.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/transform/GraphTransformUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.samediff.transform; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/transform/OpPredicate.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/transform/OpPredicate.java index 2b91300eb..11a4cf394 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/transform/OpPredicate.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/transform/OpPredicate.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.samediff.transform; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/transform/SubGraph.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/transform/SubGraph.java index 6514ee49e..f561ff2c5 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/transform/SubGraph.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/transform/SubGraph.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.samediff.transform; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/transform/SubGraphPredicate.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/transform/SubGraphPredicate.java index 51be8802b..b8498448a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/transform/SubGraphPredicate.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/transform/SubGraphPredicate.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.samediff.transform; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/transform/SubGraphProcessor.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/transform/SubGraphProcessor.java index 461b7717e..e191eaecf 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/transform/SubGraphProcessor.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/transform/SubGraphProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.samediff.transform; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/util/SameDiffUtils.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/util/SameDiffUtils.java index a351a063b..5d237c17d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/util/SameDiffUtils.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/util/SameDiffUtils.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.autodiff.util; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/ActivationGradientCheckListener.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/ActivationGradientCheckListener.java index 512082e7d..a8048790d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/ActivationGradientCheckListener.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/ActivationGradientCheckListener.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.autodiff.validation; import lombok.Getter; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/GradCheckUtil.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/GradCheckUtil.java index e202d187c..a1ef251d1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/GradCheckUtil.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/GradCheckUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.validation; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/OpTestCase.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/OpTestCase.java index d401c8b66..8abd3dc78 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/OpTestCase.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/OpTestCase.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.validation; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/OpValidation.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/OpValidation.java index 38c7cbf07..d3380c3c1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/OpValidation.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/OpValidation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.validation; @@ -262,7 +264,7 @@ public class OpValidation { List vars = original.variables(); List varsDe = deserialized.variables(); Preconditions.checkState(vars.size() == varsDe.size(), "Number of variables differs: expected %s, got %s", vars.size(), varsDe.size()); - for( int i=0; i opsDeser = deserialized.getOps(); Preconditions.checkState(opsOrig.keySet().equals(opsDeser.keySet()), "Op names differs: %s vs. %s", opsOrig.keySet(), opsDeser.keySet()); - for(String s : opsOrig.keySet()){ + for(String s : opsOrig.keySet()) { SameDiffOp orig = opsOrig.get(s); SameDiffOp des = opsDeser.get(s); Preconditions.checkState(orig.getName().equals(des.getName()), "Names differ: %s vs %s", orig.getName(), des.getName()); @@ -293,7 +295,7 @@ public class OpValidation { Preconditions.checkState((orig.getControlDepFor() == null) == (des.getControlDepFor() == null), "Op control dependencies for list differ: %s vs. %s", orig.getControlDepFor(), des.getControlDepFor()); Preconditions.checkState(orig.getControlDepFor() == null || orig.getControlDepFor().equals(des.getControlDepFor()), "Op variable control dependencies differ: %s vs. %s", orig.getControlDepFor(), des.getControlDepFor()); - Preconditions.checkState(orig.getOp().getClass() == des.getOp().getClass(), "Classes differ: %s v. %s", orig.getOp().getClass(), des.getOp().getClass()); + Preconditions.checkState(orig.getOp().getClass().equals(des.getOp().getClass()), "Classes differ: %s v. %s", orig.getOp().getClass(), des.getOp().getClass()); } //Check placeholders: diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/TestCase.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/TestCase.java index 42b577055..0daf793e2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/TestCase.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/TestCase.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.validation; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/functions/EqualityFn.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/functions/EqualityFn.java index a430d82a0..e806114af 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/functions/EqualityFn.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/functions/EqualityFn.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.validation.functions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/functions/RelErrorFn.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/functions/RelErrorFn.java index 41ad47c74..25fc8035b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/functions/RelErrorFn.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/functions/RelErrorFn.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.validation.functions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/listeners/NonInplaceValidationListener.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/listeners/NonInplaceValidationListener.java index 23d4f974a..bbd5a3bf5 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/listeners/NonInplaceValidationListener.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/validation/listeners/NonInplaceValidationListener.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.autodiff.validation.listeners; import lombok.Getter; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/context/Nd4jContext.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/context/Nd4jContext.java index 2a507fba4..284e01c1f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/context/Nd4jContext.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/context/Nd4jContext.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.context; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/CellAct.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/CellAct.java index f7f458ffd..34cf77411 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/CellAct.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/CellAct.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/DataFormat.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/DataFormat.java index c42795070..8538cc5ad 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/DataFormat.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/DataFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/GateAct.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/GateAct.java index 498f825fd..3eb165214 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/GateAct.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/GateAct.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/ImageResizeMethod.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/ImageResizeMethod.java index 951e87fdc..0dee05f70 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/ImageResizeMethod.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/ImageResizeMethod.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/LSTMDataFormat.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/LSTMDataFormat.java index cd8855b05..e427f2f2b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/LSTMDataFormat.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/LSTMDataFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/LSTMDirectionMode.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/LSTMDirectionMode.java index 4732fc611..972774bfb 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/LSTMDirectionMode.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/LSTMDirectionMode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/OutAct.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/OutAct.java index df034a294..b158b4913 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/OutAct.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/OutAct.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/PadMode.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/PadMode.java index 4802ebdaf..1e91183b6 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/PadMode.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/PadMode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/PartitionMode.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/PartitionMode.java index 565ffd792..8e1e13a83 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/PartitionMode.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/PartitionMode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/RnnDataFormat.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/RnnDataFormat.java index 8b6e2fbd6..f284cc49f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/RnnDataFormat.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/RnnDataFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/WeightsFormat.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/WeightsFormat.java index 865d23282..b2f82d86b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/WeightsFormat.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/enums/WeightsFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/BaseEvaluation.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/BaseEvaluation.java index 190acfa07..5dbe3b7a8 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/BaseEvaluation.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/BaseEvaluation.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.evaluation; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/EvaluationAveraging.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/EvaluationAveraging.java index 7e6f65749..08a8cfcaa 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/EvaluationAveraging.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/EvaluationAveraging.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.evaluation; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/EvaluationUtils.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/EvaluationUtils.java index 765c6d5b8..f21691d8f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/EvaluationUtils.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/EvaluationUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.evaluation; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/IEvaluation.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/IEvaluation.java index edb35a32b..8b187c1d3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/IEvaluation.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/IEvaluation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.evaluation; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/IMetric.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/IMetric.java index dca00d47d..d0dd8512e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/IMetric.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/IMetric.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.evaluation; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/ConfusionMatrix.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/ConfusionMatrix.java index 01fd322e2..f3d061629 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/ConfusionMatrix.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/ConfusionMatrix.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.evaluation.classification; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/Evaluation.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/Evaluation.java index b1df94fee..cd28743e1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/Evaluation.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/Evaluation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.evaluation.classification; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/EvaluationBinary.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/EvaluationBinary.java index 00d2b9154..d42c04c0b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/EvaluationBinary.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/EvaluationBinary.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.evaluation.classification; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/EvaluationCalibration.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/EvaluationCalibration.java index a49fb94eb..430980463 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/EvaluationCalibration.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/EvaluationCalibration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.evaluation.classification; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/ROC.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/ROC.java index 259ea2206..50ddfd549 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/ROC.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/ROC.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.evaluation.classification; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/ROCBinary.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/ROCBinary.java index 73251e072..ebc6494bd 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/ROCBinary.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/ROCBinary.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.evaluation.classification; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/ROCMultiClass.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/ROCMultiClass.java index b173d4ced..18f509c05 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/ROCMultiClass.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/classification/ROCMultiClass.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.evaluation.classification; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/curves/BaseCurve.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/curves/BaseCurve.java index a5087388a..3768c3b97 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/curves/BaseCurve.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/curves/BaseCurve.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.evaluation.curves; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/curves/BaseHistogram.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/curves/BaseHistogram.java index e7ea24557..673194f56 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/curves/BaseHistogram.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/curves/BaseHistogram.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.evaluation.curves; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/curves/Histogram.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/curves/Histogram.java index 07a0a2db3..acf79fe14 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/curves/Histogram.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/curves/Histogram.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.evaluation.curves; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/curves/PrecisionRecallCurve.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/curves/PrecisionRecallCurve.java index 9ca30f843..56e1cb7c2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/curves/PrecisionRecallCurve.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/curves/PrecisionRecallCurve.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.evaluation.curves; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/curves/ReliabilityDiagram.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/curves/ReliabilityDiagram.java index 7a9794f39..805f5549b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/curves/ReliabilityDiagram.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/curves/ReliabilityDiagram.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.evaluation.curves; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/curves/RocCurve.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/curves/RocCurve.java index 3ed813685..5e3ab1f07 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/curves/RocCurve.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/curves/RocCurve.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.evaluation.curves; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/custom/CustomEvaluation.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/custom/CustomEvaluation.java index 3e84b0f15..3d07941b0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/custom/CustomEvaluation.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/custom/CustomEvaluation.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.evaluation.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/custom/EvaluationLambda.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/custom/EvaluationLambda.java index 47eeb3918..356efc3d4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/custom/EvaluationLambda.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/custom/EvaluationLambda.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.evaluation.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/custom/MergeLambda.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/custom/MergeLambda.java index 1a6ced62f..74ff89678 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/custom/MergeLambda.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/custom/MergeLambda.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.evaluation.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/custom/ResultLambda.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/custom/ResultLambda.java index 33e784175..8d57be955 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/custom/ResultLambda.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/custom/ResultLambda.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.evaluation.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/meta/Prediction.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/meta/Prediction.java index f7d19d4ce..b2a496047 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/meta/Prediction.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/meta/Prediction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.evaluation.meta; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/regression/RegressionEvaluation.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/regression/RegressionEvaluation.java index 3444591f1..881956608 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/regression/RegressionEvaluation.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/regression/RegressionEvaluation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.evaluation.regression; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/serde/ConfusionMatrixDeserializer.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/serde/ConfusionMatrixDeserializer.java index 84e9f548c..26057dde6 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/serde/ConfusionMatrixDeserializer.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/serde/ConfusionMatrixDeserializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.evaluation.serde; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/serde/ConfusionMatrixSerializer.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/serde/ConfusionMatrixSerializer.java index a8f5c32e9..940acabab 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/serde/ConfusionMatrixSerializer.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/serde/ConfusionMatrixSerializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.evaluation.serde; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/serde/ROCArraySerializer.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/serde/ROCArraySerializer.java index 6687963b8..e0095940d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/serde/ROCArraySerializer.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/serde/ROCArraySerializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.evaluation.serde; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/serde/ROCSerializer.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/serde/ROCSerializer.java index 331585ad4..ff2b31cac 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/serde/ROCSerializer.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/evaluation/serde/ROCSerializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.evaluation.serde; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/ByteOrder.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/ByteOrder.java index a4466cd3e..e13b1f46f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/ByteOrder.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/ByteOrder.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/DType.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/DType.java index 8a316515a..0f82acd91 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/DType.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/DType.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/Direction.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/Direction.java index 19b4abcb9..20815e152 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/Direction.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/Direction.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/ExecutionMode.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/ExecutionMode.java index a73f95904..62023c627 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/ExecutionMode.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/ExecutionMode.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatArray.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatArray.java index 53ffe28f1..e90e2f589 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatArray.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatArray.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatArrayList.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatArrayList.java index 416fbb6d3..8b5ee15a7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatArrayList.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatArrayList.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatConfiguration.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatConfiguration.java index 46c71eb7f..245a5e1d2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatConfiguration.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatConfiguration.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatDropRequest.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatDropRequest.java index 8ec48d30f..f2efe78d3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatDropRequest.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatDropRequest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatGraph.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatGraph.java index 1f688c0be..f293cd663 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatGraph.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatGraph.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatInferenceRequest.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatInferenceRequest.java index 033aa0ac3..8e3ca6aa1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatInferenceRequest.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatInferenceRequest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatNode.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatNode.java index a0fff91f2..400aaefc1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatNode.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatNode.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatProperties.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatProperties.java index 73a99b78e..41a56aa9b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatProperties.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatProperties.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatResponse.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatResponse.java index 762dbdffa..aa35ac08b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatResponse.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatResponse.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatResult.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatResult.java index 5e189828f..a1918c77e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatResult.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatResult.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatTiming.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatTiming.java index d6c96bf63..33a7dcd67 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatTiming.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatTiming.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatVariable.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatVariable.java index 0c3b38891..20d0094cc 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatVariable.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FlatVariable.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FrameIteration.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FrameIteration.java index 0de971dac..1e4987a0b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FrameIteration.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/FrameIteration.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/InputType.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/InputType.java index e7f24596c..d7de925ce 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/InputType.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/InputType.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/IntPair.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/IntPair.java index 3ce5f6f7e..c919a8264 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/IntPair.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/IntPair.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/IntTriple.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/IntTriple.java index 5cbabf235..74506d247 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/IntTriple.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/IntTriple.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/LongPair.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/LongPair.java index 298192d20..8fed6319f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/LongPair.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/LongPair.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/LongTriple.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/LongTriple.java index 5af926681..afab0ad81 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/LongTriple.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/LongTriple.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/OpClass.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/OpClass.java index 6fb7a5329..ef85a934c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/OpClass.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/OpClass.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/OpType.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/OpType.java index 124afa6ce..f4af32989 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/OpType.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/OpType.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/OutputMode.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/OutputMode.java index 387ee55ac..d65151003 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/OutputMode.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/OutputMode.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/ProfilingMode.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/ProfilingMode.java index 87243a853..5f3951ed7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/ProfilingMode.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/ProfilingMode.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIAddName.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIAddName.java index 49b525e39..3899997be 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIAddName.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIAddName.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIEvent.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIEvent.java index b65959126..8405d373a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIEvent.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIEvent.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIEventSubtype.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIEventSubtype.java index bfc1d0ed5..da1340a85 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIEventSubtype.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIEventSubtype.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.graph; public final class UIEventSubtype { diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIEventType.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIEventType.java index c40071675..690372f96 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIEventType.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIEventType.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIGraphStructure.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIGraphStructure.java index b50c022a0..bcabbd032 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIGraphStructure.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIGraphStructure.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIHardwareState.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIHardwareState.java index 598d4b268..c69b4c1f7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIHardwareState.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIHardwareState.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIHistogram.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIHistogram.java index 2d42082a2..e752d397c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIHistogram.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIHistogram.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIHistogramType.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIHistogramType.java index 176f44124..5cadc78f3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIHistogramType.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIHistogramType.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIInfoType.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIInfoType.java index e4bd259f0..d1a36d880 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIInfoType.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIInfoType.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIOp.java index 83401ad0e..25f618090 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIOp.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIStaticInfoRecord.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIStaticInfoRecord.java index 1fde66998..818878fa3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIStaticInfoRecord.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIStaticInfoRecord.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UISummaryStatistics.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UISummaryStatistics.java index b3b3bee70..195762926 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UISummaryStatistics.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UISummaryStatistics.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UISystemInfo.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UISystemInfo.java index 79fbeaad1..aa261038a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UISystemInfo.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UISystemInfo.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIVariable.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIVariable.java index e1c9ec083..2e2220326 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIVariable.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UIVariable.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UpdaterState.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UpdaterState.java index 66b90bbce..b5084e71a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UpdaterState.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/UpdaterState.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/VarType.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/VarType.java index 96500d233..4f8260bce 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/VarType.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/VarType.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + // automatically generated by the FlatBuffers compiler, do not modify package org.nd4j.graph; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/ui/LogFileWriter.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/ui/LogFileWriter.java index 0a4284e46..405917b4c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/ui/LogFileWriter.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/graph/ui/LogFileWriter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.graph.ui; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/NoOpNameFoundException.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/NoOpNameFoundException.java index 778d22cdf..b02d0d905 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/NoOpNameFoundException.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/NoOpNameFoundException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.imports; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/VariableUtils.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/VariableUtils.java new file mode 100644 index 000000000..c18495230 --- /dev/null +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/VariableUtils.java @@ -0,0 +1,39 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.imports; + +import lombok.val; + +public class VariableUtils { + + /** + * Remove the ":1" etc suffix for a variable name to get the op name + * + * @param varName Variable name + * @return Variable name without any number suffix + */ + public static String stripVarSuffix(String varName) { + if (varName.matches(".*:\\d+")) { + val idx = varName.lastIndexOf(':'); + return varName.substring(0, idx); + } + return varName; + } + + +} diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/converters/DifferentialFunctionClassHolder.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/converters/DifferentialFunctionClassHolder.java index 3e7a75915..847ec662a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/converters/DifferentialFunctionClassHolder.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/converters/DifferentialFunctionClassHolder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.imports.converters; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/converters/ImportClassMapping.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/converters/ImportClassMapping.java index 630b5986d..4c9a3a438 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/converters/ImportClassMapping.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/converters/ImportClassMapping.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.imports.converters; @@ -88,6 +90,7 @@ public class ImportClassMapping { org.nd4j.linalg.api.ops.impl.controlflow.Where.class, org.nd4j.linalg.api.ops.impl.controlflow.WhereNumpy.class, org.nd4j.linalg.api.ops.impl.controlflow.compat.Enter.class, + org.nd4j.linalg.api.ops.impl.controlflow.compat.While.class, org.nd4j.linalg.api.ops.impl.controlflow.compat.Exit.class, org.nd4j.linalg.api.ops.impl.controlflow.compat.LoopCond.class, org.nd4j.linalg.api.ops.impl.controlflow.compat.Merge.class, @@ -100,6 +103,7 @@ public class ImportClassMapping { org.nd4j.linalg.api.ops.impl.image.ImageResize.class, org.nd4j.linalg.api.ops.impl.image.NonMaxSuppression.class, org.nd4j.linalg.api.ops.impl.image.NonMaxSuppressionV3.class, + org.nd4j.linalg.api.ops.impl.image.NonMaxSuppressionWithOverlaps.class, org.nd4j.linalg.api.ops.impl.image.ResizeBilinear.class, org.nd4j.linalg.api.ops.impl.image.ResizeBicubic.class, org.nd4j.linalg.api.ops.impl.image.ResizeNearestNeighbor.class, @@ -300,6 +304,7 @@ public class ImportClassMapping { org.nd4j.linalg.api.ops.impl.shape.DiagPart.class, org.nd4j.linalg.api.ops.impl.shape.ExpandDims.class, org.nd4j.linalg.api.ops.impl.shape.Eye.class, + org.nd4j.linalg.api.ops.impl.shape.Flatten2D.class, org.nd4j.linalg.api.ops.impl.shape.Gather.class, org.nd4j.linalg.api.ops.impl.shape.GatherNd.class, org.nd4j.linalg.api.ops.impl.shape.Linspace.class, diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/onnx/OnnxDescriptor.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/onnx/OnnxDescriptor.java index c787f910f..7b32a5b68 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/onnx/OnnxDescriptor.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/onnx/OnnxDescriptor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.imports.descriptors.onnx; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/onnx/OnnxDescriptorParser.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/onnx/OnnxDescriptorParser.java index 3ce862297..955ea62a1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/onnx/OnnxDescriptorParser.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/onnx/OnnxDescriptorParser.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.imports.descriptors.onnx; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/onnx/OpDescriptor.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/onnx/OpDescriptor.java index 6fb3bcf7e..07d445d4f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/onnx/OpDescriptor.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/onnx/OpDescriptor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.imports.descriptors.onnx; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/onnx/TensorDescriptor.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/onnx/TensorDescriptor.java index 9db75caf2..dea9e3535 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/onnx/TensorDescriptor.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/onnx/TensorDescriptor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.imports.descriptors.onnx; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/AttributeAdapter.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/AttributeAdapter.java index a0785b21a..f836ccf80 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/AttributeAdapter.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/AttributeAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.imports.descriptors.properties; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/PropertyMapping.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/PropertyMapping.java index 5ca4346d0..6bd291bbf 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/PropertyMapping.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/PropertyMapping.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.imports.descriptors.properties; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/BooleanAdapter.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/BooleanAdapter.java index 3b54eb0f4..4f5abd2ce 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/BooleanAdapter.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/BooleanAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.imports.descriptors.properties.adapters; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/ConditionalFieldValueIntIndexArrayAdapter.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/ConditionalFieldValueIntIndexArrayAdapter.java index fa9f1b13c..02a29cebb 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/ConditionalFieldValueIntIndexArrayAdapter.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/ConditionalFieldValueIntIndexArrayAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.imports.descriptors.properties.adapters; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/ConditionalFieldValueNDArrayShapeAdapter.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/ConditionalFieldValueNDArrayShapeAdapter.java index 7d7b6aed7..94c1612d4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/ConditionalFieldValueNDArrayShapeAdapter.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/ConditionalFieldValueNDArrayShapeAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.imports.descriptors.properties.adapters; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/DataTypeAdapter.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/DataTypeAdapter.java index 27042cd47..d00c387e1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/DataTypeAdapter.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/DataTypeAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.imports.descriptors.properties.adapters; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/IntArrayIntIndexAdapter.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/IntArrayIntIndexAdapter.java new file mode 100644 index 000000000..f61774ca1 --- /dev/null +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/IntArrayIntIndexAdapter.java @@ -0,0 +1,37 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.imports.descriptors.properties.adapters; + +import lombok.AllArgsConstructor; +import org.nd4j.autodiff.functions.DifferentialFunction; +import org.nd4j.imports.descriptors.properties.AttributeAdapter; + +import java.lang.reflect.Field; + +@AllArgsConstructor +public class IntArrayIntIndexAdapter implements AttributeAdapter { + private int index; + + + @Override + public void mapAttributeFor(Object inputAttributeValue, Field fieldFor, DifferentialFunction on) { + int[] value = (int[]) inputAttributeValue; + on.setValueFor(fieldFor,value[index]); + } +} diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/IntArrayIntIndexAdpater.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/IntArrayIntIndexAdpater.java deleted file mode 100644 index 74f4c802e..000000000 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/IntArrayIntIndexAdpater.java +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.nd4j.imports.descriptors.properties.adapters; - -import lombok.AllArgsConstructor; -import org.nd4j.autodiff.functions.DifferentialFunction; -import org.nd4j.imports.descriptors.properties.AttributeAdapter; - -import java.lang.reflect.Field; - -@AllArgsConstructor -public class IntArrayIntIndexAdpater implements AttributeAdapter { - private int index; - - - @Override - public void mapAttributeFor(Object inputAttributeValue, Field fieldFor, DifferentialFunction on) { - int[] value = (int[]) inputAttributeValue; - on.setValueFor(fieldFor,value[index]); - } -} diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/NDArrayShapeAdapter.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/NDArrayShapeAdapter.java index 882d466f8..092e2d74f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/NDArrayShapeAdapter.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/NDArrayShapeAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.imports.descriptors.properties.adapters; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/SizeThresholdIntArrayIntIndexAdapter.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/SizeThresholdIntArrayIntIndexAdapter.java new file mode 100644 index 000000000..1daac0a71 --- /dev/null +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/SizeThresholdIntArrayIntIndexAdapter.java @@ -0,0 +1,42 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.imports.descriptors.properties.adapters; + +import lombok.AllArgsConstructor; +import org.nd4j.autodiff.functions.DifferentialFunction; +import org.nd4j.imports.descriptors.properties.AttributeAdapter; + +import java.lang.reflect.Field; + +@AllArgsConstructor +public class SizeThresholdIntArrayIntIndexAdapter implements AttributeAdapter { + private int index; + private int sizeThreshold; + private int fallbackIndex; + + + @Override + public void mapAttributeFor(Object inputAttributeValue, Field fieldFor, DifferentialFunction on) { + int[] value = (int[]) inputAttributeValue; + if(value.length < sizeThreshold) + on.setValueFor(fieldFor,value[fallbackIndex]); + else + on.setValueFor(fieldFor,value[index]); + } +} diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/SizeThresholdIntArrayIntIndexAdpater.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/SizeThresholdIntArrayIntIndexAdpater.java deleted file mode 100644 index c32d20c60..000000000 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/SizeThresholdIntArrayIntIndexAdpater.java +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.nd4j.imports.descriptors.properties.adapters; - -import lombok.AllArgsConstructor; -import org.nd4j.autodiff.functions.DifferentialFunction; -import org.nd4j.imports.descriptors.properties.AttributeAdapter; - -import java.lang.reflect.Field; - -@AllArgsConstructor -public class SizeThresholdIntArrayIntIndexAdpater implements AttributeAdapter { - private int index; - private int sizeThreshold; - private int fallbackIndex; - - - @Override - public void mapAttributeFor(Object inputAttributeValue, Field fieldFor, DifferentialFunction on) { - int[] value = (int[]) inputAttributeValue; - if(value.length < sizeThreshold) - on.setValueFor(fieldFor,value[fallbackIndex]); - else - on.setValueFor(fieldFor,value[index]); - } -} diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/StringEqualsAdapter.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/StringEqualsAdapter.java index 88b811c71..21efb0937 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/StringEqualsAdapter.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/StringEqualsAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.imports.descriptors.properties.adapters; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/StringNotEqualsAdapter.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/StringNotEqualsAdapter.java index 5ec6e8d21..34ee5caa2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/StringNotEqualsAdapter.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/properties/adapters/StringNotEqualsAdapter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.imports.descriptors.properties.adapters; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/tensorflow/TensorflowDescriptorParser.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/tensorflow/TensorflowDescriptorParser.java index 0c9a3e128..5c6e33b1a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/tensorflow/TensorflowDescriptorParser.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/descriptors/tensorflow/TensorflowDescriptorParser.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.imports.descriptors.tensorflow; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/graphmapper/OpImportFilter.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/graphmapper/OpImportFilter.java index 800032eac..677a56478 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/graphmapper/OpImportFilter.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/graphmapper/OpImportFilter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.imports.graphmapper; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/graphmapper/OpImportOverride.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/graphmapper/OpImportOverride.java index e87033fd0..9843f7f72 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/graphmapper/OpImportOverride.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/graphmapper/OpImportOverride.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.imports.graphmapper; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/graphmapper/tf/TFGraphMapper.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/graphmapper/tf/TFGraphMapper.java index 7fc763190..3087512cf 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/graphmapper/tf/TFGraphMapper.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/graphmapper/tf/TFGraphMapper.java @@ -1,24 +1,27 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.imports.graphmapper.tf; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; import lombok.val; +import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.nd4j.autodiff.functions.DifferentialFunction; import org.nd4j.autodiff.samediff.SDVariable; @@ -41,6 +44,7 @@ import org.nd4j.shade.guava.primitives.Ints; import org.nd4j.shade.protobuf.Message; import org.nd4j.shade.protobuf.TextFormat; import org.tensorflow.framework.*; +import org.apache.commons.collections4.set.ListOrderedSet; import java.io.*; import java.nio.charset.StandardCharsets; @@ -165,12 +169,17 @@ public class TFGraphMapper { If we can build the graph incrementally, we can make sure that the added variables are set up with the correct datatype and (once implemented) greedy shape inference */ + + List variablesAdded = new ArrayList<>(); + List opsAdded = new ArrayList<>(); + List opsImported = new ArrayList<>(); + List opsRemoved = new ArrayList<>(); Set availableToAddSet = new HashSet<>(); //TODO maybe unnecessary? Queue availableToAdd = new LinkedList<>(); Map remainingNodes = new HashMap<>(); //All other nodes, not in availableToAdd - Map> nodeInputTo = new HashMap<>(); // For op x -> y, x is key, y is value. Note that these are OP names not VARIABLE names + Map> nodeInputTo = new HashMap<>(); // For op x -> y, x is key, y is value. Note that these are OP names not VARIABLE names int nNodes = tfGraph.getNodeCount(); @@ -193,8 +202,9 @@ public class TFGraphMapper { inOpName = stripVarSuffix(inOpName); if (!nodeInputTo.containsKey(inOpName)) { - nodeInputTo.put(inOpName, new HashSet()); + nodeInputTo.put(inOpName, new ListOrderedSet()); } + nodeInputTo.get(inOpName).add(name); } } @@ -213,7 +223,7 @@ public class TFGraphMapper { availableToAddSet.remove(name); log.trace("Adding operation to graph: {} (name={})", opName, name); - + opsAdded.add(opName + "," + name); boolean skipCase = false; if(opFilter != null && opFilter.skipOp(nd, sd, nd.getAttrMap(), tfGraph)){ log.debug("Skipping op {} of type {} due to op filter", name, opName); @@ -257,7 +267,7 @@ public class TFGraphMapper { } - org.tensorflow.framework.DataType tfDtype = attrMap.get("dtype").getType(); + org.tensorflow.framework.DataType tfDtype = attrMap.get("dtype").getType(); org.nd4j.linalg.api.buffer.DataType dt = convertType(tfDtype); sd.placeHolder(name, dt, shape); } else { @@ -293,7 +303,7 @@ public class TFGraphMapper { String origInName = nd.getInput(i); String inName = stripControl(origInName); - if(inName.endsWith(":0")){ + if(inName.endsWith(":0")) { //Strip ":0" suffix. Some ops can depend on placeholders, like "image_tensor:0" but in SameDiff this is a variable called "image_tensor" inName = inName.substring(0, inName.length()-2); } @@ -391,10 +401,12 @@ public class TFGraphMapper { sd.getVariables().put(varName, outVars[i]); log.trace("Added variable to graph: {} (output of op {})", varName, name); + variablesAdded.add(varName + "," + name); } sd.getOps().get(name).setOutputsOfOp(outNames); log.trace("Imported op: {} (name={})", opName, name); + opsImported.add(opName + "," + name); } } else { //Import override case @@ -483,6 +495,7 @@ public class TFGraphMapper { //Finally, remove the just processed op from remainingNodes map: remainingNodes.remove(name); + opsRemoved.add(name); } //Post process the control dependencies, if any (done after because dependencies may not exist when imported) @@ -510,7 +523,19 @@ public class TFGraphMapper { } Preconditions.checkState(remainingNodes.isEmpty(), "%s Unprocessed nodes: %s", remainingNodes.size(), remainingNodes.keySet()); + try { + FileUtils.writeLines(new File("variables-added-old.txt"),variablesAdded); + FileUtils.writeLines(new File("ops-imported-old.txt"),opsImported); + FileUtils.writeLines(new File("ops-added-old.txt"),opsAdded); + FileUtils.writeLines(new File("ops-removed-old.txt"),opsRemoved); + } catch (IOException e) { + e.printStackTrace(); + } + log.trace("Variables added " + variablesAdded); + log.trace("Ops imported " + opsImported); + log.trace("Ops added" + opsAdded); + log.trace("Ops removed " + opsRemoved); return sd; } @@ -764,7 +789,7 @@ public class TFGraphMapper { } else if (!setList.getBList().isEmpty()) { break; } else if (!setList.getFList().isEmpty()) { - val floats = Floats.toArray(setList.getFList()); + val floats = Floats.toArray((Collection) setList.getFList()); if (adapter != null) { adapter.mapAttributeFor(floats, currentField, on); } else diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/graphmapper/tf/tensors/TFTensorMapper.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/graphmapper/tf/tensors/TFTensorMapper.java index e9d87b947..37e89daac 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/graphmapper/tf/tensors/TFTensorMapper.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/graphmapper/tf/tensors/TFTensorMapper.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.imports.graphmapper.tf.tensors; import org.nd4j.linalg.api.buffer.DataType; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/graphmapper/tf/tensors/TFTensorMappers.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/graphmapper/tf/tensors/TFTensorMappers.java index 11c1e3794..52eaafb0e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/graphmapper/tf/tensors/TFTensorMappers.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/graphmapper/tf/tensors/TFTensorMappers.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.imports.graphmapper.tf.tensors; import org.bytedeco.javacpp.indexer.Bfloat16ArrayIndexer; @@ -150,7 +168,7 @@ public class TFTensorMappers { case VALUE_COUNT: int n = valueCount(); T array = newArray(n); - for( int i=0; iTARG = 0; + */ + TARG(0), + /** + * IARG = 1; + */ + IARG(1), + /** + * BARG = 2; + */ + BARG(2), + /** + * DTYPEARG = 3; + */ + DTYPEARG(3), + /** + * INPUTARG = 4; + */ + INPUTARG(4), + /** + * OUTPUTARG = 5; + */ + OUTPUTARG(5), + /** + * AXISARG = 6; + */ + AXISARG(6), + UNRECOGNIZED(-1), + ; + + /** + * TARG = 0; + */ + public static final int TARG_VALUE = 0; + /** + * IARG = 1; + */ + public static final int IARG_VALUE = 1; + /** + * BARG = 2; + */ + public static final int BARG_VALUE = 2; + /** + * DTYPEARG = 3; + */ + public static final int DTYPEARG_VALUE = 3; + /** + * INPUTARG = 4; + */ + public static final int INPUTARG_VALUE = 4; + /** + * OUTPUTARG = 5; + */ + public static final int OUTPUTARG_VALUE = 5; + /** + * AXISARG = 6; + */ + public static final int AXISARG_VALUE = 6; + + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static OpListType valueOf(int value) { + return forNumber(value); + } + + public static OpListType forNumber(int value) { + switch (value) { + case 0: return TARG; + case 1: return IARG; + case 2: return BARG; + case 3: return DTYPEARG; + case 4: return INPUTARG; + case 5: return OUTPUTARG; + case 6: return AXISARG; + default: return null; + } + } + + public static org.nd4j.shade.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final org.nd4j.shade.protobuf.Internal.EnumLiteMap< + OpListType> internalValueMap = + new org.nd4j.shade.protobuf.Internal.EnumLiteMap() { + public OpListType findValueByNumber(int number) { + return OpListType.forNumber(number); + } + }; + + public final org.nd4j.shade.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + return getDescriptor().getValues().get(ordinal()); + } + public final org.nd4j.shade.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final org.nd4j.shade.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.nd4j.ir.MapperNamespace.getDescriptor().getEnumTypes().get(0); + } + + private static final OpListType[] VALUES = values(); + + public static OpListType valueOf( + org.nd4j.shade.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private OpListType(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:org.nd4j.ir.OpListType) + } + + public interface MappingRuleOrBuilder extends + // @@protoc_insertion_point(interface_extends:org.nd4j.ir.MappingRule) + org.nd4j.shade.protobuf.MessageOrBuilder { + + /** + * string ruleName = 1; + */ + java.lang.String getRuleName(); + /** + * string ruleName = 1; + */ + org.nd4j.shade.protobuf.ByteString + getRuleNameBytes(); + + /** + * string functionName = 2; + */ + java.lang.String getFunctionName(); + /** + * string functionName = 2; + */ + org.nd4j.shade.protobuf.ByteString + getFunctionNameBytes(); + + /** + * repeated string inputStringAttrName = 3; + */ + java.util.List + getInputStringAttrNameList(); + /** + * repeated string inputStringAttrName = 3; + */ + int getInputStringAttrNameCount(); + /** + * repeated string inputStringAttrName = 3; + */ + java.lang.String getInputStringAttrName(int index); + /** + * repeated string inputStringAttrName = 3; + */ + org.nd4j.shade.protobuf.ByteString + getInputStringAttrNameBytes(int index); + + /** + * repeated string outputStringAttrName = 4; + */ + java.util.List + getOutputStringAttrNameList(); + /** + * repeated string outputStringAttrName = 4; + */ + int getOutputStringAttrNameCount(); + /** + * repeated string outputStringAttrName = 4; + */ + java.lang.String getOutputStringAttrName(int index); + /** + * repeated string outputStringAttrName = 4; + */ + org.nd4j.shade.protobuf.ByteString + getOutputStringAttrNameBytes(int index); + + /** + * repeated string inputIntName = 5; + */ + java.util.List + getInputIntNameList(); + /** + * repeated string inputIntName = 5; + */ + int getInputIntNameCount(); + /** + * repeated string inputIntName = 5; + */ + java.lang.String getInputIntName(int index); + /** + * repeated string inputIntName = 5; + */ + org.nd4j.shade.protobuf.ByteString + getInputIntNameBytes(int index); + + /** + * repeated string outputIntName = 6; + */ + java.util.List + getOutputIntNameList(); + /** + * repeated string outputIntName = 6; + */ + int getOutputIntNameCount(); + /** + * repeated string outputIntName = 6; + */ + java.lang.String getOutputIntName(int index); + /** + * repeated string outputIntName = 6; + */ + org.nd4j.shade.protobuf.ByteString + getOutputIntNameBytes(int index); + + /** + * repeated string inputFloatName = 7; + */ + java.util.List + getInputFloatNameList(); + /** + * repeated string inputFloatName = 7; + */ + int getInputFloatNameCount(); + /** + * repeated string inputFloatName = 7; + */ + java.lang.String getInputFloatName(int index); + /** + * repeated string inputFloatName = 7; + */ + org.nd4j.shade.protobuf.ByteString + getInputFloatNameBytes(int index); + + /** + * repeated string outputFloatName = 8; + */ + java.util.List + getOutputFloatNameList(); + /** + * repeated string outputFloatName = 8; + */ + int getOutputFloatNameCount(); + /** + * repeated string outputFloatName = 8; + */ + java.lang.String getOutputFloatName(int index); + /** + * repeated string outputFloatName = 8; + */ + org.nd4j.shade.protobuf.ByteString + getOutputFloatNameBytes(int index); + + /** + * repeated string inputDoubleName = 9; + */ + java.util.List + getInputDoubleNameList(); + /** + * repeated string inputDoubleName = 9; + */ + int getInputDoubleNameCount(); + /** + * repeated string inputDoubleName = 9; + */ + java.lang.String getInputDoubleName(int index); + /** + * repeated string inputDoubleName = 9; + */ + org.nd4j.shade.protobuf.ByteString + getInputDoubleNameBytes(int index); + + /** + * repeated string outputDoubleName = 10; + */ + java.util.List + getOutputDoubleNameList(); + /** + * repeated string outputDoubleName = 10; + */ + int getOutputDoubleNameCount(); + /** + * repeated string outputDoubleName = 10; + */ + java.lang.String getOutputDoubleName(int index); + /** + * repeated string outputDoubleName = 10; + */ + org.nd4j.shade.protobuf.ByteString + getOutputDoubleNameBytes(int index); + + /** + * repeated string inputBooleanName = 11; + */ + java.util.List + getInputBooleanNameList(); + /** + * repeated string inputBooleanName = 11; + */ + int getInputBooleanNameCount(); + /** + * repeated string inputBooleanName = 11; + */ + java.lang.String getInputBooleanName(int index); + /** + * repeated string inputBooleanName = 11; + */ + org.nd4j.shade.protobuf.ByteString + getInputBooleanNameBytes(int index); + + /** + * repeated string outputBooleanName = 12; + */ + java.util.List + getOutputBooleanNameList(); + /** + * repeated string outputBooleanName = 12; + */ + int getOutputBooleanNameCount(); + /** + * repeated string outputBooleanName = 12; + */ + java.lang.String getOutputBooleanName(int index); + /** + * repeated string outputBooleanName = 12; + */ + org.nd4j.shade.protobuf.ByteString + getOutputBooleanNameBytes(int index); + + /** + * repeated string inputTensorName = 13; + */ + java.util.List + getInputTensorNameList(); + /** + * repeated string inputTensorName = 13; + */ + int getInputTensorNameCount(); + /** + * repeated string inputTensorName = 13; + */ + java.lang.String getInputTensorName(int index); + /** + * repeated string inputTensorName = 13; + */ + org.nd4j.shade.protobuf.ByteString + getInputTensorNameBytes(int index); + + /** + * repeated string outputTensorName = 14; + */ + java.util.List + getOutputTensorNameList(); + /** + * repeated string outputTensorName = 14; + */ + int getOutputTensorNameCount(); + /** + * repeated string outputTensorName = 14; + */ + java.lang.String getOutputTensorName(int index); + /** + * repeated string outputTensorName = 14; + */ + org.nd4j.shade.protobuf.ByteString + getOutputTensorNameBytes(int index); + + /** + * repeated string inputDataTypeName = 15; + */ + java.util.List + getInputDataTypeNameList(); + /** + * repeated string inputDataTypeName = 15; + */ + int getInputDataTypeNameCount(); + /** + * repeated string inputDataTypeName = 15; + */ + java.lang.String getInputDataTypeName(int index); + /** + * repeated string inputDataTypeName = 15; + */ + org.nd4j.shade.protobuf.ByteString + getInputDataTypeNameBytes(int index); + + /** + * repeated string outputDataTypeName = 16; + */ + java.util.List + getOutputDataTypeNameList(); + /** + * repeated string outputDataTypeName = 16; + */ + int getOutputDataTypeNameCount(); + /** + * repeated string outputDataTypeName = 16; + */ + java.lang.String getOutputDataTypeName(int index); + /** + * repeated string outputDataTypeName = 16; + */ + org.nd4j.shade.protobuf.ByteString + getOutputDataTypeNameBytes(int index); + + /** + * map<string, string> inputToOutput = 17; + */ + int getInputToOutputCount(); + /** + * map<string, string> inputToOutput = 17; + */ + boolean containsInputToOutput( + java.lang.String key); + /** + * Use {@link #getInputToOutputMap()} instead. + */ + @java.lang.Deprecated + java.util.Map + getInputToOutput(); + /** + * map<string, string> inputToOutput = 17; + */ + java.util.Map + getInputToOutputMap(); + /** + * map<string, string> inputToOutput = 17; + */ + + java.lang.String getInputToOutputOrDefault( + java.lang.String key, + java.lang.String defaultValue); + /** + * map<string, string> inputToOutput = 17; + */ + + java.lang.String getInputToOutputOrThrow( + java.lang.String key); + + /** + * string ruleType = 18; + */ + java.lang.String getRuleType(); + /** + * string ruleType = 18; + */ + org.nd4j.shade.protobuf.ByteString + getRuleTypeBytes(); + + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + java.util.List + getTransformerArgsList(); + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + org.nd4j.ir.MapperNamespace.TransformerArgs getTransformerArgs(int index); + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + int getTransformerArgsCount(); + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + java.util.List + getTransformerArgsOrBuilderList(); + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + org.nd4j.ir.MapperNamespace.TransformerArgsOrBuilder getTransformerArgsOrBuilder( + int index); + + /** + * string inputFrameworkOpName = 20; + */ + java.lang.String getInputFrameworkOpName(); + /** + * string inputFrameworkOpName = 20; + */ + org.nd4j.shade.protobuf.ByteString + getInputFrameworkOpNameBytes(); + } + /** + * Protobuf type {@code org.nd4j.ir.MappingRule} + */ + public static final class MappingRule extends + org.nd4j.shade.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:org.nd4j.ir.MappingRule) + MappingRuleOrBuilder { + private static final long serialVersionUID = 0L; + // Use MappingRule.newBuilder() to construct. + private MappingRule(org.nd4j.shade.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private MappingRule() { + ruleName_ = ""; + functionName_ = ""; + inputStringAttrName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + outputStringAttrName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + inputIntName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + outputIntName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + inputFloatName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + outputFloatName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + inputDoubleName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + outputDoubleName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + inputBooleanName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + outputBooleanName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + inputTensorName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + outputTensorName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + inputDataTypeName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + outputDataTypeName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + ruleType_ = ""; + transformerArgs_ = java.util.Collections.emptyList(); + inputFrameworkOpName_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new MappingRule(); + } + + @java.lang.Override + public final org.nd4j.shade.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private MappingRule( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + org.nd4j.shade.protobuf.UnknownFieldSet.Builder unknownFields = + org.nd4j.shade.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + ruleName_ = s; + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + functionName_ = s; + break; + } + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + inputStringAttrName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000001; + } + inputStringAttrName_.add(s); + break; + } + case 34: { + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00000002) != 0)) { + outputStringAttrName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000002; + } + outputStringAttrName_.add(s); + break; + } + case 42: { + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00000004) != 0)) { + inputIntName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000004; + } + inputIntName_.add(s); + break; + } + case 50: { + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00000008) != 0)) { + outputIntName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000008; + } + outputIntName_.add(s); + break; + } + case 58: { + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00000010) != 0)) { + inputFloatName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000010; + } + inputFloatName_.add(s); + break; + } + case 66: { + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00000020) != 0)) { + outputFloatName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000020; + } + outputFloatName_.add(s); + break; + } + case 74: { + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00000040) != 0)) { + inputDoubleName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000040; + } + inputDoubleName_.add(s); + break; + } + case 82: { + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00000080) != 0)) { + outputDoubleName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000080; + } + outputDoubleName_.add(s); + break; + } + case 90: { + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00000100) != 0)) { + inputBooleanName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000100; + } + inputBooleanName_.add(s); + break; + } + case 98: { + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00000200) != 0)) { + outputBooleanName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000200; + } + outputBooleanName_.add(s); + break; + } + case 106: { + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00000400) != 0)) { + inputTensorName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000400; + } + inputTensorName_.add(s); + break; + } + case 114: { + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00000800) != 0)) { + outputTensorName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000800; + } + outputTensorName_.add(s); + break; + } + case 122: { + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00001000) != 0)) { + inputDataTypeName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00001000; + } + inputDataTypeName_.add(s); + break; + } + case 130: { + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00002000) != 0)) { + outputDataTypeName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00002000; + } + outputDataTypeName_.add(s); + break; + } + case 138: { + if (!((mutable_bitField0_ & 0x00004000) != 0)) { + inputToOutput_ = org.nd4j.shade.protobuf.MapField.newMapField( + InputToOutputDefaultEntryHolder.defaultEntry); + mutable_bitField0_ |= 0x00004000; + } + org.nd4j.shade.protobuf.MapEntry + inputToOutput__ = input.readMessage( + InputToOutputDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); + inputToOutput_.getMutableMap().put( + inputToOutput__.getKey(), inputToOutput__.getValue()); + break; + } + case 146: { + java.lang.String s = input.readStringRequireUtf8(); + + ruleType_ = s; + break; + } + case 154: { + if (!((mutable_bitField0_ & 0x00008000) != 0)) { + transformerArgs_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00008000; + } + transformerArgs_.add( + input.readMessage(org.nd4j.ir.MapperNamespace.TransformerArgs.parser(), extensionRegistry)); + break; + } + case 162: { + java.lang.String s = input.readStringRequireUtf8(); + + inputFrameworkOpName_ = s; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new org.nd4j.shade.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + inputStringAttrName_ = inputStringAttrName_.getUnmodifiableView(); + } + if (((mutable_bitField0_ & 0x00000002) != 0)) { + outputStringAttrName_ = outputStringAttrName_.getUnmodifiableView(); + } + if (((mutable_bitField0_ & 0x00000004) != 0)) { + inputIntName_ = inputIntName_.getUnmodifiableView(); + } + if (((mutable_bitField0_ & 0x00000008) != 0)) { + outputIntName_ = outputIntName_.getUnmodifiableView(); + } + if (((mutable_bitField0_ & 0x00000010) != 0)) { + inputFloatName_ = inputFloatName_.getUnmodifiableView(); + } + if (((mutable_bitField0_ & 0x00000020) != 0)) { + outputFloatName_ = outputFloatName_.getUnmodifiableView(); + } + if (((mutable_bitField0_ & 0x00000040) != 0)) { + inputDoubleName_ = inputDoubleName_.getUnmodifiableView(); + } + if (((mutable_bitField0_ & 0x00000080) != 0)) { + outputDoubleName_ = outputDoubleName_.getUnmodifiableView(); + } + if (((mutable_bitField0_ & 0x00000100) != 0)) { + inputBooleanName_ = inputBooleanName_.getUnmodifiableView(); + } + if (((mutable_bitField0_ & 0x00000200) != 0)) { + outputBooleanName_ = outputBooleanName_.getUnmodifiableView(); + } + if (((mutable_bitField0_ & 0x00000400) != 0)) { + inputTensorName_ = inputTensorName_.getUnmodifiableView(); + } + if (((mutable_bitField0_ & 0x00000800) != 0)) { + outputTensorName_ = outputTensorName_.getUnmodifiableView(); + } + if (((mutable_bitField0_ & 0x00001000) != 0)) { + inputDataTypeName_ = inputDataTypeName_.getUnmodifiableView(); + } + if (((mutable_bitField0_ & 0x00002000) != 0)) { + outputDataTypeName_ = outputDataTypeName_.getUnmodifiableView(); + } + if (((mutable_bitField0_ & 0x00008000) != 0)) { + transformerArgs_ = java.util.Collections.unmodifiableList(transformerArgs_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.MapperNamespace.internal_static_org_nd4j_ir_MappingRule_descriptor; + } + + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected org.nd4j.shade.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 17: + return internalGetInputToOutput(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.MapperNamespace.internal_static_org_nd4j_ir_MappingRule_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.MapperNamespace.MappingRule.class, org.nd4j.ir.MapperNamespace.MappingRule.Builder.class); + } + + public static final int RULENAME_FIELD_NUMBER = 1; + private volatile java.lang.Object ruleName_; + /** + * string ruleName = 1; + */ + public java.lang.String getRuleName() { + java.lang.Object ref = ruleName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + ruleName_ = s; + return s; + } + } + /** + * string ruleName = 1; + */ + public org.nd4j.shade.protobuf.ByteString + getRuleNameBytes() { + java.lang.Object ref = ruleName_; + if (ref instanceof java.lang.String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + ruleName_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + + public static final int FUNCTIONNAME_FIELD_NUMBER = 2; + private volatile java.lang.Object functionName_; + /** + * string functionName = 2; + */ + public java.lang.String getFunctionName() { + java.lang.Object ref = functionName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + functionName_ = s; + return s; + } + } + /** + * string functionName = 2; + */ + public org.nd4j.shade.protobuf.ByteString + getFunctionNameBytes() { + java.lang.Object ref = functionName_; + if (ref instanceof java.lang.String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + functionName_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + + public static final int INPUTSTRINGATTRNAME_FIELD_NUMBER = 3; + private org.nd4j.shade.protobuf.LazyStringList inputStringAttrName_; + /** + * repeated string inputStringAttrName = 3; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getInputStringAttrNameList() { + return inputStringAttrName_; + } + /** + * repeated string inputStringAttrName = 3; + */ + public int getInputStringAttrNameCount() { + return inputStringAttrName_.size(); + } + /** + * repeated string inputStringAttrName = 3; + */ + public java.lang.String getInputStringAttrName(int index) { + return inputStringAttrName_.get(index); + } + /** + * repeated string inputStringAttrName = 3; + */ + public org.nd4j.shade.protobuf.ByteString + getInputStringAttrNameBytes(int index) { + return inputStringAttrName_.getByteString(index); + } + + public static final int OUTPUTSTRINGATTRNAME_FIELD_NUMBER = 4; + private org.nd4j.shade.protobuf.LazyStringList outputStringAttrName_; + /** + * repeated string outputStringAttrName = 4; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getOutputStringAttrNameList() { + return outputStringAttrName_; + } + /** + * repeated string outputStringAttrName = 4; + */ + public int getOutputStringAttrNameCount() { + return outputStringAttrName_.size(); + } + /** + * repeated string outputStringAttrName = 4; + */ + public java.lang.String getOutputStringAttrName(int index) { + return outputStringAttrName_.get(index); + } + /** + * repeated string outputStringAttrName = 4; + */ + public org.nd4j.shade.protobuf.ByteString + getOutputStringAttrNameBytes(int index) { + return outputStringAttrName_.getByteString(index); + } + + public static final int INPUTINTNAME_FIELD_NUMBER = 5; + private org.nd4j.shade.protobuf.LazyStringList inputIntName_; + /** + * repeated string inputIntName = 5; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getInputIntNameList() { + return inputIntName_; + } + /** + * repeated string inputIntName = 5; + */ + public int getInputIntNameCount() { + return inputIntName_.size(); + } + /** + * repeated string inputIntName = 5; + */ + public java.lang.String getInputIntName(int index) { + return inputIntName_.get(index); + } + /** + * repeated string inputIntName = 5; + */ + public org.nd4j.shade.protobuf.ByteString + getInputIntNameBytes(int index) { + return inputIntName_.getByteString(index); + } + + public static final int OUTPUTINTNAME_FIELD_NUMBER = 6; + private org.nd4j.shade.protobuf.LazyStringList outputIntName_; + /** + * repeated string outputIntName = 6; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getOutputIntNameList() { + return outputIntName_; + } + /** + * repeated string outputIntName = 6; + */ + public int getOutputIntNameCount() { + return outputIntName_.size(); + } + /** + * repeated string outputIntName = 6; + */ + public java.lang.String getOutputIntName(int index) { + return outputIntName_.get(index); + } + /** + * repeated string outputIntName = 6; + */ + public org.nd4j.shade.protobuf.ByteString + getOutputIntNameBytes(int index) { + return outputIntName_.getByteString(index); + } + + public static final int INPUTFLOATNAME_FIELD_NUMBER = 7; + private org.nd4j.shade.protobuf.LazyStringList inputFloatName_; + /** + * repeated string inputFloatName = 7; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getInputFloatNameList() { + return inputFloatName_; + } + /** + * repeated string inputFloatName = 7; + */ + public int getInputFloatNameCount() { + return inputFloatName_.size(); + } + /** + * repeated string inputFloatName = 7; + */ + public java.lang.String getInputFloatName(int index) { + return inputFloatName_.get(index); + } + /** + * repeated string inputFloatName = 7; + */ + public org.nd4j.shade.protobuf.ByteString + getInputFloatNameBytes(int index) { + return inputFloatName_.getByteString(index); + } + + public static final int OUTPUTFLOATNAME_FIELD_NUMBER = 8; + private org.nd4j.shade.protobuf.LazyStringList outputFloatName_; + /** + * repeated string outputFloatName = 8; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getOutputFloatNameList() { + return outputFloatName_; + } + /** + * repeated string outputFloatName = 8; + */ + public int getOutputFloatNameCount() { + return outputFloatName_.size(); + } + /** + * repeated string outputFloatName = 8; + */ + public java.lang.String getOutputFloatName(int index) { + return outputFloatName_.get(index); + } + /** + * repeated string outputFloatName = 8; + */ + public org.nd4j.shade.protobuf.ByteString + getOutputFloatNameBytes(int index) { + return outputFloatName_.getByteString(index); + } + + public static final int INPUTDOUBLENAME_FIELD_NUMBER = 9; + private org.nd4j.shade.protobuf.LazyStringList inputDoubleName_; + /** + * repeated string inputDoubleName = 9; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getInputDoubleNameList() { + return inputDoubleName_; + } + /** + * repeated string inputDoubleName = 9; + */ + public int getInputDoubleNameCount() { + return inputDoubleName_.size(); + } + /** + * repeated string inputDoubleName = 9; + */ + public java.lang.String getInputDoubleName(int index) { + return inputDoubleName_.get(index); + } + /** + * repeated string inputDoubleName = 9; + */ + public org.nd4j.shade.protobuf.ByteString + getInputDoubleNameBytes(int index) { + return inputDoubleName_.getByteString(index); + } + + public static final int OUTPUTDOUBLENAME_FIELD_NUMBER = 10; + private org.nd4j.shade.protobuf.LazyStringList outputDoubleName_; + /** + * repeated string outputDoubleName = 10; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getOutputDoubleNameList() { + return outputDoubleName_; + } + /** + * repeated string outputDoubleName = 10; + */ + public int getOutputDoubleNameCount() { + return outputDoubleName_.size(); + } + /** + * repeated string outputDoubleName = 10; + */ + public java.lang.String getOutputDoubleName(int index) { + return outputDoubleName_.get(index); + } + /** + * repeated string outputDoubleName = 10; + */ + public org.nd4j.shade.protobuf.ByteString + getOutputDoubleNameBytes(int index) { + return outputDoubleName_.getByteString(index); + } + + public static final int INPUTBOOLEANNAME_FIELD_NUMBER = 11; + private org.nd4j.shade.protobuf.LazyStringList inputBooleanName_; + /** + * repeated string inputBooleanName = 11; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getInputBooleanNameList() { + return inputBooleanName_; + } + /** + * repeated string inputBooleanName = 11; + */ + public int getInputBooleanNameCount() { + return inputBooleanName_.size(); + } + /** + * repeated string inputBooleanName = 11; + */ + public java.lang.String getInputBooleanName(int index) { + return inputBooleanName_.get(index); + } + /** + * repeated string inputBooleanName = 11; + */ + public org.nd4j.shade.protobuf.ByteString + getInputBooleanNameBytes(int index) { + return inputBooleanName_.getByteString(index); + } + + public static final int OUTPUTBOOLEANNAME_FIELD_NUMBER = 12; + private org.nd4j.shade.protobuf.LazyStringList outputBooleanName_; + /** + * repeated string outputBooleanName = 12; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getOutputBooleanNameList() { + return outputBooleanName_; + } + /** + * repeated string outputBooleanName = 12; + */ + public int getOutputBooleanNameCount() { + return outputBooleanName_.size(); + } + /** + * repeated string outputBooleanName = 12; + */ + public java.lang.String getOutputBooleanName(int index) { + return outputBooleanName_.get(index); + } + /** + * repeated string outputBooleanName = 12; + */ + public org.nd4j.shade.protobuf.ByteString + getOutputBooleanNameBytes(int index) { + return outputBooleanName_.getByteString(index); + } + + public static final int INPUTTENSORNAME_FIELD_NUMBER = 13; + private org.nd4j.shade.protobuf.LazyStringList inputTensorName_; + /** + * repeated string inputTensorName = 13; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getInputTensorNameList() { + return inputTensorName_; + } + /** + * repeated string inputTensorName = 13; + */ + public int getInputTensorNameCount() { + return inputTensorName_.size(); + } + /** + * repeated string inputTensorName = 13; + */ + public java.lang.String getInputTensorName(int index) { + return inputTensorName_.get(index); + } + /** + * repeated string inputTensorName = 13; + */ + public org.nd4j.shade.protobuf.ByteString + getInputTensorNameBytes(int index) { + return inputTensorName_.getByteString(index); + } + + public static final int OUTPUTTENSORNAME_FIELD_NUMBER = 14; + private org.nd4j.shade.protobuf.LazyStringList outputTensorName_; + /** + * repeated string outputTensorName = 14; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getOutputTensorNameList() { + return outputTensorName_; + } + /** + * repeated string outputTensorName = 14; + */ + public int getOutputTensorNameCount() { + return outputTensorName_.size(); + } + /** + * repeated string outputTensorName = 14; + */ + public java.lang.String getOutputTensorName(int index) { + return outputTensorName_.get(index); + } + /** + * repeated string outputTensorName = 14; + */ + public org.nd4j.shade.protobuf.ByteString + getOutputTensorNameBytes(int index) { + return outputTensorName_.getByteString(index); + } + + public static final int INPUTDATATYPENAME_FIELD_NUMBER = 15; + private org.nd4j.shade.protobuf.LazyStringList inputDataTypeName_; + /** + * repeated string inputDataTypeName = 15; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getInputDataTypeNameList() { + return inputDataTypeName_; + } + /** + * repeated string inputDataTypeName = 15; + */ + public int getInputDataTypeNameCount() { + return inputDataTypeName_.size(); + } + /** + * repeated string inputDataTypeName = 15; + */ + public java.lang.String getInputDataTypeName(int index) { + return inputDataTypeName_.get(index); + } + /** + * repeated string inputDataTypeName = 15; + */ + public org.nd4j.shade.protobuf.ByteString + getInputDataTypeNameBytes(int index) { + return inputDataTypeName_.getByteString(index); + } + + public static final int OUTPUTDATATYPENAME_FIELD_NUMBER = 16; + private org.nd4j.shade.protobuf.LazyStringList outputDataTypeName_; + /** + * repeated string outputDataTypeName = 16; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getOutputDataTypeNameList() { + return outputDataTypeName_; + } + /** + * repeated string outputDataTypeName = 16; + */ + public int getOutputDataTypeNameCount() { + return outputDataTypeName_.size(); + } + /** + * repeated string outputDataTypeName = 16; + */ + public java.lang.String getOutputDataTypeName(int index) { + return outputDataTypeName_.get(index); + } + /** + * repeated string outputDataTypeName = 16; + */ + public org.nd4j.shade.protobuf.ByteString + getOutputDataTypeNameBytes(int index) { + return outputDataTypeName_.getByteString(index); + } + + public static final int INPUTTOOUTPUT_FIELD_NUMBER = 17; + private static final class InputToOutputDefaultEntryHolder { + static final org.nd4j.shade.protobuf.MapEntry< + java.lang.String, java.lang.String> defaultEntry = + org.nd4j.shade.protobuf.MapEntry + .newDefaultInstance( + org.nd4j.ir.MapperNamespace.internal_static_org_nd4j_ir_MappingRule_InputToOutputEntry_descriptor, + org.nd4j.shade.protobuf.WireFormat.FieldType.STRING, + "", + org.nd4j.shade.protobuf.WireFormat.FieldType.STRING, + ""); + } + private org.nd4j.shade.protobuf.MapField< + java.lang.String, java.lang.String> inputToOutput_; + private org.nd4j.shade.protobuf.MapField + internalGetInputToOutput() { + if (inputToOutput_ == null) { + return org.nd4j.shade.protobuf.MapField.emptyMapField( + InputToOutputDefaultEntryHolder.defaultEntry); + } + return inputToOutput_; + } + + public int getInputToOutputCount() { + return internalGetInputToOutput().getMap().size(); + } + /** + * map<string, string> inputToOutput = 17; + */ + + public boolean containsInputToOutput( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + return internalGetInputToOutput().getMap().containsKey(key); + } + /** + * Use {@link #getInputToOutputMap()} instead. + */ + @java.lang.Deprecated + public java.util.Map getInputToOutput() { + return getInputToOutputMap(); + } + /** + * map<string, string> inputToOutput = 17; + */ + + public java.util.Map getInputToOutputMap() { + return internalGetInputToOutput().getMap(); + } + /** + * map<string, string> inputToOutput = 17; + */ + + public java.lang.String getInputToOutputOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetInputToOutput().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + * map<string, string> inputToOutput = 17; + */ + + public java.lang.String getInputToOutputOrThrow( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetInputToOutput().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + public static final int RULETYPE_FIELD_NUMBER = 18; + private volatile java.lang.Object ruleType_; + /** + * string ruleType = 18; + */ + public java.lang.String getRuleType() { + java.lang.Object ref = ruleType_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + ruleType_ = s; + return s; + } + } + /** + * string ruleType = 18; + */ + public org.nd4j.shade.protobuf.ByteString + getRuleTypeBytes() { + java.lang.Object ref = ruleType_; + if (ref instanceof java.lang.String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + ruleType_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + + public static final int TRANSFORMERARGS_FIELD_NUMBER = 19; + private java.util.List transformerArgs_; + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + public java.util.List getTransformerArgsList() { + return transformerArgs_; + } + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + public java.util.List + getTransformerArgsOrBuilderList() { + return transformerArgs_; + } + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + public int getTransformerArgsCount() { + return transformerArgs_.size(); + } + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + public org.nd4j.ir.MapperNamespace.TransformerArgs getTransformerArgs(int index) { + return transformerArgs_.get(index); + } + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + public org.nd4j.ir.MapperNamespace.TransformerArgsOrBuilder getTransformerArgsOrBuilder( + int index) { + return transformerArgs_.get(index); + } + + public static final int INPUTFRAMEWORKOPNAME_FIELD_NUMBER = 20; + private volatile java.lang.Object inputFrameworkOpName_; + /** + * string inputFrameworkOpName = 20; + */ + public java.lang.String getInputFrameworkOpName() { + java.lang.Object ref = inputFrameworkOpName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + inputFrameworkOpName_ = s; + return s; + } + } + /** + * string inputFrameworkOpName = 20; + */ + public org.nd4j.shade.protobuf.ByteString + getInputFrameworkOpNameBytes() { + java.lang.Object ref = inputFrameworkOpName_; + if (ref instanceof java.lang.String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + inputFrameworkOpName_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(org.nd4j.shade.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!getRuleNameBytes().isEmpty()) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 1, ruleName_); + } + if (!getFunctionNameBytes().isEmpty()) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 2, functionName_); + } + for (int i = 0; i < inputStringAttrName_.size(); i++) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 3, inputStringAttrName_.getRaw(i)); + } + for (int i = 0; i < outputStringAttrName_.size(); i++) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 4, outputStringAttrName_.getRaw(i)); + } + for (int i = 0; i < inputIntName_.size(); i++) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 5, inputIntName_.getRaw(i)); + } + for (int i = 0; i < outputIntName_.size(); i++) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 6, outputIntName_.getRaw(i)); + } + for (int i = 0; i < inputFloatName_.size(); i++) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 7, inputFloatName_.getRaw(i)); + } + for (int i = 0; i < outputFloatName_.size(); i++) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 8, outputFloatName_.getRaw(i)); + } + for (int i = 0; i < inputDoubleName_.size(); i++) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 9, inputDoubleName_.getRaw(i)); + } + for (int i = 0; i < outputDoubleName_.size(); i++) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 10, outputDoubleName_.getRaw(i)); + } + for (int i = 0; i < inputBooleanName_.size(); i++) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 11, inputBooleanName_.getRaw(i)); + } + for (int i = 0; i < outputBooleanName_.size(); i++) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 12, outputBooleanName_.getRaw(i)); + } + for (int i = 0; i < inputTensorName_.size(); i++) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 13, inputTensorName_.getRaw(i)); + } + for (int i = 0; i < outputTensorName_.size(); i++) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 14, outputTensorName_.getRaw(i)); + } + for (int i = 0; i < inputDataTypeName_.size(); i++) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 15, inputDataTypeName_.getRaw(i)); + } + for (int i = 0; i < outputDataTypeName_.size(); i++) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 16, outputDataTypeName_.getRaw(i)); + } + org.nd4j.shade.protobuf.GeneratedMessageV3 + .serializeStringMapTo( + output, + internalGetInputToOutput(), + InputToOutputDefaultEntryHolder.defaultEntry, + 17); + if (!getRuleTypeBytes().isEmpty()) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 18, ruleType_); + } + for (int i = 0; i < transformerArgs_.size(); i++) { + output.writeMessage(19, transformerArgs_.get(i)); + } + if (!getInputFrameworkOpNameBytes().isEmpty()) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 20, inputFrameworkOpName_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getRuleNameBytes().isEmpty()) { + size += org.nd4j.shade.protobuf.GeneratedMessageV3.computeStringSize(1, ruleName_); + } + if (!getFunctionNameBytes().isEmpty()) { + size += org.nd4j.shade.protobuf.GeneratedMessageV3.computeStringSize(2, functionName_); + } + { + int dataSize = 0; + for (int i = 0; i < inputStringAttrName_.size(); i++) { + dataSize += computeStringSizeNoTag(inputStringAttrName_.getRaw(i)); + } + size += dataSize; + size += 1 * getInputStringAttrNameList().size(); + } + { + int dataSize = 0; + for (int i = 0; i < outputStringAttrName_.size(); i++) { + dataSize += computeStringSizeNoTag(outputStringAttrName_.getRaw(i)); + } + size += dataSize; + size += 1 * getOutputStringAttrNameList().size(); + } + { + int dataSize = 0; + for (int i = 0; i < inputIntName_.size(); i++) { + dataSize += computeStringSizeNoTag(inputIntName_.getRaw(i)); + } + size += dataSize; + size += 1 * getInputIntNameList().size(); + } + { + int dataSize = 0; + for (int i = 0; i < outputIntName_.size(); i++) { + dataSize += computeStringSizeNoTag(outputIntName_.getRaw(i)); + } + size += dataSize; + size += 1 * getOutputIntNameList().size(); + } + { + int dataSize = 0; + for (int i = 0; i < inputFloatName_.size(); i++) { + dataSize += computeStringSizeNoTag(inputFloatName_.getRaw(i)); + } + size += dataSize; + size += 1 * getInputFloatNameList().size(); + } + { + int dataSize = 0; + for (int i = 0; i < outputFloatName_.size(); i++) { + dataSize += computeStringSizeNoTag(outputFloatName_.getRaw(i)); + } + size += dataSize; + size += 1 * getOutputFloatNameList().size(); + } + { + int dataSize = 0; + for (int i = 0; i < inputDoubleName_.size(); i++) { + dataSize += computeStringSizeNoTag(inputDoubleName_.getRaw(i)); + } + size += dataSize; + size += 1 * getInputDoubleNameList().size(); + } + { + int dataSize = 0; + for (int i = 0; i < outputDoubleName_.size(); i++) { + dataSize += computeStringSizeNoTag(outputDoubleName_.getRaw(i)); + } + size += dataSize; + size += 1 * getOutputDoubleNameList().size(); + } + { + int dataSize = 0; + for (int i = 0; i < inputBooleanName_.size(); i++) { + dataSize += computeStringSizeNoTag(inputBooleanName_.getRaw(i)); + } + size += dataSize; + size += 1 * getInputBooleanNameList().size(); + } + { + int dataSize = 0; + for (int i = 0; i < outputBooleanName_.size(); i++) { + dataSize += computeStringSizeNoTag(outputBooleanName_.getRaw(i)); + } + size += dataSize; + size += 1 * getOutputBooleanNameList().size(); + } + { + int dataSize = 0; + for (int i = 0; i < inputTensorName_.size(); i++) { + dataSize += computeStringSizeNoTag(inputTensorName_.getRaw(i)); + } + size += dataSize; + size += 1 * getInputTensorNameList().size(); + } + { + int dataSize = 0; + for (int i = 0; i < outputTensorName_.size(); i++) { + dataSize += computeStringSizeNoTag(outputTensorName_.getRaw(i)); + } + size += dataSize; + size += 1 * getOutputTensorNameList().size(); + } + { + int dataSize = 0; + for (int i = 0; i < inputDataTypeName_.size(); i++) { + dataSize += computeStringSizeNoTag(inputDataTypeName_.getRaw(i)); + } + size += dataSize; + size += 1 * getInputDataTypeNameList().size(); + } + { + int dataSize = 0; + for (int i = 0; i < outputDataTypeName_.size(); i++) { + dataSize += computeStringSizeNoTag(outputDataTypeName_.getRaw(i)); + } + size += dataSize; + size += 2 * getOutputDataTypeNameList().size(); + } + for (java.util.Map.Entry entry + : internalGetInputToOutput().getMap().entrySet()) { + org.nd4j.shade.protobuf.MapEntry + inputToOutput__ = InputToOutputDefaultEntryHolder.defaultEntry.newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeMessageSize(17, inputToOutput__); + } + if (!getRuleTypeBytes().isEmpty()) { + size += org.nd4j.shade.protobuf.GeneratedMessageV3.computeStringSize(18, ruleType_); + } + for (int i = 0; i < transformerArgs_.size(); i++) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeMessageSize(19, transformerArgs_.get(i)); + } + if (!getInputFrameworkOpNameBytes().isEmpty()) { + size += org.nd4j.shade.protobuf.GeneratedMessageV3.computeStringSize(20, inputFrameworkOpName_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.nd4j.ir.MapperNamespace.MappingRule)) { + return super.equals(obj); + } + org.nd4j.ir.MapperNamespace.MappingRule other = (org.nd4j.ir.MapperNamespace.MappingRule) obj; + + if (!getRuleName() + .equals(other.getRuleName())) return false; + if (!getFunctionName() + .equals(other.getFunctionName())) return false; + if (!getInputStringAttrNameList() + .equals(other.getInputStringAttrNameList())) return false; + if (!getOutputStringAttrNameList() + .equals(other.getOutputStringAttrNameList())) return false; + if (!getInputIntNameList() + .equals(other.getInputIntNameList())) return false; + if (!getOutputIntNameList() + .equals(other.getOutputIntNameList())) return false; + if (!getInputFloatNameList() + .equals(other.getInputFloatNameList())) return false; + if (!getOutputFloatNameList() + .equals(other.getOutputFloatNameList())) return false; + if (!getInputDoubleNameList() + .equals(other.getInputDoubleNameList())) return false; + if (!getOutputDoubleNameList() + .equals(other.getOutputDoubleNameList())) return false; + if (!getInputBooleanNameList() + .equals(other.getInputBooleanNameList())) return false; + if (!getOutputBooleanNameList() + .equals(other.getOutputBooleanNameList())) return false; + if (!getInputTensorNameList() + .equals(other.getInputTensorNameList())) return false; + if (!getOutputTensorNameList() + .equals(other.getOutputTensorNameList())) return false; + if (!getInputDataTypeNameList() + .equals(other.getInputDataTypeNameList())) return false; + if (!getOutputDataTypeNameList() + .equals(other.getOutputDataTypeNameList())) return false; + if (!internalGetInputToOutput().equals( + other.internalGetInputToOutput())) return false; + if (!getRuleType() + .equals(other.getRuleType())) return false; + if (!getTransformerArgsList() + .equals(other.getTransformerArgsList())) return false; + if (!getInputFrameworkOpName() + .equals(other.getInputFrameworkOpName())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + RULENAME_FIELD_NUMBER; + hash = (53 * hash) + getRuleName().hashCode(); + hash = (37 * hash) + FUNCTIONNAME_FIELD_NUMBER; + hash = (53 * hash) + getFunctionName().hashCode(); + if (getInputStringAttrNameCount() > 0) { + hash = (37 * hash) + INPUTSTRINGATTRNAME_FIELD_NUMBER; + hash = (53 * hash) + getInputStringAttrNameList().hashCode(); + } + if (getOutputStringAttrNameCount() > 0) { + hash = (37 * hash) + OUTPUTSTRINGATTRNAME_FIELD_NUMBER; + hash = (53 * hash) + getOutputStringAttrNameList().hashCode(); + } + if (getInputIntNameCount() > 0) { + hash = (37 * hash) + INPUTINTNAME_FIELD_NUMBER; + hash = (53 * hash) + getInputIntNameList().hashCode(); + } + if (getOutputIntNameCount() > 0) { + hash = (37 * hash) + OUTPUTINTNAME_FIELD_NUMBER; + hash = (53 * hash) + getOutputIntNameList().hashCode(); + } + if (getInputFloatNameCount() > 0) { + hash = (37 * hash) + INPUTFLOATNAME_FIELD_NUMBER; + hash = (53 * hash) + getInputFloatNameList().hashCode(); + } + if (getOutputFloatNameCount() > 0) { + hash = (37 * hash) + OUTPUTFLOATNAME_FIELD_NUMBER; + hash = (53 * hash) + getOutputFloatNameList().hashCode(); + } + if (getInputDoubleNameCount() > 0) { + hash = (37 * hash) + INPUTDOUBLENAME_FIELD_NUMBER; + hash = (53 * hash) + getInputDoubleNameList().hashCode(); + } + if (getOutputDoubleNameCount() > 0) { + hash = (37 * hash) + OUTPUTDOUBLENAME_FIELD_NUMBER; + hash = (53 * hash) + getOutputDoubleNameList().hashCode(); + } + if (getInputBooleanNameCount() > 0) { + hash = (37 * hash) + INPUTBOOLEANNAME_FIELD_NUMBER; + hash = (53 * hash) + getInputBooleanNameList().hashCode(); + } + if (getOutputBooleanNameCount() > 0) { + hash = (37 * hash) + OUTPUTBOOLEANNAME_FIELD_NUMBER; + hash = (53 * hash) + getOutputBooleanNameList().hashCode(); + } + if (getInputTensorNameCount() > 0) { + hash = (37 * hash) + INPUTTENSORNAME_FIELD_NUMBER; + hash = (53 * hash) + getInputTensorNameList().hashCode(); + } + if (getOutputTensorNameCount() > 0) { + hash = (37 * hash) + OUTPUTTENSORNAME_FIELD_NUMBER; + hash = (53 * hash) + getOutputTensorNameList().hashCode(); + } + if (getInputDataTypeNameCount() > 0) { + hash = (37 * hash) + INPUTDATATYPENAME_FIELD_NUMBER; + hash = (53 * hash) + getInputDataTypeNameList().hashCode(); + } + if (getOutputDataTypeNameCount() > 0) { + hash = (37 * hash) + OUTPUTDATATYPENAME_FIELD_NUMBER; + hash = (53 * hash) + getOutputDataTypeNameList().hashCode(); + } + if (!internalGetInputToOutput().getMap().isEmpty()) { + hash = (37 * hash) + INPUTTOOUTPUT_FIELD_NUMBER; + hash = (53 * hash) + internalGetInputToOutput().hashCode(); + } + hash = (37 * hash) + RULETYPE_FIELD_NUMBER; + hash = (53 * hash) + getRuleType().hashCode(); + if (getTransformerArgsCount() > 0) { + hash = (37 * hash) + TRANSFORMERARGS_FIELD_NUMBER; + hash = (53 * hash) + getTransformerArgsList().hashCode(); + } + hash = (37 * hash) + INPUTFRAMEWORKOPNAME_FIELD_NUMBER; + hash = (53 * hash) + getInputFrameworkOpName().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.nd4j.ir.MapperNamespace.MappingRule parseFrom( + java.nio.ByteBuffer data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.MapperNamespace.MappingRule parseFrom( + java.nio.ByteBuffer data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.MapperNamespace.MappingRule parseFrom( + org.nd4j.shade.protobuf.ByteString data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.MapperNamespace.MappingRule parseFrom( + org.nd4j.shade.protobuf.ByteString data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.MapperNamespace.MappingRule parseFrom(byte[] data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.MapperNamespace.MappingRule parseFrom( + byte[] data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.MapperNamespace.MappingRule parseFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.MapperNamespace.MappingRule parseFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.MapperNamespace.MappingRule parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static org.nd4j.ir.MapperNamespace.MappingRule parseDelimitedFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.MapperNamespace.MappingRule parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.MapperNamespace.MappingRule parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.nd4j.ir.MapperNamespace.MappingRule prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code org.nd4j.ir.MappingRule} + */ + public static final class Builder extends + org.nd4j.shade.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:org.nd4j.ir.MappingRule) + org.nd4j.ir.MapperNamespace.MappingRuleOrBuilder { + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.MapperNamespace.internal_static_org_nd4j_ir_MappingRule_descriptor; + } + + @SuppressWarnings({"rawtypes"}) + protected org.nd4j.shade.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 17: + return internalGetInputToOutput(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @SuppressWarnings({"rawtypes"}) + protected org.nd4j.shade.protobuf.MapField internalGetMutableMapField( + int number) { + switch (number) { + case 17: + return internalGetMutableInputToOutput(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.MapperNamespace.internal_static_org_nd4j_ir_MappingRule_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.MapperNamespace.MappingRule.class, org.nd4j.ir.MapperNamespace.MappingRule.Builder.class); + } + + // Construct using org.nd4j.ir.MapperNamespace.MappingRule.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (org.nd4j.shade.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getTransformerArgsFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + ruleName_ = ""; + + functionName_ = ""; + + inputStringAttrName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); + outputStringAttrName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000002); + inputIntName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000004); + outputIntName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000008); + inputFloatName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000010); + outputFloatName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000020); + inputDoubleName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000040); + outputDoubleName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000080); + inputBooleanName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000100); + outputBooleanName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000200); + inputTensorName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000400); + outputTensorName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000800); + inputDataTypeName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00001000); + outputDataTypeName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00002000); + internalGetMutableInputToOutput().clear(); + ruleType_ = ""; + + if (transformerArgsBuilder_ == null) { + transformerArgs_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00008000); + } else { + transformerArgsBuilder_.clear(); + } + inputFrameworkOpName_ = ""; + + return this; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.nd4j.ir.MapperNamespace.internal_static_org_nd4j_ir_MappingRule_descriptor; + } + + @java.lang.Override + public org.nd4j.ir.MapperNamespace.MappingRule getDefaultInstanceForType() { + return org.nd4j.ir.MapperNamespace.MappingRule.getDefaultInstance(); + } + + @java.lang.Override + public org.nd4j.ir.MapperNamespace.MappingRule build() { + org.nd4j.ir.MapperNamespace.MappingRule result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.nd4j.ir.MapperNamespace.MappingRule buildPartial() { + org.nd4j.ir.MapperNamespace.MappingRule result = new org.nd4j.ir.MapperNamespace.MappingRule(this); + int from_bitField0_ = bitField0_; + result.ruleName_ = ruleName_; + result.functionName_ = functionName_; + if (((bitField0_ & 0x00000001) != 0)) { + inputStringAttrName_ = inputStringAttrName_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.inputStringAttrName_ = inputStringAttrName_; + if (((bitField0_ & 0x00000002) != 0)) { + outputStringAttrName_ = outputStringAttrName_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.outputStringAttrName_ = outputStringAttrName_; + if (((bitField0_ & 0x00000004) != 0)) { + inputIntName_ = inputIntName_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.inputIntName_ = inputIntName_; + if (((bitField0_ & 0x00000008) != 0)) { + outputIntName_ = outputIntName_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000008); + } + result.outputIntName_ = outputIntName_; + if (((bitField0_ & 0x00000010) != 0)) { + inputFloatName_ = inputFloatName_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000010); + } + result.inputFloatName_ = inputFloatName_; + if (((bitField0_ & 0x00000020) != 0)) { + outputFloatName_ = outputFloatName_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000020); + } + result.outputFloatName_ = outputFloatName_; + if (((bitField0_ & 0x00000040) != 0)) { + inputDoubleName_ = inputDoubleName_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000040); + } + result.inputDoubleName_ = inputDoubleName_; + if (((bitField0_ & 0x00000080) != 0)) { + outputDoubleName_ = outputDoubleName_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000080); + } + result.outputDoubleName_ = outputDoubleName_; + if (((bitField0_ & 0x00000100) != 0)) { + inputBooleanName_ = inputBooleanName_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000100); + } + result.inputBooleanName_ = inputBooleanName_; + if (((bitField0_ & 0x00000200) != 0)) { + outputBooleanName_ = outputBooleanName_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000200); + } + result.outputBooleanName_ = outputBooleanName_; + if (((bitField0_ & 0x00000400) != 0)) { + inputTensorName_ = inputTensorName_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000400); + } + result.inputTensorName_ = inputTensorName_; + if (((bitField0_ & 0x00000800) != 0)) { + outputTensorName_ = outputTensorName_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000800); + } + result.outputTensorName_ = outputTensorName_; + if (((bitField0_ & 0x00001000) != 0)) { + inputDataTypeName_ = inputDataTypeName_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00001000); + } + result.inputDataTypeName_ = inputDataTypeName_; + if (((bitField0_ & 0x00002000) != 0)) { + outputDataTypeName_ = outputDataTypeName_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00002000); + } + result.outputDataTypeName_ = outputDataTypeName_; + result.inputToOutput_ = internalGetInputToOutput(); + result.inputToOutput_.makeImmutable(); + result.ruleType_ = ruleType_; + if (transformerArgsBuilder_ == null) { + if (((bitField0_ & 0x00008000) != 0)) { + transformerArgs_ = java.util.Collections.unmodifiableList(transformerArgs_); + bitField0_ = (bitField0_ & ~0x00008000); + } + result.transformerArgs_ = transformerArgs_; + } else { + result.transformerArgs_ = transformerArgsBuilder_.build(); + } + result.inputFrameworkOpName_ = inputFrameworkOpName_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + org.nd4j.shade.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(org.nd4j.shade.protobuf.Message other) { + if (other instanceof org.nd4j.ir.MapperNamespace.MappingRule) { + return mergeFrom((org.nd4j.ir.MapperNamespace.MappingRule)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.nd4j.ir.MapperNamespace.MappingRule other) { + if (other == org.nd4j.ir.MapperNamespace.MappingRule.getDefaultInstance()) return this; + if (!other.getRuleName().isEmpty()) { + ruleName_ = other.ruleName_; + onChanged(); + } + if (!other.getFunctionName().isEmpty()) { + functionName_ = other.functionName_; + onChanged(); + } + if (!other.inputStringAttrName_.isEmpty()) { + if (inputStringAttrName_.isEmpty()) { + inputStringAttrName_ = other.inputStringAttrName_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureInputStringAttrNameIsMutable(); + inputStringAttrName_.addAll(other.inputStringAttrName_); + } + onChanged(); + } + if (!other.outputStringAttrName_.isEmpty()) { + if (outputStringAttrName_.isEmpty()) { + outputStringAttrName_ = other.outputStringAttrName_; + bitField0_ = (bitField0_ & ~0x00000002); + } else { + ensureOutputStringAttrNameIsMutable(); + outputStringAttrName_.addAll(other.outputStringAttrName_); + } + onChanged(); + } + if (!other.inputIntName_.isEmpty()) { + if (inputIntName_.isEmpty()) { + inputIntName_ = other.inputIntName_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureInputIntNameIsMutable(); + inputIntName_.addAll(other.inputIntName_); + } + onChanged(); + } + if (!other.outputIntName_.isEmpty()) { + if (outputIntName_.isEmpty()) { + outputIntName_ = other.outputIntName_; + bitField0_ = (bitField0_ & ~0x00000008); + } else { + ensureOutputIntNameIsMutable(); + outputIntName_.addAll(other.outputIntName_); + } + onChanged(); + } + if (!other.inputFloatName_.isEmpty()) { + if (inputFloatName_.isEmpty()) { + inputFloatName_ = other.inputFloatName_; + bitField0_ = (bitField0_ & ~0x00000010); + } else { + ensureInputFloatNameIsMutable(); + inputFloatName_.addAll(other.inputFloatName_); + } + onChanged(); + } + if (!other.outputFloatName_.isEmpty()) { + if (outputFloatName_.isEmpty()) { + outputFloatName_ = other.outputFloatName_; + bitField0_ = (bitField0_ & ~0x00000020); + } else { + ensureOutputFloatNameIsMutable(); + outputFloatName_.addAll(other.outputFloatName_); + } + onChanged(); + } + if (!other.inputDoubleName_.isEmpty()) { + if (inputDoubleName_.isEmpty()) { + inputDoubleName_ = other.inputDoubleName_; + bitField0_ = (bitField0_ & ~0x00000040); + } else { + ensureInputDoubleNameIsMutable(); + inputDoubleName_.addAll(other.inputDoubleName_); + } + onChanged(); + } + if (!other.outputDoubleName_.isEmpty()) { + if (outputDoubleName_.isEmpty()) { + outputDoubleName_ = other.outputDoubleName_; + bitField0_ = (bitField0_ & ~0x00000080); + } else { + ensureOutputDoubleNameIsMutable(); + outputDoubleName_.addAll(other.outputDoubleName_); + } + onChanged(); + } + if (!other.inputBooleanName_.isEmpty()) { + if (inputBooleanName_.isEmpty()) { + inputBooleanName_ = other.inputBooleanName_; + bitField0_ = (bitField0_ & ~0x00000100); + } else { + ensureInputBooleanNameIsMutable(); + inputBooleanName_.addAll(other.inputBooleanName_); + } + onChanged(); + } + if (!other.outputBooleanName_.isEmpty()) { + if (outputBooleanName_.isEmpty()) { + outputBooleanName_ = other.outputBooleanName_; + bitField0_ = (bitField0_ & ~0x00000200); + } else { + ensureOutputBooleanNameIsMutable(); + outputBooleanName_.addAll(other.outputBooleanName_); + } + onChanged(); + } + if (!other.inputTensorName_.isEmpty()) { + if (inputTensorName_.isEmpty()) { + inputTensorName_ = other.inputTensorName_; + bitField0_ = (bitField0_ & ~0x00000400); + } else { + ensureInputTensorNameIsMutable(); + inputTensorName_.addAll(other.inputTensorName_); + } + onChanged(); + } + if (!other.outputTensorName_.isEmpty()) { + if (outputTensorName_.isEmpty()) { + outputTensorName_ = other.outputTensorName_; + bitField0_ = (bitField0_ & ~0x00000800); + } else { + ensureOutputTensorNameIsMutable(); + outputTensorName_.addAll(other.outputTensorName_); + } + onChanged(); + } + if (!other.inputDataTypeName_.isEmpty()) { + if (inputDataTypeName_.isEmpty()) { + inputDataTypeName_ = other.inputDataTypeName_; + bitField0_ = (bitField0_ & ~0x00001000); + } else { + ensureInputDataTypeNameIsMutable(); + inputDataTypeName_.addAll(other.inputDataTypeName_); + } + onChanged(); + } + if (!other.outputDataTypeName_.isEmpty()) { + if (outputDataTypeName_.isEmpty()) { + outputDataTypeName_ = other.outputDataTypeName_; + bitField0_ = (bitField0_ & ~0x00002000); + } else { + ensureOutputDataTypeNameIsMutable(); + outputDataTypeName_.addAll(other.outputDataTypeName_); + } + onChanged(); + } + internalGetMutableInputToOutput().mergeFrom( + other.internalGetInputToOutput()); + if (!other.getRuleType().isEmpty()) { + ruleType_ = other.ruleType_; + onChanged(); + } + if (transformerArgsBuilder_ == null) { + if (!other.transformerArgs_.isEmpty()) { + if (transformerArgs_.isEmpty()) { + transformerArgs_ = other.transformerArgs_; + bitField0_ = (bitField0_ & ~0x00008000); + } else { + ensureTransformerArgsIsMutable(); + transformerArgs_.addAll(other.transformerArgs_); + } + onChanged(); + } + } else { + if (!other.transformerArgs_.isEmpty()) { + if (transformerArgsBuilder_.isEmpty()) { + transformerArgsBuilder_.dispose(); + transformerArgsBuilder_ = null; + transformerArgs_ = other.transformerArgs_; + bitField0_ = (bitField0_ & ~0x00008000); + transformerArgsBuilder_ = + org.nd4j.shade.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getTransformerArgsFieldBuilder() : null; + } else { + transformerArgsBuilder_.addAllMessages(other.transformerArgs_); + } + } + } + if (!other.getInputFrameworkOpName().isEmpty()) { + inputFrameworkOpName_ = other.inputFrameworkOpName_; + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.nd4j.ir.MapperNamespace.MappingRule parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.nd4j.ir.MapperNamespace.MappingRule) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.lang.Object ruleName_ = ""; + /** + * string ruleName = 1; + */ + public java.lang.String getRuleName() { + java.lang.Object ref = ruleName_; + if (!(ref instanceof java.lang.String)) { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + ruleName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string ruleName = 1; + */ + public org.nd4j.shade.protobuf.ByteString + getRuleNameBytes() { + java.lang.Object ref = ruleName_; + if (ref instanceof String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + ruleName_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + /** + * string ruleName = 1; + */ + public Builder setRuleName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + ruleName_ = value; + onChanged(); + return this; + } + /** + * string ruleName = 1; + */ + public Builder clearRuleName() { + + ruleName_ = getDefaultInstance().getRuleName(); + onChanged(); + return this; + } + /** + * string ruleName = 1; + */ + public Builder setRuleNameBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + ruleName_ = value; + onChanged(); + return this; + } + + private java.lang.Object functionName_ = ""; + /** + * string functionName = 2; + */ + public java.lang.String getFunctionName() { + java.lang.Object ref = functionName_; + if (!(ref instanceof java.lang.String)) { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + functionName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string functionName = 2; + */ + public org.nd4j.shade.protobuf.ByteString + getFunctionNameBytes() { + java.lang.Object ref = functionName_; + if (ref instanceof String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + functionName_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + /** + * string functionName = 2; + */ + public Builder setFunctionName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + functionName_ = value; + onChanged(); + return this; + } + /** + * string functionName = 2; + */ + public Builder clearFunctionName() { + + functionName_ = getDefaultInstance().getFunctionName(); + onChanged(); + return this; + } + /** + * string functionName = 2; + */ + public Builder setFunctionNameBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + functionName_ = value; + onChanged(); + return this; + } + + private org.nd4j.shade.protobuf.LazyStringList inputStringAttrName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + private void ensureInputStringAttrNameIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + inputStringAttrName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(inputStringAttrName_); + bitField0_ |= 0x00000001; + } + } + /** + * repeated string inputStringAttrName = 3; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getInputStringAttrNameList() { + return inputStringAttrName_.getUnmodifiableView(); + } + /** + * repeated string inputStringAttrName = 3; + */ + public int getInputStringAttrNameCount() { + return inputStringAttrName_.size(); + } + /** + * repeated string inputStringAttrName = 3; + */ + public java.lang.String getInputStringAttrName(int index) { + return inputStringAttrName_.get(index); + } + /** + * repeated string inputStringAttrName = 3; + */ + public org.nd4j.shade.protobuf.ByteString + getInputStringAttrNameBytes(int index) { + return inputStringAttrName_.getByteString(index); + } + /** + * repeated string inputStringAttrName = 3; + */ + public Builder setInputStringAttrName( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureInputStringAttrNameIsMutable(); + inputStringAttrName_.set(index, value); + onChanged(); + return this; + } + /** + * repeated string inputStringAttrName = 3; + */ + public Builder addInputStringAttrName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureInputStringAttrNameIsMutable(); + inputStringAttrName_.add(value); + onChanged(); + return this; + } + /** + * repeated string inputStringAttrName = 3; + */ + public Builder addAllInputStringAttrName( + java.lang.Iterable values) { + ensureInputStringAttrNameIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, inputStringAttrName_); + onChanged(); + return this; + } + /** + * repeated string inputStringAttrName = 3; + */ + public Builder clearInputStringAttrName() { + inputStringAttrName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * repeated string inputStringAttrName = 3; + */ + public Builder addInputStringAttrNameBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureInputStringAttrNameIsMutable(); + inputStringAttrName_.add(value); + onChanged(); + return this; + } + + private org.nd4j.shade.protobuf.LazyStringList outputStringAttrName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + private void ensureOutputStringAttrNameIsMutable() { + if (!((bitField0_ & 0x00000002) != 0)) { + outputStringAttrName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(outputStringAttrName_); + bitField0_ |= 0x00000002; + } + } + /** + * repeated string outputStringAttrName = 4; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getOutputStringAttrNameList() { + return outputStringAttrName_.getUnmodifiableView(); + } + /** + * repeated string outputStringAttrName = 4; + */ + public int getOutputStringAttrNameCount() { + return outputStringAttrName_.size(); + } + /** + * repeated string outputStringAttrName = 4; + */ + public java.lang.String getOutputStringAttrName(int index) { + return outputStringAttrName_.get(index); + } + /** + * repeated string outputStringAttrName = 4; + */ + public org.nd4j.shade.protobuf.ByteString + getOutputStringAttrNameBytes(int index) { + return outputStringAttrName_.getByteString(index); + } + /** + * repeated string outputStringAttrName = 4; + */ + public Builder setOutputStringAttrName( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureOutputStringAttrNameIsMutable(); + outputStringAttrName_.set(index, value); + onChanged(); + return this; + } + /** + * repeated string outputStringAttrName = 4; + */ + public Builder addOutputStringAttrName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureOutputStringAttrNameIsMutable(); + outputStringAttrName_.add(value); + onChanged(); + return this; + } + /** + * repeated string outputStringAttrName = 4; + */ + public Builder addAllOutputStringAttrName( + java.lang.Iterable values) { + ensureOutputStringAttrNameIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, outputStringAttrName_); + onChanged(); + return this; + } + /** + * repeated string outputStringAttrName = 4; + */ + public Builder clearOutputStringAttrName() { + outputStringAttrName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + * repeated string outputStringAttrName = 4; + */ + public Builder addOutputStringAttrNameBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureOutputStringAttrNameIsMutable(); + outputStringAttrName_.add(value); + onChanged(); + return this; + } + + private org.nd4j.shade.protobuf.LazyStringList inputIntName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + private void ensureInputIntNameIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + inputIntName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(inputIntName_); + bitField0_ |= 0x00000004; + } + } + /** + * repeated string inputIntName = 5; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getInputIntNameList() { + return inputIntName_.getUnmodifiableView(); + } + /** + * repeated string inputIntName = 5; + */ + public int getInputIntNameCount() { + return inputIntName_.size(); + } + /** + * repeated string inputIntName = 5; + */ + public java.lang.String getInputIntName(int index) { + return inputIntName_.get(index); + } + /** + * repeated string inputIntName = 5; + */ + public org.nd4j.shade.protobuf.ByteString + getInputIntNameBytes(int index) { + return inputIntName_.getByteString(index); + } + /** + * repeated string inputIntName = 5; + */ + public Builder setInputIntName( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureInputIntNameIsMutable(); + inputIntName_.set(index, value); + onChanged(); + return this; + } + /** + * repeated string inputIntName = 5; + */ + public Builder addInputIntName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureInputIntNameIsMutable(); + inputIntName_.add(value); + onChanged(); + return this; + } + /** + * repeated string inputIntName = 5; + */ + public Builder addAllInputIntName( + java.lang.Iterable values) { + ensureInputIntNameIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, inputIntName_); + onChanged(); + return this; + } + /** + * repeated string inputIntName = 5; + */ + public Builder clearInputIntName() { + inputIntName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + /** + * repeated string inputIntName = 5; + */ + public Builder addInputIntNameBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureInputIntNameIsMutable(); + inputIntName_.add(value); + onChanged(); + return this; + } + + private org.nd4j.shade.protobuf.LazyStringList outputIntName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + private void ensureOutputIntNameIsMutable() { + if (!((bitField0_ & 0x00000008) != 0)) { + outputIntName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(outputIntName_); + bitField0_ |= 0x00000008; + } + } + /** + * repeated string outputIntName = 6; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getOutputIntNameList() { + return outputIntName_.getUnmodifiableView(); + } + /** + * repeated string outputIntName = 6; + */ + public int getOutputIntNameCount() { + return outputIntName_.size(); + } + /** + * repeated string outputIntName = 6; + */ + public java.lang.String getOutputIntName(int index) { + return outputIntName_.get(index); + } + /** + * repeated string outputIntName = 6; + */ + public org.nd4j.shade.protobuf.ByteString + getOutputIntNameBytes(int index) { + return outputIntName_.getByteString(index); + } + /** + * repeated string outputIntName = 6; + */ + public Builder setOutputIntName( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureOutputIntNameIsMutable(); + outputIntName_.set(index, value); + onChanged(); + return this; + } + /** + * repeated string outputIntName = 6; + */ + public Builder addOutputIntName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureOutputIntNameIsMutable(); + outputIntName_.add(value); + onChanged(); + return this; + } + /** + * repeated string outputIntName = 6; + */ + public Builder addAllOutputIntName( + java.lang.Iterable values) { + ensureOutputIntNameIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, outputIntName_); + onChanged(); + return this; + } + /** + * repeated string outputIntName = 6; + */ + public Builder clearOutputIntName() { + outputIntName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + /** + * repeated string outputIntName = 6; + */ + public Builder addOutputIntNameBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureOutputIntNameIsMutable(); + outputIntName_.add(value); + onChanged(); + return this; + } + + private org.nd4j.shade.protobuf.LazyStringList inputFloatName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + private void ensureInputFloatNameIsMutable() { + if (!((bitField0_ & 0x00000010) != 0)) { + inputFloatName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(inputFloatName_); + bitField0_ |= 0x00000010; + } + } + /** + * repeated string inputFloatName = 7; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getInputFloatNameList() { + return inputFloatName_.getUnmodifiableView(); + } + /** + * repeated string inputFloatName = 7; + */ + public int getInputFloatNameCount() { + return inputFloatName_.size(); + } + /** + * repeated string inputFloatName = 7; + */ + public java.lang.String getInputFloatName(int index) { + return inputFloatName_.get(index); + } + /** + * repeated string inputFloatName = 7; + */ + public org.nd4j.shade.protobuf.ByteString + getInputFloatNameBytes(int index) { + return inputFloatName_.getByteString(index); + } + /** + * repeated string inputFloatName = 7; + */ + public Builder setInputFloatName( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureInputFloatNameIsMutable(); + inputFloatName_.set(index, value); + onChanged(); + return this; + } + /** + * repeated string inputFloatName = 7; + */ + public Builder addInputFloatName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureInputFloatNameIsMutable(); + inputFloatName_.add(value); + onChanged(); + return this; + } + /** + * repeated string inputFloatName = 7; + */ + public Builder addAllInputFloatName( + java.lang.Iterable values) { + ensureInputFloatNameIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, inputFloatName_); + onChanged(); + return this; + } + /** + * repeated string inputFloatName = 7; + */ + public Builder clearInputFloatName() { + inputFloatName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + /** + * repeated string inputFloatName = 7; + */ + public Builder addInputFloatNameBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureInputFloatNameIsMutable(); + inputFloatName_.add(value); + onChanged(); + return this; + } + + private org.nd4j.shade.protobuf.LazyStringList outputFloatName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + private void ensureOutputFloatNameIsMutable() { + if (!((bitField0_ & 0x00000020) != 0)) { + outputFloatName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(outputFloatName_); + bitField0_ |= 0x00000020; + } + } + /** + * repeated string outputFloatName = 8; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getOutputFloatNameList() { + return outputFloatName_.getUnmodifiableView(); + } + /** + * repeated string outputFloatName = 8; + */ + public int getOutputFloatNameCount() { + return outputFloatName_.size(); + } + /** + * repeated string outputFloatName = 8; + */ + public java.lang.String getOutputFloatName(int index) { + return outputFloatName_.get(index); + } + /** + * repeated string outputFloatName = 8; + */ + public org.nd4j.shade.protobuf.ByteString + getOutputFloatNameBytes(int index) { + return outputFloatName_.getByteString(index); + } + /** + * repeated string outputFloatName = 8; + */ + public Builder setOutputFloatName( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureOutputFloatNameIsMutable(); + outputFloatName_.set(index, value); + onChanged(); + return this; + } + /** + * repeated string outputFloatName = 8; + */ + public Builder addOutputFloatName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureOutputFloatNameIsMutable(); + outputFloatName_.add(value); + onChanged(); + return this; + } + /** + * repeated string outputFloatName = 8; + */ + public Builder addAllOutputFloatName( + java.lang.Iterable values) { + ensureOutputFloatNameIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, outputFloatName_); + onChanged(); + return this; + } + /** + * repeated string outputFloatName = 8; + */ + public Builder clearOutputFloatName() { + outputFloatName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000020); + onChanged(); + return this; + } + /** + * repeated string outputFloatName = 8; + */ + public Builder addOutputFloatNameBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureOutputFloatNameIsMutable(); + outputFloatName_.add(value); + onChanged(); + return this; + } + + private org.nd4j.shade.protobuf.LazyStringList inputDoubleName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + private void ensureInputDoubleNameIsMutable() { + if (!((bitField0_ & 0x00000040) != 0)) { + inputDoubleName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(inputDoubleName_); + bitField0_ |= 0x00000040; + } + } + /** + * repeated string inputDoubleName = 9; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getInputDoubleNameList() { + return inputDoubleName_.getUnmodifiableView(); + } + /** + * repeated string inputDoubleName = 9; + */ + public int getInputDoubleNameCount() { + return inputDoubleName_.size(); + } + /** + * repeated string inputDoubleName = 9; + */ + public java.lang.String getInputDoubleName(int index) { + return inputDoubleName_.get(index); + } + /** + * repeated string inputDoubleName = 9; + */ + public org.nd4j.shade.protobuf.ByteString + getInputDoubleNameBytes(int index) { + return inputDoubleName_.getByteString(index); + } + /** + * repeated string inputDoubleName = 9; + */ + public Builder setInputDoubleName( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureInputDoubleNameIsMutable(); + inputDoubleName_.set(index, value); + onChanged(); + return this; + } + /** + * repeated string inputDoubleName = 9; + */ + public Builder addInputDoubleName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureInputDoubleNameIsMutable(); + inputDoubleName_.add(value); + onChanged(); + return this; + } + /** + * repeated string inputDoubleName = 9; + */ + public Builder addAllInputDoubleName( + java.lang.Iterable values) { + ensureInputDoubleNameIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, inputDoubleName_); + onChanged(); + return this; + } + /** + * repeated string inputDoubleName = 9; + */ + public Builder clearInputDoubleName() { + inputDoubleName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000040); + onChanged(); + return this; + } + /** + * repeated string inputDoubleName = 9; + */ + public Builder addInputDoubleNameBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureInputDoubleNameIsMutable(); + inputDoubleName_.add(value); + onChanged(); + return this; + } + + private org.nd4j.shade.protobuf.LazyStringList outputDoubleName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + private void ensureOutputDoubleNameIsMutable() { + if (!((bitField0_ & 0x00000080) != 0)) { + outputDoubleName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(outputDoubleName_); + bitField0_ |= 0x00000080; + } + } + /** + * repeated string outputDoubleName = 10; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getOutputDoubleNameList() { + return outputDoubleName_.getUnmodifiableView(); + } + /** + * repeated string outputDoubleName = 10; + */ + public int getOutputDoubleNameCount() { + return outputDoubleName_.size(); + } + /** + * repeated string outputDoubleName = 10; + */ + public java.lang.String getOutputDoubleName(int index) { + return outputDoubleName_.get(index); + } + /** + * repeated string outputDoubleName = 10; + */ + public org.nd4j.shade.protobuf.ByteString + getOutputDoubleNameBytes(int index) { + return outputDoubleName_.getByteString(index); + } + /** + * repeated string outputDoubleName = 10; + */ + public Builder setOutputDoubleName( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureOutputDoubleNameIsMutable(); + outputDoubleName_.set(index, value); + onChanged(); + return this; + } + /** + * repeated string outputDoubleName = 10; + */ + public Builder addOutputDoubleName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureOutputDoubleNameIsMutable(); + outputDoubleName_.add(value); + onChanged(); + return this; + } + /** + * repeated string outputDoubleName = 10; + */ + public Builder addAllOutputDoubleName( + java.lang.Iterable values) { + ensureOutputDoubleNameIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, outputDoubleName_); + onChanged(); + return this; + } + /** + * repeated string outputDoubleName = 10; + */ + public Builder clearOutputDoubleName() { + outputDoubleName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000080); + onChanged(); + return this; + } + /** + * repeated string outputDoubleName = 10; + */ + public Builder addOutputDoubleNameBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureOutputDoubleNameIsMutable(); + outputDoubleName_.add(value); + onChanged(); + return this; + } + + private org.nd4j.shade.protobuf.LazyStringList inputBooleanName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + private void ensureInputBooleanNameIsMutable() { + if (!((bitField0_ & 0x00000100) != 0)) { + inputBooleanName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(inputBooleanName_); + bitField0_ |= 0x00000100; + } + } + /** + * repeated string inputBooleanName = 11; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getInputBooleanNameList() { + return inputBooleanName_.getUnmodifiableView(); + } + /** + * repeated string inputBooleanName = 11; + */ + public int getInputBooleanNameCount() { + return inputBooleanName_.size(); + } + /** + * repeated string inputBooleanName = 11; + */ + public java.lang.String getInputBooleanName(int index) { + return inputBooleanName_.get(index); + } + /** + * repeated string inputBooleanName = 11; + */ + public org.nd4j.shade.protobuf.ByteString + getInputBooleanNameBytes(int index) { + return inputBooleanName_.getByteString(index); + } + /** + * repeated string inputBooleanName = 11; + */ + public Builder setInputBooleanName( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureInputBooleanNameIsMutable(); + inputBooleanName_.set(index, value); + onChanged(); + return this; + } + /** + * repeated string inputBooleanName = 11; + */ + public Builder addInputBooleanName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureInputBooleanNameIsMutable(); + inputBooleanName_.add(value); + onChanged(); + return this; + } + /** + * repeated string inputBooleanName = 11; + */ + public Builder addAllInputBooleanName( + java.lang.Iterable values) { + ensureInputBooleanNameIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, inputBooleanName_); + onChanged(); + return this; + } + /** + * repeated string inputBooleanName = 11; + */ + public Builder clearInputBooleanName() { + inputBooleanName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000100); + onChanged(); + return this; + } + /** + * repeated string inputBooleanName = 11; + */ + public Builder addInputBooleanNameBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureInputBooleanNameIsMutable(); + inputBooleanName_.add(value); + onChanged(); + return this; + } + + private org.nd4j.shade.protobuf.LazyStringList outputBooleanName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + private void ensureOutputBooleanNameIsMutable() { + if (!((bitField0_ & 0x00000200) != 0)) { + outputBooleanName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(outputBooleanName_); + bitField0_ |= 0x00000200; + } + } + /** + * repeated string outputBooleanName = 12; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getOutputBooleanNameList() { + return outputBooleanName_.getUnmodifiableView(); + } + /** + * repeated string outputBooleanName = 12; + */ + public int getOutputBooleanNameCount() { + return outputBooleanName_.size(); + } + /** + * repeated string outputBooleanName = 12; + */ + public java.lang.String getOutputBooleanName(int index) { + return outputBooleanName_.get(index); + } + /** + * repeated string outputBooleanName = 12; + */ + public org.nd4j.shade.protobuf.ByteString + getOutputBooleanNameBytes(int index) { + return outputBooleanName_.getByteString(index); + } + /** + * repeated string outputBooleanName = 12; + */ + public Builder setOutputBooleanName( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureOutputBooleanNameIsMutable(); + outputBooleanName_.set(index, value); + onChanged(); + return this; + } + /** + * repeated string outputBooleanName = 12; + */ + public Builder addOutputBooleanName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureOutputBooleanNameIsMutable(); + outputBooleanName_.add(value); + onChanged(); + return this; + } + /** + * repeated string outputBooleanName = 12; + */ + public Builder addAllOutputBooleanName( + java.lang.Iterable values) { + ensureOutputBooleanNameIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, outputBooleanName_); + onChanged(); + return this; + } + /** + * repeated string outputBooleanName = 12; + */ + public Builder clearOutputBooleanName() { + outputBooleanName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000200); + onChanged(); + return this; + } + /** + * repeated string outputBooleanName = 12; + */ + public Builder addOutputBooleanNameBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureOutputBooleanNameIsMutable(); + outputBooleanName_.add(value); + onChanged(); + return this; + } + + private org.nd4j.shade.protobuf.LazyStringList inputTensorName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + private void ensureInputTensorNameIsMutable() { + if (!((bitField0_ & 0x00000400) != 0)) { + inputTensorName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(inputTensorName_); + bitField0_ |= 0x00000400; + } + } + /** + * repeated string inputTensorName = 13; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getInputTensorNameList() { + return inputTensorName_.getUnmodifiableView(); + } + /** + * repeated string inputTensorName = 13; + */ + public int getInputTensorNameCount() { + return inputTensorName_.size(); + } + /** + * repeated string inputTensorName = 13; + */ + public java.lang.String getInputTensorName(int index) { + return inputTensorName_.get(index); + } + /** + * repeated string inputTensorName = 13; + */ + public org.nd4j.shade.protobuf.ByteString + getInputTensorNameBytes(int index) { + return inputTensorName_.getByteString(index); + } + /** + * repeated string inputTensorName = 13; + */ + public Builder setInputTensorName( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureInputTensorNameIsMutable(); + inputTensorName_.set(index, value); + onChanged(); + return this; + } + /** + * repeated string inputTensorName = 13; + */ + public Builder addInputTensorName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureInputTensorNameIsMutable(); + inputTensorName_.add(value); + onChanged(); + return this; + } + /** + * repeated string inputTensorName = 13; + */ + public Builder addAllInputTensorName( + java.lang.Iterable values) { + ensureInputTensorNameIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, inputTensorName_); + onChanged(); + return this; + } + /** + * repeated string inputTensorName = 13; + */ + public Builder clearInputTensorName() { + inputTensorName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000400); + onChanged(); + return this; + } + /** + * repeated string inputTensorName = 13; + */ + public Builder addInputTensorNameBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureInputTensorNameIsMutable(); + inputTensorName_.add(value); + onChanged(); + return this; + } + + private org.nd4j.shade.protobuf.LazyStringList outputTensorName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + private void ensureOutputTensorNameIsMutable() { + if (!((bitField0_ & 0x00000800) != 0)) { + outputTensorName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(outputTensorName_); + bitField0_ |= 0x00000800; + } + } + /** + * repeated string outputTensorName = 14; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getOutputTensorNameList() { + return outputTensorName_.getUnmodifiableView(); + } + /** + * repeated string outputTensorName = 14; + */ + public int getOutputTensorNameCount() { + return outputTensorName_.size(); + } + /** + * repeated string outputTensorName = 14; + */ + public java.lang.String getOutputTensorName(int index) { + return outputTensorName_.get(index); + } + /** + * repeated string outputTensorName = 14; + */ + public org.nd4j.shade.protobuf.ByteString + getOutputTensorNameBytes(int index) { + return outputTensorName_.getByteString(index); + } + /** + * repeated string outputTensorName = 14; + */ + public Builder setOutputTensorName( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureOutputTensorNameIsMutable(); + outputTensorName_.set(index, value); + onChanged(); + return this; + } + /** + * repeated string outputTensorName = 14; + */ + public Builder addOutputTensorName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureOutputTensorNameIsMutable(); + outputTensorName_.add(value); + onChanged(); + return this; + } + /** + * repeated string outputTensorName = 14; + */ + public Builder addAllOutputTensorName( + java.lang.Iterable values) { + ensureOutputTensorNameIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, outputTensorName_); + onChanged(); + return this; + } + /** + * repeated string outputTensorName = 14; + */ + public Builder clearOutputTensorName() { + outputTensorName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000800); + onChanged(); + return this; + } + /** + * repeated string outputTensorName = 14; + */ + public Builder addOutputTensorNameBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureOutputTensorNameIsMutable(); + outputTensorName_.add(value); + onChanged(); + return this; + } + + private org.nd4j.shade.protobuf.LazyStringList inputDataTypeName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + private void ensureInputDataTypeNameIsMutable() { + if (!((bitField0_ & 0x00001000) != 0)) { + inputDataTypeName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(inputDataTypeName_); + bitField0_ |= 0x00001000; + } + } + /** + * repeated string inputDataTypeName = 15; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getInputDataTypeNameList() { + return inputDataTypeName_.getUnmodifiableView(); + } + /** + * repeated string inputDataTypeName = 15; + */ + public int getInputDataTypeNameCount() { + return inputDataTypeName_.size(); + } + /** + * repeated string inputDataTypeName = 15; + */ + public java.lang.String getInputDataTypeName(int index) { + return inputDataTypeName_.get(index); + } + /** + * repeated string inputDataTypeName = 15; + */ + public org.nd4j.shade.protobuf.ByteString + getInputDataTypeNameBytes(int index) { + return inputDataTypeName_.getByteString(index); + } + /** + * repeated string inputDataTypeName = 15; + */ + public Builder setInputDataTypeName( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureInputDataTypeNameIsMutable(); + inputDataTypeName_.set(index, value); + onChanged(); + return this; + } + /** + * repeated string inputDataTypeName = 15; + */ + public Builder addInputDataTypeName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureInputDataTypeNameIsMutable(); + inputDataTypeName_.add(value); + onChanged(); + return this; + } + /** + * repeated string inputDataTypeName = 15; + */ + public Builder addAllInputDataTypeName( + java.lang.Iterable values) { + ensureInputDataTypeNameIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, inputDataTypeName_); + onChanged(); + return this; + } + /** + * repeated string inputDataTypeName = 15; + */ + public Builder clearInputDataTypeName() { + inputDataTypeName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00001000); + onChanged(); + return this; + } + /** + * repeated string inputDataTypeName = 15; + */ + public Builder addInputDataTypeNameBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureInputDataTypeNameIsMutable(); + inputDataTypeName_.add(value); + onChanged(); + return this; + } + + private org.nd4j.shade.protobuf.LazyStringList outputDataTypeName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + private void ensureOutputDataTypeNameIsMutable() { + if (!((bitField0_ & 0x00002000) != 0)) { + outputDataTypeName_ = new org.nd4j.shade.protobuf.LazyStringArrayList(outputDataTypeName_); + bitField0_ |= 0x00002000; + } + } + /** + * repeated string outputDataTypeName = 16; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getOutputDataTypeNameList() { + return outputDataTypeName_.getUnmodifiableView(); + } + /** + * repeated string outputDataTypeName = 16; + */ + public int getOutputDataTypeNameCount() { + return outputDataTypeName_.size(); + } + /** + * repeated string outputDataTypeName = 16; + */ + public java.lang.String getOutputDataTypeName(int index) { + return outputDataTypeName_.get(index); + } + /** + * repeated string outputDataTypeName = 16; + */ + public org.nd4j.shade.protobuf.ByteString + getOutputDataTypeNameBytes(int index) { + return outputDataTypeName_.getByteString(index); + } + /** + * repeated string outputDataTypeName = 16; + */ + public Builder setOutputDataTypeName( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureOutputDataTypeNameIsMutable(); + outputDataTypeName_.set(index, value); + onChanged(); + return this; + } + /** + * repeated string outputDataTypeName = 16; + */ + public Builder addOutputDataTypeName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureOutputDataTypeNameIsMutable(); + outputDataTypeName_.add(value); + onChanged(); + return this; + } + /** + * repeated string outputDataTypeName = 16; + */ + public Builder addAllOutputDataTypeName( + java.lang.Iterable values) { + ensureOutputDataTypeNameIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, outputDataTypeName_); + onChanged(); + return this; + } + /** + * repeated string outputDataTypeName = 16; + */ + public Builder clearOutputDataTypeName() { + outputDataTypeName_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00002000); + onChanged(); + return this; + } + /** + * repeated string outputDataTypeName = 16; + */ + public Builder addOutputDataTypeNameBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureOutputDataTypeNameIsMutable(); + outputDataTypeName_.add(value); + onChanged(); + return this; + } + + private org.nd4j.shade.protobuf.MapField< + java.lang.String, java.lang.String> inputToOutput_; + private org.nd4j.shade.protobuf.MapField + internalGetInputToOutput() { + if (inputToOutput_ == null) { + return org.nd4j.shade.protobuf.MapField.emptyMapField( + InputToOutputDefaultEntryHolder.defaultEntry); + } + return inputToOutput_; + } + private org.nd4j.shade.protobuf.MapField + internalGetMutableInputToOutput() { + onChanged();; + if (inputToOutput_ == null) { + inputToOutput_ = org.nd4j.shade.protobuf.MapField.newMapField( + InputToOutputDefaultEntryHolder.defaultEntry); + } + if (!inputToOutput_.isMutable()) { + inputToOutput_ = inputToOutput_.copy(); + } + return inputToOutput_; + } + + public int getInputToOutputCount() { + return internalGetInputToOutput().getMap().size(); + } + /** + * map<string, string> inputToOutput = 17; + */ + + public boolean containsInputToOutput( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + return internalGetInputToOutput().getMap().containsKey(key); + } + /** + * Use {@link #getInputToOutputMap()} instead. + */ + @java.lang.Deprecated + public java.util.Map getInputToOutput() { + return getInputToOutputMap(); + } + /** + * map<string, string> inputToOutput = 17; + */ + + public java.util.Map getInputToOutputMap() { + return internalGetInputToOutput().getMap(); + } + /** + * map<string, string> inputToOutput = 17; + */ + + public java.lang.String getInputToOutputOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetInputToOutput().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + * map<string, string> inputToOutput = 17; + */ + + public java.lang.String getInputToOutputOrThrow( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetInputToOutput().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + public Builder clearInputToOutput() { + internalGetMutableInputToOutput().getMutableMap() + .clear(); + return this; + } + /** + * map<string, string> inputToOutput = 17; + */ + + public Builder removeInputToOutput( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + internalGetMutableInputToOutput().getMutableMap() + .remove(key); + return this; + } + /** + * Use alternate mutation accessors instead. + */ + @java.lang.Deprecated + public java.util.Map + getMutableInputToOutput() { + return internalGetMutableInputToOutput().getMutableMap(); + } + /** + * map<string, string> inputToOutput = 17; + */ + public Builder putInputToOutput( + java.lang.String key, + java.lang.String value) { + if (key == null) { throw new java.lang.NullPointerException(); } + if (value == null) { throw new java.lang.NullPointerException(); } + internalGetMutableInputToOutput().getMutableMap() + .put(key, value); + return this; + } + /** + * map<string, string> inputToOutput = 17; + */ + + public Builder putAllInputToOutput( + java.util.Map values) { + internalGetMutableInputToOutput().getMutableMap() + .putAll(values); + return this; + } + + private java.lang.Object ruleType_ = ""; + /** + * string ruleType = 18; + */ + public java.lang.String getRuleType() { + java.lang.Object ref = ruleType_; + if (!(ref instanceof java.lang.String)) { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + ruleType_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string ruleType = 18; + */ + public org.nd4j.shade.protobuf.ByteString + getRuleTypeBytes() { + java.lang.Object ref = ruleType_; + if (ref instanceof String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + ruleType_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + /** + * string ruleType = 18; + */ + public Builder setRuleType( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + ruleType_ = value; + onChanged(); + return this; + } + /** + * string ruleType = 18; + */ + public Builder clearRuleType() { + + ruleType_ = getDefaultInstance().getRuleType(); + onChanged(); + return this; + } + /** + * string ruleType = 18; + */ + public Builder setRuleTypeBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + ruleType_ = value; + onChanged(); + return this; + } + + private java.util.List transformerArgs_ = + java.util.Collections.emptyList(); + private void ensureTransformerArgsIsMutable() { + if (!((bitField0_ & 0x00008000) != 0)) { + transformerArgs_ = new java.util.ArrayList(transformerArgs_); + bitField0_ |= 0x00008000; + } + } + + private org.nd4j.shade.protobuf.RepeatedFieldBuilderV3< + org.nd4j.ir.MapperNamespace.TransformerArgs, org.nd4j.ir.MapperNamespace.TransformerArgs.Builder, org.nd4j.ir.MapperNamespace.TransformerArgsOrBuilder> transformerArgsBuilder_; + + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + public java.util.List getTransformerArgsList() { + if (transformerArgsBuilder_ == null) { + return java.util.Collections.unmodifiableList(transformerArgs_); + } else { + return transformerArgsBuilder_.getMessageList(); + } + } + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + public int getTransformerArgsCount() { + if (transformerArgsBuilder_ == null) { + return transformerArgs_.size(); + } else { + return transformerArgsBuilder_.getCount(); + } + } + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + public org.nd4j.ir.MapperNamespace.TransformerArgs getTransformerArgs(int index) { + if (transformerArgsBuilder_ == null) { + return transformerArgs_.get(index); + } else { + return transformerArgsBuilder_.getMessage(index); + } + } + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + public Builder setTransformerArgs( + int index, org.nd4j.ir.MapperNamespace.TransformerArgs value) { + if (transformerArgsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureTransformerArgsIsMutable(); + transformerArgs_.set(index, value); + onChanged(); + } else { + transformerArgsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + public Builder setTransformerArgs( + int index, org.nd4j.ir.MapperNamespace.TransformerArgs.Builder builderForValue) { + if (transformerArgsBuilder_ == null) { + ensureTransformerArgsIsMutable(); + transformerArgs_.set(index, builderForValue.build()); + onChanged(); + } else { + transformerArgsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + public Builder addTransformerArgs(org.nd4j.ir.MapperNamespace.TransformerArgs value) { + if (transformerArgsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureTransformerArgsIsMutable(); + transformerArgs_.add(value); + onChanged(); + } else { + transformerArgsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + public Builder addTransformerArgs( + int index, org.nd4j.ir.MapperNamespace.TransformerArgs value) { + if (transformerArgsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureTransformerArgsIsMutable(); + transformerArgs_.add(index, value); + onChanged(); + } else { + transformerArgsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + public Builder addTransformerArgs( + org.nd4j.ir.MapperNamespace.TransformerArgs.Builder builderForValue) { + if (transformerArgsBuilder_ == null) { + ensureTransformerArgsIsMutable(); + transformerArgs_.add(builderForValue.build()); + onChanged(); + } else { + transformerArgsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + public Builder addTransformerArgs( + int index, org.nd4j.ir.MapperNamespace.TransformerArgs.Builder builderForValue) { + if (transformerArgsBuilder_ == null) { + ensureTransformerArgsIsMutable(); + transformerArgs_.add(index, builderForValue.build()); + onChanged(); + } else { + transformerArgsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + public Builder addAllTransformerArgs( + java.lang.Iterable values) { + if (transformerArgsBuilder_ == null) { + ensureTransformerArgsIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, transformerArgs_); + onChanged(); + } else { + transformerArgsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + public Builder clearTransformerArgs() { + if (transformerArgsBuilder_ == null) { + transformerArgs_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00008000); + onChanged(); + } else { + transformerArgsBuilder_.clear(); + } + return this; + } + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + public Builder removeTransformerArgs(int index) { + if (transformerArgsBuilder_ == null) { + ensureTransformerArgsIsMutable(); + transformerArgs_.remove(index); + onChanged(); + } else { + transformerArgsBuilder_.remove(index); + } + return this; + } + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + public org.nd4j.ir.MapperNamespace.TransformerArgs.Builder getTransformerArgsBuilder( + int index) { + return getTransformerArgsFieldBuilder().getBuilder(index); + } + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + public org.nd4j.ir.MapperNamespace.TransformerArgsOrBuilder getTransformerArgsOrBuilder( + int index) { + if (transformerArgsBuilder_ == null) { + return transformerArgs_.get(index); } else { + return transformerArgsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + public java.util.List + getTransformerArgsOrBuilderList() { + if (transformerArgsBuilder_ != null) { + return transformerArgsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(transformerArgs_); + } + } + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + public org.nd4j.ir.MapperNamespace.TransformerArgs.Builder addTransformerArgsBuilder() { + return getTransformerArgsFieldBuilder().addBuilder( + org.nd4j.ir.MapperNamespace.TransformerArgs.getDefaultInstance()); + } + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + public org.nd4j.ir.MapperNamespace.TransformerArgs.Builder addTransformerArgsBuilder( + int index) { + return getTransformerArgsFieldBuilder().addBuilder( + index, org.nd4j.ir.MapperNamespace.TransformerArgs.getDefaultInstance()); + } + /** + * repeated .org.nd4j.ir.TransformerArgs transformerArgs = 19; + */ + public java.util.List + getTransformerArgsBuilderList() { + return getTransformerArgsFieldBuilder().getBuilderList(); + } + private org.nd4j.shade.protobuf.RepeatedFieldBuilderV3< + org.nd4j.ir.MapperNamespace.TransformerArgs, org.nd4j.ir.MapperNamespace.TransformerArgs.Builder, org.nd4j.ir.MapperNamespace.TransformerArgsOrBuilder> + getTransformerArgsFieldBuilder() { + if (transformerArgsBuilder_ == null) { + transformerArgsBuilder_ = new org.nd4j.shade.protobuf.RepeatedFieldBuilderV3< + org.nd4j.ir.MapperNamespace.TransformerArgs, org.nd4j.ir.MapperNamespace.TransformerArgs.Builder, org.nd4j.ir.MapperNamespace.TransformerArgsOrBuilder>( + transformerArgs_, + ((bitField0_ & 0x00008000) != 0), + getParentForChildren(), + isClean()); + transformerArgs_ = null; + } + return transformerArgsBuilder_; + } + + private java.lang.Object inputFrameworkOpName_ = ""; + /** + * string inputFrameworkOpName = 20; + */ + public java.lang.String getInputFrameworkOpName() { + java.lang.Object ref = inputFrameworkOpName_; + if (!(ref instanceof java.lang.String)) { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + inputFrameworkOpName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string inputFrameworkOpName = 20; + */ + public org.nd4j.shade.protobuf.ByteString + getInputFrameworkOpNameBytes() { + java.lang.Object ref = inputFrameworkOpName_; + if (ref instanceof String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + inputFrameworkOpName_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + /** + * string inputFrameworkOpName = 20; + */ + public Builder setInputFrameworkOpName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + inputFrameworkOpName_ = value; + onChanged(); + return this; + } + /** + * string inputFrameworkOpName = 20; + */ + public Builder clearInputFrameworkOpName() { + + inputFrameworkOpName_ = getDefaultInstance().getInputFrameworkOpName(); + onChanged(); + return this; + } + /** + * string inputFrameworkOpName = 20; + */ + public Builder setInputFrameworkOpNameBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + inputFrameworkOpName_ = value; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:org.nd4j.ir.MappingRule) + } + + // @@protoc_insertion_point(class_scope:org.nd4j.ir.MappingRule) + private static final org.nd4j.ir.MapperNamespace.MappingRule DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.nd4j.ir.MapperNamespace.MappingRule(); + } + + public static org.nd4j.ir.MapperNamespace.MappingRule getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final org.nd4j.shade.protobuf.Parser + PARSER = new org.nd4j.shade.protobuf.AbstractParser() { + @java.lang.Override + public MappingRule parsePartialFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return new MappingRule(input, extensionRegistry); + } + }; + + public static org.nd4j.shade.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.ir.MapperNamespace.MappingRule getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface TransformerArgsOrBuilder extends + // @@protoc_insertion_point(interface_extends:org.nd4j.ir.TransformerArgs) + org.nd4j.shade.protobuf.MessageOrBuilder { + + /** + * string key = 1; + */ + java.lang.String getKey(); + /** + * string key = 1; + */ + org.nd4j.shade.protobuf.ByteString + getKeyBytes(); + + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + java.util.List + getTransformerArgsList(); + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + org.nd4j.ir.OpNamespace.ArgDescriptor getTransformerArgs(int index); + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + int getTransformerArgsCount(); + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + java.util.List + getTransformerArgsOrBuilderList(); + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + org.nd4j.ir.OpNamespace.ArgDescriptorOrBuilder getTransformerArgsOrBuilder( + int index); + } + /** + * Protobuf type {@code org.nd4j.ir.TransformerArgs} + */ + public static final class TransformerArgs extends + org.nd4j.shade.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:org.nd4j.ir.TransformerArgs) + TransformerArgsOrBuilder { + private static final long serialVersionUID = 0L; + // Use TransformerArgs.newBuilder() to construct. + private TransformerArgs(org.nd4j.shade.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private TransformerArgs() { + key_ = ""; + transformerArgs_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new TransformerArgs(); + } + + @java.lang.Override + public final org.nd4j.shade.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private TransformerArgs( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + org.nd4j.shade.protobuf.UnknownFieldSet.Builder unknownFields = + org.nd4j.shade.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + key_ = s; + break; + } + case 18: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + transformerArgs_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + transformerArgs_.add( + input.readMessage(org.nd4j.ir.OpNamespace.ArgDescriptor.parser(), extensionRegistry)); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new org.nd4j.shade.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + transformerArgs_ = java.util.Collections.unmodifiableList(transformerArgs_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.MapperNamespace.internal_static_org_nd4j_ir_TransformerArgs_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.MapperNamespace.internal_static_org_nd4j_ir_TransformerArgs_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.MapperNamespace.TransformerArgs.class, org.nd4j.ir.MapperNamespace.TransformerArgs.Builder.class); + } + + public static final int KEY_FIELD_NUMBER = 1; + private volatile java.lang.Object key_; + /** + * string key = 1; + */ + public java.lang.String getKey() { + java.lang.Object ref = key_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + key_ = s; + return s; + } + } + /** + * string key = 1; + */ + public org.nd4j.shade.protobuf.ByteString + getKeyBytes() { + java.lang.Object ref = key_; + if (ref instanceof java.lang.String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + key_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + + public static final int TRANSFORMERARGS_FIELD_NUMBER = 2; + private java.util.List transformerArgs_; + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + public java.util.List getTransformerArgsList() { + return transformerArgs_; + } + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + public java.util.List + getTransformerArgsOrBuilderList() { + return transformerArgs_; + } + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + public int getTransformerArgsCount() { + return transformerArgs_.size(); + } + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + public org.nd4j.ir.OpNamespace.ArgDescriptor getTransformerArgs(int index) { + return transformerArgs_.get(index); + } + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + public org.nd4j.ir.OpNamespace.ArgDescriptorOrBuilder getTransformerArgsOrBuilder( + int index) { + return transformerArgs_.get(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(org.nd4j.shade.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!getKeyBytes().isEmpty()) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 1, key_); + } + for (int i = 0; i < transformerArgs_.size(); i++) { + output.writeMessage(2, transformerArgs_.get(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getKeyBytes().isEmpty()) { + size += org.nd4j.shade.protobuf.GeneratedMessageV3.computeStringSize(1, key_); + } + for (int i = 0; i < transformerArgs_.size(); i++) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeMessageSize(2, transformerArgs_.get(i)); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.nd4j.ir.MapperNamespace.TransformerArgs)) { + return super.equals(obj); + } + org.nd4j.ir.MapperNamespace.TransformerArgs other = (org.nd4j.ir.MapperNamespace.TransformerArgs) obj; + + if (!getKey() + .equals(other.getKey())) return false; + if (!getTransformerArgsList() + .equals(other.getTransformerArgsList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + KEY_FIELD_NUMBER; + hash = (53 * hash) + getKey().hashCode(); + if (getTransformerArgsCount() > 0) { + hash = (37 * hash) + TRANSFORMERARGS_FIELD_NUMBER; + hash = (53 * hash) + getTransformerArgsList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.nd4j.ir.MapperNamespace.TransformerArgs parseFrom( + java.nio.ByteBuffer data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.MapperNamespace.TransformerArgs parseFrom( + java.nio.ByteBuffer data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.MapperNamespace.TransformerArgs parseFrom( + org.nd4j.shade.protobuf.ByteString data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.MapperNamespace.TransformerArgs parseFrom( + org.nd4j.shade.protobuf.ByteString data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.MapperNamespace.TransformerArgs parseFrom(byte[] data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.MapperNamespace.TransformerArgs parseFrom( + byte[] data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.MapperNamespace.TransformerArgs parseFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.MapperNamespace.TransformerArgs parseFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.MapperNamespace.TransformerArgs parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static org.nd4j.ir.MapperNamespace.TransformerArgs parseDelimitedFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.MapperNamespace.TransformerArgs parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.MapperNamespace.TransformerArgs parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.nd4j.ir.MapperNamespace.TransformerArgs prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code org.nd4j.ir.TransformerArgs} + */ + public static final class Builder extends + org.nd4j.shade.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:org.nd4j.ir.TransformerArgs) + org.nd4j.ir.MapperNamespace.TransformerArgsOrBuilder { + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.MapperNamespace.internal_static_org_nd4j_ir_TransformerArgs_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.MapperNamespace.internal_static_org_nd4j_ir_TransformerArgs_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.MapperNamespace.TransformerArgs.class, org.nd4j.ir.MapperNamespace.TransformerArgs.Builder.class); + } + + // Construct using org.nd4j.ir.MapperNamespace.TransformerArgs.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (org.nd4j.shade.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getTransformerArgsFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + key_ = ""; + + if (transformerArgsBuilder_ == null) { + transformerArgs_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + transformerArgsBuilder_.clear(); + } + return this; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.nd4j.ir.MapperNamespace.internal_static_org_nd4j_ir_TransformerArgs_descriptor; + } + + @java.lang.Override + public org.nd4j.ir.MapperNamespace.TransformerArgs getDefaultInstanceForType() { + return org.nd4j.ir.MapperNamespace.TransformerArgs.getDefaultInstance(); + } + + @java.lang.Override + public org.nd4j.ir.MapperNamespace.TransformerArgs build() { + org.nd4j.ir.MapperNamespace.TransformerArgs result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.nd4j.ir.MapperNamespace.TransformerArgs buildPartial() { + org.nd4j.ir.MapperNamespace.TransformerArgs result = new org.nd4j.ir.MapperNamespace.TransformerArgs(this); + int from_bitField0_ = bitField0_; + result.key_ = key_; + if (transformerArgsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + transformerArgs_ = java.util.Collections.unmodifiableList(transformerArgs_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.transformerArgs_ = transformerArgs_; + } else { + result.transformerArgs_ = transformerArgsBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + org.nd4j.shade.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(org.nd4j.shade.protobuf.Message other) { + if (other instanceof org.nd4j.ir.MapperNamespace.TransformerArgs) { + return mergeFrom((org.nd4j.ir.MapperNamespace.TransformerArgs)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.nd4j.ir.MapperNamespace.TransformerArgs other) { + if (other == org.nd4j.ir.MapperNamespace.TransformerArgs.getDefaultInstance()) return this; + if (!other.getKey().isEmpty()) { + key_ = other.key_; + onChanged(); + } + if (transformerArgsBuilder_ == null) { + if (!other.transformerArgs_.isEmpty()) { + if (transformerArgs_.isEmpty()) { + transformerArgs_ = other.transformerArgs_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureTransformerArgsIsMutable(); + transformerArgs_.addAll(other.transformerArgs_); + } + onChanged(); + } + } else { + if (!other.transformerArgs_.isEmpty()) { + if (transformerArgsBuilder_.isEmpty()) { + transformerArgsBuilder_.dispose(); + transformerArgsBuilder_ = null; + transformerArgs_ = other.transformerArgs_; + bitField0_ = (bitField0_ & ~0x00000001); + transformerArgsBuilder_ = + org.nd4j.shade.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getTransformerArgsFieldBuilder() : null; + } else { + transformerArgsBuilder_.addAllMessages(other.transformerArgs_); + } + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.nd4j.ir.MapperNamespace.TransformerArgs parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.nd4j.ir.MapperNamespace.TransformerArgs) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.lang.Object key_ = ""; + /** + * string key = 1; + */ + public java.lang.String getKey() { + java.lang.Object ref = key_; + if (!(ref instanceof java.lang.String)) { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + key_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string key = 1; + */ + public org.nd4j.shade.protobuf.ByteString + getKeyBytes() { + java.lang.Object ref = key_; + if (ref instanceof String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + key_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + /** + * string key = 1; + */ + public Builder setKey( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + key_ = value; + onChanged(); + return this; + } + /** + * string key = 1; + */ + public Builder clearKey() { + + key_ = getDefaultInstance().getKey(); + onChanged(); + return this; + } + /** + * string key = 1; + */ + public Builder setKeyBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + key_ = value; + onChanged(); + return this; + } + + private java.util.List transformerArgs_ = + java.util.Collections.emptyList(); + private void ensureTransformerArgsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + transformerArgs_ = new java.util.ArrayList(transformerArgs_); + bitField0_ |= 0x00000001; + } + } + + private org.nd4j.shade.protobuf.RepeatedFieldBuilderV3< + org.nd4j.ir.OpNamespace.ArgDescriptor, org.nd4j.ir.OpNamespace.ArgDescriptor.Builder, org.nd4j.ir.OpNamespace.ArgDescriptorOrBuilder> transformerArgsBuilder_; + + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + public java.util.List getTransformerArgsList() { + if (transformerArgsBuilder_ == null) { + return java.util.Collections.unmodifiableList(transformerArgs_); + } else { + return transformerArgsBuilder_.getMessageList(); + } + } + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + public int getTransformerArgsCount() { + if (transformerArgsBuilder_ == null) { + return transformerArgs_.size(); + } else { + return transformerArgsBuilder_.getCount(); + } + } + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + public org.nd4j.ir.OpNamespace.ArgDescriptor getTransformerArgs(int index) { + if (transformerArgsBuilder_ == null) { + return transformerArgs_.get(index); + } else { + return transformerArgsBuilder_.getMessage(index); + } + } + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + public Builder setTransformerArgs( + int index, org.nd4j.ir.OpNamespace.ArgDescriptor value) { + if (transformerArgsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureTransformerArgsIsMutable(); + transformerArgs_.set(index, value); + onChanged(); + } else { + transformerArgsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + public Builder setTransformerArgs( + int index, org.nd4j.ir.OpNamespace.ArgDescriptor.Builder builderForValue) { + if (transformerArgsBuilder_ == null) { + ensureTransformerArgsIsMutable(); + transformerArgs_.set(index, builderForValue.build()); + onChanged(); + } else { + transformerArgsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + public Builder addTransformerArgs(org.nd4j.ir.OpNamespace.ArgDescriptor value) { + if (transformerArgsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureTransformerArgsIsMutable(); + transformerArgs_.add(value); + onChanged(); + } else { + transformerArgsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + public Builder addTransformerArgs( + int index, org.nd4j.ir.OpNamespace.ArgDescriptor value) { + if (transformerArgsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureTransformerArgsIsMutable(); + transformerArgs_.add(index, value); + onChanged(); + } else { + transformerArgsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + public Builder addTransformerArgs( + org.nd4j.ir.OpNamespace.ArgDescriptor.Builder builderForValue) { + if (transformerArgsBuilder_ == null) { + ensureTransformerArgsIsMutable(); + transformerArgs_.add(builderForValue.build()); + onChanged(); + } else { + transformerArgsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + public Builder addTransformerArgs( + int index, org.nd4j.ir.OpNamespace.ArgDescriptor.Builder builderForValue) { + if (transformerArgsBuilder_ == null) { + ensureTransformerArgsIsMutable(); + transformerArgs_.add(index, builderForValue.build()); + onChanged(); + } else { + transformerArgsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + public Builder addAllTransformerArgs( + java.lang.Iterable values) { + if (transformerArgsBuilder_ == null) { + ensureTransformerArgsIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, transformerArgs_); + onChanged(); + } else { + transformerArgsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + public Builder clearTransformerArgs() { + if (transformerArgsBuilder_ == null) { + transformerArgs_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + transformerArgsBuilder_.clear(); + } + return this; + } + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + public Builder removeTransformerArgs(int index) { + if (transformerArgsBuilder_ == null) { + ensureTransformerArgsIsMutable(); + transformerArgs_.remove(index); + onChanged(); + } else { + transformerArgsBuilder_.remove(index); + } + return this; + } + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + public org.nd4j.ir.OpNamespace.ArgDescriptor.Builder getTransformerArgsBuilder( + int index) { + return getTransformerArgsFieldBuilder().getBuilder(index); + } + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + public org.nd4j.ir.OpNamespace.ArgDescriptorOrBuilder getTransformerArgsOrBuilder( + int index) { + if (transformerArgsBuilder_ == null) { + return transformerArgs_.get(index); } else { + return transformerArgsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + public java.util.List + getTransformerArgsOrBuilderList() { + if (transformerArgsBuilder_ != null) { + return transformerArgsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(transformerArgs_); + } + } + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + public org.nd4j.ir.OpNamespace.ArgDescriptor.Builder addTransformerArgsBuilder() { + return getTransformerArgsFieldBuilder().addBuilder( + org.nd4j.ir.OpNamespace.ArgDescriptor.getDefaultInstance()); + } + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + public org.nd4j.ir.OpNamespace.ArgDescriptor.Builder addTransformerArgsBuilder( + int index) { + return getTransformerArgsFieldBuilder().addBuilder( + index, org.nd4j.ir.OpNamespace.ArgDescriptor.getDefaultInstance()); + } + /** + * repeated .org.nd4j.ir.ArgDescriptor transformerArgs = 2; + */ + public java.util.List + getTransformerArgsBuilderList() { + return getTransformerArgsFieldBuilder().getBuilderList(); + } + private org.nd4j.shade.protobuf.RepeatedFieldBuilderV3< + org.nd4j.ir.OpNamespace.ArgDescriptor, org.nd4j.ir.OpNamespace.ArgDescriptor.Builder, org.nd4j.ir.OpNamespace.ArgDescriptorOrBuilder> + getTransformerArgsFieldBuilder() { + if (transformerArgsBuilder_ == null) { + transformerArgsBuilder_ = new org.nd4j.shade.protobuf.RepeatedFieldBuilderV3< + org.nd4j.ir.OpNamespace.ArgDescriptor, org.nd4j.ir.OpNamespace.ArgDescriptor.Builder, org.nd4j.ir.OpNamespace.ArgDescriptorOrBuilder>( + transformerArgs_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + transformerArgs_ = null; + } + return transformerArgsBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:org.nd4j.ir.TransformerArgs) + } + + // @@protoc_insertion_point(class_scope:org.nd4j.ir.TransformerArgs) + private static final org.nd4j.ir.MapperNamespace.TransformerArgs DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.nd4j.ir.MapperNamespace.TransformerArgs(); + } + + public static org.nd4j.ir.MapperNamespace.TransformerArgs getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final org.nd4j.shade.protobuf.Parser + PARSER = new org.nd4j.shade.protobuf.AbstractParser() { + @java.lang.Override + public TransformerArgs parsePartialFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return new TransformerArgs(input, extensionRegistry); + } + }; + + public static org.nd4j.shade.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.ir.MapperNamespace.TransformerArgs getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface MappingDefinitionSetOrBuilder extends + // @@protoc_insertion_point(interface_extends:org.nd4j.ir.MappingDefinitionSet) + org.nd4j.shade.protobuf.MessageOrBuilder { + + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + java.util.List + getMappingsList(); + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + org.nd4j.ir.MapperNamespace.MapperDeclaration getMappings(int index); + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + int getMappingsCount(); + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + java.util.List + getMappingsOrBuilderList(); + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + org.nd4j.ir.MapperNamespace.MapperDeclarationOrBuilder getMappingsOrBuilder( + int index); + + /** + * repeated string name = 2; + */ + java.util.List + getNameList(); + /** + * repeated string name = 2; + */ + int getNameCount(); + /** + * repeated string name = 2; + */ + java.lang.String getName(int index); + /** + * repeated string name = 2; + */ + org.nd4j.shade.protobuf.ByteString + getNameBytes(int index); + } + /** + * Protobuf type {@code org.nd4j.ir.MappingDefinitionSet} + */ + public static final class MappingDefinitionSet extends + org.nd4j.shade.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:org.nd4j.ir.MappingDefinitionSet) + MappingDefinitionSetOrBuilder { + private static final long serialVersionUID = 0L; + // Use MappingDefinitionSet.newBuilder() to construct. + private MappingDefinitionSet(org.nd4j.shade.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private MappingDefinitionSet() { + mappings_ = java.util.Collections.emptyList(); + name_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new MappingDefinitionSet(); + } + + @java.lang.Override + public final org.nd4j.shade.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private MappingDefinitionSet( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + org.nd4j.shade.protobuf.UnknownFieldSet.Builder unknownFields = + org.nd4j.shade.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + mappings_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + mappings_.add( + input.readMessage(org.nd4j.ir.MapperNamespace.MapperDeclaration.parser(), extensionRegistry)); + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00000002) != 0)) { + name_ = new org.nd4j.shade.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000002; + } + name_.add(s); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new org.nd4j.shade.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + mappings_ = java.util.Collections.unmodifiableList(mappings_); + } + if (((mutable_bitField0_ & 0x00000002) != 0)) { + name_ = name_.getUnmodifiableView(); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.MapperNamespace.internal_static_org_nd4j_ir_MappingDefinitionSet_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.MapperNamespace.internal_static_org_nd4j_ir_MappingDefinitionSet_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.MapperNamespace.MappingDefinitionSet.class, org.nd4j.ir.MapperNamespace.MappingDefinitionSet.Builder.class); + } + + public static final int MAPPINGS_FIELD_NUMBER = 1; + private java.util.List mappings_; + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + public java.util.List getMappingsList() { + return mappings_; + } + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + public java.util.List + getMappingsOrBuilderList() { + return mappings_; + } + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + public int getMappingsCount() { + return mappings_.size(); + } + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + public org.nd4j.ir.MapperNamespace.MapperDeclaration getMappings(int index) { + return mappings_.get(index); + } + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + public org.nd4j.ir.MapperNamespace.MapperDeclarationOrBuilder getMappingsOrBuilder( + int index) { + return mappings_.get(index); + } + + public static final int NAME_FIELD_NUMBER = 2; + private org.nd4j.shade.protobuf.LazyStringList name_; + /** + * repeated string name = 2; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getNameList() { + return name_; + } + /** + * repeated string name = 2; + */ + public int getNameCount() { + return name_.size(); + } + /** + * repeated string name = 2; + */ + public java.lang.String getName(int index) { + return name_.get(index); + } + /** + * repeated string name = 2; + */ + public org.nd4j.shade.protobuf.ByteString + getNameBytes(int index) { + return name_.getByteString(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(org.nd4j.shade.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < mappings_.size(); i++) { + output.writeMessage(1, mappings_.get(i)); + } + for (int i = 0; i < name_.size(); i++) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 2, name_.getRaw(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < mappings_.size(); i++) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeMessageSize(1, mappings_.get(i)); + } + { + int dataSize = 0; + for (int i = 0; i < name_.size(); i++) { + dataSize += computeStringSizeNoTag(name_.getRaw(i)); + } + size += dataSize; + size += 1 * getNameList().size(); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.nd4j.ir.MapperNamespace.MappingDefinitionSet)) { + return super.equals(obj); + } + org.nd4j.ir.MapperNamespace.MappingDefinitionSet other = (org.nd4j.ir.MapperNamespace.MappingDefinitionSet) obj; + + if (!getMappingsList() + .equals(other.getMappingsList())) return false; + if (!getNameList() + .equals(other.getNameList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getMappingsCount() > 0) { + hash = (37 * hash) + MAPPINGS_FIELD_NUMBER; + hash = (53 * hash) + getMappingsList().hashCode(); + } + if (getNameCount() > 0) { + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getNameList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.nd4j.ir.MapperNamespace.MappingDefinitionSet parseFrom( + java.nio.ByteBuffer data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.MapperNamespace.MappingDefinitionSet parseFrom( + java.nio.ByteBuffer data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.MapperNamespace.MappingDefinitionSet parseFrom( + org.nd4j.shade.protobuf.ByteString data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.MapperNamespace.MappingDefinitionSet parseFrom( + org.nd4j.shade.protobuf.ByteString data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.MapperNamespace.MappingDefinitionSet parseFrom(byte[] data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.MapperNamespace.MappingDefinitionSet parseFrom( + byte[] data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.MapperNamespace.MappingDefinitionSet parseFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.MapperNamespace.MappingDefinitionSet parseFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.MapperNamespace.MappingDefinitionSet parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static org.nd4j.ir.MapperNamespace.MappingDefinitionSet parseDelimitedFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.MapperNamespace.MappingDefinitionSet parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.MapperNamespace.MappingDefinitionSet parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.nd4j.ir.MapperNamespace.MappingDefinitionSet prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code org.nd4j.ir.MappingDefinitionSet} + */ + public static final class Builder extends + org.nd4j.shade.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:org.nd4j.ir.MappingDefinitionSet) + org.nd4j.ir.MapperNamespace.MappingDefinitionSetOrBuilder { + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.MapperNamespace.internal_static_org_nd4j_ir_MappingDefinitionSet_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.MapperNamespace.internal_static_org_nd4j_ir_MappingDefinitionSet_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.MapperNamespace.MappingDefinitionSet.class, org.nd4j.ir.MapperNamespace.MappingDefinitionSet.Builder.class); + } + + // Construct using org.nd4j.ir.MapperNamespace.MappingDefinitionSet.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (org.nd4j.shade.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getMappingsFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (mappingsBuilder_ == null) { + mappings_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + mappingsBuilder_.clear(); + } + name_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.nd4j.ir.MapperNamespace.internal_static_org_nd4j_ir_MappingDefinitionSet_descriptor; + } + + @java.lang.Override + public org.nd4j.ir.MapperNamespace.MappingDefinitionSet getDefaultInstanceForType() { + return org.nd4j.ir.MapperNamespace.MappingDefinitionSet.getDefaultInstance(); + } + + @java.lang.Override + public org.nd4j.ir.MapperNamespace.MappingDefinitionSet build() { + org.nd4j.ir.MapperNamespace.MappingDefinitionSet result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.nd4j.ir.MapperNamespace.MappingDefinitionSet buildPartial() { + org.nd4j.ir.MapperNamespace.MappingDefinitionSet result = new org.nd4j.ir.MapperNamespace.MappingDefinitionSet(this); + int from_bitField0_ = bitField0_; + if (mappingsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + mappings_ = java.util.Collections.unmodifiableList(mappings_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.mappings_ = mappings_; + } else { + result.mappings_ = mappingsBuilder_.build(); + } + if (((bitField0_ & 0x00000002) != 0)) { + name_ = name_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.name_ = name_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + org.nd4j.shade.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(org.nd4j.shade.protobuf.Message other) { + if (other instanceof org.nd4j.ir.MapperNamespace.MappingDefinitionSet) { + return mergeFrom((org.nd4j.ir.MapperNamespace.MappingDefinitionSet)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.nd4j.ir.MapperNamespace.MappingDefinitionSet other) { + if (other == org.nd4j.ir.MapperNamespace.MappingDefinitionSet.getDefaultInstance()) return this; + if (mappingsBuilder_ == null) { + if (!other.mappings_.isEmpty()) { + if (mappings_.isEmpty()) { + mappings_ = other.mappings_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureMappingsIsMutable(); + mappings_.addAll(other.mappings_); + } + onChanged(); + } + } else { + if (!other.mappings_.isEmpty()) { + if (mappingsBuilder_.isEmpty()) { + mappingsBuilder_.dispose(); + mappingsBuilder_ = null; + mappings_ = other.mappings_; + bitField0_ = (bitField0_ & ~0x00000001); + mappingsBuilder_ = + org.nd4j.shade.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getMappingsFieldBuilder() : null; + } else { + mappingsBuilder_.addAllMessages(other.mappings_); + } + } + } + if (!other.name_.isEmpty()) { + if (name_.isEmpty()) { + name_ = other.name_; + bitField0_ = (bitField0_ & ~0x00000002); + } else { + ensureNameIsMutable(); + name_.addAll(other.name_); + } + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.nd4j.ir.MapperNamespace.MappingDefinitionSet parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.nd4j.ir.MapperNamespace.MappingDefinitionSet) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.util.List mappings_ = + java.util.Collections.emptyList(); + private void ensureMappingsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + mappings_ = new java.util.ArrayList(mappings_); + bitField0_ |= 0x00000001; + } + } + + private org.nd4j.shade.protobuf.RepeatedFieldBuilderV3< + org.nd4j.ir.MapperNamespace.MapperDeclaration, org.nd4j.ir.MapperNamespace.MapperDeclaration.Builder, org.nd4j.ir.MapperNamespace.MapperDeclarationOrBuilder> mappingsBuilder_; + + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + public java.util.List getMappingsList() { + if (mappingsBuilder_ == null) { + return java.util.Collections.unmodifiableList(mappings_); + } else { + return mappingsBuilder_.getMessageList(); + } + } + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + public int getMappingsCount() { + if (mappingsBuilder_ == null) { + return mappings_.size(); + } else { + return mappingsBuilder_.getCount(); + } + } + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + public org.nd4j.ir.MapperNamespace.MapperDeclaration getMappings(int index) { + if (mappingsBuilder_ == null) { + return mappings_.get(index); + } else { + return mappingsBuilder_.getMessage(index); + } + } + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + public Builder setMappings( + int index, org.nd4j.ir.MapperNamespace.MapperDeclaration value) { + if (mappingsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureMappingsIsMutable(); + mappings_.set(index, value); + onChanged(); + } else { + mappingsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + public Builder setMappings( + int index, org.nd4j.ir.MapperNamespace.MapperDeclaration.Builder builderForValue) { + if (mappingsBuilder_ == null) { + ensureMappingsIsMutable(); + mappings_.set(index, builderForValue.build()); + onChanged(); + } else { + mappingsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + public Builder addMappings(org.nd4j.ir.MapperNamespace.MapperDeclaration value) { + if (mappingsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureMappingsIsMutable(); + mappings_.add(value); + onChanged(); + } else { + mappingsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + public Builder addMappings( + int index, org.nd4j.ir.MapperNamespace.MapperDeclaration value) { + if (mappingsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureMappingsIsMutable(); + mappings_.add(index, value); + onChanged(); + } else { + mappingsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + public Builder addMappings( + org.nd4j.ir.MapperNamespace.MapperDeclaration.Builder builderForValue) { + if (mappingsBuilder_ == null) { + ensureMappingsIsMutable(); + mappings_.add(builderForValue.build()); + onChanged(); + } else { + mappingsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + public Builder addMappings( + int index, org.nd4j.ir.MapperNamespace.MapperDeclaration.Builder builderForValue) { + if (mappingsBuilder_ == null) { + ensureMappingsIsMutable(); + mappings_.add(index, builderForValue.build()); + onChanged(); + } else { + mappingsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + public Builder addAllMappings( + java.lang.Iterable values) { + if (mappingsBuilder_ == null) { + ensureMappingsIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, mappings_); + onChanged(); + } else { + mappingsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + public Builder clearMappings() { + if (mappingsBuilder_ == null) { + mappings_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + mappingsBuilder_.clear(); + } + return this; + } + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + public Builder removeMappings(int index) { + if (mappingsBuilder_ == null) { + ensureMappingsIsMutable(); + mappings_.remove(index); + onChanged(); + } else { + mappingsBuilder_.remove(index); + } + return this; + } + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + public org.nd4j.ir.MapperNamespace.MapperDeclaration.Builder getMappingsBuilder( + int index) { + return getMappingsFieldBuilder().getBuilder(index); + } + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + public org.nd4j.ir.MapperNamespace.MapperDeclarationOrBuilder getMappingsOrBuilder( + int index) { + if (mappingsBuilder_ == null) { + return mappings_.get(index); } else { + return mappingsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + public java.util.List + getMappingsOrBuilderList() { + if (mappingsBuilder_ != null) { + return mappingsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(mappings_); + } + } + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + public org.nd4j.ir.MapperNamespace.MapperDeclaration.Builder addMappingsBuilder() { + return getMappingsFieldBuilder().addBuilder( + org.nd4j.ir.MapperNamespace.MapperDeclaration.getDefaultInstance()); + } + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + public org.nd4j.ir.MapperNamespace.MapperDeclaration.Builder addMappingsBuilder( + int index) { + return getMappingsFieldBuilder().addBuilder( + index, org.nd4j.ir.MapperNamespace.MapperDeclaration.getDefaultInstance()); + } + /** + * repeated .org.nd4j.ir.MapperDeclaration mappings = 1; + */ + public java.util.List + getMappingsBuilderList() { + return getMappingsFieldBuilder().getBuilderList(); + } + private org.nd4j.shade.protobuf.RepeatedFieldBuilderV3< + org.nd4j.ir.MapperNamespace.MapperDeclaration, org.nd4j.ir.MapperNamespace.MapperDeclaration.Builder, org.nd4j.ir.MapperNamespace.MapperDeclarationOrBuilder> + getMappingsFieldBuilder() { + if (mappingsBuilder_ == null) { + mappingsBuilder_ = new org.nd4j.shade.protobuf.RepeatedFieldBuilderV3< + org.nd4j.ir.MapperNamespace.MapperDeclaration, org.nd4j.ir.MapperNamespace.MapperDeclaration.Builder, org.nd4j.ir.MapperNamespace.MapperDeclarationOrBuilder>( + mappings_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + mappings_ = null; + } + return mappingsBuilder_; + } + + private org.nd4j.shade.protobuf.LazyStringList name_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + private void ensureNameIsMutable() { + if (!((bitField0_ & 0x00000002) != 0)) { + name_ = new org.nd4j.shade.protobuf.LazyStringArrayList(name_); + bitField0_ |= 0x00000002; + } + } + /** + * repeated string name = 2; + */ + public org.nd4j.shade.protobuf.ProtocolStringList + getNameList() { + return name_.getUnmodifiableView(); + } + /** + * repeated string name = 2; + */ + public int getNameCount() { + return name_.size(); + } + /** + * repeated string name = 2; + */ + public java.lang.String getName(int index) { + return name_.get(index); + } + /** + * repeated string name = 2; + */ + public org.nd4j.shade.protobuf.ByteString + getNameBytes(int index) { + return name_.getByteString(index); + } + /** + * repeated string name = 2; + */ + public Builder setName( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureNameIsMutable(); + name_.set(index, value); + onChanged(); + return this; + } + /** + * repeated string name = 2; + */ + public Builder addName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureNameIsMutable(); + name_.add(value); + onChanged(); + return this; + } + /** + * repeated string name = 2; + */ + public Builder addAllName( + java.lang.Iterable values) { + ensureNameIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, name_); + onChanged(); + return this; + } + /** + * repeated string name = 2; + */ + public Builder clearName() { + name_ = org.nd4j.shade.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + * repeated string name = 2; + */ + public Builder addNameBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureNameIsMutable(); + name_.add(value); + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:org.nd4j.ir.MappingDefinitionSet) + } + + // @@protoc_insertion_point(class_scope:org.nd4j.ir.MappingDefinitionSet) + private static final org.nd4j.ir.MapperNamespace.MappingDefinitionSet DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.nd4j.ir.MapperNamespace.MappingDefinitionSet(); + } + + public static org.nd4j.ir.MapperNamespace.MappingDefinitionSet getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final org.nd4j.shade.protobuf.Parser + PARSER = new org.nd4j.shade.protobuf.AbstractParser() { + @java.lang.Override + public MappingDefinitionSet parsePartialFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return new MappingDefinitionSet(input, extensionRegistry); + } + }; + + public static org.nd4j.shade.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.ir.MapperNamespace.MappingDefinitionSet getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface MapperDeclarationOrBuilder extends + // @@protoc_insertion_point(interface_extends:org.nd4j.ir.MapperDeclaration) + org.nd4j.shade.protobuf.MessageOrBuilder { + + /** + * string frameworkName = 1; + */ + java.lang.String getFrameworkName(); + /** + * string frameworkName = 1; + */ + org.nd4j.shade.protobuf.ByteString + getFrameworkNameBytes(); + + /** + * string opName = 2; + */ + java.lang.String getOpName(); + /** + * string opName = 2; + */ + org.nd4j.shade.protobuf.ByteString + getOpNameBytes(); + + /** + * string inputFrameworkOpName = 3; + */ + java.lang.String getInputFrameworkOpName(); + /** + * string inputFrameworkOpName = 3; + */ + org.nd4j.shade.protobuf.ByteString + getInputFrameworkOpNameBytes(); + + /** + *
        +     *the rules to apply for attributes
        +     * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + java.util.List + getRuleList(); + /** + *
        +     *the rules to apply for attributes
        +     * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + org.nd4j.ir.MapperNamespace.MappingRule getRule(int index); + /** + *
        +     *the rules to apply for attributes
        +     * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + int getRuleCount(); + /** + *
        +     *the rules to apply for attributes
        +     * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + java.util.List + getRuleOrBuilderList(); + /** + *
        +     *the rules to apply for attributes
        +     * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + org.nd4j.ir.MapperNamespace.MappingRuleOrBuilder getRuleOrBuilder( + int index); + + /** + * map<int64, int64> indexOverrides = 5; + */ + int getIndexOverridesCount(); + /** + * map<int64, int64> indexOverrides = 5; + */ + boolean containsIndexOverrides( + long key); + /** + * Use {@link #getIndexOverridesMap()} instead. + */ + @java.lang.Deprecated + java.util.Map + getIndexOverrides(); + /** + * map<int64, int64> indexOverrides = 5; + */ + java.util.Map + getIndexOverridesMap(); + /** + * map<int64, int64> indexOverrides = 5; + */ + + long getIndexOverridesOrDefault( + long key, + long defaultValue); + /** + * map<int64, int64> indexOverrides = 5; + */ + + long getIndexOverridesOrThrow( + long key); + } + /** + * Protobuf type {@code org.nd4j.ir.MapperDeclaration} + */ + public static final class MapperDeclaration extends + org.nd4j.shade.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:org.nd4j.ir.MapperDeclaration) + MapperDeclarationOrBuilder { + private static final long serialVersionUID = 0L; + // Use MapperDeclaration.newBuilder() to construct. + private MapperDeclaration(org.nd4j.shade.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private MapperDeclaration() { + frameworkName_ = ""; + opName_ = ""; + inputFrameworkOpName_ = ""; + rule_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new MapperDeclaration(); + } + + @java.lang.Override + public final org.nd4j.shade.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private MapperDeclaration( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + org.nd4j.shade.protobuf.UnknownFieldSet.Builder unknownFields = + org.nd4j.shade.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + frameworkName_ = s; + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + opName_ = s; + break; + } + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + + inputFrameworkOpName_ = s; + break; + } + case 34: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + rule_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + rule_.add( + input.readMessage(org.nd4j.ir.MapperNamespace.MappingRule.parser(), extensionRegistry)); + break; + } + case 42: { + if (!((mutable_bitField0_ & 0x00000002) != 0)) { + indexOverrides_ = org.nd4j.shade.protobuf.MapField.newMapField( + IndexOverridesDefaultEntryHolder.defaultEntry); + mutable_bitField0_ |= 0x00000002; + } + org.nd4j.shade.protobuf.MapEntry + indexOverrides__ = input.readMessage( + IndexOverridesDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); + indexOverrides_.getMutableMap().put( + indexOverrides__.getKey(), indexOverrides__.getValue()); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new org.nd4j.shade.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + rule_ = java.util.Collections.unmodifiableList(rule_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.MapperNamespace.internal_static_org_nd4j_ir_MapperDeclaration_descriptor; + } + + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected org.nd4j.shade.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 5: + return internalGetIndexOverrides(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.MapperNamespace.internal_static_org_nd4j_ir_MapperDeclaration_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.MapperNamespace.MapperDeclaration.class, org.nd4j.ir.MapperNamespace.MapperDeclaration.Builder.class); + } + + public static final int FRAMEWORKNAME_FIELD_NUMBER = 1; + private volatile java.lang.Object frameworkName_; + /** + * string frameworkName = 1; + */ + public java.lang.String getFrameworkName() { + java.lang.Object ref = frameworkName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + frameworkName_ = s; + return s; + } + } + /** + * string frameworkName = 1; + */ + public org.nd4j.shade.protobuf.ByteString + getFrameworkNameBytes() { + java.lang.Object ref = frameworkName_; + if (ref instanceof java.lang.String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + frameworkName_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + + public static final int OPNAME_FIELD_NUMBER = 2; + private volatile java.lang.Object opName_; + /** + * string opName = 2; + */ + public java.lang.String getOpName() { + java.lang.Object ref = opName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + opName_ = s; + return s; + } + } + /** + * string opName = 2; + */ + public org.nd4j.shade.protobuf.ByteString + getOpNameBytes() { + java.lang.Object ref = opName_; + if (ref instanceof java.lang.String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + opName_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + + public static final int INPUTFRAMEWORKOPNAME_FIELD_NUMBER = 3; + private volatile java.lang.Object inputFrameworkOpName_; + /** + * string inputFrameworkOpName = 3; + */ + public java.lang.String getInputFrameworkOpName() { + java.lang.Object ref = inputFrameworkOpName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + inputFrameworkOpName_ = s; + return s; + } + } + /** + * string inputFrameworkOpName = 3; + */ + public org.nd4j.shade.protobuf.ByteString + getInputFrameworkOpNameBytes() { + java.lang.Object ref = inputFrameworkOpName_; + if (ref instanceof java.lang.String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + inputFrameworkOpName_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + + public static final int RULE_FIELD_NUMBER = 4; + private java.util.List rule_; + /** + *
        +     *the rules to apply for attributes
        +     * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + public java.util.List getRuleList() { + return rule_; + } + /** + *
        +     *the rules to apply for attributes
        +     * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + public java.util.List + getRuleOrBuilderList() { + return rule_; + } + /** + *
        +     *the rules to apply for attributes
        +     * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + public int getRuleCount() { + return rule_.size(); + } + /** + *
        +     *the rules to apply for attributes
        +     * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + public org.nd4j.ir.MapperNamespace.MappingRule getRule(int index) { + return rule_.get(index); + } + /** + *
        +     *the rules to apply for attributes
        +     * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + public org.nd4j.ir.MapperNamespace.MappingRuleOrBuilder getRuleOrBuilder( + int index) { + return rule_.get(index); + } + + public static final int INDEXOVERRIDES_FIELD_NUMBER = 5; + private static final class IndexOverridesDefaultEntryHolder { + static final org.nd4j.shade.protobuf.MapEntry< + java.lang.Long, java.lang.Long> defaultEntry = + org.nd4j.shade.protobuf.MapEntry + .newDefaultInstance( + org.nd4j.ir.MapperNamespace.internal_static_org_nd4j_ir_MapperDeclaration_IndexOverridesEntry_descriptor, + org.nd4j.shade.protobuf.WireFormat.FieldType.INT64, + 0L, + org.nd4j.shade.protobuf.WireFormat.FieldType.INT64, + 0L); + } + private org.nd4j.shade.protobuf.MapField< + java.lang.Long, java.lang.Long> indexOverrides_; + private org.nd4j.shade.protobuf.MapField + internalGetIndexOverrides() { + if (indexOverrides_ == null) { + return org.nd4j.shade.protobuf.MapField.emptyMapField( + IndexOverridesDefaultEntryHolder.defaultEntry); + } + return indexOverrides_; + } + + public int getIndexOverridesCount() { + return internalGetIndexOverrides().getMap().size(); + } + /** + * map<int64, int64> indexOverrides = 5; + */ + + public boolean containsIndexOverrides( + long key) { + + return internalGetIndexOverrides().getMap().containsKey(key); + } + /** + * Use {@link #getIndexOverridesMap()} instead. + */ + @java.lang.Deprecated + public java.util.Map getIndexOverrides() { + return getIndexOverridesMap(); + } + /** + * map<int64, int64> indexOverrides = 5; + */ + + public java.util.Map getIndexOverridesMap() { + return internalGetIndexOverrides().getMap(); + } + /** + * map<int64, int64> indexOverrides = 5; + */ + + public long getIndexOverridesOrDefault( + long key, + long defaultValue) { + + java.util.Map map = + internalGetIndexOverrides().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + * map<int64, int64> indexOverrides = 5; + */ + + public long getIndexOverridesOrThrow( + long key) { + + java.util.Map map = + internalGetIndexOverrides().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(org.nd4j.shade.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!getFrameworkNameBytes().isEmpty()) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 1, frameworkName_); + } + if (!getOpNameBytes().isEmpty()) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 2, opName_); + } + if (!getInputFrameworkOpNameBytes().isEmpty()) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 3, inputFrameworkOpName_); + } + for (int i = 0; i < rule_.size(); i++) { + output.writeMessage(4, rule_.get(i)); + } + org.nd4j.shade.protobuf.GeneratedMessageV3 + .serializeLongMapTo( + output, + internalGetIndexOverrides(), + IndexOverridesDefaultEntryHolder.defaultEntry, + 5); + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getFrameworkNameBytes().isEmpty()) { + size += org.nd4j.shade.protobuf.GeneratedMessageV3.computeStringSize(1, frameworkName_); + } + if (!getOpNameBytes().isEmpty()) { + size += org.nd4j.shade.protobuf.GeneratedMessageV3.computeStringSize(2, opName_); + } + if (!getInputFrameworkOpNameBytes().isEmpty()) { + size += org.nd4j.shade.protobuf.GeneratedMessageV3.computeStringSize(3, inputFrameworkOpName_); + } + for (int i = 0; i < rule_.size(); i++) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeMessageSize(4, rule_.get(i)); + } + for (java.util.Map.Entry entry + : internalGetIndexOverrides().getMap().entrySet()) { + org.nd4j.shade.protobuf.MapEntry + indexOverrides__ = IndexOverridesDefaultEntryHolder.defaultEntry.newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeMessageSize(5, indexOverrides__); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.nd4j.ir.MapperNamespace.MapperDeclaration)) { + return super.equals(obj); + } + org.nd4j.ir.MapperNamespace.MapperDeclaration other = (org.nd4j.ir.MapperNamespace.MapperDeclaration) obj; + + if (!getFrameworkName() + .equals(other.getFrameworkName())) return false; + if (!getOpName() + .equals(other.getOpName())) return false; + if (!getInputFrameworkOpName() + .equals(other.getInputFrameworkOpName())) return false; + if (!getRuleList() + .equals(other.getRuleList())) return false; + if (!internalGetIndexOverrides().equals( + other.internalGetIndexOverrides())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + FRAMEWORKNAME_FIELD_NUMBER; + hash = (53 * hash) + getFrameworkName().hashCode(); + hash = (37 * hash) + OPNAME_FIELD_NUMBER; + hash = (53 * hash) + getOpName().hashCode(); + hash = (37 * hash) + INPUTFRAMEWORKOPNAME_FIELD_NUMBER; + hash = (53 * hash) + getInputFrameworkOpName().hashCode(); + if (getRuleCount() > 0) { + hash = (37 * hash) + RULE_FIELD_NUMBER; + hash = (53 * hash) + getRuleList().hashCode(); + } + if (!internalGetIndexOverrides().getMap().isEmpty()) { + hash = (37 * hash) + INDEXOVERRIDES_FIELD_NUMBER; + hash = (53 * hash) + internalGetIndexOverrides().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.nd4j.ir.MapperNamespace.MapperDeclaration parseFrom( + java.nio.ByteBuffer data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.MapperNamespace.MapperDeclaration parseFrom( + java.nio.ByteBuffer data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.MapperNamespace.MapperDeclaration parseFrom( + org.nd4j.shade.protobuf.ByteString data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.MapperNamespace.MapperDeclaration parseFrom( + org.nd4j.shade.protobuf.ByteString data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.MapperNamespace.MapperDeclaration parseFrom(byte[] data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.MapperNamespace.MapperDeclaration parseFrom( + byte[] data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.MapperNamespace.MapperDeclaration parseFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.MapperNamespace.MapperDeclaration parseFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.MapperNamespace.MapperDeclaration parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static org.nd4j.ir.MapperNamespace.MapperDeclaration parseDelimitedFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.MapperNamespace.MapperDeclaration parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.MapperNamespace.MapperDeclaration parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.nd4j.ir.MapperNamespace.MapperDeclaration prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code org.nd4j.ir.MapperDeclaration} + */ + public static final class Builder extends + org.nd4j.shade.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:org.nd4j.ir.MapperDeclaration) + org.nd4j.ir.MapperNamespace.MapperDeclarationOrBuilder { + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.MapperNamespace.internal_static_org_nd4j_ir_MapperDeclaration_descriptor; + } + + @SuppressWarnings({"rawtypes"}) + protected org.nd4j.shade.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 5: + return internalGetIndexOverrides(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @SuppressWarnings({"rawtypes"}) + protected org.nd4j.shade.protobuf.MapField internalGetMutableMapField( + int number) { + switch (number) { + case 5: + return internalGetMutableIndexOverrides(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.MapperNamespace.internal_static_org_nd4j_ir_MapperDeclaration_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.MapperNamespace.MapperDeclaration.class, org.nd4j.ir.MapperNamespace.MapperDeclaration.Builder.class); + } + + // Construct using org.nd4j.ir.MapperNamespace.MapperDeclaration.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (org.nd4j.shade.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getRuleFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + frameworkName_ = ""; + + opName_ = ""; + + inputFrameworkOpName_ = ""; + + if (ruleBuilder_ == null) { + rule_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ruleBuilder_.clear(); + } + internalGetMutableIndexOverrides().clear(); + return this; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.nd4j.ir.MapperNamespace.internal_static_org_nd4j_ir_MapperDeclaration_descriptor; + } + + @java.lang.Override + public org.nd4j.ir.MapperNamespace.MapperDeclaration getDefaultInstanceForType() { + return org.nd4j.ir.MapperNamespace.MapperDeclaration.getDefaultInstance(); + } + + @java.lang.Override + public org.nd4j.ir.MapperNamespace.MapperDeclaration build() { + org.nd4j.ir.MapperNamespace.MapperDeclaration result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.nd4j.ir.MapperNamespace.MapperDeclaration buildPartial() { + org.nd4j.ir.MapperNamespace.MapperDeclaration result = new org.nd4j.ir.MapperNamespace.MapperDeclaration(this); + int from_bitField0_ = bitField0_; + result.frameworkName_ = frameworkName_; + result.opName_ = opName_; + result.inputFrameworkOpName_ = inputFrameworkOpName_; + if (ruleBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + rule_ = java.util.Collections.unmodifiableList(rule_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.rule_ = rule_; + } else { + result.rule_ = ruleBuilder_.build(); + } + result.indexOverrides_ = internalGetIndexOverrides(); + result.indexOverrides_.makeImmutable(); + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + org.nd4j.shade.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(org.nd4j.shade.protobuf.Message other) { + if (other instanceof org.nd4j.ir.MapperNamespace.MapperDeclaration) { + return mergeFrom((org.nd4j.ir.MapperNamespace.MapperDeclaration)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.nd4j.ir.MapperNamespace.MapperDeclaration other) { + if (other == org.nd4j.ir.MapperNamespace.MapperDeclaration.getDefaultInstance()) return this; + if (!other.getFrameworkName().isEmpty()) { + frameworkName_ = other.frameworkName_; + onChanged(); + } + if (!other.getOpName().isEmpty()) { + opName_ = other.opName_; + onChanged(); + } + if (!other.getInputFrameworkOpName().isEmpty()) { + inputFrameworkOpName_ = other.inputFrameworkOpName_; + onChanged(); + } + if (ruleBuilder_ == null) { + if (!other.rule_.isEmpty()) { + if (rule_.isEmpty()) { + rule_ = other.rule_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureRuleIsMutable(); + rule_.addAll(other.rule_); + } + onChanged(); + } + } else { + if (!other.rule_.isEmpty()) { + if (ruleBuilder_.isEmpty()) { + ruleBuilder_.dispose(); + ruleBuilder_ = null; + rule_ = other.rule_; + bitField0_ = (bitField0_ & ~0x00000001); + ruleBuilder_ = + org.nd4j.shade.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getRuleFieldBuilder() : null; + } else { + ruleBuilder_.addAllMessages(other.rule_); + } + } + } + internalGetMutableIndexOverrides().mergeFrom( + other.internalGetIndexOverrides()); + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.nd4j.ir.MapperNamespace.MapperDeclaration parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.nd4j.ir.MapperNamespace.MapperDeclaration) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.lang.Object frameworkName_ = ""; + /** + * string frameworkName = 1; + */ + public java.lang.String getFrameworkName() { + java.lang.Object ref = frameworkName_; + if (!(ref instanceof java.lang.String)) { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + frameworkName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string frameworkName = 1; + */ + public org.nd4j.shade.protobuf.ByteString + getFrameworkNameBytes() { + java.lang.Object ref = frameworkName_; + if (ref instanceof String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + frameworkName_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + /** + * string frameworkName = 1; + */ + public Builder setFrameworkName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + frameworkName_ = value; + onChanged(); + return this; + } + /** + * string frameworkName = 1; + */ + public Builder clearFrameworkName() { + + frameworkName_ = getDefaultInstance().getFrameworkName(); + onChanged(); + return this; + } + /** + * string frameworkName = 1; + */ + public Builder setFrameworkNameBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + frameworkName_ = value; + onChanged(); + return this; + } + + private java.lang.Object opName_ = ""; + /** + * string opName = 2; + */ + public java.lang.String getOpName() { + java.lang.Object ref = opName_; + if (!(ref instanceof java.lang.String)) { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + opName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string opName = 2; + */ + public org.nd4j.shade.protobuf.ByteString + getOpNameBytes() { + java.lang.Object ref = opName_; + if (ref instanceof String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + opName_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + /** + * string opName = 2; + */ + public Builder setOpName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + opName_ = value; + onChanged(); + return this; + } + /** + * string opName = 2; + */ + public Builder clearOpName() { + + opName_ = getDefaultInstance().getOpName(); + onChanged(); + return this; + } + /** + * string opName = 2; + */ + public Builder setOpNameBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + opName_ = value; + onChanged(); + return this; + } + + private java.lang.Object inputFrameworkOpName_ = ""; + /** + * string inputFrameworkOpName = 3; + */ + public java.lang.String getInputFrameworkOpName() { + java.lang.Object ref = inputFrameworkOpName_; + if (!(ref instanceof java.lang.String)) { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + inputFrameworkOpName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string inputFrameworkOpName = 3; + */ + public org.nd4j.shade.protobuf.ByteString + getInputFrameworkOpNameBytes() { + java.lang.Object ref = inputFrameworkOpName_; + if (ref instanceof String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + inputFrameworkOpName_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + /** + * string inputFrameworkOpName = 3; + */ + public Builder setInputFrameworkOpName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + inputFrameworkOpName_ = value; + onChanged(); + return this; + } + /** + * string inputFrameworkOpName = 3; + */ + public Builder clearInputFrameworkOpName() { + + inputFrameworkOpName_ = getDefaultInstance().getInputFrameworkOpName(); + onChanged(); + return this; + } + /** + * string inputFrameworkOpName = 3; + */ + public Builder setInputFrameworkOpNameBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + inputFrameworkOpName_ = value; + onChanged(); + return this; + } + + private java.util.List rule_ = + java.util.Collections.emptyList(); + private void ensureRuleIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + rule_ = new java.util.ArrayList(rule_); + bitField0_ |= 0x00000001; + } + } + + private org.nd4j.shade.protobuf.RepeatedFieldBuilderV3< + org.nd4j.ir.MapperNamespace.MappingRule, org.nd4j.ir.MapperNamespace.MappingRule.Builder, org.nd4j.ir.MapperNamespace.MappingRuleOrBuilder> ruleBuilder_; + + /** + *
        +       *the rules to apply for attributes
        +       * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + public java.util.List getRuleList() { + if (ruleBuilder_ == null) { + return java.util.Collections.unmodifiableList(rule_); + } else { + return ruleBuilder_.getMessageList(); + } + } + /** + *
        +       *the rules to apply for attributes
        +       * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + public int getRuleCount() { + if (ruleBuilder_ == null) { + return rule_.size(); + } else { + return ruleBuilder_.getCount(); + } + } + /** + *
        +       *the rules to apply for attributes
        +       * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + public org.nd4j.ir.MapperNamespace.MappingRule getRule(int index) { + if (ruleBuilder_ == null) { + return rule_.get(index); + } else { + return ruleBuilder_.getMessage(index); + } + } + /** + *
        +       *the rules to apply for attributes
        +       * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + public Builder setRule( + int index, org.nd4j.ir.MapperNamespace.MappingRule value) { + if (ruleBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRuleIsMutable(); + rule_.set(index, value); + onChanged(); + } else { + ruleBuilder_.setMessage(index, value); + } + return this; + } + /** + *
        +       *the rules to apply for attributes
        +       * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + public Builder setRule( + int index, org.nd4j.ir.MapperNamespace.MappingRule.Builder builderForValue) { + if (ruleBuilder_ == null) { + ensureRuleIsMutable(); + rule_.set(index, builderForValue.build()); + onChanged(); + } else { + ruleBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
        +       *the rules to apply for attributes
        +       * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + public Builder addRule(org.nd4j.ir.MapperNamespace.MappingRule value) { + if (ruleBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRuleIsMutable(); + rule_.add(value); + onChanged(); + } else { + ruleBuilder_.addMessage(value); + } + return this; + } + /** + *
        +       *the rules to apply for attributes
        +       * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + public Builder addRule( + int index, org.nd4j.ir.MapperNamespace.MappingRule value) { + if (ruleBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRuleIsMutable(); + rule_.add(index, value); + onChanged(); + } else { + ruleBuilder_.addMessage(index, value); + } + return this; + } + /** + *
        +       *the rules to apply for attributes
        +       * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + public Builder addRule( + org.nd4j.ir.MapperNamespace.MappingRule.Builder builderForValue) { + if (ruleBuilder_ == null) { + ensureRuleIsMutable(); + rule_.add(builderForValue.build()); + onChanged(); + } else { + ruleBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
        +       *the rules to apply for attributes
        +       * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + public Builder addRule( + int index, org.nd4j.ir.MapperNamespace.MappingRule.Builder builderForValue) { + if (ruleBuilder_ == null) { + ensureRuleIsMutable(); + rule_.add(index, builderForValue.build()); + onChanged(); + } else { + ruleBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
        +       *the rules to apply for attributes
        +       * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + public Builder addAllRule( + java.lang.Iterable values) { + if (ruleBuilder_ == null) { + ensureRuleIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, rule_); + onChanged(); + } else { + ruleBuilder_.addAllMessages(values); + } + return this; + } + /** + *
        +       *the rules to apply for attributes
        +       * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + public Builder clearRule() { + if (ruleBuilder_ == null) { + rule_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + ruleBuilder_.clear(); + } + return this; + } + /** + *
        +       *the rules to apply for attributes
        +       * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + public Builder removeRule(int index) { + if (ruleBuilder_ == null) { + ensureRuleIsMutable(); + rule_.remove(index); + onChanged(); + } else { + ruleBuilder_.remove(index); + } + return this; + } + /** + *
        +       *the rules to apply for attributes
        +       * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + public org.nd4j.ir.MapperNamespace.MappingRule.Builder getRuleBuilder( + int index) { + return getRuleFieldBuilder().getBuilder(index); + } + /** + *
        +       *the rules to apply for attributes
        +       * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + public org.nd4j.ir.MapperNamespace.MappingRuleOrBuilder getRuleOrBuilder( + int index) { + if (ruleBuilder_ == null) { + return rule_.get(index); } else { + return ruleBuilder_.getMessageOrBuilder(index); + } + } + /** + *
        +       *the rules to apply for attributes
        +       * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + public java.util.List + getRuleOrBuilderList() { + if (ruleBuilder_ != null) { + return ruleBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(rule_); + } + } + /** + *
        +       *the rules to apply for attributes
        +       * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + public org.nd4j.ir.MapperNamespace.MappingRule.Builder addRuleBuilder() { + return getRuleFieldBuilder().addBuilder( + org.nd4j.ir.MapperNamespace.MappingRule.getDefaultInstance()); + } + /** + *
        +       *the rules to apply for attributes
        +       * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + public org.nd4j.ir.MapperNamespace.MappingRule.Builder addRuleBuilder( + int index) { + return getRuleFieldBuilder().addBuilder( + index, org.nd4j.ir.MapperNamespace.MappingRule.getDefaultInstance()); + } + /** + *
        +       *the rules to apply for attributes
        +       * 
        + * + * repeated .org.nd4j.ir.MappingRule rule = 4; + */ + public java.util.List + getRuleBuilderList() { + return getRuleFieldBuilder().getBuilderList(); + } + private org.nd4j.shade.protobuf.RepeatedFieldBuilderV3< + org.nd4j.ir.MapperNamespace.MappingRule, org.nd4j.ir.MapperNamespace.MappingRule.Builder, org.nd4j.ir.MapperNamespace.MappingRuleOrBuilder> + getRuleFieldBuilder() { + if (ruleBuilder_ == null) { + ruleBuilder_ = new org.nd4j.shade.protobuf.RepeatedFieldBuilderV3< + org.nd4j.ir.MapperNamespace.MappingRule, org.nd4j.ir.MapperNamespace.MappingRule.Builder, org.nd4j.ir.MapperNamespace.MappingRuleOrBuilder>( + rule_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + rule_ = null; + } + return ruleBuilder_; + } + + private org.nd4j.shade.protobuf.MapField< + java.lang.Long, java.lang.Long> indexOverrides_; + private org.nd4j.shade.protobuf.MapField + internalGetIndexOverrides() { + if (indexOverrides_ == null) { + return org.nd4j.shade.protobuf.MapField.emptyMapField( + IndexOverridesDefaultEntryHolder.defaultEntry); + } + return indexOverrides_; + } + private org.nd4j.shade.protobuf.MapField + internalGetMutableIndexOverrides() { + onChanged();; + if (indexOverrides_ == null) { + indexOverrides_ = org.nd4j.shade.protobuf.MapField.newMapField( + IndexOverridesDefaultEntryHolder.defaultEntry); + } + if (!indexOverrides_.isMutable()) { + indexOverrides_ = indexOverrides_.copy(); + } + return indexOverrides_; + } + + public int getIndexOverridesCount() { + return internalGetIndexOverrides().getMap().size(); + } + /** + * map<int64, int64> indexOverrides = 5; + */ + + public boolean containsIndexOverrides( + long key) { + + return internalGetIndexOverrides().getMap().containsKey(key); + } + /** + * Use {@link #getIndexOverridesMap()} instead. + */ + @java.lang.Deprecated + public java.util.Map getIndexOverrides() { + return getIndexOverridesMap(); + } + /** + * map<int64, int64> indexOverrides = 5; + */ + + public java.util.Map getIndexOverridesMap() { + return internalGetIndexOverrides().getMap(); + } + /** + * map<int64, int64> indexOverrides = 5; + */ + + public long getIndexOverridesOrDefault( + long key, + long defaultValue) { + + java.util.Map map = + internalGetIndexOverrides().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + * map<int64, int64> indexOverrides = 5; + */ + + public long getIndexOverridesOrThrow( + long key) { + + java.util.Map map = + internalGetIndexOverrides().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + public Builder clearIndexOverrides() { + internalGetMutableIndexOverrides().getMutableMap() + .clear(); + return this; + } + /** + * map<int64, int64> indexOverrides = 5; + */ + + public Builder removeIndexOverrides( + long key) { + + internalGetMutableIndexOverrides().getMutableMap() + .remove(key); + return this; + } + /** + * Use alternate mutation accessors instead. + */ + @java.lang.Deprecated + public java.util.Map + getMutableIndexOverrides() { + return internalGetMutableIndexOverrides().getMutableMap(); + } + /** + * map<int64, int64> indexOverrides = 5; + */ + public Builder putIndexOverrides( + long key, + long value) { + + + internalGetMutableIndexOverrides().getMutableMap() + .put(key, value); + return this; + } + /** + * map<int64, int64> indexOverrides = 5; + */ + + public Builder putAllIndexOverrides( + java.util.Map values) { + internalGetMutableIndexOverrides().getMutableMap() + .putAll(values); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:org.nd4j.ir.MapperDeclaration) + } + + // @@protoc_insertion_point(class_scope:org.nd4j.ir.MapperDeclaration) + private static final org.nd4j.ir.MapperNamespace.MapperDeclaration DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.nd4j.ir.MapperNamespace.MapperDeclaration(); + } + + public static org.nd4j.ir.MapperNamespace.MapperDeclaration getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final org.nd4j.shade.protobuf.Parser + PARSER = new org.nd4j.shade.protobuf.AbstractParser() { + @java.lang.Override + public MapperDeclaration parsePartialFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return new MapperDeclaration(input, extensionRegistry); + } + }; + + public static org.nd4j.shade.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.ir.MapperNamespace.MapperDeclaration getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + private static final org.nd4j.shade.protobuf.Descriptors.Descriptor + internal_static_org_nd4j_ir_MappingRule_descriptor; + private static final + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_org_nd4j_ir_MappingRule_fieldAccessorTable; + private static final org.nd4j.shade.protobuf.Descriptors.Descriptor + internal_static_org_nd4j_ir_MappingRule_InputToOutputEntry_descriptor; + private static final + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_org_nd4j_ir_MappingRule_InputToOutputEntry_fieldAccessorTable; + private static final org.nd4j.shade.protobuf.Descriptors.Descriptor + internal_static_org_nd4j_ir_TransformerArgs_descriptor; + private static final + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_org_nd4j_ir_TransformerArgs_fieldAccessorTable; + private static final org.nd4j.shade.protobuf.Descriptors.Descriptor + internal_static_org_nd4j_ir_MappingDefinitionSet_descriptor; + private static final + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_org_nd4j_ir_MappingDefinitionSet_fieldAccessorTable; + private static final org.nd4j.shade.protobuf.Descriptors.Descriptor + internal_static_org_nd4j_ir_MapperDeclaration_descriptor; + private static final + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_org_nd4j_ir_MapperDeclaration_fieldAccessorTable; + private static final org.nd4j.shade.protobuf.Descriptors.Descriptor + internal_static_org_nd4j_ir_MapperDeclaration_IndexOverridesEntry_descriptor; + private static final + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_org_nd4j_ir_MapperDeclaration_IndexOverridesEntry_fieldAccessorTable; + + public static org.nd4j.shade.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static org.nd4j.shade.protobuf.Descriptors.FileDescriptor + descriptor; + static { + java.lang.String[] descriptorData = { + "\n\014mapper.proto\022\013org.nd4j.ir\032\010op.proto\"\201\005" + + "\n\013MappingRule\022\020\n\010ruleName\030\001 \001(\t\022\024\n\014funct" + + "ionName\030\002 \001(\t\022\033\n\023inputStringAttrName\030\003 \003" + + "(\t\022\034\n\024outputStringAttrName\030\004 \003(\t\022\024\n\014inpu" + + "tIntName\030\005 \003(\t\022\025\n\routputIntName\030\006 \003(\t\022\026\n" + + "\016inputFloatName\030\007 \003(\t\022\027\n\017outputFloatName" + + "\030\010 \003(\t\022\027\n\017inputDoubleName\030\t \003(\t\022\030\n\020outpu" + + "tDoubleName\030\n \003(\t\022\030\n\020inputBooleanName\030\013 " + + "\003(\t\022\031\n\021outputBooleanName\030\014 \003(\t\022\027\n\017inputT" + + "ensorName\030\r \003(\t\022\030\n\020outputTensorName\030\016 \003(" + + "\t\022\031\n\021inputDataTypeName\030\017 \003(\t\022\032\n\022outputDa" + + "taTypeName\030\020 \003(\t\022B\n\rinputToOutput\030\021 \003(\0132" + + "+.org.nd4j.ir.MappingRule.InputToOutputE" + + "ntry\022\020\n\010ruleType\030\022 \001(\t\0225\n\017transformerArg" + + "s\030\023 \003(\0132\034.org.nd4j.ir.TransformerArgs\022\034\n" + + "\024inputFrameworkOpName\030\024 \001(\t\0324\n\022InputToOu" + + "tputEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028" + + "\001\"S\n\017TransformerArgs\022\013\n\003key\030\001 \001(\t\0223\n\017tra" + + "nsformerArgs\030\002 \003(\0132\032.org.nd4j.ir.ArgDesc" + + "riptor\"V\n\024MappingDefinitionSet\0220\n\010mappin" + + "gs\030\001 \003(\0132\036.org.nd4j.ir.MapperDeclaration" + + "\022\014\n\004name\030\002 \003(\t\"\203\002\n\021MapperDeclaration\022\025\n\r" + + "frameworkName\030\001 \001(\t\022\016\n\006opName\030\002 \001(\t\022\034\n\024i" + + "nputFrameworkOpName\030\003 \001(\t\022&\n\004rule\030\004 \003(\0132" + + "\030.org.nd4j.ir.MappingRule\022J\n\016indexOverri" + + "des\030\005 \003(\01322.org.nd4j.ir.MapperDeclaratio" + + "n.IndexOverridesEntry\0325\n\023IndexOverridesE" + + "ntry\022\013\n\003key\030\001 \001(\003\022\r\n\005value\030\002 \001(\003:\0028\001*b\n\n" + + "OpListType\022\010\n\004TARG\020\000\022\010\n\004IARG\020\001\022\010\n\004BARG\020\002" + + "\022\014\n\010DTYPEARG\020\003\022\014\n\010INPUTARG\020\004\022\r\n\tOUTPUTAR" + + "G\020\005\022\013\n\007AXISARG\020\006B\021B\017MapperNamespaceb\006pro" + + "to3" + }; + descriptor = org.nd4j.shade.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new org.nd4j.shade.protobuf.Descriptors.FileDescriptor[] { + org.nd4j.ir.OpNamespace.getDescriptor(), + }); + internal_static_org_nd4j_ir_MappingRule_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_org_nd4j_ir_MappingRule_fieldAccessorTable = new + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_org_nd4j_ir_MappingRule_descriptor, + new java.lang.String[] { "RuleName", "FunctionName", "InputStringAttrName", "OutputStringAttrName", "InputIntName", "OutputIntName", "InputFloatName", "OutputFloatName", "InputDoubleName", "OutputDoubleName", "InputBooleanName", "OutputBooleanName", "InputTensorName", "OutputTensorName", "InputDataTypeName", "OutputDataTypeName", "InputToOutput", "RuleType", "TransformerArgs", "InputFrameworkOpName", }); + internal_static_org_nd4j_ir_MappingRule_InputToOutputEntry_descriptor = + internal_static_org_nd4j_ir_MappingRule_descriptor.getNestedTypes().get(0); + internal_static_org_nd4j_ir_MappingRule_InputToOutputEntry_fieldAccessorTable = new + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_org_nd4j_ir_MappingRule_InputToOutputEntry_descriptor, + new java.lang.String[] { "Key", "Value", }); + internal_static_org_nd4j_ir_TransformerArgs_descriptor = + getDescriptor().getMessageTypes().get(1); + internal_static_org_nd4j_ir_TransformerArgs_fieldAccessorTable = new + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_org_nd4j_ir_TransformerArgs_descriptor, + new java.lang.String[] { "Key", "TransformerArgs", }); + internal_static_org_nd4j_ir_MappingDefinitionSet_descriptor = + getDescriptor().getMessageTypes().get(2); + internal_static_org_nd4j_ir_MappingDefinitionSet_fieldAccessorTable = new + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_org_nd4j_ir_MappingDefinitionSet_descriptor, + new java.lang.String[] { "Mappings", "Name", }); + internal_static_org_nd4j_ir_MapperDeclaration_descriptor = + getDescriptor().getMessageTypes().get(3); + internal_static_org_nd4j_ir_MapperDeclaration_fieldAccessorTable = new + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_org_nd4j_ir_MapperDeclaration_descriptor, + new java.lang.String[] { "FrameworkName", "OpName", "InputFrameworkOpName", "Rule", "IndexOverrides", }); + internal_static_org_nd4j_ir_MapperDeclaration_IndexOverridesEntry_descriptor = + internal_static_org_nd4j_ir_MapperDeclaration_descriptor.getNestedTypes().get(0); + internal_static_org_nd4j_ir_MapperDeclaration_IndexOverridesEntry_fieldAccessorTable = new + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_org_nd4j_ir_MapperDeclaration_IndexOverridesEntry_descriptor, + new java.lang.String[] { "Key", "Value", }); + org.nd4j.ir.OpNamespace.getDescriptor(); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/ir/OpNamespace.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/ir/OpNamespace.java new file mode 100644 index 000000000..5ac9a1905 --- /dev/null +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/ir/OpNamespace.java @@ -0,0 +1,4114 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: op.proto + +package org.nd4j.ir; + +public final class OpNamespace { + private OpNamespace() {} + public static void registerAllExtensions( + org.nd4j.shade.protobuf.ExtensionRegistryLite registry) { + } + + public static void registerAllExtensions( + org.nd4j.shade.protobuf.ExtensionRegistry registry) { + registerAllExtensions( + (org.nd4j.shade.protobuf.ExtensionRegistryLite) registry); + } + public interface ArgDescriptorOrBuilder extends + // @@protoc_insertion_point(interface_extends:org.nd4j.ir.ArgDescriptor) + org.nd4j.shade.protobuf.MessageOrBuilder { + + /** + * string name = 1; + */ + java.lang.String getName(); + /** + * string name = 1; + */ + org.nd4j.shade.protobuf.ByteString + getNameBytes(); + + /** + * float floatValue = 2; + */ + float getFloatValue(); + + /** + * double doubleValue = 3; + */ + double getDoubleValue(); + + /** + * int32 int32Value = 4; + */ + int getInt32Value(); + + /** + * int64 int64Value = 5; + */ + long getInt64Value(); + + /** + * bool boolValue = 6; + */ + boolean getBoolValue(); + + /** + * .org.nd4j.ir.DataType dataTypeValue = 7; + */ + int getDataTypeValueValue(); + /** + * .org.nd4j.ir.DataType dataTypeValue = 7; + */ + org.nd4j.ir.TensorNamespace.DataType getDataTypeValue(); + + /** + * .org.nd4j.ir.TensorProto inputValue = 8; + */ + boolean hasInputValue(); + /** + * .org.nd4j.ir.TensorProto inputValue = 8; + */ + org.nd4j.ir.TensorNamespace.TensorProto getInputValue(); + /** + * .org.nd4j.ir.TensorProto inputValue = 8; + */ + org.nd4j.ir.TensorNamespace.TensorProtoOrBuilder getInputValueOrBuilder(); + + /** + * .org.nd4j.ir.TensorProto outputValue = 9; + */ + boolean hasOutputValue(); + /** + * .org.nd4j.ir.TensorProto outputValue = 9; + */ + org.nd4j.ir.TensorNamespace.TensorProto getOutputValue(); + /** + * .org.nd4j.ir.TensorProto outputValue = 9; + */ + org.nd4j.ir.TensorNamespace.TensorProtoOrBuilder getOutputValueOrBuilder(); + + /** + * .org.nd4j.ir.ArgDescriptor.ArgType argType = 10; + */ + int getArgTypeValue(); + /** + * .org.nd4j.ir.ArgDescriptor.ArgType argType = 10; + */ + org.nd4j.ir.OpNamespace.ArgDescriptor.ArgType getArgType(); + + /** + * int32 argIndex = 11; + */ + int getArgIndex(); + + /** + * string stringValue = 12; + */ + java.lang.String getStringValue(); + /** + * string stringValue = 12; + */ + org.nd4j.shade.protobuf.ByteString + getStringValueBytes(); + + /** + * bool argOptional = 13; + */ + boolean getArgOptional(); + + /** + * bool convertBoolToInt = 14; + */ + boolean getConvertBoolToInt(); + + /** + * bool isArray = 15; + */ + boolean getIsArray(); + } + /** + * Protobuf type {@code org.nd4j.ir.ArgDescriptor} + */ + public static final class ArgDescriptor extends + org.nd4j.shade.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:org.nd4j.ir.ArgDescriptor) + ArgDescriptorOrBuilder { + private static final long serialVersionUID = 0L; + // Use ArgDescriptor.newBuilder() to construct. + private ArgDescriptor(org.nd4j.shade.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ArgDescriptor() { + name_ = ""; + dataTypeValue_ = 0; + argType_ = 0; + stringValue_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ArgDescriptor(); + } + + @java.lang.Override + public final org.nd4j.shade.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ArgDescriptor( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + org.nd4j.shade.protobuf.UnknownFieldSet.Builder unknownFields = + org.nd4j.shade.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + name_ = s; + break; + } + case 21: { + + floatValue_ = input.readFloat(); + break; + } + case 25: { + + doubleValue_ = input.readDouble(); + break; + } + case 32: { + + int32Value_ = input.readInt32(); + break; + } + case 40: { + + int64Value_ = input.readInt64(); + break; + } + case 48: { + + boolValue_ = input.readBool(); + break; + } + case 56: { + int rawValue = input.readEnum(); + + dataTypeValue_ = rawValue; + break; + } + case 66: { + org.nd4j.ir.TensorNamespace.TensorProto.Builder subBuilder = null; + if (inputValue_ != null) { + subBuilder = inputValue_.toBuilder(); + } + inputValue_ = input.readMessage(org.nd4j.ir.TensorNamespace.TensorProto.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(inputValue_); + inputValue_ = subBuilder.buildPartial(); + } + + break; + } + case 74: { + org.nd4j.ir.TensorNamespace.TensorProto.Builder subBuilder = null; + if (outputValue_ != null) { + subBuilder = outputValue_.toBuilder(); + } + outputValue_ = input.readMessage(org.nd4j.ir.TensorNamespace.TensorProto.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(outputValue_); + outputValue_ = subBuilder.buildPartial(); + } + + break; + } + case 80: { + int rawValue = input.readEnum(); + + argType_ = rawValue; + break; + } + case 88: { + + argIndex_ = input.readInt32(); + break; + } + case 98: { + java.lang.String s = input.readStringRequireUtf8(); + + stringValue_ = s; + break; + } + case 104: { + + argOptional_ = input.readBool(); + break; + } + case 112: { + + convertBoolToInt_ = input.readBool(); + break; + } + case 120: { + + isArray_ = input.readBool(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new org.nd4j.shade.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.OpNamespace.internal_static_org_nd4j_ir_ArgDescriptor_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.OpNamespace.internal_static_org_nd4j_ir_ArgDescriptor_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.OpNamespace.ArgDescriptor.class, org.nd4j.ir.OpNamespace.ArgDescriptor.Builder.class); + } + + /** + * Protobuf enum {@code org.nd4j.ir.ArgDescriptor.ArgType} + */ + public enum ArgType + implements org.nd4j.shade.protobuf.ProtocolMessageEnum { + /** + * FLOAT = 0; + */ + FLOAT(0), + /** + * DOUBLE = 1; + */ + DOUBLE(1), + /** + * INT32 = 2; + */ + INT32(2), + /** + * INT64 = 3; + */ + INT64(3), + /** + * BOOL = 4; + */ + BOOL(4), + /** + * DATA_TYPE = 5; + */ + DATA_TYPE(5), + /** + * INPUT_TENSOR = 6; + */ + INPUT_TENSOR(6), + /** + * OUTPUT_TENSOR = 7; + */ + OUTPUT_TENSOR(7), + /** + * STRING = 8; + */ + STRING(8), + UNRECOGNIZED(-1), + ; + + /** + * FLOAT = 0; + */ + public static final int FLOAT_VALUE = 0; + /** + * DOUBLE = 1; + */ + public static final int DOUBLE_VALUE = 1; + /** + * INT32 = 2; + */ + public static final int INT32_VALUE = 2; + /** + * INT64 = 3; + */ + public static final int INT64_VALUE = 3; + /** + * BOOL = 4; + */ + public static final int BOOL_VALUE = 4; + /** + * DATA_TYPE = 5; + */ + public static final int DATA_TYPE_VALUE = 5; + /** + * INPUT_TENSOR = 6; + */ + public static final int INPUT_TENSOR_VALUE = 6; + /** + * OUTPUT_TENSOR = 7; + */ + public static final int OUTPUT_TENSOR_VALUE = 7; + /** + * STRING = 8; + */ + public static final int STRING_VALUE = 8; + + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static ArgType valueOf(int value) { + return forNumber(value); + } + + public static ArgType forNumber(int value) { + switch (value) { + case 0: return FLOAT; + case 1: return DOUBLE; + case 2: return INT32; + case 3: return INT64; + case 4: return BOOL; + case 5: return DATA_TYPE; + case 6: return INPUT_TENSOR; + case 7: return OUTPUT_TENSOR; + case 8: return STRING; + default: return null; + } + } + + public static org.nd4j.shade.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final org.nd4j.shade.protobuf.Internal.EnumLiteMap< + ArgType> internalValueMap = + new org.nd4j.shade.protobuf.Internal.EnumLiteMap() { + public ArgType findValueByNumber(int number) { + return ArgType.forNumber(number); + } + }; + + public final org.nd4j.shade.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + return getDescriptor().getValues().get(ordinal()); + } + public final org.nd4j.shade.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final org.nd4j.shade.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.nd4j.ir.OpNamespace.ArgDescriptor.getDescriptor().getEnumTypes().get(0); + } + + private static final ArgType[] VALUES = values(); + + public static ArgType valueOf( + org.nd4j.shade.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private ArgType(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:org.nd4j.ir.ArgDescriptor.ArgType) + } + + public static final int NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object name_; + /** + * string name = 1; + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + /** + * string name = 1; + */ + public org.nd4j.shade.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + + public static final int FLOATVALUE_FIELD_NUMBER = 2; + private float floatValue_; + /** + * float floatValue = 2; + */ + public float getFloatValue() { + return floatValue_; + } + + public static final int DOUBLEVALUE_FIELD_NUMBER = 3; + private double doubleValue_; + /** + * double doubleValue = 3; + */ + public double getDoubleValue() { + return doubleValue_; + } + + public static final int INT32VALUE_FIELD_NUMBER = 4; + private int int32Value_; + /** + * int32 int32Value = 4; + */ + public int getInt32Value() { + return int32Value_; + } + + public static final int INT64VALUE_FIELD_NUMBER = 5; + private long int64Value_; + /** + * int64 int64Value = 5; + */ + public long getInt64Value() { + return int64Value_; + } + + public static final int BOOLVALUE_FIELD_NUMBER = 6; + private boolean boolValue_; + /** + * bool boolValue = 6; + */ + public boolean getBoolValue() { + return boolValue_; + } + + public static final int DATATYPEVALUE_FIELD_NUMBER = 7; + private int dataTypeValue_; + /** + * .org.nd4j.ir.DataType dataTypeValue = 7; + */ + public int getDataTypeValueValue() { + return dataTypeValue_; + } + /** + * .org.nd4j.ir.DataType dataTypeValue = 7; + */ + public org.nd4j.ir.TensorNamespace.DataType getDataTypeValue() { + @SuppressWarnings("deprecation") + org.nd4j.ir.TensorNamespace.DataType result = org.nd4j.ir.TensorNamespace.DataType.valueOf(dataTypeValue_); + return result == null ? org.nd4j.ir.TensorNamespace.DataType.UNRECOGNIZED : result; + } + + public static final int INPUTVALUE_FIELD_NUMBER = 8; + private org.nd4j.ir.TensorNamespace.TensorProto inputValue_; + /** + * .org.nd4j.ir.TensorProto inputValue = 8; + */ + public boolean hasInputValue() { + return inputValue_ != null; + } + /** + * .org.nd4j.ir.TensorProto inputValue = 8; + */ + public org.nd4j.ir.TensorNamespace.TensorProto getInputValue() { + return inputValue_ == null ? org.nd4j.ir.TensorNamespace.TensorProto.getDefaultInstance() : inputValue_; + } + /** + * .org.nd4j.ir.TensorProto inputValue = 8; + */ + public org.nd4j.ir.TensorNamespace.TensorProtoOrBuilder getInputValueOrBuilder() { + return getInputValue(); + } + + public static final int OUTPUTVALUE_FIELD_NUMBER = 9; + private org.nd4j.ir.TensorNamespace.TensorProto outputValue_; + /** + * .org.nd4j.ir.TensorProto outputValue = 9; + */ + public boolean hasOutputValue() { + return outputValue_ != null; + } + /** + * .org.nd4j.ir.TensorProto outputValue = 9; + */ + public org.nd4j.ir.TensorNamespace.TensorProto getOutputValue() { + return outputValue_ == null ? org.nd4j.ir.TensorNamespace.TensorProto.getDefaultInstance() : outputValue_; + } + /** + * .org.nd4j.ir.TensorProto outputValue = 9; + */ + public org.nd4j.ir.TensorNamespace.TensorProtoOrBuilder getOutputValueOrBuilder() { + return getOutputValue(); + } + + public static final int ARGTYPE_FIELD_NUMBER = 10; + private int argType_; + /** + * .org.nd4j.ir.ArgDescriptor.ArgType argType = 10; + */ + public int getArgTypeValue() { + return argType_; + } + /** + * .org.nd4j.ir.ArgDescriptor.ArgType argType = 10; + */ + public org.nd4j.ir.OpNamespace.ArgDescriptor.ArgType getArgType() { + @SuppressWarnings("deprecation") + org.nd4j.ir.OpNamespace.ArgDescriptor.ArgType result = org.nd4j.ir.OpNamespace.ArgDescriptor.ArgType.valueOf(argType_); + return result == null ? org.nd4j.ir.OpNamespace.ArgDescriptor.ArgType.UNRECOGNIZED : result; + } + + public static final int ARGINDEX_FIELD_NUMBER = 11; + private int argIndex_; + /** + * int32 argIndex = 11; + */ + public int getArgIndex() { + return argIndex_; + } + + public static final int STRINGVALUE_FIELD_NUMBER = 12; + private volatile java.lang.Object stringValue_; + /** + * string stringValue = 12; + */ + public java.lang.String getStringValue() { + java.lang.Object ref = stringValue_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + stringValue_ = s; + return s; + } + } + /** + * string stringValue = 12; + */ + public org.nd4j.shade.protobuf.ByteString + getStringValueBytes() { + java.lang.Object ref = stringValue_; + if (ref instanceof java.lang.String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + stringValue_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + + public static final int ARGOPTIONAL_FIELD_NUMBER = 13; + private boolean argOptional_; + /** + * bool argOptional = 13; + */ + public boolean getArgOptional() { + return argOptional_; + } + + public static final int CONVERTBOOLTOINT_FIELD_NUMBER = 14; + private boolean convertBoolToInt_; + /** + * bool convertBoolToInt = 14; + */ + public boolean getConvertBoolToInt() { + return convertBoolToInt_; + } + + public static final int ISARRAY_FIELD_NUMBER = 15; + private boolean isArray_; + /** + * bool isArray = 15; + */ + public boolean getIsArray() { + return isArray_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(org.nd4j.shade.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!getNameBytes().isEmpty()) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 1, name_); + } + if (floatValue_ != 0F) { + output.writeFloat(2, floatValue_); + } + if (doubleValue_ != 0D) { + output.writeDouble(3, doubleValue_); + } + if (int32Value_ != 0) { + output.writeInt32(4, int32Value_); + } + if (int64Value_ != 0L) { + output.writeInt64(5, int64Value_); + } + if (boolValue_ != false) { + output.writeBool(6, boolValue_); + } + if (dataTypeValue_ != org.nd4j.ir.TensorNamespace.DataType.UNDEFINED.getNumber()) { + output.writeEnum(7, dataTypeValue_); + } + if (inputValue_ != null) { + output.writeMessage(8, getInputValue()); + } + if (outputValue_ != null) { + output.writeMessage(9, getOutputValue()); + } + if (argType_ != org.nd4j.ir.OpNamespace.ArgDescriptor.ArgType.FLOAT.getNumber()) { + output.writeEnum(10, argType_); + } + if (argIndex_ != 0) { + output.writeInt32(11, argIndex_); + } + if (!getStringValueBytes().isEmpty()) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 12, stringValue_); + } + if (argOptional_ != false) { + output.writeBool(13, argOptional_); + } + if (convertBoolToInt_ != false) { + output.writeBool(14, convertBoolToInt_); + } + if (isArray_ != false) { + output.writeBool(15, isArray_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getNameBytes().isEmpty()) { + size += org.nd4j.shade.protobuf.GeneratedMessageV3.computeStringSize(1, name_); + } + if (floatValue_ != 0F) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeFloatSize(2, floatValue_); + } + if (doubleValue_ != 0D) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeDoubleSize(3, doubleValue_); + } + if (int32Value_ != 0) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeInt32Size(4, int32Value_); + } + if (int64Value_ != 0L) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeInt64Size(5, int64Value_); + } + if (boolValue_ != false) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeBoolSize(6, boolValue_); + } + if (dataTypeValue_ != org.nd4j.ir.TensorNamespace.DataType.UNDEFINED.getNumber()) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeEnumSize(7, dataTypeValue_); + } + if (inputValue_ != null) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeMessageSize(8, getInputValue()); + } + if (outputValue_ != null) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeMessageSize(9, getOutputValue()); + } + if (argType_ != org.nd4j.ir.OpNamespace.ArgDescriptor.ArgType.FLOAT.getNumber()) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeEnumSize(10, argType_); + } + if (argIndex_ != 0) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeInt32Size(11, argIndex_); + } + if (!getStringValueBytes().isEmpty()) { + size += org.nd4j.shade.protobuf.GeneratedMessageV3.computeStringSize(12, stringValue_); + } + if (argOptional_ != false) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeBoolSize(13, argOptional_); + } + if (convertBoolToInt_ != false) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeBoolSize(14, convertBoolToInt_); + } + if (isArray_ != false) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeBoolSize(15, isArray_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.nd4j.ir.OpNamespace.ArgDescriptor)) { + return super.equals(obj); + } + org.nd4j.ir.OpNamespace.ArgDescriptor other = (org.nd4j.ir.OpNamespace.ArgDescriptor) obj; + + if (!getName() + .equals(other.getName())) return false; + if (java.lang.Float.floatToIntBits(getFloatValue()) + != java.lang.Float.floatToIntBits( + other.getFloatValue())) return false; + if (java.lang.Double.doubleToLongBits(getDoubleValue()) + != java.lang.Double.doubleToLongBits( + other.getDoubleValue())) return false; + if (getInt32Value() + != other.getInt32Value()) return false; + if (getInt64Value() + != other.getInt64Value()) return false; + if (getBoolValue() + != other.getBoolValue()) return false; + if (dataTypeValue_ != other.dataTypeValue_) return false; + if (hasInputValue() != other.hasInputValue()) return false; + if (hasInputValue()) { + if (!getInputValue() + .equals(other.getInputValue())) return false; + } + if (hasOutputValue() != other.hasOutputValue()) return false; + if (hasOutputValue()) { + if (!getOutputValue() + .equals(other.getOutputValue())) return false; + } + if (argType_ != other.argType_) return false; + if (getArgIndex() + != other.getArgIndex()) return false; + if (!getStringValue() + .equals(other.getStringValue())) return false; + if (getArgOptional() + != other.getArgOptional()) return false; + if (getConvertBoolToInt() + != other.getConvertBoolToInt()) return false; + if (getIsArray() + != other.getIsArray()) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + FLOATVALUE_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getFloatValue()); + hash = (37 * hash) + DOUBLEVALUE_FIELD_NUMBER; + hash = (53 * hash) + org.nd4j.shade.protobuf.Internal.hashLong( + java.lang.Double.doubleToLongBits(getDoubleValue())); + hash = (37 * hash) + INT32VALUE_FIELD_NUMBER; + hash = (53 * hash) + getInt32Value(); + hash = (37 * hash) + INT64VALUE_FIELD_NUMBER; + hash = (53 * hash) + org.nd4j.shade.protobuf.Internal.hashLong( + getInt64Value()); + hash = (37 * hash) + BOOLVALUE_FIELD_NUMBER; + hash = (53 * hash) + org.nd4j.shade.protobuf.Internal.hashBoolean( + getBoolValue()); + hash = (37 * hash) + DATATYPEVALUE_FIELD_NUMBER; + hash = (53 * hash) + dataTypeValue_; + if (hasInputValue()) { + hash = (37 * hash) + INPUTVALUE_FIELD_NUMBER; + hash = (53 * hash) + getInputValue().hashCode(); + } + if (hasOutputValue()) { + hash = (37 * hash) + OUTPUTVALUE_FIELD_NUMBER; + hash = (53 * hash) + getOutputValue().hashCode(); + } + hash = (37 * hash) + ARGTYPE_FIELD_NUMBER; + hash = (53 * hash) + argType_; + hash = (37 * hash) + ARGINDEX_FIELD_NUMBER; + hash = (53 * hash) + getArgIndex(); + hash = (37 * hash) + STRINGVALUE_FIELD_NUMBER; + hash = (53 * hash) + getStringValue().hashCode(); + hash = (37 * hash) + ARGOPTIONAL_FIELD_NUMBER; + hash = (53 * hash) + org.nd4j.shade.protobuf.Internal.hashBoolean( + getArgOptional()); + hash = (37 * hash) + CONVERTBOOLTOINT_FIELD_NUMBER; + hash = (53 * hash) + org.nd4j.shade.protobuf.Internal.hashBoolean( + getConvertBoolToInt()); + hash = (37 * hash) + ISARRAY_FIELD_NUMBER; + hash = (53 * hash) + org.nd4j.shade.protobuf.Internal.hashBoolean( + getIsArray()); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.nd4j.ir.OpNamespace.ArgDescriptor parseFrom( + java.nio.ByteBuffer data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.OpNamespace.ArgDescriptor parseFrom( + java.nio.ByteBuffer data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.OpNamespace.ArgDescriptor parseFrom( + org.nd4j.shade.protobuf.ByteString data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.OpNamespace.ArgDescriptor parseFrom( + org.nd4j.shade.protobuf.ByteString data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.OpNamespace.ArgDescriptor parseFrom(byte[] data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.OpNamespace.ArgDescriptor parseFrom( + byte[] data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.OpNamespace.ArgDescriptor parseFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.OpNamespace.ArgDescriptor parseFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.OpNamespace.ArgDescriptor parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static org.nd4j.ir.OpNamespace.ArgDescriptor parseDelimitedFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.OpNamespace.ArgDescriptor parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.OpNamespace.ArgDescriptor parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.nd4j.ir.OpNamespace.ArgDescriptor prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code org.nd4j.ir.ArgDescriptor} + */ + public static final class Builder extends + org.nd4j.shade.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:org.nd4j.ir.ArgDescriptor) + org.nd4j.ir.OpNamespace.ArgDescriptorOrBuilder { + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.OpNamespace.internal_static_org_nd4j_ir_ArgDescriptor_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.OpNamespace.internal_static_org_nd4j_ir_ArgDescriptor_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.OpNamespace.ArgDescriptor.class, org.nd4j.ir.OpNamespace.ArgDescriptor.Builder.class); + } + + // Construct using org.nd4j.ir.OpNamespace.ArgDescriptor.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (org.nd4j.shade.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + name_ = ""; + + floatValue_ = 0F; + + doubleValue_ = 0D; + + int32Value_ = 0; + + int64Value_ = 0L; + + boolValue_ = false; + + dataTypeValue_ = 0; + + if (inputValueBuilder_ == null) { + inputValue_ = null; + } else { + inputValue_ = null; + inputValueBuilder_ = null; + } + if (outputValueBuilder_ == null) { + outputValue_ = null; + } else { + outputValue_ = null; + outputValueBuilder_ = null; + } + argType_ = 0; + + argIndex_ = 0; + + stringValue_ = ""; + + argOptional_ = false; + + convertBoolToInt_ = false; + + isArray_ = false; + + return this; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.nd4j.ir.OpNamespace.internal_static_org_nd4j_ir_ArgDescriptor_descriptor; + } + + @java.lang.Override + public org.nd4j.ir.OpNamespace.ArgDescriptor getDefaultInstanceForType() { + return org.nd4j.ir.OpNamespace.ArgDescriptor.getDefaultInstance(); + } + + @java.lang.Override + public org.nd4j.ir.OpNamespace.ArgDescriptor build() { + org.nd4j.ir.OpNamespace.ArgDescriptor result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.nd4j.ir.OpNamespace.ArgDescriptor buildPartial() { + org.nd4j.ir.OpNamespace.ArgDescriptor result = new org.nd4j.ir.OpNamespace.ArgDescriptor(this); + result.name_ = name_; + result.floatValue_ = floatValue_; + result.doubleValue_ = doubleValue_; + result.int32Value_ = int32Value_; + result.int64Value_ = int64Value_; + result.boolValue_ = boolValue_; + result.dataTypeValue_ = dataTypeValue_; + if (inputValueBuilder_ == null) { + result.inputValue_ = inputValue_; + } else { + result.inputValue_ = inputValueBuilder_.build(); + } + if (outputValueBuilder_ == null) { + result.outputValue_ = outputValue_; + } else { + result.outputValue_ = outputValueBuilder_.build(); + } + result.argType_ = argType_; + result.argIndex_ = argIndex_; + result.stringValue_ = stringValue_; + result.argOptional_ = argOptional_; + result.convertBoolToInt_ = convertBoolToInt_; + result.isArray_ = isArray_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + org.nd4j.shade.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(org.nd4j.shade.protobuf.Message other) { + if (other instanceof org.nd4j.ir.OpNamespace.ArgDescriptor) { + return mergeFrom((org.nd4j.ir.OpNamespace.ArgDescriptor)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.nd4j.ir.OpNamespace.ArgDescriptor other) { + if (other == org.nd4j.ir.OpNamespace.ArgDescriptor.getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + onChanged(); + } + if (other.getFloatValue() != 0F) { + setFloatValue(other.getFloatValue()); + } + if (other.getDoubleValue() != 0D) { + setDoubleValue(other.getDoubleValue()); + } + if (other.getInt32Value() != 0) { + setInt32Value(other.getInt32Value()); + } + if (other.getInt64Value() != 0L) { + setInt64Value(other.getInt64Value()); + } + if (other.getBoolValue() != false) { + setBoolValue(other.getBoolValue()); + } + if (other.dataTypeValue_ != 0) { + setDataTypeValueValue(other.getDataTypeValueValue()); + } + if (other.hasInputValue()) { + mergeInputValue(other.getInputValue()); + } + if (other.hasOutputValue()) { + mergeOutputValue(other.getOutputValue()); + } + if (other.argType_ != 0) { + setArgTypeValue(other.getArgTypeValue()); + } + if (other.getArgIndex() != 0) { + setArgIndex(other.getArgIndex()); + } + if (!other.getStringValue().isEmpty()) { + stringValue_ = other.stringValue_; + onChanged(); + } + if (other.getArgOptional() != false) { + setArgOptional(other.getArgOptional()); + } + if (other.getConvertBoolToInt() != false) { + setConvertBoolToInt(other.getConvertBoolToInt()); + } + if (other.getIsArray() != false) { + setIsArray(other.getIsArray()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.nd4j.ir.OpNamespace.ArgDescriptor parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.nd4j.ir.OpNamespace.ArgDescriptor) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object name_ = ""; + /** + * string name = 1; + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string name = 1; + */ + public org.nd4j.shade.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + /** + * string name = 1; + */ + public Builder setName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + name_ = value; + onChanged(); + return this; + } + /** + * string name = 1; + */ + public Builder clearName() { + + name_ = getDefaultInstance().getName(); + onChanged(); + return this; + } + /** + * string name = 1; + */ + public Builder setNameBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + name_ = value; + onChanged(); + return this; + } + + private float floatValue_ ; + /** + * float floatValue = 2; + */ + public float getFloatValue() { + return floatValue_; + } + /** + * float floatValue = 2; + */ + public Builder setFloatValue(float value) { + + floatValue_ = value; + onChanged(); + return this; + } + /** + * float floatValue = 2; + */ + public Builder clearFloatValue() { + + floatValue_ = 0F; + onChanged(); + return this; + } + + private double doubleValue_ ; + /** + * double doubleValue = 3; + */ + public double getDoubleValue() { + return doubleValue_; + } + /** + * double doubleValue = 3; + */ + public Builder setDoubleValue(double value) { + + doubleValue_ = value; + onChanged(); + return this; + } + /** + * double doubleValue = 3; + */ + public Builder clearDoubleValue() { + + doubleValue_ = 0D; + onChanged(); + return this; + } + + private int int32Value_ ; + /** + * int32 int32Value = 4; + */ + public int getInt32Value() { + return int32Value_; + } + /** + * int32 int32Value = 4; + */ + public Builder setInt32Value(int value) { + + int32Value_ = value; + onChanged(); + return this; + } + /** + * int32 int32Value = 4; + */ + public Builder clearInt32Value() { + + int32Value_ = 0; + onChanged(); + return this; + } + + private long int64Value_ ; + /** + * int64 int64Value = 5; + */ + public long getInt64Value() { + return int64Value_; + } + /** + * int64 int64Value = 5; + */ + public Builder setInt64Value(long value) { + + int64Value_ = value; + onChanged(); + return this; + } + /** + * int64 int64Value = 5; + */ + public Builder clearInt64Value() { + + int64Value_ = 0L; + onChanged(); + return this; + } + + private boolean boolValue_ ; + /** + * bool boolValue = 6; + */ + public boolean getBoolValue() { + return boolValue_; + } + /** + * bool boolValue = 6; + */ + public Builder setBoolValue(boolean value) { + + boolValue_ = value; + onChanged(); + return this; + } + /** + * bool boolValue = 6; + */ + public Builder clearBoolValue() { + + boolValue_ = false; + onChanged(); + return this; + } + + private int dataTypeValue_ = 0; + /** + * .org.nd4j.ir.DataType dataTypeValue = 7; + */ + public int getDataTypeValueValue() { + return dataTypeValue_; + } + /** + * .org.nd4j.ir.DataType dataTypeValue = 7; + */ + public Builder setDataTypeValueValue(int value) { + dataTypeValue_ = value; + onChanged(); + return this; + } + /** + * .org.nd4j.ir.DataType dataTypeValue = 7; + */ + public org.nd4j.ir.TensorNamespace.DataType getDataTypeValue() { + @SuppressWarnings("deprecation") + org.nd4j.ir.TensorNamespace.DataType result = org.nd4j.ir.TensorNamespace.DataType.valueOf(dataTypeValue_); + return result == null ? org.nd4j.ir.TensorNamespace.DataType.UNRECOGNIZED : result; + } + /** + * .org.nd4j.ir.DataType dataTypeValue = 7; + */ + public Builder setDataTypeValue(org.nd4j.ir.TensorNamespace.DataType value) { + if (value == null) { + throw new NullPointerException(); + } + + dataTypeValue_ = value.getNumber(); + onChanged(); + return this; + } + /** + * .org.nd4j.ir.DataType dataTypeValue = 7; + */ + public Builder clearDataTypeValue() { + + dataTypeValue_ = 0; + onChanged(); + return this; + } + + private org.nd4j.ir.TensorNamespace.TensorProto inputValue_; + private org.nd4j.shade.protobuf.SingleFieldBuilderV3< + org.nd4j.ir.TensorNamespace.TensorProto, org.nd4j.ir.TensorNamespace.TensorProto.Builder, org.nd4j.ir.TensorNamespace.TensorProtoOrBuilder> inputValueBuilder_; + /** + * .org.nd4j.ir.TensorProto inputValue = 8; + */ + public boolean hasInputValue() { + return inputValueBuilder_ != null || inputValue_ != null; + } + /** + * .org.nd4j.ir.TensorProto inputValue = 8; + */ + public org.nd4j.ir.TensorNamespace.TensorProto getInputValue() { + if (inputValueBuilder_ == null) { + return inputValue_ == null ? org.nd4j.ir.TensorNamespace.TensorProto.getDefaultInstance() : inputValue_; + } else { + return inputValueBuilder_.getMessage(); + } + } + /** + * .org.nd4j.ir.TensorProto inputValue = 8; + */ + public Builder setInputValue(org.nd4j.ir.TensorNamespace.TensorProto value) { + if (inputValueBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + inputValue_ = value; + onChanged(); + } else { + inputValueBuilder_.setMessage(value); + } + + return this; + } + /** + * .org.nd4j.ir.TensorProto inputValue = 8; + */ + public Builder setInputValue( + org.nd4j.ir.TensorNamespace.TensorProto.Builder builderForValue) { + if (inputValueBuilder_ == null) { + inputValue_ = builderForValue.build(); + onChanged(); + } else { + inputValueBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .org.nd4j.ir.TensorProto inputValue = 8; + */ + public Builder mergeInputValue(org.nd4j.ir.TensorNamespace.TensorProto value) { + if (inputValueBuilder_ == null) { + if (inputValue_ != null) { + inputValue_ = + org.nd4j.ir.TensorNamespace.TensorProto.newBuilder(inputValue_).mergeFrom(value).buildPartial(); + } else { + inputValue_ = value; + } + onChanged(); + } else { + inputValueBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .org.nd4j.ir.TensorProto inputValue = 8; + */ + public Builder clearInputValue() { + if (inputValueBuilder_ == null) { + inputValue_ = null; + onChanged(); + } else { + inputValue_ = null; + inputValueBuilder_ = null; + } + + return this; + } + /** + * .org.nd4j.ir.TensorProto inputValue = 8; + */ + public org.nd4j.ir.TensorNamespace.TensorProto.Builder getInputValueBuilder() { + + onChanged(); + return getInputValueFieldBuilder().getBuilder(); + } + /** + * .org.nd4j.ir.TensorProto inputValue = 8; + */ + public org.nd4j.ir.TensorNamespace.TensorProtoOrBuilder getInputValueOrBuilder() { + if (inputValueBuilder_ != null) { + return inputValueBuilder_.getMessageOrBuilder(); + } else { + return inputValue_ == null ? + org.nd4j.ir.TensorNamespace.TensorProto.getDefaultInstance() : inputValue_; + } + } + /** + * .org.nd4j.ir.TensorProto inputValue = 8; + */ + private org.nd4j.shade.protobuf.SingleFieldBuilderV3< + org.nd4j.ir.TensorNamespace.TensorProto, org.nd4j.ir.TensorNamespace.TensorProto.Builder, org.nd4j.ir.TensorNamespace.TensorProtoOrBuilder> + getInputValueFieldBuilder() { + if (inputValueBuilder_ == null) { + inputValueBuilder_ = new org.nd4j.shade.protobuf.SingleFieldBuilderV3< + org.nd4j.ir.TensorNamespace.TensorProto, org.nd4j.ir.TensorNamespace.TensorProto.Builder, org.nd4j.ir.TensorNamespace.TensorProtoOrBuilder>( + getInputValue(), + getParentForChildren(), + isClean()); + inputValue_ = null; + } + return inputValueBuilder_; + } + + private org.nd4j.ir.TensorNamespace.TensorProto outputValue_; + private org.nd4j.shade.protobuf.SingleFieldBuilderV3< + org.nd4j.ir.TensorNamespace.TensorProto, org.nd4j.ir.TensorNamespace.TensorProto.Builder, org.nd4j.ir.TensorNamespace.TensorProtoOrBuilder> outputValueBuilder_; + /** + * .org.nd4j.ir.TensorProto outputValue = 9; + */ + public boolean hasOutputValue() { + return outputValueBuilder_ != null || outputValue_ != null; + } + /** + * .org.nd4j.ir.TensorProto outputValue = 9; + */ + public org.nd4j.ir.TensorNamespace.TensorProto getOutputValue() { + if (outputValueBuilder_ == null) { + return outputValue_ == null ? org.nd4j.ir.TensorNamespace.TensorProto.getDefaultInstance() : outputValue_; + } else { + return outputValueBuilder_.getMessage(); + } + } + /** + * .org.nd4j.ir.TensorProto outputValue = 9; + */ + public Builder setOutputValue(org.nd4j.ir.TensorNamespace.TensorProto value) { + if (outputValueBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + outputValue_ = value; + onChanged(); + } else { + outputValueBuilder_.setMessage(value); + } + + return this; + } + /** + * .org.nd4j.ir.TensorProto outputValue = 9; + */ + public Builder setOutputValue( + org.nd4j.ir.TensorNamespace.TensorProto.Builder builderForValue) { + if (outputValueBuilder_ == null) { + outputValue_ = builderForValue.build(); + onChanged(); + } else { + outputValueBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .org.nd4j.ir.TensorProto outputValue = 9; + */ + public Builder mergeOutputValue(org.nd4j.ir.TensorNamespace.TensorProto value) { + if (outputValueBuilder_ == null) { + if (outputValue_ != null) { + outputValue_ = + org.nd4j.ir.TensorNamespace.TensorProto.newBuilder(outputValue_).mergeFrom(value).buildPartial(); + } else { + outputValue_ = value; + } + onChanged(); + } else { + outputValueBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .org.nd4j.ir.TensorProto outputValue = 9; + */ + public Builder clearOutputValue() { + if (outputValueBuilder_ == null) { + outputValue_ = null; + onChanged(); + } else { + outputValue_ = null; + outputValueBuilder_ = null; + } + + return this; + } + /** + * .org.nd4j.ir.TensorProto outputValue = 9; + */ + public org.nd4j.ir.TensorNamespace.TensorProto.Builder getOutputValueBuilder() { + + onChanged(); + return getOutputValueFieldBuilder().getBuilder(); + } + /** + * .org.nd4j.ir.TensorProto outputValue = 9; + */ + public org.nd4j.ir.TensorNamespace.TensorProtoOrBuilder getOutputValueOrBuilder() { + if (outputValueBuilder_ != null) { + return outputValueBuilder_.getMessageOrBuilder(); + } else { + return outputValue_ == null ? + org.nd4j.ir.TensorNamespace.TensorProto.getDefaultInstance() : outputValue_; + } + } + /** + * .org.nd4j.ir.TensorProto outputValue = 9; + */ + private org.nd4j.shade.protobuf.SingleFieldBuilderV3< + org.nd4j.ir.TensorNamespace.TensorProto, org.nd4j.ir.TensorNamespace.TensorProto.Builder, org.nd4j.ir.TensorNamespace.TensorProtoOrBuilder> + getOutputValueFieldBuilder() { + if (outputValueBuilder_ == null) { + outputValueBuilder_ = new org.nd4j.shade.protobuf.SingleFieldBuilderV3< + org.nd4j.ir.TensorNamespace.TensorProto, org.nd4j.ir.TensorNamespace.TensorProto.Builder, org.nd4j.ir.TensorNamespace.TensorProtoOrBuilder>( + getOutputValue(), + getParentForChildren(), + isClean()); + outputValue_ = null; + } + return outputValueBuilder_; + } + + private int argType_ = 0; + /** + * .org.nd4j.ir.ArgDescriptor.ArgType argType = 10; + */ + public int getArgTypeValue() { + return argType_; + } + /** + * .org.nd4j.ir.ArgDescriptor.ArgType argType = 10; + */ + public Builder setArgTypeValue(int value) { + argType_ = value; + onChanged(); + return this; + } + /** + * .org.nd4j.ir.ArgDescriptor.ArgType argType = 10; + */ + public org.nd4j.ir.OpNamespace.ArgDescriptor.ArgType getArgType() { + @SuppressWarnings("deprecation") + org.nd4j.ir.OpNamespace.ArgDescriptor.ArgType result = org.nd4j.ir.OpNamespace.ArgDescriptor.ArgType.valueOf(argType_); + return result == null ? org.nd4j.ir.OpNamespace.ArgDescriptor.ArgType.UNRECOGNIZED : result; + } + /** + * .org.nd4j.ir.ArgDescriptor.ArgType argType = 10; + */ + public Builder setArgType(org.nd4j.ir.OpNamespace.ArgDescriptor.ArgType value) { + if (value == null) { + throw new NullPointerException(); + } + + argType_ = value.getNumber(); + onChanged(); + return this; + } + /** + * .org.nd4j.ir.ArgDescriptor.ArgType argType = 10; + */ + public Builder clearArgType() { + + argType_ = 0; + onChanged(); + return this; + } + + private int argIndex_ ; + /** + * int32 argIndex = 11; + */ + public int getArgIndex() { + return argIndex_; + } + /** + * int32 argIndex = 11; + */ + public Builder setArgIndex(int value) { + + argIndex_ = value; + onChanged(); + return this; + } + /** + * int32 argIndex = 11; + */ + public Builder clearArgIndex() { + + argIndex_ = 0; + onChanged(); + return this; + } + + private java.lang.Object stringValue_ = ""; + /** + * string stringValue = 12; + */ + public java.lang.String getStringValue() { + java.lang.Object ref = stringValue_; + if (!(ref instanceof java.lang.String)) { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + stringValue_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string stringValue = 12; + */ + public org.nd4j.shade.protobuf.ByteString + getStringValueBytes() { + java.lang.Object ref = stringValue_; + if (ref instanceof String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + stringValue_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + /** + * string stringValue = 12; + */ + public Builder setStringValue( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + stringValue_ = value; + onChanged(); + return this; + } + /** + * string stringValue = 12; + */ + public Builder clearStringValue() { + + stringValue_ = getDefaultInstance().getStringValue(); + onChanged(); + return this; + } + /** + * string stringValue = 12; + */ + public Builder setStringValueBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + stringValue_ = value; + onChanged(); + return this; + } + + private boolean argOptional_ ; + /** + * bool argOptional = 13; + */ + public boolean getArgOptional() { + return argOptional_; + } + /** + * bool argOptional = 13; + */ + public Builder setArgOptional(boolean value) { + + argOptional_ = value; + onChanged(); + return this; + } + /** + * bool argOptional = 13; + */ + public Builder clearArgOptional() { + + argOptional_ = false; + onChanged(); + return this; + } + + private boolean convertBoolToInt_ ; + /** + * bool convertBoolToInt = 14; + */ + public boolean getConvertBoolToInt() { + return convertBoolToInt_; + } + /** + * bool convertBoolToInt = 14; + */ + public Builder setConvertBoolToInt(boolean value) { + + convertBoolToInt_ = value; + onChanged(); + return this; + } + /** + * bool convertBoolToInt = 14; + */ + public Builder clearConvertBoolToInt() { + + convertBoolToInt_ = false; + onChanged(); + return this; + } + + private boolean isArray_ ; + /** + * bool isArray = 15; + */ + public boolean getIsArray() { + return isArray_; + } + /** + * bool isArray = 15; + */ + public Builder setIsArray(boolean value) { + + isArray_ = value; + onChanged(); + return this; + } + /** + * bool isArray = 15; + */ + public Builder clearIsArray() { + + isArray_ = false; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:org.nd4j.ir.ArgDescriptor) + } + + // @@protoc_insertion_point(class_scope:org.nd4j.ir.ArgDescriptor) + private static final org.nd4j.ir.OpNamespace.ArgDescriptor DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.nd4j.ir.OpNamespace.ArgDescriptor(); + } + + public static org.nd4j.ir.OpNamespace.ArgDescriptor getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final org.nd4j.shade.protobuf.Parser + PARSER = new org.nd4j.shade.protobuf.AbstractParser() { + @java.lang.Override + public ArgDescriptor parsePartialFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return new ArgDescriptor(input, extensionRegistry); + } + }; + + public static org.nd4j.shade.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.ir.OpNamespace.ArgDescriptor getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface OpDescriptorOrBuilder extends + // @@protoc_insertion_point(interface_extends:org.nd4j.ir.OpDescriptor) + org.nd4j.shade.protobuf.MessageOrBuilder { + + /** + * string name = 1; + */ + java.lang.String getName(); + /** + * string name = 1; + */ + org.nd4j.shade.protobuf.ByteString + getNameBytes(); + + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + java.util.List + getArgDescriptorList(); + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + org.nd4j.ir.OpNamespace.ArgDescriptor getArgDescriptor(int index); + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + int getArgDescriptorCount(); + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + java.util.List + getArgDescriptorOrBuilderList(); + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + org.nd4j.ir.OpNamespace.ArgDescriptorOrBuilder getArgDescriptorOrBuilder( + int index); + + /** + * .org.nd4j.ir.OpDescriptor.OpDeclarationType opDeclarationType = 3; + */ + int getOpDeclarationTypeValue(); + /** + * .org.nd4j.ir.OpDescriptor.OpDeclarationType opDeclarationType = 3; + */ + org.nd4j.ir.OpNamespace.OpDescriptor.OpDeclarationType getOpDeclarationType(); + } + /** + *
        +   *Op descriptor
        +   * 
        + * + * Protobuf type {@code org.nd4j.ir.OpDescriptor} + */ + public static final class OpDescriptor extends + org.nd4j.shade.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:org.nd4j.ir.OpDescriptor) + OpDescriptorOrBuilder { + private static final long serialVersionUID = 0L; + // Use OpDescriptor.newBuilder() to construct. + private OpDescriptor(org.nd4j.shade.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private OpDescriptor() { + name_ = ""; + argDescriptor_ = java.util.Collections.emptyList(); + opDeclarationType_ = 0; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new OpDescriptor(); + } + + @java.lang.Override + public final org.nd4j.shade.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private OpDescriptor( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + org.nd4j.shade.protobuf.UnknownFieldSet.Builder unknownFields = + org.nd4j.shade.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + name_ = s; + break; + } + case 18: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + argDescriptor_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + argDescriptor_.add( + input.readMessage(org.nd4j.ir.OpNamespace.ArgDescriptor.parser(), extensionRegistry)); + break; + } + case 24: { + int rawValue = input.readEnum(); + + opDeclarationType_ = rawValue; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new org.nd4j.shade.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + argDescriptor_ = java.util.Collections.unmodifiableList(argDescriptor_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.OpNamespace.internal_static_org_nd4j_ir_OpDescriptor_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.OpNamespace.internal_static_org_nd4j_ir_OpDescriptor_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.OpNamespace.OpDescriptor.class, org.nd4j.ir.OpNamespace.OpDescriptor.Builder.class); + } + + /** + * Protobuf enum {@code org.nd4j.ir.OpDescriptor.OpDeclarationType} + */ + public enum OpDeclarationType + implements org.nd4j.shade.protobuf.ProtocolMessageEnum { + /** + * CUSTOM_OP_IMPL = 0; + */ + CUSTOM_OP_IMPL(0), + /** + * BOOLEAN_OP_IMPL = 1; + */ + BOOLEAN_OP_IMPL(1), + /** + * LIST_OP_IMPL = 2; + */ + LIST_OP_IMPL(2), + /** + * LOGIC_OP_IMPL = 3; + */ + LOGIC_OP_IMPL(3), + /** + * OP_IMPL = 4; + */ + OP_IMPL(4), + /** + * DIVERGENT_OP_IMPL = 6; + */ + DIVERGENT_OP_IMPL(6), + /** + * CONFIGURABLE_OP_IMPL = 7; + */ + CONFIGURABLE_OP_IMPL(7), + /** + * REDUCTION_OP_IMPL = 8; + */ + REDUCTION_OP_IMPL(8), + /** + * BROADCASTABLE_OP_IMPL = 9; + */ + BROADCASTABLE_OP_IMPL(9), + /** + * BROADCASTABLE_BOOL_OP_IMPL = 10; + */ + BROADCASTABLE_BOOL_OP_IMPL(10), + /** + * LEGACY_XYZ = 11; + */ + LEGACY_XYZ(11), + /** + * PLATFORM_IMPL = 12; + */ + PLATFORM_IMPL(12), + UNRECOGNIZED(-1), + ; + + /** + * CUSTOM_OP_IMPL = 0; + */ + public static final int CUSTOM_OP_IMPL_VALUE = 0; + /** + * BOOLEAN_OP_IMPL = 1; + */ + public static final int BOOLEAN_OP_IMPL_VALUE = 1; + /** + * LIST_OP_IMPL = 2; + */ + public static final int LIST_OP_IMPL_VALUE = 2; + /** + * LOGIC_OP_IMPL = 3; + */ + public static final int LOGIC_OP_IMPL_VALUE = 3; + /** + * OP_IMPL = 4; + */ + public static final int OP_IMPL_VALUE = 4; + /** + * DIVERGENT_OP_IMPL = 6; + */ + public static final int DIVERGENT_OP_IMPL_VALUE = 6; + /** + * CONFIGURABLE_OP_IMPL = 7; + */ + public static final int CONFIGURABLE_OP_IMPL_VALUE = 7; + /** + * REDUCTION_OP_IMPL = 8; + */ + public static final int REDUCTION_OP_IMPL_VALUE = 8; + /** + * BROADCASTABLE_OP_IMPL = 9; + */ + public static final int BROADCASTABLE_OP_IMPL_VALUE = 9; + /** + * BROADCASTABLE_BOOL_OP_IMPL = 10; + */ + public static final int BROADCASTABLE_BOOL_OP_IMPL_VALUE = 10; + /** + * LEGACY_XYZ = 11; + */ + public static final int LEGACY_XYZ_VALUE = 11; + /** + * PLATFORM_IMPL = 12; + */ + public static final int PLATFORM_IMPL_VALUE = 12; + + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static OpDeclarationType valueOf(int value) { + return forNumber(value); + } + + public static OpDeclarationType forNumber(int value) { + switch (value) { + case 0: return CUSTOM_OP_IMPL; + case 1: return BOOLEAN_OP_IMPL; + case 2: return LIST_OP_IMPL; + case 3: return LOGIC_OP_IMPL; + case 4: return OP_IMPL; + case 6: return DIVERGENT_OP_IMPL; + case 7: return CONFIGURABLE_OP_IMPL; + case 8: return REDUCTION_OP_IMPL; + case 9: return BROADCASTABLE_OP_IMPL; + case 10: return BROADCASTABLE_BOOL_OP_IMPL; + case 11: return LEGACY_XYZ; + case 12: return PLATFORM_IMPL; + default: return null; + } + } + + public static org.nd4j.shade.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final org.nd4j.shade.protobuf.Internal.EnumLiteMap< + OpDeclarationType> internalValueMap = + new org.nd4j.shade.protobuf.Internal.EnumLiteMap() { + public OpDeclarationType findValueByNumber(int number) { + return OpDeclarationType.forNumber(number); + } + }; + + public final org.nd4j.shade.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + return getDescriptor().getValues().get(ordinal()); + } + public final org.nd4j.shade.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final org.nd4j.shade.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.nd4j.ir.OpNamespace.OpDescriptor.getDescriptor().getEnumTypes().get(0); + } + + private static final OpDeclarationType[] VALUES = values(); + + public static OpDeclarationType valueOf( + org.nd4j.shade.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private OpDeclarationType(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:org.nd4j.ir.OpDescriptor.OpDeclarationType) + } + + public static final int NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object name_; + /** + * string name = 1; + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + /** + * string name = 1; + */ + public org.nd4j.shade.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + + public static final int ARGDESCRIPTOR_FIELD_NUMBER = 2; + private java.util.List argDescriptor_; + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + public java.util.List getArgDescriptorList() { + return argDescriptor_; + } + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + public java.util.List + getArgDescriptorOrBuilderList() { + return argDescriptor_; + } + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + public int getArgDescriptorCount() { + return argDescriptor_.size(); + } + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + public org.nd4j.ir.OpNamespace.ArgDescriptor getArgDescriptor(int index) { + return argDescriptor_.get(index); + } + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + public org.nd4j.ir.OpNamespace.ArgDescriptorOrBuilder getArgDescriptorOrBuilder( + int index) { + return argDescriptor_.get(index); + } + + public static final int OPDECLARATIONTYPE_FIELD_NUMBER = 3; + private int opDeclarationType_; + /** + * .org.nd4j.ir.OpDescriptor.OpDeclarationType opDeclarationType = 3; + */ + public int getOpDeclarationTypeValue() { + return opDeclarationType_; + } + /** + * .org.nd4j.ir.OpDescriptor.OpDeclarationType opDeclarationType = 3; + */ + public org.nd4j.ir.OpNamespace.OpDescriptor.OpDeclarationType getOpDeclarationType() { + @SuppressWarnings("deprecation") + org.nd4j.ir.OpNamespace.OpDescriptor.OpDeclarationType result = org.nd4j.ir.OpNamespace.OpDescriptor.OpDeclarationType.valueOf(opDeclarationType_); + return result == null ? org.nd4j.ir.OpNamespace.OpDescriptor.OpDeclarationType.UNRECOGNIZED : result; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(org.nd4j.shade.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!getNameBytes().isEmpty()) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 1, name_); + } + for (int i = 0; i < argDescriptor_.size(); i++) { + output.writeMessage(2, argDescriptor_.get(i)); + } + if (opDeclarationType_ != org.nd4j.ir.OpNamespace.OpDescriptor.OpDeclarationType.CUSTOM_OP_IMPL.getNumber()) { + output.writeEnum(3, opDeclarationType_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getNameBytes().isEmpty()) { + size += org.nd4j.shade.protobuf.GeneratedMessageV3.computeStringSize(1, name_); + } + for (int i = 0; i < argDescriptor_.size(); i++) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeMessageSize(2, argDescriptor_.get(i)); + } + if (opDeclarationType_ != org.nd4j.ir.OpNamespace.OpDescriptor.OpDeclarationType.CUSTOM_OP_IMPL.getNumber()) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeEnumSize(3, opDeclarationType_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.nd4j.ir.OpNamespace.OpDescriptor)) { + return super.equals(obj); + } + org.nd4j.ir.OpNamespace.OpDescriptor other = (org.nd4j.ir.OpNamespace.OpDescriptor) obj; + + if (!getName() + .equals(other.getName())) return false; + if (!getArgDescriptorList() + .equals(other.getArgDescriptorList())) return false; + if (opDeclarationType_ != other.opDeclarationType_) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + if (getArgDescriptorCount() > 0) { + hash = (37 * hash) + ARGDESCRIPTOR_FIELD_NUMBER; + hash = (53 * hash) + getArgDescriptorList().hashCode(); + } + hash = (37 * hash) + OPDECLARATIONTYPE_FIELD_NUMBER; + hash = (53 * hash) + opDeclarationType_; + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.nd4j.ir.OpNamespace.OpDescriptor parseFrom( + java.nio.ByteBuffer data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.OpNamespace.OpDescriptor parseFrom( + java.nio.ByteBuffer data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.OpNamespace.OpDescriptor parseFrom( + org.nd4j.shade.protobuf.ByteString data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.OpNamespace.OpDescriptor parseFrom( + org.nd4j.shade.protobuf.ByteString data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.OpNamespace.OpDescriptor parseFrom(byte[] data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.OpNamespace.OpDescriptor parseFrom( + byte[] data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.OpNamespace.OpDescriptor parseFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.OpNamespace.OpDescriptor parseFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.OpNamespace.OpDescriptor parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static org.nd4j.ir.OpNamespace.OpDescriptor parseDelimitedFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.OpNamespace.OpDescriptor parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.OpNamespace.OpDescriptor parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.nd4j.ir.OpNamespace.OpDescriptor prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
        +     *Op descriptor
        +     * 
        + * + * Protobuf type {@code org.nd4j.ir.OpDescriptor} + */ + public static final class Builder extends + org.nd4j.shade.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:org.nd4j.ir.OpDescriptor) + org.nd4j.ir.OpNamespace.OpDescriptorOrBuilder { + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.OpNamespace.internal_static_org_nd4j_ir_OpDescriptor_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.OpNamespace.internal_static_org_nd4j_ir_OpDescriptor_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.OpNamespace.OpDescriptor.class, org.nd4j.ir.OpNamespace.OpDescriptor.Builder.class); + } + + // Construct using org.nd4j.ir.OpNamespace.OpDescriptor.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (org.nd4j.shade.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getArgDescriptorFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + name_ = ""; + + if (argDescriptorBuilder_ == null) { + argDescriptor_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + argDescriptorBuilder_.clear(); + } + opDeclarationType_ = 0; + + return this; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.nd4j.ir.OpNamespace.internal_static_org_nd4j_ir_OpDescriptor_descriptor; + } + + @java.lang.Override + public org.nd4j.ir.OpNamespace.OpDescriptor getDefaultInstanceForType() { + return org.nd4j.ir.OpNamespace.OpDescriptor.getDefaultInstance(); + } + + @java.lang.Override + public org.nd4j.ir.OpNamespace.OpDescriptor build() { + org.nd4j.ir.OpNamespace.OpDescriptor result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.nd4j.ir.OpNamespace.OpDescriptor buildPartial() { + org.nd4j.ir.OpNamespace.OpDescriptor result = new org.nd4j.ir.OpNamespace.OpDescriptor(this); + int from_bitField0_ = bitField0_; + result.name_ = name_; + if (argDescriptorBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + argDescriptor_ = java.util.Collections.unmodifiableList(argDescriptor_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.argDescriptor_ = argDescriptor_; + } else { + result.argDescriptor_ = argDescriptorBuilder_.build(); + } + result.opDeclarationType_ = opDeclarationType_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + org.nd4j.shade.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(org.nd4j.shade.protobuf.Message other) { + if (other instanceof org.nd4j.ir.OpNamespace.OpDescriptor) { + return mergeFrom((org.nd4j.ir.OpNamespace.OpDescriptor)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.nd4j.ir.OpNamespace.OpDescriptor other) { + if (other == org.nd4j.ir.OpNamespace.OpDescriptor.getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + onChanged(); + } + if (argDescriptorBuilder_ == null) { + if (!other.argDescriptor_.isEmpty()) { + if (argDescriptor_.isEmpty()) { + argDescriptor_ = other.argDescriptor_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureArgDescriptorIsMutable(); + argDescriptor_.addAll(other.argDescriptor_); + } + onChanged(); + } + } else { + if (!other.argDescriptor_.isEmpty()) { + if (argDescriptorBuilder_.isEmpty()) { + argDescriptorBuilder_.dispose(); + argDescriptorBuilder_ = null; + argDescriptor_ = other.argDescriptor_; + bitField0_ = (bitField0_ & ~0x00000001); + argDescriptorBuilder_ = + org.nd4j.shade.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getArgDescriptorFieldBuilder() : null; + } else { + argDescriptorBuilder_.addAllMessages(other.argDescriptor_); + } + } + } + if (other.opDeclarationType_ != 0) { + setOpDeclarationTypeValue(other.getOpDeclarationTypeValue()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.nd4j.ir.OpNamespace.OpDescriptor parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.nd4j.ir.OpNamespace.OpDescriptor) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.lang.Object name_ = ""; + /** + * string name = 1; + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string name = 1; + */ + public org.nd4j.shade.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + /** + * string name = 1; + */ + public Builder setName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + name_ = value; + onChanged(); + return this; + } + /** + * string name = 1; + */ + public Builder clearName() { + + name_ = getDefaultInstance().getName(); + onChanged(); + return this; + } + /** + * string name = 1; + */ + public Builder setNameBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + name_ = value; + onChanged(); + return this; + } + + private java.util.List argDescriptor_ = + java.util.Collections.emptyList(); + private void ensureArgDescriptorIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + argDescriptor_ = new java.util.ArrayList(argDescriptor_); + bitField0_ |= 0x00000001; + } + } + + private org.nd4j.shade.protobuf.RepeatedFieldBuilderV3< + org.nd4j.ir.OpNamespace.ArgDescriptor, org.nd4j.ir.OpNamespace.ArgDescriptor.Builder, org.nd4j.ir.OpNamespace.ArgDescriptorOrBuilder> argDescriptorBuilder_; + + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + public java.util.List getArgDescriptorList() { + if (argDescriptorBuilder_ == null) { + return java.util.Collections.unmodifiableList(argDescriptor_); + } else { + return argDescriptorBuilder_.getMessageList(); + } + } + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + public int getArgDescriptorCount() { + if (argDescriptorBuilder_ == null) { + return argDescriptor_.size(); + } else { + return argDescriptorBuilder_.getCount(); + } + } + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + public org.nd4j.ir.OpNamespace.ArgDescriptor getArgDescriptor(int index) { + if (argDescriptorBuilder_ == null) { + return argDescriptor_.get(index); + } else { + return argDescriptorBuilder_.getMessage(index); + } + } + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + public Builder setArgDescriptor( + int index, org.nd4j.ir.OpNamespace.ArgDescriptor value) { + if (argDescriptorBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureArgDescriptorIsMutable(); + argDescriptor_.set(index, value); + onChanged(); + } else { + argDescriptorBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + public Builder setArgDescriptor( + int index, org.nd4j.ir.OpNamespace.ArgDescriptor.Builder builderForValue) { + if (argDescriptorBuilder_ == null) { + ensureArgDescriptorIsMutable(); + argDescriptor_.set(index, builderForValue.build()); + onChanged(); + } else { + argDescriptorBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + public Builder addArgDescriptor(org.nd4j.ir.OpNamespace.ArgDescriptor value) { + if (argDescriptorBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureArgDescriptorIsMutable(); + argDescriptor_.add(value); + onChanged(); + } else { + argDescriptorBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + public Builder addArgDescriptor( + int index, org.nd4j.ir.OpNamespace.ArgDescriptor value) { + if (argDescriptorBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureArgDescriptorIsMutable(); + argDescriptor_.add(index, value); + onChanged(); + } else { + argDescriptorBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + public Builder addArgDescriptor( + org.nd4j.ir.OpNamespace.ArgDescriptor.Builder builderForValue) { + if (argDescriptorBuilder_ == null) { + ensureArgDescriptorIsMutable(); + argDescriptor_.add(builderForValue.build()); + onChanged(); + } else { + argDescriptorBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + public Builder addArgDescriptor( + int index, org.nd4j.ir.OpNamespace.ArgDescriptor.Builder builderForValue) { + if (argDescriptorBuilder_ == null) { + ensureArgDescriptorIsMutable(); + argDescriptor_.add(index, builderForValue.build()); + onChanged(); + } else { + argDescriptorBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + public Builder addAllArgDescriptor( + java.lang.Iterable values) { + if (argDescriptorBuilder_ == null) { + ensureArgDescriptorIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, argDescriptor_); + onChanged(); + } else { + argDescriptorBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + public Builder clearArgDescriptor() { + if (argDescriptorBuilder_ == null) { + argDescriptor_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + argDescriptorBuilder_.clear(); + } + return this; + } + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + public Builder removeArgDescriptor(int index) { + if (argDescriptorBuilder_ == null) { + ensureArgDescriptorIsMutable(); + argDescriptor_.remove(index); + onChanged(); + } else { + argDescriptorBuilder_.remove(index); + } + return this; + } + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + public org.nd4j.ir.OpNamespace.ArgDescriptor.Builder getArgDescriptorBuilder( + int index) { + return getArgDescriptorFieldBuilder().getBuilder(index); + } + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + public org.nd4j.ir.OpNamespace.ArgDescriptorOrBuilder getArgDescriptorOrBuilder( + int index) { + if (argDescriptorBuilder_ == null) { + return argDescriptor_.get(index); } else { + return argDescriptorBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + public java.util.List + getArgDescriptorOrBuilderList() { + if (argDescriptorBuilder_ != null) { + return argDescriptorBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(argDescriptor_); + } + } + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + public org.nd4j.ir.OpNamespace.ArgDescriptor.Builder addArgDescriptorBuilder() { + return getArgDescriptorFieldBuilder().addBuilder( + org.nd4j.ir.OpNamespace.ArgDescriptor.getDefaultInstance()); + } + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + public org.nd4j.ir.OpNamespace.ArgDescriptor.Builder addArgDescriptorBuilder( + int index) { + return getArgDescriptorFieldBuilder().addBuilder( + index, org.nd4j.ir.OpNamespace.ArgDescriptor.getDefaultInstance()); + } + /** + * repeated .org.nd4j.ir.ArgDescriptor argDescriptor = 2; + */ + public java.util.List + getArgDescriptorBuilderList() { + return getArgDescriptorFieldBuilder().getBuilderList(); + } + private org.nd4j.shade.protobuf.RepeatedFieldBuilderV3< + org.nd4j.ir.OpNamespace.ArgDescriptor, org.nd4j.ir.OpNamespace.ArgDescriptor.Builder, org.nd4j.ir.OpNamespace.ArgDescriptorOrBuilder> + getArgDescriptorFieldBuilder() { + if (argDescriptorBuilder_ == null) { + argDescriptorBuilder_ = new org.nd4j.shade.protobuf.RepeatedFieldBuilderV3< + org.nd4j.ir.OpNamespace.ArgDescriptor, org.nd4j.ir.OpNamespace.ArgDescriptor.Builder, org.nd4j.ir.OpNamespace.ArgDescriptorOrBuilder>( + argDescriptor_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + argDescriptor_ = null; + } + return argDescriptorBuilder_; + } + + private int opDeclarationType_ = 0; + /** + * .org.nd4j.ir.OpDescriptor.OpDeclarationType opDeclarationType = 3; + */ + public int getOpDeclarationTypeValue() { + return opDeclarationType_; + } + /** + * .org.nd4j.ir.OpDescriptor.OpDeclarationType opDeclarationType = 3; + */ + public Builder setOpDeclarationTypeValue(int value) { + opDeclarationType_ = value; + onChanged(); + return this; + } + /** + * .org.nd4j.ir.OpDescriptor.OpDeclarationType opDeclarationType = 3; + */ + public org.nd4j.ir.OpNamespace.OpDescriptor.OpDeclarationType getOpDeclarationType() { + @SuppressWarnings("deprecation") + org.nd4j.ir.OpNamespace.OpDescriptor.OpDeclarationType result = org.nd4j.ir.OpNamespace.OpDescriptor.OpDeclarationType.valueOf(opDeclarationType_); + return result == null ? org.nd4j.ir.OpNamespace.OpDescriptor.OpDeclarationType.UNRECOGNIZED : result; + } + /** + * .org.nd4j.ir.OpDescriptor.OpDeclarationType opDeclarationType = 3; + */ + public Builder setOpDeclarationType(org.nd4j.ir.OpNamespace.OpDescriptor.OpDeclarationType value) { + if (value == null) { + throw new NullPointerException(); + } + + opDeclarationType_ = value.getNumber(); + onChanged(); + return this; + } + /** + * .org.nd4j.ir.OpDescriptor.OpDeclarationType opDeclarationType = 3; + */ + public Builder clearOpDeclarationType() { + + opDeclarationType_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:org.nd4j.ir.OpDescriptor) + } + + // @@protoc_insertion_point(class_scope:org.nd4j.ir.OpDescriptor) + private static final org.nd4j.ir.OpNamespace.OpDescriptor DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.nd4j.ir.OpNamespace.OpDescriptor(); + } + + public static org.nd4j.ir.OpNamespace.OpDescriptor getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final org.nd4j.shade.protobuf.Parser + PARSER = new org.nd4j.shade.protobuf.AbstractParser() { + @java.lang.Override + public OpDescriptor parsePartialFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return new OpDescriptor(input, extensionRegistry); + } + }; + + public static org.nd4j.shade.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.ir.OpNamespace.OpDescriptor getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface OpDescriptorListOrBuilder extends + // @@protoc_insertion_point(interface_extends:org.nd4j.ir.OpDescriptorList) + org.nd4j.shade.protobuf.MessageOrBuilder { + + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + java.util.List + getOpListList(); + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + org.nd4j.ir.OpNamespace.OpDescriptor getOpList(int index); + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + int getOpListCount(); + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + java.util.List + getOpListOrBuilderList(); + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + org.nd4j.ir.OpNamespace.OpDescriptorOrBuilder getOpListOrBuilder( + int index); + } + /** + * Protobuf type {@code org.nd4j.ir.OpDescriptorList} + */ + public static final class OpDescriptorList extends + org.nd4j.shade.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:org.nd4j.ir.OpDescriptorList) + OpDescriptorListOrBuilder { + private static final long serialVersionUID = 0L; + // Use OpDescriptorList.newBuilder() to construct. + private OpDescriptorList(org.nd4j.shade.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private OpDescriptorList() { + opList_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new OpDescriptorList(); + } + + @java.lang.Override + public final org.nd4j.shade.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private OpDescriptorList( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + org.nd4j.shade.protobuf.UnknownFieldSet.Builder unknownFields = + org.nd4j.shade.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + opList_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + opList_.add( + input.readMessage(org.nd4j.ir.OpNamespace.OpDescriptor.parser(), extensionRegistry)); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new org.nd4j.shade.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + opList_ = java.util.Collections.unmodifiableList(opList_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.OpNamespace.internal_static_org_nd4j_ir_OpDescriptorList_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.OpNamespace.internal_static_org_nd4j_ir_OpDescriptorList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.OpNamespace.OpDescriptorList.class, org.nd4j.ir.OpNamespace.OpDescriptorList.Builder.class); + } + + public static final int OPLIST_FIELD_NUMBER = 1; + private java.util.List opList_; + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + public java.util.List getOpListList() { + return opList_; + } + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + public java.util.List + getOpListOrBuilderList() { + return opList_; + } + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + public int getOpListCount() { + return opList_.size(); + } + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + public org.nd4j.ir.OpNamespace.OpDescriptor getOpList(int index) { + return opList_.get(index); + } + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + public org.nd4j.ir.OpNamespace.OpDescriptorOrBuilder getOpListOrBuilder( + int index) { + return opList_.get(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(org.nd4j.shade.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < opList_.size(); i++) { + output.writeMessage(1, opList_.get(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < opList_.size(); i++) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeMessageSize(1, opList_.get(i)); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.nd4j.ir.OpNamespace.OpDescriptorList)) { + return super.equals(obj); + } + org.nd4j.ir.OpNamespace.OpDescriptorList other = (org.nd4j.ir.OpNamespace.OpDescriptorList) obj; + + if (!getOpListList() + .equals(other.getOpListList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getOpListCount() > 0) { + hash = (37 * hash) + OPLIST_FIELD_NUMBER; + hash = (53 * hash) + getOpListList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.nd4j.ir.OpNamespace.OpDescriptorList parseFrom( + java.nio.ByteBuffer data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.OpNamespace.OpDescriptorList parseFrom( + java.nio.ByteBuffer data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.OpNamespace.OpDescriptorList parseFrom( + org.nd4j.shade.protobuf.ByteString data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.OpNamespace.OpDescriptorList parseFrom( + org.nd4j.shade.protobuf.ByteString data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.OpNamespace.OpDescriptorList parseFrom(byte[] data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.OpNamespace.OpDescriptorList parseFrom( + byte[] data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.OpNamespace.OpDescriptorList parseFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.OpNamespace.OpDescriptorList parseFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.OpNamespace.OpDescriptorList parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static org.nd4j.ir.OpNamespace.OpDescriptorList parseDelimitedFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.OpNamespace.OpDescriptorList parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.OpNamespace.OpDescriptorList parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.nd4j.ir.OpNamespace.OpDescriptorList prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code org.nd4j.ir.OpDescriptorList} + */ + public static final class Builder extends + org.nd4j.shade.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:org.nd4j.ir.OpDescriptorList) + org.nd4j.ir.OpNamespace.OpDescriptorListOrBuilder { + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.OpNamespace.internal_static_org_nd4j_ir_OpDescriptorList_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.OpNamespace.internal_static_org_nd4j_ir_OpDescriptorList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.OpNamespace.OpDescriptorList.class, org.nd4j.ir.OpNamespace.OpDescriptorList.Builder.class); + } + + // Construct using org.nd4j.ir.OpNamespace.OpDescriptorList.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (org.nd4j.shade.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getOpListFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (opListBuilder_ == null) { + opList_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + opListBuilder_.clear(); + } + return this; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.nd4j.ir.OpNamespace.internal_static_org_nd4j_ir_OpDescriptorList_descriptor; + } + + @java.lang.Override + public org.nd4j.ir.OpNamespace.OpDescriptorList getDefaultInstanceForType() { + return org.nd4j.ir.OpNamespace.OpDescriptorList.getDefaultInstance(); + } + + @java.lang.Override + public org.nd4j.ir.OpNamespace.OpDescriptorList build() { + org.nd4j.ir.OpNamespace.OpDescriptorList result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.nd4j.ir.OpNamespace.OpDescriptorList buildPartial() { + org.nd4j.ir.OpNamespace.OpDescriptorList result = new org.nd4j.ir.OpNamespace.OpDescriptorList(this); + int from_bitField0_ = bitField0_; + if (opListBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + opList_ = java.util.Collections.unmodifiableList(opList_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.opList_ = opList_; + } else { + result.opList_ = opListBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + org.nd4j.shade.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(org.nd4j.shade.protobuf.Message other) { + if (other instanceof org.nd4j.ir.OpNamespace.OpDescriptorList) { + return mergeFrom((org.nd4j.ir.OpNamespace.OpDescriptorList)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.nd4j.ir.OpNamespace.OpDescriptorList other) { + if (other == org.nd4j.ir.OpNamespace.OpDescriptorList.getDefaultInstance()) return this; + if (opListBuilder_ == null) { + if (!other.opList_.isEmpty()) { + if (opList_.isEmpty()) { + opList_ = other.opList_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureOpListIsMutable(); + opList_.addAll(other.opList_); + } + onChanged(); + } + } else { + if (!other.opList_.isEmpty()) { + if (opListBuilder_.isEmpty()) { + opListBuilder_.dispose(); + opListBuilder_ = null; + opList_ = other.opList_; + bitField0_ = (bitField0_ & ~0x00000001); + opListBuilder_ = + org.nd4j.shade.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getOpListFieldBuilder() : null; + } else { + opListBuilder_.addAllMessages(other.opList_); + } + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.nd4j.ir.OpNamespace.OpDescriptorList parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.nd4j.ir.OpNamespace.OpDescriptorList) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.util.List opList_ = + java.util.Collections.emptyList(); + private void ensureOpListIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + opList_ = new java.util.ArrayList(opList_); + bitField0_ |= 0x00000001; + } + } + + private org.nd4j.shade.protobuf.RepeatedFieldBuilderV3< + org.nd4j.ir.OpNamespace.OpDescriptor, org.nd4j.ir.OpNamespace.OpDescriptor.Builder, org.nd4j.ir.OpNamespace.OpDescriptorOrBuilder> opListBuilder_; + + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + public java.util.List getOpListList() { + if (opListBuilder_ == null) { + return java.util.Collections.unmodifiableList(opList_); + } else { + return opListBuilder_.getMessageList(); + } + } + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + public int getOpListCount() { + if (opListBuilder_ == null) { + return opList_.size(); + } else { + return opListBuilder_.getCount(); + } + } + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + public org.nd4j.ir.OpNamespace.OpDescriptor getOpList(int index) { + if (opListBuilder_ == null) { + return opList_.get(index); + } else { + return opListBuilder_.getMessage(index); + } + } + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + public Builder setOpList( + int index, org.nd4j.ir.OpNamespace.OpDescriptor value) { + if (opListBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOpListIsMutable(); + opList_.set(index, value); + onChanged(); + } else { + opListBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + public Builder setOpList( + int index, org.nd4j.ir.OpNamespace.OpDescriptor.Builder builderForValue) { + if (opListBuilder_ == null) { + ensureOpListIsMutable(); + opList_.set(index, builderForValue.build()); + onChanged(); + } else { + opListBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + public Builder addOpList(org.nd4j.ir.OpNamespace.OpDescriptor value) { + if (opListBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOpListIsMutable(); + opList_.add(value); + onChanged(); + } else { + opListBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + public Builder addOpList( + int index, org.nd4j.ir.OpNamespace.OpDescriptor value) { + if (opListBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOpListIsMutable(); + opList_.add(index, value); + onChanged(); + } else { + opListBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + public Builder addOpList( + org.nd4j.ir.OpNamespace.OpDescriptor.Builder builderForValue) { + if (opListBuilder_ == null) { + ensureOpListIsMutable(); + opList_.add(builderForValue.build()); + onChanged(); + } else { + opListBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + public Builder addOpList( + int index, org.nd4j.ir.OpNamespace.OpDescriptor.Builder builderForValue) { + if (opListBuilder_ == null) { + ensureOpListIsMutable(); + opList_.add(index, builderForValue.build()); + onChanged(); + } else { + opListBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + public Builder addAllOpList( + java.lang.Iterable values) { + if (opListBuilder_ == null) { + ensureOpListIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, opList_); + onChanged(); + } else { + opListBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + public Builder clearOpList() { + if (opListBuilder_ == null) { + opList_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + opListBuilder_.clear(); + } + return this; + } + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + public Builder removeOpList(int index) { + if (opListBuilder_ == null) { + ensureOpListIsMutable(); + opList_.remove(index); + onChanged(); + } else { + opListBuilder_.remove(index); + } + return this; + } + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + public org.nd4j.ir.OpNamespace.OpDescriptor.Builder getOpListBuilder( + int index) { + return getOpListFieldBuilder().getBuilder(index); + } + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + public org.nd4j.ir.OpNamespace.OpDescriptorOrBuilder getOpListOrBuilder( + int index) { + if (opListBuilder_ == null) { + return opList_.get(index); } else { + return opListBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + public java.util.List + getOpListOrBuilderList() { + if (opListBuilder_ != null) { + return opListBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(opList_); + } + } + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + public org.nd4j.ir.OpNamespace.OpDescriptor.Builder addOpListBuilder() { + return getOpListFieldBuilder().addBuilder( + org.nd4j.ir.OpNamespace.OpDescriptor.getDefaultInstance()); + } + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + public org.nd4j.ir.OpNamespace.OpDescriptor.Builder addOpListBuilder( + int index) { + return getOpListFieldBuilder().addBuilder( + index, org.nd4j.ir.OpNamespace.OpDescriptor.getDefaultInstance()); + } + /** + * repeated .org.nd4j.ir.OpDescriptor opList = 1; + */ + public java.util.List + getOpListBuilderList() { + return getOpListFieldBuilder().getBuilderList(); + } + private org.nd4j.shade.protobuf.RepeatedFieldBuilderV3< + org.nd4j.ir.OpNamespace.OpDescriptor, org.nd4j.ir.OpNamespace.OpDescriptor.Builder, org.nd4j.ir.OpNamespace.OpDescriptorOrBuilder> + getOpListFieldBuilder() { + if (opListBuilder_ == null) { + opListBuilder_ = new org.nd4j.shade.protobuf.RepeatedFieldBuilderV3< + org.nd4j.ir.OpNamespace.OpDescriptor, org.nd4j.ir.OpNamespace.OpDescriptor.Builder, org.nd4j.ir.OpNamespace.OpDescriptorOrBuilder>( + opList_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + opList_ = null; + } + return opListBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:org.nd4j.ir.OpDescriptorList) + } + + // @@protoc_insertion_point(class_scope:org.nd4j.ir.OpDescriptorList) + private static final org.nd4j.ir.OpNamespace.OpDescriptorList DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.nd4j.ir.OpNamespace.OpDescriptorList(); + } + + public static org.nd4j.ir.OpNamespace.OpDescriptorList getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final org.nd4j.shade.protobuf.Parser + PARSER = new org.nd4j.shade.protobuf.AbstractParser() { + @java.lang.Override + public OpDescriptorList parsePartialFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return new OpDescriptorList(input, extensionRegistry); + } + }; + + public static org.nd4j.shade.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.ir.OpNamespace.OpDescriptorList getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + private static final org.nd4j.shade.protobuf.Descriptors.Descriptor + internal_static_org_nd4j_ir_ArgDescriptor_descriptor; + private static final + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_org_nd4j_ir_ArgDescriptor_fieldAccessorTable; + private static final org.nd4j.shade.protobuf.Descriptors.Descriptor + internal_static_org_nd4j_ir_OpDescriptor_descriptor; + private static final + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_org_nd4j_ir_OpDescriptor_fieldAccessorTable; + private static final org.nd4j.shade.protobuf.Descriptors.Descriptor + internal_static_org_nd4j_ir_OpDescriptorList_descriptor; + private static final + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_org_nd4j_ir_OpDescriptorList_fieldAccessorTable; + + public static org.nd4j.shade.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static org.nd4j.shade.protobuf.Descriptors.FileDescriptor + descriptor; + static { + java.lang.String[] descriptorData = { + "\n\010op.proto\022\013org.nd4j.ir\032\014tensor.proto\"\253\004" + + "\n\rArgDescriptor\022\014\n\004name\030\001 \001(\t\022\022\n\nfloatVa" + + "lue\030\002 \001(\002\022\023\n\013doubleValue\030\003 \001(\001\022\022\n\nint32V" + + "alue\030\004 \001(\005\022\022\n\nint64Value\030\005 \001(\003\022\021\n\tboolVa" + + "lue\030\006 \001(\010\022,\n\rdataTypeValue\030\007 \001(\0162\025.org.n" + + "d4j.ir.DataType\022,\n\ninputValue\030\010 \001(\0132\030.or" + + "g.nd4j.ir.TensorProto\022-\n\013outputValue\030\t \001" + + "(\0132\030.org.nd4j.ir.TensorProto\0223\n\007argType\030" + + "\n \001(\0162\".org.nd4j.ir.ArgDescriptor.ArgTyp" + + "e\022\020\n\010argIndex\030\013 \001(\005\022\023\n\013stringValue\030\014 \001(\t" + + "\022\023\n\013argOptional\030\r \001(\010\022\030\n\020convertBoolToIn" + + "t\030\016 \001(\010\022\017\n\007isArray\030\017 \001(\010\"\200\001\n\007ArgType\022\t\n\005" + + "FLOAT\020\000\022\n\n\006DOUBLE\020\001\022\t\n\005INT32\020\002\022\t\n\005INT64\020" + + "\003\022\010\n\004BOOL\020\004\022\r\n\tDATA_TYPE\020\005\022\020\n\014INPUT_TENS" + + "OR\020\006\022\021\n\rOUTPUT_TENSOR\020\007\022\n\n\006STRING\020\010\"\256\003\n\014" + + "OpDescriptor\022\014\n\004name\030\001 \001(\t\0221\n\rargDescrip" + + "tor\030\002 \003(\0132\032.org.nd4j.ir.ArgDescriptor\022F\n" + + "\021opDeclarationType\030\003 \001(\0162+.org.nd4j.ir.O" + + "pDescriptor.OpDeclarationType\"\224\002\n\021OpDecl" + + "arationType\022\022\n\016CUSTOM_OP_IMPL\020\000\022\023\n\017BOOLE" + + "AN_OP_IMPL\020\001\022\020\n\014LIST_OP_IMPL\020\002\022\021\n\rLOGIC_" + + "OP_IMPL\020\003\022\013\n\007OP_IMPL\020\004\022\025\n\021DIVERGENT_OP_I" + + "MPL\020\006\022\030\n\024CONFIGURABLE_OP_IMPL\020\007\022\025\n\021REDUC" + + "TION_OP_IMPL\020\010\022\031\n\025BROADCASTABLE_OP_IMPL\020" + + "\t\022\036\n\032BROADCASTABLE_BOOL_OP_IMPL\020\n\022\016\n\nLEG" + + "ACY_XYZ\020\013\022\021\n\rPLATFORM_IMPL\020\014\"=\n\020OpDescri" + + "ptorList\022)\n\006opList\030\001 \003(\0132\031.org.nd4j.ir.O" + + "pDescriptorB\rB\013OpNamespaceb\006proto3" + }; + descriptor = org.nd4j.shade.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new org.nd4j.shade.protobuf.Descriptors.FileDescriptor[] { + org.nd4j.ir.TensorNamespace.getDescriptor(), + }); + internal_static_org_nd4j_ir_ArgDescriptor_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_org_nd4j_ir_ArgDescriptor_fieldAccessorTable = new + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_org_nd4j_ir_ArgDescriptor_descriptor, + new java.lang.String[] { "Name", "FloatValue", "DoubleValue", "Int32Value", "Int64Value", "BoolValue", "DataTypeValue", "InputValue", "OutputValue", "ArgType", "ArgIndex", "StringValue", "ArgOptional", "ConvertBoolToInt", "IsArray", }); + internal_static_org_nd4j_ir_OpDescriptor_descriptor = + getDescriptor().getMessageTypes().get(1); + internal_static_org_nd4j_ir_OpDescriptor_fieldAccessorTable = new + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_org_nd4j_ir_OpDescriptor_descriptor, + new java.lang.String[] { "Name", "ArgDescriptor", "OpDeclarationType", }); + internal_static_org_nd4j_ir_OpDescriptorList_descriptor = + getDescriptor().getMessageTypes().get(2); + internal_static_org_nd4j_ir_OpDescriptorList_fieldAccessorTable = new + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_org_nd4j_ir_OpDescriptorList_descriptor, + new java.lang.String[] { "OpList", }); + org.nd4j.ir.TensorNamespace.getDescriptor(); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/ir/TensorNamespace.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/ir/TensorNamespace.java new file mode 100644 index 000000000..e62b8fd99 --- /dev/null +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/ir/TensorNamespace.java @@ -0,0 +1,10319 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: tensor.proto + +package org.nd4j.ir; + +public final class TensorNamespace { + private TensorNamespace() {} + public static void registerAllExtensions( + org.nd4j.shade.protobuf.ExtensionRegistryLite registry) { + } + + public static void registerAllExtensions( + org.nd4j.shade.protobuf.ExtensionRegistry registry) { + registerAllExtensions( + (org.nd4j.shade.protobuf.ExtensionRegistryLite) registry); + } + /** + * Protobuf enum {@code org.nd4j.ir.DataType} + */ + public enum DataType + implements org.nd4j.shade.protobuf.ProtocolMessageEnum { + /** + * UNDEFINED = 0; + */ + UNDEFINED(0), + /** + *
        +     * Basic types.
        +     * 
        + * + * FLOAT = 1; + */ + FLOAT(1), + /** + *
        +     * uint8_t
        +     * 
        + * + * UINT8 = 2; + */ + UINT8(2), + /** + *
        +     * int8_t
        +     * 
        + * + * INT8 = 3; + */ + INT8(3), + /** + *
        +     * uint16_t
        +     * 
        + * + * UINT16 = 4; + */ + UINT16(4), + /** + *
        +     * int16_t
        +     * 
        + * + * INT16 = 5; + */ + INT16(5), + /** + *
        +     * int32_t
        +     * 
        + * + * INT32 = 6; + */ + INT32(6), + /** + *
        +     * int64_t
        +     * 
        + * + * INT64 = 7; + */ + INT64(7), + /** + *
        +     * string
        +     * 
        + * + * STRING = 8; + */ + STRING(8), + /** + *
        +     * bool
        +     * 
        + * + * BOOL = 9; + */ + BOOL(9), + /** + *
        +     * IEEE754 half-precision floating-point format (16 bits wide).
        +     * This format has 1 sign bit, 5 exponent bits, and 10 mantissa bits.
        +     * 
        + * + * FLOAT16 = 10; + */ + FLOAT16(10), + /** + * DOUBLE = 11; + */ + DOUBLE(11), + /** + * UINT32 = 12; + */ + UINT32(12), + /** + * UINT64 = 13; + */ + UINT64(13), + /** + *
        +     * complex with float32 real and imaginary components
        +     * 
        + * + * COMPLEX64 = 14; + */ + COMPLEX64(14), + /** + *
        +     * complex with float64 real and imaginary components
        +     * 
        + * + * COMPLEX128 = 15; + */ + COMPLEX128(15), + /** + *
        +     * Non-IEEE floating-point format based on IEEE754 single-precision
        +     * floating-point number truncated to 16 bits.
        +     * This format has 1 sign bit, 8 exponent bits, and 7 mantissa bits.
        +     * 
        + * + * BFLOAT16 = 16; + */ + BFLOAT16(16), + UNRECOGNIZED(-1), + ; + + /** + * UNDEFINED = 0; + */ + public static final int UNDEFINED_VALUE = 0; + /** + *
        +     * Basic types.
        +     * 
        + * + * FLOAT = 1; + */ + public static final int FLOAT_VALUE = 1; + /** + *
        +     * uint8_t
        +     * 
        + * + * UINT8 = 2; + */ + public static final int UINT8_VALUE = 2; + /** + *
        +     * int8_t
        +     * 
        + * + * INT8 = 3; + */ + public static final int INT8_VALUE = 3; + /** + *
        +     * uint16_t
        +     * 
        + * + * UINT16 = 4; + */ + public static final int UINT16_VALUE = 4; + /** + *
        +     * int16_t
        +     * 
        + * + * INT16 = 5; + */ + public static final int INT16_VALUE = 5; + /** + *
        +     * int32_t
        +     * 
        + * + * INT32 = 6; + */ + public static final int INT32_VALUE = 6; + /** + *
        +     * int64_t
        +     * 
        + * + * INT64 = 7; + */ + public static final int INT64_VALUE = 7; + /** + *
        +     * string
        +     * 
        + * + * STRING = 8; + */ + public static final int STRING_VALUE = 8; + /** + *
        +     * bool
        +     * 
        + * + * BOOL = 9; + */ + public static final int BOOL_VALUE = 9; + /** + *
        +     * IEEE754 half-precision floating-point format (16 bits wide).
        +     * This format has 1 sign bit, 5 exponent bits, and 10 mantissa bits.
        +     * 
        + * + * FLOAT16 = 10; + */ + public static final int FLOAT16_VALUE = 10; + /** + * DOUBLE = 11; + */ + public static final int DOUBLE_VALUE = 11; + /** + * UINT32 = 12; + */ + public static final int UINT32_VALUE = 12; + /** + * UINT64 = 13; + */ + public static final int UINT64_VALUE = 13; + /** + *
        +     * complex with float32 real and imaginary components
        +     * 
        + * + * COMPLEX64 = 14; + */ + public static final int COMPLEX64_VALUE = 14; + /** + *
        +     * complex with float64 real and imaginary components
        +     * 
        + * + * COMPLEX128 = 15; + */ + public static final int COMPLEX128_VALUE = 15; + /** + *
        +     * Non-IEEE floating-point format based on IEEE754 single-precision
        +     * floating-point number truncated to 16 bits.
        +     * This format has 1 sign bit, 8 exponent bits, and 7 mantissa bits.
        +     * 
        + * + * BFLOAT16 = 16; + */ + public static final int BFLOAT16_VALUE = 16; + + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static DataType valueOf(int value) { + return forNumber(value); + } + + public static DataType forNumber(int value) { + switch (value) { + case 0: return UNDEFINED; + case 1: return FLOAT; + case 2: return UINT8; + case 3: return INT8; + case 4: return UINT16; + case 5: return INT16; + case 6: return INT32; + case 7: return INT64; + case 8: return STRING; + case 9: return BOOL; + case 10: return FLOAT16; + case 11: return DOUBLE; + case 12: return UINT32; + case 13: return UINT64; + case 14: return COMPLEX64; + case 15: return COMPLEX128; + case 16: return BFLOAT16; + default: return null; + } + } + + public static org.nd4j.shade.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final org.nd4j.shade.protobuf.Internal.EnumLiteMap< + DataType> internalValueMap = + new org.nd4j.shade.protobuf.Internal.EnumLiteMap() { + public DataType findValueByNumber(int number) { + return DataType.forNumber(number); + } + }; + + public final org.nd4j.shade.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + return getDescriptor().getValues().get(ordinal()); + } + public final org.nd4j.shade.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final org.nd4j.shade.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.nd4j.ir.TensorNamespace.getDescriptor().getEnumTypes().get(0); + } + + private static final DataType[] VALUES = values(); + + public static DataType valueOf( + org.nd4j.shade.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private DataType(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:org.nd4j.ir.DataType) + } + + public interface StringStringEntryProtoOrBuilder extends + // @@protoc_insertion_point(interface_extends:org.nd4j.ir.StringStringEntryProto) + org.nd4j.shade.protobuf.MessageOrBuilder { + + /** + * string key = 1; + */ + java.lang.String getKey(); + /** + * string key = 1; + */ + org.nd4j.shade.protobuf.ByteString + getKeyBytes(); + + /** + * string value = 2; + */ + java.lang.String getValue(); + /** + * string value = 2; + */ + org.nd4j.shade.protobuf.ByteString + getValueBytes(); + } + /** + *
        +   * StringStringEntryProto follows the pattern for cross-proto-version maps.
        +   * See https://developers.google.com/protocol-buffers/docs/proto3#maps
        +   * 
        + * + * Protobuf type {@code org.nd4j.ir.StringStringEntryProto} + */ + public static final class StringStringEntryProto extends + org.nd4j.shade.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:org.nd4j.ir.StringStringEntryProto) + StringStringEntryProtoOrBuilder { + private static final long serialVersionUID = 0L; + // Use StringStringEntryProto.newBuilder() to construct. + private StringStringEntryProto(org.nd4j.shade.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private StringStringEntryProto() { + key_ = ""; + value_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new StringStringEntryProto(); + } + + @java.lang.Override + public final org.nd4j.shade.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private StringStringEntryProto( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + org.nd4j.shade.protobuf.UnknownFieldSet.Builder unknownFields = + org.nd4j.shade.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + key_ = s; + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + value_ = s; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new org.nd4j.shade.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_StringStringEntryProto_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_StringStringEntryProto_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.TensorNamespace.StringStringEntryProto.class, org.nd4j.ir.TensorNamespace.StringStringEntryProto.Builder.class); + } + + public static final int KEY_FIELD_NUMBER = 1; + private volatile java.lang.Object key_; + /** + * string key = 1; + */ + public java.lang.String getKey() { + java.lang.Object ref = key_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + key_ = s; + return s; + } + } + /** + * string key = 1; + */ + public org.nd4j.shade.protobuf.ByteString + getKeyBytes() { + java.lang.Object ref = key_; + if (ref instanceof java.lang.String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + key_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + + public static final int VALUE_FIELD_NUMBER = 2; + private volatile java.lang.Object value_; + /** + * string value = 2; + */ + public java.lang.String getValue() { + java.lang.Object ref = value_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + value_ = s; + return s; + } + } + /** + * string value = 2; + */ + public org.nd4j.shade.protobuf.ByteString + getValueBytes() { + java.lang.Object ref = value_; + if (ref instanceof java.lang.String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + value_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(org.nd4j.shade.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!getKeyBytes().isEmpty()) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 1, key_); + } + if (!getValueBytes().isEmpty()) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 2, value_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getKeyBytes().isEmpty()) { + size += org.nd4j.shade.protobuf.GeneratedMessageV3.computeStringSize(1, key_); + } + if (!getValueBytes().isEmpty()) { + size += org.nd4j.shade.protobuf.GeneratedMessageV3.computeStringSize(2, value_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.nd4j.ir.TensorNamespace.StringStringEntryProto)) { + return super.equals(obj); + } + org.nd4j.ir.TensorNamespace.StringStringEntryProto other = (org.nd4j.ir.TensorNamespace.StringStringEntryProto) obj; + + if (!getKey() + .equals(other.getKey())) return false; + if (!getValue() + .equals(other.getValue())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + KEY_FIELD_NUMBER; + hash = (53 * hash) + getKey().hashCode(); + hash = (37 * hash) + VALUE_FIELD_NUMBER; + hash = (53 * hash) + getValue().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.nd4j.ir.TensorNamespace.StringStringEntryProto parseFrom( + java.nio.ByteBuffer data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.TensorNamespace.StringStringEntryProto parseFrom( + java.nio.ByteBuffer data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.StringStringEntryProto parseFrom( + org.nd4j.shade.protobuf.ByteString data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.TensorNamespace.StringStringEntryProto parseFrom( + org.nd4j.shade.protobuf.ByteString data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.StringStringEntryProto parseFrom(byte[] data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.TensorNamespace.StringStringEntryProto parseFrom( + byte[] data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.StringStringEntryProto parseFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.TensorNamespace.StringStringEntryProto parseFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.StringStringEntryProto parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static org.nd4j.ir.TensorNamespace.StringStringEntryProto parseDelimitedFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.StringStringEntryProto parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.TensorNamespace.StringStringEntryProto parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.nd4j.ir.TensorNamespace.StringStringEntryProto prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
        +     * StringStringEntryProto follows the pattern for cross-proto-version maps.
        +     * See https://developers.google.com/protocol-buffers/docs/proto3#maps
        +     * 
        + * + * Protobuf type {@code org.nd4j.ir.StringStringEntryProto} + */ + public static final class Builder extends + org.nd4j.shade.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:org.nd4j.ir.StringStringEntryProto) + org.nd4j.ir.TensorNamespace.StringStringEntryProtoOrBuilder { + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_StringStringEntryProto_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_StringStringEntryProto_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.TensorNamespace.StringStringEntryProto.class, org.nd4j.ir.TensorNamespace.StringStringEntryProto.Builder.class); + } + + // Construct using org.nd4j.ir.TensorNamespace.StringStringEntryProto.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (org.nd4j.shade.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + key_ = ""; + + value_ = ""; + + return this; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_StringStringEntryProto_descriptor; + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.StringStringEntryProto getDefaultInstanceForType() { + return org.nd4j.ir.TensorNamespace.StringStringEntryProto.getDefaultInstance(); + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.StringStringEntryProto build() { + org.nd4j.ir.TensorNamespace.StringStringEntryProto result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.StringStringEntryProto buildPartial() { + org.nd4j.ir.TensorNamespace.StringStringEntryProto result = new org.nd4j.ir.TensorNamespace.StringStringEntryProto(this); + result.key_ = key_; + result.value_ = value_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + org.nd4j.shade.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(org.nd4j.shade.protobuf.Message other) { + if (other instanceof org.nd4j.ir.TensorNamespace.StringStringEntryProto) { + return mergeFrom((org.nd4j.ir.TensorNamespace.StringStringEntryProto)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.nd4j.ir.TensorNamespace.StringStringEntryProto other) { + if (other == org.nd4j.ir.TensorNamespace.StringStringEntryProto.getDefaultInstance()) return this; + if (!other.getKey().isEmpty()) { + key_ = other.key_; + onChanged(); + } + if (!other.getValue().isEmpty()) { + value_ = other.value_; + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.nd4j.ir.TensorNamespace.StringStringEntryProto parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.nd4j.ir.TensorNamespace.StringStringEntryProto) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object key_ = ""; + /** + * string key = 1; + */ + public java.lang.String getKey() { + java.lang.Object ref = key_; + if (!(ref instanceof java.lang.String)) { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + key_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string key = 1; + */ + public org.nd4j.shade.protobuf.ByteString + getKeyBytes() { + java.lang.Object ref = key_; + if (ref instanceof String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + key_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + /** + * string key = 1; + */ + public Builder setKey( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + key_ = value; + onChanged(); + return this; + } + /** + * string key = 1; + */ + public Builder clearKey() { + + key_ = getDefaultInstance().getKey(); + onChanged(); + return this; + } + /** + * string key = 1; + */ + public Builder setKeyBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + key_ = value; + onChanged(); + return this; + } + + private java.lang.Object value_ = ""; + /** + * string value = 2; + */ + public java.lang.String getValue() { + java.lang.Object ref = value_; + if (!(ref instanceof java.lang.String)) { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + value_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string value = 2; + */ + public org.nd4j.shade.protobuf.ByteString + getValueBytes() { + java.lang.Object ref = value_; + if (ref instanceof String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + value_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + /** + * string value = 2; + */ + public Builder setValue( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + value_ = value; + onChanged(); + return this; + } + /** + * string value = 2; + */ + public Builder clearValue() { + + value_ = getDefaultInstance().getValue(); + onChanged(); + return this; + } + /** + * string value = 2; + */ + public Builder setValueBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + value_ = value; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:org.nd4j.ir.StringStringEntryProto) + } + + // @@protoc_insertion_point(class_scope:org.nd4j.ir.StringStringEntryProto) + private static final org.nd4j.ir.TensorNamespace.StringStringEntryProto DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.nd4j.ir.TensorNamespace.StringStringEntryProto(); + } + + public static org.nd4j.ir.TensorNamespace.StringStringEntryProto getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final org.nd4j.shade.protobuf.Parser + PARSER = new org.nd4j.shade.protobuf.AbstractParser() { + @java.lang.Override + public StringStringEntryProto parsePartialFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return new StringStringEntryProto(input, extensionRegistry); + } + }; + + public static org.nd4j.shade.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.StringStringEntryProto getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface TypeProtoOrBuilder extends + // @@protoc_insertion_point(interface_extends:org.nd4j.ir.TypeProto) + org.nd4j.shade.protobuf.MessageOrBuilder { + + /** + *
        +     * The type of a tensor.
        +     * 
        + * + * .org.nd4j.ir.TypeProto.TensorDescriptor tensor_type = 1; + */ + boolean hasTensorType(); + /** + *
        +     * The type of a tensor.
        +     * 
        + * + * .org.nd4j.ir.TypeProto.TensorDescriptor tensor_type = 1; + */ + org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor getTensorType(); + /** + *
        +     * The type of a tensor.
        +     * 
        + * + * .org.nd4j.ir.TypeProto.TensorDescriptor tensor_type = 1; + */ + org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptorOrBuilder getTensorTypeOrBuilder(); + + public org.nd4j.ir.TensorNamespace.TypeProto.ValueCase getValueCase(); + } + /** + *
        +   * Define the types.
        +   * 
        + * + * Protobuf type {@code org.nd4j.ir.TypeProto} + */ + public static final class TypeProto extends + org.nd4j.shade.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:org.nd4j.ir.TypeProto) + TypeProtoOrBuilder { + private static final long serialVersionUID = 0L; + // Use TypeProto.newBuilder() to construct. + private TypeProto(org.nd4j.shade.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private TypeProto() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new TypeProto(); + } + + @java.lang.Override + public final org.nd4j.shade.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private TypeProto( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + org.nd4j.shade.protobuf.UnknownFieldSet.Builder unknownFields = + org.nd4j.shade.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor.Builder subBuilder = null; + if (valueCase_ == 1) { + subBuilder = ((org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor) value_).toBuilder(); + } + value_ = + input.readMessage(org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor) value_); + value_ = subBuilder.buildPartial(); + } + valueCase_ = 1; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new org.nd4j.shade.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TypeProto_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TypeProto_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.TensorNamespace.TypeProto.class, org.nd4j.ir.TensorNamespace.TypeProto.Builder.class); + } + + public interface TensorDescriptorOrBuilder extends + // @@protoc_insertion_point(interface_extends:org.nd4j.ir.TypeProto.TensorDescriptor) + org.nd4j.shade.protobuf.MessageOrBuilder { + + /** + *
        +       * This field MUST NOT have the value of UNDEFINED
        +       * This field MUST be present for this version of the IR.
        +       * 
        + * + * .org.nd4j.ir.DataType elem_type = 1; + */ + int getElemTypeValue(); + /** + *
        +       * This field MUST NOT have the value of UNDEFINED
        +       * This field MUST be present for this version of the IR.
        +       * 
        + * + * .org.nd4j.ir.DataType elem_type = 1; + */ + org.nd4j.ir.TensorNamespace.DataType getElemType(); + + /** + * .org.nd4j.ir.TensorShapeProto shape = 2; + */ + boolean hasShape(); + /** + * .org.nd4j.ir.TensorShapeProto shape = 2; + */ + org.nd4j.ir.TensorNamespace.TensorShapeProto getShape(); + /** + * .org.nd4j.ir.TensorShapeProto shape = 2; + */ + org.nd4j.ir.TensorNamespace.TensorShapeProtoOrBuilder getShapeOrBuilder(); + } + /** + * Protobuf type {@code org.nd4j.ir.TypeProto.TensorDescriptor} + */ + public static final class TensorDescriptor extends + org.nd4j.shade.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:org.nd4j.ir.TypeProto.TensorDescriptor) + TensorDescriptorOrBuilder { + private static final long serialVersionUID = 0L; + // Use TensorDescriptor.newBuilder() to construct. + private TensorDescriptor(org.nd4j.shade.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private TensorDescriptor() { + elemType_ = 0; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new TensorDescriptor(); + } + + @java.lang.Override + public final org.nd4j.shade.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private TensorDescriptor( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + org.nd4j.shade.protobuf.UnknownFieldSet.Builder unknownFields = + org.nd4j.shade.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + int rawValue = input.readEnum(); + + elemType_ = rawValue; + break; + } + case 18: { + org.nd4j.ir.TensorNamespace.TensorShapeProto.Builder subBuilder = null; + if (shape_ != null) { + subBuilder = shape_.toBuilder(); + } + shape_ = input.readMessage(org.nd4j.ir.TensorNamespace.TensorShapeProto.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(shape_); + shape_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new org.nd4j.shade.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TypeProto_TensorDescriptor_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TypeProto_TensorDescriptor_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor.class, org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor.Builder.class); + } + + public static final int ELEM_TYPE_FIELD_NUMBER = 1; + private int elemType_; + /** + *
        +       * This field MUST NOT have the value of UNDEFINED
        +       * This field MUST be present for this version of the IR.
        +       * 
        + * + * .org.nd4j.ir.DataType elem_type = 1; + */ + public int getElemTypeValue() { + return elemType_; + } + /** + *
        +       * This field MUST NOT have the value of UNDEFINED
        +       * This field MUST be present for this version of the IR.
        +       * 
        + * + * .org.nd4j.ir.DataType elem_type = 1; + */ + public org.nd4j.ir.TensorNamespace.DataType getElemType() { + @SuppressWarnings("deprecation") + org.nd4j.ir.TensorNamespace.DataType result = org.nd4j.ir.TensorNamespace.DataType.valueOf(elemType_); + return result == null ? org.nd4j.ir.TensorNamespace.DataType.UNRECOGNIZED : result; + } + + public static final int SHAPE_FIELD_NUMBER = 2; + private org.nd4j.ir.TensorNamespace.TensorShapeProto shape_; + /** + * .org.nd4j.ir.TensorShapeProto shape = 2; + */ + public boolean hasShape() { + return shape_ != null; + } + /** + * .org.nd4j.ir.TensorShapeProto shape = 2; + */ + public org.nd4j.ir.TensorNamespace.TensorShapeProto getShape() { + return shape_ == null ? org.nd4j.ir.TensorNamespace.TensorShapeProto.getDefaultInstance() : shape_; + } + /** + * .org.nd4j.ir.TensorShapeProto shape = 2; + */ + public org.nd4j.ir.TensorNamespace.TensorShapeProtoOrBuilder getShapeOrBuilder() { + return getShape(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(org.nd4j.shade.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (elemType_ != org.nd4j.ir.TensorNamespace.DataType.UNDEFINED.getNumber()) { + output.writeEnum(1, elemType_); + } + if (shape_ != null) { + output.writeMessage(2, getShape()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (elemType_ != org.nd4j.ir.TensorNamespace.DataType.UNDEFINED.getNumber()) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeEnumSize(1, elemType_); + } + if (shape_ != null) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeMessageSize(2, getShape()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor)) { + return super.equals(obj); + } + org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor other = (org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor) obj; + + if (elemType_ != other.elemType_) return false; + if (hasShape() != other.hasShape()) return false; + if (hasShape()) { + if (!getShape() + .equals(other.getShape())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + ELEM_TYPE_FIELD_NUMBER; + hash = (53 * hash) + elemType_; + if (hasShape()) { + hash = (37 * hash) + SHAPE_FIELD_NUMBER; + hash = (53 * hash) + getShape().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor parseFrom( + java.nio.ByteBuffer data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor parseFrom( + java.nio.ByteBuffer data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor parseFrom( + org.nd4j.shade.protobuf.ByteString data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor parseFrom( + org.nd4j.shade.protobuf.ByteString data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor parseFrom(byte[] data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor parseFrom( + byte[] data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor parseFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor parseFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor parseDelimitedFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code org.nd4j.ir.TypeProto.TensorDescriptor} + */ + public static final class Builder extends + org.nd4j.shade.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:org.nd4j.ir.TypeProto.TensorDescriptor) + org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptorOrBuilder { + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TypeProto_TensorDescriptor_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TypeProto_TensorDescriptor_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor.class, org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor.Builder.class); + } + + // Construct using org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (org.nd4j.shade.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + elemType_ = 0; + + if (shapeBuilder_ == null) { + shape_ = null; + } else { + shape_ = null; + shapeBuilder_ = null; + } + return this; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TypeProto_TensorDescriptor_descriptor; + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor getDefaultInstanceForType() { + return org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor.getDefaultInstance(); + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor build() { + org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor buildPartial() { + org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor result = new org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor(this); + result.elemType_ = elemType_; + if (shapeBuilder_ == null) { + result.shape_ = shape_; + } else { + result.shape_ = shapeBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + org.nd4j.shade.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(org.nd4j.shade.protobuf.Message other) { + if (other instanceof org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor) { + return mergeFrom((org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor other) { + if (other == org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor.getDefaultInstance()) return this; + if (other.elemType_ != 0) { + setElemTypeValue(other.getElemTypeValue()); + } + if (other.hasShape()) { + mergeShape(other.getShape()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int elemType_ = 0; + /** + *
        +         * This field MUST NOT have the value of UNDEFINED
        +         * This field MUST be present for this version of the IR.
        +         * 
        + * + * .org.nd4j.ir.DataType elem_type = 1; + */ + public int getElemTypeValue() { + return elemType_; + } + /** + *
        +         * This field MUST NOT have the value of UNDEFINED
        +         * This field MUST be present for this version of the IR.
        +         * 
        + * + * .org.nd4j.ir.DataType elem_type = 1; + */ + public Builder setElemTypeValue(int value) { + elemType_ = value; + onChanged(); + return this; + } + /** + *
        +         * This field MUST NOT have the value of UNDEFINED
        +         * This field MUST be present for this version of the IR.
        +         * 
        + * + * .org.nd4j.ir.DataType elem_type = 1; + */ + public org.nd4j.ir.TensorNamespace.DataType getElemType() { + @SuppressWarnings("deprecation") + org.nd4j.ir.TensorNamespace.DataType result = org.nd4j.ir.TensorNamespace.DataType.valueOf(elemType_); + return result == null ? org.nd4j.ir.TensorNamespace.DataType.UNRECOGNIZED : result; + } + /** + *
        +         * This field MUST NOT have the value of UNDEFINED
        +         * This field MUST be present for this version of the IR.
        +         * 
        + * + * .org.nd4j.ir.DataType elem_type = 1; + */ + public Builder setElemType(org.nd4j.ir.TensorNamespace.DataType value) { + if (value == null) { + throw new NullPointerException(); + } + + elemType_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
        +         * This field MUST NOT have the value of UNDEFINED
        +         * This field MUST be present for this version of the IR.
        +         * 
        + * + * .org.nd4j.ir.DataType elem_type = 1; + */ + public Builder clearElemType() { + + elemType_ = 0; + onChanged(); + return this; + } + + private org.nd4j.ir.TensorNamespace.TensorShapeProto shape_; + private org.nd4j.shade.protobuf.SingleFieldBuilderV3< + org.nd4j.ir.TensorNamespace.TensorShapeProto, org.nd4j.ir.TensorNamespace.TensorShapeProto.Builder, org.nd4j.ir.TensorNamespace.TensorShapeProtoOrBuilder> shapeBuilder_; + /** + * .org.nd4j.ir.TensorShapeProto shape = 2; + */ + public boolean hasShape() { + return shapeBuilder_ != null || shape_ != null; + } + /** + * .org.nd4j.ir.TensorShapeProto shape = 2; + */ + public org.nd4j.ir.TensorNamespace.TensorShapeProto getShape() { + if (shapeBuilder_ == null) { + return shape_ == null ? org.nd4j.ir.TensorNamespace.TensorShapeProto.getDefaultInstance() : shape_; + } else { + return shapeBuilder_.getMessage(); + } + } + /** + * .org.nd4j.ir.TensorShapeProto shape = 2; + */ + public Builder setShape(org.nd4j.ir.TensorNamespace.TensorShapeProto value) { + if (shapeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + shape_ = value; + onChanged(); + } else { + shapeBuilder_.setMessage(value); + } + + return this; + } + /** + * .org.nd4j.ir.TensorShapeProto shape = 2; + */ + public Builder setShape( + org.nd4j.ir.TensorNamespace.TensorShapeProto.Builder builderForValue) { + if (shapeBuilder_ == null) { + shape_ = builderForValue.build(); + onChanged(); + } else { + shapeBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .org.nd4j.ir.TensorShapeProto shape = 2; + */ + public Builder mergeShape(org.nd4j.ir.TensorNamespace.TensorShapeProto value) { + if (shapeBuilder_ == null) { + if (shape_ != null) { + shape_ = + org.nd4j.ir.TensorNamespace.TensorShapeProto.newBuilder(shape_).mergeFrom(value).buildPartial(); + } else { + shape_ = value; + } + onChanged(); + } else { + shapeBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .org.nd4j.ir.TensorShapeProto shape = 2; + */ + public Builder clearShape() { + if (shapeBuilder_ == null) { + shape_ = null; + onChanged(); + } else { + shape_ = null; + shapeBuilder_ = null; + } + + return this; + } + /** + * .org.nd4j.ir.TensorShapeProto shape = 2; + */ + public org.nd4j.ir.TensorNamespace.TensorShapeProto.Builder getShapeBuilder() { + + onChanged(); + return getShapeFieldBuilder().getBuilder(); + } + /** + * .org.nd4j.ir.TensorShapeProto shape = 2; + */ + public org.nd4j.ir.TensorNamespace.TensorShapeProtoOrBuilder getShapeOrBuilder() { + if (shapeBuilder_ != null) { + return shapeBuilder_.getMessageOrBuilder(); + } else { + return shape_ == null ? + org.nd4j.ir.TensorNamespace.TensorShapeProto.getDefaultInstance() : shape_; + } + } + /** + * .org.nd4j.ir.TensorShapeProto shape = 2; + */ + private org.nd4j.shade.protobuf.SingleFieldBuilderV3< + org.nd4j.ir.TensorNamespace.TensorShapeProto, org.nd4j.ir.TensorNamespace.TensorShapeProto.Builder, org.nd4j.ir.TensorNamespace.TensorShapeProtoOrBuilder> + getShapeFieldBuilder() { + if (shapeBuilder_ == null) { + shapeBuilder_ = new org.nd4j.shade.protobuf.SingleFieldBuilderV3< + org.nd4j.ir.TensorNamespace.TensorShapeProto, org.nd4j.ir.TensorNamespace.TensorShapeProto.Builder, org.nd4j.ir.TensorNamespace.TensorShapeProtoOrBuilder>( + getShape(), + getParentForChildren(), + isClean()); + shape_ = null; + } + return shapeBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:org.nd4j.ir.TypeProto.TensorDescriptor) + } + + // @@protoc_insertion_point(class_scope:org.nd4j.ir.TypeProto.TensorDescriptor) + private static final org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor(); + } + + public static org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final org.nd4j.shade.protobuf.Parser + PARSER = new org.nd4j.shade.protobuf.AbstractParser() { + @java.lang.Override + public TensorDescriptor parsePartialFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return new TensorDescriptor(input, extensionRegistry); + } + }; + + public static org.nd4j.shade.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + private int valueCase_ = 0; + private java.lang.Object value_; + public enum ValueCase + implements org.nd4j.shade.protobuf.Internal.EnumLite { + TENSOR_TYPE(1), + VALUE_NOT_SET(0); + private final int value; + private ValueCase(int value) { + this.value = value; + } + /** + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static ValueCase valueOf(int value) { + return forNumber(value); + } + + public static ValueCase forNumber(int value) { + switch (value) { + case 1: return TENSOR_TYPE; + case 0: return VALUE_NOT_SET; + default: return null; + } + } + public int getNumber() { + return this.value; + } + }; + + public ValueCase + getValueCase() { + return ValueCase.forNumber( + valueCase_); + } + + public static final int TENSOR_TYPE_FIELD_NUMBER = 1; + /** + *
        +     * The type of a tensor.
        +     * 
        + * + * .org.nd4j.ir.TypeProto.TensorDescriptor tensor_type = 1; + */ + public boolean hasTensorType() { + return valueCase_ == 1; + } + /** + *
        +     * The type of a tensor.
        +     * 
        + * + * .org.nd4j.ir.TypeProto.TensorDescriptor tensor_type = 1; + */ + public org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor getTensorType() { + if (valueCase_ == 1) { + return (org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor) value_; + } + return org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor.getDefaultInstance(); + } + /** + *
        +     * The type of a tensor.
        +     * 
        + * + * .org.nd4j.ir.TypeProto.TensorDescriptor tensor_type = 1; + */ + public org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptorOrBuilder getTensorTypeOrBuilder() { + if (valueCase_ == 1) { + return (org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor) value_; + } + return org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor.getDefaultInstance(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(org.nd4j.shade.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (valueCase_ == 1) { + output.writeMessage(1, (org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor) value_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (valueCase_ == 1) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeMessageSize(1, (org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor) value_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.nd4j.ir.TensorNamespace.TypeProto)) { + return super.equals(obj); + } + org.nd4j.ir.TensorNamespace.TypeProto other = (org.nd4j.ir.TensorNamespace.TypeProto) obj; + + if (!getValueCase().equals(other.getValueCase())) return false; + switch (valueCase_) { + case 1: + if (!getTensorType() + .equals(other.getTensorType())) return false; + break; + case 0: + default: + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + switch (valueCase_) { + case 1: + hash = (37 * hash) + TENSOR_TYPE_FIELD_NUMBER; + hash = (53 * hash) + getTensorType().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.nd4j.ir.TensorNamespace.TypeProto parseFrom( + java.nio.ByteBuffer data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.TensorNamespace.TypeProto parseFrom( + java.nio.ByteBuffer data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TypeProto parseFrom( + org.nd4j.shade.protobuf.ByteString data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.TensorNamespace.TypeProto parseFrom( + org.nd4j.shade.protobuf.ByteString data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TypeProto parseFrom(byte[] data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.TensorNamespace.TypeProto parseFrom( + byte[] data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TypeProto parseFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.TensorNamespace.TypeProto parseFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TypeProto parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static org.nd4j.ir.TensorNamespace.TypeProto parseDelimitedFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TypeProto parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.TensorNamespace.TypeProto parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.nd4j.ir.TensorNamespace.TypeProto prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
        +     * Define the types.
        +     * 
        + * + * Protobuf type {@code org.nd4j.ir.TypeProto} + */ + public static final class Builder extends + org.nd4j.shade.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:org.nd4j.ir.TypeProto) + org.nd4j.ir.TensorNamespace.TypeProtoOrBuilder { + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TypeProto_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TypeProto_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.TensorNamespace.TypeProto.class, org.nd4j.ir.TensorNamespace.TypeProto.Builder.class); + } + + // Construct using org.nd4j.ir.TensorNamespace.TypeProto.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (org.nd4j.shade.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + valueCase_ = 0; + value_ = null; + return this; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TypeProto_descriptor; + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.TypeProto getDefaultInstanceForType() { + return org.nd4j.ir.TensorNamespace.TypeProto.getDefaultInstance(); + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.TypeProto build() { + org.nd4j.ir.TensorNamespace.TypeProto result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.TypeProto buildPartial() { + org.nd4j.ir.TensorNamespace.TypeProto result = new org.nd4j.ir.TensorNamespace.TypeProto(this); + if (valueCase_ == 1) { + if (tensorTypeBuilder_ == null) { + result.value_ = value_; + } else { + result.value_ = tensorTypeBuilder_.build(); + } + } + result.valueCase_ = valueCase_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + org.nd4j.shade.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(org.nd4j.shade.protobuf.Message other) { + if (other instanceof org.nd4j.ir.TensorNamespace.TypeProto) { + return mergeFrom((org.nd4j.ir.TensorNamespace.TypeProto)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.nd4j.ir.TensorNamespace.TypeProto other) { + if (other == org.nd4j.ir.TensorNamespace.TypeProto.getDefaultInstance()) return this; + switch (other.getValueCase()) { + case TENSOR_TYPE: { + mergeTensorType(other.getTensorType()); + break; + } + case VALUE_NOT_SET: { + break; + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.nd4j.ir.TensorNamespace.TypeProto parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.nd4j.ir.TensorNamespace.TypeProto) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int valueCase_ = 0; + private java.lang.Object value_; + public ValueCase + getValueCase() { + return ValueCase.forNumber( + valueCase_); + } + + public Builder clearValue() { + valueCase_ = 0; + value_ = null; + onChanged(); + return this; + } + + + private org.nd4j.shade.protobuf.SingleFieldBuilderV3< + org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor, org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor.Builder, org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptorOrBuilder> tensorTypeBuilder_; + /** + *
        +       * The type of a tensor.
        +       * 
        + * + * .org.nd4j.ir.TypeProto.TensorDescriptor tensor_type = 1; + */ + public boolean hasTensorType() { + return valueCase_ == 1; + } + /** + *
        +       * The type of a tensor.
        +       * 
        + * + * .org.nd4j.ir.TypeProto.TensorDescriptor tensor_type = 1; + */ + public org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor getTensorType() { + if (tensorTypeBuilder_ == null) { + if (valueCase_ == 1) { + return (org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor) value_; + } + return org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor.getDefaultInstance(); + } else { + if (valueCase_ == 1) { + return tensorTypeBuilder_.getMessage(); + } + return org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor.getDefaultInstance(); + } + } + /** + *
        +       * The type of a tensor.
        +       * 
        + * + * .org.nd4j.ir.TypeProto.TensorDescriptor tensor_type = 1; + */ + public Builder setTensorType(org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor value) { + if (tensorTypeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + value_ = value; + onChanged(); + } else { + tensorTypeBuilder_.setMessage(value); + } + valueCase_ = 1; + return this; + } + /** + *
        +       * The type of a tensor.
        +       * 
        + * + * .org.nd4j.ir.TypeProto.TensorDescriptor tensor_type = 1; + */ + public Builder setTensorType( + org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor.Builder builderForValue) { + if (tensorTypeBuilder_ == null) { + value_ = builderForValue.build(); + onChanged(); + } else { + tensorTypeBuilder_.setMessage(builderForValue.build()); + } + valueCase_ = 1; + return this; + } + /** + *
        +       * The type of a tensor.
        +       * 
        + * + * .org.nd4j.ir.TypeProto.TensorDescriptor tensor_type = 1; + */ + public Builder mergeTensorType(org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor value) { + if (tensorTypeBuilder_ == null) { + if (valueCase_ == 1 && + value_ != org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor.getDefaultInstance()) { + value_ = org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor.newBuilder((org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor) value_) + .mergeFrom(value).buildPartial(); + } else { + value_ = value; + } + onChanged(); + } else { + if (valueCase_ == 1) { + tensorTypeBuilder_.mergeFrom(value); + } + tensorTypeBuilder_.setMessage(value); + } + valueCase_ = 1; + return this; + } + /** + *
        +       * The type of a tensor.
        +       * 
        + * + * .org.nd4j.ir.TypeProto.TensorDescriptor tensor_type = 1; + */ + public Builder clearTensorType() { + if (tensorTypeBuilder_ == null) { + if (valueCase_ == 1) { + valueCase_ = 0; + value_ = null; + onChanged(); + } + } else { + if (valueCase_ == 1) { + valueCase_ = 0; + value_ = null; + } + tensorTypeBuilder_.clear(); + } + return this; + } + /** + *
        +       * The type of a tensor.
        +       * 
        + * + * .org.nd4j.ir.TypeProto.TensorDescriptor tensor_type = 1; + */ + public org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor.Builder getTensorTypeBuilder() { + return getTensorTypeFieldBuilder().getBuilder(); + } + /** + *
        +       * The type of a tensor.
        +       * 
        + * + * .org.nd4j.ir.TypeProto.TensorDescriptor tensor_type = 1; + */ + public org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptorOrBuilder getTensorTypeOrBuilder() { + if ((valueCase_ == 1) && (tensorTypeBuilder_ != null)) { + return tensorTypeBuilder_.getMessageOrBuilder(); + } else { + if (valueCase_ == 1) { + return (org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor) value_; + } + return org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor.getDefaultInstance(); + } + } + /** + *
        +       * The type of a tensor.
        +       * 
        + * + * .org.nd4j.ir.TypeProto.TensorDescriptor tensor_type = 1; + */ + private org.nd4j.shade.protobuf.SingleFieldBuilderV3< + org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor, org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor.Builder, org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptorOrBuilder> + getTensorTypeFieldBuilder() { + if (tensorTypeBuilder_ == null) { + if (!(valueCase_ == 1)) { + value_ = org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor.getDefaultInstance(); + } + tensorTypeBuilder_ = new org.nd4j.shade.protobuf.SingleFieldBuilderV3< + org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor, org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor.Builder, org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptorOrBuilder>( + (org.nd4j.ir.TensorNamespace.TypeProto.TensorDescriptor) value_, + getParentForChildren(), + isClean()); + value_ = null; + } + valueCase_ = 1; + onChanged();; + return tensorTypeBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:org.nd4j.ir.TypeProto) + } + + // @@protoc_insertion_point(class_scope:org.nd4j.ir.TypeProto) + private static final org.nd4j.ir.TensorNamespace.TypeProto DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.nd4j.ir.TensorNamespace.TypeProto(); + } + + public static org.nd4j.ir.TensorNamespace.TypeProto getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final org.nd4j.shade.protobuf.Parser + PARSER = new org.nd4j.shade.protobuf.AbstractParser() { + @java.lang.Override + public TypeProto parsePartialFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return new TypeProto(input, extensionRegistry); + } + }; + + public static org.nd4j.shade.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.TypeProto getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface TensorShapeProtoOrBuilder extends + // @@protoc_insertion_point(interface_extends:org.nd4j.ir.TensorShapeProto) + org.nd4j.shade.protobuf.MessageOrBuilder { + + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + java.util.List + getDimList(); + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension getDim(int index); + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + int getDimCount(); + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + java.util.List + getDimOrBuilderList(); + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + org.nd4j.ir.TensorNamespace.TensorShapeProto.DimensionOrBuilder getDimOrBuilder( + int index); + } + /** + *
        +   * Defines a tensor shape. A dimension can be either an integer value
        +   * or a symbolic variable. A symbolic variable represents an unknown
        +   * dimension.
        +   * 
        + * + * Protobuf type {@code org.nd4j.ir.TensorShapeProto} + */ + public static final class TensorShapeProto extends + org.nd4j.shade.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:org.nd4j.ir.TensorShapeProto) + TensorShapeProtoOrBuilder { + private static final long serialVersionUID = 0L; + // Use TensorShapeProto.newBuilder() to construct. + private TensorShapeProto(org.nd4j.shade.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private TensorShapeProto() { + dim_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new TensorShapeProto(); + } + + @java.lang.Override + public final org.nd4j.shade.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private TensorShapeProto( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + org.nd4j.shade.protobuf.UnknownFieldSet.Builder unknownFields = + org.nd4j.shade.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + dim_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + dim_.add( + input.readMessage(org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension.parser(), extensionRegistry)); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new org.nd4j.shade.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + dim_ = java.util.Collections.unmodifiableList(dim_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TensorShapeProto_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TensorShapeProto_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.TensorNamespace.TensorShapeProto.class, org.nd4j.ir.TensorNamespace.TensorShapeProto.Builder.class); + } + + public interface DimensionOrBuilder extends + // @@protoc_insertion_point(interface_extends:org.nd4j.ir.TensorShapeProto.Dimension) + org.nd4j.shade.protobuf.MessageOrBuilder { + + /** + * int64 dim_value = 1; + */ + long getDimValue(); + + /** + *
        +       * namespace Shape
        +       * 
        + * + * string dim_param = 2; + */ + java.lang.String getDimParam(); + /** + *
        +       * namespace Shape
        +       * 
        + * + * string dim_param = 2; + */ + org.nd4j.shade.protobuf.ByteString + getDimParamBytes(); + + public org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension.ValueCase getValueCase(); + } + /** + * Protobuf type {@code org.nd4j.ir.TensorShapeProto.Dimension} + */ + public static final class Dimension extends + org.nd4j.shade.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:org.nd4j.ir.TensorShapeProto.Dimension) + DimensionOrBuilder { + private static final long serialVersionUID = 0L; + // Use Dimension.newBuilder() to construct. + private Dimension(org.nd4j.shade.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private Dimension() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new Dimension(); + } + + @java.lang.Override + public final org.nd4j.shade.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Dimension( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + org.nd4j.shade.protobuf.UnknownFieldSet.Builder unknownFields = + org.nd4j.shade.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + valueCase_ = 1; + value_ = input.readInt64(); + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + valueCase_ = 2; + value_ = s; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new org.nd4j.shade.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TensorShapeProto_Dimension_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TensorShapeProto_Dimension_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension.class, org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension.Builder.class); + } + + private int valueCase_ = 0; + private java.lang.Object value_; + public enum ValueCase + implements org.nd4j.shade.protobuf.Internal.EnumLite { + DIM_VALUE(1), + DIM_PARAM(2), + VALUE_NOT_SET(0); + private final int value; + private ValueCase(int value) { + this.value = value; + } + /** + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static ValueCase valueOf(int value) { + return forNumber(value); + } + + public static ValueCase forNumber(int value) { + switch (value) { + case 1: return DIM_VALUE; + case 2: return DIM_PARAM; + case 0: return VALUE_NOT_SET; + default: return null; + } + } + public int getNumber() { + return this.value; + } + }; + + public ValueCase + getValueCase() { + return ValueCase.forNumber( + valueCase_); + } + + public static final int DIM_VALUE_FIELD_NUMBER = 1; + /** + * int64 dim_value = 1; + */ + public long getDimValue() { + if (valueCase_ == 1) { + return (java.lang.Long) value_; + } + return 0L; + } + + public static final int DIM_PARAM_FIELD_NUMBER = 2; + /** + *
        +       * namespace Shape
        +       * 
        + * + * string dim_param = 2; + */ + public java.lang.String getDimParam() { + java.lang.Object ref = ""; + if (valueCase_ == 2) { + ref = value_; + } + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (valueCase_ == 2) { + value_ = s; + } + return s; + } + } + /** + *
        +       * namespace Shape
        +       * 
        + * + * string dim_param = 2; + */ + public org.nd4j.shade.protobuf.ByteString + getDimParamBytes() { + java.lang.Object ref = ""; + if (valueCase_ == 2) { + ref = value_; + } + if (ref instanceof java.lang.String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + if (valueCase_ == 2) { + value_ = b; + } + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(org.nd4j.shade.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (valueCase_ == 1) { + output.writeInt64( + 1, (long)((java.lang.Long) value_)); + } + if (valueCase_ == 2) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 2, value_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (valueCase_ == 1) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeInt64Size( + 1, (long)((java.lang.Long) value_)); + } + if (valueCase_ == 2) { + size += org.nd4j.shade.protobuf.GeneratedMessageV3.computeStringSize(2, value_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension)) { + return super.equals(obj); + } + org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension other = (org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension) obj; + + if (!getValueCase().equals(other.getValueCase())) return false; + switch (valueCase_) { + case 1: + if (getDimValue() + != other.getDimValue()) return false; + break; + case 2: + if (!getDimParam() + .equals(other.getDimParam())) return false; + break; + case 0: + default: + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + switch (valueCase_) { + case 1: + hash = (37 * hash) + DIM_VALUE_FIELD_NUMBER; + hash = (53 * hash) + org.nd4j.shade.protobuf.Internal.hashLong( + getDimValue()); + break; + case 2: + hash = (37 * hash) + DIM_PARAM_FIELD_NUMBER; + hash = (53 * hash) + getDimParam().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension parseFrom( + java.nio.ByteBuffer data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension parseFrom( + java.nio.ByteBuffer data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension parseFrom( + org.nd4j.shade.protobuf.ByteString data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension parseFrom( + org.nd4j.shade.protobuf.ByteString data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension parseFrom(byte[] data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension parseFrom( + byte[] data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension parseFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension parseFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension parseDelimitedFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code org.nd4j.ir.TensorShapeProto.Dimension} + */ + public static final class Builder extends + org.nd4j.shade.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:org.nd4j.ir.TensorShapeProto.Dimension) + org.nd4j.ir.TensorNamespace.TensorShapeProto.DimensionOrBuilder { + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TensorShapeProto_Dimension_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TensorShapeProto_Dimension_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension.class, org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension.Builder.class); + } + + // Construct using org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (org.nd4j.shade.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + valueCase_ = 0; + value_ = null; + return this; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TensorShapeProto_Dimension_descriptor; + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension getDefaultInstanceForType() { + return org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension.getDefaultInstance(); + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension build() { + org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension buildPartial() { + org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension result = new org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension(this); + if (valueCase_ == 1) { + result.value_ = value_; + } + if (valueCase_ == 2) { + result.value_ = value_; + } + result.valueCase_ = valueCase_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + org.nd4j.shade.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(org.nd4j.shade.protobuf.Message other) { + if (other instanceof org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension) { + return mergeFrom((org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension other) { + if (other == org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension.getDefaultInstance()) return this; + switch (other.getValueCase()) { + case DIM_VALUE: { + setDimValue(other.getDimValue()); + break; + } + case DIM_PARAM: { + valueCase_ = 2; + value_ = other.value_; + onChanged(); + break; + } + case VALUE_NOT_SET: { + break; + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int valueCase_ = 0; + private java.lang.Object value_; + public ValueCase + getValueCase() { + return ValueCase.forNumber( + valueCase_); + } + + public Builder clearValue() { + valueCase_ = 0; + value_ = null; + onChanged(); + return this; + } + + + /** + * int64 dim_value = 1; + */ + public long getDimValue() { + if (valueCase_ == 1) { + return (java.lang.Long) value_; + } + return 0L; + } + /** + * int64 dim_value = 1; + */ + public Builder setDimValue(long value) { + valueCase_ = 1; + value_ = value; + onChanged(); + return this; + } + /** + * int64 dim_value = 1; + */ + public Builder clearDimValue() { + if (valueCase_ == 1) { + valueCase_ = 0; + value_ = null; + onChanged(); + } + return this; + } + + /** + *
        +         * namespace Shape
        +         * 
        + * + * string dim_param = 2; + */ + public java.lang.String getDimParam() { + java.lang.Object ref = ""; + if (valueCase_ == 2) { + ref = value_; + } + if (!(ref instanceof java.lang.String)) { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (valueCase_ == 2) { + value_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
        +         * namespace Shape
        +         * 
        + * + * string dim_param = 2; + */ + public org.nd4j.shade.protobuf.ByteString + getDimParamBytes() { + java.lang.Object ref = ""; + if (valueCase_ == 2) { + ref = value_; + } + if (ref instanceof String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + if (valueCase_ == 2) { + value_ = b; + } + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + /** + *
        +         * namespace Shape
        +         * 
        + * + * string dim_param = 2; + */ + public Builder setDimParam( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + valueCase_ = 2; + value_ = value; + onChanged(); + return this; + } + /** + *
        +         * namespace Shape
        +         * 
        + * + * string dim_param = 2; + */ + public Builder clearDimParam() { + if (valueCase_ == 2) { + valueCase_ = 0; + value_ = null; + onChanged(); + } + return this; + } + /** + *
        +         * namespace Shape
        +         * 
        + * + * string dim_param = 2; + */ + public Builder setDimParamBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + valueCase_ = 2; + value_ = value; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:org.nd4j.ir.TensorShapeProto.Dimension) + } + + // @@protoc_insertion_point(class_scope:org.nd4j.ir.TensorShapeProto.Dimension) + private static final org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension(); + } + + public static org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final org.nd4j.shade.protobuf.Parser + PARSER = new org.nd4j.shade.protobuf.AbstractParser() { + @java.lang.Override + public Dimension parsePartialFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return new Dimension(input, extensionRegistry); + } + }; + + public static org.nd4j.shade.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public static final int DIM_FIELD_NUMBER = 1; + private java.util.List dim_; + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + public java.util.List getDimList() { + return dim_; + } + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + public java.util.List + getDimOrBuilderList() { + return dim_; + } + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + public int getDimCount() { + return dim_.size(); + } + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + public org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension getDim(int index) { + return dim_.get(index); + } + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + public org.nd4j.ir.TensorNamespace.TensorShapeProto.DimensionOrBuilder getDimOrBuilder( + int index) { + return dim_.get(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(org.nd4j.shade.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < dim_.size(); i++) { + output.writeMessage(1, dim_.get(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < dim_.size(); i++) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeMessageSize(1, dim_.get(i)); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.nd4j.ir.TensorNamespace.TensorShapeProto)) { + return super.equals(obj); + } + org.nd4j.ir.TensorNamespace.TensorShapeProto other = (org.nd4j.ir.TensorNamespace.TensorShapeProto) obj; + + if (!getDimList() + .equals(other.getDimList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getDimCount() > 0) { + hash = (37 * hash) + DIM_FIELD_NUMBER; + hash = (53 * hash) + getDimList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.nd4j.ir.TensorNamespace.TensorShapeProto parseFrom( + java.nio.ByteBuffer data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.TensorNamespace.TensorShapeProto parseFrom( + java.nio.ByteBuffer data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TensorShapeProto parseFrom( + org.nd4j.shade.protobuf.ByteString data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.TensorNamespace.TensorShapeProto parseFrom( + org.nd4j.shade.protobuf.ByteString data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TensorShapeProto parseFrom(byte[] data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.TensorNamespace.TensorShapeProto parseFrom( + byte[] data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TensorShapeProto parseFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.TensorNamespace.TensorShapeProto parseFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TensorShapeProto parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static org.nd4j.ir.TensorNamespace.TensorShapeProto parseDelimitedFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TensorShapeProto parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.TensorNamespace.TensorShapeProto parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.nd4j.ir.TensorNamespace.TensorShapeProto prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
        +     * Defines a tensor shape. A dimension can be either an integer value
        +     * or a symbolic variable. A symbolic variable represents an unknown
        +     * dimension.
        +     * 
        + * + * Protobuf type {@code org.nd4j.ir.TensorShapeProto} + */ + public static final class Builder extends + org.nd4j.shade.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:org.nd4j.ir.TensorShapeProto) + org.nd4j.ir.TensorNamespace.TensorShapeProtoOrBuilder { + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TensorShapeProto_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TensorShapeProto_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.TensorNamespace.TensorShapeProto.class, org.nd4j.ir.TensorNamespace.TensorShapeProto.Builder.class); + } + + // Construct using org.nd4j.ir.TensorNamespace.TensorShapeProto.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (org.nd4j.shade.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getDimFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (dimBuilder_ == null) { + dim_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + dimBuilder_.clear(); + } + return this; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TensorShapeProto_descriptor; + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.TensorShapeProto getDefaultInstanceForType() { + return org.nd4j.ir.TensorNamespace.TensorShapeProto.getDefaultInstance(); + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.TensorShapeProto build() { + org.nd4j.ir.TensorNamespace.TensorShapeProto result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.TensorShapeProto buildPartial() { + org.nd4j.ir.TensorNamespace.TensorShapeProto result = new org.nd4j.ir.TensorNamespace.TensorShapeProto(this); + int from_bitField0_ = bitField0_; + if (dimBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + dim_ = java.util.Collections.unmodifiableList(dim_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.dim_ = dim_; + } else { + result.dim_ = dimBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + org.nd4j.shade.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(org.nd4j.shade.protobuf.Message other) { + if (other instanceof org.nd4j.ir.TensorNamespace.TensorShapeProto) { + return mergeFrom((org.nd4j.ir.TensorNamespace.TensorShapeProto)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.nd4j.ir.TensorNamespace.TensorShapeProto other) { + if (other == org.nd4j.ir.TensorNamespace.TensorShapeProto.getDefaultInstance()) return this; + if (dimBuilder_ == null) { + if (!other.dim_.isEmpty()) { + if (dim_.isEmpty()) { + dim_ = other.dim_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureDimIsMutable(); + dim_.addAll(other.dim_); + } + onChanged(); + } + } else { + if (!other.dim_.isEmpty()) { + if (dimBuilder_.isEmpty()) { + dimBuilder_.dispose(); + dimBuilder_ = null; + dim_ = other.dim_; + bitField0_ = (bitField0_ & ~0x00000001); + dimBuilder_ = + org.nd4j.shade.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getDimFieldBuilder() : null; + } else { + dimBuilder_.addAllMessages(other.dim_); + } + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.nd4j.ir.TensorNamespace.TensorShapeProto parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.nd4j.ir.TensorNamespace.TensorShapeProto) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.util.List dim_ = + java.util.Collections.emptyList(); + private void ensureDimIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + dim_ = new java.util.ArrayList(dim_); + bitField0_ |= 0x00000001; + } + } + + private org.nd4j.shade.protobuf.RepeatedFieldBuilderV3< + org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension, org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension.Builder, org.nd4j.ir.TensorNamespace.TensorShapeProto.DimensionOrBuilder> dimBuilder_; + + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + public java.util.List getDimList() { + if (dimBuilder_ == null) { + return java.util.Collections.unmodifiableList(dim_); + } else { + return dimBuilder_.getMessageList(); + } + } + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + public int getDimCount() { + if (dimBuilder_ == null) { + return dim_.size(); + } else { + return dimBuilder_.getCount(); + } + } + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + public org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension getDim(int index) { + if (dimBuilder_ == null) { + return dim_.get(index); + } else { + return dimBuilder_.getMessage(index); + } + } + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + public Builder setDim( + int index, org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension value) { + if (dimBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDimIsMutable(); + dim_.set(index, value); + onChanged(); + } else { + dimBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + public Builder setDim( + int index, org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension.Builder builderForValue) { + if (dimBuilder_ == null) { + ensureDimIsMutable(); + dim_.set(index, builderForValue.build()); + onChanged(); + } else { + dimBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + public Builder addDim(org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension value) { + if (dimBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDimIsMutable(); + dim_.add(value); + onChanged(); + } else { + dimBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + public Builder addDim( + int index, org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension value) { + if (dimBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDimIsMutable(); + dim_.add(index, value); + onChanged(); + } else { + dimBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + public Builder addDim( + org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension.Builder builderForValue) { + if (dimBuilder_ == null) { + ensureDimIsMutable(); + dim_.add(builderForValue.build()); + onChanged(); + } else { + dimBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + public Builder addDim( + int index, org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension.Builder builderForValue) { + if (dimBuilder_ == null) { + ensureDimIsMutable(); + dim_.add(index, builderForValue.build()); + onChanged(); + } else { + dimBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + public Builder addAllDim( + java.lang.Iterable values) { + if (dimBuilder_ == null) { + ensureDimIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, dim_); + onChanged(); + } else { + dimBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + public Builder clearDim() { + if (dimBuilder_ == null) { + dim_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + dimBuilder_.clear(); + } + return this; + } + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + public Builder removeDim(int index) { + if (dimBuilder_ == null) { + ensureDimIsMutable(); + dim_.remove(index); + onChanged(); + } else { + dimBuilder_.remove(index); + } + return this; + } + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + public org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension.Builder getDimBuilder( + int index) { + return getDimFieldBuilder().getBuilder(index); + } + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + public org.nd4j.ir.TensorNamespace.TensorShapeProto.DimensionOrBuilder getDimOrBuilder( + int index) { + if (dimBuilder_ == null) { + return dim_.get(index); } else { + return dimBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + public java.util.List + getDimOrBuilderList() { + if (dimBuilder_ != null) { + return dimBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(dim_); + } + } + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + public org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension.Builder addDimBuilder() { + return getDimFieldBuilder().addBuilder( + org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension.getDefaultInstance()); + } + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + public org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension.Builder addDimBuilder( + int index) { + return getDimFieldBuilder().addBuilder( + index, org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension.getDefaultInstance()); + } + /** + * repeated .org.nd4j.ir.TensorShapeProto.Dimension dim = 1; + */ + public java.util.List + getDimBuilderList() { + return getDimFieldBuilder().getBuilderList(); + } + private org.nd4j.shade.protobuf.RepeatedFieldBuilderV3< + org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension, org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension.Builder, org.nd4j.ir.TensorNamespace.TensorShapeProto.DimensionOrBuilder> + getDimFieldBuilder() { + if (dimBuilder_ == null) { + dimBuilder_ = new org.nd4j.shade.protobuf.RepeatedFieldBuilderV3< + org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension, org.nd4j.ir.TensorNamespace.TensorShapeProto.Dimension.Builder, org.nd4j.ir.TensorNamespace.TensorShapeProto.DimensionOrBuilder>( + dim_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + dim_ = null; + } + return dimBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:org.nd4j.ir.TensorShapeProto) + } + + // @@protoc_insertion_point(class_scope:org.nd4j.ir.TensorShapeProto) + private static final org.nd4j.ir.TensorNamespace.TensorShapeProto DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.nd4j.ir.TensorNamespace.TensorShapeProto(); + } + + public static org.nd4j.ir.TensorNamespace.TensorShapeProto getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final org.nd4j.shade.protobuf.Parser + PARSER = new org.nd4j.shade.protobuf.AbstractParser() { + @java.lang.Override + public TensorShapeProto parsePartialFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return new TensorShapeProto(input, extensionRegistry); + } + }; + + public static org.nd4j.shade.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.TensorShapeProto getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ValueInfoProtoOrBuilder extends + // @@protoc_insertion_point(interface_extends:org.nd4j.ir.ValueInfoProto) + org.nd4j.shade.protobuf.MessageOrBuilder { + + /** + *
        +     * This field MUST be present in this version of the IR.
        +     * 
        + * + * string name = 1; + */ + java.lang.String getName(); + /** + *
        +     * This field MUST be present in this version of the IR.
        +     * 
        + * + * string name = 1; + */ + org.nd4j.shade.protobuf.ByteString + getNameBytes(); + + /** + *
        +     * This field MUST be present in this version of the IR.
        +     * 
        + * + * .org.nd4j.ir.TypeProto type = 2; + */ + boolean hasType(); + /** + *
        +     * This field MUST be present in this version of the IR.
        +     * 
        + * + * .org.nd4j.ir.TypeProto type = 2; + */ + org.nd4j.ir.TensorNamespace.TypeProto getType(); + /** + *
        +     * This field MUST be present in this version of the IR.
        +     * 
        + * + * .org.nd4j.ir.TypeProto type = 2; + */ + org.nd4j.ir.TensorNamespace.TypeProtoOrBuilder getTypeOrBuilder(); + + /** + *
        +     * A human-readable documentation for this value. Markdown is allowed.
        +     * 
        + * + * string doc_string = 3; + */ + java.lang.String getDocString(); + /** + *
        +     * A human-readable documentation for this value. Markdown is allowed.
        +     * 
        + * + * string doc_string = 3; + */ + org.nd4j.shade.protobuf.ByteString + getDocStringBytes(); + } + /** + *
        +   * Defines information on value, including the name, the type, and
        +   * the shape of the value.
        +   * 
        + * + * Protobuf type {@code org.nd4j.ir.ValueInfoProto} + */ + public static final class ValueInfoProto extends + org.nd4j.shade.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:org.nd4j.ir.ValueInfoProto) + ValueInfoProtoOrBuilder { + private static final long serialVersionUID = 0L; + // Use ValueInfoProto.newBuilder() to construct. + private ValueInfoProto(org.nd4j.shade.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ValueInfoProto() { + name_ = ""; + docString_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ValueInfoProto(); + } + + @java.lang.Override + public final org.nd4j.shade.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ValueInfoProto( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + org.nd4j.shade.protobuf.UnknownFieldSet.Builder unknownFields = + org.nd4j.shade.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + name_ = s; + break; + } + case 18: { + org.nd4j.ir.TensorNamespace.TypeProto.Builder subBuilder = null; + if (type_ != null) { + subBuilder = type_.toBuilder(); + } + type_ = input.readMessage(org.nd4j.ir.TensorNamespace.TypeProto.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(type_); + type_ = subBuilder.buildPartial(); + } + + break; + } + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + + docString_ = s; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new org.nd4j.shade.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_ValueInfoProto_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_ValueInfoProto_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.TensorNamespace.ValueInfoProto.class, org.nd4j.ir.TensorNamespace.ValueInfoProto.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object name_; + /** + *
        +     * This field MUST be present in this version of the IR.
        +     * 
        + * + * string name = 1; + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + /** + *
        +     * This field MUST be present in this version of the IR.
        +     * 
        + * + * string name = 1; + */ + public org.nd4j.shade.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + + public static final int TYPE_FIELD_NUMBER = 2; + private org.nd4j.ir.TensorNamespace.TypeProto type_; + /** + *
        +     * This field MUST be present in this version of the IR.
        +     * 
        + * + * .org.nd4j.ir.TypeProto type = 2; + */ + public boolean hasType() { + return type_ != null; + } + /** + *
        +     * This field MUST be present in this version of the IR.
        +     * 
        + * + * .org.nd4j.ir.TypeProto type = 2; + */ + public org.nd4j.ir.TensorNamespace.TypeProto getType() { + return type_ == null ? org.nd4j.ir.TensorNamespace.TypeProto.getDefaultInstance() : type_; + } + /** + *
        +     * This field MUST be present in this version of the IR.
        +     * 
        + * + * .org.nd4j.ir.TypeProto type = 2; + */ + public org.nd4j.ir.TensorNamespace.TypeProtoOrBuilder getTypeOrBuilder() { + return getType(); + } + + public static final int DOC_STRING_FIELD_NUMBER = 3; + private volatile java.lang.Object docString_; + /** + *
        +     * A human-readable documentation for this value. Markdown is allowed.
        +     * 
        + * + * string doc_string = 3; + */ + public java.lang.String getDocString() { + java.lang.Object ref = docString_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + docString_ = s; + return s; + } + } + /** + *
        +     * A human-readable documentation for this value. Markdown is allowed.
        +     * 
        + * + * string doc_string = 3; + */ + public org.nd4j.shade.protobuf.ByteString + getDocStringBytes() { + java.lang.Object ref = docString_; + if (ref instanceof java.lang.String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + docString_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(org.nd4j.shade.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!getNameBytes().isEmpty()) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 1, name_); + } + if (type_ != null) { + output.writeMessage(2, getType()); + } + if (!getDocStringBytes().isEmpty()) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 3, docString_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getNameBytes().isEmpty()) { + size += org.nd4j.shade.protobuf.GeneratedMessageV3.computeStringSize(1, name_); + } + if (type_ != null) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeMessageSize(2, getType()); + } + if (!getDocStringBytes().isEmpty()) { + size += org.nd4j.shade.protobuf.GeneratedMessageV3.computeStringSize(3, docString_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.nd4j.ir.TensorNamespace.ValueInfoProto)) { + return super.equals(obj); + } + org.nd4j.ir.TensorNamespace.ValueInfoProto other = (org.nd4j.ir.TensorNamespace.ValueInfoProto) obj; + + if (!getName() + .equals(other.getName())) return false; + if (hasType() != other.hasType()) return false; + if (hasType()) { + if (!getType() + .equals(other.getType())) return false; + } + if (!getDocString() + .equals(other.getDocString())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + if (hasType()) { + hash = (37 * hash) + TYPE_FIELD_NUMBER; + hash = (53 * hash) + getType().hashCode(); + } + hash = (37 * hash) + DOC_STRING_FIELD_NUMBER; + hash = (53 * hash) + getDocString().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.nd4j.ir.TensorNamespace.ValueInfoProto parseFrom( + java.nio.ByteBuffer data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.TensorNamespace.ValueInfoProto parseFrom( + java.nio.ByteBuffer data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.ValueInfoProto parseFrom( + org.nd4j.shade.protobuf.ByteString data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.TensorNamespace.ValueInfoProto parseFrom( + org.nd4j.shade.protobuf.ByteString data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.ValueInfoProto parseFrom(byte[] data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.TensorNamespace.ValueInfoProto parseFrom( + byte[] data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.ValueInfoProto parseFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.TensorNamespace.ValueInfoProto parseFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.ValueInfoProto parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static org.nd4j.ir.TensorNamespace.ValueInfoProto parseDelimitedFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.ValueInfoProto parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.TensorNamespace.ValueInfoProto parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.nd4j.ir.TensorNamespace.ValueInfoProto prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
        +     * Defines information on value, including the name, the type, and
        +     * the shape of the value.
        +     * 
        + * + * Protobuf type {@code org.nd4j.ir.ValueInfoProto} + */ + public static final class Builder extends + org.nd4j.shade.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:org.nd4j.ir.ValueInfoProto) + org.nd4j.ir.TensorNamespace.ValueInfoProtoOrBuilder { + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_ValueInfoProto_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_ValueInfoProto_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.TensorNamespace.ValueInfoProto.class, org.nd4j.ir.TensorNamespace.ValueInfoProto.Builder.class); + } + + // Construct using org.nd4j.ir.TensorNamespace.ValueInfoProto.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (org.nd4j.shade.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + name_ = ""; + + if (typeBuilder_ == null) { + type_ = null; + } else { + type_ = null; + typeBuilder_ = null; + } + docString_ = ""; + + return this; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_ValueInfoProto_descriptor; + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.ValueInfoProto getDefaultInstanceForType() { + return org.nd4j.ir.TensorNamespace.ValueInfoProto.getDefaultInstance(); + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.ValueInfoProto build() { + org.nd4j.ir.TensorNamespace.ValueInfoProto result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.ValueInfoProto buildPartial() { + org.nd4j.ir.TensorNamespace.ValueInfoProto result = new org.nd4j.ir.TensorNamespace.ValueInfoProto(this); + result.name_ = name_; + if (typeBuilder_ == null) { + result.type_ = type_; + } else { + result.type_ = typeBuilder_.build(); + } + result.docString_ = docString_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + org.nd4j.shade.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(org.nd4j.shade.protobuf.Message other) { + if (other instanceof org.nd4j.ir.TensorNamespace.ValueInfoProto) { + return mergeFrom((org.nd4j.ir.TensorNamespace.ValueInfoProto)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.nd4j.ir.TensorNamespace.ValueInfoProto other) { + if (other == org.nd4j.ir.TensorNamespace.ValueInfoProto.getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + onChanged(); + } + if (other.hasType()) { + mergeType(other.getType()); + } + if (!other.getDocString().isEmpty()) { + docString_ = other.docString_; + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.nd4j.ir.TensorNamespace.ValueInfoProto parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.nd4j.ir.TensorNamespace.ValueInfoProto) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object name_ = ""; + /** + *
        +       * This field MUST be present in this version of the IR.
        +       * 
        + * + * string name = 1; + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
        +       * This field MUST be present in this version of the IR.
        +       * 
        + * + * string name = 1; + */ + public org.nd4j.shade.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + /** + *
        +       * This field MUST be present in this version of the IR.
        +       * 
        + * + * string name = 1; + */ + public Builder setName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + name_ = value; + onChanged(); + return this; + } + /** + *
        +       * This field MUST be present in this version of the IR.
        +       * 
        + * + * string name = 1; + */ + public Builder clearName() { + + name_ = getDefaultInstance().getName(); + onChanged(); + return this; + } + /** + *
        +       * This field MUST be present in this version of the IR.
        +       * 
        + * + * string name = 1; + */ + public Builder setNameBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + name_ = value; + onChanged(); + return this; + } + + private org.nd4j.ir.TensorNamespace.TypeProto type_; + private org.nd4j.shade.protobuf.SingleFieldBuilderV3< + org.nd4j.ir.TensorNamespace.TypeProto, org.nd4j.ir.TensorNamespace.TypeProto.Builder, org.nd4j.ir.TensorNamespace.TypeProtoOrBuilder> typeBuilder_; + /** + *
        +       * This field MUST be present in this version of the IR.
        +       * 
        + * + * .org.nd4j.ir.TypeProto type = 2; + */ + public boolean hasType() { + return typeBuilder_ != null || type_ != null; + } + /** + *
        +       * This field MUST be present in this version of the IR.
        +       * 
        + * + * .org.nd4j.ir.TypeProto type = 2; + */ + public org.nd4j.ir.TensorNamespace.TypeProto getType() { + if (typeBuilder_ == null) { + return type_ == null ? org.nd4j.ir.TensorNamespace.TypeProto.getDefaultInstance() : type_; + } else { + return typeBuilder_.getMessage(); + } + } + /** + *
        +       * This field MUST be present in this version of the IR.
        +       * 
        + * + * .org.nd4j.ir.TypeProto type = 2; + */ + public Builder setType(org.nd4j.ir.TensorNamespace.TypeProto value) { + if (typeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + type_ = value; + onChanged(); + } else { + typeBuilder_.setMessage(value); + } + + return this; + } + /** + *
        +       * This field MUST be present in this version of the IR.
        +       * 
        + * + * .org.nd4j.ir.TypeProto type = 2; + */ + public Builder setType( + org.nd4j.ir.TensorNamespace.TypeProto.Builder builderForValue) { + if (typeBuilder_ == null) { + type_ = builderForValue.build(); + onChanged(); + } else { + typeBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
        +       * This field MUST be present in this version of the IR.
        +       * 
        + * + * .org.nd4j.ir.TypeProto type = 2; + */ + public Builder mergeType(org.nd4j.ir.TensorNamespace.TypeProto value) { + if (typeBuilder_ == null) { + if (type_ != null) { + type_ = + org.nd4j.ir.TensorNamespace.TypeProto.newBuilder(type_).mergeFrom(value).buildPartial(); + } else { + type_ = value; + } + onChanged(); + } else { + typeBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
        +       * This field MUST be present in this version of the IR.
        +       * 
        + * + * .org.nd4j.ir.TypeProto type = 2; + */ + public Builder clearType() { + if (typeBuilder_ == null) { + type_ = null; + onChanged(); + } else { + type_ = null; + typeBuilder_ = null; + } + + return this; + } + /** + *
        +       * This field MUST be present in this version of the IR.
        +       * 
        + * + * .org.nd4j.ir.TypeProto type = 2; + */ + public org.nd4j.ir.TensorNamespace.TypeProto.Builder getTypeBuilder() { + + onChanged(); + return getTypeFieldBuilder().getBuilder(); + } + /** + *
        +       * This field MUST be present in this version of the IR.
        +       * 
        + * + * .org.nd4j.ir.TypeProto type = 2; + */ + public org.nd4j.ir.TensorNamespace.TypeProtoOrBuilder getTypeOrBuilder() { + if (typeBuilder_ != null) { + return typeBuilder_.getMessageOrBuilder(); + } else { + return type_ == null ? + org.nd4j.ir.TensorNamespace.TypeProto.getDefaultInstance() : type_; + } + } + /** + *
        +       * This field MUST be present in this version of the IR.
        +       * 
        + * + * .org.nd4j.ir.TypeProto type = 2; + */ + private org.nd4j.shade.protobuf.SingleFieldBuilderV3< + org.nd4j.ir.TensorNamespace.TypeProto, org.nd4j.ir.TensorNamespace.TypeProto.Builder, org.nd4j.ir.TensorNamespace.TypeProtoOrBuilder> + getTypeFieldBuilder() { + if (typeBuilder_ == null) { + typeBuilder_ = new org.nd4j.shade.protobuf.SingleFieldBuilderV3< + org.nd4j.ir.TensorNamespace.TypeProto, org.nd4j.ir.TensorNamespace.TypeProto.Builder, org.nd4j.ir.TensorNamespace.TypeProtoOrBuilder>( + getType(), + getParentForChildren(), + isClean()); + type_ = null; + } + return typeBuilder_; + } + + private java.lang.Object docString_ = ""; + /** + *
        +       * A human-readable documentation for this value. Markdown is allowed.
        +       * 
        + * + * string doc_string = 3; + */ + public java.lang.String getDocString() { + java.lang.Object ref = docString_; + if (!(ref instanceof java.lang.String)) { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + docString_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
        +       * A human-readable documentation for this value. Markdown is allowed.
        +       * 
        + * + * string doc_string = 3; + */ + public org.nd4j.shade.protobuf.ByteString + getDocStringBytes() { + java.lang.Object ref = docString_; + if (ref instanceof String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + docString_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + /** + *
        +       * A human-readable documentation for this value. Markdown is allowed.
        +       * 
        + * + * string doc_string = 3; + */ + public Builder setDocString( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + docString_ = value; + onChanged(); + return this; + } + /** + *
        +       * A human-readable documentation for this value. Markdown is allowed.
        +       * 
        + * + * string doc_string = 3; + */ + public Builder clearDocString() { + + docString_ = getDefaultInstance().getDocString(); + onChanged(); + return this; + } + /** + *
        +       * A human-readable documentation for this value. Markdown is allowed.
        +       * 
        + * + * string doc_string = 3; + */ + public Builder setDocStringBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + docString_ = value; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:org.nd4j.ir.ValueInfoProto) + } + + // @@protoc_insertion_point(class_scope:org.nd4j.ir.ValueInfoProto) + private static final org.nd4j.ir.TensorNamespace.ValueInfoProto DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.nd4j.ir.TensorNamespace.ValueInfoProto(); + } + + public static org.nd4j.ir.TensorNamespace.ValueInfoProto getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final org.nd4j.shade.protobuf.Parser + PARSER = new org.nd4j.shade.protobuf.AbstractParser() { + @java.lang.Override + public ValueInfoProto parsePartialFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return new ValueInfoProto(input, extensionRegistry); + } + }; + + public static org.nd4j.shade.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.ValueInfoProto getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface TensorProtoOrBuilder extends + // @@protoc_insertion_point(interface_extends:org.nd4j.ir.TensorProto) + org.nd4j.shade.protobuf.MessageOrBuilder { + + /** + *
        +     * The shape of the tensor.
        +     * 
        + * + * repeated int64 dims = 1; + */ + java.util.List getDimsList(); + /** + *
        +     * The shape of the tensor.
        +     * 
        + * + * repeated int64 dims = 1; + */ + int getDimsCount(); + /** + *
        +     * The shape of the tensor.
        +     * 
        + * + * repeated int64 dims = 1; + */ + long getDims(int index); + + /** + *
        +     * The data type of the tensor.
        +     * This field MUST have a valid TensorProto.DataType value
        +     * 
        + * + * int32 data_type = 2; + */ + int getDataType(); + + /** + * .org.nd4j.ir.TensorProto.Segment segment = 3; + */ + boolean hasSegment(); + /** + * .org.nd4j.ir.TensorProto.Segment segment = 3; + */ + org.nd4j.ir.TensorNamespace.TensorProto.Segment getSegment(); + /** + * .org.nd4j.ir.TensorProto.Segment segment = 3; + */ + org.nd4j.ir.TensorNamespace.TensorProto.SegmentOrBuilder getSegmentOrBuilder(); + + /** + *
        +     * For float and complex64 values
        +     * Complex64 tensors are encoded as a single array of floats,
        +     * with the real components appearing in odd numbered positions,
        +     * and the corresponding imaginary component appearing in the
        +     * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +     * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +     * When this field is present, the data_type field MUST be FLOAT or COMPLEX64.
        +     * 
        + * + * repeated float float_data = 4 [packed = true]; + */ + java.util.List getFloatDataList(); + /** + *
        +     * For float and complex64 values
        +     * Complex64 tensors are encoded as a single array of floats,
        +     * with the real components appearing in odd numbered positions,
        +     * and the corresponding imaginary component appearing in the
        +     * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +     * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +     * When this field is present, the data_type field MUST be FLOAT or COMPLEX64.
        +     * 
        + * + * repeated float float_data = 4 [packed = true]; + */ + int getFloatDataCount(); + /** + *
        +     * For float and complex64 values
        +     * Complex64 tensors are encoded as a single array of floats,
        +     * with the real components appearing in odd numbered positions,
        +     * and the corresponding imaginary component appearing in the
        +     * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +     * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +     * When this field is present, the data_type field MUST be FLOAT or COMPLEX64.
        +     * 
        + * + * repeated float float_data = 4 [packed = true]; + */ + float getFloatData(int index); + + /** + *
        +     * For int32, uint8, int8, uint16, int16, bool, and float16 values
        +     * float16 values must be bit-wise converted to an uint16_t prior
        +     * to writing to the buffer.
        +     * When this field is present, the data_type field MUST be
        +     * INT32, INT16, INT8, UINT16, UINT8, BOOL, or FLOAT16
        +     * 
        + * + * repeated int32 int32_data = 5 [packed = true]; + */ + java.util.List getInt32DataList(); + /** + *
        +     * For int32, uint8, int8, uint16, int16, bool, and float16 values
        +     * float16 values must be bit-wise converted to an uint16_t prior
        +     * to writing to the buffer.
        +     * When this field is present, the data_type field MUST be
        +     * INT32, INT16, INT8, UINT16, UINT8, BOOL, or FLOAT16
        +     * 
        + * + * repeated int32 int32_data = 5 [packed = true]; + */ + int getInt32DataCount(); + /** + *
        +     * For int32, uint8, int8, uint16, int16, bool, and float16 values
        +     * float16 values must be bit-wise converted to an uint16_t prior
        +     * to writing to the buffer.
        +     * When this field is present, the data_type field MUST be
        +     * INT32, INT16, INT8, UINT16, UINT8, BOOL, or FLOAT16
        +     * 
        + * + * repeated int32 int32_data = 5 [packed = true]; + */ + int getInt32Data(int index); + + /** + *
        +     * For strings.
        +     * Each element of string_data is a UTF-8 encoded Unicode
        +     * string. No trailing null, no leading BOM. The protobuf "string"
        +     * scalar type is not used to match ML community conventions.
        +     * When this field is present, the data_type field MUST be STRING
        +     * 
        + * + * repeated bytes string_data = 6; + */ + java.util.List getStringDataList(); + /** + *
        +     * For strings.
        +     * Each element of string_data is a UTF-8 encoded Unicode
        +     * string. No trailing null, no leading BOM. The protobuf "string"
        +     * scalar type is not used to match ML community conventions.
        +     * When this field is present, the data_type field MUST be STRING
        +     * 
        + * + * repeated bytes string_data = 6; + */ + int getStringDataCount(); + /** + *
        +     * For strings.
        +     * Each element of string_data is a UTF-8 encoded Unicode
        +     * string. No trailing null, no leading BOM. The protobuf "string"
        +     * scalar type is not used to match ML community conventions.
        +     * When this field is present, the data_type field MUST be STRING
        +     * 
        + * + * repeated bytes string_data = 6; + */ + org.nd4j.shade.protobuf.ByteString getStringData(int index); + + /** + *
        +     * For int64.
        +     * When this field is present, the data_type field MUST be INT64
        +     * 
        + * + * repeated int64 int64_data = 7 [packed = true]; + */ + java.util.List getInt64DataList(); + /** + *
        +     * For int64.
        +     * When this field is present, the data_type field MUST be INT64
        +     * 
        + * + * repeated int64 int64_data = 7 [packed = true]; + */ + int getInt64DataCount(); + /** + *
        +     * For int64.
        +     * When this field is present, the data_type field MUST be INT64
        +     * 
        + * + * repeated int64 int64_data = 7 [packed = true]; + */ + long getInt64Data(int index); + + /** + *
        +     * Optionally, a name for the tensor.
        +     * 
        + * + * string name = 8; + */ + java.lang.String getName(); + /** + *
        +     * Optionally, a name for the tensor.
        +     * 
        + * + * string name = 8; + */ + org.nd4j.shade.protobuf.ByteString + getNameBytes(); + + /** + *
        +     * A human-readable documentation for this tensor. Markdown is allowed.
        +     * 
        + * + * string doc_string = 12; + */ + java.lang.String getDocString(); + /** + *
        +     * A human-readable documentation for this tensor. Markdown is allowed.
        +     * 
        + * + * string doc_string = 12; + */ + org.nd4j.shade.protobuf.ByteString + getDocStringBytes(); + + /** + *
        +     * Serializations can either use one of the fields above, or use this
        +     * raw bytes field. The only exception is the string case, where one is
        +     * required to store the content in the repeated bytes string_data field.
        +     * When this raw_data field is used to store tensor value, elements MUST
        +     * be stored in as fixed-width, little-endian order.
        +     * Floating-point data types MUST be stored in IEEE 754 format.
        +     * Complex64 elements must be written as two consecutive FLOAT values, real component first.
        +     * Complex128 elements must be written as two consecutive DOUBLE values, real component first.
        +     * Boolean type MUST be written one byte per tensor element (00000001 for true, 00000000 for false).
        +     * Note: the advantage of specific field rather than the raw_data field is
        +     * that in some cases (e.g. int data), protobuf does a better packing via
        +     * variable length storage, and may lead to smaller binary footprint.
        +     * When this field is present, the data_type field MUST NOT be STRING or UNDEFINED
        +     * 
        + * + * bytes raw_data = 9; + */ + org.nd4j.shade.protobuf.ByteString getRawData(); + + /** + *
        +     * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +     * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +     * external_data stores key-value pairs describing data location. Recognized keys are:
        +     * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +     *                           protobuf model was stored
        +     * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +     *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +     * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +     * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +     * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + java.util.List + getExternalDataList(); + /** + *
        +     * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +     * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +     * external_data stores key-value pairs describing data location. Recognized keys are:
        +     * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +     *                           protobuf model was stored
        +     * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +     *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +     * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +     * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +     * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + org.nd4j.ir.TensorNamespace.StringStringEntryProto getExternalData(int index); + /** + *
        +     * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +     * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +     * external_data stores key-value pairs describing data location. Recognized keys are:
        +     * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +     *                           protobuf model was stored
        +     * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +     *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +     * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +     * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +     * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + int getExternalDataCount(); + /** + *
        +     * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +     * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +     * external_data stores key-value pairs describing data location. Recognized keys are:
        +     * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +     *                           protobuf model was stored
        +     * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +     *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +     * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +     * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +     * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + java.util.List + getExternalDataOrBuilderList(); + /** + *
        +     * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +     * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +     * external_data stores key-value pairs describing data location. Recognized keys are:
        +     * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +     *                           protobuf model was stored
        +     * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +     *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +     * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +     * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +     * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + org.nd4j.ir.TensorNamespace.StringStringEntryProtoOrBuilder getExternalDataOrBuilder( + int index); + + /** + *
        +     * If value not set, data is stored in raw_data (if set) otherwise in type-specified field.
        +     * 
        + * + * .org.nd4j.ir.TensorProto.DataLocation data_location = 14; + */ + int getDataLocationValue(); + /** + *
        +     * If value not set, data is stored in raw_data (if set) otherwise in type-specified field.
        +     * 
        + * + * .org.nd4j.ir.TensorProto.DataLocation data_location = 14; + */ + org.nd4j.ir.TensorNamespace.TensorProto.DataLocation getDataLocation(); + + /** + *
        +     * For double
        +     * Complex128 tensors are encoded as a single array of doubles,
        +     * with the real components appearing in odd numbered positions,
        +     * and the corresponding imaginary component appearing in the
        +     * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +     * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +     * When this field is present, the data_type field MUST be DOUBLE or COMPLEX128
        +     * 
        + * + * repeated double double_data = 10 [packed = true]; + */ + java.util.List getDoubleDataList(); + /** + *
        +     * For double
        +     * Complex128 tensors are encoded as a single array of doubles,
        +     * with the real components appearing in odd numbered positions,
        +     * and the corresponding imaginary component appearing in the
        +     * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +     * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +     * When this field is present, the data_type field MUST be DOUBLE or COMPLEX128
        +     * 
        + * + * repeated double double_data = 10 [packed = true]; + */ + int getDoubleDataCount(); + /** + *
        +     * For double
        +     * Complex128 tensors are encoded as a single array of doubles,
        +     * with the real components appearing in odd numbered positions,
        +     * and the corresponding imaginary component appearing in the
        +     * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +     * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +     * When this field is present, the data_type field MUST be DOUBLE or COMPLEX128
        +     * 
        + * + * repeated double double_data = 10 [packed = true]; + */ + double getDoubleData(int index); + + /** + *
        +     * For uint64 and uint32 values
        +     * When this field is present, the data_type field MUST be
        +     * UINT32 or UINT64
        +     * 
        + * + * repeated uint64 uint64_data = 11 [packed = true]; + */ + java.util.List getUint64DataList(); + /** + *
        +     * For uint64 and uint32 values
        +     * When this field is present, the data_type field MUST be
        +     * UINT32 or UINT64
        +     * 
        + * + * repeated uint64 uint64_data = 11 [packed = true]; + */ + int getUint64DataCount(); + /** + *
        +     * For uint64 and uint32 values
        +     * When this field is present, the data_type field MUST be
        +     * UINT32 or UINT64
        +     * 
        + * + * repeated uint64 uint64_data = 11 [packed = true]; + */ + long getUint64Data(int index); + + /** + *
        +     * For half values (tensorflow compatibility)
        +     * 
        + * + * repeated int32 half_val = 15 [packed = true]; + */ + java.util.List getHalfValList(); + /** + *
        +     * For half values (tensorflow compatibility)
        +     * 
        + * + * repeated int32 half_val = 15 [packed = true]; + */ + int getHalfValCount(); + /** + *
        +     * For half values (tensorflow compatibility)
        +     * 
        + * + * repeated int32 half_val = 15 [packed = true]; + */ + int getHalfVal(int index); + + /** + *
        +     *boolean values
        +     * 
        + * + * repeated bool bool_val = 16 [packed = true]; + */ + java.util.List getBoolValList(); + /** + *
        +     *boolean values
        +     * 
        + * + * repeated bool bool_val = 16 [packed = true]; + */ + int getBoolValCount(); + /** + *
        +     *boolean values
        +     * 
        + * + * repeated bool bool_val = 16 [packed = true]; + */ + boolean getBoolVal(int index); + } + /** + *
        +   * Tensors
        +   * A serialized tensor value.
        +   * 
        + * + * Protobuf type {@code org.nd4j.ir.TensorProto} + */ + public static final class TensorProto extends + org.nd4j.shade.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:org.nd4j.ir.TensorProto) + TensorProtoOrBuilder { + private static final long serialVersionUID = 0L; + // Use TensorProto.newBuilder() to construct. + private TensorProto(org.nd4j.shade.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private TensorProto() { + dims_ = emptyLongList(); + floatData_ = emptyFloatList(); + int32Data_ = emptyIntList(); + stringData_ = java.util.Collections.emptyList(); + int64Data_ = emptyLongList(); + name_ = ""; + docString_ = ""; + rawData_ = org.nd4j.shade.protobuf.ByteString.EMPTY; + externalData_ = java.util.Collections.emptyList(); + dataLocation_ = 0; + doubleData_ = emptyDoubleList(); + uint64Data_ = emptyLongList(); + halfVal_ = emptyIntList(); + boolVal_ = emptyBooleanList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new TensorProto(); + } + + @java.lang.Override + public final org.nd4j.shade.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private TensorProto( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + org.nd4j.shade.protobuf.UnknownFieldSet.Builder unknownFields = + org.nd4j.shade.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + dims_ = newLongList(); + mutable_bitField0_ |= 0x00000001; + } + dims_.addLong(input.readInt64()); + break; + } + case 10: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) { + dims_ = newLongList(); + mutable_bitField0_ |= 0x00000001; + } + while (input.getBytesUntilLimit() > 0) { + dims_.addLong(input.readInt64()); + } + input.popLimit(limit); + break; + } + case 16: { + + dataType_ = input.readInt32(); + break; + } + case 26: { + org.nd4j.ir.TensorNamespace.TensorProto.Segment.Builder subBuilder = null; + if (segment_ != null) { + subBuilder = segment_.toBuilder(); + } + segment_ = input.readMessage(org.nd4j.ir.TensorNamespace.TensorProto.Segment.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(segment_); + segment_ = subBuilder.buildPartial(); + } + + break; + } + case 37: { + if (!((mutable_bitField0_ & 0x00000002) != 0)) { + floatData_ = newFloatList(); + mutable_bitField0_ |= 0x00000002; + } + floatData_.addFloat(input.readFloat()); + break; + } + case 34: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000002) != 0) && input.getBytesUntilLimit() > 0) { + floatData_ = newFloatList(); + mutable_bitField0_ |= 0x00000002; + } + while (input.getBytesUntilLimit() > 0) { + floatData_.addFloat(input.readFloat()); + } + input.popLimit(limit); + break; + } + case 40: { + if (!((mutable_bitField0_ & 0x00000004) != 0)) { + int32Data_ = newIntList(); + mutable_bitField0_ |= 0x00000004; + } + int32Data_.addInt(input.readInt32()); + break; + } + case 42: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000004) != 0) && input.getBytesUntilLimit() > 0) { + int32Data_ = newIntList(); + mutable_bitField0_ |= 0x00000004; + } + while (input.getBytesUntilLimit() > 0) { + int32Data_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } + case 50: { + if (!((mutable_bitField0_ & 0x00000008) != 0)) { + stringData_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000008; + } + stringData_.add(input.readBytes()); + break; + } + case 56: { + if (!((mutable_bitField0_ & 0x00000010) != 0)) { + int64Data_ = newLongList(); + mutable_bitField0_ |= 0x00000010; + } + int64Data_.addLong(input.readInt64()); + break; + } + case 58: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000010) != 0) && input.getBytesUntilLimit() > 0) { + int64Data_ = newLongList(); + mutable_bitField0_ |= 0x00000010; + } + while (input.getBytesUntilLimit() > 0) { + int64Data_.addLong(input.readInt64()); + } + input.popLimit(limit); + break; + } + case 66: { + java.lang.String s = input.readStringRequireUtf8(); + + name_ = s; + break; + } + case 74: { + + rawData_ = input.readBytes(); + break; + } + case 81: { + if (!((mutable_bitField0_ & 0x00000040) != 0)) { + doubleData_ = newDoubleList(); + mutable_bitField0_ |= 0x00000040; + } + doubleData_.addDouble(input.readDouble()); + break; + } + case 82: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000040) != 0) && input.getBytesUntilLimit() > 0) { + doubleData_ = newDoubleList(); + mutable_bitField0_ |= 0x00000040; + } + while (input.getBytesUntilLimit() > 0) { + doubleData_.addDouble(input.readDouble()); + } + input.popLimit(limit); + break; + } + case 88: { + if (!((mutable_bitField0_ & 0x00000080) != 0)) { + uint64Data_ = newLongList(); + mutable_bitField0_ |= 0x00000080; + } + uint64Data_.addLong(input.readUInt64()); + break; + } + case 90: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000080) != 0) && input.getBytesUntilLimit() > 0) { + uint64Data_ = newLongList(); + mutable_bitField0_ |= 0x00000080; + } + while (input.getBytesUntilLimit() > 0) { + uint64Data_.addLong(input.readUInt64()); + } + input.popLimit(limit); + break; + } + case 98: { + java.lang.String s = input.readStringRequireUtf8(); + + docString_ = s; + break; + } + case 106: { + if (!((mutable_bitField0_ & 0x00000020) != 0)) { + externalData_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000020; + } + externalData_.add( + input.readMessage(org.nd4j.ir.TensorNamespace.StringStringEntryProto.parser(), extensionRegistry)); + break; + } + case 112: { + int rawValue = input.readEnum(); + + dataLocation_ = rawValue; + break; + } + case 120: { + if (!((mutable_bitField0_ & 0x00000100) != 0)) { + halfVal_ = newIntList(); + mutable_bitField0_ |= 0x00000100; + } + halfVal_.addInt(input.readInt32()); + break; + } + case 122: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000100) != 0) && input.getBytesUntilLimit() > 0) { + halfVal_ = newIntList(); + mutable_bitField0_ |= 0x00000100; + } + while (input.getBytesUntilLimit() > 0) { + halfVal_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } + case 128: { + if (!((mutable_bitField0_ & 0x00000200) != 0)) { + boolVal_ = newBooleanList(); + mutable_bitField0_ |= 0x00000200; + } + boolVal_.addBoolean(input.readBool()); + break; + } + case 130: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000200) != 0) && input.getBytesUntilLimit() > 0) { + boolVal_ = newBooleanList(); + mutable_bitField0_ |= 0x00000200; + } + while (input.getBytesUntilLimit() > 0) { + boolVal_.addBoolean(input.readBool()); + } + input.popLimit(limit); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new org.nd4j.shade.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + dims_.makeImmutable(); // C + } + if (((mutable_bitField0_ & 0x00000002) != 0)) { + floatData_.makeImmutable(); // C + } + if (((mutable_bitField0_ & 0x00000004) != 0)) { + int32Data_.makeImmutable(); // C + } + if (((mutable_bitField0_ & 0x00000008) != 0)) { + stringData_ = java.util.Collections.unmodifiableList(stringData_); // C + } + if (((mutable_bitField0_ & 0x00000010) != 0)) { + int64Data_.makeImmutable(); // C + } + if (((mutable_bitField0_ & 0x00000040) != 0)) { + doubleData_.makeImmutable(); // C + } + if (((mutable_bitField0_ & 0x00000080) != 0)) { + uint64Data_.makeImmutable(); // C + } + if (((mutable_bitField0_ & 0x00000020) != 0)) { + externalData_ = java.util.Collections.unmodifiableList(externalData_); + } + if (((mutable_bitField0_ & 0x00000100) != 0)) { + halfVal_.makeImmutable(); // C + } + if (((mutable_bitField0_ & 0x00000200) != 0)) { + boolVal_.makeImmutable(); // C + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TensorProto_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TensorProto_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.TensorNamespace.TensorProto.class, org.nd4j.ir.TensorNamespace.TensorProto.Builder.class); + } + + /** + *
        +     * Location of the data for this tensor. MUST be one of:
        +     * - DEFAULT - data stored inside the protobuf message. Data is stored in raw_data (if set) otherwise in type-specified field.
        +     * - EXTERNAL - data stored in an external location as described by external_data field.
        +     * 
        + * + * Protobuf enum {@code org.nd4j.ir.TensorProto.DataLocation} + */ + public enum DataLocation + implements org.nd4j.shade.protobuf.ProtocolMessageEnum { + /** + * DEFAULT = 0; + */ + DEFAULT(0), + /** + * EXTERNAL = 1; + */ + EXTERNAL(1), + UNRECOGNIZED(-1), + ; + + /** + * DEFAULT = 0; + */ + public static final int DEFAULT_VALUE = 0; + /** + * EXTERNAL = 1; + */ + public static final int EXTERNAL_VALUE = 1; + + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static DataLocation valueOf(int value) { + return forNumber(value); + } + + public static DataLocation forNumber(int value) { + switch (value) { + case 0: return DEFAULT; + case 1: return EXTERNAL; + default: return null; + } + } + + public static org.nd4j.shade.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final org.nd4j.shade.protobuf.Internal.EnumLiteMap< + DataLocation> internalValueMap = + new org.nd4j.shade.protobuf.Internal.EnumLiteMap() { + public DataLocation findValueByNumber(int number) { + return DataLocation.forNumber(number); + } + }; + + public final org.nd4j.shade.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + return getDescriptor().getValues().get(ordinal()); + } + public final org.nd4j.shade.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final org.nd4j.shade.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.nd4j.ir.TensorNamespace.TensorProto.getDescriptor().getEnumTypes().get(0); + } + + private static final DataLocation[] VALUES = values(); + + public static DataLocation valueOf( + org.nd4j.shade.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private DataLocation(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:org.nd4j.ir.TensorProto.DataLocation) + } + + public interface SegmentOrBuilder extends + // @@protoc_insertion_point(interface_extends:org.nd4j.ir.TensorProto.Segment) + org.nd4j.shade.protobuf.MessageOrBuilder { + + /** + * int64 begin = 1; + */ + long getBegin(); + + /** + * int64 end = 2; + */ + long getEnd(); + } + /** + *
        +     * For very large tensors, we may want to store them in chunks, in which
        +     * case the following fields will specify the segment that is stored in
        +     * the current TensorProto.
        +     * 
        + * + * Protobuf type {@code org.nd4j.ir.TensorProto.Segment} + */ + public static final class Segment extends + org.nd4j.shade.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:org.nd4j.ir.TensorProto.Segment) + SegmentOrBuilder { + private static final long serialVersionUID = 0L; + // Use Segment.newBuilder() to construct. + private Segment(org.nd4j.shade.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private Segment() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new Segment(); + } + + @java.lang.Override + public final org.nd4j.shade.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Segment( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + org.nd4j.shade.protobuf.UnknownFieldSet.Builder unknownFields = + org.nd4j.shade.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + + begin_ = input.readInt64(); + break; + } + case 16: { + + end_ = input.readInt64(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new org.nd4j.shade.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TensorProto_Segment_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TensorProto_Segment_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.TensorNamespace.TensorProto.Segment.class, org.nd4j.ir.TensorNamespace.TensorProto.Segment.Builder.class); + } + + public static final int BEGIN_FIELD_NUMBER = 1; + private long begin_; + /** + * int64 begin = 1; + */ + public long getBegin() { + return begin_; + } + + public static final int END_FIELD_NUMBER = 2; + private long end_; + /** + * int64 end = 2; + */ + public long getEnd() { + return end_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(org.nd4j.shade.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (begin_ != 0L) { + output.writeInt64(1, begin_); + } + if (end_ != 0L) { + output.writeInt64(2, end_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (begin_ != 0L) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeInt64Size(1, begin_); + } + if (end_ != 0L) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeInt64Size(2, end_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.nd4j.ir.TensorNamespace.TensorProto.Segment)) { + return super.equals(obj); + } + org.nd4j.ir.TensorNamespace.TensorProto.Segment other = (org.nd4j.ir.TensorNamespace.TensorProto.Segment) obj; + + if (getBegin() + != other.getBegin()) return false; + if (getEnd() + != other.getEnd()) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + BEGIN_FIELD_NUMBER; + hash = (53 * hash) + org.nd4j.shade.protobuf.Internal.hashLong( + getBegin()); + hash = (37 * hash) + END_FIELD_NUMBER; + hash = (53 * hash) + org.nd4j.shade.protobuf.Internal.hashLong( + getEnd()); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.nd4j.ir.TensorNamespace.TensorProto.Segment parseFrom( + java.nio.ByteBuffer data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.TensorNamespace.TensorProto.Segment parseFrom( + java.nio.ByteBuffer data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TensorProto.Segment parseFrom( + org.nd4j.shade.protobuf.ByteString data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.TensorNamespace.TensorProto.Segment parseFrom( + org.nd4j.shade.protobuf.ByteString data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TensorProto.Segment parseFrom(byte[] data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.TensorNamespace.TensorProto.Segment parseFrom( + byte[] data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TensorProto.Segment parseFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.TensorNamespace.TensorProto.Segment parseFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TensorProto.Segment parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static org.nd4j.ir.TensorNamespace.TensorProto.Segment parseDelimitedFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TensorProto.Segment parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.TensorNamespace.TensorProto.Segment parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.nd4j.ir.TensorNamespace.TensorProto.Segment prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
        +       * For very large tensors, we may want to store them in chunks, in which
        +       * case the following fields will specify the segment that is stored in
        +       * the current TensorProto.
        +       * 
        + * + * Protobuf type {@code org.nd4j.ir.TensorProto.Segment} + */ + public static final class Builder extends + org.nd4j.shade.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:org.nd4j.ir.TensorProto.Segment) + org.nd4j.ir.TensorNamespace.TensorProto.SegmentOrBuilder { + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TensorProto_Segment_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TensorProto_Segment_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.TensorNamespace.TensorProto.Segment.class, org.nd4j.ir.TensorNamespace.TensorProto.Segment.Builder.class); + } + + // Construct using org.nd4j.ir.TensorNamespace.TensorProto.Segment.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (org.nd4j.shade.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + begin_ = 0L; + + end_ = 0L; + + return this; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TensorProto_Segment_descriptor; + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.TensorProto.Segment getDefaultInstanceForType() { + return org.nd4j.ir.TensorNamespace.TensorProto.Segment.getDefaultInstance(); + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.TensorProto.Segment build() { + org.nd4j.ir.TensorNamespace.TensorProto.Segment result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.TensorProto.Segment buildPartial() { + org.nd4j.ir.TensorNamespace.TensorProto.Segment result = new org.nd4j.ir.TensorNamespace.TensorProto.Segment(this); + result.begin_ = begin_; + result.end_ = end_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + org.nd4j.shade.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(org.nd4j.shade.protobuf.Message other) { + if (other instanceof org.nd4j.ir.TensorNamespace.TensorProto.Segment) { + return mergeFrom((org.nd4j.ir.TensorNamespace.TensorProto.Segment)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.nd4j.ir.TensorNamespace.TensorProto.Segment other) { + if (other == org.nd4j.ir.TensorNamespace.TensorProto.Segment.getDefaultInstance()) return this; + if (other.getBegin() != 0L) { + setBegin(other.getBegin()); + } + if (other.getEnd() != 0L) { + setEnd(other.getEnd()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.nd4j.ir.TensorNamespace.TensorProto.Segment parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.nd4j.ir.TensorNamespace.TensorProto.Segment) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private long begin_ ; + /** + * int64 begin = 1; + */ + public long getBegin() { + return begin_; + } + /** + * int64 begin = 1; + */ + public Builder setBegin(long value) { + + begin_ = value; + onChanged(); + return this; + } + /** + * int64 begin = 1; + */ + public Builder clearBegin() { + + begin_ = 0L; + onChanged(); + return this; + } + + private long end_ ; + /** + * int64 end = 2; + */ + public long getEnd() { + return end_; + } + /** + * int64 end = 2; + */ + public Builder setEnd(long value) { + + end_ = value; + onChanged(); + return this; + } + /** + * int64 end = 2; + */ + public Builder clearEnd() { + + end_ = 0L; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:org.nd4j.ir.TensorProto.Segment) + } + + // @@protoc_insertion_point(class_scope:org.nd4j.ir.TensorProto.Segment) + private static final org.nd4j.ir.TensorNamespace.TensorProto.Segment DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.nd4j.ir.TensorNamespace.TensorProto.Segment(); + } + + public static org.nd4j.ir.TensorNamespace.TensorProto.Segment getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final org.nd4j.shade.protobuf.Parser + PARSER = new org.nd4j.shade.protobuf.AbstractParser() { + @java.lang.Override + public Segment parsePartialFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return new Segment(input, extensionRegistry); + } + }; + + public static org.nd4j.shade.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.TensorProto.Segment getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public static final int DIMS_FIELD_NUMBER = 1; + private org.nd4j.shade.protobuf.Internal.LongList dims_; + /** + *
        +     * The shape of the tensor.
        +     * 
        + * + * repeated int64 dims = 1; + */ + public java.util.List + getDimsList() { + return dims_; + } + /** + *
        +     * The shape of the tensor.
        +     * 
        + * + * repeated int64 dims = 1; + */ + public int getDimsCount() { + return dims_.size(); + } + /** + *
        +     * The shape of the tensor.
        +     * 
        + * + * repeated int64 dims = 1; + */ + public long getDims(int index) { + return dims_.getLong(index); + } + private int dimsMemoizedSerializedSize = -1; + + public static final int DATA_TYPE_FIELD_NUMBER = 2; + private int dataType_; + /** + *
        +     * The data type of the tensor.
        +     * This field MUST have a valid TensorProto.DataType value
        +     * 
        + * + * int32 data_type = 2; + */ + public int getDataType() { + return dataType_; + } + + public static final int SEGMENT_FIELD_NUMBER = 3; + private org.nd4j.ir.TensorNamespace.TensorProto.Segment segment_; + /** + * .org.nd4j.ir.TensorProto.Segment segment = 3; + */ + public boolean hasSegment() { + return segment_ != null; + } + /** + * .org.nd4j.ir.TensorProto.Segment segment = 3; + */ + public org.nd4j.ir.TensorNamespace.TensorProto.Segment getSegment() { + return segment_ == null ? org.nd4j.ir.TensorNamespace.TensorProto.Segment.getDefaultInstance() : segment_; + } + /** + * .org.nd4j.ir.TensorProto.Segment segment = 3; + */ + public org.nd4j.ir.TensorNamespace.TensorProto.SegmentOrBuilder getSegmentOrBuilder() { + return getSegment(); + } + + public static final int FLOAT_DATA_FIELD_NUMBER = 4; + private org.nd4j.shade.protobuf.Internal.FloatList floatData_; + /** + *
        +     * For float and complex64 values
        +     * Complex64 tensors are encoded as a single array of floats,
        +     * with the real components appearing in odd numbered positions,
        +     * and the corresponding imaginary component appearing in the
        +     * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +     * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +     * When this field is present, the data_type field MUST be FLOAT or COMPLEX64.
        +     * 
        + * + * repeated float float_data = 4 [packed = true]; + */ + public java.util.List + getFloatDataList() { + return floatData_; + } + /** + *
        +     * For float and complex64 values
        +     * Complex64 tensors are encoded as a single array of floats,
        +     * with the real components appearing in odd numbered positions,
        +     * and the corresponding imaginary component appearing in the
        +     * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +     * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +     * When this field is present, the data_type field MUST be FLOAT or COMPLEX64.
        +     * 
        + * + * repeated float float_data = 4 [packed = true]; + */ + public int getFloatDataCount() { + return floatData_.size(); + } + /** + *
        +     * For float and complex64 values
        +     * Complex64 tensors are encoded as a single array of floats,
        +     * with the real components appearing in odd numbered positions,
        +     * and the corresponding imaginary component appearing in the
        +     * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +     * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +     * When this field is present, the data_type field MUST be FLOAT or COMPLEX64.
        +     * 
        + * + * repeated float float_data = 4 [packed = true]; + */ + public float getFloatData(int index) { + return floatData_.getFloat(index); + } + private int floatDataMemoizedSerializedSize = -1; + + public static final int INT32_DATA_FIELD_NUMBER = 5; + private org.nd4j.shade.protobuf.Internal.IntList int32Data_; + /** + *
        +     * For int32, uint8, int8, uint16, int16, bool, and float16 values
        +     * float16 values must be bit-wise converted to an uint16_t prior
        +     * to writing to the buffer.
        +     * When this field is present, the data_type field MUST be
        +     * INT32, INT16, INT8, UINT16, UINT8, BOOL, or FLOAT16
        +     * 
        + * + * repeated int32 int32_data = 5 [packed = true]; + */ + public java.util.List + getInt32DataList() { + return int32Data_; + } + /** + *
        +     * For int32, uint8, int8, uint16, int16, bool, and float16 values
        +     * float16 values must be bit-wise converted to an uint16_t prior
        +     * to writing to the buffer.
        +     * When this field is present, the data_type field MUST be
        +     * INT32, INT16, INT8, UINT16, UINT8, BOOL, or FLOAT16
        +     * 
        + * + * repeated int32 int32_data = 5 [packed = true]; + */ + public int getInt32DataCount() { + return int32Data_.size(); + } + /** + *
        +     * For int32, uint8, int8, uint16, int16, bool, and float16 values
        +     * float16 values must be bit-wise converted to an uint16_t prior
        +     * to writing to the buffer.
        +     * When this field is present, the data_type field MUST be
        +     * INT32, INT16, INT8, UINT16, UINT8, BOOL, or FLOAT16
        +     * 
        + * + * repeated int32 int32_data = 5 [packed = true]; + */ + public int getInt32Data(int index) { + return int32Data_.getInt(index); + } + private int int32DataMemoizedSerializedSize = -1; + + public static final int STRING_DATA_FIELD_NUMBER = 6; + private java.util.List stringData_; + /** + *
        +     * For strings.
        +     * Each element of string_data is a UTF-8 encoded Unicode
        +     * string. No trailing null, no leading BOM. The protobuf "string"
        +     * scalar type is not used to match ML community conventions.
        +     * When this field is present, the data_type field MUST be STRING
        +     * 
        + * + * repeated bytes string_data = 6; + */ + public java.util.List + getStringDataList() { + return stringData_; + } + /** + *
        +     * For strings.
        +     * Each element of string_data is a UTF-8 encoded Unicode
        +     * string. No trailing null, no leading BOM. The protobuf "string"
        +     * scalar type is not used to match ML community conventions.
        +     * When this field is present, the data_type field MUST be STRING
        +     * 
        + * + * repeated bytes string_data = 6; + */ + public int getStringDataCount() { + return stringData_.size(); + } + /** + *
        +     * For strings.
        +     * Each element of string_data is a UTF-8 encoded Unicode
        +     * string. No trailing null, no leading BOM. The protobuf "string"
        +     * scalar type is not used to match ML community conventions.
        +     * When this field is present, the data_type field MUST be STRING
        +     * 
        + * + * repeated bytes string_data = 6; + */ + public org.nd4j.shade.protobuf.ByteString getStringData(int index) { + return stringData_.get(index); + } + + public static final int INT64_DATA_FIELD_NUMBER = 7; + private org.nd4j.shade.protobuf.Internal.LongList int64Data_; + /** + *
        +     * For int64.
        +     * When this field is present, the data_type field MUST be INT64
        +     * 
        + * + * repeated int64 int64_data = 7 [packed = true]; + */ + public java.util.List + getInt64DataList() { + return int64Data_; + } + /** + *
        +     * For int64.
        +     * When this field is present, the data_type field MUST be INT64
        +     * 
        + * + * repeated int64 int64_data = 7 [packed = true]; + */ + public int getInt64DataCount() { + return int64Data_.size(); + } + /** + *
        +     * For int64.
        +     * When this field is present, the data_type field MUST be INT64
        +     * 
        + * + * repeated int64 int64_data = 7 [packed = true]; + */ + public long getInt64Data(int index) { + return int64Data_.getLong(index); + } + private int int64DataMemoizedSerializedSize = -1; + + public static final int NAME_FIELD_NUMBER = 8; + private volatile java.lang.Object name_; + /** + *
        +     * Optionally, a name for the tensor.
        +     * 
        + * + * string name = 8; + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + /** + *
        +     * Optionally, a name for the tensor.
        +     * 
        + * + * string name = 8; + */ + public org.nd4j.shade.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + + public static final int DOC_STRING_FIELD_NUMBER = 12; + private volatile java.lang.Object docString_; + /** + *
        +     * A human-readable documentation for this tensor. Markdown is allowed.
        +     * 
        + * + * string doc_string = 12; + */ + public java.lang.String getDocString() { + java.lang.Object ref = docString_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + docString_ = s; + return s; + } + } + /** + *
        +     * A human-readable documentation for this tensor. Markdown is allowed.
        +     * 
        + * + * string doc_string = 12; + */ + public org.nd4j.shade.protobuf.ByteString + getDocStringBytes() { + java.lang.Object ref = docString_; + if (ref instanceof java.lang.String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + docString_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + + public static final int RAW_DATA_FIELD_NUMBER = 9; + private org.nd4j.shade.protobuf.ByteString rawData_; + /** + *
        +     * Serializations can either use one of the fields above, or use this
        +     * raw bytes field. The only exception is the string case, where one is
        +     * required to store the content in the repeated bytes string_data field.
        +     * When this raw_data field is used to store tensor value, elements MUST
        +     * be stored in as fixed-width, little-endian order.
        +     * Floating-point data types MUST be stored in IEEE 754 format.
        +     * Complex64 elements must be written as two consecutive FLOAT values, real component first.
        +     * Complex128 elements must be written as two consecutive DOUBLE values, real component first.
        +     * Boolean type MUST be written one byte per tensor element (00000001 for true, 00000000 for false).
        +     * Note: the advantage of specific field rather than the raw_data field is
        +     * that in some cases (e.g. int data), protobuf does a better packing via
        +     * variable length storage, and may lead to smaller binary footprint.
        +     * When this field is present, the data_type field MUST NOT be STRING or UNDEFINED
        +     * 
        + * + * bytes raw_data = 9; + */ + public org.nd4j.shade.protobuf.ByteString getRawData() { + return rawData_; + } + + public static final int EXTERNAL_DATA_FIELD_NUMBER = 13; + private java.util.List externalData_; + /** + *
        +     * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +     * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +     * external_data stores key-value pairs describing data location. Recognized keys are:
        +     * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +     *                           protobuf model was stored
        +     * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +     *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +     * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +     * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +     * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + public java.util.List getExternalDataList() { + return externalData_; + } + /** + *
        +     * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +     * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +     * external_data stores key-value pairs describing data location. Recognized keys are:
        +     * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +     *                           protobuf model was stored
        +     * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +     *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +     * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +     * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +     * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + public java.util.List + getExternalDataOrBuilderList() { + return externalData_; + } + /** + *
        +     * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +     * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +     * external_data stores key-value pairs describing data location. Recognized keys are:
        +     * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +     *                           protobuf model was stored
        +     * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +     *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +     * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +     * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +     * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + public int getExternalDataCount() { + return externalData_.size(); + } + /** + *
        +     * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +     * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +     * external_data stores key-value pairs describing data location. Recognized keys are:
        +     * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +     *                           protobuf model was stored
        +     * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +     *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +     * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +     * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +     * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + public org.nd4j.ir.TensorNamespace.StringStringEntryProto getExternalData(int index) { + return externalData_.get(index); + } + /** + *
        +     * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +     * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +     * external_data stores key-value pairs describing data location. Recognized keys are:
        +     * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +     *                           protobuf model was stored
        +     * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +     *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +     * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +     * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +     * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + public org.nd4j.ir.TensorNamespace.StringStringEntryProtoOrBuilder getExternalDataOrBuilder( + int index) { + return externalData_.get(index); + } + + public static final int DATA_LOCATION_FIELD_NUMBER = 14; + private int dataLocation_; + /** + *
        +     * If value not set, data is stored in raw_data (if set) otherwise in type-specified field.
        +     * 
        + * + * .org.nd4j.ir.TensorProto.DataLocation data_location = 14; + */ + public int getDataLocationValue() { + return dataLocation_; + } + /** + *
        +     * If value not set, data is stored in raw_data (if set) otherwise in type-specified field.
        +     * 
        + * + * .org.nd4j.ir.TensorProto.DataLocation data_location = 14; + */ + public org.nd4j.ir.TensorNamespace.TensorProto.DataLocation getDataLocation() { + @SuppressWarnings("deprecation") + org.nd4j.ir.TensorNamespace.TensorProto.DataLocation result = org.nd4j.ir.TensorNamespace.TensorProto.DataLocation.valueOf(dataLocation_); + return result == null ? org.nd4j.ir.TensorNamespace.TensorProto.DataLocation.UNRECOGNIZED : result; + } + + public static final int DOUBLE_DATA_FIELD_NUMBER = 10; + private org.nd4j.shade.protobuf.Internal.DoubleList doubleData_; + /** + *
        +     * For double
        +     * Complex128 tensors are encoded as a single array of doubles,
        +     * with the real components appearing in odd numbered positions,
        +     * and the corresponding imaginary component appearing in the
        +     * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +     * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +     * When this field is present, the data_type field MUST be DOUBLE or COMPLEX128
        +     * 
        + * + * repeated double double_data = 10 [packed = true]; + */ + public java.util.List + getDoubleDataList() { + return doubleData_; + } + /** + *
        +     * For double
        +     * Complex128 tensors are encoded as a single array of doubles,
        +     * with the real components appearing in odd numbered positions,
        +     * and the corresponding imaginary component appearing in the
        +     * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +     * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +     * When this field is present, the data_type field MUST be DOUBLE or COMPLEX128
        +     * 
        + * + * repeated double double_data = 10 [packed = true]; + */ + public int getDoubleDataCount() { + return doubleData_.size(); + } + /** + *
        +     * For double
        +     * Complex128 tensors are encoded as a single array of doubles,
        +     * with the real components appearing in odd numbered positions,
        +     * and the corresponding imaginary component appearing in the
        +     * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +     * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +     * When this field is present, the data_type field MUST be DOUBLE or COMPLEX128
        +     * 
        + * + * repeated double double_data = 10 [packed = true]; + */ + public double getDoubleData(int index) { + return doubleData_.getDouble(index); + } + private int doubleDataMemoizedSerializedSize = -1; + + public static final int UINT64_DATA_FIELD_NUMBER = 11; + private org.nd4j.shade.protobuf.Internal.LongList uint64Data_; + /** + *
        +     * For uint64 and uint32 values
        +     * When this field is present, the data_type field MUST be
        +     * UINT32 or UINT64
        +     * 
        + * + * repeated uint64 uint64_data = 11 [packed = true]; + */ + public java.util.List + getUint64DataList() { + return uint64Data_; + } + /** + *
        +     * For uint64 and uint32 values
        +     * When this field is present, the data_type field MUST be
        +     * UINT32 or UINT64
        +     * 
        + * + * repeated uint64 uint64_data = 11 [packed = true]; + */ + public int getUint64DataCount() { + return uint64Data_.size(); + } + /** + *
        +     * For uint64 and uint32 values
        +     * When this field is present, the data_type field MUST be
        +     * UINT32 or UINT64
        +     * 
        + * + * repeated uint64 uint64_data = 11 [packed = true]; + */ + public long getUint64Data(int index) { + return uint64Data_.getLong(index); + } + private int uint64DataMemoizedSerializedSize = -1; + + public static final int HALF_VAL_FIELD_NUMBER = 15; + private org.nd4j.shade.protobuf.Internal.IntList halfVal_; + /** + *
        +     * For half values (tensorflow compatibility)
        +     * 
        + * + * repeated int32 half_val = 15 [packed = true]; + */ + public java.util.List + getHalfValList() { + return halfVal_; + } + /** + *
        +     * For half values (tensorflow compatibility)
        +     * 
        + * + * repeated int32 half_val = 15 [packed = true]; + */ + public int getHalfValCount() { + return halfVal_.size(); + } + /** + *
        +     * For half values (tensorflow compatibility)
        +     * 
        + * + * repeated int32 half_val = 15 [packed = true]; + */ + public int getHalfVal(int index) { + return halfVal_.getInt(index); + } + private int halfValMemoizedSerializedSize = -1; + + public static final int BOOL_VAL_FIELD_NUMBER = 16; + private org.nd4j.shade.protobuf.Internal.BooleanList boolVal_; + /** + *
        +     *boolean values
        +     * 
        + * + * repeated bool bool_val = 16 [packed = true]; + */ + public java.util.List + getBoolValList() { + return boolVal_; + } + /** + *
        +     *boolean values
        +     * 
        + * + * repeated bool bool_val = 16 [packed = true]; + */ + public int getBoolValCount() { + return boolVal_.size(); + } + /** + *
        +     *boolean values
        +     * 
        + * + * repeated bool bool_val = 16 [packed = true]; + */ + public boolean getBoolVal(int index) { + return boolVal_.getBoolean(index); + } + private int boolValMemoizedSerializedSize = -1; + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(org.nd4j.shade.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (getDimsList().size() > 0) { + output.writeUInt32NoTag(10); + output.writeUInt32NoTag(dimsMemoizedSerializedSize); + } + for (int i = 0; i < dims_.size(); i++) { + output.writeInt64NoTag(dims_.getLong(i)); + } + if (dataType_ != 0) { + output.writeInt32(2, dataType_); + } + if (segment_ != null) { + output.writeMessage(3, getSegment()); + } + if (getFloatDataList().size() > 0) { + output.writeUInt32NoTag(34); + output.writeUInt32NoTag(floatDataMemoizedSerializedSize); + } + for (int i = 0; i < floatData_.size(); i++) { + output.writeFloatNoTag(floatData_.getFloat(i)); + } + if (getInt32DataList().size() > 0) { + output.writeUInt32NoTag(42); + output.writeUInt32NoTag(int32DataMemoizedSerializedSize); + } + for (int i = 0; i < int32Data_.size(); i++) { + output.writeInt32NoTag(int32Data_.getInt(i)); + } + for (int i = 0; i < stringData_.size(); i++) { + output.writeBytes(6, stringData_.get(i)); + } + if (getInt64DataList().size() > 0) { + output.writeUInt32NoTag(58); + output.writeUInt32NoTag(int64DataMemoizedSerializedSize); + } + for (int i = 0; i < int64Data_.size(); i++) { + output.writeInt64NoTag(int64Data_.getLong(i)); + } + if (!getNameBytes().isEmpty()) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 8, name_); + } + if (!rawData_.isEmpty()) { + output.writeBytes(9, rawData_); + } + if (getDoubleDataList().size() > 0) { + output.writeUInt32NoTag(82); + output.writeUInt32NoTag(doubleDataMemoizedSerializedSize); + } + for (int i = 0; i < doubleData_.size(); i++) { + output.writeDoubleNoTag(doubleData_.getDouble(i)); + } + if (getUint64DataList().size() > 0) { + output.writeUInt32NoTag(90); + output.writeUInt32NoTag(uint64DataMemoizedSerializedSize); + } + for (int i = 0; i < uint64Data_.size(); i++) { + output.writeUInt64NoTag(uint64Data_.getLong(i)); + } + if (!getDocStringBytes().isEmpty()) { + org.nd4j.shade.protobuf.GeneratedMessageV3.writeString(output, 12, docString_); + } + for (int i = 0; i < externalData_.size(); i++) { + output.writeMessage(13, externalData_.get(i)); + } + if (dataLocation_ != org.nd4j.ir.TensorNamespace.TensorProto.DataLocation.DEFAULT.getNumber()) { + output.writeEnum(14, dataLocation_); + } + if (getHalfValList().size() > 0) { + output.writeUInt32NoTag(122); + output.writeUInt32NoTag(halfValMemoizedSerializedSize); + } + for (int i = 0; i < halfVal_.size(); i++) { + output.writeInt32NoTag(halfVal_.getInt(i)); + } + if (getBoolValList().size() > 0) { + output.writeUInt32NoTag(130); + output.writeUInt32NoTag(boolValMemoizedSerializedSize); + } + for (int i = 0; i < boolVal_.size(); i++) { + output.writeBoolNoTag(boolVal_.getBoolean(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + { + int dataSize = 0; + for (int i = 0; i < dims_.size(); i++) { + dataSize += org.nd4j.shade.protobuf.CodedOutputStream + .computeInt64SizeNoTag(dims_.getLong(i)); + } + size += dataSize; + if (!getDimsList().isEmpty()) { + size += 1; + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeInt32SizeNoTag(dataSize); + } + dimsMemoizedSerializedSize = dataSize; + } + if (dataType_ != 0) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeInt32Size(2, dataType_); + } + if (segment_ != null) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeMessageSize(3, getSegment()); + } + { + int dataSize = 0; + dataSize = 4 * getFloatDataList().size(); + size += dataSize; + if (!getFloatDataList().isEmpty()) { + size += 1; + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeInt32SizeNoTag(dataSize); + } + floatDataMemoizedSerializedSize = dataSize; + } + { + int dataSize = 0; + for (int i = 0; i < int32Data_.size(); i++) { + dataSize += org.nd4j.shade.protobuf.CodedOutputStream + .computeInt32SizeNoTag(int32Data_.getInt(i)); + } + size += dataSize; + if (!getInt32DataList().isEmpty()) { + size += 1; + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeInt32SizeNoTag(dataSize); + } + int32DataMemoizedSerializedSize = dataSize; + } + { + int dataSize = 0; + for (int i = 0; i < stringData_.size(); i++) { + dataSize += org.nd4j.shade.protobuf.CodedOutputStream + .computeBytesSizeNoTag(stringData_.get(i)); + } + size += dataSize; + size += 1 * getStringDataList().size(); + } + { + int dataSize = 0; + for (int i = 0; i < int64Data_.size(); i++) { + dataSize += org.nd4j.shade.protobuf.CodedOutputStream + .computeInt64SizeNoTag(int64Data_.getLong(i)); + } + size += dataSize; + if (!getInt64DataList().isEmpty()) { + size += 1; + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeInt32SizeNoTag(dataSize); + } + int64DataMemoizedSerializedSize = dataSize; + } + if (!getNameBytes().isEmpty()) { + size += org.nd4j.shade.protobuf.GeneratedMessageV3.computeStringSize(8, name_); + } + if (!rawData_.isEmpty()) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeBytesSize(9, rawData_); + } + { + int dataSize = 0; + dataSize = 8 * getDoubleDataList().size(); + size += dataSize; + if (!getDoubleDataList().isEmpty()) { + size += 1; + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeInt32SizeNoTag(dataSize); + } + doubleDataMemoizedSerializedSize = dataSize; + } + { + int dataSize = 0; + for (int i = 0; i < uint64Data_.size(); i++) { + dataSize += org.nd4j.shade.protobuf.CodedOutputStream + .computeUInt64SizeNoTag(uint64Data_.getLong(i)); + } + size += dataSize; + if (!getUint64DataList().isEmpty()) { + size += 1; + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeInt32SizeNoTag(dataSize); + } + uint64DataMemoizedSerializedSize = dataSize; + } + if (!getDocStringBytes().isEmpty()) { + size += org.nd4j.shade.protobuf.GeneratedMessageV3.computeStringSize(12, docString_); + } + for (int i = 0; i < externalData_.size(); i++) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeMessageSize(13, externalData_.get(i)); + } + if (dataLocation_ != org.nd4j.ir.TensorNamespace.TensorProto.DataLocation.DEFAULT.getNumber()) { + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeEnumSize(14, dataLocation_); + } + { + int dataSize = 0; + for (int i = 0; i < halfVal_.size(); i++) { + dataSize += org.nd4j.shade.protobuf.CodedOutputStream + .computeInt32SizeNoTag(halfVal_.getInt(i)); + } + size += dataSize; + if (!getHalfValList().isEmpty()) { + size += 1; + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeInt32SizeNoTag(dataSize); + } + halfValMemoizedSerializedSize = dataSize; + } + { + int dataSize = 0; + dataSize = 1 * getBoolValList().size(); + size += dataSize; + if (!getBoolValList().isEmpty()) { + size += 2; + size += org.nd4j.shade.protobuf.CodedOutputStream + .computeInt32SizeNoTag(dataSize); + } + boolValMemoizedSerializedSize = dataSize; + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.nd4j.ir.TensorNamespace.TensorProto)) { + return super.equals(obj); + } + org.nd4j.ir.TensorNamespace.TensorProto other = (org.nd4j.ir.TensorNamespace.TensorProto) obj; + + if (!getDimsList() + .equals(other.getDimsList())) return false; + if (getDataType() + != other.getDataType()) return false; + if (hasSegment() != other.hasSegment()) return false; + if (hasSegment()) { + if (!getSegment() + .equals(other.getSegment())) return false; + } + if (!getFloatDataList() + .equals(other.getFloatDataList())) return false; + if (!getInt32DataList() + .equals(other.getInt32DataList())) return false; + if (!getStringDataList() + .equals(other.getStringDataList())) return false; + if (!getInt64DataList() + .equals(other.getInt64DataList())) return false; + if (!getName() + .equals(other.getName())) return false; + if (!getDocString() + .equals(other.getDocString())) return false; + if (!getRawData() + .equals(other.getRawData())) return false; + if (!getExternalDataList() + .equals(other.getExternalDataList())) return false; + if (dataLocation_ != other.dataLocation_) return false; + if (!getDoubleDataList() + .equals(other.getDoubleDataList())) return false; + if (!getUint64DataList() + .equals(other.getUint64DataList())) return false; + if (!getHalfValList() + .equals(other.getHalfValList())) return false; + if (!getBoolValList() + .equals(other.getBoolValList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getDimsCount() > 0) { + hash = (37 * hash) + DIMS_FIELD_NUMBER; + hash = (53 * hash) + getDimsList().hashCode(); + } + hash = (37 * hash) + DATA_TYPE_FIELD_NUMBER; + hash = (53 * hash) + getDataType(); + if (hasSegment()) { + hash = (37 * hash) + SEGMENT_FIELD_NUMBER; + hash = (53 * hash) + getSegment().hashCode(); + } + if (getFloatDataCount() > 0) { + hash = (37 * hash) + FLOAT_DATA_FIELD_NUMBER; + hash = (53 * hash) + getFloatDataList().hashCode(); + } + if (getInt32DataCount() > 0) { + hash = (37 * hash) + INT32_DATA_FIELD_NUMBER; + hash = (53 * hash) + getInt32DataList().hashCode(); + } + if (getStringDataCount() > 0) { + hash = (37 * hash) + STRING_DATA_FIELD_NUMBER; + hash = (53 * hash) + getStringDataList().hashCode(); + } + if (getInt64DataCount() > 0) { + hash = (37 * hash) + INT64_DATA_FIELD_NUMBER; + hash = (53 * hash) + getInt64DataList().hashCode(); + } + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + DOC_STRING_FIELD_NUMBER; + hash = (53 * hash) + getDocString().hashCode(); + hash = (37 * hash) + RAW_DATA_FIELD_NUMBER; + hash = (53 * hash) + getRawData().hashCode(); + if (getExternalDataCount() > 0) { + hash = (37 * hash) + EXTERNAL_DATA_FIELD_NUMBER; + hash = (53 * hash) + getExternalDataList().hashCode(); + } + hash = (37 * hash) + DATA_LOCATION_FIELD_NUMBER; + hash = (53 * hash) + dataLocation_; + if (getDoubleDataCount() > 0) { + hash = (37 * hash) + DOUBLE_DATA_FIELD_NUMBER; + hash = (53 * hash) + getDoubleDataList().hashCode(); + } + if (getUint64DataCount() > 0) { + hash = (37 * hash) + UINT64_DATA_FIELD_NUMBER; + hash = (53 * hash) + getUint64DataList().hashCode(); + } + if (getHalfValCount() > 0) { + hash = (37 * hash) + HALF_VAL_FIELD_NUMBER; + hash = (53 * hash) + getHalfValList().hashCode(); + } + if (getBoolValCount() > 0) { + hash = (37 * hash) + BOOL_VAL_FIELD_NUMBER; + hash = (53 * hash) + getBoolValList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.nd4j.ir.TensorNamespace.TensorProto parseFrom( + java.nio.ByteBuffer data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.TensorNamespace.TensorProto parseFrom( + java.nio.ByteBuffer data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TensorProto parseFrom( + org.nd4j.shade.protobuf.ByteString data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.TensorNamespace.TensorProto parseFrom( + org.nd4j.shade.protobuf.ByteString data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TensorProto parseFrom(byte[] data) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.nd4j.ir.TensorNamespace.TensorProto parseFrom( + byte[] data, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TensorProto parseFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.TensorNamespace.TensorProto parseFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TensorProto parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static org.nd4j.ir.TensorNamespace.TensorProto parseDelimitedFrom( + java.io.InputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.nd4j.ir.TensorNamespace.TensorProto parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static org.nd4j.ir.TensorNamespace.TensorProto parseFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return org.nd4j.shade.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.nd4j.ir.TensorNamespace.TensorProto prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
        +     * Tensors
        +     * A serialized tensor value.
        +     * 
        + * + * Protobuf type {@code org.nd4j.ir.TensorProto} + */ + public static final class Builder extends + org.nd4j.shade.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:org.nd4j.ir.TensorProto) + org.nd4j.ir.TensorNamespace.TensorProtoOrBuilder { + public static final org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TensorProto_descriptor; + } + + @java.lang.Override + protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TensorProto_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.nd4j.ir.TensorNamespace.TensorProto.class, org.nd4j.ir.TensorNamespace.TensorProto.Builder.class); + } + + // Construct using org.nd4j.ir.TensorNamespace.TensorProto.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (org.nd4j.shade.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getExternalDataFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + dims_ = emptyLongList(); + bitField0_ = (bitField0_ & ~0x00000001); + dataType_ = 0; + + if (segmentBuilder_ == null) { + segment_ = null; + } else { + segment_ = null; + segmentBuilder_ = null; + } + floatData_ = emptyFloatList(); + bitField0_ = (bitField0_ & ~0x00000002); + int32Data_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000004); + stringData_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000008); + int64Data_ = emptyLongList(); + bitField0_ = (bitField0_ & ~0x00000010); + name_ = ""; + + docString_ = ""; + + rawData_ = org.nd4j.shade.protobuf.ByteString.EMPTY; + + if (externalDataBuilder_ == null) { + externalData_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000020); + } else { + externalDataBuilder_.clear(); + } + dataLocation_ = 0; + + doubleData_ = emptyDoubleList(); + bitField0_ = (bitField0_ & ~0x00000040); + uint64Data_ = emptyLongList(); + bitField0_ = (bitField0_ & ~0x00000080); + halfVal_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000100); + boolVal_ = emptyBooleanList(); + bitField0_ = (bitField0_ & ~0x00000200); + return this; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.nd4j.ir.TensorNamespace.internal_static_org_nd4j_ir_TensorProto_descriptor; + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.TensorProto getDefaultInstanceForType() { + return org.nd4j.ir.TensorNamespace.TensorProto.getDefaultInstance(); + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.TensorProto build() { + org.nd4j.ir.TensorNamespace.TensorProto result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.TensorProto buildPartial() { + org.nd4j.ir.TensorNamespace.TensorProto result = new org.nd4j.ir.TensorNamespace.TensorProto(this); + int from_bitField0_ = bitField0_; + if (((bitField0_ & 0x00000001) != 0)) { + dims_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.dims_ = dims_; + result.dataType_ = dataType_; + if (segmentBuilder_ == null) { + result.segment_ = segment_; + } else { + result.segment_ = segmentBuilder_.build(); + } + if (((bitField0_ & 0x00000002) != 0)) { + floatData_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.floatData_ = floatData_; + if (((bitField0_ & 0x00000004) != 0)) { + int32Data_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.int32Data_ = int32Data_; + if (((bitField0_ & 0x00000008) != 0)) { + stringData_ = java.util.Collections.unmodifiableList(stringData_); + bitField0_ = (bitField0_ & ~0x00000008); + } + result.stringData_ = stringData_; + if (((bitField0_ & 0x00000010) != 0)) { + int64Data_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000010); + } + result.int64Data_ = int64Data_; + result.name_ = name_; + result.docString_ = docString_; + result.rawData_ = rawData_; + if (externalDataBuilder_ == null) { + if (((bitField0_ & 0x00000020) != 0)) { + externalData_ = java.util.Collections.unmodifiableList(externalData_); + bitField0_ = (bitField0_ & ~0x00000020); + } + result.externalData_ = externalData_; + } else { + result.externalData_ = externalDataBuilder_.build(); + } + result.dataLocation_ = dataLocation_; + if (((bitField0_ & 0x00000040) != 0)) { + doubleData_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000040); + } + result.doubleData_ = doubleData_; + if (((bitField0_ & 0x00000080) != 0)) { + uint64Data_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000080); + } + result.uint64Data_ = uint64Data_; + if (((bitField0_ & 0x00000100) != 0)) { + halfVal_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000100); + } + result.halfVal_ = halfVal_; + if (((bitField0_ & 0x00000200) != 0)) { + boolVal_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000200); + } + result.boolVal_ = boolVal_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + org.nd4j.shade.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + org.nd4j.shade.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(org.nd4j.shade.protobuf.Message other) { + if (other instanceof org.nd4j.ir.TensorNamespace.TensorProto) { + return mergeFrom((org.nd4j.ir.TensorNamespace.TensorProto)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.nd4j.ir.TensorNamespace.TensorProto other) { + if (other == org.nd4j.ir.TensorNamespace.TensorProto.getDefaultInstance()) return this; + if (!other.dims_.isEmpty()) { + if (dims_.isEmpty()) { + dims_ = other.dims_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureDimsIsMutable(); + dims_.addAll(other.dims_); + } + onChanged(); + } + if (other.getDataType() != 0) { + setDataType(other.getDataType()); + } + if (other.hasSegment()) { + mergeSegment(other.getSegment()); + } + if (!other.floatData_.isEmpty()) { + if (floatData_.isEmpty()) { + floatData_ = other.floatData_; + bitField0_ = (bitField0_ & ~0x00000002); + } else { + ensureFloatDataIsMutable(); + floatData_.addAll(other.floatData_); + } + onChanged(); + } + if (!other.int32Data_.isEmpty()) { + if (int32Data_.isEmpty()) { + int32Data_ = other.int32Data_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureInt32DataIsMutable(); + int32Data_.addAll(other.int32Data_); + } + onChanged(); + } + if (!other.stringData_.isEmpty()) { + if (stringData_.isEmpty()) { + stringData_ = other.stringData_; + bitField0_ = (bitField0_ & ~0x00000008); + } else { + ensureStringDataIsMutable(); + stringData_.addAll(other.stringData_); + } + onChanged(); + } + if (!other.int64Data_.isEmpty()) { + if (int64Data_.isEmpty()) { + int64Data_ = other.int64Data_; + bitField0_ = (bitField0_ & ~0x00000010); + } else { + ensureInt64DataIsMutable(); + int64Data_.addAll(other.int64Data_); + } + onChanged(); + } + if (!other.getName().isEmpty()) { + name_ = other.name_; + onChanged(); + } + if (!other.getDocString().isEmpty()) { + docString_ = other.docString_; + onChanged(); + } + if (other.getRawData() != org.nd4j.shade.protobuf.ByteString.EMPTY) { + setRawData(other.getRawData()); + } + if (externalDataBuilder_ == null) { + if (!other.externalData_.isEmpty()) { + if (externalData_.isEmpty()) { + externalData_ = other.externalData_; + bitField0_ = (bitField0_ & ~0x00000020); + } else { + ensureExternalDataIsMutable(); + externalData_.addAll(other.externalData_); + } + onChanged(); + } + } else { + if (!other.externalData_.isEmpty()) { + if (externalDataBuilder_.isEmpty()) { + externalDataBuilder_.dispose(); + externalDataBuilder_ = null; + externalData_ = other.externalData_; + bitField0_ = (bitField0_ & ~0x00000020); + externalDataBuilder_ = + org.nd4j.shade.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getExternalDataFieldBuilder() : null; + } else { + externalDataBuilder_.addAllMessages(other.externalData_); + } + } + } + if (other.dataLocation_ != 0) { + setDataLocationValue(other.getDataLocationValue()); + } + if (!other.doubleData_.isEmpty()) { + if (doubleData_.isEmpty()) { + doubleData_ = other.doubleData_; + bitField0_ = (bitField0_ & ~0x00000040); + } else { + ensureDoubleDataIsMutable(); + doubleData_.addAll(other.doubleData_); + } + onChanged(); + } + if (!other.uint64Data_.isEmpty()) { + if (uint64Data_.isEmpty()) { + uint64Data_ = other.uint64Data_; + bitField0_ = (bitField0_ & ~0x00000080); + } else { + ensureUint64DataIsMutable(); + uint64Data_.addAll(other.uint64Data_); + } + onChanged(); + } + if (!other.halfVal_.isEmpty()) { + if (halfVal_.isEmpty()) { + halfVal_ = other.halfVal_; + bitField0_ = (bitField0_ & ~0x00000100); + } else { + ensureHalfValIsMutable(); + halfVal_.addAll(other.halfVal_); + } + onChanged(); + } + if (!other.boolVal_.isEmpty()) { + if (boolVal_.isEmpty()) { + boolVal_ = other.boolVal_; + bitField0_ = (bitField0_ & ~0x00000200); + } else { + ensureBoolValIsMutable(); + boolVal_.addAll(other.boolVal_); + } + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.nd4j.ir.TensorNamespace.TensorProto parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (org.nd4j.shade.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.nd4j.ir.TensorNamespace.TensorProto) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private org.nd4j.shade.protobuf.Internal.LongList dims_ = emptyLongList(); + private void ensureDimsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + dims_ = mutableCopy(dims_); + bitField0_ |= 0x00000001; + } + } + /** + *
        +       * The shape of the tensor.
        +       * 
        + * + * repeated int64 dims = 1; + */ + public java.util.List + getDimsList() { + return ((bitField0_ & 0x00000001) != 0) ? + java.util.Collections.unmodifiableList(dims_) : dims_; + } + /** + *
        +       * The shape of the tensor.
        +       * 
        + * + * repeated int64 dims = 1; + */ + public int getDimsCount() { + return dims_.size(); + } + /** + *
        +       * The shape of the tensor.
        +       * 
        + * + * repeated int64 dims = 1; + */ + public long getDims(int index) { + return dims_.getLong(index); + } + /** + *
        +       * The shape of the tensor.
        +       * 
        + * + * repeated int64 dims = 1; + */ + public Builder setDims( + int index, long value) { + ensureDimsIsMutable(); + dims_.setLong(index, value); + onChanged(); + return this; + } + /** + *
        +       * The shape of the tensor.
        +       * 
        + * + * repeated int64 dims = 1; + */ + public Builder addDims(long value) { + ensureDimsIsMutable(); + dims_.addLong(value); + onChanged(); + return this; + } + /** + *
        +       * The shape of the tensor.
        +       * 
        + * + * repeated int64 dims = 1; + */ + public Builder addAllDims( + java.lang.Iterable values) { + ensureDimsIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, dims_); + onChanged(); + return this; + } + /** + *
        +       * The shape of the tensor.
        +       * 
        + * + * repeated int64 dims = 1; + */ + public Builder clearDims() { + dims_ = emptyLongList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + private int dataType_ ; + /** + *
        +       * The data type of the tensor.
        +       * This field MUST have a valid TensorProto.DataType value
        +       * 
        + * + * int32 data_type = 2; + */ + public int getDataType() { + return dataType_; + } + /** + *
        +       * The data type of the tensor.
        +       * This field MUST have a valid TensorProto.DataType value
        +       * 
        + * + * int32 data_type = 2; + */ + public Builder setDataType(int value) { + + dataType_ = value; + onChanged(); + return this; + } + /** + *
        +       * The data type of the tensor.
        +       * This field MUST have a valid TensorProto.DataType value
        +       * 
        + * + * int32 data_type = 2; + */ + public Builder clearDataType() { + + dataType_ = 0; + onChanged(); + return this; + } + + private org.nd4j.ir.TensorNamespace.TensorProto.Segment segment_; + private org.nd4j.shade.protobuf.SingleFieldBuilderV3< + org.nd4j.ir.TensorNamespace.TensorProto.Segment, org.nd4j.ir.TensorNamespace.TensorProto.Segment.Builder, org.nd4j.ir.TensorNamespace.TensorProto.SegmentOrBuilder> segmentBuilder_; + /** + * .org.nd4j.ir.TensorProto.Segment segment = 3; + */ + public boolean hasSegment() { + return segmentBuilder_ != null || segment_ != null; + } + /** + * .org.nd4j.ir.TensorProto.Segment segment = 3; + */ + public org.nd4j.ir.TensorNamespace.TensorProto.Segment getSegment() { + if (segmentBuilder_ == null) { + return segment_ == null ? org.nd4j.ir.TensorNamespace.TensorProto.Segment.getDefaultInstance() : segment_; + } else { + return segmentBuilder_.getMessage(); + } + } + /** + * .org.nd4j.ir.TensorProto.Segment segment = 3; + */ + public Builder setSegment(org.nd4j.ir.TensorNamespace.TensorProto.Segment value) { + if (segmentBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + segment_ = value; + onChanged(); + } else { + segmentBuilder_.setMessage(value); + } + + return this; + } + /** + * .org.nd4j.ir.TensorProto.Segment segment = 3; + */ + public Builder setSegment( + org.nd4j.ir.TensorNamespace.TensorProto.Segment.Builder builderForValue) { + if (segmentBuilder_ == null) { + segment_ = builderForValue.build(); + onChanged(); + } else { + segmentBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .org.nd4j.ir.TensorProto.Segment segment = 3; + */ + public Builder mergeSegment(org.nd4j.ir.TensorNamespace.TensorProto.Segment value) { + if (segmentBuilder_ == null) { + if (segment_ != null) { + segment_ = + org.nd4j.ir.TensorNamespace.TensorProto.Segment.newBuilder(segment_).mergeFrom(value).buildPartial(); + } else { + segment_ = value; + } + onChanged(); + } else { + segmentBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .org.nd4j.ir.TensorProto.Segment segment = 3; + */ + public Builder clearSegment() { + if (segmentBuilder_ == null) { + segment_ = null; + onChanged(); + } else { + segment_ = null; + segmentBuilder_ = null; + } + + return this; + } + /** + * .org.nd4j.ir.TensorProto.Segment segment = 3; + */ + public org.nd4j.ir.TensorNamespace.TensorProto.Segment.Builder getSegmentBuilder() { + + onChanged(); + return getSegmentFieldBuilder().getBuilder(); + } + /** + * .org.nd4j.ir.TensorProto.Segment segment = 3; + */ + public org.nd4j.ir.TensorNamespace.TensorProto.SegmentOrBuilder getSegmentOrBuilder() { + if (segmentBuilder_ != null) { + return segmentBuilder_.getMessageOrBuilder(); + } else { + return segment_ == null ? + org.nd4j.ir.TensorNamespace.TensorProto.Segment.getDefaultInstance() : segment_; + } + } + /** + * .org.nd4j.ir.TensorProto.Segment segment = 3; + */ + private org.nd4j.shade.protobuf.SingleFieldBuilderV3< + org.nd4j.ir.TensorNamespace.TensorProto.Segment, org.nd4j.ir.TensorNamespace.TensorProto.Segment.Builder, org.nd4j.ir.TensorNamespace.TensorProto.SegmentOrBuilder> + getSegmentFieldBuilder() { + if (segmentBuilder_ == null) { + segmentBuilder_ = new org.nd4j.shade.protobuf.SingleFieldBuilderV3< + org.nd4j.ir.TensorNamespace.TensorProto.Segment, org.nd4j.ir.TensorNamespace.TensorProto.Segment.Builder, org.nd4j.ir.TensorNamespace.TensorProto.SegmentOrBuilder>( + getSegment(), + getParentForChildren(), + isClean()); + segment_ = null; + } + return segmentBuilder_; + } + + private org.nd4j.shade.protobuf.Internal.FloatList floatData_ = emptyFloatList(); + private void ensureFloatDataIsMutable() { + if (!((bitField0_ & 0x00000002) != 0)) { + floatData_ = mutableCopy(floatData_); + bitField0_ |= 0x00000002; + } + } + /** + *
        +       * For float and complex64 values
        +       * Complex64 tensors are encoded as a single array of floats,
        +       * with the real components appearing in odd numbered positions,
        +       * and the corresponding imaginary component appearing in the
        +       * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +       * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +       * When this field is present, the data_type field MUST be FLOAT or COMPLEX64.
        +       * 
        + * + * repeated float float_data = 4 [packed = true]; + */ + public java.util.List + getFloatDataList() { + return ((bitField0_ & 0x00000002) != 0) ? + java.util.Collections.unmodifiableList(floatData_) : floatData_; + } + /** + *
        +       * For float and complex64 values
        +       * Complex64 tensors are encoded as a single array of floats,
        +       * with the real components appearing in odd numbered positions,
        +       * and the corresponding imaginary component appearing in the
        +       * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +       * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +       * When this field is present, the data_type field MUST be FLOAT or COMPLEX64.
        +       * 
        + * + * repeated float float_data = 4 [packed = true]; + */ + public int getFloatDataCount() { + return floatData_.size(); + } + /** + *
        +       * For float and complex64 values
        +       * Complex64 tensors are encoded as a single array of floats,
        +       * with the real components appearing in odd numbered positions,
        +       * and the corresponding imaginary component appearing in the
        +       * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +       * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +       * When this field is present, the data_type field MUST be FLOAT or COMPLEX64.
        +       * 
        + * + * repeated float float_data = 4 [packed = true]; + */ + public float getFloatData(int index) { + return floatData_.getFloat(index); + } + /** + *
        +       * For float and complex64 values
        +       * Complex64 tensors are encoded as a single array of floats,
        +       * with the real components appearing in odd numbered positions,
        +       * and the corresponding imaginary component appearing in the
        +       * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +       * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +       * When this field is present, the data_type field MUST be FLOAT or COMPLEX64.
        +       * 
        + * + * repeated float float_data = 4 [packed = true]; + */ + public Builder setFloatData( + int index, float value) { + ensureFloatDataIsMutable(); + floatData_.setFloat(index, value); + onChanged(); + return this; + } + /** + *
        +       * For float and complex64 values
        +       * Complex64 tensors are encoded as a single array of floats,
        +       * with the real components appearing in odd numbered positions,
        +       * and the corresponding imaginary component appearing in the
        +       * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +       * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +       * When this field is present, the data_type field MUST be FLOAT or COMPLEX64.
        +       * 
        + * + * repeated float float_data = 4 [packed = true]; + */ + public Builder addFloatData(float value) { + ensureFloatDataIsMutable(); + floatData_.addFloat(value); + onChanged(); + return this; + } + /** + *
        +       * For float and complex64 values
        +       * Complex64 tensors are encoded as a single array of floats,
        +       * with the real components appearing in odd numbered positions,
        +       * and the corresponding imaginary component appearing in the
        +       * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +       * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +       * When this field is present, the data_type field MUST be FLOAT or COMPLEX64.
        +       * 
        + * + * repeated float float_data = 4 [packed = true]; + */ + public Builder addAllFloatData( + java.lang.Iterable values) { + ensureFloatDataIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, floatData_); + onChanged(); + return this; + } + /** + *
        +       * For float and complex64 values
        +       * Complex64 tensors are encoded as a single array of floats,
        +       * with the real components appearing in odd numbered positions,
        +       * and the corresponding imaginary component appearing in the
        +       * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +       * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +       * When this field is present, the data_type field MUST be FLOAT or COMPLEX64.
        +       * 
        + * + * repeated float float_data = 4 [packed = true]; + */ + public Builder clearFloatData() { + floatData_ = emptyFloatList(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + private org.nd4j.shade.protobuf.Internal.IntList int32Data_ = emptyIntList(); + private void ensureInt32DataIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + int32Data_ = mutableCopy(int32Data_); + bitField0_ |= 0x00000004; + } + } + /** + *
        +       * For int32, uint8, int8, uint16, int16, bool, and float16 values
        +       * float16 values must be bit-wise converted to an uint16_t prior
        +       * to writing to the buffer.
        +       * When this field is present, the data_type field MUST be
        +       * INT32, INT16, INT8, UINT16, UINT8, BOOL, or FLOAT16
        +       * 
        + * + * repeated int32 int32_data = 5 [packed = true]; + */ + public java.util.List + getInt32DataList() { + return ((bitField0_ & 0x00000004) != 0) ? + java.util.Collections.unmodifiableList(int32Data_) : int32Data_; + } + /** + *
        +       * For int32, uint8, int8, uint16, int16, bool, and float16 values
        +       * float16 values must be bit-wise converted to an uint16_t prior
        +       * to writing to the buffer.
        +       * When this field is present, the data_type field MUST be
        +       * INT32, INT16, INT8, UINT16, UINT8, BOOL, or FLOAT16
        +       * 
        + * + * repeated int32 int32_data = 5 [packed = true]; + */ + public int getInt32DataCount() { + return int32Data_.size(); + } + /** + *
        +       * For int32, uint8, int8, uint16, int16, bool, and float16 values
        +       * float16 values must be bit-wise converted to an uint16_t prior
        +       * to writing to the buffer.
        +       * When this field is present, the data_type field MUST be
        +       * INT32, INT16, INT8, UINT16, UINT8, BOOL, or FLOAT16
        +       * 
        + * + * repeated int32 int32_data = 5 [packed = true]; + */ + public int getInt32Data(int index) { + return int32Data_.getInt(index); + } + /** + *
        +       * For int32, uint8, int8, uint16, int16, bool, and float16 values
        +       * float16 values must be bit-wise converted to an uint16_t prior
        +       * to writing to the buffer.
        +       * When this field is present, the data_type field MUST be
        +       * INT32, INT16, INT8, UINT16, UINT8, BOOL, or FLOAT16
        +       * 
        + * + * repeated int32 int32_data = 5 [packed = true]; + */ + public Builder setInt32Data( + int index, int value) { + ensureInt32DataIsMutable(); + int32Data_.setInt(index, value); + onChanged(); + return this; + } + /** + *
        +       * For int32, uint8, int8, uint16, int16, bool, and float16 values
        +       * float16 values must be bit-wise converted to an uint16_t prior
        +       * to writing to the buffer.
        +       * When this field is present, the data_type field MUST be
        +       * INT32, INT16, INT8, UINT16, UINT8, BOOL, or FLOAT16
        +       * 
        + * + * repeated int32 int32_data = 5 [packed = true]; + */ + public Builder addInt32Data(int value) { + ensureInt32DataIsMutable(); + int32Data_.addInt(value); + onChanged(); + return this; + } + /** + *
        +       * For int32, uint8, int8, uint16, int16, bool, and float16 values
        +       * float16 values must be bit-wise converted to an uint16_t prior
        +       * to writing to the buffer.
        +       * When this field is present, the data_type field MUST be
        +       * INT32, INT16, INT8, UINT16, UINT8, BOOL, or FLOAT16
        +       * 
        + * + * repeated int32 int32_data = 5 [packed = true]; + */ + public Builder addAllInt32Data( + java.lang.Iterable values) { + ensureInt32DataIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, int32Data_); + onChanged(); + return this; + } + /** + *
        +       * For int32, uint8, int8, uint16, int16, bool, and float16 values
        +       * float16 values must be bit-wise converted to an uint16_t prior
        +       * to writing to the buffer.
        +       * When this field is present, the data_type field MUST be
        +       * INT32, INT16, INT8, UINT16, UINT8, BOOL, or FLOAT16
        +       * 
        + * + * repeated int32 int32_data = 5 [packed = true]; + */ + public Builder clearInt32Data() { + int32Data_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + private java.util.List stringData_ = java.util.Collections.emptyList(); + private void ensureStringDataIsMutable() { + if (!((bitField0_ & 0x00000008) != 0)) { + stringData_ = new java.util.ArrayList(stringData_); + bitField0_ |= 0x00000008; + } + } + /** + *
        +       * For strings.
        +       * Each element of string_data is a UTF-8 encoded Unicode
        +       * string. No trailing null, no leading BOM. The protobuf "string"
        +       * scalar type is not used to match ML community conventions.
        +       * When this field is present, the data_type field MUST be STRING
        +       * 
        + * + * repeated bytes string_data = 6; + */ + public java.util.List + getStringDataList() { + return ((bitField0_ & 0x00000008) != 0) ? + java.util.Collections.unmodifiableList(stringData_) : stringData_; + } + /** + *
        +       * For strings.
        +       * Each element of string_data is a UTF-8 encoded Unicode
        +       * string. No trailing null, no leading BOM. The protobuf "string"
        +       * scalar type is not used to match ML community conventions.
        +       * When this field is present, the data_type field MUST be STRING
        +       * 
        + * + * repeated bytes string_data = 6; + */ + public int getStringDataCount() { + return stringData_.size(); + } + /** + *
        +       * For strings.
        +       * Each element of string_data is a UTF-8 encoded Unicode
        +       * string. No trailing null, no leading BOM. The protobuf "string"
        +       * scalar type is not used to match ML community conventions.
        +       * When this field is present, the data_type field MUST be STRING
        +       * 
        + * + * repeated bytes string_data = 6; + */ + public org.nd4j.shade.protobuf.ByteString getStringData(int index) { + return stringData_.get(index); + } + /** + *
        +       * For strings.
        +       * Each element of string_data is a UTF-8 encoded Unicode
        +       * string. No trailing null, no leading BOM. The protobuf "string"
        +       * scalar type is not used to match ML community conventions.
        +       * When this field is present, the data_type field MUST be STRING
        +       * 
        + * + * repeated bytes string_data = 6; + */ + public Builder setStringData( + int index, org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + ensureStringDataIsMutable(); + stringData_.set(index, value); + onChanged(); + return this; + } + /** + *
        +       * For strings.
        +       * Each element of string_data is a UTF-8 encoded Unicode
        +       * string. No trailing null, no leading BOM. The protobuf "string"
        +       * scalar type is not used to match ML community conventions.
        +       * When this field is present, the data_type field MUST be STRING
        +       * 
        + * + * repeated bytes string_data = 6; + */ + public Builder addStringData(org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + ensureStringDataIsMutable(); + stringData_.add(value); + onChanged(); + return this; + } + /** + *
        +       * For strings.
        +       * Each element of string_data is a UTF-8 encoded Unicode
        +       * string. No trailing null, no leading BOM. The protobuf "string"
        +       * scalar type is not used to match ML community conventions.
        +       * When this field is present, the data_type field MUST be STRING
        +       * 
        + * + * repeated bytes string_data = 6; + */ + public Builder addAllStringData( + java.lang.Iterable values) { + ensureStringDataIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, stringData_); + onChanged(); + return this; + } + /** + *
        +       * For strings.
        +       * Each element of string_data is a UTF-8 encoded Unicode
        +       * string. No trailing null, no leading BOM. The protobuf "string"
        +       * scalar type is not used to match ML community conventions.
        +       * When this field is present, the data_type field MUST be STRING
        +       * 
        + * + * repeated bytes string_data = 6; + */ + public Builder clearStringData() { + stringData_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + private org.nd4j.shade.protobuf.Internal.LongList int64Data_ = emptyLongList(); + private void ensureInt64DataIsMutable() { + if (!((bitField0_ & 0x00000010) != 0)) { + int64Data_ = mutableCopy(int64Data_); + bitField0_ |= 0x00000010; + } + } + /** + *
        +       * For int64.
        +       * When this field is present, the data_type field MUST be INT64
        +       * 
        + * + * repeated int64 int64_data = 7 [packed = true]; + */ + public java.util.List + getInt64DataList() { + return ((bitField0_ & 0x00000010) != 0) ? + java.util.Collections.unmodifiableList(int64Data_) : int64Data_; + } + /** + *
        +       * For int64.
        +       * When this field is present, the data_type field MUST be INT64
        +       * 
        + * + * repeated int64 int64_data = 7 [packed = true]; + */ + public int getInt64DataCount() { + return int64Data_.size(); + } + /** + *
        +       * For int64.
        +       * When this field is present, the data_type field MUST be INT64
        +       * 
        + * + * repeated int64 int64_data = 7 [packed = true]; + */ + public long getInt64Data(int index) { + return int64Data_.getLong(index); + } + /** + *
        +       * For int64.
        +       * When this field is present, the data_type field MUST be INT64
        +       * 
        + * + * repeated int64 int64_data = 7 [packed = true]; + */ + public Builder setInt64Data( + int index, long value) { + ensureInt64DataIsMutable(); + int64Data_.setLong(index, value); + onChanged(); + return this; + } + /** + *
        +       * For int64.
        +       * When this field is present, the data_type field MUST be INT64
        +       * 
        + * + * repeated int64 int64_data = 7 [packed = true]; + */ + public Builder addInt64Data(long value) { + ensureInt64DataIsMutable(); + int64Data_.addLong(value); + onChanged(); + return this; + } + /** + *
        +       * For int64.
        +       * When this field is present, the data_type field MUST be INT64
        +       * 
        + * + * repeated int64 int64_data = 7 [packed = true]; + */ + public Builder addAllInt64Data( + java.lang.Iterable values) { + ensureInt64DataIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, int64Data_); + onChanged(); + return this; + } + /** + *
        +       * For int64.
        +       * When this field is present, the data_type field MUST be INT64
        +       * 
        + * + * repeated int64 int64_data = 7 [packed = true]; + */ + public Builder clearInt64Data() { + int64Data_ = emptyLongList(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + + private java.lang.Object name_ = ""; + /** + *
        +       * Optionally, a name for the tensor.
        +       * 
        + * + * string name = 8; + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
        +       * Optionally, a name for the tensor.
        +       * 
        + * + * string name = 8; + */ + public org.nd4j.shade.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + /** + *
        +       * Optionally, a name for the tensor.
        +       * 
        + * + * string name = 8; + */ + public Builder setName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + name_ = value; + onChanged(); + return this; + } + /** + *
        +       * Optionally, a name for the tensor.
        +       * 
        + * + * string name = 8; + */ + public Builder clearName() { + + name_ = getDefaultInstance().getName(); + onChanged(); + return this; + } + /** + *
        +       * Optionally, a name for the tensor.
        +       * 
        + * + * string name = 8; + */ + public Builder setNameBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + name_ = value; + onChanged(); + return this; + } + + private java.lang.Object docString_ = ""; + /** + *
        +       * A human-readable documentation for this tensor. Markdown is allowed.
        +       * 
        + * + * string doc_string = 12; + */ + public java.lang.String getDocString() { + java.lang.Object ref = docString_; + if (!(ref instanceof java.lang.String)) { + org.nd4j.shade.protobuf.ByteString bs = + (org.nd4j.shade.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + docString_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
        +       * A human-readable documentation for this tensor. Markdown is allowed.
        +       * 
        + * + * string doc_string = 12; + */ + public org.nd4j.shade.protobuf.ByteString + getDocStringBytes() { + java.lang.Object ref = docString_; + if (ref instanceof String) { + org.nd4j.shade.protobuf.ByteString b = + org.nd4j.shade.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + docString_ = b; + return b; + } else { + return (org.nd4j.shade.protobuf.ByteString) ref; + } + } + /** + *
        +       * A human-readable documentation for this tensor. Markdown is allowed.
        +       * 
        + * + * string doc_string = 12; + */ + public Builder setDocString( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + docString_ = value; + onChanged(); + return this; + } + /** + *
        +       * A human-readable documentation for this tensor. Markdown is allowed.
        +       * 
        + * + * string doc_string = 12; + */ + public Builder clearDocString() { + + docString_ = getDefaultInstance().getDocString(); + onChanged(); + return this; + } + /** + *
        +       * A human-readable documentation for this tensor. Markdown is allowed.
        +       * 
        + * + * string doc_string = 12; + */ + public Builder setDocStringBytes( + org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + docString_ = value; + onChanged(); + return this; + } + + private org.nd4j.shade.protobuf.ByteString rawData_ = org.nd4j.shade.protobuf.ByteString.EMPTY; + /** + *
        +       * Serializations can either use one of the fields above, or use this
        +       * raw bytes field. The only exception is the string case, where one is
        +       * required to store the content in the repeated bytes string_data field.
        +       * When this raw_data field is used to store tensor value, elements MUST
        +       * be stored in as fixed-width, little-endian order.
        +       * Floating-point data types MUST be stored in IEEE 754 format.
        +       * Complex64 elements must be written as two consecutive FLOAT values, real component first.
        +       * Complex128 elements must be written as two consecutive DOUBLE values, real component first.
        +       * Boolean type MUST be written one byte per tensor element (00000001 for true, 00000000 for false).
        +       * Note: the advantage of specific field rather than the raw_data field is
        +       * that in some cases (e.g. int data), protobuf does a better packing via
        +       * variable length storage, and may lead to smaller binary footprint.
        +       * When this field is present, the data_type field MUST NOT be STRING or UNDEFINED
        +       * 
        + * + * bytes raw_data = 9; + */ + public org.nd4j.shade.protobuf.ByteString getRawData() { + return rawData_; + } + /** + *
        +       * Serializations can either use one of the fields above, or use this
        +       * raw bytes field. The only exception is the string case, where one is
        +       * required to store the content in the repeated bytes string_data field.
        +       * When this raw_data field is used to store tensor value, elements MUST
        +       * be stored in as fixed-width, little-endian order.
        +       * Floating-point data types MUST be stored in IEEE 754 format.
        +       * Complex64 elements must be written as two consecutive FLOAT values, real component first.
        +       * Complex128 elements must be written as two consecutive DOUBLE values, real component first.
        +       * Boolean type MUST be written one byte per tensor element (00000001 for true, 00000000 for false).
        +       * Note: the advantage of specific field rather than the raw_data field is
        +       * that in some cases (e.g. int data), protobuf does a better packing via
        +       * variable length storage, and may lead to smaller binary footprint.
        +       * When this field is present, the data_type field MUST NOT be STRING or UNDEFINED
        +       * 
        + * + * bytes raw_data = 9; + */ + public Builder setRawData(org.nd4j.shade.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + + rawData_ = value; + onChanged(); + return this; + } + /** + *
        +       * Serializations can either use one of the fields above, or use this
        +       * raw bytes field. The only exception is the string case, where one is
        +       * required to store the content in the repeated bytes string_data field.
        +       * When this raw_data field is used to store tensor value, elements MUST
        +       * be stored in as fixed-width, little-endian order.
        +       * Floating-point data types MUST be stored in IEEE 754 format.
        +       * Complex64 elements must be written as two consecutive FLOAT values, real component first.
        +       * Complex128 elements must be written as two consecutive DOUBLE values, real component first.
        +       * Boolean type MUST be written one byte per tensor element (00000001 for true, 00000000 for false).
        +       * Note: the advantage of specific field rather than the raw_data field is
        +       * that in some cases (e.g. int data), protobuf does a better packing via
        +       * variable length storage, and may lead to smaller binary footprint.
        +       * When this field is present, the data_type field MUST NOT be STRING or UNDEFINED
        +       * 
        + * + * bytes raw_data = 9; + */ + public Builder clearRawData() { + + rawData_ = getDefaultInstance().getRawData(); + onChanged(); + return this; + } + + private java.util.List externalData_ = + java.util.Collections.emptyList(); + private void ensureExternalDataIsMutable() { + if (!((bitField0_ & 0x00000020) != 0)) { + externalData_ = new java.util.ArrayList(externalData_); + bitField0_ |= 0x00000020; + } + } + + private org.nd4j.shade.protobuf.RepeatedFieldBuilderV3< + org.nd4j.ir.TensorNamespace.StringStringEntryProto, org.nd4j.ir.TensorNamespace.StringStringEntryProto.Builder, org.nd4j.ir.TensorNamespace.StringStringEntryProtoOrBuilder> externalDataBuilder_; + + /** + *
        +       * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +       * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +       * external_data stores key-value pairs describing data location. Recognized keys are:
        +       * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +       *                           protobuf model was stored
        +       * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +       *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +       * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +       * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +       * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + public java.util.List getExternalDataList() { + if (externalDataBuilder_ == null) { + return java.util.Collections.unmodifiableList(externalData_); + } else { + return externalDataBuilder_.getMessageList(); + } + } + /** + *
        +       * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +       * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +       * external_data stores key-value pairs describing data location. Recognized keys are:
        +       * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +       *                           protobuf model was stored
        +       * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +       *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +       * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +       * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +       * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + public int getExternalDataCount() { + if (externalDataBuilder_ == null) { + return externalData_.size(); + } else { + return externalDataBuilder_.getCount(); + } + } + /** + *
        +       * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +       * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +       * external_data stores key-value pairs describing data location. Recognized keys are:
        +       * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +       *                           protobuf model was stored
        +       * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +       *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +       * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +       * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +       * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + public org.nd4j.ir.TensorNamespace.StringStringEntryProto getExternalData(int index) { + if (externalDataBuilder_ == null) { + return externalData_.get(index); + } else { + return externalDataBuilder_.getMessage(index); + } + } + /** + *
        +       * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +       * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +       * external_data stores key-value pairs describing data location. Recognized keys are:
        +       * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +       *                           protobuf model was stored
        +       * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +       *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +       * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +       * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +       * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + public Builder setExternalData( + int index, org.nd4j.ir.TensorNamespace.StringStringEntryProto value) { + if (externalDataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureExternalDataIsMutable(); + externalData_.set(index, value); + onChanged(); + } else { + externalDataBuilder_.setMessage(index, value); + } + return this; + } + /** + *
        +       * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +       * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +       * external_data stores key-value pairs describing data location. Recognized keys are:
        +       * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +       *                           protobuf model was stored
        +       * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +       *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +       * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +       * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +       * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + public Builder setExternalData( + int index, org.nd4j.ir.TensorNamespace.StringStringEntryProto.Builder builderForValue) { + if (externalDataBuilder_ == null) { + ensureExternalDataIsMutable(); + externalData_.set(index, builderForValue.build()); + onChanged(); + } else { + externalDataBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
        +       * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +       * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +       * external_data stores key-value pairs describing data location. Recognized keys are:
        +       * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +       *                           protobuf model was stored
        +       * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +       *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +       * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +       * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +       * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + public Builder addExternalData(org.nd4j.ir.TensorNamespace.StringStringEntryProto value) { + if (externalDataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureExternalDataIsMutable(); + externalData_.add(value); + onChanged(); + } else { + externalDataBuilder_.addMessage(value); + } + return this; + } + /** + *
        +       * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +       * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +       * external_data stores key-value pairs describing data location. Recognized keys are:
        +       * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +       *                           protobuf model was stored
        +       * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +       *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +       * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +       * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +       * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + public Builder addExternalData( + int index, org.nd4j.ir.TensorNamespace.StringStringEntryProto value) { + if (externalDataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureExternalDataIsMutable(); + externalData_.add(index, value); + onChanged(); + } else { + externalDataBuilder_.addMessage(index, value); + } + return this; + } + /** + *
        +       * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +       * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +       * external_data stores key-value pairs describing data location. Recognized keys are:
        +       * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +       *                           protobuf model was stored
        +       * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +       *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +       * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +       * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +       * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + public Builder addExternalData( + org.nd4j.ir.TensorNamespace.StringStringEntryProto.Builder builderForValue) { + if (externalDataBuilder_ == null) { + ensureExternalDataIsMutable(); + externalData_.add(builderForValue.build()); + onChanged(); + } else { + externalDataBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
        +       * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +       * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +       * external_data stores key-value pairs describing data location. Recognized keys are:
        +       * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +       *                           protobuf model was stored
        +       * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +       *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +       * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +       * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +       * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + public Builder addExternalData( + int index, org.nd4j.ir.TensorNamespace.StringStringEntryProto.Builder builderForValue) { + if (externalDataBuilder_ == null) { + ensureExternalDataIsMutable(); + externalData_.add(index, builderForValue.build()); + onChanged(); + } else { + externalDataBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
        +       * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +       * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +       * external_data stores key-value pairs describing data location. Recognized keys are:
        +       * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +       *                           protobuf model was stored
        +       * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +       *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +       * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +       * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +       * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + public Builder addAllExternalData( + java.lang.Iterable values) { + if (externalDataBuilder_ == null) { + ensureExternalDataIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, externalData_); + onChanged(); + } else { + externalDataBuilder_.addAllMessages(values); + } + return this; + } + /** + *
        +       * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +       * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +       * external_data stores key-value pairs describing data location. Recognized keys are:
        +       * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +       *                           protobuf model was stored
        +       * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +       *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +       * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +       * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +       * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + public Builder clearExternalData() { + if (externalDataBuilder_ == null) { + externalData_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000020); + onChanged(); + } else { + externalDataBuilder_.clear(); + } + return this; + } + /** + *
        +       * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +       * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +       * external_data stores key-value pairs describing data location. Recognized keys are:
        +       * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +       *                           protobuf model was stored
        +       * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +       *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +       * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +       * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +       * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + public Builder removeExternalData(int index) { + if (externalDataBuilder_ == null) { + ensureExternalDataIsMutable(); + externalData_.remove(index); + onChanged(); + } else { + externalDataBuilder_.remove(index); + } + return this; + } + /** + *
        +       * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +       * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +       * external_data stores key-value pairs describing data location. Recognized keys are:
        +       * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +       *                           protobuf model was stored
        +       * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +       *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +       * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +       * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +       * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + public org.nd4j.ir.TensorNamespace.StringStringEntryProto.Builder getExternalDataBuilder( + int index) { + return getExternalDataFieldBuilder().getBuilder(index); + } + /** + *
        +       * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +       * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +       * external_data stores key-value pairs describing data location. Recognized keys are:
        +       * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +       *                           protobuf model was stored
        +       * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +       *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +       * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +       * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +       * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + public org.nd4j.ir.TensorNamespace.StringStringEntryProtoOrBuilder getExternalDataOrBuilder( + int index) { + if (externalDataBuilder_ == null) { + return externalData_.get(index); } else { + return externalDataBuilder_.getMessageOrBuilder(index); + } + } + /** + *
        +       * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +       * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +       * external_data stores key-value pairs describing data location. Recognized keys are:
        +       * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +       *                           protobuf model was stored
        +       * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +       *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +       * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +       * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +       * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + public java.util.List + getExternalDataOrBuilderList() { + if (externalDataBuilder_ != null) { + return externalDataBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(externalData_); + } + } + /** + *
        +       * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +       * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +       * external_data stores key-value pairs describing data location. Recognized keys are:
        +       * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +       *                           protobuf model was stored
        +       * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +       *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +       * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +       * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +       * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + public org.nd4j.ir.TensorNamespace.StringStringEntryProto.Builder addExternalDataBuilder() { + return getExternalDataFieldBuilder().addBuilder( + org.nd4j.ir.TensorNamespace.StringStringEntryProto.getDefaultInstance()); + } + /** + *
        +       * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +       * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +       * external_data stores key-value pairs describing data location. Recognized keys are:
        +       * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +       *                           protobuf model was stored
        +       * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +       *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +       * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +       * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +       * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + public org.nd4j.ir.TensorNamespace.StringStringEntryProto.Builder addExternalDataBuilder( + int index) { + return getExternalDataFieldBuilder().addBuilder( + index, org.nd4j.ir.TensorNamespace.StringStringEntryProto.getDefaultInstance()); + } + /** + *
        +       * Data can be stored inside the protobuf file using type-specific fields or raw_data.
        +       * Alternatively, raw bytes data can be stored in an external file, using the external_data field.
        +       * external_data stores key-value pairs describing data location. Recognized keys are:
        +       * - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
        +       *                           protobuf model was stored
        +       * - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
        +       *                         Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
        +       * - "length" (optional) - number of bytes containing data. Integer stored as string.
        +       * - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
        +       * 
        + * + * repeated .org.nd4j.ir.StringStringEntryProto external_data = 13; + */ + public java.util.List + getExternalDataBuilderList() { + return getExternalDataFieldBuilder().getBuilderList(); + } + private org.nd4j.shade.protobuf.RepeatedFieldBuilderV3< + org.nd4j.ir.TensorNamespace.StringStringEntryProto, org.nd4j.ir.TensorNamespace.StringStringEntryProto.Builder, org.nd4j.ir.TensorNamespace.StringStringEntryProtoOrBuilder> + getExternalDataFieldBuilder() { + if (externalDataBuilder_ == null) { + externalDataBuilder_ = new org.nd4j.shade.protobuf.RepeatedFieldBuilderV3< + org.nd4j.ir.TensorNamespace.StringStringEntryProto, org.nd4j.ir.TensorNamespace.StringStringEntryProto.Builder, org.nd4j.ir.TensorNamespace.StringStringEntryProtoOrBuilder>( + externalData_, + ((bitField0_ & 0x00000020) != 0), + getParentForChildren(), + isClean()); + externalData_ = null; + } + return externalDataBuilder_; + } + + private int dataLocation_ = 0; + /** + *
        +       * If value not set, data is stored in raw_data (if set) otherwise in type-specified field.
        +       * 
        + * + * .org.nd4j.ir.TensorProto.DataLocation data_location = 14; + */ + public int getDataLocationValue() { + return dataLocation_; + } + /** + *
        +       * If value not set, data is stored in raw_data (if set) otherwise in type-specified field.
        +       * 
        + * + * .org.nd4j.ir.TensorProto.DataLocation data_location = 14; + */ + public Builder setDataLocationValue(int value) { + dataLocation_ = value; + onChanged(); + return this; + } + /** + *
        +       * If value not set, data is stored in raw_data (if set) otherwise in type-specified field.
        +       * 
        + * + * .org.nd4j.ir.TensorProto.DataLocation data_location = 14; + */ + public org.nd4j.ir.TensorNamespace.TensorProto.DataLocation getDataLocation() { + @SuppressWarnings("deprecation") + org.nd4j.ir.TensorNamespace.TensorProto.DataLocation result = org.nd4j.ir.TensorNamespace.TensorProto.DataLocation.valueOf(dataLocation_); + return result == null ? org.nd4j.ir.TensorNamespace.TensorProto.DataLocation.UNRECOGNIZED : result; + } + /** + *
        +       * If value not set, data is stored in raw_data (if set) otherwise in type-specified field.
        +       * 
        + * + * .org.nd4j.ir.TensorProto.DataLocation data_location = 14; + */ + public Builder setDataLocation(org.nd4j.ir.TensorNamespace.TensorProto.DataLocation value) { + if (value == null) { + throw new NullPointerException(); + } + + dataLocation_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
        +       * If value not set, data is stored in raw_data (if set) otherwise in type-specified field.
        +       * 
        + * + * .org.nd4j.ir.TensorProto.DataLocation data_location = 14; + */ + public Builder clearDataLocation() { + + dataLocation_ = 0; + onChanged(); + return this; + } + + private org.nd4j.shade.protobuf.Internal.DoubleList doubleData_ = emptyDoubleList(); + private void ensureDoubleDataIsMutable() { + if (!((bitField0_ & 0x00000040) != 0)) { + doubleData_ = mutableCopy(doubleData_); + bitField0_ |= 0x00000040; + } + } + /** + *
        +       * For double
        +       * Complex128 tensors are encoded as a single array of doubles,
        +       * with the real components appearing in odd numbered positions,
        +       * and the corresponding imaginary component appearing in the
        +       * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +       * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +       * When this field is present, the data_type field MUST be DOUBLE or COMPLEX128
        +       * 
        + * + * repeated double double_data = 10 [packed = true]; + */ + public java.util.List + getDoubleDataList() { + return ((bitField0_ & 0x00000040) != 0) ? + java.util.Collections.unmodifiableList(doubleData_) : doubleData_; + } + /** + *
        +       * For double
        +       * Complex128 tensors are encoded as a single array of doubles,
        +       * with the real components appearing in odd numbered positions,
        +       * and the corresponding imaginary component appearing in the
        +       * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +       * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +       * When this field is present, the data_type field MUST be DOUBLE or COMPLEX128
        +       * 
        + * + * repeated double double_data = 10 [packed = true]; + */ + public int getDoubleDataCount() { + return doubleData_.size(); + } + /** + *
        +       * For double
        +       * Complex128 tensors are encoded as a single array of doubles,
        +       * with the real components appearing in odd numbered positions,
        +       * and the corresponding imaginary component appearing in the
        +       * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +       * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +       * When this field is present, the data_type field MUST be DOUBLE or COMPLEX128
        +       * 
        + * + * repeated double double_data = 10 [packed = true]; + */ + public double getDoubleData(int index) { + return doubleData_.getDouble(index); + } + /** + *
        +       * For double
        +       * Complex128 tensors are encoded as a single array of doubles,
        +       * with the real components appearing in odd numbered positions,
        +       * and the corresponding imaginary component appearing in the
        +       * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +       * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +       * When this field is present, the data_type field MUST be DOUBLE or COMPLEX128
        +       * 
        + * + * repeated double double_data = 10 [packed = true]; + */ + public Builder setDoubleData( + int index, double value) { + ensureDoubleDataIsMutable(); + doubleData_.setDouble(index, value); + onChanged(); + return this; + } + /** + *
        +       * For double
        +       * Complex128 tensors are encoded as a single array of doubles,
        +       * with the real components appearing in odd numbered positions,
        +       * and the corresponding imaginary component appearing in the
        +       * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +       * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +       * When this field is present, the data_type field MUST be DOUBLE or COMPLEX128
        +       * 
        + * + * repeated double double_data = 10 [packed = true]; + */ + public Builder addDoubleData(double value) { + ensureDoubleDataIsMutable(); + doubleData_.addDouble(value); + onChanged(); + return this; + } + /** + *
        +       * For double
        +       * Complex128 tensors are encoded as a single array of doubles,
        +       * with the real components appearing in odd numbered positions,
        +       * and the corresponding imaginary component appearing in the
        +       * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +       * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +       * When this field is present, the data_type field MUST be DOUBLE or COMPLEX128
        +       * 
        + * + * repeated double double_data = 10 [packed = true]; + */ + public Builder addAllDoubleData( + java.lang.Iterable values) { + ensureDoubleDataIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, doubleData_); + onChanged(); + return this; + } + /** + *
        +       * For double
        +       * Complex128 tensors are encoded as a single array of doubles,
        +       * with the real components appearing in odd numbered positions,
        +       * and the corresponding imaginary component appearing in the
        +       * subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
        +       * is encoded as [1.0, 2.0 ,3.0 ,4.0]
        +       * When this field is present, the data_type field MUST be DOUBLE or COMPLEX128
        +       * 
        + * + * repeated double double_data = 10 [packed = true]; + */ + public Builder clearDoubleData() { + doubleData_ = emptyDoubleList(); + bitField0_ = (bitField0_ & ~0x00000040); + onChanged(); + return this; + } + + private org.nd4j.shade.protobuf.Internal.LongList uint64Data_ = emptyLongList(); + private void ensureUint64DataIsMutable() { + if (!((bitField0_ & 0x00000080) != 0)) { + uint64Data_ = mutableCopy(uint64Data_); + bitField0_ |= 0x00000080; + } + } + /** + *
        +       * For uint64 and uint32 values
        +       * When this field is present, the data_type field MUST be
        +       * UINT32 or UINT64
        +       * 
        + * + * repeated uint64 uint64_data = 11 [packed = true]; + */ + public java.util.List + getUint64DataList() { + return ((bitField0_ & 0x00000080) != 0) ? + java.util.Collections.unmodifiableList(uint64Data_) : uint64Data_; + } + /** + *
        +       * For uint64 and uint32 values
        +       * When this field is present, the data_type field MUST be
        +       * UINT32 or UINT64
        +       * 
        + * + * repeated uint64 uint64_data = 11 [packed = true]; + */ + public int getUint64DataCount() { + return uint64Data_.size(); + } + /** + *
        +       * For uint64 and uint32 values
        +       * When this field is present, the data_type field MUST be
        +       * UINT32 or UINT64
        +       * 
        + * + * repeated uint64 uint64_data = 11 [packed = true]; + */ + public long getUint64Data(int index) { + return uint64Data_.getLong(index); + } + /** + *
        +       * For uint64 and uint32 values
        +       * When this field is present, the data_type field MUST be
        +       * UINT32 or UINT64
        +       * 
        + * + * repeated uint64 uint64_data = 11 [packed = true]; + */ + public Builder setUint64Data( + int index, long value) { + ensureUint64DataIsMutable(); + uint64Data_.setLong(index, value); + onChanged(); + return this; + } + /** + *
        +       * For uint64 and uint32 values
        +       * When this field is present, the data_type field MUST be
        +       * UINT32 or UINT64
        +       * 
        + * + * repeated uint64 uint64_data = 11 [packed = true]; + */ + public Builder addUint64Data(long value) { + ensureUint64DataIsMutable(); + uint64Data_.addLong(value); + onChanged(); + return this; + } + /** + *
        +       * For uint64 and uint32 values
        +       * When this field is present, the data_type field MUST be
        +       * UINT32 or UINT64
        +       * 
        + * + * repeated uint64 uint64_data = 11 [packed = true]; + */ + public Builder addAllUint64Data( + java.lang.Iterable values) { + ensureUint64DataIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, uint64Data_); + onChanged(); + return this; + } + /** + *
        +       * For uint64 and uint32 values
        +       * When this field is present, the data_type field MUST be
        +       * UINT32 or UINT64
        +       * 
        + * + * repeated uint64 uint64_data = 11 [packed = true]; + */ + public Builder clearUint64Data() { + uint64Data_ = emptyLongList(); + bitField0_ = (bitField0_ & ~0x00000080); + onChanged(); + return this; + } + + private org.nd4j.shade.protobuf.Internal.IntList halfVal_ = emptyIntList(); + private void ensureHalfValIsMutable() { + if (!((bitField0_ & 0x00000100) != 0)) { + halfVal_ = mutableCopy(halfVal_); + bitField0_ |= 0x00000100; + } + } + /** + *
        +       * For half values (tensorflow compatibility)
        +       * 
        + * + * repeated int32 half_val = 15 [packed = true]; + */ + public java.util.List + getHalfValList() { + return ((bitField0_ & 0x00000100) != 0) ? + java.util.Collections.unmodifiableList(halfVal_) : halfVal_; + } + /** + *
        +       * For half values (tensorflow compatibility)
        +       * 
        + * + * repeated int32 half_val = 15 [packed = true]; + */ + public int getHalfValCount() { + return halfVal_.size(); + } + /** + *
        +       * For half values (tensorflow compatibility)
        +       * 
        + * + * repeated int32 half_val = 15 [packed = true]; + */ + public int getHalfVal(int index) { + return halfVal_.getInt(index); + } + /** + *
        +       * For half values (tensorflow compatibility)
        +       * 
        + * + * repeated int32 half_val = 15 [packed = true]; + */ + public Builder setHalfVal( + int index, int value) { + ensureHalfValIsMutable(); + halfVal_.setInt(index, value); + onChanged(); + return this; + } + /** + *
        +       * For half values (tensorflow compatibility)
        +       * 
        + * + * repeated int32 half_val = 15 [packed = true]; + */ + public Builder addHalfVal(int value) { + ensureHalfValIsMutable(); + halfVal_.addInt(value); + onChanged(); + return this; + } + /** + *
        +       * For half values (tensorflow compatibility)
        +       * 
        + * + * repeated int32 half_val = 15 [packed = true]; + */ + public Builder addAllHalfVal( + java.lang.Iterable values) { + ensureHalfValIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, halfVal_); + onChanged(); + return this; + } + /** + *
        +       * For half values (tensorflow compatibility)
        +       * 
        + * + * repeated int32 half_val = 15 [packed = true]; + */ + public Builder clearHalfVal() { + halfVal_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000100); + onChanged(); + return this; + } + + private org.nd4j.shade.protobuf.Internal.BooleanList boolVal_ = emptyBooleanList(); + private void ensureBoolValIsMutable() { + if (!((bitField0_ & 0x00000200) != 0)) { + boolVal_ = mutableCopy(boolVal_); + bitField0_ |= 0x00000200; + } + } + /** + *
        +       *boolean values
        +       * 
        + * + * repeated bool bool_val = 16 [packed = true]; + */ + public java.util.List + getBoolValList() { + return ((bitField0_ & 0x00000200) != 0) ? + java.util.Collections.unmodifiableList(boolVal_) : boolVal_; + } + /** + *
        +       *boolean values
        +       * 
        + * + * repeated bool bool_val = 16 [packed = true]; + */ + public int getBoolValCount() { + return boolVal_.size(); + } + /** + *
        +       *boolean values
        +       * 
        + * + * repeated bool bool_val = 16 [packed = true]; + */ + public boolean getBoolVal(int index) { + return boolVal_.getBoolean(index); + } + /** + *
        +       *boolean values
        +       * 
        + * + * repeated bool bool_val = 16 [packed = true]; + */ + public Builder setBoolVal( + int index, boolean value) { + ensureBoolValIsMutable(); + boolVal_.setBoolean(index, value); + onChanged(); + return this; + } + /** + *
        +       *boolean values
        +       * 
        + * + * repeated bool bool_val = 16 [packed = true]; + */ + public Builder addBoolVal(boolean value) { + ensureBoolValIsMutable(); + boolVal_.addBoolean(value); + onChanged(); + return this; + } + /** + *
        +       *boolean values
        +       * 
        + * + * repeated bool bool_val = 16 [packed = true]; + */ + public Builder addAllBoolVal( + java.lang.Iterable values) { + ensureBoolValIsMutable(); + org.nd4j.shade.protobuf.AbstractMessageLite.Builder.addAll( + values, boolVal_); + onChanged(); + return this; + } + /** + *
        +       *boolean values
        +       * 
        + * + * repeated bool bool_val = 16 [packed = true]; + */ + public Builder clearBoolVal() { + boolVal_ = emptyBooleanList(); + bitField0_ = (bitField0_ & ~0x00000200); + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final org.nd4j.shade.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:org.nd4j.ir.TensorProto) + } + + // @@protoc_insertion_point(class_scope:org.nd4j.ir.TensorProto) + private static final org.nd4j.ir.TensorNamespace.TensorProto DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.nd4j.ir.TensorNamespace.TensorProto(); + } + + public static org.nd4j.ir.TensorNamespace.TensorProto getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final org.nd4j.shade.protobuf.Parser + PARSER = new org.nd4j.shade.protobuf.AbstractParser() { + @java.lang.Override + public TensorProto parsePartialFrom( + org.nd4j.shade.protobuf.CodedInputStream input, + org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.nd4j.shade.protobuf.InvalidProtocolBufferException { + return new TensorProto(input, extensionRegistry); + } + }; + + public static org.nd4j.shade.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.shade.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.nd4j.ir.TensorNamespace.TensorProto getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + private static final org.nd4j.shade.protobuf.Descriptors.Descriptor + internal_static_org_nd4j_ir_StringStringEntryProto_descriptor; + private static final + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_org_nd4j_ir_StringStringEntryProto_fieldAccessorTable; + private static final org.nd4j.shade.protobuf.Descriptors.Descriptor + internal_static_org_nd4j_ir_TypeProto_descriptor; + private static final + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_org_nd4j_ir_TypeProto_fieldAccessorTable; + private static final org.nd4j.shade.protobuf.Descriptors.Descriptor + internal_static_org_nd4j_ir_TypeProto_TensorDescriptor_descriptor; + private static final + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_org_nd4j_ir_TypeProto_TensorDescriptor_fieldAccessorTable; + private static final org.nd4j.shade.protobuf.Descriptors.Descriptor + internal_static_org_nd4j_ir_TensorShapeProto_descriptor; + private static final + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_org_nd4j_ir_TensorShapeProto_fieldAccessorTable; + private static final org.nd4j.shade.protobuf.Descriptors.Descriptor + internal_static_org_nd4j_ir_TensorShapeProto_Dimension_descriptor; + private static final + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_org_nd4j_ir_TensorShapeProto_Dimension_fieldAccessorTable; + private static final org.nd4j.shade.protobuf.Descriptors.Descriptor + internal_static_org_nd4j_ir_ValueInfoProto_descriptor; + private static final + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_org_nd4j_ir_ValueInfoProto_fieldAccessorTable; + private static final org.nd4j.shade.protobuf.Descriptors.Descriptor + internal_static_org_nd4j_ir_TensorProto_descriptor; + private static final + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_org_nd4j_ir_TensorProto_fieldAccessorTable; + private static final org.nd4j.shade.protobuf.Descriptors.Descriptor + internal_static_org_nd4j_ir_TensorProto_Segment_descriptor; + private static final + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_org_nd4j_ir_TensorProto_Segment_fieldAccessorTable; + + public static org.nd4j.shade.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static org.nd4j.shade.protobuf.Descriptors.FileDescriptor + descriptor; + static { + java.lang.String[] descriptorData = { + "\n\014tensor.proto\022\013org.nd4j.ir\"4\n\026StringStr" + + "ingEntryProto\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(" + + "\t\"\300\001\n\tTypeProto\022>\n\013tensor_type\030\001 \001(\0132\'.o" + + "rg.nd4j.ir.TypeProto.TensorDescriptorH\000\032" + + "j\n\020TensorDescriptor\022(\n\telem_type\030\001 \001(\0162\025" + + ".org.nd4j.ir.DataType\022,\n\005shape\030\002 \001(\0132\035.o" + + "rg.nd4j.ir.TensorShapeProtoB\007\n\005value\"\210\001\n" + + "\020TensorShapeProto\0224\n\003dim\030\001 \003(\0132\'.org.nd4" + + "j.ir.TensorShapeProto.Dimension\032>\n\tDimen" + + "sion\022\023\n\tdim_value\030\001 \001(\003H\000\022\023\n\tdim_param\030\002" + + " \001(\tH\000B\007\n\005value\"X\n\016ValueInfoProto\022\014\n\004nam" + + "e\030\001 \001(\t\022$\n\004type\030\002 \001(\0132\026.org.nd4j.ir.Type" + + "Proto\022\022\n\ndoc_string\030\003 \001(\t\"\234\004\n\013TensorProt" + + "o\022\014\n\004dims\030\001 \003(\003\022\021\n\tdata_type\030\002 \001(\005\0221\n\007se" + + "gment\030\003 \001(\0132 .org.nd4j.ir.TensorProto.Se" + + "gment\022\026\n\nfloat_data\030\004 \003(\002B\002\020\001\022\026\n\nint32_d" + + "ata\030\005 \003(\005B\002\020\001\022\023\n\013string_data\030\006 \003(\014\022\026\n\nin" + + "t64_data\030\007 \003(\003B\002\020\001\022\014\n\004name\030\010 \001(\t\022\022\n\ndoc_" + + "string\030\014 \001(\t\022\020\n\010raw_data\030\t \001(\014\022:\n\rextern" + + "al_data\030\r \003(\0132#.org.nd4j.ir.StringString" + + "EntryProto\022<\n\rdata_location\030\016 \001(\0162%.org." + + "nd4j.ir.TensorProto.DataLocation\022\027\n\013doub" + + "le_data\030\n \003(\001B\002\020\001\022\027\n\013uint64_data\030\013 \003(\004B\002" + + "\020\001\022\024\n\010half_val\030\017 \003(\005B\002\020\001\022\024\n\010bool_val\030\020 \003" + + "(\010B\002\020\001\032%\n\007Segment\022\r\n\005begin\030\001 \001(\003\022\013\n\003end\030" + + "\002 \001(\003\")\n\014DataLocation\022\013\n\007DEFAULT\020\000\022\014\n\010EX" + + "TERNAL\020\001*\332\001\n\010DataType\022\r\n\tUNDEFINED\020\000\022\t\n\005" + + "FLOAT\020\001\022\t\n\005UINT8\020\002\022\010\n\004INT8\020\003\022\n\n\006UINT16\020\004" + + "\022\t\n\005INT16\020\005\022\t\n\005INT32\020\006\022\t\n\005INT64\020\007\022\n\n\006STR" + + "ING\020\010\022\010\n\004BOOL\020\t\022\013\n\007FLOAT16\020\n\022\n\n\006DOUBLE\020\013" + + "\022\n\n\006UINT32\020\014\022\n\n\006UINT64\020\r\022\r\n\tCOMPLEX64\020\016\022" + + "\016\n\nCOMPLEX128\020\017\022\014\n\010BFLOAT16\020\020B\021B\017TensorN" + + "amespaceb\006proto3" + }; + descriptor = org.nd4j.shade.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new org.nd4j.shade.protobuf.Descriptors.FileDescriptor[] { + }); + internal_static_org_nd4j_ir_StringStringEntryProto_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_org_nd4j_ir_StringStringEntryProto_fieldAccessorTable = new + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_org_nd4j_ir_StringStringEntryProto_descriptor, + new java.lang.String[] { "Key", "Value", }); + internal_static_org_nd4j_ir_TypeProto_descriptor = + getDescriptor().getMessageTypes().get(1); + internal_static_org_nd4j_ir_TypeProto_fieldAccessorTable = new + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_org_nd4j_ir_TypeProto_descriptor, + new java.lang.String[] { "TensorType", "Value", }); + internal_static_org_nd4j_ir_TypeProto_TensorDescriptor_descriptor = + internal_static_org_nd4j_ir_TypeProto_descriptor.getNestedTypes().get(0); + internal_static_org_nd4j_ir_TypeProto_TensorDescriptor_fieldAccessorTable = new + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_org_nd4j_ir_TypeProto_TensorDescriptor_descriptor, + new java.lang.String[] { "ElemType", "Shape", }); + internal_static_org_nd4j_ir_TensorShapeProto_descriptor = + getDescriptor().getMessageTypes().get(2); + internal_static_org_nd4j_ir_TensorShapeProto_fieldAccessorTable = new + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_org_nd4j_ir_TensorShapeProto_descriptor, + new java.lang.String[] { "Dim", }); + internal_static_org_nd4j_ir_TensorShapeProto_Dimension_descriptor = + internal_static_org_nd4j_ir_TensorShapeProto_descriptor.getNestedTypes().get(0); + internal_static_org_nd4j_ir_TensorShapeProto_Dimension_fieldAccessorTable = new + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_org_nd4j_ir_TensorShapeProto_Dimension_descriptor, + new java.lang.String[] { "DimValue", "DimParam", "Value", }); + internal_static_org_nd4j_ir_ValueInfoProto_descriptor = + getDescriptor().getMessageTypes().get(3); + internal_static_org_nd4j_ir_ValueInfoProto_fieldAccessorTable = new + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_org_nd4j_ir_ValueInfoProto_descriptor, + new java.lang.String[] { "Name", "Type", "DocString", }); + internal_static_org_nd4j_ir_TensorProto_descriptor = + getDescriptor().getMessageTypes().get(4); + internal_static_org_nd4j_ir_TensorProto_fieldAccessorTable = new + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_org_nd4j_ir_TensorProto_descriptor, + new java.lang.String[] { "Dims", "DataType", "Segment", "FloatData", "Int32Data", "StringData", "Int64Data", "Name", "DocString", "RawData", "ExternalData", "DataLocation", "DoubleData", "Uint64Data", "HalfVal", "BoolVal", }); + internal_static_org_nd4j_ir_TensorProto_Segment_descriptor = + internal_static_org_nd4j_ir_TensorProto_descriptor.getNestedTypes().get(0); + internal_static_org_nd4j_ir_TensorProto_Segment_fieldAccessorTable = new + org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_org_nd4j_ir_TensorProto_Segment_descriptor, + new java.lang.String[] { "Begin", "End", }); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/Activation.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/Activation.java index e166461e1..c8f797708 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/Activation.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/Activation.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.activations; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/BaseActivationFunction.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/BaseActivationFunction.java index ccdb119e6..c45c98987 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/BaseActivationFunction.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/BaseActivationFunction.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.activations; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/IActivation.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/IActivation.java index e67a99c8a..7284f1eb4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/IActivation.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/IActivation.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.activations; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationCube.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationCube.java index c1c938a98..1bbc9eb7b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationCube.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationCube.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.activations.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationELU.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationELU.java index 71f31cba5..767016d82 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationELU.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationELU.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.activations.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationGELU.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationGELU.java index 953cb2587..71e74e6fd 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationGELU.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationGELU.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.activations.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationHardSigmoid.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationHardSigmoid.java index 623757bb0..89aa629c9 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationHardSigmoid.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationHardSigmoid.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.activations.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationHardTanH.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationHardTanH.java index cc11a3810..d5e607a87 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationHardTanH.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationHardTanH.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.activations.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationIdentity.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationIdentity.java index f86f1c21e..e41a30d16 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationIdentity.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationIdentity.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.activations.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationLReLU.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationLReLU.java index 8e0faf160..694820788 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationLReLU.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationLReLU.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.activations.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationMish.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationMish.java index f0d873215..21e3361de 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationMish.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationMish.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.activations.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationPReLU.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationPReLU.java index 7ab79d81f..82a5a92de 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationPReLU.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationPReLU.java @@ -1,19 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.activations.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationRReLU.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationRReLU.java index 8e0161839..d29f28fef 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationRReLU.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationRReLU.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.activations.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationRationalTanh.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationRationalTanh.java index dd0bf6566..9e2208b68 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationRationalTanh.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationRationalTanh.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.activations.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationReLU.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationReLU.java index 52cc5015e..f447a29e4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationReLU.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationReLU.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.activations.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationReLU6.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationReLU6.java index d5e0cb76c..53254aa4a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationReLU6.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationReLU6.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.activations.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationRectifiedTanh.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationRectifiedTanh.java index 9764e55d2..bbb0ad1d2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationRectifiedTanh.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationRectifiedTanh.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.activations.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationSELU.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationSELU.java index d7f71e382..a218a0574 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationSELU.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationSELU.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.activations.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationSigmoid.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationSigmoid.java index de2db231a..0c084dec3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationSigmoid.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationSigmoid.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.activations.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationSoftPlus.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationSoftPlus.java index 6f2c82ba7..6a34a7fa2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationSoftPlus.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationSoftPlus.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.activations.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationSoftSign.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationSoftSign.java index aefe0297e..4b6bbda2a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationSoftSign.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationSoftSign.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.activations.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationSoftmax.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationSoftmax.java index dfcabe269..c380b5e8f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationSoftmax.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationSoftmax.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.activations.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationSwish.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationSwish.java index 793181112..e9866bcf1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationSwish.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationSwish.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.activations.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationTanH.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationTanH.java index 2b29bada4..edec4312d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationTanH.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationTanH.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.activations.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationThresholdedReLU.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationThresholdedReLU.java index 5eb1c3e9c..d9081160d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationThresholdedReLU.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/activations/impl/ActivationThresholdedReLU.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.activations.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/Blas.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/Blas.java index 8dc4a0ae4..5e96d6f19 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/Blas.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/Blas.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.blas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/BlasBufferUtil.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/BlasBufferUtil.java index ff6f852ce..af16bb4bc 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/BlasBufferUtil.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/BlasBufferUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.blas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/BlasException.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/BlasException.java index 8fb132574..2c24a18e8 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/BlasException.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/BlasException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.blas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/Lapack.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/Lapack.java index 8d6cf4d0e..98afd6f25 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/Lapack.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/Lapack.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.blas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/Level1.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/Level1.java index 7101e5a72..f9809b837 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/Level1.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/Level1.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.blas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/Level2.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/Level2.java index db4499db0..5efc3fad0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/Level2.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/Level2.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.blas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/Level3.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/Level3.java index 8bdb95703..54cb675d8 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/Level3.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/Level3.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.blas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/impl/BaseLapack.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/impl/BaseLapack.java index 81a0e74e0..0e369afb2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/impl/BaseLapack.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/impl/BaseLapack.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.blas.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/impl/BaseLevel.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/impl/BaseLevel.java index b73a9b62d..a7b71296a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/impl/BaseLevel.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/impl/BaseLevel.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.blas.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/impl/BaseLevel1.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/impl/BaseLevel1.java index cb5adefdb..2aedb92be 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/impl/BaseLevel1.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/impl/BaseLevel1.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.blas.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/impl/BaseLevel2.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/impl/BaseLevel2.java index 3098da115..f6c40ce73 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/impl/BaseLevel2.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/impl/BaseLevel2.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.blas.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/impl/BaseLevel3.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/impl/BaseLevel3.java index 8d9765aee..76f9b12d7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/impl/BaseLevel3.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/impl/BaseLevel3.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.blas.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/params/GemmParams.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/params/GemmParams.java index 24719a952..57b576064 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/params/GemmParams.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/params/GemmParams.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.blas.params; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/params/GemvParameters.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/params/GemvParameters.java index 7330a4294..38c8bbc13 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/params/GemvParameters.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/params/GemvParameters.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.blas.params; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/params/MMulTranspose.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/params/MMulTranspose.java index f0d974a5f..709896309 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/params/MMulTranspose.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/params/MMulTranspose.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.blas.params; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/BaseDataBuffer.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/BaseDataBuffer.java index 2431d6b77..b805e96e4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/BaseDataBuffer.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/BaseDataBuffer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.buffer; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/DataBuffer.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/DataBuffer.java index c6e1af9d0..5e509bf7c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/DataBuffer.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/DataBuffer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.buffer; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/DataType.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/DataType.java index c48b7577c..5c7ee833b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/DataType.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/DataType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.buffer; @@ -78,10 +80,18 @@ public enum DataType { public static final DataType UINT8 = DataType.UBYTE; + /** + * Values inherited from + * https://github.com/eclipse/deeplearning4j/blob/master/libnd4j/include/array/DataType.h + * @param type the input int type + * @return the appropriate data type + */ public static DataType fromInt(int type) { switch (type) { case 1: return BOOL; + case 2: return FLOAT; case 3: return HALF; + case 4: return HALF; case 5: return FLOAT; case 6: return DOUBLE; case 7: return BYTE; @@ -93,6 +103,7 @@ public enum DataType { case 13: return UINT32; case 14: return UINT64; case 17: return BFLOAT16; + case 100: return DataType.UNKNOWN; default: throw new UnsupportedOperationException("Unknown data type: [" + type + "]"); } } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/DataTypeEx.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/DataTypeEx.java index 627b1680c..0052439bd 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/DataTypeEx.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/DataTypeEx.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.buffer; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/allocation/MemoryStrategy.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/allocation/MemoryStrategy.java index 72283e783..c0069e0a7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/allocation/MemoryStrategy.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/allocation/MemoryStrategy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.buffer.allocation; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/factory/DataBufferFactory.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/factory/DataBufferFactory.java index 3ca03ebe2..62c61d32b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/factory/DataBufferFactory.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/factory/DataBufferFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.buffer.factory; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/util/AllocUtil.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/util/AllocUtil.java index f64058eaf..1f31dbaf7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/util/AllocUtil.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/util/AllocUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.buffer.util; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/util/DataTypeUtil.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/util/DataTypeUtil.java index 15624209f..946d52c11 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/util/DataTypeUtil.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/buffer/util/DataTypeUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.buffer.util; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/concurrency/AffinityManager.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/concurrency/AffinityManager.java index 06cffb24f..66f1f97c5 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/concurrency/AffinityManager.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/concurrency/AffinityManager.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.concurrency; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/concurrency/ArrayType.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/concurrency/ArrayType.java index d6cb2f03b..d284ae602 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/concurrency/ArrayType.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/concurrency/ArrayType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.concurrency; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/concurrency/BasicAffinityManager.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/concurrency/BasicAffinityManager.java index 664362308..c0977f5c1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/concurrency/BasicAffinityManager.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/concurrency/BasicAffinityManager.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.concurrency; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/concurrency/BasicDistributedINDArray.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/concurrency/BasicDistributedINDArray.java index 4111f4a24..ecc498dd2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/concurrency/BasicDistributedINDArray.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/concurrency/BasicDistributedINDArray.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.concurrency; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/concurrency/DistributedINDArray.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/concurrency/DistributedINDArray.java index 6f69521be..3e5eaa003 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/concurrency/DistributedINDArray.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/concurrency/DistributedINDArray.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.concurrency; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/environment/Nd4jEnvironment.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/environment/Nd4jEnvironment.java index 8040f9dce..cda87a2d3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/environment/Nd4jEnvironment.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/environment/Nd4jEnvironment.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.environment; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/iter/FirstAxisIterator.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/iter/FirstAxisIterator.java index 5f6822f0d..cef0bcaad 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/iter/FirstAxisIterator.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/iter/FirstAxisIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.iter; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/iter/FlatIterator.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/iter/FlatIterator.java index 671a0ad22..d00cf92a4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/iter/FlatIterator.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/iter/FlatIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.iter; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/iter/INDArrayIterator.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/iter/INDArrayIterator.java index 490166b39..752741a2b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/iter/INDArrayIterator.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/iter/INDArrayIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.iter; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/iter/LinearIndexLookup.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/iter/LinearIndexLookup.java index 618e24163..dbbb733e6 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/iter/LinearIndexLookup.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/iter/LinearIndexLookup.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.iter; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/iter/NdIndexIterator.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/iter/NdIndexIterator.java index 133a50498..50494ef7d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/iter/NdIndexIterator.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/iter/NdIndexIterator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.iter; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/AllocationsTracker.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/AllocationsTracker.java index 345572e0a..7e8e03a7a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/AllocationsTracker.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/AllocationsTracker.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/BasicMemoryManager.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/BasicMemoryManager.java index eab4ae239..48ccdc30f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/BasicMemoryManager.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/BasicMemoryManager.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/Deallocatable.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/Deallocatable.java index 6269b1c03..a8f5efc3f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/Deallocatable.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/Deallocatable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/Deallocator.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/Deallocator.java index 778ee8a6e..05970d3f2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/Deallocator.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/Deallocator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/DeviceAllocationsTracker.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/DeviceAllocationsTracker.java index 3e42d05e6..83feed6f8 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/DeviceAllocationsTracker.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/DeviceAllocationsTracker.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/MemcpyDirection.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/MemcpyDirection.java index cc644562c..23106bf05 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/MemcpyDirection.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/MemcpyDirection.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/MemoryManager.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/MemoryManager.java index 9460d8734..2672eb5b3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/MemoryManager.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/MemoryManager.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/MemoryWorkspace.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/MemoryWorkspace.java index 426e952f8..dfe249044 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/MemoryWorkspace.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/MemoryWorkspace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/MemoryWorkspaceManager.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/MemoryWorkspaceManager.java index d46f18292..ddaaa754c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/MemoryWorkspaceManager.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/MemoryWorkspaceManager.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/abstracts/DummyWorkspace.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/abstracts/DummyWorkspace.java index fe245105f..ef0c23b82 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/abstracts/DummyWorkspace.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/abstracts/DummyWorkspace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory.abstracts; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/abstracts/Nd4jWorkspace.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/abstracts/Nd4jWorkspace.java index e133e171b..a77f7c502 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/abstracts/Nd4jWorkspace.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/abstracts/Nd4jWorkspace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory.abstracts; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/conf/WorkspaceConfiguration.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/conf/WorkspaceConfiguration.java index 6f116b6ef..876c23bb5 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/conf/WorkspaceConfiguration.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/conf/WorkspaceConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory.conf; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/deallocation/DeallocatableReference.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/deallocation/DeallocatableReference.java index fbd667f23..2c91b22b3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/deallocation/DeallocatableReference.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/deallocation/DeallocatableReference.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory.deallocation; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/deallocation/DeallocatorService.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/deallocation/DeallocatorService.java index ded5bc938..38ab9cce6 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/deallocation/DeallocatorService.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/deallocation/DeallocatorService.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory.deallocation; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/AllocationKind.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/AllocationKind.java index a0326f1b7..29deed825 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/AllocationKind.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/AllocationKind.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory.enums; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/AllocationPolicy.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/AllocationPolicy.java index 0495413fa..1050e1118 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/AllocationPolicy.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/AllocationPolicy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory.enums; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/DebugMode.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/DebugMode.java index 35f85fc48..8928ef3c7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/DebugMode.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/DebugMode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory.enums; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/LearningPolicy.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/LearningPolicy.java index a7879c8a3..a93d3950e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/LearningPolicy.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/LearningPolicy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory.enums; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/LocationPolicy.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/LocationPolicy.java index 3fff25688..fe62b876a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/LocationPolicy.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/LocationPolicy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory.enums; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/MemoryKind.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/MemoryKind.java index 13b1520f9..884223673 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/MemoryKind.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/MemoryKind.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory.enums; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/MirroringPolicy.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/MirroringPolicy.java index 1bab55f9a..c047f79e7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/MirroringPolicy.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/MirroringPolicy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory.enums; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/ResetPolicy.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/ResetPolicy.java index 626c9326a..430f9d037 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/ResetPolicy.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/ResetPolicy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory.enums; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/SpillPolicy.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/SpillPolicy.java index f286ada77..18eef08fe 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/SpillPolicy.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/enums/SpillPolicy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory.enums; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/pointers/ImmortalFloatPointer.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/pointers/ImmortalFloatPointer.java index 5505737c5..1bcae66c9 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/pointers/ImmortalFloatPointer.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/pointers/ImmortalFloatPointer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory.pointers; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/pointers/PagedPointer.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/pointers/PagedPointer.java index d210d3284..f250df3f5 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/pointers/PagedPointer.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/pointers/PagedPointer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory.pointers; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/pointers/PointersPair.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/pointers/PointersPair.java index c86ea201a..11ad22bca 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/pointers/PointersPair.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/pointers/PointersPair.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory.pointers; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/provider/BasicWorkspaceManager.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/provider/BasicWorkspaceManager.java index 37085370e..a56c9bdce 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/provider/BasicWorkspaceManager.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/provider/BasicWorkspaceManager.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory.provider; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/stash/BasicStash.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/stash/BasicStash.java index a635e85f5..0e5837b44 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/stash/BasicStash.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/stash/BasicStash.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory.stash; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/stash/BasicStashManager.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/stash/BasicStashManager.java index ecc0ae6da..26ded4589 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/stash/BasicStashManager.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/stash/BasicStashManager.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory.stash; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/stash/Stash.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/stash/Stash.java index 45fd8232b..d5889c705 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/stash/Stash.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/stash/Stash.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory.stash; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/stash/StashManager.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/stash/StashManager.java index 2082e088d..ee4991232 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/stash/StashManager.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/memory/stash/StashManager.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.memory.stash; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/BaseNDArray.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/BaseNDArray.java index 3e726c15a..faa484567 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/BaseNDArray.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/BaseNDArray.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ndarray; @@ -337,6 +339,40 @@ public abstract class BaseNDArray implements INDArray, Iterable { this(Nd4j.createBuffer(type, shape.length == 0 ? 1 : ArrayUtil.prodLong(shape), initialize, workspace), type, shape, stride, offset, ordering); } + public BaseNDArray(DataType type, long[] shape, long[] paddings, long[] paddingOffsets, char ordering, MemoryWorkspace workspace) { + + //calculate strides with paddings + int rank = shape.length; + if(paddings == null || paddings.length != rank ) throw new IllegalArgumentException("The length of Padding should be equal to the length of Shape"); + long [] paddedShape = new long[rank]; + boolean empty = false; + boolean zeroOffset = paddingOffsets == null || paddingOffsets.length == 0; + boolean paddingOffsetsInvalid = paddingOffsets != null && paddingOffsets.length != rank ; + long ews = 1; + if(!paddingOffsetsInvalid){ + for(int i=0; ipaddings[i]){ + paddingOffsetsInvalid = true; + break; + } + } + } + if(!zeroOffset && paddingOffsetsInvalid) throw new IllegalArgumentException("If PaddingOffsets is not empty or zero length then its length should match the length of Paddings and also its elements should not be greater"); + + long[] paddedStride = ordering == 'c' ? ArrayUtil.calcStrides(paddedShape,1): ArrayUtil.calcStridesFortran(paddedShape,1); + long paddedAllocSize = ordering == 'c' ? paddedShape[0] * paddedStride[0] : paddedShape[rank-1] * paddedStride[rank-1]; + + long offset = (empty || ews == 1 || zeroOffset) ? 0 : ArrayUtil.calcOffset(paddedShape, paddingOffsets, paddedStride); + DataBuffer buffer = Nd4j.createBuffer(type, paddedAllocSize, false, workspace); + this.data = offset > 0 ? Nd4j.createBuffer(buffer, offset, paddedAllocSize - offset) : buffer ; + long extras = ArrayOptionsHelper.setOptionBit(0, type); + if(empty) extras = ArrayOptionsHelper.setOptionBit(extras, ArrayOptionsHelper.ATYPE_EMPTY_BIT); + else if(ews!=1) extras = ArrayOptionsHelper.setOptionBit(extras, ArrayOptionsHelper.HAS_PADDED_BUFFER); + setShapeInformation(Nd4j.getShapeInfoProvider().createShapeInformation(shape, paddedStride, ews, ordering, extras)); + } /** * Create the ndarray with @@ -3761,7 +3797,7 @@ public abstract class BaseNDArray implements INDArray, Iterable { long prod = ArrayUtil.prodLong(shape); - if (prod != this.length()){ + if (prod != this.length()) { throw new ND4JIllegalStateException("New shape length doesn't match original length: [" + prod + "] vs [" + this.length() + "]. Original shape: "+Arrays.toString(this.shape())+" New Shape: "+Arrays.toString(newShape)); } @@ -4944,7 +4980,7 @@ public abstract class BaseNDArray implements INDArray, Iterable { @Override - public String toString(@NonNull NDArrayStrings options){ + public String toString(@NonNull NDArrayStrings options) { if(wasClosed()) return ""; if (!isCompressed() && !preventUnpack) diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/BaseNDArrayProxy.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/BaseNDArrayProxy.java index b805fb4dd..5f8b0a2c6 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/BaseNDArrayProxy.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/BaseNDArrayProxy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ndarray; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/BaseShapeInfoProvider.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/BaseShapeInfoProvider.java index ea0802b70..116887d01 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/BaseShapeInfoProvider.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/BaseShapeInfoProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ndarray; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/INDArray.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/INDArray.java index 08aa613fb..48ab8170f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/INDArray.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/INDArray.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ndarray; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/INDArrayStatistics.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/INDArrayStatistics.java index fcd8d2b90..89992a308 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/INDArrayStatistics.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/INDArrayStatistics.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ndarray; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/JvmShapeInfo.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/JvmShapeInfo.java index 9a0bd06d8..1d6064241 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/JvmShapeInfo.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/JvmShapeInfo.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ndarray; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/ShapeInfoProvider.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/ShapeInfoProvider.java index 1919128c7..8698efea6 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/ShapeInfoProvider.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/ShapeInfoProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ndarray; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseBroadcastBoolOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseBroadcastBoolOp.java index 5d7a3de42..8fe1f71da 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseBroadcastBoolOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseBroadcastBoolOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseBroadcastOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseBroadcastOp.java index 7493543b0..c874fd582 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseBroadcastOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseBroadcastOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseIndexAccumulation.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseIndexAccumulation.java index 3459d2050..cef8767d9 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseIndexAccumulation.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseIndexAccumulation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseOp.java index 991cdc9cf..c42fa7c56 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseOpContext.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseOpContext.java index c7d71db04..abfde32f1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseOpContext.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseOpContext.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseReduceBoolOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseReduceBoolOp.java index 5071d21f2..d26821053 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseReduceBoolOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseReduceBoolOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseReduceFloatOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseReduceFloatOp.java index ba57ca857..bbb5343d3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseReduceFloatOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseReduceFloatOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseReduceLongOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseReduceLongOp.java index 8b015e438..67f7ad971 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseReduceLongOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseReduceLongOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseReduceOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseReduceOp.java index f1bafe0de..129aa275b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseReduceOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseReduceOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseReduceSameOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseReduceSameOp.java index 258dad019..5abfae42c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseReduceSameOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseReduceSameOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; @@ -122,7 +124,7 @@ public abstract class BaseReduceSameOp extends BaseReduceOp implements ReduceSam Preconditions.checkState(dataTypes != null && (dataTypes.size() == 1 || dataTypes.size() == 2), "Expected 1 or 2 input datatypes for %s, got %s", getClass(), dataTypes); Preconditions.checkState(dataTypes.size() == 1 || dataTypes.get(1).isIntType(), "When executing reductions" + - "with 2 inputs, second input (axis) must be an integer datatype for %s, got %s", getClass(), dataTypes); + " with 2 inputs, second input (axis) must be an integer datatype for %s, got %s", getClass(), dataTypes); return Collections.singletonList(dataTypes.get(0)); } } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseScalarBoolOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseScalarBoolOp.java index 538daf453..d7fe47a34 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseScalarBoolOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseScalarBoolOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseScalarOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseScalarOp.java index f69576f77..9b47cd0f5 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseScalarOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseScalarOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; @@ -31,6 +33,7 @@ import org.nd4j.linalg.api.shape.Shape; import org.nd4j.linalg.factory.Nd4j; import java.util.ArrayList; +import java.util.Collections; import java.util.List; /** @@ -196,8 +199,8 @@ public abstract class BaseScalarOp extends BaseOp implements ScalarOp { @Override public List calculateOutputDataTypes(List dataTypes){ //All scalar ops: output type is same as input type - Preconditions.checkState(dataTypes != null && dataTypes.size() == 1, "Expected exactly 1 input datatype %s, got input %s", getClass(), dataTypes); - return dataTypes; + Preconditions.checkState(dataTypes != null && dataTypes.size() >= 1, "Expected 1 or more input datatype %s, got input %s", getClass(), dataTypes); + return Collections.singletonList(dataTypes.get(0)); } } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseTransformAnyOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseTransformAnyOp.java index 28b07e66c..231481988 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseTransformAnyOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseTransformAnyOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; @@ -108,7 +110,7 @@ public abstract class BaseTransformAnyOp extends BaseTransformOp implements Tran @Override public List calculateOutputDataTypes(List dataTypes){ //Transform any: for the purposes of samediff datatype calculation, treat as same in/out - Preconditions.checkState(dataTypes != null && dataTypes.size() == 1, "Expected exactly 1 input datatype for %s, got input %s", getClass(), dataTypes); + Preconditions.checkState(dataTypes != null && dataTypes.size() >= 1, "Expected at least 1 input datatype for %s, got input %s", getClass(), dataTypes); return dataTypes; } } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseTransformBoolOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseTransformBoolOp.java index 76e3d9ef9..fe2f9181f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseTransformBoolOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseTransformBoolOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseTransformFloatOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseTransformFloatOp.java index e34bcfff9..b14917717 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseTransformFloatOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseTransformFloatOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseTransformOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseTransformOp.java index bf6bbcd45..095f72cfd 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseTransformOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseTransformOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseTransformSameOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseTransformSameOp.java index d47ba8677..69aaac185 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseTransformSameOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseTransformSameOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; @@ -23,6 +25,7 @@ import org.nd4j.linalg.api.buffer.DataType; import org.nd4j.linalg.api.ndarray.INDArray; import org.nd4j.linalg.api.shape.LongShapeDescriptor; +import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -127,8 +130,17 @@ public abstract class BaseTransformSameOp extends BaseTransformOp implements Tra @Override public List calculateOutputDataTypes(List dataTypes){ - //All same tranform ops: always same output type as input type - Preconditions.checkState(dataTypes != null && dataTypes.size() == 1, "Expected exactly 1 input datatype for %s, got input %s", getClass(), dataTypes); - return dataTypes; + //All same transform ops: always same output type as input type + Preconditions.checkState(dataTypes != null, "Expected exactly 1 or more input datatype for %s, got input %s", getClass(), dataTypes); + + org.nd4j.linalg.api.buffer.DataType check = null; + for(org.nd4j.linalg.api.buffer.DataType dataType : dataTypes) { + if(check != null) { + Preconditions.checkState(dataType == check,"Data types must all be the same!"); + } else { + check = dataType; + } + } + return Arrays.asList(dataTypes.get(0)); } } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseTransformStrictOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseTransformStrictOp.java index efbcda7a6..bdb7081d4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseTransformStrictOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BaseTransformStrictOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; @@ -119,7 +121,7 @@ public abstract class BaseTransformStrictOp extends BaseTransformOp implements T @Override public List calculateOutputDataTypes(List dataTypes){ - //All strict tranform ops: FP in, FP out + //All strict transform ops: FP in, FP out Preconditions.checkState(dataTypes != null && dataTypes.size() == 1, "Expected exactly 1 input datatype for %s, got input %s", getClass(), dataTypes); Preconditions.checkState(dataTypes.get(0).isFPType(), "Only floating point types are supported for strict tranform ops - got %s", dataTypes.get(0)); return dataTypes; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BroadcastOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BroadcastOp.java index 56b19737f..c0cffd2bc 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BroadcastOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/BroadcastOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/CustomOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/CustomOp.java index cdf8e3b36..1e455c226 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/CustomOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/CustomOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/CustomOpDescriptor.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/CustomOpDescriptor.java index 9eb784717..5ca9cdacb 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/CustomOpDescriptor.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/CustomOpDescriptor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/DynamicCustomOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/DynamicCustomOp.java index 91297e024..116d77b08 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/DynamicCustomOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/DynamicCustomOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; @@ -566,7 +568,7 @@ public class DynamicCustomOp extends DifferentialFunction implements CustomOp { } else { String[] inputNames = sameDiff.getInputsForOp(this); String[] arrayShapes = new String[inputNames.length]; - for( int i=0; i" : Arrays.toString(arr.shape())); } @@ -846,7 +848,7 @@ public class DynamicCustomOp extends DifferentialFunction implements CustomOp { * multiple times and it will add arguments to a list. * PLEASE NOTE: this method does NOT validate values. * - * @param iargs + * @param bargs * @return */ public DynamicCustomOpsBuilder addBooleanArguments(boolean... bargs) { diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ExecutionMode.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ExecutionMode.java index 5d33e744c..a166bd2dd 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ExecutionMode.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ExecutionMode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/GridOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/GridOp.java index 3fdf385cc..568906485 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/GridOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/GridOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/IndexAccumulation.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/IndexAccumulation.java index b3d418ab6..1fa12b17a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/IndexAccumulation.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/IndexAccumulation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/LossFunction.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/LossFunction.java index c1bb35121..6838e6217 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/LossFunction.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/LossFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/MetaOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/MetaOp.java index 552b4d576..7aeb87e82 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/MetaOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/MetaOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/NoOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/NoOp.java index 692571df9..0556ef19a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/NoOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/NoOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; @@ -87,7 +89,7 @@ public class NoOp extends DynamicCustomOp { @Override - public List calculateOutputShape(){ + public List calculateOutputShape() { if(inputArguments != null && !inputArguments.isEmpty()){ return Collections.singletonList(inputArguments.get(0).shapeDescriptor()); } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/Op.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/Op.java index ca0a816c0..76c3af776 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/Op.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/Op.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/OpContext.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/OpContext.java index 49bc315c7..f792b6ed0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/OpContext.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/OpContext.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/RandomOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/RandomOp.java index dfebf6aea..c29367297 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/RandomOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/RandomOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ReduceBoolOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ReduceBoolOp.java index 021563c4c..a88857450 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ReduceBoolOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ReduceBoolOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ReduceFloatOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ReduceFloatOp.java index 6c6a67dde..c59501f49 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ReduceFloatOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ReduceFloatOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ReduceLongOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ReduceLongOp.java index 317c36663..86ee5442d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ReduceLongOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ReduceLongOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ReduceOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ReduceOp.java index 23d81c5b4..9e948aa57 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ReduceOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ReduceOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ReduceSameOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ReduceSameOp.java index fc39cbe06..329ee1386 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ReduceSameOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ReduceSameOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ScalarOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ScalarOp.java index 4baa5d02e..c6becd282 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ScalarOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/ScalarOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/TransformBoolOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/TransformBoolOp.java index 1450d0e6b..da9cd1ed6 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/TransformBoolOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/TransformBoolOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/TransformFloatOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/TransformFloatOp.java index dd50f5ea1..7290fac62 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/TransformFloatOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/TransformFloatOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/TransformOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/TransformOp.java index f50116d32..795e400fe 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/TransformOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/TransformOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/TransformSameOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/TransformSameOp.java index 5bb00dacd..bd44895c3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/TransformSameOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/TransformSameOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/TransformStrictOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/TransformStrictOp.java index bc0f91ea6..2c4a140f5 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/TransformStrictOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/TransformStrictOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/aggregates/Aggregate.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/aggregates/Aggregate.java index aba7dc99c..20f8e5061 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/aggregates/Aggregate.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/aggregates/Aggregate.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.aggregates; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/aggregates/BaseAggregate.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/aggregates/BaseAggregate.java index e1f99667a..88ad5d58a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/aggregates/BaseAggregate.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/aggregates/BaseAggregate.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.aggregates; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/aggregates/Batch.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/aggregates/Batch.java index a962846c7..12f8e493c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/aggregates/Batch.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/aggregates/Batch.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.aggregates; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/aggregates/impl/AggregateAxpy.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/aggregates/impl/AggregateAxpy.java index dcb25b8f2..a5ce42b87 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/aggregates/impl/AggregateAxpy.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/aggregates/impl/AggregateAxpy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.aggregates.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/aggregates/impl/AggregateGEMM.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/aggregates/impl/AggregateGEMM.java index f2e6b6d48..de153e6d8 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/aggregates/impl/AggregateGEMM.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/aggregates/impl/AggregateGEMM.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.aggregates.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/compat/CompatSparseToDense.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/compat/CompatSparseToDense.java index 41ebd659d..b55e9bfb6 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/compat/CompatSparseToDense.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/compat/CompatSparseToDense.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.compat; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/compat/CompatStringSplit.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/compat/CompatStringSplit.java index 2119fd5fd..0c2f8001b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/compat/CompatStringSplit.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/compat/CompatStringSplit.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.compat; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/compression/DecodeBitmap.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/compression/DecodeBitmap.java index b41a97dc9..952e91f86 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/compression/DecodeBitmap.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/compression/DecodeBitmap.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.compression; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/compression/DecodeThreshold.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/compression/DecodeThreshold.java index c4eed6f24..f7acbaddb 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/compression/DecodeThreshold.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/compression/DecodeThreshold.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.compression; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/compression/EncodeBitmap.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/compression/EncodeBitmap.java index ef4d62634..01f6ff158 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/compression/EncodeBitmap.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/compression/EncodeBitmap.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.compression; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/compression/EncodeThreshold.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/compression/EncodeThreshold.java index d1ac291e1..413d40b69 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/compression/EncodeThreshold.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/compression/EncodeThreshold.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.compression; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/AdjustContrast.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/AdjustContrast.java index 1dfeca5dc..8ad9de709 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/AdjustContrast.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/AdjustContrast.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.NonNull; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/AdjustHue.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/AdjustHue.java index 5e354d446..fe97158ad 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/AdjustHue.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/AdjustHue.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.NonNull; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/AdjustSaturation.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/AdjustSaturation.java index 19065055d..5ffddc54e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/AdjustSaturation.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/AdjustSaturation.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.NonNull; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/BarnesEdgeForces.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/BarnesEdgeForces.java index b0e11bc45..959d2c9fe 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/BarnesEdgeForces.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/BarnesEdgeForces.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.linalg.api.ops.custom; import org.nd4j.linalg.api.ndarray.INDArray; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/BarnesHutGains.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/BarnesHutGains.java index ff7396659..8607c504a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/BarnesHutGains.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/BarnesHutGains.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.linalg.api.ops.custom; import org.nd4j.linalg.api.ndarray.INDArray; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/BarnesHutSymmetrize.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/BarnesHutSymmetrize.java index 944dd39d6..5d25f5e4e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/BarnesHutSymmetrize.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/BarnesHutSymmetrize.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.linalg.api.ops.custom; import org.nd4j.linalg.api.buffer.DataType; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/BetaInc.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/BetaInc.java index 9365eac5c..0ca07e233 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/BetaInc.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/BetaInc.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.NonNull; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/BitCast.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/BitCast.java index aeb3e9f44..b3b0a77e8 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/BitCast.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/BitCast.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.val; @@ -87,6 +89,11 @@ public class BitCast extends DynamicCustomOp { public List calculateOutputDataTypes(List inputDataTypes){ int n = args().length; Preconditions.checkState(inputDataTypes != null && inputDataTypes.size() == n, "Expected %s input data types for %s, got %s", n, getClass(), inputDataTypes); + if(dtype == null) { + if(!iArguments.isEmpty()) { + dtype = DataType.fromInt(iArguments.get(0).intValue()); + } + } return Collections.singletonList(dtype); } } \ No newline at end of file diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/CompareAndBitpack.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/CompareAndBitpack.java index d30c0fe80..16000314d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/CompareAndBitpack.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/CompareAndBitpack.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import org.nd4j.autodiff.samediff.SDVariable; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Digamma.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Digamma.java index fed26470f..9e21867c7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Digamma.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Digamma.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/DivideNoNan.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/DivideNoNan.java index c6bb32abf..12a97ade9 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/DivideNoNan.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/DivideNoNan.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import org.nd4j.autodiff.samediff.SDVariable; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/DrawBoundingBoxes.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/DrawBoundingBoxes.java index 782d06b67..ca679fac5 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/DrawBoundingBoxes.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/DrawBoundingBoxes.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import org.nd4j.autodiff.samediff.SDVariable; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/FakeQuantWithMinMaxVarsPerChannel.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/FakeQuantWithMinMaxVarsPerChannel.java index c53c09476..940709f79 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/FakeQuantWithMinMaxVarsPerChannel.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/FakeQuantWithMinMaxVarsPerChannel.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import org.nd4j.autodiff.samediff.SDVariable; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Flatten.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Flatten.java index 540d470b7..83d91642d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Flatten.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Flatten.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; @@ -66,7 +68,7 @@ public class Flatten extends DynamicCustomOp { } @Override - public List calculateOutputDataTypes(List inputDataTypes){ + public List calculateOutputDataTypes(List inputDataTypes) { int n = args().length; Preconditions.checkState(inputDataTypes != null && inputDataTypes.size() == n, "Expected %s input data types for %s, got %s", n, getClass(), inputDataTypes); return Arrays.asList(inputDataTypes.get(0)); diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/FusedBatchNorm.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/FusedBatchNorm.java index 06bae2835..b29ae2dd5 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/FusedBatchNorm.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/FusedBatchNorm.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.NonNull; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/HsvToRgb.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/HsvToRgb.java index 48078d862..9f914e1ba 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/HsvToRgb.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/HsvToRgb.java @@ -1,19 +1,21 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Igamma.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Igamma.java index e22cd231f..3c2da9e2e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Igamma.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Igamma.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Igammac.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Igammac.java index 9d31d1c82..730a24896 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Igammac.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Igammac.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/KnnMinDistance.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/KnnMinDistance.java index 16656766f..a703fbc0f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/KnnMinDistance.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/KnnMinDistance.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.linalg.api.ops.custom; import org.nd4j.linalg.api.ndarray.INDArray; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Lgamma.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Lgamma.java index 06b826cbc..35612fd22 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Lgamma.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Lgamma.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/LinearSolve.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/LinearSolve.java index 0a3e397fd..1479a1036 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/LinearSolve.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/LinearSolve.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Logdet.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Logdet.java index e1c558ef1..3d77467d3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Logdet.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Logdet.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Lstsq.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Lstsq.java index 6c437518c..7102a6192 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Lstsq.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Lstsq.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Lu.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Lu.java index 4e607a214..5e8709698 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Lu.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Lu.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/MatrixBandPart.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/MatrixBandPart.java index 804c07699..84eb157a7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/MatrixBandPart.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/MatrixBandPart.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Polygamma.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Polygamma.java index 647c82bcf..320e3a5b1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Polygamma.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Polygamma.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.NonNull; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/RandomCrop.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/RandomCrop.java index f37f79f97..fdd9161ad 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/RandomCrop.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/RandomCrop.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.NonNull; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/RgbToGrayscale.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/RgbToGrayscale.java index f0e8c3022..778883076 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/RgbToGrayscale.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/RgbToGrayscale.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/RgbToHsv.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/RgbToHsv.java index 7baf0a788..79b30c111 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/RgbToHsv.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/RgbToHsv.java @@ -1,19 +1,21 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/RgbToYiq.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/RgbToYiq.java index 3a2ca46cf..942f0bc18 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/RgbToYiq.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/RgbToYiq.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/RgbToYuv.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/RgbToYuv.java index 679e1d3e5..20592e7d4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/RgbToYuv.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/RgbToYuv.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Roll.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Roll.java index 9a7c04c87..18b3eb700 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Roll.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Roll.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.NonNull; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/ScatterUpdate.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/ScatterUpdate.java index 50c5db75e..a246c41da 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/ScatterUpdate.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/ScatterUpdate.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; @@ -31,14 +33,14 @@ import org.nd4j.linalg.factory.Nd4j; import java.util.ArrayList; import java.util.List; -public class ScatterUpdate implements CustomOp { +public class ScatterUpdate extends DynamicCustomOp { protected CustomOp op; // update operation: 0 - add; 1 - sub; 2 - mul; 3 - div; 4 - rsub; 5 - rdiv; 6 - assign public enum UpdateOp { ADD, SUBTRACT, - MILTIPLY, + MULTIPLY, DIVIDE, RSUBTRACT, RDIVIDE, @@ -78,6 +80,12 @@ public class ScatterUpdate implements CustomOp { .build(); } + @Override + public List calculateOutputDataTypes(List dataTypes) { + DynamicCustomOp dynamicCustomOp = (DynamicCustomOp) op; + return dynamicCustomOp.calculateOutputDataTypes(dataTypes); + } + /** * This method returns op opName as string * diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/SpTreeCell.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/SpTreeCell.java index cbbf97d1d..53d1007dd 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/SpTreeCell.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/SpTreeCell.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.linalg.api.ops.custom; import org.nd4j.linalg.api.ndarray.INDArray; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/ToggleBits.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/ToggleBits.java index 4aa33dc0d..970afaee2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/ToggleBits.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/ToggleBits.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.NonNull; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Tri.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Tri.java index 865815e6b..f9519de12 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Tri.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Tri.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/TriangularSolve.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/TriangularSolve.java index 641425d61..ee0dcf720 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/TriangularSolve.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/TriangularSolve.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.linalg.api.ops.custom; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Triu.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Triu.java index 3225a197f..7fe4b27b8 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Triu.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/Triu.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/TriuBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/TriuBp.java index 1664512b5..fe206fdfb 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/TriuBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/TriuBp.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/YiqToRgb.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/YiqToRgb.java index 3f647dfbe..3ef9428c8 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/YiqToRgb.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/YiqToRgb.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/YuvToRgb.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/YuvToRgb.java index 1776a7b85..c95e93291 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/YuvToRgb.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/custom/YuvToRgb.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/executioner/DefaultOpExecutioner.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/executioner/DefaultOpExecutioner.java index f4be7cc92..8ecdd90ae 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/executioner/DefaultOpExecutioner.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/executioner/DefaultOpExecutioner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.executioner; @@ -943,6 +945,11 @@ public abstract class DefaultOpExecutioner implements OpExecutioner { throw new UnsupportedOperationException(); } + @Override + public DataBuffer createShapeInfo(long[] shape, long[] stride, long elementWiseStride, char order, DataType dtype, long extras) { + throw new UnsupportedOperationException(); + } + @Override public TadPack tadShapeInfoAndOffsets(INDArray array, int[] dimension) { throw new UnsupportedOperationException(); diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/executioner/GridExecutioner.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/executioner/GridExecutioner.java index b69e41572..2cd01bba2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/executioner/GridExecutioner.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/executioner/GridExecutioner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.executioner; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/executioner/OpExecutioner.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/executioner/OpExecutioner.java index fcf8bfd3f..2f6aab7af 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/executioner/OpExecutioner.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/executioner/OpExecutioner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.executioner; @@ -455,6 +457,8 @@ public interface OpExecutioner { */ DataBuffer createShapeInfo(long[] shape, long[] stride, long elementWiseStride, char order, DataType dtype, boolean empty); + DataBuffer createShapeInfo(long[] shape, long[] stride, long elementWiseStride, char order, DataType dtype, long extra); + /** * This method returns host/device tad buffers */ diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/executioner/OpExecutionerUtil.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/executioner/OpExecutionerUtil.java index 83421e247..bbb5330b5 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/executioner/OpExecutionerUtil.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/executioner/OpExecutionerUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.executioner; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/executioner/OpStatus.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/executioner/OpStatus.java index ad9b94757..33ff3a269 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/executioner/OpStatus.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/executioner/OpStatus.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.executioner; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/grid/GridDescriptor.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/grid/GridDescriptor.java index 7c04a0cea..83c55a739 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/grid/GridDescriptor.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/grid/GridDescriptor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.grid; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/grid/GridPointers.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/grid/GridPointers.java index fdc0cbb32..3a0dd405e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/grid/GridPointers.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/grid/GridPointers.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.grid; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/grid/OpDescriptor.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/grid/OpDescriptor.java index f312b4b2b..30594fb73 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/grid/OpDescriptor.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/grid/OpDescriptor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.grid; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BiasAdd.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BiasAdd.java index 3cf533518..2a5742f56 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BiasAdd.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BiasAdd.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.broadcast; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BiasAddGrad.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BiasAddGrad.java index bf9b05ae9..f6e53511e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BiasAddGrad.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BiasAddGrad.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.broadcast; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastAMax.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastAMax.java index c1fceccb6..22d5300ea 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastAMax.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastAMax.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.broadcast; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastAMin.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastAMin.java index c3ba1fb45..9ee9fbb76 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastAMin.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastAMin.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.broadcast; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastAddOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastAddOp.java index 97d5689f5..62b210856 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastAddOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastAddOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.broadcast; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastCopyOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastCopyOp.java index 00700b3c6..dc13a7ff8 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastCopyOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastCopyOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.broadcast; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastDivOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastDivOp.java index 68a1a7ab6..b098b10c3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastDivOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastDivOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.broadcast; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastGradientArgs.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastGradientArgs.java index 516a2d754..b410cf019 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastGradientArgs.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastGradientArgs.java @@ -1,26 +1,30 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.broadcast; import org.nd4j.autodiff.samediff.SDVariable; import org.nd4j.autodiff.samediff.SameDiff; +import org.nd4j.linalg.api.buffer.DataType; import org.nd4j.linalg.api.ndarray.INDArray; import org.nd4j.linalg.api.ops.BaseBroadcastOp; +import java.util.Collections; import java.util.List; public class BroadcastGradientArgs extends BaseBroadcastOp { @@ -55,6 +59,11 @@ public class BroadcastGradientArgs extends BaseBroadcastOp { } + @Override + public List calculateOutputDataTypes(List dataTypes){ + //Always int datatype out (a shape) + return Collections.singletonList(DataType.INT); + } @Override public List doDiff(List f1) { diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastMax.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastMax.java index 398c39ca0..48daa524b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastMax.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastMax.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.broadcast; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastMin.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastMin.java index 1d242da34..d5aca31ef 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastMin.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastMin.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.broadcast; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastMulOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastMulOp.java index 406b3f6f2..2daac180c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastMulOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastMulOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.broadcast; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastRDivOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastRDivOp.java index 66cb722af..128c066ee 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastRDivOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastRDivOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.broadcast; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastRSubOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastRSubOp.java index c7b1f0073..be444be96 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastRSubOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastRSubOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.broadcast; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastSubOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastSubOp.java index f4e93ea22..7f1ae0436 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastSubOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastSubOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.broadcast; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastTo.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastTo.java index 44429745c..7e179f6ef 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastTo.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/BroadcastTo.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.broadcast; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/bool/BroadcastEqualTo.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/bool/BroadcastEqualTo.java index 553f70b24..d0901e247 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/bool/BroadcastEqualTo.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/bool/BroadcastEqualTo.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.broadcast.bool; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/bool/BroadcastGreaterThan.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/bool/BroadcastGreaterThan.java index 2308d3071..5d66e0a56 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/bool/BroadcastGreaterThan.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/bool/BroadcastGreaterThan.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.broadcast.bool; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/bool/BroadcastGreaterThanOrEqual.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/bool/BroadcastGreaterThanOrEqual.java index f9b872251..229902f58 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/bool/BroadcastGreaterThanOrEqual.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/bool/BroadcastGreaterThanOrEqual.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.broadcast.bool; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/bool/BroadcastLessThan.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/bool/BroadcastLessThan.java index 4003fe5a4..da794f803 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/bool/BroadcastLessThan.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/bool/BroadcastLessThan.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.broadcast.bool; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/bool/BroadcastLessThanOrEqual.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/bool/BroadcastLessThanOrEqual.java index 9697c8bb6..a8f7cbd3e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/bool/BroadcastLessThanOrEqual.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/bool/BroadcastLessThanOrEqual.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.broadcast.bool; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/bool/BroadcastNotEqual.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/bool/BroadcastNotEqual.java index 6bb27ec47..c6a350b79 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/bool/BroadcastNotEqual.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/broadcast/bool/BroadcastNotEqual.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.broadcast.bool; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/Select.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/Select.java index 4da11727c..5e3be2efd 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/Select.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/Select.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.controlflow; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/Where.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/Where.java index 10d638178..ff3506a7d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/Where.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/Where.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.controlflow; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/WhereNumpy.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/WhereNumpy.java index c305eb76d..514e3d2a7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/WhereNumpy.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/WhereNumpy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.controlflow; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/BaseCompatOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/BaseCompatOp.java index c1aff757d..915255ad9 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/BaseCompatOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/BaseCompatOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.controlflow.compat; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/Enter.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/Enter.java index fce142111..a35dbb97a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/Enter.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/Enter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.controlflow.compat; @@ -41,13 +43,13 @@ public class Enter extends BaseCompatOp { super(sameDiff, inputs); } - public Enter(SameDiff sameDiff, String frameName, SDVariable input){ + public Enter(SameDiff sameDiff, String frameName, SDVariable input ){ super(sameDiff, new SDVariable[]{input}); this.frameName = frameName; isConstant = input.isConstant(); } - public Enter(SameDiff sameDiff, String frameName, SDVariable input, boolean isConstant){ + public Enter(SameDiff sameDiff, String frameName, SDVariable input, boolean isConstant) { super(sameDiff, new SDVariable[]{input}); this.frameName = frameName; this.isConstant = isConstant; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/Exit.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/Exit.java index 7fdd92962..7157dcc71 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/Exit.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/Exit.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.controlflow.compat; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/LoopCond.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/LoopCond.java index e408912a3..8811e9a40 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/LoopCond.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/LoopCond.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.controlflow.compat; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/Merge.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/Merge.java index 1e6ec02d9..34e25b26c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/Merge.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/Merge.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.controlflow.compat; @@ -33,7 +35,7 @@ import java.util.Map; public class Merge extends BaseCompatOp { - public Merge(SameDiff sd, SDVariable[] inputs){ + public Merge(SameDiff sd, SDVariable ... inputs){ super(sd, inputs); } @@ -41,9 +43,7 @@ public class Merge extends BaseCompatOp { super(inputs); } - public Merge(){ - - } + public Merge(){ } /** * WARNING: do not change without changing serialization methods @@ -53,9 +53,6 @@ public class Merge extends BaseCompatOp { public static final String OP_NAME = "merge"; public static final int OP_NUM = 60; - public Merge(SameDiff sd, SDVariable a, SDVariable b){ - this(sd, new SDVariable[]{a, b}); - } @Override public String opName() { @@ -71,7 +68,7 @@ public class Merge extends BaseCompatOp { public SDVariable[] outputVariables() { return super.outputVariables(); } - + //rnn/TensorArrayStack/TensorArrayGatherV3 @Override public String tensorflowName() { return "Merge"; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/NextIteration.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/NextIteration.java index 5fd09dcd0..487289baa 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/NextIteration.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/NextIteration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.controlflow.compat; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/StopGradient.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/StopGradient.java index f302c752a..78259b46c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/StopGradient.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/StopGradient.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.controlflow.compat; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/Switch.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/Switch.java index 2bd6923e7..c23d8fa23 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/Switch.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/Switch.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.controlflow.compat; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/While.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/While.java new file mode 100644 index 000000000..9515ff3d0 --- /dev/null +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/controlflow/compat/While.java @@ -0,0 +1,101 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.linalg.api.ops.impl.controlflow.compat; + +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nd4j.autodiff.samediff.SDVariable; +import org.nd4j.autodiff.samediff.SameDiff; +import org.nd4j.common.base.Preconditions; +import org.nd4j.linalg.api.buffer.DataType; +import org.nd4j.linalg.api.ops.Op.Type; +import org.tensorflow.framework.AttrValue; +import org.tensorflow.framework.GraphDef; +import org.tensorflow.framework.NodeDef; + +import java.util.List; +import java.util.Map; + +@Data +@NoArgsConstructor +public class While extends BaseCompatOp { + + protected boolean isConstant; + + public While(SameDiff sameDiff, SDVariable[] inputs){ + super(sameDiff, inputs); + } + + public While(SameDiff sameDiff, String frameName, SDVariable input){ + super(sameDiff, new SDVariable[]{input}); + this.frameName = frameName; + isConstant = input.isConstant(); + } + + public While(SameDiff sameDiff, String frameName, SDVariable input, boolean isConstant){ + super(sameDiff, new SDVariable[]{input}); + this.frameName = frameName; + this.isConstant = isConstant; + } + + /** + * WARNING: do not change without changing serialization methods + * See {@link org.nd4j.autodiff.samediff.serde.FlatBuffersMapper#getOpNum(String, Type)} + * and {@link org.nd4j.imports.converters.DifferentialFunctionClassHolder#customOpClassForHashAndName(long, String)} + */ + public static final String OP_NAME = "While"; + public static final int OP_NUM = 101; + + @Override + public String opName() { + return OP_NAME; + } + + @Override + public SDVariable[] outputVariables() { + return super.outputVariables(); + } + + @Override + public String tensorflowName() { + return "While"; + } + + @Override + public Type opType() { + return Type.LOGIC; + } + + @Override + public void initFromTensorFlow(NodeDef nodeDef, SameDiff initWith, Map attributesForNode, GraphDef graph) { + super.initFromTensorFlow(nodeDef, initWith, attributesForNode, graph); + isConstant = attributesForNode.get("is_constant").getB(); + } + + @Override + public int getNumOutputs(){ + return 1; + } + + @Override + public List calculateOutputDataTypes(List inputDataTypes){ + Preconditions.checkState(inputDataTypes != null && inputDataTypes.size() == 1, "Expected 1 input datatype for %s, got %s", getClass(), inputDataTypes); + return inputDataTypes; + } +} diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/grid/BaseGridOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/grid/BaseGridOp.java index d5742273e..b7ce13df1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/grid/BaseGridOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/grid/BaseGridOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.grid; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/grid/FreeGridOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/grid/FreeGridOp.java index d47e8de55..d00cd229b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/grid/FreeGridOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/grid/FreeGridOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.grid; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/CropAndResize.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/CropAndResize.java index 67c67e8fa..d284a71b8 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/CropAndResize.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/CropAndResize.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.image; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/ExtractImagePatches.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/ExtractImagePatches.java index e71d430c3..58ac1bfea 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/ExtractImagePatches.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/ExtractImagePatches.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.image; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/ImageResize.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/ImageResize.java index ec05a3621..e95c5c5ee 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/ImageResize.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/ImageResize.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.image; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/NonMaxSuppression.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/NonMaxSuppression.java index f7ab95d77..7ea08392d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/NonMaxSuppression.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/NonMaxSuppression.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.image; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/NonMaxSuppressionV3.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/NonMaxSuppressionV3.java index 77c8642cf..1a973ab44 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/NonMaxSuppressionV3.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/NonMaxSuppressionV3.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.image; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/NonMaxSuppressionWithOverlaps.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/NonMaxSuppressionWithOverlaps.java new file mode 100644 index 000000000..e2250be64 --- /dev/null +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/NonMaxSuppressionWithOverlaps.java @@ -0,0 +1,102 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.linalg.api.ops.impl.image; + +import lombok.NonNull; +import org.nd4j.autodiff.samediff.SDVariable; +import org.nd4j.autodiff.samediff.SameDiff; +import org.nd4j.imports.NoOpNameFoundException; +import org.nd4j.linalg.api.buffer.DataType; +import org.nd4j.linalg.api.ndarray.INDArray; +import org.nd4j.linalg.api.ops.DynamicCustomOp; +import org.nd4j.linalg.api.ops.Op; + +import java.util.Collections; +import java.util.List; + +/** + * Non max suppression with overlaps + * + * @author raver119@gmail.com + */ +public class NonMaxSuppressionWithOverlaps extends DynamicCustomOp { + + public NonMaxSuppressionWithOverlaps() {} + + public NonMaxSuppressionWithOverlaps(SameDiff sameDiff, + @NonNull SDVariable boxes, + @NonNull SDVariable scores, + @NonNull SDVariable maxOutSize, + @NonNull SDVariable iouThreshold, + @NonNull SDVariable scoreThreshold) { + super(null, sameDiff, new SDVariable[]{boxes, scores, maxOutSize, iouThreshold, scoreThreshold}, false); + } + + public NonMaxSuppressionWithOverlaps(SameDiff sameDiff, + SDVariable boxes, + SDVariable scores, + int maxOutSize, + double iouThreshold, + double scoreThreshold) { + super(null, sameDiff, new SDVariable[]{boxes, scores}, false); + addIArgument(maxOutSize); + addTArgument(iouThreshold, scoreThreshold); + } + + public NonMaxSuppressionWithOverlaps(INDArray boxes, INDArray scores, + int maxOutSize, + double iouThreshold, + double scoreThreshold) { + addInputArgument(boxes,scores); + addIArgument(maxOutSize); + addTArgument(iouThreshold, scoreThreshold); + } + + @Override + public String onnxName() { + throw new NoOpNameFoundException("No onnx name found for shape " + opName()); + } + + @Override + public String tensorflowName() { + return "NonMaxSuppressionWithOverlaps"; + } + + + @Override + public String opName() { + return "non_max_suppression_overlaps"; + } + + @Override + public Op.Type opType() { + return Op.Type.CUSTOM; + } + + @Override + public List doDiff(List i_v) { + return Collections.singletonList(sameDiff.zerosLike(arg())); + } + + @Override + public List calculateOutputDataTypes(List inputDataTypes){ + //Always 1D integer tensor (indices) + return Collections.singletonList(DataType.INT); + } +} diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/ResizeArea.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/ResizeArea.java index 30a05ba55..507dd5728 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/ResizeArea.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/ResizeArea.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit, K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.image; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/ResizeBicubic.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/ResizeBicubic.java index 7c98cb12c..fb57c07e2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/ResizeBicubic.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/ResizeBicubic.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019 Konduit, K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.image; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/ResizeBilinear.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/ResizeBilinear.java index 65c671ae3..5aed91f2a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/ResizeBilinear.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/ResizeBilinear.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.image; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/ResizeNearestNeighbor.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/ResizeNearestNeighbor.java index a9975f0c7..2fba1f113 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/ResizeNearestNeighbor.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/image/ResizeNearestNeighbor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.image; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/indexaccum/FirstIndex.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/indexaccum/FirstIndex.java index bc6249049..641597e44 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/indexaccum/FirstIndex.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/indexaccum/FirstIndex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.indexaccum; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/indexaccum/LastIndex.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/indexaccum/LastIndex.java index 1325d33c5..9f867003f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/indexaccum/LastIndex.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/indexaccum/LastIndex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.indexaccum; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/indexaccum/custom/ArgAmax.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/indexaccum/custom/ArgAmax.java index b4d74d3be..7e2dd8a17 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/indexaccum/custom/ArgAmax.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/indexaccum/custom/ArgAmax.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.indexaccum.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/indexaccum/custom/ArgAmin.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/indexaccum/custom/ArgAmin.java index 530d7778e..4e0909a48 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/indexaccum/custom/ArgAmin.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/indexaccum/custom/ArgAmin.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.indexaccum.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/indexaccum/custom/ArgMax.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/indexaccum/custom/ArgMax.java index 799e6ec65..dab549e9c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/indexaccum/custom/ArgMax.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/indexaccum/custom/ArgMax.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.indexaccum.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/indexaccum/custom/ArgMin.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/indexaccum/custom/ArgMin.java index cfd96de42..0cd9bf1ae 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/indexaccum/custom/ArgMin.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/indexaccum/custom/ArgMin.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.indexaccum.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/ExternalErrorsFunction.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/ExternalErrorsFunction.java index e154d4da7..d6a729046 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/ExternalErrorsFunction.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/ExternalErrorsFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/AvgPooling2D.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/AvgPooling2D.java index ce1898d0b..1f8cb2e31 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/AvgPooling2D.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/AvgPooling2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; @@ -140,7 +142,7 @@ public class AvgPooling2D extends DynamicCustomOp { @Override public Map propertiesForFunction() { - if(config == null && iArguments.size() > 0){ + if(config == null && iArguments.size() > 0) { //Perhaps loaded from FlatBuffers - hence we have IArgs but not Config object config = Pooling2DConfig.builder() .kH(iArguments.get(0)) @@ -157,6 +159,7 @@ public class AvgPooling2D extends DynamicCustomOp { .type(Pooling2D.Pooling2DType.AVG) .build(); } + return config.toProperties(); } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/AvgPooling3D.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/AvgPooling3D.java index caa9d8cd8..8c9629028 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/AvgPooling3D.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/AvgPooling3D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; @@ -65,7 +67,9 @@ public class AvgPooling3D extends Pooling3D { @Override public Map propertiesForFunction() { - return config.toProperties(); + if(config != null) + return config.toProperties(); + return Collections.emptyMap(); } @Override diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/BatchNorm.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/BatchNorm.java index c58bc5dc9..9acf8b43b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/BatchNorm.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/BatchNorm.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/BatchNormDerivative.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/BatchNormDerivative.java index 0cac5affc..12dc1497f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/BatchNormDerivative.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/BatchNormDerivative.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Col2Im.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Col2Im.java index 72c2b870b..813be17b7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Col2Im.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Col2Im.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Conv1D.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Conv1D.java index d7d679299..9ff41ac14 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Conv1D.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Conv1D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Conv1DDerivative.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Conv1DDerivative.java index df67eecc0..669d8f149 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Conv1DDerivative.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Conv1DDerivative.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Conv2D.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Conv2D.java index 22eada4f7..86f014775 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Conv2D.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Conv2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; @@ -70,7 +72,7 @@ public class Conv2D extends DynamicCustomOp { } public Conv2D(INDArray[] inputs, INDArray[] outputs, Conv2DConfig config){ - super(inputs, outputs); + super(inputs, outputs); initConfig(config); } @@ -125,7 +127,9 @@ public class Conv2D extends DynamicCustomOp { @Override public Map propertiesForFunction() { - return config.toProperties(); + if(config != null) + return config.toProperties(); + return Collections.emptyMap(); } @Override @@ -167,12 +171,12 @@ public class Conv2D extends DynamicCustomOp { Map onnxMappings = new HashMap<>(); - onnxMappings.put("kH", new SizeThresholdIntArrayIntIndexAdpater(0, 2, 0)); - onnxMappings.put("kW", new SizeThresholdIntArrayIntIndexAdpater(1, 2, 0)); - onnxMappings.put("dH", new SizeThresholdIntArrayIntIndexAdpater(0, 2, 0)); - onnxMappings.put("dW", new SizeThresholdIntArrayIntIndexAdpater(1, 2, 0)); - onnxMappings.put("sH", new SizeThresholdIntArrayIntIndexAdpater(0, 2, 0)); - onnxMappings.put("sW", new SizeThresholdIntArrayIntIndexAdpater(1, 2, 0)); + onnxMappings.put("kH", new SizeThresholdIntArrayIntIndexAdapter(0, 2, 0)); + onnxMappings.put("kW", new SizeThresholdIntArrayIntIndexAdapter(1, 2, 0)); + onnxMappings.put("dH", new SizeThresholdIntArrayIntIndexAdapter(0, 2, 0)); + onnxMappings.put("dW", new SizeThresholdIntArrayIntIndexAdapter(1, 2, 0)); + onnxMappings.put("sH", new SizeThresholdIntArrayIntIndexAdapter(0, 2, 0)); + onnxMappings.put("sW", new SizeThresholdIntArrayIntIndexAdapter(1, 2, 0)); onnxMappings.put("isSameMode", new StringEqualsAdapter("SAME")); ret.put(tensorflowName(), tfMappings); diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Conv2DDerivative.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Conv2DDerivative.java index 62afaf903..5923e5d43 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Conv2DDerivative.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Conv2DDerivative.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Conv3D.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Conv3D.java index 0a6ecc80d..21daf15fc 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Conv3D.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Conv3D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; @@ -161,13 +163,13 @@ public class Conv3D extends DynamicCustomOp { tfAdapters.put("kH", new NDArrayShapeAdapter(1)); tfAdapters.put("kW", new NDArrayShapeAdapter(2)); - tfAdapters.put("sD", new IntArrayIntIndexAdpater(1)); - tfAdapters.put("sH", new IntArrayIntIndexAdpater(2)); - tfAdapters.put("sW", new IntArrayIntIndexAdpater(3)); + tfAdapters.put("sD", new IntArrayIntIndexAdapter(1)); + tfAdapters.put("sH", new IntArrayIntIndexAdapter(2)); + tfAdapters.put("sW", new IntArrayIntIndexAdapter(3)); - tfAdapters.put("pD", new IntArrayIntIndexAdpater(1)); - tfAdapters.put("pH", new IntArrayIntIndexAdpater(2)); - tfAdapters.put("pW", new IntArrayIntIndexAdpater(3)); + tfAdapters.put("pD", new IntArrayIntIndexAdapter(1)); + tfAdapters.put("pH", new IntArrayIntIndexAdapter(2)); + tfAdapters.put("pW", new IntArrayIntIndexAdapter(3)); tfAdapters.put("isSameMode", new StringNotEqualsAdapter("VALID")); diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Conv3DDerivative.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Conv3DDerivative.java index 3c75e0cdb..ccad6b020 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Conv3DDerivative.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Conv3DDerivative.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DeConv2D.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DeConv2D.java index 8e2d82105..f72daea6e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DeConv2D.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DeConv2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DeConv2DDerivative.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DeConv2DDerivative.java index 06c551447..49eb0cf5e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DeConv2DDerivative.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DeConv2DDerivative.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DeConv2DTF.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DeConv2DTF.java index 7d6e30e08..b28072946 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DeConv2DTF.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DeConv2DTF.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; @@ -198,12 +200,12 @@ public class DeConv2DTF extends DynamicCustomOp { Map onnxMappings = new HashMap<>(); - onnxMappings.put("kH", new SizeThresholdIntArrayIntIndexAdpater(0, 2, 0)); - onnxMappings.put("kW", new SizeThresholdIntArrayIntIndexAdpater(1, 2, 0)); - onnxMappings.put("dH", new SizeThresholdIntArrayIntIndexAdpater(0, 2, 0)); - onnxMappings.put("dW", new SizeThresholdIntArrayIntIndexAdpater(1, 2, 0)); - onnxMappings.put("sH", new SizeThresholdIntArrayIntIndexAdpater(0, 2, 0)); - onnxMappings.put("sW", new SizeThresholdIntArrayIntIndexAdpater(1, 2, 0)); + onnxMappings.put("kH", new SizeThresholdIntArrayIntIndexAdapter(0, 2, 0)); + onnxMappings.put("kW", new SizeThresholdIntArrayIntIndexAdapter(1, 2, 0)); + onnxMappings.put("dH", new SizeThresholdIntArrayIntIndexAdapter(0, 2, 0)); + onnxMappings.put("dW", new SizeThresholdIntArrayIntIndexAdapter(1, 2, 0)); + onnxMappings.put("sH", new SizeThresholdIntArrayIntIndexAdapter(0, 2, 0)); + onnxMappings.put("sW", new SizeThresholdIntArrayIntIndexAdapter(1, 2, 0)); onnxMappings.put("isSameMode", new StringEqualsAdapter("SAME")); onnxMappings.put("isNHWC", new StringEqualsAdapter("NHWC")); diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DeConv3D.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DeConv3D.java index b41f4fe64..213c43b3f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DeConv3D.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DeConv3D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DeConv3DDerivative.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DeConv3DDerivative.java index 9aec486ee..77a9f8a78 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DeConv3DDerivative.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DeConv3DDerivative.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DeConv3DTF.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DeConv3DTF.java index 0ec5ec448..49dc4eb97 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DeConv3DTF.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DeConv3DTF.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DepthToSpace.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DepthToSpace.java index 20808dff5..573e09740 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DepthToSpace.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DepthToSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DepthwiseConv2D.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DepthwiseConv2D.java index 031d82447..1ae607523 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DepthwiseConv2D.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DepthwiseConv2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; @@ -31,7 +33,7 @@ import org.nd4j.imports.descriptors.properties.AttributeAdapter; import org.nd4j.imports.descriptors.properties.PropertyMapping; import org.nd4j.imports.descriptors.properties.adapters.ConditionalFieldValueIntIndexArrayAdapter; import org.nd4j.imports.descriptors.properties.adapters.NDArrayShapeAdapter; -import org.nd4j.imports.descriptors.properties.adapters.SizeThresholdIntArrayIntIndexAdpater; +import org.nd4j.imports.descriptors.properties.adapters.SizeThresholdIntArrayIntIndexAdapter; import org.nd4j.imports.descriptors.properties.adapters.StringEqualsAdapter; import org.nd4j.imports.graphmapper.tf.TFGraphMapper; import org.nd4j.linalg.api.buffer.DataType; @@ -196,12 +198,12 @@ public class DepthwiseConv2D extends DynamicCustomOp { Map onnxMappings = new HashMap<>(); - onnxMappings.put("kH", new SizeThresholdIntArrayIntIndexAdpater(0, 2, 0)); - onnxMappings.put("kW", new SizeThresholdIntArrayIntIndexAdpater(1, 2, 0)); - onnxMappings.put("dH", new SizeThresholdIntArrayIntIndexAdpater(0, 2, 0)); - onnxMappings.put("dW", new SizeThresholdIntArrayIntIndexAdpater(1, 2, 0)); - onnxMappings.put("sH", new SizeThresholdIntArrayIntIndexAdpater(0, 2, 0)); - onnxMappings.put("sW", new SizeThresholdIntArrayIntIndexAdpater(1, 2, 0)); + onnxMappings.put("kH", new SizeThresholdIntArrayIntIndexAdapter(0, 2, 0)); + onnxMappings.put("kW", new SizeThresholdIntArrayIntIndexAdapter(1, 2, 0)); + onnxMappings.put("dH", new SizeThresholdIntArrayIntIndexAdapter(0, 2, 0)); + onnxMappings.put("dW", new SizeThresholdIntArrayIntIndexAdapter(1, 2, 0)); + onnxMappings.put("sH", new SizeThresholdIntArrayIntIndexAdapter(0, 2, 0)); + onnxMappings.put("sW", new SizeThresholdIntArrayIntIndexAdapter(1, 2, 0)); onnxMappings.put("isSameMode", new StringEqualsAdapter("SAME")); diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DepthwiseConv2DBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DepthwiseConv2DBp.java index 56681a4ac..da406735a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DepthwiseConv2DBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/DepthwiseConv2DBp.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; import lombok.*; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Im2col.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Im2col.java index 7fde898b2..dcf1ae016 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Im2col.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Im2col.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Im2colBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Im2colBp.java index b6dff8797..f2cce3c04 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Im2colBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Im2colBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/LocalResponseNormalization.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/LocalResponseNormalization.java index 644c99b6f..17065ac7c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/LocalResponseNormalization.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/LocalResponseNormalization.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; @@ -79,7 +81,9 @@ public class LocalResponseNormalization extends DynamicCustomOp { @Override public Map propertiesForFunction() { - return config.toProperties(); + if(config != null) + return config.toProperties(); + return Collections.emptyMap(); } private void addArgs() { diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/LocalResponseNormalizationDerivative.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/LocalResponseNormalizationDerivative.java index b4911c4d6..ad823626b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/LocalResponseNormalizationDerivative.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/LocalResponseNormalizationDerivative.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/MaxPoolWithArgmax.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/MaxPoolWithArgmax.java index 6a568acf8..df5cddec1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/MaxPoolWithArgmax.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/MaxPoolWithArgmax.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; @@ -82,7 +84,7 @@ public class MaxPoolWithArgmax extends DynamicCustomOp { @Override public Map propertiesForFunction() { - if(config == null && !iArguments.isEmpty()){ + if(config == null && !iArguments.isEmpty()) { //Perhaps loaded from FlatBuffers - hence we have IArgs but not Config object config = Pooling2DConfig.builder() .kH(iArguments.get(0)) diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/MaxPooling2D.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/MaxPooling2D.java index cab37eb3d..3a294546d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/MaxPooling2D.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/MaxPooling2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; @@ -302,7 +304,7 @@ public class MaxPooling2D extends DynamicCustomOp { @Override public List calculateOutputDataTypes(List inputDataTypes){ - Preconditions.checkState(inputDataTypes != null && inputDataTypes.size() == 1, "Expected 1 input data type for %s, got %s", getClass(), inputDataTypes); + Preconditions.checkState(inputDataTypes != null && !inputDataTypes.isEmpty(), "Expected at least 1 input data type for %s, got %s", getClass(), inputDataTypes); return Collections.singletonList(inputDataTypes.get(0)); } } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/MaxPooling3D.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/MaxPooling3D.java index 4aa4ba3e5..df6e7dc1c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/MaxPooling3D.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/MaxPooling3D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; @@ -72,7 +74,9 @@ public class MaxPooling3D extends Pooling3D { @Override public Map propertiesForFunction() { - return config.toProperties(); + if(config != null) + return config.toProperties(); + return Collections.emptyMap(); } @Override diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Pooling2D.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Pooling2D.java index 30a3de688..a3527c29f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Pooling2D.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Pooling2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Pooling2DDerivative.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Pooling2DDerivative.java index f5880596a..48cf0a364 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Pooling2DDerivative.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Pooling2DDerivative.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Pooling3D.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Pooling3D.java index 5bc675edd..a12664cab 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Pooling3D.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Pooling3D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; @@ -165,14 +167,15 @@ public abstract class Pooling3D extends DynamicCustomOp { int[] strides = new int[3]; int[] padding = new int[3]; int[] kernel = new int[3]; - for( int i=0; i<3; i++ ) { + for( int i = 0; i < 3; i++) { //TF values here have 5 values: minibatch and Channels at positions 0 and 4, which are almost always 1 - strides[i] = tfStrides.get(i+1).intValue(); + strides[i] = tfStrides.get(i + 1).intValue(); if(tfPadding != null && tfPadding.size() > 0) { //Empty for SAME mode padding[i] = tfPadding.get(i + 1).intValue(); } - kernel[i] = tfKernels.get(i+1).intValue(); + + kernel[i] = tfKernels.get(i + 1).intValue(); } Pooling3DType type; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Pooling3DDerivative.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Pooling3DDerivative.java index d0062e95a..23a1b19ac 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Pooling3DDerivative.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Pooling3DDerivative.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/SConv2D.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/SConv2D.java index 04cfbdc67..8f9902218 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/SConv2D.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/SConv2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/SConv2DDerivative.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/SConv2DDerivative.java index ed450cb00..00acbeb31 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/SConv2DDerivative.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/SConv2DDerivative.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/SpaceToDepth.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/SpaceToDepth.java index 700824512..43b39b21e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/SpaceToDepth.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/SpaceToDepth.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Upsampling2d.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Upsampling2d.java index 214fb00fd..0805a9666 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Upsampling2d.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Upsampling2d.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Upsampling2dDerivative.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Upsampling2dDerivative.java index 7fd25ab75..ae8c2eb6c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Upsampling2dDerivative.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Upsampling2dDerivative.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Upsampling3d.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Upsampling3d.java index 67f516012..fb063576b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Upsampling3d.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Upsampling3d.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Upsampling3dBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Upsampling3dBp.java index a5236cbc5..aa93e7766 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Upsampling3dBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/Upsampling3dBp.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/BaseConvolutionConfig.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/BaseConvolutionConfig.java index f2d21072a..a720b4e6e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/BaseConvolutionConfig.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/BaseConvolutionConfig.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/Conv1DConfig.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/Conv1DConfig.java index f401c88a5..15524b5ba 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/Conv1DConfig.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/Conv1DConfig.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/Conv2DConfig.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/Conv2DConfig.java index 30c20a452..bbd8d5eb6 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/Conv2DConfig.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/Conv2DConfig.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/Conv3DConfig.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/Conv3DConfig.java index c2a7ba9b8..75e565439 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/Conv3DConfig.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/Conv3DConfig.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/DeConv2DConfig.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/DeConv2DConfig.java index 65d076d41..47d11b28c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/DeConv2DConfig.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/DeConv2DConfig.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/DeConv3DConfig.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/DeConv3DConfig.java index ef6414124..f68df1b02 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/DeConv3DConfig.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/DeConv3DConfig.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/LocalResponseNormalizationConfig.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/LocalResponseNormalizationConfig.java index 92634af90..7d2a2c1e1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/LocalResponseNormalizationConfig.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/LocalResponseNormalizationConfig.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/PaddingMode.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/PaddingMode.java index 21c3f3f8e..5dd16f1e6 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/PaddingMode.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/PaddingMode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/Pooling2DConfig.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/Pooling2DConfig.java index 7176bf0f0..d138d9010 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/Pooling2DConfig.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/Pooling2DConfig.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/Pooling3DConfig.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/Pooling3DConfig.java index ec155fc10..3e5c511ad 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/Pooling3DConfig.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/convolution/config/Pooling3DConfig.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.convolution.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/GRU.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/GRU.java index 7d15fbf62..d82cd4da0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/GRU.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/GRU.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.recurrent; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/GRUBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/GRUBp.java index 0bc8a6fcf..5ef5c1781 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/GRUBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/GRUBp.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.recurrent; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/GRUCell.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/GRUCell.java index 79563e8af..7ced2ebfd 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/GRUCell.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/GRUCell.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.recurrent; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/LSTMBlock.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/LSTMBlock.java index 127d071a6..82f11c30e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/LSTMBlock.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/LSTMBlock.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.recurrent; @@ -32,6 +34,7 @@ import org.tensorflow.framework.GraphDef; import org.tensorflow.framework.NodeDef; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -133,7 +136,10 @@ public class LSTMBlock extends DynamicCustomOp { @Override public Map propertiesForFunction() { - return configuration.toProperties(true); + if(configuration != null) + return configuration.toProperties(true); + else + return Collections.emptyMap(); } @Override diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/LSTMBlockCell.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/LSTMBlockCell.java index 41b8e6eae..1a7491416 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/LSTMBlockCell.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/LSTMBlockCell.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.recurrent; @@ -30,6 +32,7 @@ import org.tensorflow.framework.GraphDef; import org.tensorflow.framework.NodeDef; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -131,7 +134,9 @@ public class LSTMBlockCell extends DynamicCustomOp { @Override public Map propertiesForFunction() { - return configuration.toProperties(false); + if(configuration != null) + return configuration.toProperties(false); + return Collections.emptyMap(); } @Override diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/LSTMCell.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/LSTMCell.java index 9a957e0d2..f490f1c2e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/LSTMCell.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/LSTMCell.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.recurrent; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/LSTMLayer.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/LSTMLayer.java index ebd812b72..a87f334d7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/LSTMLayer.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/LSTMLayer.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.recurrent; import lombok.Getter; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/LSTMLayerBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/LSTMLayerBp.java index 6e4866b6c..2891079cf 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/LSTMLayerBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/LSTMLayerBp.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.recurrent; import lombok.Getter; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/SRU.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/SRU.java index dbeed80db..ee3206954 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/SRU.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/SRU.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.recurrent; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/SRUCell.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/SRUCell.java index 36a40348a..ebf65d5d6 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/SRUCell.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/SRUCell.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.recurrent; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/GRUCellConfiguration.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/GRUCellConfiguration.java index bc3d90efa..ac85afe43 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/GRUCellConfiguration.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/GRUCellConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.recurrent.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/LSTMActivations.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/LSTMActivations.java index 27ebbc82f..1caf28ce4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/LSTMActivations.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/LSTMActivations.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.recurrent.config; /** diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/LSTMCellConfiguration.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/LSTMCellConfiguration.java index 1f50c9c8f..1142814fe 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/LSTMCellConfiguration.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/LSTMCellConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.recurrent.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/LSTMConfiguration.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/LSTMConfiguration.java index 985ea6048..fb9040a90 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/LSTMConfiguration.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/LSTMConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.recurrent.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/LSTMDataFormat.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/LSTMDataFormat.java index 788e87d59..c914c8b37 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/LSTMDataFormat.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/LSTMDataFormat.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.recurrent.config; /** diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/LSTMDirectionMode.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/LSTMDirectionMode.java index c93bc05f9..cdf75f4ce 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/LSTMDirectionMode.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/LSTMDirectionMode.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.recurrent.config; /** diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/LSTMLayerConfig.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/LSTMLayerConfig.java index 071b6adf3..00e17441e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/LSTMLayerConfig.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/LSTMLayerConfig.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.recurrent.config; import lombok.AllArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/RnnDataFormat.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/RnnDataFormat.java index ea6625fd9..a7cd61ca2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/RnnDataFormat.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/config/RnnDataFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.recurrent.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/outputs/GRUCellOutputs.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/outputs/GRUCellOutputs.java index 6d2f5bc72..b9e76304c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/outputs/GRUCellOutputs.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/outputs/GRUCellOutputs.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.linalg.api.ops.impl.layers.recurrent.outputs; import java.util.Arrays; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/outputs/LSTMCellOutputs.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/outputs/LSTMCellOutputs.java index 25899294a..6c7206625 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/outputs/LSTMCellOutputs.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/outputs/LSTMCellOutputs.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.linalg.api.ops.impl.layers.recurrent.outputs; import java.util.Arrays; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/outputs/LSTMLayerOutputs.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/outputs/LSTMLayerOutputs.java index 18e9b5598..3bebeb164 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/outputs/LSTMLayerOutputs.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/outputs/LSTMLayerOutputs.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.linalg.api.ops.impl.layers.recurrent.outputs; import lombok.Getter; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/outputs/SRUCellOutputs.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/outputs/SRUCellOutputs.java index 9eddcc446..98f95a564 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/outputs/SRUCellOutputs.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/outputs/SRUCellOutputs.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.linalg.api.ops.impl.layers.recurrent.outputs; import java.util.Arrays; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/outputs/SRULayerOutputs.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/outputs/SRULayerOutputs.java index 213b007ca..2bcb7c77d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/outputs/SRULayerOutputs.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/outputs/SRULayerOutputs.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.linalg.api.ops.impl.layers.recurrent.outputs; import java.util.Arrays; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/weights/GRUWeights.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/weights/GRUWeights.java index 62a5d644e..a7eec72b3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/weights/GRUWeights.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/weights/GRUWeights.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.linalg.api.ops.impl.layers.recurrent.weights; import lombok.Builder; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/weights/LSTMLayerWeights.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/weights/LSTMLayerWeights.java index dc63a2aae..ba70e25eb 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/weights/LSTMLayerWeights.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/weights/LSTMLayerWeights.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.layers.recurrent.weights; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/weights/LSTMWeights.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/weights/LSTMWeights.java index eb792fcd4..ee8e852a2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/weights/LSTMWeights.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/weights/LSTMWeights.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.linalg.api.ops.impl.layers.recurrent.weights; import lombok.Builder; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/weights/RNNWeights.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/weights/RNNWeights.java index c6c931c9b..85832518b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/weights/RNNWeights.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/weights/RNNWeights.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.linalg.api.ops.impl.layers.recurrent.weights; import java.lang.reflect.Array; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/weights/SRUWeights.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/weights/SRUWeights.java index 7b1c0e608..f48ee25d3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/weights/SRUWeights.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/layers/recurrent/weights/SRUWeights.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.linalg.api.ops.impl.layers.recurrent.weights; import lombok.Builder; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/AbsoluteDifferenceLoss.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/AbsoluteDifferenceLoss.java index 113da4bb1..07f8259fd 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/AbsoluteDifferenceLoss.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/AbsoluteDifferenceLoss.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/BaseLoss.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/BaseLoss.java index 8f5936465..6ecc8f6ce 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/BaseLoss.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/BaseLoss.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/CosineDistanceLoss.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/CosineDistanceLoss.java index 21ac3d25c..4ec9c95b6 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/CosineDistanceLoss.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/CosineDistanceLoss.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/HingeLoss.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/HingeLoss.java index 3f8613ac5..a4684ae20 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/HingeLoss.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/HingeLoss.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/HuberLoss.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/HuberLoss.java index 0c1c65886..ae5778b00 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/HuberLoss.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/HuberLoss.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/L2Loss.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/L2Loss.java index 14c8b736f..025a3ae3d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/L2Loss.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/L2Loss.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/LogLoss.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/LogLoss.java index 28b5c08a6..0d2eb5678 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/LogLoss.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/LogLoss.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/LogPoissonLoss.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/LogPoissonLoss.java index 920d8a136..fb0e2a6e2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/LogPoissonLoss.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/LogPoissonLoss.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/MeanPairwiseSquaredErrorLoss.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/MeanPairwiseSquaredErrorLoss.java index b6bfc6748..35ba13a4a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/MeanPairwiseSquaredErrorLoss.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/MeanPairwiseSquaredErrorLoss.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/MeanSquaredErrorLoss.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/MeanSquaredErrorLoss.java index 2bf1c66db..5ad0c818a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/MeanSquaredErrorLoss.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/MeanSquaredErrorLoss.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/SigmoidCrossEntropyLoss.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/SigmoidCrossEntropyLoss.java index 0763213c2..bef061413 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/SigmoidCrossEntropyLoss.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/SigmoidCrossEntropyLoss.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/SoftmaxCrossEntropyLoss.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/SoftmaxCrossEntropyLoss.java index 813d89400..cbcc52e20 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/SoftmaxCrossEntropyLoss.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/SoftmaxCrossEntropyLoss.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/SoftmaxCrossEntropyWithLogitsLoss.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/SoftmaxCrossEntropyWithLogitsLoss.java index de8a57aee..ac5c86e97 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/SoftmaxCrossEntropyWithLogitsLoss.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/SoftmaxCrossEntropyWithLogitsLoss.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/SparseSoftmaxCrossEntropyLossWithLogits.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/SparseSoftmaxCrossEntropyLossWithLogits.java index f89b2ca53..0f0ecd7c7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/SparseSoftmaxCrossEntropyLossWithLogits.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/SparseSoftmaxCrossEntropyLossWithLogits.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss; @@ -91,6 +93,8 @@ public class SparseSoftmaxCrossEntropyLossWithLogits extends DynamicCustomOp { @Override public List calculateOutputDataTypes(List inputDataTypes){ Preconditions.checkState(inputDataTypes != null && inputDataTypes.size() == 2, "Expected 2 input datatypes for %s, got %s", getClass(), inputDataTypes); + if(dArguments != null && !dArguments.isEmpty()) + return Arrays.asList(dArguments.get(0)); return Collections.singletonList(inputDataTypes.get(1)); //Same as predictions (logits) } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/WeightedCrossEntropyLoss.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/WeightedCrossEntropyLoss.java index e10c5b73b..8d68840a5 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/WeightedCrossEntropyLoss.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/WeightedCrossEntropyLoss.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/AbsoluteDifferenceLossBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/AbsoluteDifferenceLossBp.java index 5e3802678..19b7724f8 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/AbsoluteDifferenceLossBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/AbsoluteDifferenceLossBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/BaseLossBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/BaseLossBp.java index 1e931146e..19851da3b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/BaseLossBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/BaseLossBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/CosineDistanceLossBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/CosineDistanceLossBp.java index fca295702..04b6822db 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/CosineDistanceLossBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/CosineDistanceLossBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/HingeLossBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/HingeLossBp.java index 8637c2fc7..8bf23dcf5 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/HingeLossBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/HingeLossBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/HuberLossBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/HuberLossBp.java index 6041d5fce..15b605924 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/HuberLossBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/HuberLossBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/LogLossBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/LogLossBp.java index e972d9bff..2f7542276 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/LogLossBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/LogLossBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/LogPoissonLossBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/LogPoissonLossBp.java index 299aef89b..c74e63aa0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/LogPoissonLossBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/LogPoissonLossBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/MeanPairwiseSquaredErrorLossBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/MeanPairwiseSquaredErrorLossBp.java index c03a0ce00..0012f98ee 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/MeanPairwiseSquaredErrorLossBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/MeanPairwiseSquaredErrorLossBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/MeanSquaredErrorLossBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/MeanSquaredErrorLossBp.java index 9be5038de..22716a6f8 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/MeanSquaredErrorLossBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/MeanSquaredErrorLossBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/SigmoidCrossEntropyLossBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/SigmoidCrossEntropyLossBp.java index 7cd0f96ee..4283352be 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/SigmoidCrossEntropyLossBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/SigmoidCrossEntropyLossBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/SoftmaxCrossEntropyLossBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/SoftmaxCrossEntropyLossBp.java index 983aff519..e83a47fd4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/SoftmaxCrossEntropyLossBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/SoftmaxCrossEntropyLossBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/SoftmaxCrossEntropyWithLogitsLossBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/SoftmaxCrossEntropyWithLogitsLossBp.java index cd283ee47..924e927d4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/SoftmaxCrossEntropyWithLogitsLossBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/SoftmaxCrossEntropyWithLogitsLossBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/SparseSoftmaxCrossEntropyLossWithLogitsBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/SparseSoftmaxCrossEntropyLossWithLogitsBp.java index e2f6171df..3f2a625e0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/SparseSoftmaxCrossEntropyLossWithLogitsBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/loss/bp/SparseSoftmaxCrossEntropyLossWithLogitsBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.loss.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/meta/BaseMetaOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/meta/BaseMetaOp.java index 48a59244f..23afb1a39 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/meta/BaseMetaOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/meta/BaseMetaOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.meta; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/meta/InvertedPredicateMetaOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/meta/InvertedPredicateMetaOp.java index cf8fb023a..8c62ec3d5 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/meta/InvertedPredicateMetaOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/meta/InvertedPredicateMetaOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.meta; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/meta/PostulateMetaOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/meta/PostulateMetaOp.java index 4afcb63d4..32a18b996 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/meta/PostulateMetaOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/meta/PostulateMetaOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.meta; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/meta/PredicateMetaOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/meta/PredicateMetaOp.java index 0117214bd..3600a2c0c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/meta/PredicateMetaOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/meta/PredicateMetaOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.meta; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/meta/ReduceMetaOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/meta/ReduceMetaOp.java index a702e5055..08d4afcd2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/meta/ReduceMetaOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/meta/ReduceMetaOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.meta; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/nlp/CbowRound.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/nlp/CbowRound.java index 904fb5dcc..08c870840 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/nlp/CbowRound.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/nlp/CbowRound.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.nlp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/nlp/SkipGramRound.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/nlp/SkipGramRound.java index b104bbb89..ed33300f6 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/nlp/SkipGramRound.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/nlp/SkipGramRound.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.nlp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/HashCode.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/HashCode.java index 51b75c8c2..5a3392b56 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/HashCode.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/HashCode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/Mmul.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/Mmul.java index f778c552b..1ea052365 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/Mmul.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/Mmul.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce; @@ -161,6 +163,8 @@ public class Mmul extends DynamicCustomOp { @Override public Map propertiesForFunction() { + if(mt == null) + return Collections.emptyMap(); return mt.toProperties(); } @@ -174,7 +178,7 @@ public class Mmul extends DynamicCustomOp { return "mt"; } - public void setPropertiesForFunction(Map properties){ + public void setPropertiesForFunction(Map properties) { if(mt == null) mt = MMulTranspose.builder().build(); mt.setProperties(properties); @@ -213,7 +217,7 @@ public class Mmul extends DynamicCustomOp { @Override public String opName() { - return "mmul"; + return "matmul"; } @@ -290,7 +294,7 @@ public class Mmul extends DynamicCustomOp { map.put("transposeA",transposeA); map.put("transposeB",transposeB); - for(String s : tensorflowNames()){ + for(String s : tensorflowNames()) { ret.put(s,map); } ret.put(onnxName(),map); @@ -299,8 +303,10 @@ public class Mmul extends DynamicCustomOp { } @Override - public List calculateOutputDataTypes(List dataTypes){ - Preconditions.checkState(dataTypes != null && dataTypes.size() == 2, "Expected exactly 2 inputs to mmul op, got %s", dataTypes); + public List calculateOutputDataTypes(List dataTypes) { + if(!dArguments.isEmpty()) + return Collections.singletonList(dArguments.get(0)); + Preconditions.checkState(dataTypes != null && dataTypes.size() >= 2, "Expected at least 2 inputs to mmul op, got %s", dataTypes); Preconditions.checkState(dataTypes.get(0).isFPType() && dataTypes.get(1).isFPType(), "Inputs to mmul op must both be a floating" + "point type: got %s", dataTypes); return Collections.singletonList(dataTypes.get(0)); diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/MmulBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/MmulBp.java index 5027872e3..feea73b36 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/MmulBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/MmulBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/Moments.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/Moments.java index 82627898e..52d36a2be 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/Moments.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/Moments.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/NormalizeMoments.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/NormalizeMoments.java index 99e8df60b..7c388d7c5 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/NormalizeMoments.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/NormalizeMoments.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/SufficientStatistics.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/SufficientStatistics.java index 569d5ad3c..fbb65d136 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/SufficientStatistics.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/SufficientStatistics.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/TensorMmul.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/TensorMmul.java index 8f69733ca..f007d76ab 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/TensorMmul.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/TensorMmul.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/ZeroFraction.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/ZeroFraction.java index 8f99e599c..68f8ebcc0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/ZeroFraction.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/ZeroFraction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bool/All.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bool/All.java index f57abd381..7ae8759a9 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bool/All.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bool/All.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.bool; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bool/Any.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bool/Any.java index f576c81ef..aa877d445 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bool/Any.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bool/Any.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.bool; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bool/IsInf.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bool/IsInf.java index 4ebb8701d..eec70a2bb 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bool/IsInf.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bool/IsInf.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.bool; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bool/IsNaN.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bool/IsNaN.java index a8e4e06e9..103f158e3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bool/IsNaN.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bool/IsNaN.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.bool; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/BaseReductionBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/BaseReductionBp.java index 29c1ce0e0..468bd5355 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/BaseReductionBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/BaseReductionBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/CumProdBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/CumProdBp.java index 333122f82..4f10253cd 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/CumProdBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/CumProdBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/CumSumBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/CumSumBp.java index 4f9d7ad58..d44e47f97 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/CumSumBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/CumSumBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/DotBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/DotBp.java index 2db5424fd..fed0177ca 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/DotBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/DotBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/MaxBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/MaxBp.java index 2eaccb41f..652f4951c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/MaxBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/MaxBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/MeanBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/MeanBp.java index 44c43655c..1045dcadd 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/MeanBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/MeanBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/MinBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/MinBp.java index c88ccf582..5b910361b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/MinBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/MinBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/Norm1Bp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/Norm1Bp.java index 3e1534650..a534adfce 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/Norm1Bp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/Norm1Bp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/Norm2Bp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/Norm2Bp.java index b98037365..474cb44fc 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/Norm2Bp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/Norm2Bp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/NormMaxBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/NormMaxBp.java index 1adfcf80d..bdea429ab 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/NormMaxBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/NormMaxBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/PowBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/PowBp.java index eedec9fe3..dc139bd77 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/PowBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/PowBp.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.linalg.api.ops.impl.reduce.bp; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/ProdBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/ProdBp.java index 2f94591aa..eb6250cf6 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/ProdBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/ProdBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/SquaredNormBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/SquaredNormBp.java index aa7aceb9c..a8c6c5c83 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/SquaredNormBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/SquaredNormBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/StandardDeviationBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/StandardDeviationBp.java index 17561c298..a3f9379ba 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/StandardDeviationBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/StandardDeviationBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/SumBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/SumBp.java index 97e64407e..683e2b516 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/SumBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/SumBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/VarianceBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/VarianceBp.java index 3ab61e96d..1a73d2717 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/VarianceBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/bp/VarianceBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/custom/BatchMmul.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/custom/BatchMmul.java index 602f4fc05..0434b3d42 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/custom/BatchMmul.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/custom/BatchMmul.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/custom/LogSumExp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/custom/LogSumExp.java index e9d39d1ba..76991d182 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/custom/LogSumExp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/custom/LogSumExp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/AMean.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/AMean.java index e9481fa81..1289b36d4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/AMean.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/AMean.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.floating; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/Entropy.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/Entropy.java index 913a573db..9d4a7d08b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/Entropy.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/Entropy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.floating; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/LogEntropy.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/LogEntropy.java index 837d89c3a..d8904cb42 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/LogEntropy.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/LogEntropy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.floating; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/Mean.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/Mean.java index a4e27e42f..42cb28ca2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/Mean.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/Mean.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.floating; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/Norm1.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/Norm1.java index e2b60654a..63d52fd26 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/Norm1.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/Norm1.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.floating; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/Norm2.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/Norm2.java index 1d5ec4d23..0e207121a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/Norm2.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/Norm2.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.floating; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/NormMax.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/NormMax.java index 67a1279d9..d037538ce 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/NormMax.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/NormMax.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.floating; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/ShannonEntropy.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/ShannonEntropy.java index 963224ed8..19dc014d4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/ShannonEntropy.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/ShannonEntropy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.floating; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/SquaredNorm.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/SquaredNorm.java index 42c486f4d..309f9c32d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/SquaredNorm.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/floating/SquaredNorm.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.floating; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/longer/CountNonZero.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/longer/CountNonZero.java index cb1de4765..8d1f8d542 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/longer/CountNonZero.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/longer/CountNonZero.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.longer; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/longer/CountZero.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/longer/CountZero.java index 27476cabc..2cb084b23 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/longer/CountZero.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/longer/CountZero.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.longer; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/longer/MatchCondition.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/longer/MatchCondition.java index f2f097aa9..8daf5f086 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/longer/MatchCondition.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/longer/MatchCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.longer; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/AMax.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/AMax.java index cadc77d4f..198f6018d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/AMax.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/AMax.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.same; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/AMin.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/AMin.java index a01c9c1f5..94b8fdcc3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/AMin.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/AMin.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.same; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/ASum.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/ASum.java index 1a15c32ac..422e6a7e9 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/ASum.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/ASum.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.same; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/Max.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/Max.java index e7699948b..ea8001cac 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/Max.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/Max.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.same; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/Min.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/Min.java index 8cb66895d..f49d3ce4e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/Min.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/Min.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.same; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/Prod.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/Prod.java index 515cf404a..a7e267ff1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/Prod.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/Prod.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.same; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/Sum.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/Sum.java index 5daefc893..642a075c6 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/Sum.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce/same/Sum.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce.same; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/BaseReduce3Op.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/BaseReduce3Op.java index 25f5cf274..8efb4c34b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/BaseReduce3Op.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/BaseReduce3Op.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce3; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/CosineDistance.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/CosineDistance.java index a5aab468b..74788dfbb 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/CosineDistance.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/CosineDistance.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce3; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/CosineSimilarity.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/CosineSimilarity.java index b6edbe6fa..fbd19d73a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/CosineSimilarity.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/CosineSimilarity.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce3; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/Dot.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/Dot.java index 1ddfaefbc..2f03da4cd 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/Dot.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/Dot.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce3; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/EqualsWithEps.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/EqualsWithEps.java index d38c78b2b..bcdf348f3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/EqualsWithEps.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/EqualsWithEps.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce3; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/EuclideanDistance.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/EuclideanDistance.java index 97ccd81e6..5c75e88e4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/EuclideanDistance.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/EuclideanDistance.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce3; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/HammingDistance.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/HammingDistance.java index 11635dafb..c2f8a3b30 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/HammingDistance.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/HammingDistance.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce3; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/JaccardDistance.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/JaccardDistance.java index c520a7c18..52ab3d53b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/JaccardDistance.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/JaccardDistance.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce3; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/ManhattanDistance.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/ManhattanDistance.java index 9fdea3afb..50f6cd29d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/ManhattanDistance.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/reduce3/ManhattanDistance.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.reduce3; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/LeakyReLU.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/LeakyReLU.java index 02dd6a51f..f1f32d080 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/LeakyReLU.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/LeakyReLU.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/LogX.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/LogX.java index db3d1160c..2297578cc 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/LogX.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/LogX.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/PRelu.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/PRelu.java index 502a3a390..96ef8ac69 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/PRelu.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/PRelu.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/Pow.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/Pow.java index 6467278e7..ac9cfc3e2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/Pow.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/Pow.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar; @@ -82,11 +84,11 @@ public class Pow extends BaseScalarOp { @Override public String tensorflowName() { - throw new NoOpNameFoundException("No TensorFlow op found for " + getClass().getSimpleName()); + return "Pow"; } @Override - public List doDiff(List i_v1) { + public List doDiff(List i_v1) { SDVariable g = new PowDerivative(sameDiff, arg(), false, this.pow).outputVariable().mul(i_v1.get(0)); return Collections.singletonList(g); } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/PowDerivative.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/PowDerivative.java index bab137433..6dfa91ff6 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/PowDerivative.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/PowDerivative.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/RectifiedLinear.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/RectifiedLinear.java index c38821700..8df012abf 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/RectifiedLinear.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/RectifiedLinear.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/RectifiedLinearDerivative.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/RectifiedLinearDerivative.java index 9136234df..9f19d8ffb 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/RectifiedLinearDerivative.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/RectifiedLinearDerivative.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.linalg.api.ops.impl.scalar; import lombok.NonNull; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/Relu6.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/Relu6.java index b07d94ca1..5241853ad 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/Relu6.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/Relu6.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ReplaceNans.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ReplaceNans.java index 152fd0f96..0b6c7bc8c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ReplaceNans.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ReplaceNans.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarAdd.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarAdd.java index 808c48331..8331f95af 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarAdd.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarAdd.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarDivision.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarDivision.java index 18baada7d..e2345e990 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarDivision.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarDivision.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarFMod.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarFMod.java index 41d585033..1eed0dc03 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarFMod.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarFMod.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarMax.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarMax.java index d9a928d02..728b9cb91 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarMax.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarMax.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarMin.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarMin.java index ce9e746fa..c1725922b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarMin.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarMin.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarMultiplication.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarMultiplication.java index ba8c1e588..d72c56248 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarMultiplication.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarMultiplication.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarRemainder.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarRemainder.java index 140cd056a..d1c51511f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarRemainder.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarRemainder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarReverseDivision.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarReverseDivision.java index d2a4f5703..2c1573298 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarReverseDivision.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarReverseDivision.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarReverseSubtraction.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarReverseSubtraction.java index 48a6eacfb..52b394685 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarReverseSubtraction.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarReverseSubtraction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarSet.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarSet.java index d3a8c7f67..e92d6ed7a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarSet.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarSet.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarSubtraction.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarSubtraction.java index e3178d690..6b0764956 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarSubtraction.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/ScalarSubtraction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/Step.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/Step.java index 45ffa7a12..d96e0a3bd 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/Step.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/Step.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarAnd.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarAnd.java index 3fdfa5a98..6981ceca7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarAnd.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarAnd.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar.comparison; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarEps.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarEps.java index ba93609c1..39a2e07f2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarEps.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarEps.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar.comparison; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarEquals.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarEquals.java index ffd6352dc..9d5ddb8c0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarEquals.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarEquals.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar.comparison; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarGreaterThan.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarGreaterThan.java index d95b12306..27858a5e1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarGreaterThan.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarGreaterThan.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar.comparison; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarGreaterThanOrEqual.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarGreaterThanOrEqual.java index 0ac5518cd..eb729b03c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarGreaterThanOrEqual.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarGreaterThanOrEqual.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar.comparison; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarLessThan.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarLessThan.java index a36770a4f..49c7c4a8e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarLessThan.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarLessThan.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar.comparison; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarLessThanOrEqual.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarLessThanOrEqual.java index b46aa6663..c91b10d9d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarLessThanOrEqual.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarLessThanOrEqual.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar.comparison; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarNot.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarNot.java index 18b33dbea..3ef915f03 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarNot.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarNot.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar.comparison; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarNotEquals.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarNotEquals.java index 2b2f75a78..482c1979e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarNotEquals.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarNotEquals.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar.comparison; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarOr.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarOr.java index 79d850153..1bc8590b0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarOr.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarOr.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar.comparison; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarSetValue.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarSetValue.java index 0f7fdbe47..52281f439 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarSetValue.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarSetValue.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar.comparison; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarXor.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarXor.java index 1d10cb00e..abcc66b30 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarXor.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scalar/comparison/ScalarXor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scalar.comparison; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterAdd.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterAdd.java index b43071af3..8e35df2a7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterAdd.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterAdd.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scatter; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterDiv.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterDiv.java index 7ef3109d7..f41a89972 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterDiv.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterDiv.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scatter; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterMax.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterMax.java index 7808ef2b3..468eb9a84 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterMax.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterMax.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scatter; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterMin.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterMin.java index a063eba38..4535ef75b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterMin.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterMin.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scatter; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterMul.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterMul.java index 1c6773eb5..93458a844 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterMul.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterMul.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scatter; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterNd.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterNd.java index f11315b6a..964512389 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterNd.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterNd.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scatter; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterNdAdd.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterNdAdd.java index e0cf2ff7b..8863be1df 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterNdAdd.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterNdAdd.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scatter; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterNdSub.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterNdSub.java index 831f37f35..a36dbea43 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterNdSub.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterNdSub.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scatter; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterNdUpdate.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterNdUpdate.java index 8a0a116b9..2fbf4d5dc 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterNdUpdate.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterNdUpdate.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scatter; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterSub.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterSub.java index 7f7159b2f..655d6db9a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterSub.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterSub.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scatter; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterUpdate.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterUpdate.java index d3f746c31..b8a9d71f9 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterUpdate.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/scatter/ScatterUpdate.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.scatter; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/ApplyGradientDescent.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/ApplyGradientDescent.java index ef645bda8..5b0104332 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/ApplyGradientDescent.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/ApplyGradientDescent.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/BroadcastDynamicShape.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/BroadcastDynamicShape.java index e23ea2f5b..6305a5e23 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/BroadcastDynamicShape.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/BroadcastDynamicShape.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Concat.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Concat.java index 1db208bb6..73e1bc715 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Concat.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Concat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; @@ -144,10 +146,11 @@ public class Concat extends DynamicCustomOp { public List calculateOutputDataTypes(List dataTypes){ DataType first = dataTypes.get(0); - for( int i=1; i attributesForNode, GraphDef graph) { + } + + @Override + public void initFromOnnx(Onnx.NodeProto node, SameDiff initWith, Map attributesForNode, Onnx.GraphProto graph) { + + } + + + @Override + public Map> mappingsForFunction() { + Map> ret = new HashMap<>(); + Map map = new HashMap<>(); + + val axisMapping = PropertyMapping.builder() + .onnxAttrName("axis") + .propertyNames(new String[]{"axis"}) + .build(); + + map.put("axis", axisMapping); + + ret.put(onnxName(), map); + + return ret; + } + + + @Override + public String opName() { + return "flatten_2d"; + } + + @Override + public String onnxName() { + return "Flatten"; + } + + @Override + public String tensorflowName() { + throw new NoOpNameFoundException("No op name found for tensorflow!"); + } + + + @Override + public List doDiff(List i_v) { + return Arrays.asList(new Flatten2D(sameDiff,i_v.get(0),flattenDimension).outputVariables()); + } + + @Override + public List calculateOutputDataTypes(List dataTypes) { + if(!dArguments.isEmpty()) + return Collections.singletonList(dArguments.get(0)); + //Output type is always same as input type + return Collections.singletonList(dataTypes.get(0)); + } + +} diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Gather.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Gather.java index b4f690ba5..a14f01cb0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Gather.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Gather.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/GatherNd.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/GatherNd.java index ff38c382e..395773849 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/GatherNd.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/GatherNd.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Linspace.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Linspace.java index a08b30f74..abb387421 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Linspace.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Linspace.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/MergeAvg.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/MergeAvg.java index 1a678e14c..ce15432ac 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/MergeAvg.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/MergeAvg.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/MergeMax.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/MergeMax.java index 546299af9..2ef47279a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/MergeMax.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/MergeMax.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/MergeMaxIndex.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/MergeMaxIndex.java index ca6345efd..bb0504ede 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/MergeMaxIndex.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/MergeMaxIndex.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/MergeSum.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/MergeSum.java index 9f0a5df90..5803f08af 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/MergeSum.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/MergeSum.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/MeshGrid.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/MeshGrid.java index ce83a808c..229b2dcf5 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/MeshGrid.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/MeshGrid.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/OneHot.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/OneHot.java index 8806133d7..806d390b4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/OneHot.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/OneHot.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/OnesLike.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/OnesLike.java index ee9c9619c..dc1abdc3c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/OnesLike.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/OnesLike.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/ParallelStack.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/ParallelStack.java index 86fd8dc13..7b4b78ce9 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/ParallelStack.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/ParallelStack.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Permute.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Permute.java index 082257c16..77056fe50 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Permute.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Permute.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Rank.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Rank.java index 7344fb2d1..7ecffee15 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Rank.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Rank.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/ReductionShape.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/ReductionShape.java index 77e77e3b7..450ca3a85 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/ReductionShape.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/ReductionShape.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Repeat.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Repeat.java index 310e90352..c601ca21d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Repeat.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Repeat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Reshape.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Reshape.java index 47960fad3..38fcc03b3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Reshape.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Reshape.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; @@ -57,14 +59,14 @@ public class Reshape extends DynamicCustomOp { super(null, sameDiff, new SDVariable[]{i_v, shape}); } - public Reshape(INDArray in, long... shape){ + public Reshape(INDArray in, long... shape) { super(new INDArray[]{in}, null); this.shape = shape; addIArgument(shape); } - public Reshape(@NonNull INDArray in, @NonNull INDArray shape, INDArray out){ + public Reshape(@NonNull INDArray in, @NonNull INDArray shape, INDArray out) { super(null, new INDArray[]{in, shape}, wrapOrNull(out), null, (List)null); } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/SequenceMask.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/SequenceMask.java index 115be9ada..c3666a1d1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/SequenceMask.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/SequenceMask.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Shape.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Shape.java index 2c379b13f..f4a3a43d7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Shape.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Shape.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/ShapeN.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/ShapeN.java index d9c4c4578..3cab709fd 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/ShapeN.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/ShapeN.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Size.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Size.java index a4130f99b..f7c375f6c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Size.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Size.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/SizeAt.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/SizeAt.java index 28cc69dd1..4c22f73f6 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/SizeAt.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/SizeAt.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Slice.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Slice.java index 9286af7be..2007e6132 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Slice.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Slice.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Split.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Split.java index 105e866a5..aa2054b1e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Split.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Split.java @@ -1,27 +1,32 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; +import lombok.NonNull; import lombok.val; +import org.nd4j.autodiff.samediff.SDVariable; import org.nd4j.autodiff.samediff.SameDiff; import org.nd4j.common.base.Preconditions; import org.nd4j.imports.descriptors.properties.PropertyMapping; import org.nd4j.imports.graphmapper.tf.TFGraphMapper; import org.nd4j.linalg.api.buffer.DataType; +import org.nd4j.linalg.api.ndarray.INDArray; import org.nd4j.linalg.api.ops.DynamicCustomOp; import org.tensorflow.framework.AttrValue; import org.tensorflow.framework.GraphDef; @@ -37,6 +42,20 @@ public class Split extends DynamicCustomOp { private int numSplit; private int splitDim; + public Split() { + } + + public Split(SameDiff sameDiff, SDVariable input, int numSplit, int splitDim) { + super(null,sameDiff,new SDVariable[]{input}); + this.numSplit = numSplit; + this.splitDim = splitDim; + addIArgument(numSplit,splitDim); + } + + public Split(@NonNull INDArray in, INDArray out) { + super(null, new INDArray[]{in}, wrapOrNull(out), null, (List)null); + } + @Override public String opName() { @@ -90,10 +109,10 @@ public class Split extends DynamicCustomOp { } @Override - public List calculateOutputDataTypes(List dataTypes){ + public List calculateOutputDataTypes(List dataTypes) { Preconditions.checkState(dataTypes != null && !dataTypes.isEmpty(), "No datatypes were provided for %s: %s", getClass(), dataTypes); DataType dt; - if(dataTypes.size() == 1){ + if(dataTypes.size() == 1) { dt = dataTypes.get(0); } else { //Order seems to usually be axis first for TF import? libnd4j supports both... @@ -105,7 +124,7 @@ public class Split extends DynamicCustomOp { } //Output types are same as first input type - just numSplits of them... List out = new ArrayList<>(numSplit); - for( int i=0; i calculateOutputDataTypes(List dataTypes){ //Output types are same as first input type - just numSplits of them... List out = new ArrayList<>(numSplit); - for( int i=0; i calculateOutputDataTypes(List dataTypes){ - Preconditions.checkState(dataTypes.size() == 1, "Expected list with exactly 1 datatype for %s, got %s", getClass(), dataTypes); + Preconditions.checkState(!dataTypes.isEmpty(), "Expected list with at least 1 datatype for %s, got %s", getClass(), dataTypes); //Output type is same as input type - return dataTypes; + return Arrays.asList(dataTypes.get(0)); } } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Stack.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Stack.java index d49d8eb4c..1c07b85fa 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Stack.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Stack.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; @@ -135,7 +137,7 @@ public class Stack extends DynamicCustomOp { @Override public List calculateOutputDataTypes(List dataTypes){ DataType first = dataTypes.get(0); - for( int i=1; i calculateOutputDataTypes(List dataTypes){ + public List calculateOutputDataTypes(List dataTypes) { Preconditions.checkState(dataTypes != null && (dataTypes.size() == 1 || dataTypes.size() == 4), "Expected 1 or 4 input datatypes for %s, got %s", getClass(), dataTypes); //Output type is same as input type. 1 or 4 depending on whether using iargs or arrays (for TF import etc) diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Tile.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Tile.java index 3eb6c0fe3..a4651161d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Tile.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Tile.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Transpose.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Transpose.java index 1af3fcda3..27d1ccfce 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Transpose.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Transpose.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; @@ -166,6 +168,8 @@ public class Transpose extends DynamicCustomOp { public List calculateOutputDataTypes(List dataTypes){ Preconditions.checkState(dataTypes != null && (dataTypes.size() == 1 || dataTypes.size() == 2), "Expected list with 1 or 2 datatype for %s, got %s", getClass(), dataTypes); + if(dArguments != null && !dArguments.isEmpty()) + return Collections.singletonList(dArguments.get(0)); //Output type is same as input type. Second input is permute dimensions as array return Collections.singletonList(dataTypes.get(0)); } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Unstack.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Unstack.java index dc6ffcea2..e4330ccb7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Unstack.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/Unstack.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/ZerosLike.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/ZerosLike.java index ce004f704..b87ec6e34 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/ZerosLike.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/ZerosLike.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/bp/ConcatBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/bp/ConcatBp.java index 84ba47a97..535bc560b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/bp/ConcatBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/bp/ConcatBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/bp/MergeAvgBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/bp/MergeAvgBp.java index 54d39ce89..5075d8647 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/bp/MergeAvgBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/bp/MergeAvgBp.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape.bp; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/bp/MergeMaxBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/bp/MergeMaxBp.java index 792036b76..03ec32a81 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/bp/MergeMaxBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/bp/MergeMaxBp.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape.bp; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/bp/SliceBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/bp/SliceBp.java index 8dd9cada8..af491f7c0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/bp/SliceBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/bp/SliceBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/bp/StridedSliceBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/bp/StridedSliceBp.java index a44ab3d7c..32ed5025a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/bp/StridedSliceBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/bp/StridedSliceBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/bp/TileBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/bp/TileBp.java index b453d79fb..efc0a005d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/bp/TileBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/bp/TileBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape.bp; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/BaseTensorOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/BaseTensorOp.java index 6f55fc9ec..a8b433871 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/BaseTensorOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/BaseTensorOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape.tensorops; @@ -81,7 +83,7 @@ public abstract class BaseTensorOp extends DynamicCustomOp { } @Override - public int getNumOutputs(){ + public int getNumOutputs() { //1 output in allay cases - sometimes just a dummy output, however return 1; } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/EmbeddingLookup.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/EmbeddingLookup.java index b2ddc535d..56bb6f568 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/EmbeddingLookup.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/EmbeddingLookup.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape.tensorops; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArray.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArray.java index e5b00a5b1..7daa82fa1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArray.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArray.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape.tensorops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArrayConcat.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArrayConcat.java index b32687844..9b08f057e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArrayConcat.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArrayConcat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape.tensorops; @@ -55,7 +57,7 @@ public class TensorArrayConcat extends BaseTensorOp { @Override public String opName() { - return "tensorarrayconcatv3"; + return "stack_list"; } @Override @@ -69,7 +71,7 @@ public class TensorArrayConcat extends BaseTensorOp { } @Override - public List calculateOutputDataTypes(java.util.List inputDataType){ + public List calculateOutputDataTypes(java.util.List inputDataType) { //Same output type as the TensorArray - which is defined by input 0 SDVariable tArr = arg(0); TensorArray t3 = (TensorArray) sameDiff.getVariableOutputOp(tArr.name()); diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArrayGather.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArrayGather.java index 70d200dea..ff851388d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArrayGather.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArrayGather.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape.tensorops; @@ -55,7 +57,7 @@ public class TensorArrayGather extends BaseTensorOp { @Override public String opName() { - return "tensorarraygatherv3"; + return "gather_list"; } @Override diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArrayRead.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArrayRead.java index a92185e57..e9a8d6808 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArrayRead.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArrayRead.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape.tensorops; @@ -51,7 +53,7 @@ public class TensorArrayRead extends BaseTensorOp { @Override public String opName() { - return "tensorarrayreadv3"; + return "read_list"; } @Override @@ -66,16 +68,23 @@ public class TensorArrayRead extends BaseTensorOp { } @Override - public List calculateOutputDataTypes(List inputDataType){ + public List calculateOutputDataTypes(List inputDataType) { //Same output type as the TensorArray - which is defined by input 0 - DataType dt; - if(importDataType != null){ + DataType dt = null; + if(importDataType != null) { dt = importDataType; } else { - SDVariable tArr = arg(0); - DifferentialFunction op = sameDiff.getVariableOutputOp(tArr.name()); - TensorArray t3 = (TensorArray) op; - dt = t3.getTensorArrayDataType(); + for(int i = 0; i < args().length; i++) { + SDVariable tArr = arg(i); + DifferentialFunction op = sameDiff.getVariableOutputOp(tArr.name()); + if(op instanceof TensorArray) { + TensorArray t3 = (TensorArray) op; + dt = t3.getTensorArrayDataType(); + break; + } + + } + } return Collections.singletonList(dt); } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArrayScatter.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArrayScatter.java index 1f9a986fd..502b6760d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArrayScatter.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArrayScatter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape.tensorops; @@ -47,7 +49,7 @@ public class TensorArrayScatter extends BaseTensorOp { @Override public String opName() { - return "tensorarrayscatterv3"; + return "scatter_list"; } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArraySize.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArraySize.java index 55c2e11c5..5e3642906 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArraySize.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArraySize.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape.tensorops; @@ -37,7 +39,7 @@ public class TensorArraySize extends BaseTensorOp { @Override public String opName() { - return "tensorarraysizev3"; + return "size_list"; } @Override diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArraySplit.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArraySplit.java index b3630c549..cc1b7e90f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArraySplit.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArraySplit.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape.tensorops; @@ -47,7 +49,7 @@ public class TensorArraySplit extends BaseTensorOp { @Override public String opName() { - return "tensorarraysplitv3"; + return "split_list"; } @@ -56,7 +58,7 @@ public class TensorArraySplit extends BaseTensorOp { } @Override - public List calculateOutputDataTypes(List inputDataType){ + public List calculateOutputDataTypes(List inputDataType) { //Dummy float variable return Collections.singletonList(DataType.FLOAT); } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArrayWrite.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArrayWrite.java index 2f1211e1d..c927ac9af 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArrayWrite.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/shape/tensorops/TensorArrayWrite.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.shape.tensorops; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/summarystats/StandardDeviation.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/summarystats/StandardDeviation.java index 2b6359985..217be4c05 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/summarystats/StandardDeviation.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/summarystats/StandardDeviation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.summarystats; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/summarystats/Variance.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/summarystats/Variance.java index c4a97745a..17c2278c0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/summarystats/Variance.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/summarystats/Variance.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.summarystats; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/Angle.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/Angle.java index 7fed19e02..1081a560c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/Angle.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/Angle.java @@ -1,23 +1,26 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms; import org.nd4j.autodiff.samediff.SDVariable; import org.nd4j.autodiff.samediff.SameDiff; +import org.nd4j.linalg.api.buffer.DataType; import org.nd4j.linalg.api.ops.DynamicCustomOp; import java.util.Collections; @@ -46,4 +49,9 @@ public class Angle extends DynamicCustomOp { public List doDiff(List i_v) { return Collections.singletonList(sameDiff.zerosLike(arg())); } + + @Override + public List calculateOutputDataTypes(List dataTypes) { + return dataTypes; + } } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/Assert.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/Assert.java index 07cfc9e32..5cfdedff4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/Assert.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/Assert.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/BaseDynamicTransformOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/BaseDynamicTransformOp.java index 3813e1712..bc60bdeb1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/BaseDynamicTransformOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/BaseDynamicTransformOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/BinCount.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/BinCount.java index 4d082b6b8..50eba3719 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/BinCount.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/BinCount.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms; @@ -90,7 +92,7 @@ public class BinCount extends DynamicCustomOp { inputTypes, getClass()); //If weights present, same type as weights. Otherwise specified dtype - if(inputTypes.size() == 2 || inputTypes.size() == 4){ + if(inputTypes.size() == 2 || inputTypes.size() == 4) { //weights available case or TF import case (args 2/3 are min/max) return Collections.singletonList(inputTypes.get(1)); } else { diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/CheckNumerics.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/CheckNumerics.java index 83a563705..789e37815 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/CheckNumerics.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/CheckNumerics.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms; @@ -77,7 +79,8 @@ public class CheckNumerics extends DynamicCustomOp { @Override public List calculateOutputDataTypes(List inputDataTypes){ - Preconditions.checkState(inputDataTypes != null && inputDataTypes.size() == 2, "Expected 2 datatype in, got %s", inputDataTypes); + //input data types may be less than 2 for import, only first one matters anyways + Preconditions.checkState(inputDataTypes != null && inputDataTypes.size() <= 2, "Expected 2 datatype in, got %s", inputDataTypes); Preconditions.checkState(inputDataTypes.get(0).isFPType(), "Input datatype must be a floating point type, got %s", inputDataTypes); return Collections.singletonList(inputDataTypes.get(0)); } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/Cholesky.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/Cholesky.java index 15688b819..9122af488 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/Cholesky.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/Cholesky.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/Histogram.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/Histogram.java index 00b53c120..5b617a4af 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/Histogram.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/Histogram.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/HistogramFixedWidth.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/HistogramFixedWidth.java index 6889add66..33e261f0f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/HistogramFixedWidth.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/HistogramFixedWidth.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/IdentityN.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/IdentityN.java index e3fbe5644..7994fafab 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/IdentityN.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/IdentityN.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/MaxOut.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/MaxOut.java index 765ab3341..a05099863 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/MaxOut.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/MaxOut.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/NthElement.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/NthElement.java index 50e790b0a..8fa8a0e74 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/NthElement.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/NthElement.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/Pad.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/Pad.java index 1540084d9..0dc0f7f18 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/Pad.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/Pad.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/ReluLayer.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/ReluLayer.java index fcd220004..e754b892e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/ReluLayer.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/ReluLayer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/any/Assign.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/any/Assign.java index fd7934366..9a5d096ab 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/any/Assign.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/any/Assign.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.any; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/any/IsMax.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/any/IsMax.java index 54f91f6d1..0176941c5 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/any/IsMax.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/any/IsMax.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.any; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/bool/BooleanNot.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/bool/BooleanNot.java index cc212439e..231fde0eb 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/bool/BooleanNot.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/bool/BooleanNot.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.bool; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/bool/IsFinite.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/bool/IsFinite.java index a8be9803a..f633f04de 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/bool/IsFinite.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/bool/IsFinite.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.bool; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/bool/IsInf.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/bool/IsInf.java index eb4f5be8a..44d1a8e15 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/bool/IsInf.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/bool/IsInf.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.bool; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/bool/IsNaN.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/bool/IsNaN.java index d5ff3cd6a..c20ba2e6f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/bool/IsNaN.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/bool/IsNaN.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.bool; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/bool/MatchConditionTransform.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/bool/MatchConditionTransform.java index d0836adc9..ec4e59389 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/bool/MatchConditionTransform.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/bool/MatchConditionTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.bool; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/clip/ClipByAvgNorm.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/clip/ClipByAvgNorm.java index a528ed257..8d3e11b09 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/clip/ClipByAvgNorm.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/clip/ClipByAvgNorm.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.clip; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/clip/ClipByNorm.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/clip/ClipByNorm.java index 8c7b4b8c8..74bc01194 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/clip/ClipByNorm.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/clip/ClipByNorm.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.clip; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/clip/ClipByNormBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/clip/ClipByNormBp.java index 441dcdf18..fe992a141 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/clip/ClipByNormBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/clip/ClipByNormBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.clip; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/clip/ClipByValue.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/clip/ClipByValue.java index d221cc331..66990423f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/clip/ClipByValue.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/clip/ClipByValue.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.clip; @@ -28,6 +30,7 @@ import org.tensorflow.framework.AttrValue; import org.tensorflow.framework.GraphDef; import org.tensorflow.framework.NodeDef; +import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Map; @@ -91,7 +94,8 @@ public class ClipByValue extends DynamicCustomOp { @Override public List calculateOutputDataTypes(List inputDataTypes){ - Preconditions.checkState(inputDataTypes != null && inputDataTypes.size() == 1, "Expected exactly 1 input datatype for %s, got %s", getClass(), inputDataTypes); - return inputDataTypes; + Preconditions.checkState(inputDataTypes != null && !inputDataTypes.isEmpty() , "Expected at least 1 input datatype for %s, got %s", getClass(), inputDataTypes); + //get the final data type (sometimes model import passes in 2 dummy data types that aren't relevant) + return Arrays.asList(inputDataTypes.get(inputDataTypes.size() - 1)); } } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/comparison/CompareAndReplace.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/comparison/CompareAndReplace.java index c50c5f5df..6c66e1930 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/comparison/CompareAndReplace.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/comparison/CompareAndReplace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.comparison; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/comparison/CompareAndSet.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/comparison/CompareAndSet.java index f4839c17d..22b126843 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/comparison/CompareAndSet.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/comparison/CompareAndSet.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.comparison; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/comparison/Eps.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/comparison/Eps.java index ea5175b94..c36dbad8f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/comparison/Eps.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/comparison/Eps.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.comparison; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/ATan2.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/ATan2.java index 34be3fdc7..0fc2824e4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/ATan2.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/ATan2.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Assign.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Assign.java index 938ede32a..13fa92415 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Assign.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Assign.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/BatchToSpace.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/BatchToSpace.java index 78b995669..2356ee926 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/BatchToSpace.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/BatchToSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/BatchToSpaceND.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/BatchToSpaceND.java index 6622b134e..fb06b6cde 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/BatchToSpaceND.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/BatchToSpaceND.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/BitsHammingDistance.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/BitsHammingDistance.java index 2b85a4b79..bd165cdd3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/BitsHammingDistance.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/BitsHammingDistance.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.linalg.api.ops.impl.transforms.custom; import lombok.NonNull; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/BitwiseAnd.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/BitwiseAnd.java index 751793d38..ad7aed482 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/BitwiseAnd.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/BitwiseAnd.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/BitwiseOr.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/BitwiseOr.java index 9edc2bb1c..b1204abbf 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/BitwiseOr.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/BitwiseOr.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/BitwiseXor.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/BitwiseXor.java index 8ba7d99e5..54efcf375 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/BitwiseXor.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/BitwiseXor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/CReLU.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/CReLU.java index 08045619a..a1f7f18f0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/CReLU.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/CReLU.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/CReluBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/CReluBp.java index 0d41cfaaa..9007a686f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/CReluBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/CReluBp.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Choose.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Choose.java index 3ecf23e54..24a49b7af 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Choose.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Choose.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/CumProd.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/CumProd.java index f93d2bcf8..a7c056d4c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/CumProd.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/CumProd.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/CumSum.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/CumSum.java index 8c4bb6524..63ec5887a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/CumSum.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/CumSum.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/CyclicRShiftBits.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/CyclicRShiftBits.java index fa691bf8d..75f11d97a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/CyclicRShiftBits.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/CyclicRShiftBits.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/CyclicShiftBits.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/CyclicShiftBits.java index b11e0cefe..67a613010 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/CyclicShiftBits.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/CyclicShiftBits.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Dilation2D.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Dilation2D.java index 262160440..1e722717e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Dilation2D.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Dilation2D.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; @@ -172,15 +174,15 @@ public class Dilation2D extends DynamicCustomOp { val fields = DifferentialFunctionClassHolder.getInstance().getFieldsForFunction(this); - tfMappings.put("r0", new IntArrayIntIndexAdpater(0)); - tfMappings.put("r1", new IntArrayIntIndexAdpater(1)); - tfMappings.put("r2", new IntArrayIntIndexAdpater(2)); - tfMappings.put("r3", new IntArrayIntIndexAdpater(3)); + tfMappings.put("r0", new IntArrayIntIndexAdapter(0)); + tfMappings.put("r1", new IntArrayIntIndexAdapter(1)); + tfMappings.put("r2", new IntArrayIntIndexAdapter(2)); + tfMappings.put("r3", new IntArrayIntIndexAdapter(3)); - tfMappings.put("s0", new IntArrayIntIndexAdpater(0)); - tfMappings.put("s1", new IntArrayIntIndexAdpater(1)); - tfMappings.put("s2", new IntArrayIntIndexAdpater(2)); - tfMappings.put("s3", new IntArrayIntIndexAdpater(3)); + tfMappings.put("s0", new IntArrayIntIndexAdapter(0)); + tfMappings.put("s1", new IntArrayIntIndexAdapter(1)); + tfMappings.put("s2", new IntArrayIntIndexAdapter(2)); + tfMappings.put("s3", new IntArrayIntIndexAdapter(3)); tfMappings.put("isSameMode",new StringEqualsAdapter("SAME")); diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/DotProductAttention.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/DotProductAttention.java index 1e3787133..97dc7b29b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/DotProductAttention.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/DotProductAttention.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/DotProductAttentionBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/DotProductAttentionBp.java index 358a5b2ef..ba9b6aa38 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/DotProductAttentionBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/DotProductAttentionBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/DynamicPartition.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/DynamicPartition.java index db11a6a6c..fa22759ef 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/DynamicPartition.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/DynamicPartition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/DynamicStitch.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/DynamicStitch.java index 1163b2403..e3d365399 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/DynamicStitch.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/DynamicStitch.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/EqualTo.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/EqualTo.java index dc132f437..7b555fc61 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/EqualTo.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/EqualTo.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/FakeQuantWithMinMaxArgs.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/FakeQuantWithMinMaxArgs.java index 3cd9ce8f4..3bbb66a91 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/FakeQuantWithMinMaxArgs.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/FakeQuantWithMinMaxArgs.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.linalg.api.ops.impl.transforms.custom; import org.nd4j.autodiff.samediff.SDVariable; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/FakeQuantWithMinMaxVars.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/FakeQuantWithMinMaxVars.java index 9cd7e316a..ccfa81522 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/FakeQuantWithMinMaxVars.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/FakeQuantWithMinMaxVars.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.linalg.api.ops.impl.transforms.custom; import org.nd4j.autodiff.samediff.SDVariable; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Fill.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Fill.java index 7fa9e71e0..73ef67abd 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Fill.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Fill.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; @@ -46,24 +48,23 @@ import java.util.Map; public class Fill extends DynamicCustomOp { private double value; - private DataType outputDataType; + private DataType dtype; public Fill() { } - public Fill(SameDiff sameDiff, SDVariable shape, DataType outputDataType, double value) { + public Fill(SameDiff sameDiff, SDVariable shape, DataType dtype, double value) { super(null,sameDiff, new SDVariable[] {shape}, false); this.value = value; - this.outputDataType = outputDataType; - this.outputDataType = outputDataType; + this.dtype = dtype; addArgs(); } - public Fill(INDArray shape, DataType outputDataType, double value) { - super(new INDArray[]{shape, Nd4j.scalar(outputDataType, value)}, null); + public Fill(INDArray shape, DataType dtype, double value) { + super(new INDArray[]{shape, Nd4j.scalar(dtype, value)}, null); this.value = value; - this.outputDataType = outputDataType; + this.dtype = dtype; } public Fill(INDArray shape, INDArray result, double value) { @@ -83,7 +84,7 @@ public class Fill extends DynamicCustomOp { @Override public void initFromTensorFlow(NodeDef nodeDef, SameDiff initWith, Map attributesForNode, GraphDef graph) { org.tensorflow.framework.DataType dt = attributesForNode.get("T").getType(); - this.outputDataType = DataTypeAdapter.dtypeConv(dt); + this.dtype = DataTypeAdapter.dtypeConv(dt); } @Override @@ -139,7 +140,7 @@ public class Fill extends DynamicCustomOp { //1 or 2 possible: 2 for TF import (fill with specified value Preconditions.checkState(dataTypes != null && (dataTypes.size() == 1 || dataTypes.size() == 2), "Expected 1 or 2 input datatypes for %s, got %s", getClass(), dataTypes); - Preconditions.checkNotNull(outputDataType, "Output datatype was null (not set)"); - return Collections.singletonList(outputDataType); + Preconditions.checkNotNull(dtype, "Output datatype was null (not set)"); + return Collections.singletonList(dtype); } } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/GreaterThan.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/GreaterThan.java index 153470200..71a1de032 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/GreaterThan.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/GreaterThan.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/GreaterThanOrEqual.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/GreaterThanOrEqual.java index d9d03306d..d493f052b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/GreaterThanOrEqual.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/GreaterThanOrEqual.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/InTopK.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/InTopK.java index 9e8f7825a..2b88d8827 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/InTopK.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/InTopK.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; @@ -86,7 +88,7 @@ public class InTopK extends DynamicCustomOp { @Override public List calculateOutputDataTypes(List dataTypes){ //3rd input: dynamic K value - Preconditions.checkState(dataTypes != null && (dataTypes.size() == 2 || dataTypes.size() == 3), "Expected 2 or 3 input datatypes for %s, got %s", getClass(), dataTypes); + Preconditions.checkState(dataTypes != null && !dataTypes.isEmpty(), "Expected at least 1 input data types. for %s, got %s", getClass(), dataTypes); return Collections.singletonList(DataType.BOOL); } } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/InvertPermutation.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/InvertPermutation.java index f3e9fd04e..c01141db0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/InvertPermutation.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/InvertPermutation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/IsNonDecreasing.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/IsNonDecreasing.java index b3627f2db..1a7451d41 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/IsNonDecreasing.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/IsNonDecreasing.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/IsNumericTensor.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/IsNumericTensor.java index e0346a8a1..639f7a2f7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/IsNumericTensor.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/IsNumericTensor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/IsStrictlyIncreasing.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/IsStrictlyIncreasing.java index 2f85f5352..a21883aa3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/IsStrictlyIncreasing.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/IsStrictlyIncreasing.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LayerNorm.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LayerNorm.java index b9795c97a..9d599e11a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LayerNorm.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LayerNorm.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LayerNormBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LayerNormBp.java index 07504a9af..b69911a64 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LayerNormBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LayerNormBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LessThan.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LessThan.java index a44b008ab..d2993e969 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LessThan.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LessThan.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LessThanOrEqual.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LessThanOrEqual.java index ef7bc642a..125f11aab 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LessThanOrEqual.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LessThanOrEqual.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/ListDiff.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/ListDiff.java index 880717fb5..a0e9b94f0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/ListDiff.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/ListDiff.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LogMatrixDeterminant.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LogMatrixDeterminant.java index ad2f44421..eab2e60ae 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LogMatrixDeterminant.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LogMatrixDeterminant.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LogSoftMax.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LogSoftMax.java index e452ff4eb..e374ada9f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LogSoftMax.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LogSoftMax.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LogicalAnd.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LogicalAnd.java index a6feadd15..ea07c63e7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LogicalAnd.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LogicalAnd.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LogicalNot.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LogicalNot.java index feee869a1..a67094b06 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LogicalNot.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LogicalNot.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LogicalOr.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LogicalOr.java index 7b0c02957..0f000a58c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LogicalOr.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LogicalOr.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LogicalXor.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LogicalXor.java index 29cc492da..0d9a98388 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LogicalXor.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/LogicalXor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MatrixDeterminant.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MatrixDeterminant.java index 37e3d1864..f82c34fb2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MatrixDeterminant.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MatrixDeterminant.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MatrixDiag.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MatrixDiag.java index e62dee421..7fb9cf9cd 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MatrixDiag.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MatrixDiag.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MatrixDiagPart.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MatrixDiagPart.java index e1109f55a..0f5864e4d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MatrixDiagPart.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MatrixDiagPart.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MatrixInverse.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MatrixInverse.java index 93e6343f5..65539ecfd 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MatrixInverse.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MatrixInverse.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MatrixSetDiag.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MatrixSetDiag.java index 073eaf182..94fcde4f2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MatrixSetDiag.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MatrixSetDiag.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Max.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Max.java index 2d141a187..e6256a29b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Max.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Max.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MaximumBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MaximumBp.java index 75683c72e..96780826d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MaximumBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MaximumBp.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Min.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Min.java index 70d42ea68..698655b4a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Min.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Min.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MirrorPad.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MirrorPad.java index 15bf8d261..d34ca00ab 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MirrorPad.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MirrorPad.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MultiHeadDotProductAttention.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MultiHeadDotProductAttention.java index 60bdd4b01..5b796a7a4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MultiHeadDotProductAttention.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MultiHeadDotProductAttention.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MultiHeadDotProductAttentionBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MultiHeadDotProductAttentionBp.java index 89d60c2c3..963013568 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MultiHeadDotProductAttentionBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/MultiHeadDotProductAttentionBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/NotEqualTo.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/NotEqualTo.java index b49ac7402..eba3ae20a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/NotEqualTo.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/NotEqualTo.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/ParallelConcat.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/ParallelConcat.java index 4610b4725..47cbd1df9 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/ParallelConcat.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/ParallelConcat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; @@ -80,7 +82,7 @@ public class ParallelConcat extends DynamicCustomOp { @Override public List calculateOutputDataTypes(List dataTypes){ DataType first = dataTypes.get(0); - for(int i=1; i calculateOutputDataTypes(List dataTypes){ - Preconditions.checkState(dataTypes != null && dataTypes.size() == 1, "Expected exactly 1 input datatype for %s, got %s", getClass(), dataTypes); + Preconditions.checkState(dataTypes != null && dataTypes.size() >= 1, "Expected exactly 1 or more input datatypes for %s, got %s", getClass(), dataTypes); + if(dataTypes.size() > 1) + log.warn("Using returning first data type of type " + dataTypes.get(0) + " for input"); return Arrays.asList(dataTypes.get(0), (idxDataType == null ? DEFAULT_IDX_DTYPE : idxDataType)); } } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/UniqueWithCounts.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/UniqueWithCounts.java index 7c605bda4..6411932ce 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/UniqueWithCounts.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/UniqueWithCounts.java @@ -1,21 +1,24 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; +import lombok.extern.slf4j.Slf4j; import org.nd4j.autodiff.samediff.SDVariable; import org.nd4j.autodiff.samediff.SameDiff; import org.nd4j.common.base.Preconditions; @@ -30,6 +33,7 @@ import java.util.Arrays; import java.util.List; import java.util.Map; +@Slf4j public class UniqueWithCounts extends DynamicCustomOp { public static final DataType DEFAULT_IDX_DTYPE = DataType.INT; private DataType idxDataType; @@ -66,8 +70,10 @@ public class UniqueWithCounts extends DynamicCustomOp { } @Override - public List calculateOutputDataTypes(List dataTypes){ - Preconditions.checkState(dataTypes != null && dataTypes.size() == 1, "Expected exactly 1 input datatype for %s, got %s", getClass(), dataTypes); + public List calculateOutputDataTypes(List dataTypes) { + Preconditions.checkState(dataTypes != null && dataTypes.size() >= 1, "Expected exactly 1 or more input datatypes for %s, got %s", getClass(), dataTypes); + if(dataTypes.size() > 1) + log.warn("Using returning first data type of type " + dataTypes.get(0) + " for input"); DataType d = (idxDataType == null ? DEFAULT_IDX_DTYPE : idxDataType); return Arrays.asList(dataTypes.get(0), d, d); } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/XwPlusB.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/XwPlusB.java index cb98ce740..faf07dc14 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/XwPlusB.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/XwPlusB.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Zeta.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Zeta.java index d00c3587e..d636bd6da 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Zeta.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/Zeta.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/segment/SegmentMax.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/segment/SegmentMax.java index 0d978b73f..1d88bf2f9 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/segment/SegmentMax.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/segment/SegmentMax.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom.segment; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/segment/SegmentMean.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/segment/SegmentMean.java index 11780b260..9b9558b54 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/segment/SegmentMean.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/segment/SegmentMean.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom.segment; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/segment/SegmentMin.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/segment/SegmentMin.java index 8063562d5..536e2b4a2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/segment/SegmentMin.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/segment/SegmentMin.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom.segment; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/segment/SegmentProd.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/segment/SegmentProd.java index 6bfcb78c1..76b9b55b4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/segment/SegmentProd.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/segment/SegmentProd.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom.segment; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/segment/SegmentSum.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/segment/SegmentSum.java index e0c0af833..e11c62596 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/segment/SegmentSum.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/custom/segment/SegmentSum.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.custom.segment; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/dtype/Cast.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/dtype/Cast.java index 96cd840ba..25693c8ff 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/dtype/Cast.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/dtype/Cast.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.dtype; @@ -43,6 +45,7 @@ import java.util.*; * @author raver119@gmail.com */ public class Cast extends BaseDynamicTransformOp { + private DataType typeDst; public Cast() { @@ -56,7 +59,7 @@ public class Cast extends BaseDynamicTransformOp { addArgs(); } - public Cast(@NonNull INDArray arg, @NonNull DataType dataType){ + public Cast(@NonNull INDArray arg, @NonNull DataType dataType) { super(new INDArray[]{arg}, null); this.typeDst = dataType; addArgs(); @@ -108,7 +111,7 @@ public class Cast extends BaseDynamicTransformOp { @Override public void setValueFor(Field target, Object value) { //This is a hack around a property mapping issue - TF datatype DT_DOUBLE return attribute.getType() of DT_DOUBLE which doesn't make sense - if(value == null || value instanceof String || value instanceof DataType){ + if(value == null || value instanceof String || value instanceof DataType) { super.setValueFor(target, value); } } @@ -134,7 +137,7 @@ public class Cast extends BaseDynamicTransformOp { } @Override - public List calculateOutputDataTypes(List dataTypes){ + public List calculateOutputDataTypes(List dataTypes) { //All scalar ops: output type is same as input type Preconditions.checkState(dataTypes != null && dataTypes.size() == 1, "Expected exactly 1 input datatype for %s, got input %s", getClass(), dataTypes); return Collections.singletonList(typeDst); diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/floating/RSqrt.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/floating/RSqrt.java index ad58b9814..0e3276843 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/floating/RSqrt.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/floating/RSqrt.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.floating; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/floating/Sqrt.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/floating/Sqrt.java index 462064188..a22de88ca 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/floating/Sqrt.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/floating/Sqrt.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.floating; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/CubeBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/CubeBp.java index fafc8c65a..0a65525af 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/CubeBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/CubeBp.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/CubeDerivative.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/CubeDerivative.java index 60b5d9161..d72181568 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/CubeDerivative.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/CubeDerivative.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/DynamicPartitionBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/DynamicPartitionBp.java index 64c5d17c9..ddc167aba 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/DynamicPartitionBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/DynamicPartitionBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/EluBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/EluBp.java index ae6032ffe..817a6769f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/EluBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/EluBp.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/GradientBackwardsMarker.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/GradientBackwardsMarker.java index 7bb5ace99..4d7bcba7f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/GradientBackwardsMarker.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/GradientBackwardsMarker.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/HardSigmoidBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/HardSigmoidBp.java index e2d376cdc..e9d550825 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/HardSigmoidBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/HardSigmoidBp.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/HardSigmoidDerivative.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/HardSigmoidDerivative.java index 75c8a25fb..382c16d8b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/HardSigmoidDerivative.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/HardSigmoidDerivative.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/HardTanhBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/HardTanhBp.java index e0cd91b25..896899e0a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/HardTanhBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/HardTanhBp.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/HardTanhDerivative.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/HardTanhDerivative.java index 6bf3a95ac..117f00fe8 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/HardTanhDerivative.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/HardTanhDerivative.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/LeakyReLUBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/LeakyReLUBp.java index 45ca54d3e..a60fc0118 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/LeakyReLUBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/LeakyReLUBp.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/LeakyReLUDerivative.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/LeakyReLUDerivative.java index f64f8fabd..37b4399c8 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/LeakyReLUDerivative.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/LeakyReLUDerivative.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/LogSoftMaxDerivative.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/LogSoftMaxDerivative.java index ff866498c..41b7aa61f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/LogSoftMaxDerivative.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/LogSoftMaxDerivative.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/PReluBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/PReluBp.java index 0d2ce1b36..6a87004a3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/PReluBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/PReluBp.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/RationalTanhBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/RationalTanhBp.java index a07051390..62b20cc67 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/RationalTanhBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/RationalTanhBp.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/RationalTanhDerivative.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/RationalTanhDerivative.java index 592859c98..4d08d0be7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/RationalTanhDerivative.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/RationalTanhDerivative.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/RectifiedTanhBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/RectifiedTanhBp.java index 2009462d1..b4d1930ec 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/RectifiedTanhBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/RectifiedTanhBp.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/RectifiedTanhDerivative.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/RectifiedTanhDerivative.java index 7691cc441..d26423f43 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/RectifiedTanhDerivative.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/RectifiedTanhDerivative.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/Relu6Derivative.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/Relu6Derivative.java index ef6ed3a30..2cd13ed74 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/Relu6Derivative.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/Relu6Derivative.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SELUDerivative.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SELUDerivative.java index 6f929ff41..a1c9f9706 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SELUDerivative.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SELUDerivative.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SeluBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SeluBp.java index cd0a254c9..751e96b4f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SeluBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SeluBp.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SigmoidDerivative.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SigmoidDerivative.java index b47d41462..bd6532616 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SigmoidDerivative.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SigmoidDerivative.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SoftPlusBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SoftPlusBp.java index 4e9e9d347..b10dcc0f9 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SoftPlusBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SoftPlusBp.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SoftSignBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SoftSignBp.java index 09f4f02fe..bd048f3c6 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SoftSignBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SoftSignBp.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SoftSignDerivative.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SoftSignDerivative.java index 1af25c0ce..8eac9d89c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SoftSignDerivative.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SoftSignDerivative.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SoftmaxBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SoftmaxBp.java index 9797b19a9..536caa17b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SoftmaxBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/SoftmaxBp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/TanhDerivative.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/TanhDerivative.java index 2a0d6021a..f6797c5d3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/TanhDerivative.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/TanhDerivative.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/ThresholdReluBp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/ThresholdReluBp.java index 80c325f67..7bbf7469a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/ThresholdReluBp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/gradient/ThresholdReluBp.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.linalg.api.ops.impl.transforms.gradient; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/BinaryMinimalRelativeError.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/BinaryMinimalRelativeError.java index a08aad7dc..509ca256a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/BinaryMinimalRelativeError.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/BinaryMinimalRelativeError.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.pairwise; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/BinaryRelativeError.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/BinaryRelativeError.java index b564cce0f..3c9866ad4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/BinaryRelativeError.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/BinaryRelativeError.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.pairwise; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/RelativeError.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/RelativeError.java index 21dc61500..c6e9fe5fa 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/RelativeError.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/RelativeError.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.pairwise; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/Set.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/Set.java index b6f53e8e3..2edafef93 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/Set.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/Set.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.pairwise; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/AddOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/AddOp.java index 4069967c6..ea1448a78 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/AddOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/AddOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.pairwise.arithmetic; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/Axpy.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/Axpy.java index c3c82f442..c7dc2e338 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/Axpy.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/Axpy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.pairwise.arithmetic; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/CopyOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/CopyOp.java index 5482c22f3..5a0384d53 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/CopyOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/CopyOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.pairwise.arithmetic; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/DivOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/DivOp.java index 2ce0101cf..b7a2c305f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/DivOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/DivOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.pairwise.arithmetic; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/FModOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/FModOp.java index 8de78257d..cda70a62f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/FModOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/FModOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.pairwise.arithmetic; @@ -78,7 +80,7 @@ public class FModOp extends BaseTransformSameOp { @Override public String tensorflowName() { - throw new NoOpNameFoundException(); + return "FloorMod"; } @Override diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/FloorDivOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/FloorDivOp.java index 7ed2c6c1c..c349f13a1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/FloorDivOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/FloorDivOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.pairwise.arithmetic; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/FloorModOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/FloorModOp.java index ed2de94a6..6f3dab14f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/FloorModOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/FloorModOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.pairwise.arithmetic; @@ -70,7 +72,7 @@ public class FloorModOp extends BaseDynamicTransformOp { } @Override - public List calculateOutputDataTypes(List dataTypes){ + public List calculateOutputDataTypes(List dataTypes) { Preconditions.checkState(dataTypes != null && dataTypes.size() == 2, "Expected exactly 2 input datatypes for %s, got input %s", getClass(), dataTypes); DataType z = Shape.pickPairwiseDataType(dataTypes.get(0), dataTypes.get(1)); diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/MergeAddOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/MergeAddOp.java index 615eedbbe..b1ea99654 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/MergeAddOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/impl/transforms/pairwise/arithmetic/MergeAddOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.impl.transforms.pairwise.arithmetic; @@ -77,9 +79,9 @@ public class MergeAddOp extends BaseDynamicTransformOp { @Override - public List calculateOutputDataTypes(List dataTypes){ + public List calculateOutputDataTypes(List dataTypes) { DataType first = dataTypes.get(0); - for( int i=1; i calculateOutputDataTypes(List inputDataTypes){ - Preconditions.checkState(inputDataTypes == null || inputDataTypes.isEmpty(), "Expected no input data types for %s, got %s", getClass().getName(), inputDataTypes); - //TODO MAKE CONFIGUREABLE - https://github.com/deeplearning4j/deeplearning4j/issues/6854 + public List calculateOutputDataTypes(List inputDataTypes) { return Collections.singletonList(DataType.FLOAT); } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/compat/RandomStandardNormal.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/compat/RandomStandardNormal.java index 9fc628f28..c1c41d43b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/compat/RandomStandardNormal.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/compat/RandomStandardNormal.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.random.compat; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/DistributionUniform.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/DistributionUniform.java index a10706365..dd2ad9fa0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/DistributionUniform.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/DistributionUniform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.random.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/RandomBernoulli.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/RandomBernoulli.java index 041d8c010..79448863b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/RandomBernoulli.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/RandomBernoulli.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.random.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/RandomExponential.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/RandomExponential.java index bb0476478..9dfa88bc9 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/RandomExponential.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/RandomExponential.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.random.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/RandomGamma.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/RandomGamma.java index bb2676ba9..3ab5b8e0d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/RandomGamma.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/RandomGamma.java @@ -1,19 +1,21 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.random.custom; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/RandomNormal.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/RandomNormal.java index 44b6b8ae6..a4ab39287 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/RandomNormal.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/RandomNormal.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.random.custom; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/RandomPoisson.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/RandomPoisson.java index f14c2b709..1a3d55dec 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/RandomPoisson.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/RandomPoisson.java @@ -1,19 +1,21 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.random.custom; import lombok.NoArgsConstructor; @@ -29,6 +31,7 @@ import org.tensorflow.framework.AttrValue; import org.tensorflow.framework.GraphDef; import org.tensorflow.framework.NodeDef; +import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Map; @@ -64,6 +67,7 @@ public class RandomPoisson extends DynamicCustomOp { @Override public void initFromTensorFlow(NodeDef nodeDef, SameDiff initWith, Map attributesForNode, GraphDef graph) { + //TODO: change op descriptor to have proper data type matching java if(attributesForNode.containsKey("dtype")) { outputDataType = DataTypeAdapter.dtypeConv(attributesForNode.get("dtype").getType()); } @@ -73,6 +77,9 @@ public class RandomPoisson extends DynamicCustomOp { public List calculateOutputDataTypes(List inputDataTypes){ Preconditions.checkState(inputDataTypes.size() == 2, "Expected exactly 2 input datatypes for %s, got %s", getClass(), inputDataTypes.size()); + + if(!dArguments.isEmpty()) + return Arrays.asList(dArguments.get(0)); return Collections.singletonList(outputDataType); } } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/RandomShuffle.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/RandomShuffle.java index 68d2bf56d..63cbb1ec2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/RandomShuffle.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/custom/RandomShuffle.java @@ -1,19 +1,21 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.random.custom; import lombok.NoArgsConstructor; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/AlphaDropOut.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/AlphaDropOut.java index ca9fb5e11..15882f2a2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/AlphaDropOut.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/AlphaDropOut.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.random.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/BernoulliDistribution.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/BernoulliDistribution.java index 1a413e154..1d41f737e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/BernoulliDistribution.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/BernoulliDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.random.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/BinomialDistribution.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/BinomialDistribution.java index f823700d0..fdad9cbd5 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/BinomialDistribution.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/BinomialDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.random.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/BinomialDistributionEx.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/BinomialDistributionEx.java index d6ed13a7e..1a75d4af3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/BinomialDistributionEx.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/BinomialDistributionEx.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.random.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/Choice.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/Choice.java index f0961a6bd..8532786cf 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/Choice.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/Choice.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.random.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/DropOut.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/DropOut.java index e94e775eb..8250b7e12 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/DropOut.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/DropOut.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.random.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/DropOutInverted.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/DropOutInverted.java index ea7f6f7fd..33e42b8b1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/DropOutInverted.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/DropOutInverted.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.random.impl; @@ -44,8 +46,6 @@ public class DropOutInverted extends BaseRandomOp { public DropOutInverted(SameDiff sameDiff, SDVariable input, double p) { super(sameDiff, input); this.p = p; - //https://github.com/deeplearning4j/deeplearning4j/issues/5650 - throw new UnsupportedOperationException("Dropout SameDiff support disabled pending backprop support"); } public DropOutInverted(@NonNull INDArray x, double p) { diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/GaussianDistribution.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/GaussianDistribution.java index eb78af894..14ebdee45 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/GaussianDistribution.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/GaussianDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.random.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/Linspace.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/Linspace.java index cca52fcad..ff4a7e809 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/Linspace.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/Linspace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.random.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/LogNormalDistribution.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/LogNormalDistribution.java index d0e2bc462..c8088a885 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/LogNormalDistribution.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/LogNormalDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.random.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/ProbablisticMerge.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/ProbablisticMerge.java index ce86881e8..429d07eec 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/ProbablisticMerge.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/ProbablisticMerge.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.random.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/Range.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/Range.java index 6277a04bc..ed7cd5d8e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/Range.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/Range.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.random.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/TruncatedNormalDistribution.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/TruncatedNormalDistribution.java index 9453bab8b..6e4cc2086 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/TruncatedNormalDistribution.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/TruncatedNormalDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.random.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/UniformDistribution.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/UniformDistribution.java index bf1863dda..2f39ecd7c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/UniformDistribution.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/random/impl/UniformDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.random.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/util/PrintAffinity.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/util/PrintAffinity.java index c374c7dd3..b0ca335e4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/util/PrintAffinity.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/util/PrintAffinity.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.util; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/util/PrintVariable.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/util/PrintVariable.java index 76ffb20be..25c1b0a93 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/util/PrintVariable.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/util/PrintVariable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.ops.util; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/DefaultRandom.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/DefaultRandom.java index c23025117..c4711e9e0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/DefaultRandom.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/DefaultRandom.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.rng; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/Random.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/Random.java index 0dbf16d8d..cef9931c6 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/Random.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/Random.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.rng; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/BaseDistribution.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/BaseDistribution.java index e32010827..ea3bbd1df 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/BaseDistribution.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/BaseDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.rng.distribution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/Distribution.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/Distribution.java index 02fdea522..37101c0cf 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/Distribution.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/Distribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.rng.distribution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/factory/DefaultDistributionFactory.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/factory/DefaultDistributionFactory.java index 4c6a7c542..46b295f72 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/factory/DefaultDistributionFactory.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/factory/DefaultDistributionFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.rng.distribution.factory; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/factory/DistributionFactory.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/factory/DistributionFactory.java index 8b58a0d65..73e4dbadf 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/factory/DistributionFactory.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/factory/DistributionFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.rng.distribution.factory; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/BinomialDistribution.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/BinomialDistribution.java index 4715ec853..a1bdf0023 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/BinomialDistribution.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/BinomialDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.rng.distribution.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/ConstantDistribution.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/ConstantDistribution.java index ed5742c1a..72398f99a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/ConstantDistribution.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/ConstantDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.rng.distribution.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/LogNormalDistribution.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/LogNormalDistribution.java index ca1b05b06..01cff2d9b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/LogNormalDistribution.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/LogNormalDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.rng.distribution.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/NormalDistribution.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/NormalDistribution.java index 393d64364..a63666556 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/NormalDistribution.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/NormalDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.rng.distribution.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/OrthogonalDistribution.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/OrthogonalDistribution.java index 8131617f8..2019d8f91 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/OrthogonalDistribution.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/OrthogonalDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.rng.distribution.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/SaddlePointExpansion.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/SaddlePointExpansion.java index 81d5657c6..18e9e484b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/SaddlePointExpansion.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/SaddlePointExpansion.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.rng.distribution.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/TruncatedNormalDistribution.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/TruncatedNormalDistribution.java index 55cbac48e..ccee9c881 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/TruncatedNormalDistribution.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/TruncatedNormalDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.rng.distribution.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/UniformDistribution.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/UniformDistribution.java index e152e2114..87bdeae5a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/UniformDistribution.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/rng/distribution/impl/UniformDistribution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.rng.distribution.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/shape/LongShapeDescriptor.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/shape/LongShapeDescriptor.java index 63d29f3b9..317323982 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/shape/LongShapeDescriptor.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/shape/LongShapeDescriptor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.shape; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/shape/Shape.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/shape/Shape.java index 2da490a0d..9594a642e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/shape/Shape.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/shape/Shape.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.api.shape; @@ -3276,8 +3278,9 @@ public class Shape { */ val dtype = ArrayOptionsHelper.dataType(extras); - val empty = ArrayOptionsHelper.hasBitSet(extras, ArrayOptionsHelper.ATYPE_EMPTY_BIT); - return Nd4j.getExecutioner().createShapeInfo(shape, stride, elementWiseStride, order, dtype, empty); + //val empty = ArrayOptionsHelper.hasBitSet(extras, ArrayOptionsHelper.ATYPE_EMPTY_BIT); + //just propogate extra // it is the same value in the backend + return Nd4j.getExecutioner().createShapeInfo(shape, stride, elementWiseStride, order, dtype, extras); } public static DataBuffer createSparseInformation(int[] flags, long[] sparseOffsets, int[] hiddenDimensions, @@ -3687,9 +3690,6 @@ public class Shape { } public static DataType pickPairwiseDataType(@NonNull DataType typeX, @NonNull Number number) { - if (!Nd4j.isExperimentalMode()) - return typeX; - if (number instanceof Double) { return pickPairwiseDataType(typeX, DataType.DOUBLE); } else if (number instanceof Float) { @@ -3707,10 +3707,16 @@ public class Shape { } } + /** + * Return a data type to use for output + * within a pair wise operation such as add or subtract. + * Basically: favor float like data types + * over ints since they're typically used for indexing. + * @param typeX the first input data type + * @param typeY the second input data type + * @return the resolved data type + */ public static DataType pickPairwiseDataType(@NonNull DataType typeX, @NonNull DataType typeY) { - if (!Nd4j.isExperimentalMode()) - return typeX; - if (typeX == typeY) return typeX; @@ -3754,7 +3760,7 @@ public class Shape { return ArrayOptionsHelper.arrayType(shapeInfo) == ArrayType.EMPTY; } - public static void assertValidOrder(char order){ + public static void assertValidOrder(char order) { if(order != 'c' && order != 'f' && order != 'a'){ throw new IllegalArgumentException("Invalid order arg: must be 'c' or 'f' (or 'a' for vectors), got '" + order + "'"); } @@ -3764,7 +3770,7 @@ public class Shape { * Create an INDArray to represent the (possibly null) int[] dimensions. * If null or length 0, returns an empty INT array. Otherwise, returns a 1d INT NDArray * @param dimensions Dimensions to convert - * @return Dimenions as an INDArray + * @return Dimensions as an INDArray */ public static INDArray ndArrayDimFromInt(int... dimensions){ if (dimensions == null || dimensions.length == 0) @@ -3797,10 +3803,10 @@ public class Shape { retShape = new long[]{1, 1}; } } else { - if(keepDims){ + if(keepDims) { retShape = x.shape().clone(); if(wholeArray){ - for( int i=0; i 0, "No inputs: %s", (Object[]) values); Preconditions.checkState(axis >= -(values[0].rank()+1) && axis < values[0].rank()+1, "Invalid axis: must be between " + - "%s (inclusive) and %s (exclusive) for rank %s input, got %s", -(values[0].rank()+1), values[0].rank()+1, + "%s (inclusive) and %s (exclusive) for rank %s input, got %s", -(values[0].rank()+1), values[0].rank()+1, values[0].rank(), axis); Stack stack = new Stack(values, null, axis); @@ -5851,7 +5853,7 @@ public class Nd4j { } } - + public static DataType defaultFloatingPointType() { return defaultFloatingPointDataType.get(); } @@ -6583,7 +6585,7 @@ public class Nd4j { @Deprecated public static void scatterUpdate(ScatterUpdate.UpdateOp op, @NonNull INDArray array, @NonNull INDArray indices, @NonNull INDArray updates, int... axis) { Preconditions.checkArgument(indices.dataType() == DataType.INT || indices.dataType() == DataType.LONG, - "Indices should have INT data type"); + "Indices should have INT data type"); Preconditions.checkArgument(array.dataType() == updates.dataType(), "Array and updates should have the same data type"); getExecutioner().scatterUpdate(op, array, indices, updates, axis); } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/Nd4jBackend.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/Nd4jBackend.java index d7d69de57..1c3ed4c33 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/Nd4jBackend.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/Nd4jBackend.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.factory; @@ -148,6 +149,10 @@ public abstract class Nd4jBackend { public abstract Environment getEnvironment(); + /** + * Get the build information of the backend + */ + public abstract String buildInfo(); /** * Loads the best available backend. diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/RandomFactory.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/RandomFactory.java index c1fa4f73a..667354774 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/RandomFactory.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/RandomFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.factory; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDBase.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDBase.java index 1b2718e2e..15945bd79 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDBase.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDBase.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDBitwise.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDBitwise.java index 901491226..1a81adb5e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDBitwise.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDBitwise.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDCNN.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDCNN.java index 57aa1b36a..6be386e9c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDCNN.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDCNN.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDImage.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDImage.java index e00fae7d6..c821f3520 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDImage.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDImage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDLinalg.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDLinalg.java index 378ef0cd8..8f9603ea2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDLinalg.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDLinalg.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDLoss.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDLoss.java index d6ed94088..cc2df0739 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDLoss.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDLoss.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDMath.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDMath.java index d27167e9d..8cfcb089b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDMath.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDMath.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDNN.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDNN.java index af69202d6..ecbd6ffe0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDNN.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDNN.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDRNN.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDRNN.java index 47b93b188..a7487f0e7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDRNN.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDRNN.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDRandom.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDRandom.java index 70392554b..1e4e1005a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDRandom.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/ops/NDRandom.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ //================== GENERATED CODE - DO NOT MODIFY THIS FILE ================== diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/heartbeat/Heartbeat.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/heartbeat/Heartbeat.java index 5ffbea944..6959ae464 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/heartbeat/Heartbeat.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/heartbeat/Heartbeat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.heartbeat; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/heartbeat/reports/Environment.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/heartbeat/reports/Environment.java index da47b574b..2fa79a402 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/heartbeat/reports/Environment.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/heartbeat/reports/Environment.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.heartbeat.reports; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/heartbeat/reports/Event.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/heartbeat/reports/Event.java index c79dc4316..31f70fed7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/heartbeat/reports/Event.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/heartbeat/reports/Event.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.heartbeat.reports; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/heartbeat/reports/Task.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/heartbeat/reports/Task.java index fc8703dfd..267cc97f9 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/heartbeat/reports/Task.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/heartbeat/reports/Task.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.heartbeat.reports; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/heartbeat/utils/EnvironmentUtils.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/heartbeat/utils/EnvironmentUtils.java index abbcd686a..368bbeede 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/heartbeat/utils/EnvironmentUtils.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/heartbeat/utils/EnvironmentUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.heartbeat.utils; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/heartbeat/utils/TaskUtils.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/heartbeat/utils/TaskUtils.java index c3e4eea11..f744d244d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/heartbeat/utils/TaskUtils.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/heartbeat/utils/TaskUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.heartbeat.utils; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/BooleanIndexing.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/BooleanIndexing.java index 49dfd1458..60149210b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/BooleanIndexing.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/BooleanIndexing.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/INDArrayIndex.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/INDArrayIndex.java index 22cb495e2..1f697a0b5 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/INDArrayIndex.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/INDArrayIndex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/IndexInfo.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/IndexInfo.java index d1b03e098..cd3b6c367 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/IndexInfo.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/IndexInfo.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/Indices.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/Indices.java index 647b8f4b8..204986097 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/Indices.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/Indices.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/IntervalIndex.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/IntervalIndex.java index 01f82ddf4..2ab0b0f37 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/IntervalIndex.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/IntervalIndex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/NDArrayIndex.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/NDArrayIndex.java index 04975f0a5..3834236f9 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/NDArrayIndex.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/NDArrayIndex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/NDArrayIndexAll.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/NDArrayIndexAll.java index 6ee73c9d4..1054e0b14 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/NDArrayIndexAll.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/NDArrayIndexAll.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/NewAxis.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/NewAxis.java index ec33a8676..b4a978ded 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/NewAxis.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/NewAxis.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/PointIndex.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/PointIndex.java index 33cb996e9..afd2c122b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/PointIndex.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/PointIndex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/SpecifiedIndex.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/SpecifiedIndex.java index f7aa28cd6..f76ec1f8b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/SpecifiedIndex.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/SpecifiedIndex.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/AbsValueGreaterOrEqualsThan.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/AbsValueGreaterOrEqualsThan.java index e35e0fc67..c429c3b19 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/AbsValueGreaterOrEqualsThan.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/AbsValueGreaterOrEqualsThan.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.conditions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/AbsValueGreaterThan.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/AbsValueGreaterThan.java index 5af1875f0..4292c03db 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/AbsValueGreaterThan.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/AbsValueGreaterThan.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.conditions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/AbsValueLessOrEqualsThan.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/AbsValueLessOrEqualsThan.java index ec58f4f89..9e9eb11b0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/AbsValueLessOrEqualsThan.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/AbsValueLessOrEqualsThan.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.conditions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/AbsValueLessThan.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/AbsValueLessThan.java index 704378505..5a90a76a2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/AbsValueLessThan.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/AbsValueLessThan.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.conditions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/And.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/And.java index 1b027fe55..96a6a989e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/And.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/And.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.conditions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/BaseCondition.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/BaseCondition.java index 7b21a15f1..33b83d6a6 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/BaseCondition.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/BaseCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.conditions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/Condition.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/Condition.java index dd0a3af83..9c032186d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/Condition.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/Condition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.conditions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/ConditionBuilder.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/ConditionBuilder.java index dd893c314..f68174f39 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/ConditionBuilder.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/ConditionBuilder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.conditions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/ConditionEquals.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/ConditionEquals.java index a15ee7862..3ba360c7d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/ConditionEquals.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/ConditionEquals.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.conditions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/Conditions.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/Conditions.java index f426223ef..2fa1ae0bd 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/Conditions.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/Conditions.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.conditions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/EpsilonEquals.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/EpsilonEquals.java index 0d6d9d74e..bcf6080eb 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/EpsilonEquals.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/EpsilonEquals.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.conditions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/EpsilonNotEquals.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/EpsilonNotEquals.java index b2f53ea17..0bc53018c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/EpsilonNotEquals.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/EpsilonNotEquals.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.conditions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/EqualsCondition.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/EqualsCondition.java index 372622c43..a465634ef 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/EqualsCondition.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/EqualsCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.conditions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/GreaterThan.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/GreaterThan.java index 6b3eaf3ef..83ab70512 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/GreaterThan.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/GreaterThan.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.conditions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/GreaterThanOrEqual.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/GreaterThanOrEqual.java index 790809443..dad9e25c7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/GreaterThanOrEqual.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/GreaterThanOrEqual.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.conditions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/IsFinite.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/IsFinite.java index 1ce3bafbe..b86ef397a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/IsFinite.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/IsFinite.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.conditions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/IsInfinite.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/IsInfinite.java index 8cd0a9313..1f27768a5 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/IsInfinite.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/IsInfinite.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.conditions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/IsNaN.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/IsNaN.java index ba1fe03ad..334459403 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/IsNaN.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/IsNaN.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.conditions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/LessThan.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/LessThan.java index 3cc1b2d70..5b002beac 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/LessThan.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/LessThan.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.conditions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/LessThanOrEqual.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/LessThanOrEqual.java index 06cdea2be..c0cd00d51 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/LessThanOrEqual.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/LessThanOrEqual.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.conditions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/Not.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/Not.java index 8259130b4..0df1cabde 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/Not.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/Not.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.conditions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/NotEqualsCondition.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/NotEqualsCondition.java index ad40ae159..cca562ebe 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/NotEqualsCondition.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/NotEqualsCondition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.conditions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/NotFinite.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/NotFinite.java index 7e4cfaa75..cac818a15 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/NotFinite.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/NotFinite.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.conditions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/Or.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/Or.java index 3dc284988..be9fe9536 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/Or.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/conditions/Or.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.conditions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/functions/Identity.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/functions/Identity.java index c2d379ab0..02bbff03d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/functions/Identity.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/functions/Identity.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.functions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/functions/StableNumber.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/functions/StableNumber.java index 67ea08ddf..2ad6d28ee 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/functions/StableNumber.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/functions/StableNumber.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.functions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/functions/Value.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/functions/Value.java index 991fd467b..3b8d1ccb1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/functions/Value.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/functions/Value.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.functions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/functions/Zero.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/functions/Zero.java index 6096c53fe..75e836590 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/functions/Zero.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/indexing/functions/Zero.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.indexing.functions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/inverse/InvertMatrix.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/inverse/InvertMatrix.java index 5465094b5..eb5f592db 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/inverse/InvertMatrix.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/inverse/InvertMatrix.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.inverse; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/AMSGradUpdater.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/AMSGradUpdater.java index 37d1cb01d..3538e0940 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/AMSGradUpdater.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/AMSGradUpdater.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/AdaDeltaUpdater.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/AdaDeltaUpdater.java index 6aa7d7ab4..a8694bc18 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/AdaDeltaUpdater.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/AdaDeltaUpdater.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/AdaGradUpdater.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/AdaGradUpdater.java index 211022366..1766d5032 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/AdaGradUpdater.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/AdaGradUpdater.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/AdaMaxUpdater.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/AdaMaxUpdater.java index 06fbde54d..4081476e8 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/AdaMaxUpdater.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/AdaMaxUpdater.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/AdamUpdater.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/AdamUpdater.java index e72bfe5a4..10d7b931d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/AdamUpdater.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/AdamUpdater.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/GradientUpdater.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/GradientUpdater.java index 298c00e59..c47b4da59 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/GradientUpdater.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/GradientUpdater.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/NadamUpdater.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/NadamUpdater.java index 1cea01cb7..4621944ed 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/NadamUpdater.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/NadamUpdater.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/NesterovsUpdater.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/NesterovsUpdater.java index 2a18b78d8..8aff07e8a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/NesterovsUpdater.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/NesterovsUpdater.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/NoOpUpdater.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/NoOpUpdater.java index 694852645..1cdd34de0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/NoOpUpdater.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/NoOpUpdater.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/RmsPropUpdater.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/RmsPropUpdater.java index 866f9ce0d..a121db05c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/RmsPropUpdater.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/RmsPropUpdater.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/SgdUpdater.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/SgdUpdater.java index 2476c4c3e..669ca2e82 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/SgdUpdater.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/SgdUpdater.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/AMSGrad.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/AMSGrad.java index b823bf71a..39e822a52 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/AMSGrad.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/AMSGrad.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/AdaDelta.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/AdaDelta.java index c6cb4af42..ad4c75c18 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/AdaDelta.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/AdaDelta.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/AdaGrad.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/AdaGrad.java index bb9036b71..cdab3832d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/AdaGrad.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/AdaGrad.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/AdaMax.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/AdaMax.java index 848bb3408..2bc6076ee 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/AdaMax.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/AdaMax.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/Adam.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/Adam.java index 6901af59c..da2c5230f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/Adam.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/Adam.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/IUpdater.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/IUpdater.java index a40aa697c..d49105b1d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/IUpdater.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/IUpdater.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/Nadam.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/Nadam.java index 781bd2d07..ecb385894 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/Nadam.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/Nadam.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/Nesterovs.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/Nesterovs.java index 3709694c4..b6ab03649 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/Nesterovs.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/Nesterovs.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/NoOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/NoOp.java index a05dbe50a..36776a5ff 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/NoOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/NoOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/RmsProp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/RmsProp.java index 0b133879a..dd9e400f4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/RmsProp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/RmsProp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/Sgd.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/Sgd.java index a859f5952..f06f00758 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/Sgd.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/config/Sgd.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning.config; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/legacy/AdaGrad.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/legacy/AdaGrad.java index fddfd68f9..90ce3b6b0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/legacy/AdaGrad.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/legacy/AdaGrad.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning.legacy; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/regularization/L1Regularization.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/regularization/L1Regularization.java index b5d1aa84c..65501589b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/regularization/L1Regularization.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/regularization/L1Regularization.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning.regularization; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/regularization/L2Regularization.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/regularization/L2Regularization.java index 8ef6e85fa..11d491f5c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/regularization/L2Regularization.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/regularization/L2Regularization.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning.regularization; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/regularization/Regularization.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/regularization/Regularization.java index 74376b502..354fd917c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/regularization/Regularization.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/regularization/Regularization.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning.regularization; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/regularization/WeightDecay.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/regularization/WeightDecay.java index 5be505b36..0d4158d76 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/regularization/WeightDecay.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/learning/regularization/WeightDecay.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.learning.regularization; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/ILossFunction.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/ILossFunction.java index 7af044937..c61f1a786 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/ILossFunction.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/ILossFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.lossfunctions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/LossFunctions.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/LossFunctions.java index 1ff6c8dfe..3e8052fae 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/LossFunctions.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/LossFunctions.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.lossfunctions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/LossUtil.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/LossUtil.java index 9ac7e86cd..2ac8323a1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/LossUtil.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/LossUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.lossfunctions; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/SameDiffLoss.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/SameDiffLoss.java index e78376b5f..2b58e90e8 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/SameDiffLoss.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/SameDiffLoss.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.lossfunctions; import org.nd4j.autodiff.samediff.SDVariable; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossBinaryXENT.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossBinaryXENT.java index f32cb7a2d..070db05a4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossBinaryXENT.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossBinaryXENT.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.lossfunctions.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossCosineProximity.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossCosineProximity.java index 1f8ac1942..2f67b0f22 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossCosineProximity.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossCosineProximity.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.lossfunctions.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossFMeasure.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossFMeasure.java index dad0b9a7a..969c56bf1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossFMeasure.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossFMeasure.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.lossfunctions.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossHinge.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossHinge.java index 499a42133..1e79f7f9d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossHinge.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossHinge.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.lossfunctions.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossKLD.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossKLD.java index ffcde7302..cc8d7051a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossKLD.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossKLD.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.lossfunctions.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossL1.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossL1.java index 56ffaee08..f04d59053 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossL1.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossL1.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.lossfunctions.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossL2.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossL2.java index b6d6bb761..7c793b855 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossL2.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossL2.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.lossfunctions.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMAE.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMAE.java index a232e0311..68500028f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMAE.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMAE.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.lossfunctions.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMAPE.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMAPE.java index 03c9a461f..ec258a9ac 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMAPE.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMAPE.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.lossfunctions.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMCXENT.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMCXENT.java index 2863f282e..2878ede7b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMCXENT.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMCXENT.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.lossfunctions.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMSE.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMSE.java index bb64bb777..f6291f5bc 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMSE.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMSE.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.lossfunctions.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMSLE.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMSLE.java index cf459e2aa..8525f51a3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMSLE.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMSLE.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.lossfunctions.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMixtureDensity.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMixtureDensity.java index b58be0e8b..f31591a64 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMixtureDensity.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMixtureDensity.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.lossfunctions.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMultiLabel.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMultiLabel.java index 199ff4b4b..4946ec17e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMultiLabel.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossMultiLabel.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.lossfunctions.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossNegativeLogLikelihood.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossNegativeLogLikelihood.java index a8453cf9c..311040ed8 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossNegativeLogLikelihood.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossNegativeLogLikelihood.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.lossfunctions.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossPoisson.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossPoisson.java index 54ec246af..971d59836 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossPoisson.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossPoisson.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.lossfunctions.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossSparseMCXENT.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossSparseMCXENT.java index 43e76e511..91d78cc41 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossSparseMCXENT.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossSparseMCXENT.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.lossfunctions.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossSquaredHinge.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossSquaredHinge.java index 8f4874d9a..19f293ee9 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossSquaredHinge.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossSquaredHinge.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.lossfunctions.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossWasserstein.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossWasserstein.java index 5a837590e..b72702ff0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossWasserstein.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/impl/LossWasserstein.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.lossfunctions.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/serde/RowVectorDeserializer.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/serde/RowVectorDeserializer.java index e389dba65..9d7a142d7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/serde/RowVectorDeserializer.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/serde/RowVectorDeserializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.lossfunctions.serde; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/serde/RowVectorSerializer.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/serde/RowVectorSerializer.java index d310a0ea5..367bf8431 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/serde/RowVectorSerializer.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/lossfunctions/serde/RowVectorSerializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.lossfunctions.serde; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/ops/transforms/Transforms.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/ops/transforms/Transforms.java index 1017ea186..991c37652 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/ops/transforms/Transforms.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/ops/transforms/Transforms.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.ops.transforms; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/OpProfiler.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/OpProfiler.java index 02d71b54d..d0bf5e794 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/OpProfiler.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/OpProfiler.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.profiler; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/ProfilerConfig.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/ProfilerConfig.java index 83bce6752..969d3b883 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/ProfilerConfig.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/ProfilerConfig.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.profiler; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/StackAggregator.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/StackAggregator.java index c204ec0c3..1006b49ab 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/StackAggregator.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/StackAggregator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.profiler.data; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/StringAggregator.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/StringAggregator.java index cdb99e302..5063b842f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/StringAggregator.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/StringAggregator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.profiler.data; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/StringCounter.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/StringCounter.java index 6a340447c..4a646075e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/StringCounter.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/StringCounter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.profiler.data; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/primitives/ComparableAtomicLong.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/primitives/ComparableAtomicLong.java index 5630fba8a..66ddb439a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/primitives/ComparableAtomicLong.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/primitives/ComparableAtomicLong.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.profiler.data.primitives; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/primitives/StackComparator.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/primitives/StackComparator.java index e7df3ba8d..4a5bf2183 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/primitives/StackComparator.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/primitives/StackComparator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.profiler.data.primitives; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/primitives/StackDescriptor.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/primitives/StackDescriptor.java index 2fe4fb41a..0665ce835 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/primitives/StackDescriptor.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/primitives/StackDescriptor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.profiler.data.primitives; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/primitives/StackNode.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/primitives/StackNode.java index 3f9602f5e..2ae2fde4f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/primitives/StackNode.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/primitives/StackNode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.profiler.data.primitives; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/primitives/StackTree.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/primitives/StackTree.java index 4819ee1f8..4adf30ab0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/primitives/StackTree.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/primitives/StackTree.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.profiler.data.primitives; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/primitives/TimeSet.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/primitives/TimeSet.java index 6f151493f..e31748215 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/primitives/TimeSet.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/profiler/data/primitives/TimeSet.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.profiler.data.primitives; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/CycleSchedule.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/CycleSchedule.java index ffe24d58a..3f1520299 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/CycleSchedule.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/CycleSchedule.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.schedule; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/ExponentialSchedule.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/ExponentialSchedule.java index 5f71696e1..2abc9e214 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/ExponentialSchedule.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/ExponentialSchedule.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.schedule; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/FixedSchedule.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/FixedSchedule.java index f0e64d4d6..9348ea8ba 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/FixedSchedule.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/FixedSchedule.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.schedule; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/ISchedule.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/ISchedule.java index b2c9fa408..dc2a0fec1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/ISchedule.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/ISchedule.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.schedule; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/InverseSchedule.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/InverseSchedule.java index f78cb929a..91d2fcb4a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/InverseSchedule.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/InverseSchedule.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.schedule; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/MapSchedule.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/MapSchedule.java index 4dad4f95c..dc4f7d99b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/MapSchedule.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/MapSchedule.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.schedule; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/PolySchedule.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/PolySchedule.java index 3f31efb80..44019c10c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/PolySchedule.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/PolySchedule.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.schedule; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/RampSchedule.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/RampSchedule.java index 1a8c084e6..81983c478 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/RampSchedule.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/RampSchedule.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.linalg.schedule; /** diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/ScheduleType.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/ScheduleType.java index bf16dd69d..acc4e5b0b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/ScheduleType.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/ScheduleType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.schedule; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/SigmoidSchedule.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/SigmoidSchedule.java index 3cd020f01..592d94b5a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/SigmoidSchedule.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/SigmoidSchedule.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.schedule; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/StepSchedule.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/StepSchedule.java index 11a859b7e..e628a91ad 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/StepSchedule.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/schedule/StepSchedule.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.schedule; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/string/NDArrayStrings.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/string/NDArrayStrings.java index 8ae9a0064..03dfe7f74 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/string/NDArrayStrings.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/string/NDArrayStrings.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.string; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/AtomicThrowable.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/AtomicThrowable.java index e01d0f23b..a029500e4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/AtomicThrowable.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/AtomicThrowable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.util; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/ConvConfigUtil.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/ConvConfigUtil.java index 0f7bc1196..bad86d558 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/ConvConfigUtil.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/ConvConfigUtil.java @@ -1,17 +1,19 @@ /* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** */ package org.nd4j.linalg.util; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/DataSetUtils.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/DataSetUtils.java index f45f4fa4d..5a5953a48 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/DataSetUtils.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/DataSetUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.util; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/DeviceLocal.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/DeviceLocal.java index ceaa41e19..b6c09d0a1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/DeviceLocal.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/DeviceLocal.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.util; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/DeviceLocalNDArray.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/DeviceLocalNDArray.java index d4705b6d8..5a7c47d96 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/DeviceLocalNDArray.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/DeviceLocalNDArray.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.util; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/FeatureUtil.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/FeatureUtil.java index 579deb729..f495164df 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/FeatureUtil.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/FeatureUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.util; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/HashUtil.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/HashUtil.java index aa29c70e2..4f37a3fb9 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/HashUtil.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/HashUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.util; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/LinAlgExceptions.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/LinAlgExceptions.java index 46d926da7..99adaf491 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/LinAlgExceptions.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/LinAlgExceptions.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.util; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/LongUtils.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/LongUtils.java index 702965665..939683eaf 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/LongUtils.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/LongUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.util; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/ND4JTestUtils.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/ND4JTestUtils.java index 3c8889a72..8c7340130 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/ND4JTestUtils.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/ND4JTestUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.util; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/NDArrayMath.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/NDArrayMath.java index 87c55d255..bc17e954a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/NDArrayMath.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/NDArrayMath.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.util; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/NDArrayPreconditionsFormat.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/NDArrayPreconditionsFormat.java index f8ab1654d..0fe03e1cd 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/NDArrayPreconditionsFormat.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/NDArrayPreconditionsFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.util; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/NDArrayUtil.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/NDArrayUtil.java index 545c85806..ee403fdd6 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/NDArrayUtil.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/NDArrayUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.util; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/Nd4jValidator.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/Nd4jValidator.java index 08b8cbb6d..b937fa597 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/Nd4jValidator.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/util/Nd4jValidator.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.linalg.util; import lombok.NonNull; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/workspace/BaseWorkspaceMgr.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/workspace/BaseWorkspaceMgr.java index b639258c1..c0b114b77 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/workspace/BaseWorkspaceMgr.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/workspace/BaseWorkspaceMgr.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.workspace; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/workspace/ND4JWorkspaceException.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/workspace/ND4JWorkspaceException.java index 88e2e43b4..b96b6ca86 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/workspace/ND4JWorkspaceException.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/workspace/ND4JWorkspaceException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.workspace; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/workspace/WorkspaceMgr.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/workspace/WorkspaceMgr.java index af7359edf..3a29ca8c6 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/workspace/WorkspaceMgr.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/workspace/WorkspaceMgr.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.workspace; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/workspace/WorkspaceUtils.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/workspace/WorkspaceUtils.java index c13fbfdcd..c9fbfe532 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/workspace/WorkspaceUtils.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/workspace/WorkspaceUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.workspace; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/workspace/WorkspacesCloseable.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/workspace/WorkspacesCloseable.java index d13fd0c1e..7b6b33d1a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/workspace/WorkspacesCloseable.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/workspace/WorkspacesCloseable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.workspace; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/list/BaseNDArrayList.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/list/BaseNDArrayList.java index 0c55c7d17..d774c2b9d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/list/BaseNDArrayList.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/list/BaseNDArrayList.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.list; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/list/NDArrayList.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/list/NDArrayList.java index 81e4bdc4a..f2145e074 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/list/NDArrayList.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/list/NDArrayList.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.list; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/base64/Nd4jBase64.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/base64/Nd4jBase64.java index 3fc994289..f203ed2d0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/base64/Nd4jBase64.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/base64/Nd4jBase64.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.serde.base64; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/binary/BinarySerde.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/binary/BinarySerde.java index 557b1a227..f3a398ad5 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/binary/BinarySerde.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/binary/BinarySerde.java @@ -1,18 +1,20 @@ -/* ***************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.serde.binary; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/jackson/shaded/NDArrayDeSerializer.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/jackson/shaded/NDArrayDeSerializer.java index 1d6c9f232..313acf8ea 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/jackson/shaded/NDArrayDeSerializer.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/jackson/shaded/NDArrayDeSerializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.serde.jackson.shaded; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/jackson/shaded/NDArraySerializer.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/jackson/shaded/NDArraySerializer.java index 1ec9a3ba9..472244398 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/jackson/shaded/NDArraySerializer.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/jackson/shaded/NDArraySerializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.serde.jackson.shaded; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/jackson/shaded/NDArrayTextDeSerializer.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/jackson/shaded/NDArrayTextDeSerializer.java index 11761a00d..aa63f0241 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/jackson/shaded/NDArrayTextDeSerializer.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/jackson/shaded/NDArrayTextDeSerializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.serde.jackson.shaded; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/jackson/shaded/NDArrayTextSerializer.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/jackson/shaded/NDArrayTextSerializer.java index c395959d3..78717970d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/jackson/shaded/NDArrayTextSerializer.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/jackson/shaded/NDArrayTextSerializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.serde.jackson.shaded; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/json/BaseLegacyDeserializer.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/json/BaseLegacyDeserializer.java index b7a358917..f556f5b98 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/json/BaseLegacyDeserializer.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/json/BaseLegacyDeserializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.serde.json; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/json/JsonMappers.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/json/JsonMappers.java index 16148fff4..5a9f7b94e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/json/JsonMappers.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/json/JsonMappers.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.serde.json; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/json/LegacyIActivationDeserializer.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/json/LegacyIActivationDeserializer.java index c604e4e97..dc7e05ba1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/json/LegacyIActivationDeserializer.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/json/LegacyIActivationDeserializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.serde.json; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/json/LegacyIActivationDeserializerHelper.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/json/LegacyIActivationDeserializerHelper.java index 0e7fa032f..bbd9f0f98 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/json/LegacyIActivationDeserializerHelper.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/json/LegacyIActivationDeserializerHelper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.serde.json; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/json/LegacyILossFunctionDeserializer.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/json/LegacyILossFunctionDeserializer.java index 5825c41f3..08608d789 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/json/LegacyILossFunctionDeserializer.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/json/LegacyILossFunctionDeserializer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.serde.json; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/json/LegacyILossFunctionDeserializerHelper.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/json/LegacyILossFunctionDeserializerHelper.java index cbd134853..3f6dd7636 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/json/LegacyILossFunctionDeserializerHelper.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/serde/json/LegacyILossFunctionDeserializerHelper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.serde.json; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/systeminfo/GPUInfo.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/systeminfo/GPUInfo.java index a77414c25..1ebebe77d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/systeminfo/GPUInfo.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/systeminfo/GPUInfo.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.systeminfo; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/systeminfo/GPUInfoProvider.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/systeminfo/GPUInfoProvider.java index 78ee866a5..2a8884314 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/systeminfo/GPUInfoProvider.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/systeminfo/GPUInfoProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.systeminfo; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/systeminfo/SystemInfo.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/systeminfo/SystemInfo.java index e2948ea96..68366e55e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/systeminfo/SystemInfo.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/systeminfo/SystemInfo.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.systeminfo; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/versioncheck/VersionCheck.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/versioncheck/VersionCheck.java index 93d6ce561..669ce239a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/versioncheck/VersionCheck.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/versioncheck/VersionCheck.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.versioncheck; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/versioncheck/VersionInfo.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/versioncheck/VersionInfo.java index fa07693cc..b4cae271f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/versioncheck/VersionInfo.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/versioncheck/VersionInfo.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.versioncheck; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/BaseWeightInitScheme.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/BaseWeightInitScheme.java index 1766e667a..4ac2bdb34 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/BaseWeightInitScheme.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/BaseWeightInitScheme.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.weightinit; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/WeightInit.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/WeightInit.java index 8251e1e3c..e13e5203b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/WeightInit.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/WeightInit.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.weightinit; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/WeightInitScheme.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/WeightInitScheme.java index a3951667a..df2fb47ca 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/WeightInitScheme.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/WeightInitScheme.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.weightinit; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/ConstantInitScheme.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/ConstantInitScheme.java index da780fd89..7348ab22b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/ConstantInitScheme.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/ConstantInitScheme.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.weightinit.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/DistributionInitScheme.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/DistributionInitScheme.java index 224913aca..035d11d7d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/DistributionInitScheme.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/DistributionInitScheme.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.weightinit.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/IdentityInitScheme.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/IdentityInitScheme.java index f415f7c3e..e1ac6baac 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/IdentityInitScheme.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/IdentityInitScheme.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.weightinit.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/LecunUniformInitScheme.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/LecunUniformInitScheme.java index 6217cf4a0..3804cb99f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/LecunUniformInitScheme.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/LecunUniformInitScheme.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.weightinit.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/NDArraySupplierInitScheme.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/NDArraySupplierInitScheme.java index a5e64f30a..882dd8595 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/NDArraySupplierInitScheme.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/NDArraySupplierInitScheme.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.weightinit.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/OneInitScheme.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/OneInitScheme.java index c0ba079cc..6a07963a3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/OneInitScheme.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/OneInitScheme.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.weightinit.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/ReluInitScheme.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/ReluInitScheme.java index c97ab5933..838a5e564 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/ReluInitScheme.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/ReluInitScheme.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.weightinit.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/ReluUniformInitScheme.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/ReluUniformInitScheme.java index d364cee2d..83c0b47ea 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/ReluUniformInitScheme.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/ReluUniformInitScheme.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.weightinit.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/SigmoidUniformInitScheme.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/SigmoidUniformInitScheme.java index 65d3ac2bb..9cc820afe 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/SigmoidUniformInitScheme.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/SigmoidUniformInitScheme.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.weightinit.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/UniformInitScheme.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/UniformInitScheme.java index 84fd6d373..9a74bb8b0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/UniformInitScheme.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/UniformInitScheme.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.weightinit.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/VarScalingNormalFanAvgInitScheme.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/VarScalingNormalFanAvgInitScheme.java index eaf3aadc3..5ae428057 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/VarScalingNormalFanAvgInitScheme.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/VarScalingNormalFanAvgInitScheme.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.weightinit.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/VarScalingNormalFanInInitScheme.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/VarScalingNormalFanInInitScheme.java index e56585246..2f4fadb8e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/VarScalingNormalFanInInitScheme.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/VarScalingNormalFanInInitScheme.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.weightinit.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/VarScalingNormalFanOutInitScheme.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/VarScalingNormalFanOutInitScheme.java index cc6a5b8ac..1c7b5c282 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/VarScalingNormalFanOutInitScheme.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/VarScalingNormalFanOutInitScheme.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.weightinit.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/VarScalingNormalUniformFanInInitScheme.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/VarScalingNormalUniformFanInInitScheme.java index de9cea02b..8c7c3acbf 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/VarScalingNormalUniformFanInInitScheme.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/VarScalingNormalUniformFanInInitScheme.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.weightinit.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/VarScalingNormalUniformFanOutInitScheme.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/VarScalingNormalUniformFanOutInitScheme.java index 6636238e6..b6be08fbf 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/VarScalingNormalUniformFanOutInitScheme.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/VarScalingNormalUniformFanOutInitScheme.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.weightinit.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/VarScalingUniformFanAvgInitScheme.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/VarScalingUniformFanAvgInitScheme.java index 4ea49567d..b5d26b633 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/VarScalingUniformFanAvgInitScheme.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/VarScalingUniformFanAvgInitScheme.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.weightinit.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/XavierFanInInitScheme.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/XavierFanInInitScheme.java index 9eb482cd1..89871e7f2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/XavierFanInInitScheme.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/XavierFanInInitScheme.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.weightinit.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/XavierInitScheme.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/XavierInitScheme.java index 039cdb6e7..4eb3761bd 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/XavierInitScheme.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/XavierInitScheme.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.weightinit.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/XavierUniformInitScheme.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/XavierUniformInitScheme.java index d1f156b01..194c93aec 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/XavierUniformInitScheme.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/XavierUniformInitScheme.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.weightinit.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/ZeroInitScheme.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/ZeroInitScheme.java index ab2245776..6df61182b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/ZeroInitScheme.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/weightinit/impl/ZeroInitScheme.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.weightinit.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/nd4j/mapper.proto b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/nd4j/mapper.proto new file mode 100644 index 000000000..5f6cd6b5f --- /dev/null +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/nd4j/mapper.proto @@ -0,0 +1,62 @@ +syntax = "proto3"; +package org.nd4j.ir; +option java_outer_classname = "MapperNamespace"; + +import "op.proto"; + +message MappingRule { + string ruleName = 1; + string functionName = 2; + repeated string inputStringAttrName = 3; + repeated string outputStringAttrName = 4; + repeated string inputIntName = 5; + repeated string outputIntName = 6; + repeated string inputFloatName = 7; + repeated string outputFloatName = 8; + repeated string inputDoubleName = 9; + repeated string outputDoubleName = 10; + repeated string inputBooleanName = 11; + repeated string outputBooleanName = 12; + repeated string inputTensorName = 13; + repeated string outputTensorName = 14; + repeated string inputDataTypeName = 15; + repeated string outputDataTypeName = 16; + map inputToOutput = 17; + string ruleType = 18; + repeated TransformerArgs transformerArgs = 19; + string inputFrameworkOpName = 20; + +} + + +message TransformerArgs { + string key = 1; + repeated ArgDescriptor transformerArgs = 2; +} + +message MappingDefinitionSet { + repeated MapperDeclaration mappings = 1; + repeated string name = 2; +} + + + +message MapperDeclaration { + string frameworkName = 1; + string opName = 2; + string inputFrameworkOpName = 3; + //the rules to apply for attributes + repeated MappingRule rule = 4; + map indexOverrides = 5; + +} + +enum OpListType { + TARG = 0; + IARG = 1; + BARG = 2; + DTYPEARG = 3; + INPUTARG = 4; + OUTPUTARG = 5; + AXISARG = 6; +} diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/nd4j/op.proto b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/nd4j/op.proto new file mode 100644 index 000000000..d3d0c4d4f --- /dev/null +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/nd4j/op.proto @@ -0,0 +1,63 @@ +syntax = "proto3"; +package org.nd4j.ir; +option java_outer_classname = "OpNamespace"; + +import "tensor.proto"; + +message ArgDescriptor { + enum ArgType { + FLOAT = 0; + DOUBLE = 1; + INT32 = 2; + INT64 = 3; + BOOL = 4; + DATA_TYPE = 5; + INPUT_TENSOR = 6; + OUTPUT_TENSOR = 7; + STRING = 8; + } + + string name = 1; + float floatValue = 2; + double doubleValue = 3; + int32 int32Value = 4; + int64 int64Value = 5; + bool boolValue = 6; + DataType dataTypeValue = 7; + TensorProto inputValue = 8; + TensorProto outputValue = 9; + ArgType argType = 10; + int32 argIndex = 11; + string stringValue = 12; + bool argOptional = 13; + bool convertBoolToInt = 14; + bool isArray = 15; +} + +//Op descriptor +message OpDescriptor { + enum OpDeclarationType { + CUSTOM_OP_IMPL = 0; + BOOLEAN_OP_IMPL = 1; + LIST_OP_IMPL = 2; + LOGIC_OP_IMPL = 3; + OP_IMPL = 4; + DIVERGENT_OP_IMPL = 6; + CONFIGURABLE_OP_IMPL = 7; + REDUCTION_OP_IMPL = 8; + BROADCASTABLE_OP_IMPL = 9; + BROADCASTABLE_BOOL_OP_IMPL = 10; + LEGACY_XYZ = 11; + PLATFORM_IMPL = 12; + } + + + string name = 1; + repeated ArgDescriptor argDescriptor = 2; + OpDeclarationType opDeclarationType = 3; +} + +message OpDescriptorList { + repeated OpDescriptor opList = 1; +} + diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/nd4j/tensor.proto b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/nd4j/tensor.proto new file mode 100644 index 000000000..7103fb4de --- /dev/null +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/nd4j/tensor.proto @@ -0,0 +1,215 @@ +syntax = "proto3"; +package org.nd4j.ir; + + +option java_outer_classname = "TensorNamespace"; + + +//Using a subset of onnx, we define a small IR +//for defining nd4j operations + +// StringStringEntryProto follows the pattern for cross-proto-version maps. +// See https://developers.google.com/protocol-buffers/docs/proto3#maps +message StringStringEntryProto { + string key = 1; + string value= 2; +} + +enum DataType { + UNDEFINED = 0; + // Basic types. + FLOAT = 1; // float + UINT8 = 2; // uint8_t + INT8 = 3; // int8_t + UINT16 = 4; // uint16_t + INT16 = 5; // int16_t + INT32 = 6; // int32_t + INT64 = 7; // int64_t + STRING = 8; // string + BOOL = 9; // bool + + // IEEE754 half-precision floating-point format (16 bits wide). + // This format has 1 sign bit, 5 exponent bits, and 10 mantissa bits. + FLOAT16 = 10; + + DOUBLE = 11; + UINT32 = 12; + UINT64 = 13; + COMPLEX64 = 14; // complex with float32 real and imaginary components + COMPLEX128 = 15; // complex with float64 real and imaginary components + + // Non-IEEE floating-point format based on IEEE754 single-precision + // floating-point number truncated to 16 bits. + // This format has 1 sign bit, 8 exponent bits, and 7 mantissa bits. + BFLOAT16 = 16; + + // Future extensions go here. +} + + + + +// Define the types. +message TypeProto { + + message TensorDescriptor { + // This field MUST NOT have the value of UNDEFINED + // This field MUST be present for this version of the IR. + DataType elem_type = 1; + TensorShapeProto shape = 2; + } + + + oneof value { + // The type of a tensor. + TensorDescriptor tensor_type = 1; + + } +} + +// Defines a tensor shape. A dimension can be either an integer value +// or a symbolic variable. A symbolic variable represents an unknown +// dimension. +message TensorShapeProto { + message Dimension { + oneof value { + int64 dim_value = 1; + string dim_param = 2; // namespace Shape + }; + }; + repeated Dimension dim = 1; +} + + +// Defines information on value, including the name, the type, and +// the shape of the value. +message ValueInfoProto { + // This field MUST be present in this version of the IR. + string name = 1; // namespace Value + // This field MUST be present in this version of the IR. + TypeProto type = 2; + // A human-readable documentation for this value. Markdown is allowed. + string doc_string = 3; +} + + + + +// Tensors +// +// A serialized tensor value. +message TensorProto { + + // The shape of the tensor. + repeated int64 dims = 1; + + // The data type of the tensor. + // This field MUST have a valid TensorProto.DataType value + int32 data_type = 2; + + // For very large tensors, we may want to store them in chunks, in which + // case the following fields will specify the segment that is stored in + // the current TensorProto. + message Segment { + int64 begin = 1; + int64 end = 2; + } + Segment segment = 3; + + // Tensor content must be organized in row-major order. + // + // Depending on the data_type field, exactly one of the fields below with + // name ending in _data is used to store the elements of the tensor. + + // For float and complex64 values + // Complex64 tensors are encoded as a single array of floats, + // with the real components appearing in odd numbered positions, + // and the corresponding imaginary component appearing in the + // subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i] + // is encoded as [1.0, 2.0 ,3.0 ,4.0] + // When this field is present, the data_type field MUST be FLOAT or COMPLEX64. + repeated float float_data = 4 [packed = true]; + + // For int32, uint8, int8, uint16, int16, bool, and float16 values + // float16 values must be bit-wise converted to an uint16_t prior + // to writing to the buffer. + // When this field is present, the data_type field MUST be + // INT32, INT16, INT8, UINT16, UINT8, BOOL, or FLOAT16 + repeated int32 int32_data = 5 [packed = true]; + + // For strings. + // Each element of string_data is a UTF-8 encoded Unicode + // string. No trailing null, no leading BOM. The protobuf "string" + // scalar type is not used to match ML community conventions. + // When this field is present, the data_type field MUST be STRING + repeated bytes string_data = 6; + + // For int64. + // When this field is present, the data_type field MUST be INT64 + repeated int64 int64_data = 7 [packed = true]; + + // Optionally, a name for the tensor. + string name = 8; // namespace Value + + // A human-readable documentation for this tensor. Markdown is allowed. + string doc_string = 12; + + // Serializations can either use one of the fields above, or use this + // raw bytes field. The only exception is the string case, where one is + // required to store the content in the repeated bytes string_data field. + // + // When this raw_data field is used to store tensor value, elements MUST + // be stored in as fixed-width, little-endian order. + // Floating-point data types MUST be stored in IEEE 754 format. + // Complex64 elements must be written as two consecutive FLOAT values, real component first. + // Complex128 elements must be written as two consecutive DOUBLE values, real component first. + // Boolean type MUST be written one byte per tensor element (00000001 for true, 00000000 for false). + // + // Note: the advantage of specific field rather than the raw_data field is + // that in some cases (e.g. int data), protobuf does a better packing via + // variable length storage, and may lead to smaller binary footprint. + // When this field is present, the data_type field MUST NOT be STRING or UNDEFINED + bytes raw_data = 9; + + // Data can be stored inside the protobuf file using type-specific fields or raw_data. + // Alternatively, raw bytes data can be stored in an external file, using the external_data field. + // external_data stores key-value pairs describing data location. Recognized keys are: + // - "location" (required) - POSIX filesystem path relative to the directory where the ONNX + // protobuf model was stored + // - "offset" (optional) - position of byte at which stored data begins. Integer stored as string. + // Offset values SHOULD be multiples 4096 (page size) to enable mmap support. + // - "length" (optional) - number of bytes containing data. Integer stored as string. + // - "checksum" (optional) - SHA1 digest of file specified in under 'location' key. + repeated StringStringEntryProto external_data = 13; + + // Location of the data for this tensor. MUST be one of: + // - DEFAULT - data stored inside the protobuf message. Data is stored in raw_data (if set) otherwise in type-specified field. + // - EXTERNAL - data stored in an external location as described by external_data field. + enum DataLocation { + DEFAULT = 0; + EXTERNAL = 1; + } + + // If value not set, data is stored in raw_data (if set) otherwise in type-specified field. + DataLocation data_location = 14; + + // For double + // Complex128 tensors are encoded as a single array of doubles, + // with the real components appearing in odd numbered positions, + // and the corresponding imaginary component appearing in the + // subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i] + // is encoded as [1.0, 2.0 ,3.0 ,4.0] + // When this field is present, the data_type field MUST be DOUBLE or COMPLEX128 + repeated double double_data = 10 [packed = true]; + + // For uint64 and uint32 values + // When this field is present, the data_type field MUST be + // UINT32 or UINT64 + repeated uint64 uint64_data = 11 [packed = true]; + + // For half values (tensorflow compatibility) + repeated int32 half_val = 15 [packed = true]; + //boolean values + repeated bool bool_val = 16 [packed = true]; +} + diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/tf/google/protobuf/compiler/js/well_known_types/any.js b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/tf/google/protobuf/compiler/js/well_known_types/any.js index d7ca6e3a4..4bf25cff4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/tf/google/protobuf/compiler/js/well_known_types/any.js +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/tf/google/protobuf/compiler/js/well_known_types/any.js @@ -1,32 +1,20 @@ -// Protocol Buffers - Google's data interchange format -// Copyright 2008 Google Inc. All rights reserved. -// https://developers.google.com/protocol-buffers/ -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /* This code will be inserted into generated code for * google/protobuf/any.proto. */ diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/tf/google/protobuf/compiler/js/well_known_types/struct.js b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/tf/google/protobuf/compiler/js/well_known_types/struct.js index 30e3d02a6..e198c0a96 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/tf/google/protobuf/compiler/js/well_known_types/struct.js +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/tf/google/protobuf/compiler/js/well_known_types/struct.js @@ -1,32 +1,20 @@ -// Protocol Buffers - Google's data interchange format -// Copyright 2008 Google Inc. All rights reserved. -// https://developers.google.com/protocol-buffers/ -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /* This code will be inserted into generated code for * google/protobuf/struct.proto. */ diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/tf/google/protobuf/compiler/js/well_known_types/timestamp.js b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/tf/google/protobuf/compiler/js/well_known_types/timestamp.js index b7e43f196..5416d7d1c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/tf/google/protobuf/compiler/js/well_known_types/timestamp.js +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/tf/google/protobuf/compiler/js/well_known_types/timestamp.js @@ -1,32 +1,20 @@ -// Protocol Buffers - Google's data interchange format -// Copyright 2008 Google Inc. All rights reserved. -// https://developers.google.com/protocol-buffers/ -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ /* This code will be inserted into generated code for * google/protobuf/timestamp.proto. */ diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/tf/google/protobuf/compiler/zip_output_unittest.sh b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/tf/google/protobuf/compiler/zip_output_unittest.sh index f85979128..398a8138b 100755 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/tf/google/protobuf/compiler/zip_output_unittest.sh +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/tf/google/protobuf/compiler/zip_output_unittest.sh @@ -1,34 +1,21 @@ #!/bin/sh # -# Protocol Buffers - Google's data interchange format -# Copyright 2009 Google Inc. All rights reserved. -# https://developers.google.com/protocol-buffers/ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # Author: kenton@google.com (Kenton Varda) # diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/tf/google/protobuf/io/gzip_stream_unittest.sh b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/tf/google/protobuf/io/gzip_stream_unittest.sh index 16251a94d..bafecafb5 100755 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/tf/google/protobuf/io/gzip_stream_unittest.sh +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/protobuf/tf/google/protobuf/io/gzip_stream_unittest.sh @@ -1,39 +1,21 @@ #!/bin/sh -x # -# Protocol Buffers - Google's data interchange format -# Copyright 2009 Google Inc. All rights reserved. -# https://developers.google.com/protocol-buffers/ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -# Author: brianolson@google.com (Brian Olson) -# -# Test compatibility between command line gzip/gunzip binaries and -# ZeroCopyStream versions. TESTFILE=Makefile diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/resources/META-INF/services/org.nd4j.linalg.env.EnvironmentalAction b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/resources/META-INF/services/org.nd4j.linalg.env.EnvironmentalAction index 30339acd8..20bd5074a 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/resources/META-INF/services/org.nd4j.linalg.env.EnvironmentalAction +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/resources/META-INF/services/org.nd4j.linalg.env.EnvironmentalAction @@ -1,3 +1,39 @@ +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +# +# /* ****************************************************************************** +# * Copyright (c) 2021 Deeplearning4j Contributors +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + ################################################################################ # Copyright (c) 2015-2018 Skymind, Inc. # diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/resources/functions.properties b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/resources/functions.properties index 015a72c2c..04a05453d 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/resources/functions.properties +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/resources/functions.properties @@ -1,18 +1,20 @@ -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ org.nd4j.linalg.ops.transform.names=abs,acos,asin,atan,ceil,cos,exp,floor,hardtanh,identity,log,maxout,negative,pow,round,sigmoid,sign,sin,sqrt,stabilize,tanh org.nd4j.linalg.ops.transform.packages=org.nd4j.linalg.api.ops.transforms diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/resources/onnx.pbtxt b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/resources/onnx.pbtxt new file mode 100644 index 000000000..e6c232be4 --- /dev/null +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/resources/onnx.pbtxt @@ -0,0 +1,6004 @@ +input: "X" +output: "Y" +name: "Abs" +op_type: "Abs" +attribute { + name: "X-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nAbsolute takes one input data (Tensor) and produces one output data\n(Tensor) where the absolute is, y = abs(x), is applied to\nthe tensor elementwise.\n" +-- +input: "input" +output: "output" +name: "Acos" +op_type: "Acos" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the arccosine (inverse of cosine) of the given input tensor, element-wise.\n" +-- +input: "input" +output: "output" +name: "Acosh" +op_type: "Acosh" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the hyperbolic arccosine of the given input tensor element-wise.\n" +-- +input: "R" +input: "T" +input: "inputs" +output: "outputs" +name: "Adagrad" +op_type: "Adagrad" +attribute { + name: "decay_factor" + f: 0.0 + type: FLOAT +} +attribute { + name: "epsilon" + f: 1e-06 + type: FLOAT +} +attribute { + name: "norm_coefficient" + f: 0.0 + type: FLOAT +} +attribute { + name: "R-types" + strings: "double" + strings: "float" + type: STRINGS +} +attribute { + name: "T-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "inputs-types" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Compute one iteration of ADAGRAD, a stochastic gradient based optimization\n algorithm. This operator can conduct the optimization of multiple tensor variables.\n\n Let\'s define the behavior of this operator. As you can imagine, ADAGRAD requires\n some parameters:\n \n - The initial learning-rate \"R\".\n - The update count \"T\". That is, the number of training iterations conducted.\n - A L2-norm regularization coefficient \"norm_coefficient\".\n - A learning-rate decay factor \"decay_factor\".\n - A small constant \"epsilon\" to avoid dividing-by-zero. \n\n At each ADAGRAD iteration, the optimized tensors are moved along a direction\n computed based on their estimated gradient and accumulated squared gradient. Assume\n that only a single tensor \"X\" is updated by this operator. We need the value of \"X\",\n its gradient \"G\", and its accumulated squared gradient \"H\". Therefore, variables in\n this operator\'s input list are sequentially \"R\", \"T\", \"X\", \"G\", and \"H\". Other\n parameters are given as attributes because they are usually constants. Also, the\n corresponding output tensors are the new value of \"X\" (called \"X_new\"), and then\n the new accumulated squared gradient (called \"H_new\"). Those outputs are computed\n from the given inputs following the pseudo code below.\n\n Let \"+\", \"-\", \"*\", and \"/\" are all element-wise arithmetic operations with\n numpy-style broadcasting support. The pseudo code to compute those outputs is:\n\n // Compute a scalar learning-rate factor. At the first update of X, T is generally\n // 0 (0-based update index) or 1 (1-based update index).\n r = R / (1 + T * decay_factor);\n\n // Add gradient of 0.5 * norm_coefficient * ||X||_2^2, where ||X||_2 is the 2-norm.\n G_regularized = norm_coefficient * X + G;\n\n // Compute new accumulated squared gradient.\n H_new = H + G_regularized * G_regularized;\n\n // Compute the adaptive part of per-coordinate learning rate. Note that Sqrt(...)\n // computes element-wise square-root.\n H_adaptive = Sqrt(H_new) + epsilon\n\n // Compute the new value of \"X\".\n X_new = X - r * G_regularized / H_adaptive;\n\n If one assign this operators to optimize multiple inputs, for example, \"X_1\" and \"X_2\", the same\n pseudo code may be extended to handle all tensors jointly. More specifically, we can view \"X\" as a\n concatenation of \"X_1\" and \"X_2\" (of course, their gradient and accumulate gradient should\n be concatenated too) and then just reuse the entire pseudo code.\n\n Note that ADAGRAD was first proposed in http://jmlr.org/papers/volume12/duchi11a/duchi11a.pdf.\n In that reference paper, this operator is a special case of the Figure 1\'s composite mirror\n descent update.\n" +-- +input: "R" +input: "T" +input: "inputs" +output: "outputs" +name: "Adam" +op_type: "Adam" +attribute { + name: "alpha" + f: 0.9 + type: FLOAT +} +attribute { + name: "beta" + f: 0.999 + type: FLOAT +} +attribute { + name: "epsilon" + f: 1e-06 + type: FLOAT +} +attribute { + name: "norm_coefficient" + f: 0.0 + type: FLOAT +} +attribute { + name: "norm_coefficient_post" + f: 0.0 + type: FLOAT +} +attribute { + name: "R-types" + strings: "double" + strings: "float" + type: STRINGS +} +attribute { + name: "T-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "inputs-types" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Compute one iteration of Adam, a stochastic gradient based optimization\n algorithm. This operator can conduct the optimization of multiple tensor variables.\n\n Let\'s define the behavior of this operator. First of all, Adam requires\n some parameters:\n \n - The learning-rate \"R\".\n - The update count \"T\". That is, the number of training iterations conducted.\n - A L2-norm regularization coefficient \"norm_coefficient\".\n - A small constant \"epsilon\" to avoid dividing-by-zero. \n - Two coefficients, \"alpha\" and \"beta\".\n\n At each Adam iteration, the optimized tensors are moved along a direction\n computed based on their exponentially-averaged historical gradient and\n exponentially-averaged historical squared gradient. Assume that only a tensor\n \"X\" is being optimized. The rest of required information is\n \n - the value of \"X\",\n - \"X\"\'s gradient (denoted by \"G\"),\n - \"X\"\'s exponentially-averaged historical gradient (denoted by \"V\"), and\n - \"X\"\'s exponentially-averaged historical squared gradient (denoted by \"H\").\n\n Some of those parameters are passed into this operator as input tensors and others\n are stored as this operator\'s attributes. Specifically, this operator\'s input tensor\n list is [\"R\", \"T\", \"X\", \"G\", \"V\", \"H\"]. That is, \"R\" is the first input, \"T\" is\n the second input, and so on. Other parameters are given as attributes because they\n are constants. Moreover, the corresponding output tensors are \n \n - the new value of \"X\" (called \"X_new\"),\n - the new exponentially-averaged historical gradient (denoted by \"V_new\"), and\n - the new exponentially-averaged historical squared gradient (denoted by \"H_new\").\n\n Those outputs are computed following the pseudo code below.\n\n Let \"+\", \"-\", \"*\", and \"/\" are all element-wise arithmetic operations with\n numpy-style broadcasting support. The pseudo code to compute those outputs is:\n\n // Add gradient of 0.5 * norm_coefficient * ||X||_2^2, where ||X||_2 is the 2-norm.\n G_regularized = norm_coefficient * X + G\n\n // Update exponentially-averaged historical gradient.\n V_new = alpha * V + (1 - alpha) * G_regularized\n\n // Update exponentially-averaged historical squared gradient.\n H_new = beta * H + (1 - beta) * G_regularized * G_regularized\n\n // Compute the element-wise square-root of H_new. V_new will be element-wisely\n // divided by H_sqrt for a better update direction.\n H_sqrt = Sqrt(H_new) + epsilon\n\n // Compute learning-rate. Note that \"alpha**T\"/\"beta**T\" is alpha\'s/beta\'s T-th power.\n R_adjusted = T > 0 ? R * Sqrt(1 - beta**T) / (1 - alpha**T) : R\n\n // Compute new value of \"X\".\n X_new = X - R_adjusted * V_new / H_sqrt\n\n // Post-update regularization.\n X_final = (1 - norm_coefficient_post) * X_new \n\n If there are multiple inputs to be optimized, the pseudo code will be applied\n independently to each of them.\n" +-- +input: "A" +input: "B" +output: "C" +name: "Add" +op_type: "Add" +attribute { + name: "A-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +attribute { + name: "B-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nPerforms element-wise binary addition (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "A" +input: "B" +output: "C" +name: "And" +op_type: "And" +attribute { + name: "A-types" + strings: "bool" + type: STRINGS +} +attribute { + name: "B-types" + strings: "bool" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `and` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "data" +output: "reduced" +name: "ArgMax" +op_type: "ArgMax" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "select_last_index" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nComputes the indices of the max elements of the input tensor\'s element along the \nprovided axis. The resulting tensor has the same rank as the input if keepdims equal 1. \nIf keepdims equal 0, then the resulting tensor have the reduced dimension pruned. \nIf select_last_index is True (default False), the index of the last occurrence of the max \nis selected if the max appears more than once in the input. Otherwise the index of the \nfirst occurrence is selected.\nThe type of the output tensor is integer." +-- +input: "data" +output: "reduced" +name: "ArgMin" +op_type: "ArgMin" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "select_last_index" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nComputes the indices of the min elements of the input tensor\'s element along the \nprovided axis. The resulting tensor has the same rank as the input if keepdims equal 1. \nIf keepdims equal 0, then the resulting tensor have the reduced dimension pruned. \nIf select_last_index is True (default False), the index of the last occurrence of the min \nis selected if the min appears more than once in the input. Otherwise the index of the \nfirst occurrence is selected.\nThe type of the output tensor is integer." +-- +input: "X" +input: "Y" +output: "Z" +name: "ArrayFeatureExtractor" +op_type: "ArrayFeatureExtractor" +attribute { + name: "X-types" + strings: "int64" + strings: "string" + strings: "double" + strings: "float" + strings: "int32" + type: STRINGS +} +attribute { + name: "Y-types" + strings: "int64" + type: STRINGS +} +doc_string: "\n Select elements of the input tensor based on the indices passed.
        \n The indices are applied to the last axes of the tensor.\n" +-- +input: "input" +output: "output" +name: "Asin" +op_type: "Asin" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the arcsine (inverse of sine) of the given input tensor, element-wise.\n" +-- +input: "input" +output: "output" +name: "Asinh" +op_type: "Asinh" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the hyperbolic arcsine of the given input tensor element-wise.\n" +-- +input: "input" +output: "output" +name: "Atan" +op_type: "Atan" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the arctangent (inverse of tangent) of the given input tensor, element-wise.\n" +-- +input: "input" +output: "output" +name: "Atanh" +op_type: "Atanh" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the hyperbolic arctangent of the given input tensor element-wise.\n" +-- +input: "X" +output: "Y" +name: "AveragePool" +op_type: "AveragePool" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "ceil_mode" + i: 0 + type: INT +} +attribute { + name: "count_include_pad" + i: 0 + type: INT +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\n AveragePool consumes an input tensor X and applies average pooling across\n the tensor according to kernel sizes, stride sizes, and pad lengths.\n average pooling consisting of computing the average on all values of a\n subset of the input tensor according to the kernel size and downsampling the\n data into the output tensor Y for further processing. The output spatial shape will be following:\n ```\n output_spatial_shape[i] = floor((input_spatial_shape[i] + pad_shape[i] - kernel_spatial_shape[i]) / strides_spatial_shape[i] + 1)\n ```\n or\n ```\n output_spatial_shape[i] = ceil((input_spatial_shape[i] + pad_shape[i] - kernel_spatial_shape[i]) / strides_spatial_shape[i] + 1)\n ```\n if ceil_mode is enabled\n\n ```\n * pad_shape[i] is sum of pads along axis i\n ```\n\n `auto_pad` is a DEPRECATED attribute. If you are using them currently, the output spatial shape will be following:\n ```\n VALID: output_spatial_shape[i] = ceil((input_spatial_shape[i] - kernel_spatial_shape[i] + 1) / strides_spatial_shape[i])\n SAME_UPPER or SAME_LOWER: output_spatial_shape[i] = ceil(input_spatial_shape[i] / strides_spatial_shape[i])\n ```\n And pad shape will be following if `SAME_UPPER` or `SAME_LOWER`:\n ```\n pad_shape[i] = (output_spatial_shape[i] - 1) * strides_spatial_shape[i] + kernel_spatial_shape[i] - input_spatial_shape[i]\n ```\n The output of each pooling window is divided by the number of elements (exclude pad when attribute count_include_pad is zero).\n " +-- +input: "X" +input: "scale" +input: "B" +input: "mean" +input: "var" +output: "Y" +output: "mean" +output: "var" +output: "saved_mean" +output: "saved_var" +name: "BatchNormalization" +op_type: "BatchNormalization" +attribute { + name: "epsilon" + f: 1e-05 + type: FLOAT +} +attribute { + name: "momentum" + f: 0.9 + type: FLOAT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "scale-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "mean-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "var-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCarries out batch normalization as described in the paper\nhttps://arxiv.org/abs/1502.03167. Depending on the mode it is being run,\nthere are multiple cases for the number of outputs, which we list below:\n\nOutput case #1: Y, mean, var, saved_mean, saved_var (training mode)\nOutput case #2: Y (test mode)\n\nFor previous (depreciated) non-spatial cases, implementors are suggested\nto flatten the input shape to (N x C*D1*D2 ..*Dn) before a BatchNormalization Op.\nThis operator has **optional** inputs/outputs. See [the doc](IR.md) for more details about the representation of optional arguments. An empty string may be used in the place of an actual argument\'s name to indicate a missing argument. Trailing optional arguments (those not followed by an argument that is present) may also be simply omitted.\n" +-- +input: "X" +output: "Y" +name: "Binarizer" +op_type: "Binarizer" +attribute { + name: "threshold" + f: 0.0 + type: FLOAT +} +attribute { + name: "X-types" + strings: "int32" + strings: "int64" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Maps the values of the input tensor to either 0 or 1, element-wise, based on the outcome of a comparison against a threshold value.\n" +-- +input: "X" +input: "Y" +output: "Z" +name: "BitShift" +op_type: "BitShift" +attribute { + name: "direction" + s: "" + type: STRING +} +attribute { + name: "X-types" + strings: "uint16" + strings: "uint32" + strings: "uint64" + strings: "uint8" + type: STRINGS +} +attribute { + name: "Y-types" + strings: "uint16" + strings: "uint32" + strings: "uint64" + strings: "uint8" + type: STRINGS +} +doc_string: "\nBitwise shift operator performs element-wise operation. For each input element, if the\n attribute \"direction\" is \"RIGHT\", this operator moves its binary representation toward\n the right side so that the input value is effectively decreased. If the attribute \"direction\"\n is \"LEFT\", bits of binary representation moves toward the left side, which results the\n increase of its actual value. The input X is the tensor to be shifted and another input\n Y specifies the amounts of shifting. For example, if \"direction\" is \"Right\", X is [1, 4],\n and S is [1, 1], the corresponding output Z would be [0, 2]. If \"direction\" is \"LEFT\" with\n X=[1, 2] and S=[1, 2], the corresponding output Y would be [2, 8].\n \n Because this operator supports Numpy-style broadcasting, X\'s and Y\'s shapes are\n not necessarily identical.\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md)." +-- +input: "input" +output: "output" +name: "Cast" +op_type: "Cast" +attribute { + name: "to" + s: "" + type: INT +} +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "double" + strings: "uint32" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nThe operator casts the elements of a given input tensor to a data type\nspecified by the \'to\' argument and returns an output tensor of the same size in\nthe converted type. The \'to\' argument must be one of the data types specified\nin the \'DataType\' enum field in the TensorProto message.\n\nCasting from string tensor in plain (e.g., \"3.14\" and \"1000\") and scientific numeric representations\n(e.g., \"1e-5\" and \"1E8\") to float types is supported. For example, converting string \"100.5\" to an integer may\nresult 100. There are some string literals reserved for special floating-point values;\n\"+INF\" (and \"INF\"), \"-INF\", and \"NaN\" are positive infinity, negative infinity, and not-a-number, respectively.\nAny string which can exactly match \"+INF\" in a case-insensitive way would be mapped to positive infinite. Similarly,\nthis case-insensitive rule is applied to \"INF\" and \"NaN\". When casting from numeric tensors\nto string tensors, plain floating-point representation (such as \"314.15926\") would be used. \nConverting non-numerical-literal string such as \"Hello World!\" is an undefined behavior. Cases \nof converting string representing floating-point arithmetic value, such as \"2.718\", to INT is an undefined behavior.\n\nConversion from a numerical type to any numerical type is always allowed.\nUser must be aware of precision loss and value change caused by range difference between two types.\nFor example, a 64-bit float 3.1415926459 may be round to a 32-bit float 3.141592. Similarly, converting\nan integer 36 to Boolean may produce 1 because we truncate bits which can\'t be stored in the targeted type.\n" +-- +input: "X" +output: "Y" +name: "CastMap" +op_type: "CastMap" +attribute { + name: "cast_to" + s: "TO_FLOAT" + type: STRING +} +attribute { + name: "map_form" + s: "DENSE" + type: STRING +} +attribute { + name: "max_map" + i: 1 + type: INT +} +attribute { + name: "X-types" + strings: "map(int64,float" + strings: "map(int64,string" + type: STRINGS +} +doc_string: "\n Converts a map to a tensor.
        The map key must be an int64 and the values will be ordered\n in ascending order based on this key.
        The operator supports dense packing or sparse packing.\n If using sparse packing, the key cannot exceed the max_map-1 value.\n" +-- +input: "X" +output: "Y" +name: "CategoryMapper" +op_type: "CategoryMapper" +attribute { + name: "cats_int64s" + s: "" + type: INTS +} +attribute { + name: "cats_strings" + s: "" + type: STRINGS +} +attribute { + name: "default_int64" + i: -1 + type: INT +} +attribute { + name: "default_string" + s: "_Unused" + type: STRING +} +attribute { + name: "X-types" + strings: "int64" + strings: "string" + type: STRINGS +} +doc_string: "\n Converts strings to integers and vice versa.
        \n Two sequences of equal length are used to map between integers and strings,\n with strings and integers at the same index detailing the mapping.
        \n Each operator converts either integers to strings or strings to integers, depending \n on which default value attribute is provided. Only one default value attribute\n should be defined.
        \n If the string default value is set, it will convert integers to strings.\n If the int default value is set, it will convert strings to integers.\n" +-- +input: "X" +output: "Y" +name: "Ceil" +op_type: "Ceil" +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCeil takes one input data (Tensor) and produces one output data\n(Tensor) where the ceil is, y = ceil(x), is applied to\nthe tensor elementwise.\n" +-- +input: "X" +output: "Y" +name: "Celu" +op_type: "Celu" +attribute { + name: "alpha" + f: 1.0 + type: FLOAT +} +attribute { + name: "X-types" + strings: "float" + type: STRINGS +} +doc_string: "\nContinuously Differentiable Exponential Linear Units:\nPerform the linear unit element-wise on the input tensor X\nusing formula: \n\n```\nmax(0,x) + min(0,alpha*(exp(x/alpha)-1))\n```\n" +-- +input: "input" +input: "min" +input: "max" +output: "output" +name: "Clip" +op_type: "Clip" +attribute { + name: "input-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "min-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "max-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nClip operator limits the given input within an interval. The interval is\nspecified by the inputs \'min\' and \'max\'. They default to\nnumeric_limits::lowest() and numeric_limits::max(), respectively.\n" +-- +input: "input" +input: "condition" +output: "output" +name: "Compress" +op_type: "Compress" +attribute { + name: "axis" + s: "" + type: INT +} +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "condition-types" + strings: "bool" + type: STRINGS +} +doc_string: "\n Selects slices from an input tensor along a given axis where condition evaluates to True for each axis index.\n In case axis is not provided, input is flattened before elements are selected.\n Compress behaves like numpy.compress: https://docs.scipy.org/doc/numpy/reference/generated/numpy.compress.html\n " +-- +input: "inputs" +output: "concat_result" +name: "Concat" +op_type: "Concat" +attribute { + name: "axis" + s: "" + type: INT +} +attribute { + name: "inputs-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "Concatenate a list of tensors into a single tensor. All input tensors must have the same shape, except for the dimension size of the axis to concatenate on." +-- +input: "input_sequence" +output: "concat_result" +name: "ConcatFromSequence" +op_type: "ConcatFromSequence" +attribute { + name: "axis" + s: "" + type: INT +} +attribute { + name: "new_axis" + i: 0 + type: INT +} +attribute { + name: "input_sequence-types" + strings: "seq(float" + strings: "seq(uint32" + strings: "seq(string" + strings: "seq(int64" + strings: "seq(double" + strings: "seq(int8" + strings: "seq(float16" + strings: "seq(bool" + strings: "seq(complex128" + strings: "seq(uint64" + strings: "seq(int16" + strings: "seq(int32" + strings: "seq(uint16" + strings: "seq(complex64" + strings: "seq(uint8" + type: STRINGS +} +doc_string: "\nConcatenate a sequence of tensors into a single tensor.\nAll input tensors must have the same shape, except for the dimension size of the axis to concatenate on.\nBy default \'new_axis\' is 0, the behavior is similar to numpy.concatenate.\nWhen \'new_axis\' is 1, the behavior is similar to numpy.stack.\n" +-- +output: "output" +name: "Constant" +op_type: "Constant" +attribute { + name: "sparse_value" + s: "" + type: SPARSE_TENSOR +} +attribute { + name: "value" + s: "" + type: TENSOR +} +attribute { + name: "value_float" + s: "" + type: FLOAT +} +attribute { + name: "value_floats" + s: "" + type: FLOATS +} +attribute { + name: "value_int" + s: "" + type: INT +} +attribute { + name: "value_ints" + s: "" + type: INTS +} +attribute { + name: "value_string" + s: "" + type: STRING +} +attribute { + name: "value_strings" + s: "" + type: STRINGS +} +doc_string: "\nThis operator produces a constant tensor. Exactly one of the provided attributes, either value, sparse_value,\nor value_* must be specified.\n" +-- +input: "input" +output: "output" +name: "ConstantOfShape" +op_type: "ConstantOfShape" +attribute { + name: "value" + s: "" + type: TENSOR +} +attribute { + name: "input-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nGenerate a tensor with given value and shape.\n" +-- +input: "X" +input: "W" +input: "B" +output: "Y" +name: "Conv" +op_type: "Conv" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "dilations" + s: "" + type: INTS +} +attribute { + name: "group" + i: 1 + type: INT +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "W-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nThe convolution operator consumes an input tensor and a filter, and\ncomputes the output." +-- +input: "x" +input: "w" +input: "x_zero_point" +input: "w_zero_point" +output: "y" +name: "ConvInteger" +op_type: "ConvInteger" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "dilations" + s: "" + type: INTS +} +attribute { + name: "group" + i: 1 + type: INT +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "x-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "w-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "x_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "w_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nThe integer convolution operator consumes an input tensor, its zero-point, a filter, and its zero-point,\nand computes the output. The production MUST never overflow. The accumulation may overflow if and only if in 32 bits.\n" +-- +input: "X" +input: "W" +input: "B" +output: "Y" +name: "ConvTranspose" +op_type: "ConvTranspose" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "dilations" + s: "" + type: INTS +} +attribute { + name: "group" + i: 1 + type: INT +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "output_padding" + s: "" + type: INTS +} +attribute { + name: "output_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "W-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nThe convolution transpose operator consumes an input tensor and a filter,\nand computes the output.\n\nIf the pads parameter is provided the shape of the output is calculated via the following equation:\n\n output_shape[i] = stride[i] * (input_size[i] - 1) + output_padding[i] + ((kernel_shape[i] - 1) * dilations[i] + 1) - pads[start_i] - pads[end_i]\n\noutput_shape can also be explicitly specified in which case pads values are auto generated using these equations:\n\n total_padding[i] = stride[i] * (input_size[i] - 1) + output_padding[i] + ((kernel_shape[i] - 1) * dilations[i] + 1) - output_shape[i]\n If (auto_pads != SAME_UPPER): pads[start_i] = total_padding[i]/2; pads[end_i] = total_padding[i] - (total_padding[i]/2)\n Else: pads[start_i] = total_padding[i] - (total_padding[i]/2); pads[end_i] = (total_padding[i]/2).\n\n " +-- +input: "input" +output: "output" +name: "Cos" +op_type: "Cos" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the cosine of the given input tensor, element-wise.\n" +-- +input: "input" +output: "output" +name: "Cosh" +op_type: "Cosh" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the hyperbolic cosine of the given input tensor element-wise.\n" +-- +input: "x" +input: "axis" +output: "y" +name: "CumSum" +op_type: "CumSum" +attribute { + name: "exclusive" + i: 0 + type: INT +} +attribute { + name: "reverse" + i: 0 + type: INT +} +attribute { + name: "x-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "int32" + type: STRINGS +} +attribute { + name: "axis-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nPerforms cumulative sum of the input elements along the given axis.\nBy default, it will do the sum inclusively meaning the first element is copied as is.\nThrough an `exclusive` attribute, this behavior can change to exclude the first element.\nIt can also perform summation in the opposite direction of the axis. For that, set `reverse` attribute to 1.\n\nExample:\n```\ninput_x = [1, 2, 3]\naxis=0\noutput = [1, 3, 6]\nexclusive=1\noutput = [0, 1, 3]\nexclusive=0\nreverse=1\noutput = [6, 5, 3]\nexclusive=1\nreverse=1\noutput = [5, 3, 0]\n```\n " +-- +input: "input" +output: "output" +name: "DepthToSpace" +op_type: "DepthToSpace" +attribute { + name: "blocksize" + s: "" + type: INT +} +attribute { + name: "mode" + s: "DCR" + type: STRING +} +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "DepthToSpace rearranges (permutes) data from depth into blocks of spatial data.\nThis is the reverse transformation of SpaceToDepth. More specifically, this op outputs a copy of\nthe input tensor where values from the depth dimension are moved in spatial blocks to the height\nand width dimensions. By default, `mode` = `DCR`.\nIn the DCR mode, elements along the depth dimension from the input tensor are rearranged in the\nfollowing order: depth, column, and then row. The output y is computed from the input x as below:\n\nb, c, h, w = x.shape\n\ntmp = np.reshape(x, [b, blocksize, blocksize, c // (blocksize**2), h, w])\n\ntmp = np.transpose(tmp, [0, 3, 4, 1, 5, 2])\n\ny = np.reshape(tmp, [b, c // (blocksize**2), h * blocksize, w * blocksize])\n\n\nIn the CRD mode, elements along the depth dimension from the input tensor are rearranged in the\nfollowing order: column, row, and the depth. The output y is computed from the input x as below:\n\nb, c, h, w = x.shape\n\ntmp = np.reshape(x, [b, c // (blocksize ** 2), blocksize, blocksize, h, w])\n\ntmp = np.transpose(tmp, [0, 1, 4, 2, 5, 3])\n\ny = np.reshape(tmp, [b, c // (blocksize ** 2), h * blocksize, w * blocksize])\n\n" +-- +input: "x" +input: "x_scale" +input: "x_zero_point" +output: "y" +name: "DequantizeLinear" +op_type: "DequantizeLinear" +attribute { + name: "x-types" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "x_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "x_zero_point-types" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nThe linear dequantization operator. It consumes a quantized tensor, a scale, a zero point to compute the full precision tensor.\nThe dequantization formula is y = (x - x_zero_point) * x_scale. \'x_scale\' and \'x_zero_point\' must have same shape.\n\'x_zero_point\' and \'x\' must have same type. \'x\' and \'y\' must have same shape. In the case of dequantizing int32,\nthere\'s no zero point (zero point is supposed to be 0).\n" +-- +input: "X" +output: "Y" +name: "Det" +op_type: "Det" +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nDet calculates determinant of a square matrix or batches of square matrices.\nDet takes one input tensor of shape `[*, M, M]`, where `*` is zero or more batch dimensions,\nand the inner-most 2 dimensions form square matrices.\nThe output is a tensor of shape `[*]`, containing the determinants of all input submatrices.\ne.g., When the input is 2-D, the output is a scalar(shape is empty: `[]`).\n" +-- +input: "X" +output: "Y" +name: "DictVectorizer" +op_type: "DictVectorizer" +attribute { + name: "int64_vocabulary" + s: "" + type: INTS +} +attribute { + name: "string_vocabulary" + s: "" + type: STRINGS +} +attribute { + name: "X-types" + strings: "map(string,double" + strings: "map(int64,double" + strings: "map(string,float" + strings: "map(int64,float" + strings: "map(int64,string" + strings: "map(string,int64" + type: STRINGS +} +doc_string: "\n Uses an index mapping to convert a dictionary to an array.
        \n Given a dictionary, each key is looked up in the vocabulary attribute corresponding to\n the key type. The index into the vocabulary array at which the key is found is then\n used to index the output 1-D tensor \'Y\' and insert into it the value found in the dictionary \'X\'.
        \n The key type of the input map must correspond to the element type of the defined vocabulary attribute.\n Therefore, the output array will be equal in length to the index mapping vector parameter.\n All keys in the input dictionary must be present in the index mapping vector.\n For each item in the input dictionary, insert its value in the output array.\n Any keys not present in the input dictionary, will be zero in the output array.
        \n For example: if the ``string_vocabulary`` parameter is set to ``[\"a\", \"c\", \"b\", \"z\"]``,\n then an input of ``{\"a\": 4, \"c\": 8}`` will produce an output of ``[4, 8, 0, 0]``.\n " +-- +input: "A" +input: "B" +output: "C" +name: "Div" +op_type: "Div" +attribute { + name: "A-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +attribute { + name: "B-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nPerforms element-wise binary division (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "data" +input: "ratio" +input: "training_mode" +output: "output" +output: "mask" +name: "Dropout" +op_type: "Dropout" +attribute { + name: "seed" + s: "" + type: INT +} +attribute { + name: "data-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "ratio-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "training_mode-types" + strings: "bool" + type: STRINGS +} +doc_string: "\nDropout takes an input floating-point tensor, an optional input ratio (floating-point scalar) and an optional input training_mode (boolean scalar). It produces two tensor outputs,\noutput (floating-point tensor) and mask (optional `Tensor`). If `training_mode` is true then the output Y will be a random dropout;\nNote that this Dropout scales the masked input data by the following equation, so to convert the trained model into inference mode,\nthe user can simply not pass `training_mode` input or set it to false.\n```\noutput = scale * data * mask,\n```\nwhere\n```\nscale = 1. / (1. - ratio).\n```\nThis operator has **optional** inputs/outputs. See [the doc](IR.md) for more details about the representation of optional arguments. An empty string may be used in the place of an actual argument\'s name to indicate a missing argument. Trailing optional arguments (those not followed by an argument that is present) may also be simply omitted.\n" +-- +input: "x" +output: "y" +output: "y_scale" +output: "y_zero_point" +name: "DynamicQuantizeLinear" +op_type: "DynamicQuantizeLinear" +attribute { + name: "x-types" + strings: "float" + type: STRINGS +} +doc_string: "\nA Function to fuse calculation for Scale, Zero Point and FP32->8Bit convertion of FP32 Input data.\nOutputs Scale, ZeroPoint and Quantized Input for a given FP32 Input.\nScale is calculated as:\n```\n y_scale = (max(x) - min(x))/(qmax - qmin)\n * where qmax and qmin are max and min values for quantization range .i.e [0, 255] in case of uint8\n * data range is adjusted to include 0.\n```\nZero point is calculated as:\n```\nintermediate_zero_point = qmin - min(x)/y_scale\ny_zero_point = cast(round(saturate(itermediate_zero_point)))\n* where qmax and qmin are max and min values for quantization range .i.e [0, 255] in case of uint8\n* for saturation, it saturates to [0, 255] if it\'s uint8, or [-127, 127] if it\'s int8. Right now only uint8 is supported.\n* rounding to nearest ties to even.\n```\nData quantization formula is:\n```\ny = saturate (round (x / y_scale) + y_zero_point)\n* for saturation, it saturates to [0, 255] if it\'s uint8, or [-127, 127] if it\'s int8. Right now only uint8 is supported.\n* rounding to nearest ties to even.\n```\n" +-- +input: "Inputs" +output: "Output" +name: "Einsum" +op_type: "Einsum" +attribute { + name: "equation" + s: "" + type: STRING +} +attribute { + name: "Inputs-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nAn einsum of the form ```term1, term2 -> output-term``` produces an output tensor using the following equation\n\n```output[output-term] = reduce-sum( input1[term1] * input2[term] )```\n\nwhere the reduce-sum performs a summation over all the indices occurring in in the input terms (term1, term2)\nthat do not occur in the output-term.\n\nThe Einsum operator evaluates algebraic tensor operations on a sequence of tensors, using the Einstein summation\nconvention. The equation string contains a comma-separated sequence of lower case letters. Each term corresponds to\nan operand tensor, and the characters within the terms correspond to operands dimensions.\n\nThis sequence may be followed by \"->\" to separate the left and right hand side of the equation.\nIf the equation contains \"->\" followed by the right-hand side, the explicit (not classical) form of the Einstein\nsummation is performed, and the right-hand side indices indicate output tensor dimensions. In other cases,\noutput indices are (implicitly) set to the alphabetically sorted sequence of indices appearing exactly once in the\nequation.\n\nWhen a dimension character is repeated in the left-hand side, it represents summation along the dimension.\n\nThe equation may contain ellipsis (\"...\") to enable broadcasting. Ellipsis must indicate a fixed number of dimensions.\nSpecifically, every occurrence of ellipsis in the equation must represent the same number of dimensions.\nThe right-hand side may contain exactly one ellipsis. In implicit mode, the ellipsis dimensions are set to the\nbeginning of the output. The equation string may contain space (U+0020) character.\n" +-- +input: "X" +output: "Y" +name: "Elu" +op_type: "Elu" +attribute { + name: "alpha" + f: 1.0 + type: FLOAT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nElu takes one input data (Tensor) and produces one output data\n(Tensor) where the function `f(x) = alpha * (exp(x) - 1.) for x <\n0`, `f(x) = x for x >= 0`., is applied to the tensor elementwise.\n\n" +-- +input: "A" +input: "B" +output: "C" +name: "Equal" +op_type: "Equal" +attribute { + name: "A-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "B-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `equal` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "input" +output: "output" +name: "Erf" +op_type: "Erf" +attribute { + name: "input-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nComputes the error function of the given input tensor element-wise.\n" +-- +input: "input" +output: "output" +name: "Exp" +op_type: "Exp" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the exponential of the given input tensor, element-wise.\n" +-- +input: "input" +input: "shape" +output: "output" +name: "Expand" +op_type: "Expand" +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "shape-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nBroadcast the input tensor following the given shape and the broadcast rule.\nThe broadcast rule is similar to numpy.array(input) * numpy.ones(shape):\nDimensions are right alignment;\nTwo corresponding dimension must have the same value, or one of them is equal to 1.\nAlso, this operator is similar to numpy.broadcast_to(input, shape),\nbut the major difference is numpy.broadcast_to() does not allow shape to be smaller than input.size().\nIt is possible that the output.shape is not equal to shape, when some dimensions in shape is equal to 1,\nor the shape.ndim < input.shape.ndim.\n" +-- +input: "input" +output: "output" +name: "EyeLike" +op_type: "EyeLike" +attribute { + name: "dtype" + s: "" + type: INT +} +attribute { + name: "k" + i: 0 + type: INT +} +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "double" + strings: "uint32" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nGenerate a 2D tensor (matrix) with ones on the diagonal and zeros everywhere else. Only 2D\ntensors are supported, i.e. input T1 must be of rank 2. The shape of the output tensor is the\nsame as the input tensor. The data type can be specified by the \'dtype\' argument. If\n\'dtype\' is not specified, then the type of input tensor is used. By default, the main diagonal\nis populated with ones, but attribute \'k\' can be used to populate upper or lower diagonals.\nThe \'dtype\' argument must be one of the data types specified in the \'DataType\' enum field in the\nTensorProto message and be valid as an output type.\n" +-- +input: "X" +output: "Y" +name: "FeatureVectorizer" +op_type: "FeatureVectorizer" +attribute { + name: "inputdimensions" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "int32" + strings: "int64" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Concatenates input tensors into one continuous output.
        \n All input shapes are 2-D and are concatenated along the second dimention. 1-D tensors are treated as [1,C].\n Inputs are copied to the output maintaining the order of the input arguments.
        \n All inputs must be integers or floats, while the output will be all floating point values.\n" +-- +input: "input" +output: "output" +name: "Flatten" +op_type: "Flatten" +attribute { + name: "axis" + i: 1 + type: INT +} +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nFlattens the input tensor into a 2D matrix. If input tensor has shape\n(d_0, d_1, ... d_n) then the output will have shape\n(d_0 X d_1 ... d_(axis-1), d_axis X d_(axis+1) ... X dn).\n" +-- +input: "X" +output: "Y" +name: "Floor" +op_type: "Floor" +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nFloor takes one input data (Tensor) and produces one output data\n(Tensor) where the floor is, y = floor(x), is applied to\nthe tensor elementwise.\n" +-- +input: "X" +input: "W" +input: "R" +input: "B" +input: "sequence_lens" +input: "initial_h" +output: "Y" +output: "Y_h" +name: "GRU" +op_type: "GRU" +attribute { + name: "activation_alpha" + s: "" + type: FLOATS +} +attribute { + name: "activation_beta" + s: "" + type: FLOATS +} +attribute { + name: "activations" + s: "" + type: STRINGS +} +attribute { + name: "clip" + s: "" + type: FLOAT +} +attribute { + name: "direction" + s: "forward" + type: STRING +} +attribute { + name: "hidden_size" + s: "" + type: INT +} +attribute { + name: "linear_before_reset" + i: 0 + type: INT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "W-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "R-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "sequence_lens-types" + strings: "int32" + type: STRINGS +} +attribute { + name: "initial_h-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nComputes an one-layer GRU. This operator is usually supported via some custom\nimplementation such as CuDNN.\n\nNotations:\n\n`X` - input tensor\n\n`z` - update gate\n\n`r` - reset gate\n\n`h` - hidden gate\n\n`t` - time step (t-1 means previous time step)\n\n`W[zrh]` - W parameter weight matrix for update, reset, and hidden gates\n\n`R[zrh]` - R recurrence weight matrix for update, reset, and hidden gates\n\n`Wb[zrh]` - W bias vectors for update, reset, and hidden gates\n\n`Rb[zrh]` - R bias vectors for update, reset, and hidden gates\n\n`WB[zrh]` - W parameter weight matrix for backward update, reset, and hidden gates\n\n`RB[zrh]` - R recurrence weight matrix for backward update, reset, and hidden gates\n\n`WBb[zrh]` - W bias vectors for backward update, reset, and hidden gates\n\n`RBb[zrh]` - R bias vectors for backward update, reset, and hidden gates\n\n`H` - Hidden state\n\n`num_directions` - 2 if direction == bidirectional else 1\n\nActivation functions:\n\n Relu(x) - max(0, x)\n\n Tanh(x) - (1 - e^{-2x})/(1 + e^{-2x})\n\n Sigmoid(x) - 1/(1 + e^{-x})\n\n (NOTE: Below are optional)\n\n Affine(x) - alpha*x + beta\n\n LeakyRelu(x) - x if x >= 0 else alpha * x\n\n ThresholdedRelu(x) - x if x >= alpha else 0\n\n ScaledTanh(x) - alpha*Tanh(beta*x)\n\n HardSigmoid(x) - min(max(alpha*x + beta, 0), 1)\n\n Elu(x) - x if x >= 0 else alpha*(e^x - 1)\n\n Softsign(x) - x/(1 + |x|)\n\n Softplus(x) - log(1 + e^x)\n\nEquations (Default: f=Sigmoid, g=Tanh):\n\n - zt = f(Xt*(Wz^T) + Ht-1*(Rz^T) + Wbz + Rbz)\n\n - rt = f(Xt*(Wr^T) + Ht-1*(Rr^T) + Wbr + Rbr)\n\n - ht = g(Xt*(Wh^T) + (rt (.) Ht-1)*(Rh^T) + Rbh + Wbh) # default, when linear_before_reset = 0\n\n - ht = g(Xt*(Wh^T) + (rt (.) (Ht-1*(Rh^T) + Rbh)) + Wbh) # when linear_before_reset != 0\n\n - Ht = (1 - zt) (.) ht + zt (.) Ht-1\nThis operator has **optional** inputs/outputs. See [the doc](IR.md) for more details about the representation of optional arguments. An empty string may be used in the place of an actual argument\'s name to indicate a missing argument. Trailing optional arguments (those not followed by an argument that is present) may also be simply omitted.\n" +-- +input: "data" +input: "indices" +output: "output" +name: "Gather" +op_type: "Gather" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "indices-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nGiven `data` tensor of rank r >= 1, and `indices` tensor of rank q, gather\nentries of the axis dimension of `data` (by default outer-most one as axis=0) indexed by `indices`, and concatenates\nthem in an output tensor of rank q + (r - 1).\n\naxis = 0 :\n\nLet\nk = indices[i_{0}, ..., i_{q-1}]\nThen\noutput[i_{0}, ..., i_{q-1}, j_{0}, ..., j_{r-2}] = input[k , j_{0}, ..., j_{r-2}]\n\n```\n data = [\n [1.0, 1.2],\n [2.3, 3.4],\n [4.5, 5.7],\n ]\n indices = [\n [0, 1],\n [1, 2],\n ]\n output = [\n [\n [1.0, 1.2],\n [2.3, 3.4],\n ],\n [\n [2.3, 3.4],\n [4.5, 5.7],\n ],\n ]\n```\naxis = 1 :\n\nLet\nk = indices[i_{0}, ..., i_{q-1}]\nThen\noutput[i_{0}, ..., i_{q-1}, j_{0}, ..., j_{r-2}] = input[j_{0}, k, j_{1}, ..., j_{r-2}]\n\n```\n data = [\n [1.0, 1.2, 1.9],\n [2.3, 3.4, 3.9],\n [4.5, 5.7, 5.9],\n ]\n indices = [\n [0, 2],\n ]\n axis = 1,\n output = [\n [\n [1.0, 1.9],\n [2.3, 3.9],\n [4.5, 5.9],\n ],\n ]\n```\n" +-- +input: "data" +input: "indices" +output: "output" +name: "GatherElements" +op_type: "GatherElements" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "indices-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n\nGatherElements takes two inputs `data` and `indices` of the same rank r >= 1\nand an optional attribute `axis` that identifies an axis of `data`\n(by default, the outer-most axis, that is axis 0). It is an indexing operation\nthat produces its output by indexing into the input data tensor at index\npositions determined by elements of the `indices` tensor.\nIts output shape is the same as the shape of `indices` and consists of one value\n(gathered from the `data`) for each element in `indices`.\n\nFor instance, in the 3-D case (r = 3), the output produced is determined\nby the following equations: \n```\n out[i][j][k] = input[index[i][j][k]][j][k] if axis = 0,\n out[i][j][k] = input[i][index[i][j][k]][k] if axis = 1,\n out[i][j][k] = input[i][j][index[i][j][k]] if axis = 2,\n```\n\nThis operator is also the inverse of ScatterElements. It is similar to Torch\'s gather operation.\n\nExample 1:\n```\n data = [\n [1, 2],\n [3, 4],\n ]\n indices = [\n [0, 0],\n [1, 0],\n ]\n axis = 1\n output = [\n [\n [1, 1],\n [4, 3],\n ],\n ]\n```\nExample 2:\n```\n data = [\n [1, 2, 3],\n [4, 5, 6],\n [7, 8, 9],\n ]\n indices = [\n [1, 2, 0],\n [2, 0, 0],\n ]\n axis = 0\n output = [\n [\n [4, 8, 3],\n [7, 2, 3],\n ],\n ]\n```\n" +-- +input: "data" +input: "indices" +output: "output" +name: "GatherND" +op_type: "GatherND" +attribute { + name: "batch_dims" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "indices-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nGiven `data` tensor of rank `r` >= 1, `indices` tensor of rank `q` >= 1, and `batch_dims` integer `b`, this operator gathers \nslices of `data` into an output tensor of rank `q + r - indices_shape[-1] - 1 - b`.\n\n`indices` is an q-dimensional integer tensor, best thought of as a `(q-1)`-dimensional tensor of index-tuples into `data`, \nwhere each element defines a slice of `data`\n\n`batch_dims` (denoted as `b`) is an integer indicating the number of batch dimensions, i.e the leading `b` number of dimensions of \n`data` tensor and `indices` are representing the batches, and the gather starts from the `b+1` dimension. \n\nSome salient points about the inputs\' rank and shape:\n \n1) r >= 1 and q >= 1 are to be honored. There is no dependency condition to be met between ranks `r` and `q`\n\n2) The first `b` dimensions of the shape of `indices` tensor and `data` tensor must be equal.\n\n3) b < min(q, r) is to be honored.\n\n4) The `indices_shape[-1]` should have a value between 1 (inclusive) and rank `r-b` (inclusive) \n\n5) All values in `indices` are expected to be within bounds [-s, s-1] along axis of size `s` (i.e.) `-data_shape[i] <= indices[...,i] <= data_shape[i] - 1`.\n It is an error if any of the index values are out of bounds.\n\nThe output is computed as follows:\n\nThe output tensor is obtained by mapping each index-tuple in the `indices` tensor to the corresponding slice of the input `data`.\n \n1) If `indices_shape[-1] > r-b` => error condition\n\n2) If `indices_shape[-1] == r-b`, since the rank of `indices` is `q`, `indices` can be thought of as `N` `(q-b-1)`-dimensional tensors\n containing 1-D tensors of dimension `r-b`, where `N` is an integer equals to the product of 1 and all the elements in the batch dimensions \n of the indices_shape. Let us think of each such `r-b` ranked tensor as `indices_slice`. Each *scalar value* corresponding to `data[0:b-1,indices_slice]` \n is filled into the corresponding location of the `(q-b-1)`-dimensional tensor to form the `output` tensor (Example 1 below)\n\n3) If `indices_shape[-1] < r-b`, since the rank of `indices` is `q`, `indices` can be thought of as `N` `(q-b-1)`-dimensional tensor\n containing 1-D tensors of dimension `< r-b`. Let us think of each such tensors as `indices_slice`. Each *tensor slice* corresponding \n to `data[0:b-1, indices_slice , :]` is filled into the corresponding location of the `(q-b-1)`-dimensional tensor \n to form the `output` tensor (Examples 2, 3, 4 and 5 below)\n\nThis operator is the inverse of `ScatterND`.\n\n`Example 1`\n\n batch_dims = 0\n\n data = [[0,1],[2,3]] # data_shape = [2, 2]\n\n indices = [[0,0],[1,1]] # indices_shape = [2, 2]\n\n output = [0,3] # output_shape = [2]\n\n`Example 2`\n\n batch_dims = 0\n\n data = [[0,1],[2,3]] # data_shape = [2, 2]\n\n indices = [[1],[0]] # indices_shape = [2, 1]\n\n output = [[2,3],[0,1]] # output_shape = [2, 2]\n\n`Example 3`\n\n batch_dims = 0\n\n data = [[[0,1],[2,3]],[[4,5],[6,7]]] # data_shape = [2, 2, 2]\n\n indices = [[0,1],[1,0]] # indices_shape = [2, 2]\n\n output = [[2,3],[4,5]] # output_shape = [2, 2] \n\n`Example 4`\n\n batch_dims = 0\n\n data = [[[0,1],[2,3]],[[4,5],[6,7]]] # data_shape = [2, 2, 2]\n\n indices = [[[0,1]],[[1,0]]] # indices_shape = [2, 1, 2]\n\n output = [[[2,3]],[[4,5]]] # output_shape = [2, 1, 2] \n\n`Example 5`\n\n batch_dims = 1\n\n data = [[[0,1],[2,3]],[[4,5],[6,7]]] # data_shape = [2, 2, 2]\n\n indices = [[1],[0]] # indices_shape = [2, 1]\n\n output = [[2,3],[4,5]] # output_shape = [2, 2] \n\n\n" +-- +input: "A" +input: "B" +input: "C" +output: "Y" +name: "Gemm" +op_type: "Gemm" +attribute { + name: "alpha" + f: 1.0 + type: FLOAT +} +attribute { + name: "beta" + f: 1.0 + type: FLOAT +} +attribute { + name: "transA" + i: 0 + type: INT +} +attribute { + name: "transB" + i: 0 + type: INT +} +attribute { + name: "A-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +attribute { + name: "B-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +attribute { + name: "C-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "General Matrix multiplication:\nhttps://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms#Level_3\n\nA\' = transpose(A) if transA else A\n\nB\' = transpose(B) if transB else B\n\nCompute Y = alpha * A\' * B\' + beta * C, where input tensor A has shape (M, K) or (K, M),\ninput tensor B has shape (K, N) or (N, K), input tensor C is broadcastable to shape (M, N),\nand output tensor Y has shape (M, N). A will be transposed before doing the\ncomputation if attribute transA is non-zero, same for B and transB.\nThis operator supports **unidirectional broadcasting** (tensor C should be unidirectional broadcastable to tensor A * B); for more details please check [the doc](Broadcasting.md).\nThis operator has **optional** inputs/outputs. See [the doc](IR.md) for more details about the representation of optional arguments. An empty string may be used in the place of an actual argument\'s name to indicate a missing argument. Trailing optional arguments (those not followed by an argument that is present) may also be simply omitted.\n" +-- +input: "X" +output: "Y" +name: "GlobalAveragePool" +op_type: "GlobalAveragePool" +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\n GlobalAveragePool consumes an input tensor X and applies average pooling across\n the values in the same channel. This is equivalent to AveragePool with kernel size\n equal to the spatial dimension of input tensor." +-- +input: "X" +output: "Y" +name: "GlobalLpPool" +op_type: "GlobalLpPool" +attribute { + name: "p" + i: 2 + type: INT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\n GlobalLpPool consumes an input tensor X and applies lp pool pooling across\n the values in the same channel. This is equivalent to LpPool with kernel size\n equal to the spatial dimension of input tensor." +-- +input: "X" +output: "Y" +name: "GlobalMaxPool" +op_type: "GlobalMaxPool" +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\n GlobalMaxPool consumes an input tensor X and applies max pooling across\n the values in the same channel. This is equivalent to MaxPool with kernel size\n equal to the spatial dimension of input tensor." +-- +input: "Inputs" +output: "Outputs" +name: "Gradient" +op_type: "Gradient" +attribute { + name: "xs" + s: "" + type: STRINGS +} +attribute { + name: "y" + s: "" + type: STRING +} +attribute { + name: "zs" + s: "" + type: STRINGS +} +attribute { + name: "Inputs-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nGradient operator computes the partial derivatives of a specific tensor w.r.t.\nsome other tensors. This operator is widely used in gradient-based training\nalgorithms. To illustrate its use, let\'s consider a computation graph,\n\n```\nX -----.\n |\n v\nW --> Conv --> H --> Gemm --> Y\n ^\n |\n Z\n```\n\n, where W and Z are trainable tensors. Note that operators\' attributes are\nomitted for the sake of simplicity. Let dY/dW (dY/dZ) be the gradient of\nY with respect to W (Z). The user can compute gradient by inserting Gradient\noperator to form another graph shown below.\n\n```\nW --> Conv --> H --> Gemm --> Y\n| ^ ^\n| | |\n| X Z\n| | |\n| | .----------\'\n| | | (W/Z/X is the 1st/2nd/3rd input of Gradient as shown in\n| | | \"xs\" followed by \"zs\")\n| v v\n\'---> Gradient(xs=[\"W\", \"Z\"], zs=[\"X\"], y=\"Y\")\n | |\n | \'-----------------------------------> dY/dW (1st output of Gradient)\n |\n \'---------------------------------------> dY/dZ (2nd output of Gradient)\n```\n\nBy definition, the tensor \"y\" is a function of independent variables in \"xs\"\nand \"zs\". Since we only compute the gradient of \"y\" w.r.t. the differentiable\nvariables in \"xs\", this Gradient only outputs dY/dW and dY/dZ. Note that \"H\"\ncannot appear in \"xs\" and \"zs\". The reason is that \"H\" can be determined by\ntensors \"W\" and \"X\" and therefore \"H\" is not an independent variable.\n\nAll outputs are optional. If needed, for example, user can assign an empty\nstring to the 1st output name of that Gradient to skip the generation of dY/dW.\nNote that the concept of optional outputs can also be found in ONNX\'s RNN, GRU,\nand LSTM.\n\nGradient operator can compute derivative against intermediate tensors. For\nexample, the gradient of Y with respect to H can be done via\n\n```\nW --> Conv --> H --> Gemm --> Y\n ^ | ^\n | | |\n X | Z\n .-------\' |\n | .----------\'\n | | (H/Z is the 1st/2nd input of Gradient as shown in \"xs\")\n v v\n Gradient(xs=[\"H\", \"Z\"], y=\"Y\")\n | |\n | \'-----------------------------------> dY/dH (1st output of Gradient)\n |\n \'---------------------------------------> dY/dZ (2nd output of Gradient)\n```\n\nIt is possible to represent high-order differentiation using Gradient operators.\nFor example, given the following linear model:\n\n```\nW --> Gemm --> Y --> Loss --> O\n ^ ^\n | |\n X L\n```\n\nTo compute the 2nd order derivative of O with respect to W (denoted by\nd^2O/dW^2), one can do\n\n```\nW --> Gemm --> Y --> Loss --> O\n| ^ ^\n| | |\n| X .------------L\n| | | |\n| | | v\n+------+-+> Gradient(xs=[\"X\", \"W\"], zs=[\"L\"], y=\"O\") ---> dO/dX (1st output of Gradient)\n| | | |\n| | | \'---> dO/dW (2nd output of Gradient)\n| v v\n\'---> Gradient(xs=[\"X\", \"W\"], zs=[\"L\"], y=\"dO/dW\") ---> d(dO/dW)dX (1st output of\n | Gradient)\n |\n |\n \'---> d^2O/dW^2 (2nd output of Gradient)\n```\n\nThe tensors named in attributes \"xs\", \"zs\", and \"y\" define the differentiated\ncomputation graph, and the inputs to Gradient node define the values at\nwhich the gradient is computed. We can feed different tensors to the identified\ngraph. For example, one can compute the gradient of Y with respect to H at \na specific value of H, H_1, by providing that value as an input to the Gradient\nnode.\n\n```\nW --> Conv --> H --> Gemm --> Y\n ^ ^\n | |\n X Z\n\n Z_1 (2nd input of Gradient)\n |\n v\nH_1 --> Gradient(xs=[\"H\", \"Z\"], y=\"Y\") ---> dY/dH when H = H_1 and Y = Y_1.\n |\n \'------------------------------> dY/dZ (2nd output of Gradient)\n```\n\nWhen the inputs of Gradient are the tensors named in \"xs\" and \"zs\", the\ncomputation can be optimized. More specifically, intermediate variables in\nforward pass can be reused if the gradient is computed via reverse-mode\nauto-differentiation.\n\n" +-- +input: "Inputs" +output: "Outputs" +name: "GraphCall" +op_type: "GraphCall" +attribute { + name: "graph_name" + s: "" + type: STRING +} +attribute { + name: "Inputs-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nThe GraphCall operator invokes a graph inside TrainingInfoProto\'s\nalgorithm field. The GraphCall inputs and outputs are bound to those of\ninvoked graph by position. If a graph input has an initializer, that input\nis considered optional. All graph outputs are optional.\n\nBelow Python syntax is used for describing dictionary and list.\n\nAssume that ModelProto\'s graph field has\n- name: \"MyInferenceGraph\"\n- input: [\"X\", \"W\", \"Z\"]\n- initializer: [W]\n- output: [\"Y\"]\n\nas visualized below for inference.\n\n```\nX -----.\n |\n v\nW --> Conv --> H --> Gemm --> Y\n ^\n |\n Z\n```\n\nAssume that the training algorithm contains\n\n- inputs: [\"X_1\", \"Z_1\", \"C\"]\n- initializer: [T]\n- outputs: [\"W_new\"]\n\nwith a dictionary\n\n- update_binding: {\"W\": \"W_new\", \"T\": \"T_new\"}\n\nInside the training algorithm graph, one can invoke the inference\ngraph via adding a GraphCall node with\n\n- inputs: [\"X_1\", \"W\", Z_1\"]\n- outputs: [\"Y_1\"]\n- an attribute graph_name=\"MyInferenceGraph\",\n\nThe initializers, \"W\" and \"T\" in this case, in update_binding\nare considered globally-visible and mutable variables, which\ncan be used as inputs of operators in the training graph.\n\nAn example training algorithm graph may look like\n\n```\n.-------- W (a global and mutable variable from\n| | the inference graph)\n| |\n| .-----\'-----------.\n| | |\n| | v\n| | .-- X_1 --> GraphCall(graph_name=\"MyInferenceGraph\")\n| | | | |\n| | | | |\n| | | Z_1 -----\' |\n| | | | V\n| | | | Y_1 ---> Loss ---> O\n| | | | ^\n| | | | |\n| | `--. | C\n| | | | |\n| | | | .----------------\'\n| | | | |\n| | v v v\n| `--> Gradient(xs=[\"W\"], zs=[\"X_1\", \"Z_1\", \"C\"], y=\"O\")\n| |\n| v\n| dO_dW (gradient of W) 1 (a scalar one)\n| | |\n| V v\n| Div <--- T ------------> Add ---> T_new\n| | (T is the number of training iterations.\n| | T is also globally visible and mutable.)\n| v\n`-----> Sub ----> W_new\n```\n\nwhere Loss is a dummy node which computes the minimized objective function.\n\nThe variable \"W\" is an optional input in the called graph.\nIf the user omits it, the input list of GraphCall becomes [\"X_1\", \"\", \"Z_1\"].\nIn this case, from the view of computation graph, the Conv operator invoked by\nGraphCall\'s may be still connected the global \"W\" variable and therefore the\nstructure of the computation graph is unchanged.\n" +-- +input: "A" +input: "B" +output: "C" +name: "Greater" +op_type: "Greater" +attribute { + name: "A-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "B-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `greater` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "A" +input: "B" +output: "C" +name: "GreaterOrEqual" +op_type: "GreaterOrEqual" +attribute { + name: "A-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "B-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `greater_equal` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "X" +output: "Y" +name: "HardSigmoid" +op_type: "HardSigmoid" +attribute { + name: "alpha" + f: 0.2 + type: FLOAT +} +attribute { + name: "beta" + f: 0.5 + type: FLOAT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nHardSigmoid takes one input data (Tensor) and produces one output data\n(Tensor) where the HardSigmoid function, y = max(0, min(1, alpha * x + beta)),\nis applied to the tensor elementwise.\n" +-- +input: "input" +output: "output" +name: "Hardmax" +op_type: "Hardmax" +attribute { + name: "axis" + i: 1 + type: INT +} +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nThe operator computes the hardmax (1 for the first maximum value, and 0 for all others) values for each layer in the batch\n of the given input.\n\nThe input does not need to explicitly be a 2D vector; rather, it will be\ncoerced into one. For an arbitrary n-dimensional tensor\ninput \\in [a_0, a_1, ..., a_{k-1}, a_k, ..., a_{n-1}] and k is\nthe axis provided, then input will be coerced into a 2-dimensional tensor with\ndimensions [a_0 * ... * a_{k-1}, a_k * ... * a_{n-1}]. For the default\ncase where axis=1, this means the input tensor will be coerced into a 2D tensor\nof dimensions [a_0, a_1 * ... * a_{n-1}], where a_0 is often the batch size.\nIn this situation, we must have a_0 = N and a_1 * ... * a_{n-1} = D.\nEach of these dimensions must be matched correctly, or else the operator\nwill throw errors. The output tensor has the same shape\nand contains the hardmax values of the corresponding input.\n" +-- +input: "input" +output: "output" +name: "Identity" +op_type: "Identity" +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "Identity operator" +-- +input: "cond" +output: "outputs" +name: "If" +op_type: "If" +attribute { + name: "else_branch" + s: "" + type: GRAPH +} +attribute { + name: "then_branch" + s: "" + type: GRAPH +} +attribute { + name: "cond-types" + strings: "bool" + type: STRINGS +} +doc_string: "If conditional" +-- +input: "X" +output: "Y" +name: "Imputer" +op_type: "Imputer" +attribute { + name: "imputed_value_floats" + s: "" + type: FLOATS +} +attribute { + name: "imputed_value_int64s" + s: "" + type: INTS +} +attribute { + name: "replaced_value_float" + f: 0.0 + type: FLOAT +} +attribute { + name: "replaced_value_int64" + i: 0 + type: INT +} +attribute { + name: "X-types" + strings: "int32" + strings: "int64" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Replaces inputs that equal one value with another, leaving all other elements alone.
        \n This operator is typically used to replace missing values in situations where they have a canonical\n representation, such as -1, 0, NaN, or some extreme value.
        \n One and only one of imputed_value_floats or imputed_value_int64s should be defined -- floats if the input tensor\n holds floats, integers if the input tensor holds integers. The imputed values must all fit within the\n width of the tensor element type. One and only one of the replaced_value_float or replaced_value_int64 should be defined,\n which one depends on whether floats or integers are being processed.
        \n The imputed_value attribute length can be 1 element, or it can have one element per input feature.
        In other words, if the input tensor has the shape [*,F], then the length of the attribute array may be 1 or F. If it is 1, then it is broadcast along the last dimension and applied to each feature.\n" +-- +input: "input" +input: "scale" +input: "B" +output: "output" +name: "InstanceNormalization" +op_type: "InstanceNormalization" +attribute { + name: "epsilon" + f: 1e-05 + type: FLOAT +} +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "scale-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCarries out instance normalization as described in the paper\nhttps://arxiv.org/abs/1607.08022.\n\ny = scale * (x - mean) / sqrt(variance + epsilon) + B,\nwhere mean and variance are computed per instance per channel.\n\n" +-- +input: "X" +output: "Y" +name: "IsInf" +op_type: "IsInf" +attribute { + name: "detect_negative" + i: 1 + type: INT +} +attribute { + name: "detect_positive" + i: 1 + type: INT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "Map infinity to true and other values to false." +-- +input: "X" +output: "Y" +name: "IsNaN" +op_type: "IsNaN" +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "Returns which elements of the input are NaN." +-- +input: "X" +output: "Y" +name: "LRN" +op_type: "LRN" +attribute { + name: "alpha" + f: 0.0001 + type: FLOAT +} +attribute { + name: "beta" + f: 0.75 + type: FLOAT +} +attribute { + name: "bias" + f: 1.0 + type: FLOAT +} +attribute { + name: "size" + s: "" + type: INT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nLocal Response Normalization proposed in the [AlexNet paper](https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf).\nIt normalizes over local input regions.\nThe local region is defined across the channels. For an element X[n, c, d1, ..., dk] in a tensor\nof shape (N x C x D1 x D2, ..., Dk), its region is\n{X[n, i, d1, ..., dk] | max(0, c - floor((size - 1) / 2)) <= i <= min(C - 1, c + ceil((size - 1) / 2))}.\n\nsquare_sum[n, c, d1, ..., dk] = sum(X[n, i, d1, ..., dk] ^ 2),\nwhere max(0, c - floor((size - 1) / 2)) <= i <= min(C - 1, c + ceil((size - 1) / 2)).\n\nY[n, c, d1, ..., dk] = X[n, c, d1, ..., dk] / (bias + alpha / size * square_sum[n, c, d1, ..., dk] ) ^ beta\n" +-- +input: "X" +input: "W" +input: "R" +input: "B" +input: "sequence_lens" +input: "initial_h" +input: "initial_c" +input: "P" +output: "Y" +output: "Y_h" +output: "Y_c" +name: "LSTM" +op_type: "LSTM" +attribute { + name: "activation_alpha" + s: "" + type: FLOATS +} +attribute { + name: "activation_beta" + s: "" + type: FLOATS +} +attribute { + name: "activations" + s: "" + type: STRINGS +} +attribute { + name: "clip" + s: "" + type: FLOAT +} +attribute { + name: "direction" + s: "forward" + type: STRING +} +attribute { + name: "hidden_size" + s: "" + type: INT +} +attribute { + name: "input_forget" + i: 0 + type: INT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "W-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "R-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "sequence_lens-types" + strings: "int32" + type: STRINGS +} +attribute { + name: "initial_h-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "initial_c-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "P-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nComputes an one-layer LSTM. This operator is usually supported via some\ncustom implementation such as CuDNN.\n\nNotations:\n\n`X` - input tensor\n\n`i` - input gate\n\n`o` - output gate\n\n`f` - forget gate\n\n`c` - cell gate\n\n`t` - time step (t-1 means previous time step)\n\n`W[iofc]` - W parameter weight matrix for input, output, forget, and cell gates\n\n`R[iofc]` - R recurrence weight matrix for input, output, forget, and cell gates\n\n`Wb[iofc]` - W bias vectors for input, output, forget, and cell gates\n\n`Rb[iofc]` - R bias vectors for input, output, forget, and cell gates\n\n`P[iof]` - P peephole weight vector for input, output, and forget gates\n\n`WB[iofc]` - W parameter weight matrix for backward input, output, forget, and cell gates\n\n`RB[iofc]` - R recurrence weight matrix for backward input, output, forget, and cell gates\n\n`WBb[iofc]` - W bias vectors for backward input, output, forget, and cell gates\n\n`RBb[iofc]` - R bias vectors for backward input, output, forget, and cell gates\n\n`PB[iof]` - P peephole weight vector for backward input, output, and forget gates\n\n`H` - Hidden state\n\n`num_directions` - 2 if direction == bidirectional else 1\n\nActivation functions:\n\n Relu(x) - max(0, x)\n\n Tanh(x) - (1 - e^{-2x})/(1 + e^{-2x})\n\n Sigmoid(x) - 1/(1 + e^{-x})\n\n (NOTE: Below are optional)\n\n Affine(x) - alpha*x + beta\n\n LeakyRelu(x) - x if x >= 0 else alpha * x\n\n ThresholdedRelu(x) - x if x >= alpha else 0\n\n ScaledTanh(x) - alpha*Tanh(beta*x)\n\n HardSigmoid(x) - min(max(alpha*x + beta, 0), 1)\n\n Elu(x) - x if x >= 0 else alpha*(e^x - 1)\n\n Softsign(x) - x/(1 + |x|)\n\n Softplus(x) - log(1 + e^x)\n\nEquations (Default: f=Sigmoid, g=Tanh, h=Tanh):\n\n - it = f(Xt*(Wi^T) + Ht-1*(Ri^T) + Pi (.) Ct-1 + Wbi + Rbi)\n\n - ft = f(Xt*(Wf^T) + Ht-1*(Rf^T) + Pf (.) Ct-1 + Wbf + Rbf)\n\n - ct = g(Xt*(Wc^T) + Ht-1*(Rc^T) + Wbc + Rbc)\n\n - Ct = ft (.) Ct-1 + it (.) ct\n\n - ot = f(Xt*(Wo^T) + Ht-1*(Ro^T) + Po (.) Ct + Wbo + Rbo)\n\n - Ht = ot (.) h(Ct)\nThis operator has **optional** inputs/outputs. See [the doc](IR.md) for more details about the representation of optional arguments. An empty string may be used in the place of an actual argument\'s name to indicate a missing argument. Trailing optional arguments (those not followed by an argument that is present) may also be simply omitted.\n" +-- +input: "X" +output: "Y" +name: "LabelEncoder" +op_type: "LabelEncoder" +attribute { + name: "default_float" + f: -0.0 + type: FLOAT +} +attribute { + name: "default_int64" + i: -1 + type: INT +} +attribute { + name: "default_string" + s: "_Unused" + type: STRING +} +attribute { + name: "keys_floats" + s: "" + type: FLOATS +} +attribute { + name: "keys_int64s" + s: "" + type: INTS +} +attribute { + name: "keys_strings" + s: "" + type: STRINGS +} +attribute { + name: "values_floats" + s: "" + type: FLOATS +} +attribute { + name: "values_int64s" + s: "" + type: INTS +} +attribute { + name: "values_strings" + s: "" + type: STRINGS +} +attribute { + name: "X-types" + strings: "int64" + strings: "string" + strings: "float" + type: STRINGS +} +doc_string: "\n Maps each element in the input tensor to another value.
        \n The mapping is determined by the two parallel attributes, \'keys_*\' and\n \'values_*\' attribute. The i-th value in the specified \'keys_*\' attribute\n would be mapped to the i-th value in the specified \'values_*\' attribute. It\n implies that input\'s element type and the element type of the specified\n \'keys_*\' should be identical while the output type is identical to the\n specified \'values_*\' attribute. If an input element can not be found in the\n specified \'keys_*\' attribute, the \'default_*\' that matches the specified\n \'values_*\' attribute may be used as its output value.
        \n Let\'s consider an example which maps a string tensor to an integer tensor.\n Assume and \'keys_strings\' is [\"Amy\", \"Sally\"], \'values_int64s\' is [5, 6],\n and \'default_int64\' is \'-1\'. The input [\"Dori\", \"Amy\", \"Amy\", \"Sally\",\n \"Sally\"] would be mapped to [-1, 5, 5, 6, 6].
        \n Since this operator is an one-to-one mapping, its input and output shapes\n are the same. Notice that only one of \'keys_*\'/\'values_*\' can be set.
        \n For key look-up, bit-wise comparison is used so even a float NaN can be\n mapped to a value in \'values_*\' attribute.
        \n" +-- +input: "X" +output: "Y" +name: "LeakyRelu" +op_type: "LeakyRelu" +attribute { + name: "alpha" + f: 0.01 + type: FLOAT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nLeakyRelu takes input data (Tensor) and an argument alpha, and produces one\noutput data (Tensor) where the function `f(x) = alpha * x for x < 0`,\n`f(x) = x for x >= 0`, is applied to the data tensor elementwise.\n" +-- +input: "A" +input: "B" +output: "C" +name: "Less" +op_type: "Less" +attribute { + name: "A-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "B-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `less` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "A" +input: "B" +output: "C" +name: "LessOrEqual" +op_type: "LessOrEqual" +attribute { + name: "A-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "B-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `less_equal` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "X" +output: "Y" +output: "Z" +name: "LinearClassifier" +op_type: "LinearClassifier" +attribute { + name: "classlabels_ints" + s: "" + type: INTS +} +attribute { + name: "classlabels_strings" + s: "" + type: STRINGS +} +attribute { + name: "coefficients" + s: "" + type: FLOATS +} +attribute { + name: "intercepts" + s: "" + type: FLOATS +} +attribute { + name: "multi_class" + i: 0 + type: INT +} +attribute { + name: "post_transform" + s: "NONE" + type: STRING +} +attribute { + name: "X-types" + strings: "int32" + strings: "int64" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Linear classifier\n" +-- +input: "X" +output: "Y" +name: "LinearRegressor" +op_type: "LinearRegressor" +attribute { + name: "coefficients" + s: "" + type: FLOATS +} +attribute { + name: "intercepts" + s: "" + type: FLOATS +} +attribute { + name: "post_transform" + s: "NONE" + type: STRING +} +attribute { + name: "targets" + i: 1 + type: INT +} +attribute { + name: "X-types" + strings: "int32" + strings: "int64" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Generalized linear regression evaluation.
        \n If targets is set to 1 (default) then univariate regression is performed.
        \n If targets is set to M then M sets of coefficients must be passed in as a sequence\n and M results will be output for each input n in N.
        \n The coefficients array is of length n, and the coefficients for each target are contiguous.\n Intercepts are optional but if provided must match the number of targets.\n" +-- +input: "input" +output: "output" +name: "Log" +op_type: "Log" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the natural log of the given input tensor, element-wise.\n" +-- +input: "input" +output: "output" +name: "LogSoftmax" +op_type: "LogSoftmax" +attribute { + name: "axis" + i: 1 + type: INT +} +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nThe operator computes the logsoftmax (log of softmax) values for each layer in the batch\n of the given input.\n\nThe input does not need to explicitly be a 2D vector; rather, it will be\ncoerced into one. For an arbitrary n-dimensional tensor\ninput \\in [a_0, a_1, ..., a_{k-1}, a_k, ..., a_{n-1}] and k is\nthe axis provided, then input will be coerced into a 2-dimensional tensor with\ndimensions [a_0 * ... * a_{k-1}, a_k * ... * a_{n-1}]. For the default\ncase where axis=1, this means the input tensor will be coerced into a 2D tensor\nof dimensions [a_0, a_1 * ... * a_{n-1}], where a_0 is often the batch size.\nIn this situation, we must have a_0 = N and a_1 * ... * a_{n-1} = D.\nEach of these dimensions must be matched correctly, or else the operator\nwill throw errors. The output tensor has the same shape\nand contains the logsoftmax values of the corresponding input.\n" +-- +input: "M" +input: "cond" +input: "v_initial" +output: "v_final_and_scan_outputs" +name: "Loop" +op_type: "Loop" +attribute { + name: "body" + s: "" + type: GRAPH +} +attribute { + name: "M-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "cond-types" + strings: "bool" + type: STRINGS +} +attribute { + name: "v_initial-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nGeneric Looping construct. This loop has multiple termination conditions:\n\n1) Trip count. Iteration count specified at runtime. Set by\n specifying the input M. Optional. Set to empty string to omit.\n Note that a static trip count (specified at graph construction time) can be\n specified by passing in a constant node for input M.\n2) Loop termination condition. This is an input to the op that determines\n whether to run the first iteration and also a loop-carried dependency for\n the body graph. The body graph must yield a value for the condition variable,\n whether this input is provided or not.\n\nThis table summarizes the operating modes of this operator with equivalent\nC-style code:\n\n Operator inputs defined as (max_trip_count, condition_var).\n\n input (\"\", \"\"):\n for (int i=0; ; ++i) {\n cond = ... // Note this value is ignored, but is required in the body\n }\n\n input (\"\", cond) // Note this is analogous to a while loop\n bool cond = ...;\n for (int i=0; cond; ++i) {\n cond = ...;\n }\n\n input (\"\", 1) // Note this is analogous to a do-while loop\n bool cond = true\n for (int i=0; cond; ++i) {\n cond = ...;\n }\n\n input (trip_count, \"\") // Note this is analogous to a for loop\n int trip_count = ...\n for (int i=0; i < trip_count; ++i) {\n cond = ...; // ignored\n }\n\n input (trip_count, cond)\n int trip_count = ...;\n bool cond = ...;\n for (int i=0; i < trip_count && cond; ++i) {\n cond = ...;\n }\n\n\n*Sample usage - cond as well as trip count*\n\n graph predict-net {\n %a = Constant[value = ]()\n %b = Constant[value = ]()\n %keepgoing = Constant[value = ]()\n %max_trip_count = Constant[value = ]()\n %keepgoing_out, %b_out, %user_defined_vals = Loop[body = ](%max_trip_count, %keepgoing, %b)\n return\n }\n\n graph body-net (\n %i[INT32, scalar] // iteration number\n %keepgoing_in[BOOL, scalar] // incoming loop-termination-condition; not used\n %b_in[INT32, scalar] // incoming value of loop-carried-dependency b\n ) {\n %my_local = Add(%a, %b_in)\n %b_out = Sub(%a, %b_in) // outgoing value of loop-carried-dependency b\n %keepgoing_out = Greater(%my_local, %b_out) // outgoing loop-termination-condition\n %user_defined_val = Add(%b_in, %b_in) // scan-output value to be accumulated\n return %keepgoing_out, %b_out, %user_defined_val\n }\n\n*Sample equivalent C code*\n\n {\n /* User-defined code (enclosing scope) */\n int a = 3, b = 6;\n bool keepgoing = true; // Analogous to input cond\n /* End user-defined code */\n\n /* Implicitly-defined code */\n const int max_trip_count = 10; // Analogous to input M\n int user_defined_vals[]; // Imagine this is resizable\n /* End implicitly-defined code */\n /* initialize loop-carried variables and scan-output variables */\n bool keepgoing_out = keepgoing\n int b_out = b\n\n for (int i=0; i < max_trip_count && keepgoing_out; ++i) {\n /* Implicitly-defined code: bind actual parameter values\n to formal parameter variables of loop-body */\n bool keepgoing_in = keepgoing_out; \n bool b_in = b_out;\n\n /* User-defined code (loop body) */\n int my_local = a + b_in; // Reading value \"a\" from the enclosing scope is fine\n b_out = a - b_in;\n keepgoing_out = my_local > b_out; \n user_defined_val = b_in + b_in; // b_in and b_out are different variables\n /* End user-defined code */\n\n /* Implicitly defined-code */\n user_defined_vals[i] = user_defined_val // accumulate scan-output values\n }\n // int t = my_local; // Can\'t do this. my_local is not accessible here.\n\n // The values below are bound to the output variables of the loop and therefore accessible\n // b_out; user_defined_vals; keepgoing_out;\n }\n\nThere are several things of note in this code snippet:\n\n1) Values from the enclosing scope (i.e. variable \"a\" here) are in scope and can\n be referenced in the inputs of the loop.\n2) Any values computed in the loop body that needs to be used in a subsequent\n iteration or after the loop are modelled using a pair of variables in the loop-body,\n consisting of an input variable (eg., b_in) and an output variable (eg., b_out).\n These are referred to as loop-carried dependences. The loop operation node\n supplies the input value of the input variable for the first iteration, and\n returns the output value of the output variable produced by the final\n iteration.\n3) Scan_output variables are used to implicitly concatenate values computed across\n all the iterations. In the above example, the value of user_defined_val computed\n over all iterations are concatenated and returned as the value of user_defined_vals\n after the loop.\n4) Values created in the body cannot be accessed in the enclosing scope,\n except using the mechanism described above.\n\nNote that the semantics of this op support \"diagonal\" or \"wavefront\" execution.\n(See Step 3 here for an example:\nhttps://devblogs.nvidia.com/optimizing-recurrent-neural-networks-cudnn-5/).\nFrontends should emit multi-layer RNNs as a series of While operators (with\ntime being the inner looping dimension), with each successive layer consuming\nthe scan_outputs from the previous layer, possibly going through several\npoint-wise operators (e.g. dropout, residual connections, linear layer).\n" +-- +input: "input" +output: "output" +name: "LpNormalization" +op_type: "LpNormalization" +attribute { + name: "axis" + i: -1 + type: INT +} +attribute { + name: "p" + i: 2 + type: INT +} +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nGiven a matrix, apply Lp-normalization along the provided axis.\n" +-- +input: "X" +output: "Y" +name: "LpPool" +op_type: "LpPool" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "p" + i: 2 + type: INT +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\n LpPool consumes an input tensor X and applies Lp pooling across\n the tensor according to kernel sizes, stride sizes, and pad lengths.\n Lp pooling consisting of computing the Lp norm on all values of a subset\n of the input tensor according to the kernel size and downsampling the\n data into the output tensor Y for further processing." +-- +input: "A" +input: "B" +output: "Y" +name: "MatMul" +op_type: "MatMul" +attribute { + name: "A-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +attribute { + name: "B-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nMatrix product that behaves like numpy.matmul: https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.matmul.html\n" +-- +input: "A" +input: "B" +input: "a_zero_point" +input: "b_zero_point" +output: "Y" +name: "MatMulInteger" +op_type: "MatMulInteger" +attribute { + name: "A-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "B-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "a_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "b_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nMatrix product that behaves like numpy.matmul: https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.matmul.html.\nThe production MUST never overflow. The accumulation may overflow if and only if in 32 bits.\n" +-- +input: "data_0" +output: "max" +name: "Max" +op_type: "Max" +attribute { + name: "data_0-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nElement-wise max of each of the input tensors (with Numpy-style broadcasting support).\nAll inputs and outputs must have the same data type.\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "X" +output: "Y" +output: "Indices" +name: "MaxPool" +op_type: "MaxPool" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "ceil_mode" + i: 0 + type: INT +} +attribute { + name: "dilations" + s: "" + type: INTS +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "storage_order" + i: 0 + type: INT +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\n MaxPool consumes an input tensor X and applies max pooling across\n the tensor according to kernel sizes, stride sizes, and pad lengths.\n max pooling consisting of computing the max on all values of a\n subset of the input tensor according to the kernel size and downsampling the\n data into the output tensor Y for further processing. The output spatial shape will be following:\n ```\n output_spatial_shape[i] = floor((input_spatial_shape[i] + pad_shape[i] - ((kernel_spatial_shape[i] - 1) * dilations[i] + 1)) / strides_spatial_shape[i] + 1)\n ```\n or\n ```\n output_spatial_shape[i] = ceil((input_spatial_shape[i] + pad_shape[i] - ((kernel_spatial_shape[i] - 1) * dilations[i] + 1)) / strides_spatial_shape[i] + 1)\n ```\n if ceil_mode is enabled\n\n ```\n * pad_shape[i] is sum of pads along axis i\n ```\n\n `auto_pad` is a DEPRECATED attribute. If you are using them currently, the output spatial shape will be following:\n ```\n VALID: output_spatial_shape[i] = ceil((input_spatial_shape[i] - ((kernel_spatial_shape[i] - 1) * dilations[i] + 1) + 1) / strides_spatial_shape[i])\n SAME_UPPER or SAME_LOWER: output_spatial_shape[i] = ceil(input_spatial_shape[i] / strides_spatial_shape[i])\n ```\n And pad shape will be following if `SAME_UPPER` or `SAME_LOWER`:\n ```\n pad_shape[i] = (output_spatial_shape[i] - 1) * strides_spatial_shape[i] + ((kernel_spatial_shape[i] - 1) * dilations[i] + 1) - input_spatial_shape[i]\n ```\n The output of each pooling window is maximum number of elements exclude pad. \n " +-- +input: "X" +input: "rois" +output: "Y" +name: "MaxRoiPool" +op_type: "MaxRoiPool" +attribute { + name: "pooled_shape" + s: "" + type: INTS +} +attribute { + name: "spatial_scale" + f: 1.0 + type: FLOAT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "rois-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\n ROI max pool consumes an input tensor X and region of interests (RoIs) to\n apply max pooling across each RoI, to produce output 4-D tensor of shape\n (num_rois, channels, pooled_shape[0], pooled_shape[1])." +-- +input: "X" +input: "I" +input: "output_shape" +output: "output" +name: "MaxUnpool" +op_type: "MaxUnpool" +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "I-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "output_shape-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nMaxUnpool essentially computes the partial inverse of the MaxPool op.\n The input information to this op is typically the the output information from a MaxPool op. The first\n input tensor X is the tensor that needs to be unpooled, which is typically the pooled tensor (first output)\n from MaxPool. The second input tensor, I, contains the indices to the (locally maximal) elements corrsponding\n to the elements in the first input tensor X. Input tensor I is typically the second output of the MaxPool op.\n The third (optional) input is a tensor that specifies the output size of the unpooling operation.\n\nMaxUnpool is intended to do \'partial\' inverse of the MaxPool op. \'Partial\' because all the non-maximal\n values from the original input to MaxPool are set to zero in the output of the MaxUnpool op. Pooling\n the result of an unpooling operation should give back the original input to the unpooling op.\n\nMaxUnpool can produce the same output size for several input sizes, which makes unpooling op ambiguous.\n The third input argument, output_size, is meant to disambiguate the op and produce output tensor of\n known/predictable size.\n\nIn addition to the inputs, MaxUnpool takes three attributes, namely kernel_shape, strides, and pads,\n which define the exact unpooling op. The attributes typically have the same values as the corrsponding\n pooling op that the unpooling op is trying to invert.\n" +-- +input: "data_0" +output: "mean" +name: "Mean" +op_type: "Mean" +attribute { + name: "data_0-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nElement-wise mean of each of the input tensors (with Numpy-style broadcasting support).\nAll inputs and outputs must have the same data type.\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "X" +output: "Y" +name: "MeanVarianceNormalization" +op_type: "MeanVarianceNormalization" +attribute { + name: "axes" + ints: 0 + ints: 2 + ints: 3 + type: INTS +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\n A MeanVarianceNormalization Function: Perform mean variance normalization\n on the input tensor X using formula:
        ``` (X-EX)/sqrt(E(X-EX)^2) ```\n" +-- +input: "data_0" +output: "min" +name: "Min" +op_type: "Min" +attribute { + name: "data_0-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nElement-wise min of each of the input tensors (with Numpy-style broadcasting support).\nAll inputs and outputs must have the same data type.\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "A" +input: "B" +output: "C" +name: "Mod" +op_type: "Mod" +attribute { + name: "fmod" + i: 0 + type: INT +} +attribute { + name: "A-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "B-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\n Performs element-wise binary modulus (with Numpy-style broadcasting support). \n The sign of the remainder is the same as that of the Divisor.\n \n Mod operator can also behave like C fmod() or numpy.fmod. In this case, the sign of the remainder however, will be the same as the Dividend \n (in contrast to integer mod). To force a behavior like numpy.fmod() an \'fmod\' Attribute is provided.\n This attribute is set to 0 by default causing the behavior to be like integer mod. \n Setting this attribute to 1 causes the remainder to be calculated similar to that of numpy.fmod().\n\n If the input type is floating point, then `fmod` attribute must be set to 1.\n \n In case of dividend being zero, the results will be platform dependent.\n\n This operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "R" +input: "T" +input: "inputs" +output: "outputs" +name: "Momentum" +op_type: "Momentum" +attribute { + name: "alpha" + s: "" + type: FLOAT +} +attribute { + name: "beta" + s: "" + type: FLOAT +} +attribute { + name: "mode" + s: "" + type: STRING +} +attribute { + name: "norm_coefficient" + s: "" + type: FLOAT +} +attribute { + name: "R-types" + strings: "double" + strings: "float" + type: STRINGS +} +attribute { + name: "T-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "inputs-types" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Compute one iteration of stochastic gradient update with momentum.\n This operator can conduct the optimization of multiple tensor variables.\n\n Let\'s define the behavior of this operator. As you can imagine, SG with momentum requires\n several parameters:\n \n - The learning-rate \"R\".\n - The update count \"T\". That is, the number of conducted training iterations. It should\n be zero in the first training iteration.\n - A L2-norm regularization coefficient \"norm_coefficient\".\n - A decay coefficient of previous accumulated gradient (i.e., momentum) \"alpha\".\n - The scaling coefficient of current gradient \"beta\".\n - An attribute to choose either standard momentum or Nesterov\'s momentum \"mode\" should\n be used.\n\n For the sake of simplicity, assume that there is only one tensor (called \"X\") to be optimized.\n Other necessary inputs are \"X\"\'s gradient (called \"G\") and \"X\"\'s momentum (called \"V\"). This\n Momentum operator maps all these inputs to the new value of \"X\" (called \"X_new\") and its new\n momentum (called \"V_new\").\n \n This operator supports two different momentum algorithms. Set the attribute \"mode\" to\n \"nesterov\" if Nesterov\'s momentum is desired. Otherwise, set the attribute \"model\" to\n \"standard\" to use standard momentum. Computation details are described subsequently.\n\n Let \"+\", \"-\", \"*\", and \"/\" are all element-wise operations with numpy-style broadcasting.\n\n Pseudo code for SG with standard momentum:\n\n // Add gradient of 0.5 * norm_coefficient * ||X||^2, where ||X|| is the sum of squared\n // values of all elements in X.\n G_regularized = norm_coefficient * X + G\n\n // In the first training iteration, beta should always be 1.\n beta_adjusted = T > 0 ? beta : 1\n\n // Compute the current momentum based on previous momentum and the current gradient.\n V_new = alpha * V + beta_adjusted * G_regularized\n\n // Update X.\n X_new = X - R * V_new\n\n Pseudo code for SG with Nesterov\'s momentum:\n\n // Add gradient of 0.5 * norm_coefficient * ||X||^2, where ||X|| is the sum of squared\n // values of all elements in X.\n G_regularized = norm_coefficient * X + G;\n\n // In the first training iteration, beta should always be 1.\n beta_adjusted = T > 0 ? beta : 1\n\n // Compute the current momentum based on previous momentum and the current gradient.\n V_new = alpha * V + beta_adjusted * G_regularized;\n\n // Compute final update direction and then update X.\n X_new = X - R * (G_regularized + alpha * V_new)\n\n If one assign this operators to optimize multiple inputs, for example, \"X_1\" and \"X_2\". The same\n pseudo code would be extended to handle all tensors jointly. More specifically, we can view \"X\" as a\n concatenation of \"X_1\" and \"X_2\" (of course, their gradient and accumulate gradient should\n be concatenated too) and then our pseudo code becomes applicable.\n" +-- +input: "A" +input: "B" +output: "C" +name: "Mul" +op_type: "Mul" +attribute { + name: "A-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +attribute { + name: "B-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nPerforms element-wise binary multiplication (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "input" +output: "output" +name: "Multinomial" +op_type: "Multinomial" +attribute { + name: "dtype" + i: 6 + type: INT +} +attribute { + name: "sample_size" + i: 1 + type: INT +} +attribute { + name: "seed" + s: "" + type: FLOAT +} +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nGenerate a tensor of samples from a multinomial distribution according to the probabilities\nof each of the possible outcomes.\n" +-- +input: "X" +output: "Y" +name: "Neg" +op_type: "Neg" +attribute { + name: "X-types" + strings: "int64" + strings: "float" + strings: "double" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + type: STRINGS +} +doc_string: "\nNeg takes one input data (Tensor) and produces one output data\n(Tensor) where each element flipped sign, y = -x, is applied to\nthe tensor elementwise.\n" +-- +input: "input" +input: "target" +input: "weight" +output: "loss" +name: "NegativeLogLikelihoodLoss" +op_type: "NegativeLogLikelihoodLoss" +attribute { + name: "ignore_index" + s: "" + type: INT +} +attribute { + name: "reduction" + s: "mean" + type: STRING +} +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "target-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "weight-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nA NegativeLogLikelihoodLoss operator computes (weighted) negative log likelihood loss.\nIts \"input\" tensor has the shape of (N, C, d1, d2, ..., dk) where k >= 0.\nThe \"input\" tensor contains log-probabilities for input[n, :, d_1, d_2,..., d_k] being in a class of [0, C).\nThe operator\'s \"target\" input tensor has the shape of (N, d1, d2, ..., dk). It encodes class labels (one of C classes)\nor it may contain a special value (indicated by an attribute ignore_index) for N x d1 x d2 x ... x dk samples.\nThe loss value for input[n, :, d_1, d_2,...d_k] being classified as class c = target[n][d_1][d_2]...[d_k] is computed as:\n\n loss[n][d_1][d_2]...[d_k] = -input[n][c][d_1][d_2]...[d_k].\n\nWhen an optional \"weight\" is provided, the sample loss is calculated as:\n\n loss[n][d_1][d_2]...[d_k] = -input[n][c][d_1][d_2]...[d_k] * weight[c].\n\nloss is zero for the case when target-value equals ignore_index.\n \n loss[n][d_1][d_2]...[d_k] = 0, when target[n][d_1][d_2]...[d_k] = ignore_index\n\nIf \"reduction\" attribute is set to \"none\", the operator\'s output will be the above loss with shape (N, d1, d2, ..., dk).\nIf \"reduction\" attribute is set to \"mean\" (the default attribute value), the output loss is (weight) averaged:\n\n mean(loss), if \"weight\" is not provided,\n\nor if weight is provided,\n\n sum(loss) / sum(weight[target[n][d_1][d_2]...[d_k]]]), for all samples.\n\nIf \"reduction\" attribute is set to \"sum\", the output is a scalar:\n sum(loss).\n\nSee also https://pytorch.org/docs/stable/nn.html#torch.nn.NLLLoss.\n\nExample 1:\n\n // negative log likelihood loss, \"none\" reduction\n N, C, d1 = 2, 3, 2\n input = [[[1.0, 2.0], [2.0, 2.0], [3.0, 2.0]],\n [[0.0, 1.0], [2.0, 2.0], [1.0, 2]]]\n target = [[2, 1], [0, 2]]\n\n loss = np.zeros((N, d1))\n for n in range(N):\n for d_1 in range(d1):\n c = target[n][d_1]\n loss[n][d_1] = -input[n][c][d_1]\n\n // print(loss)\n // [[-3. -2.]\n // [-0. -2.]]\n\nExample 2:\n\n // weighted negative log likelihood loss, sum reduction\n N, C, d1 = 2, 3, 2\n input = [[[1.0, 2.0], [2.0, 2.0], [3.0, 2.0]],\n [[0.0, 1.0], [2.0, 2.0], [1.0, 2]]]\n target = [[2, 1], [0, 2]]\n weight = [0.2, 0.3, 0.1]\n loss = np.zeros((N, d1))\n for n in range(N):\n for d_1 in range(d1):\n c = target[n][d_1]\n loss[n][d_1] = -input[n][c][d_1] * weight[c]\n\n loss = np.sum(loss)\n // print(loss)\n // -1.1\n\nExample 3:\n\n // weighted negative log likelihood loss, mean reduction\n N, C, d1 = 2, 3, 2\n input = [[[1.0, 2.0], [2.0, 2.0], [3.0, 2.0]],\n [[0.0, 1.0], [2.0, 2.0], [1.0, 2]]]\n target = [[2, 1], [0, 2]]\n weight = [0.2, 0.3, 0.1]\n loss = np.zeros((N, d1))\n weight_total = 0\n for n in range(N):\n for d_1 in range(d1):\n c = target[n][d_1]\n loss[n][d_1] = -input[n][c][d_1] * weight[c]\n weight_total = weight_total + weight[c]\n\n loss = np.sum(loss) / weight_total\n // print(loss)\n // -1.57\n" +-- +input: "boxes" +input: "scores" +input: "max_output_boxes_per_class" +input: "iou_threshold" +input: "score_threshold" +output: "selected_indices" +name: "NonMaxSuppression" +op_type: "NonMaxSuppression" +attribute { + name: "center_point_box" + i: 0 + type: INT +} +attribute { + name: "boxes-types" + strings: "float" + type: STRINGS +} +attribute { + name: "scores-types" + strings: "float" + type: STRINGS +} +attribute { + name: "max_output_boxes_per_class-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "iou_threshold-types" + strings: "float" + type: STRINGS +} +attribute { + name: "score_threshold-types" + strings: "float" + type: STRINGS +} +doc_string: "\nFilter out boxes that have high intersection-over-union (IOU) overlap with previously selected boxes.\nBounding boxes with score less than score_threshold are removed. Bounding box format is indicated by attribute center_point_box.\nNote that this algorithm is agnostic to where the origin is in the coordinate system and more generally is invariant to\northogonal transformations and translations of the coordinate system; thus translating or reflections of the coordinate system\nresult in the same boxes being selected by the algorithm.\nThe selected_indices output is a set of integers indexing into the input collection of bounding boxes representing the selected boxes.\nThe bounding box coordinates corresponding to the selected indices can then be obtained using the Gather or GatherND operation.\n" +-- +input: "X" +output: "Y" +name: "NonZero" +op_type: "NonZero" +attribute { + name: "X-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\n Returns the indices of the elements that are non-zero\n (in row-major order - by dimension).\n NonZero behaves similar to numpy.nonzero:\n https://docs.scipy.org/doc/numpy/reference/generated/numpy.nonzero.html\n" +-- +input: "X" +output: "Y" +name: "Normalizer" +op_type: "Normalizer" +attribute { + name: "norm" + s: "MAX" + type: STRING +} +attribute { + name: "X-types" + strings: "int32" + strings: "int64" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Normalize the input. There are three normalization modes, which have the corresponding formulas,\n defined using element-wise infix operators \'/\' and \'^\' and tensor-wide functions \'max\' and \'sum\':
        \n
        \n Max: Y = X / max(X)
        \n L1: Y = X / sum(X)
        \n L2: Y = sqrt(X^2 / sum(X^2)}
        \n In all modes, if the divisor is zero, Y == X.\n
        \n For batches, that is, [N,C] tensors, normalization is done along the C axis. In other words, each row\n of the batch is normalized independently.\n" +-- +input: "X" +output: "Y" +name: "Not" +op_type: "Not" +attribute { + name: "X-types" + strings: "bool" + type: STRINGS +} +doc_string: "\nReturns the negation of the input tensor element-wise.\n" +-- +input: "indices" +input: "depth" +input: "values" +output: "output" +name: "OneHot" +op_type: "OneHot" +attribute { + name: "axis" + i: -1 + type: INT +} +attribute { + name: "indices-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "depth-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "values-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\n Produces a one-hot tensor based on inputs.\n The locations represented by the index values in the \'indices\' input tensor will have \'on_value\'\n and the other locations will have \'off_value\' in the output tensor, where \'on_value\' and \'off_value\'\n are specified as part of required input argument \'values\', which is a two-element tensor of format\n [off_value, on_value]. The rank of the output tensor will be one greater than the rank of the\n input tensor. The additional dimension is for one-hot representation. The additional dimension will\n be inserted at the position specified by \'axis\'. If \'axis\' is not specified then then additional\n dimension will be inserted as the innermost dimension, i.e. axis=-1. The size of the additional\n dimension is specified by required scalar input \'depth\'. The type of the output tensor is the same\n as the type of the \'values\' input. Any entries in the \'indices\' input tensor with values outside\n the range [-depth, depth-1] will result in one-hot representation with all \'off_value\' values in the\n output tensor.\n\n when axis = 0:\n output[input[i, j, k], i, j, k] = 1 for all i, j, k and 0 otherwise.\n\n when axis = -1:\n output[i, j, k, input[i, j, k]] = 1 for all i, j, k and 0 otherwise.\n\n" +-- +input: "X" +output: "Y" +name: "OneHotEncoder" +op_type: "OneHotEncoder" +attribute { + name: "cats_int64s" + s: "" + type: INTS +} +attribute { + name: "cats_strings" + s: "" + type: STRINGS +} +attribute { + name: "zeros" + i: 1 + type: INT +} +attribute { + name: "X-types" + strings: "int64" + strings: "string" + strings: "double" + strings: "float" + strings: "int32" + type: STRINGS +} +doc_string: "\n Replace each input element with an array of ones and zeros, where a single\n one is placed at the index of the category that was passed in. The total category count \n will determine the size of the extra dimension of the output array Y.
        \n For example, if we pass a tensor with a single value of 4, and a category count of 8, \n the output will be a tensor with ``[0,0,0,0,1,0,0,0]``.
        \n This operator assumes every input feature is from the same set of categories.
        \n If the input is a tensor of float, int32, or double, the data will be cast\n to integers and the cats_int64s category list will be used for the lookups.\n" +-- +input: "A" +input: "B" +output: "C" +name: "Or" +op_type: "Or" +attribute { + name: "A-types" + strings: "bool" + type: STRINGS +} +attribute { + name: "B-types" + strings: "bool" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `or` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "X" +input: "slope" +output: "Y" +name: "PRelu" +op_type: "PRelu" +attribute { + name: "X-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +attribute { + name: "slope-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nPRelu takes input data (Tensor) and slope tensor as input, and produces one\noutput data (Tensor) where the function `f(x) = slope * x for x < 0`,\n`f(x) = x for x >= 0`., is applied to the data tensor elementwise.\nThis operator supports **unidirectional broadcasting** (tensor slope should be unidirectional broadcastable to input tensor X); for more details please check [the doc](Broadcasting.md)." +-- +input: "data" +input: "pads" +input: "constant_value" +output: "output" +name: "Pad" +op_type: "Pad" +attribute { + name: "mode" + s: "constant" + type: STRING +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "pads-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "constant_value-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nGiven a tensor containing the data to be padded (`data`), a tensor containing the number of start and end pad values for axis (`pads`), (optionally) a `mode`, and (optionally) `constant_value`, \na padded tensor (`output`) is generated.\n\nThe three supported `modes` are (similar to corresponding modes supported by `numpy.pad`):\n\n1) `constant`(default) - pads with a given constant value as specified by `constant_value` (which defaults to 0)\n\n2) `reflect` - pads with the reflection of the vector mirrored on the first and last values of the vector along each axis\n\n3) `edge` - pads with the edge values of array\n\n\nExample 1 (`constant` mode):\n Insert 0 pads to the beginning of the second dimension.\n\n data = \n [\n [1.0, 1.2],\n [2.3, 3.4],\n [4.5, 5.7],\n ] \n\n pads = [0, 2, 0, 0]\n\n mode = \'constant\'\n\n constant_value = 0.0\n\n output = \n [\n [\n [0.0, 0.0, 1.0, 1.2],\n [0.0, 0.0, 2.3, 3.4],\n [0.0, 0.0, 4.5, 5.7],\n ],\n ]\n\n\nExample 2 (`reflect` mode):\n data = \n [\n [1.0, 1.2],\n [2.3, 3.4],\n [4.5, 5.7],\n ] \n\n pads = [0, 2, 0, 0]\n\n mode = \'reflect\'\n\n output = \n [\n [\n [1.0, 1.2, 1.0, 1.2],\n [2.3, 3.4, 2.3, 3.4],\n [4.5, 5.7, 4.5, 5.7],\n ],\n ]\n\n\nExample 3 (`edge` mode):\n data = \n [\n [1.0, 1.2],\n [2.3, 3.4],\n [4.5, 5.7],\n ] \n\n pads = [0, 2, 0, 0]\n\n mode = \'edge\'\n\n output = \n [\n [\n [1.0, 1.0, 1.0, 1.2],\n [2.3, 2.3, 2.3, 3.4],\n [4.5, 4.5, 4.5, 5.7],\n ],\n ]\n\n" +-- +input: "X" +input: "Y" +output: "Z" +name: "Pow" +op_type: "Pow" +attribute { + name: "X-types" + strings: "int64" + strings: "double" + strings: "float" + strings: "float16" + strings: "int32" + type: STRINGS +} +attribute { + name: "Y-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nPow takes input data (Tensor) and exponent Tensor, and\nproduces one output data (Tensor) where the function `f(x) = x^exponent`,\nis applied to the data tensor elementwise.\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md)." +-- +input: "x" +input: "x_scale" +input: "x_zero_point" +input: "w" +input: "w_scale" +input: "w_zero_point" +input: "y_scale" +input: "y_zero_point" +input: "B" +output: "y" +name: "QLinearConv" +op_type: "QLinearConv" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "dilations" + s: "" + type: INTS +} +attribute { + name: "group" + i: 1 + type: INT +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "x-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "x_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "x_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "w-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "w_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "w_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "y_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "y_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "B-types" + strings: "int32" + type: STRINGS +} +doc_string: "\nThe convolution operator consumes a quantized input tensor, its scale and zero point,\na quantized filter, its scale and zero point, and output\'s scale and zero point,\nand computes the quantized output. Each scale and zero-point pair must have same shape.\nIt means they must be either scalars (per tensor) or 1-D tensors (per output channel).\nEach input or output and its related zero point must have same type.\nWhen bias is present it must be quantized using scale = input scale * weight scale and \nzero point as 0.\n" +-- +input: "a" +input: "a_scale" +input: "a_zero_point" +input: "b" +input: "b_scale" +input: "b_zero_point" +input: "y_scale" +input: "y_zero_point" +output: "y" +name: "QLinearMatMul" +op_type: "QLinearMatMul" +attribute { + name: "a-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "a_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "a_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "b-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "b_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "b_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "y_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "y_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nMatrix product that behaves like numpy.matmul: https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.matmul.html.\nIt consumes two quantized input tensors, their scales and zero points, scale and zero point of output, and computes the quantized output.\nThe quantization formula is y = saturate((x / y_scale) + y_zero_point). For (x / y_scale), it is rounding to nearest ties to even.\nRefer to https://en.wikipedia.org/wiki/Rounding for details. Scale and zero point must have same shape.\nThey must be either scalar (per tensor) or 1-D tensor (per row for \'a\' and per column for \'b\'). If scale and zero point are 1-D tensor,\nthe number of elements of scale and zero point tensor of input \'a\' and output \'y\' should be equal to the number of rows of input \'a\',\nand the number of elements of scale and zero point tensor of input \'b\' should be equal to the number of columns of input \'b\'.\nProduction must never overflow, and accumulation may overflow if and only if in 32 bits.\n" +-- +input: "x" +input: "y_scale" +input: "y_zero_point" +output: "y" +name: "QuantizeLinear" +op_type: "QuantizeLinear" +attribute { + name: "x-types" + strings: "int32" + strings: "float" + type: STRINGS +} +attribute { + name: "y_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "y_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nThe linear per-tensor/layer quantization operator. It consumes a high precision tensor, a scale, a zero point to compute the low precision / quantized tensor.\nThe quantization formula is y = saturate ((x / y_scale) + y_zero_point). For saturation, it saturates to [0, 255] if it\'s uint8, or [-128, 127] if it\'s int8.\nFor (x / y_scale), it\'s rounding to nearest ties to even. Refer to https://en.wikipedia.org/wiki/Rounding for details. \'y_zero_point\' and \'y\' must have same type.\n" +-- +input: "X" +input: "W" +input: "R" +input: "B" +input: "sequence_lens" +input: "initial_h" +output: "Y" +output: "Y_h" +name: "RNN" +op_type: "RNN" +attribute { + name: "activation_alpha" + s: "" + type: FLOATS +} +attribute { + name: "activation_beta" + s: "" + type: FLOATS +} +attribute { + name: "activations" + strings: "Tanh" + strings: "Tanh" + type: STRINGS +} +attribute { + name: "clip" + s: "" + type: FLOAT +} +attribute { + name: "direction" + s: "forward" + type: STRING +} +attribute { + name: "hidden_size" + s: "" + type: INT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "W-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "R-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "sequence_lens-types" + strings: "int32" + type: STRINGS +} +attribute { + name: "initial_h-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nComputes an one-layer simple RNN. This operator is usually supported\nvia some custom implementation such as CuDNN.\n\nNotations:\n\n`X` - input tensor\n\n`i` - input gate\n\n`t` - time step (t-1 means previous time step)\n\n`Wi` - W parameter weight matrix for input gate\n\n`Ri` - R recurrence weight matrix for input gate\n\n`Wbi` - W parameter bias vector for input gate\n\n`Rbi` - R parameter bias vector for input gate\n\n`WBi` - W parameter weight matrix for backward input gate\n\n`RBi` - R recurrence weight matrix for backward input gate\n\n`WBbi` - WR bias vectors for backward input gate\n\n`RBbi` - RR bias vectors for backward input gate\n\n`H` - Hidden state\n\n`num_directions` - 2 if direction == bidirectional else 1\n\nActivation functions:\n\n Relu(x) - max(0, x)\n\n Tanh(x) - (1 - e^{-2x})/(1 + e^{-2x})\n\n Sigmoid(x) - 1/(1 + e^{-x})\n\n (NOTE: Below are optional)\n\n Affine(x) - alpha*x + beta\n\n LeakyRelu(x) - x if x >= 0 else alpha * x\n\n ThresholdedRelu(x) - x if x >= alpha else 0\n\n ScaledTanh(x) - alpha*Tanh(beta*x)\n\n HardSigmoid(x) - min(max(alpha*x + beta, 0), 1)\n\n Elu(x) - x if x >= 0 else alpha*(e^x - 1)\n\n Softsign(x) - x/(1 + |x|)\n\n Softplus(x) - log(1 + e^x)\n\nEquations (Default: f=Tanh):\n\n - Ht = f(Xt*(Wi^T) + Ht-1*(Ri^T) + Wbi + Rbi)\nThis operator has **optional** inputs/outputs. See [the doc](IR.md) for more details about the representation of optional arguments. An empty string may be used in the place of an actual argument\'s name to indicate a missing argument. Trailing optional arguments (those not followed by an argument that is present) may also be simply omitted.\n" +-- +output: "output" +name: "RandomNormal" +op_type: "RandomNormal" +attribute { + name: "dtype" + i: 1 + type: INT +} +attribute { + name: "mean" + f: 0.0 + type: FLOAT +} +attribute { + name: "scale" + f: 1.0 + type: FLOAT +} +attribute { + name: "seed" + s: "" + type: FLOAT +} +attribute { + name: "shape" + s: "" + type: INTS +} +doc_string: "\nGenerate a tensor with random values drawn from a normal distribution. The shape\nof the tensor is specified by the `shape` argument and the parameter of the normal distribution\nspecified by `mean` and `scale`.\n\nThe data type is specified by the \'dtype\' argument. The \'dtype\' argument must\nbe one of the data types specified in the \'DataType\' enum field in the\nTensorProto message.\n" +-- +input: "input" +output: "output" +name: "RandomNormalLike" +op_type: "RandomNormalLike" +attribute { + name: "dtype" + s: "" + type: INT +} +attribute { + name: "mean" + f: 0.0 + type: FLOAT +} +attribute { + name: "scale" + f: 1.0 + type: FLOAT +} +attribute { + name: "seed" + s: "" + type: FLOAT +} +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nGenerate a tensor with random values drawn from a normal distribution.\nThe shape of the output tensor is copied from the shape of the input tensor,\nand the parameters of the normal distribution are specified by `mean` and `scale`.\n\nThe data type is specified by the \'dtype\' argument, or copied from the input tensor if not provided.\nThe \'dtype\' argument must be one of the data types specified in the \'DataType\' enum field in the\nTensorProto message, and be valid as an output type.\n" +-- +output: "output" +name: "RandomUniform" +op_type: "RandomUniform" +attribute { + name: "dtype" + i: 1 + type: INT +} +attribute { + name: "high" + f: 1.0 + type: FLOAT +} +attribute { + name: "low" + f: 0.0 + type: FLOAT +} +attribute { + name: "seed" + s: "" + type: FLOAT +} +attribute { + name: "shape" + s: "" + type: INTS +} +doc_string: "\nGenerate a tensor with random values drawn from a uniform distribution. The shape\nof the tensor is specified by the `shape` argument and the range by `low` and `high`.\n\nThe data type is specified by the \'dtype\' argument. The \'dtype\' argument must\nbe one of the data types specified in the \'DataType\' enum field in the\nTensorProto message.\n" +-- +input: "input" +output: "output" +name: "RandomUniformLike" +op_type: "RandomUniformLike" +attribute { + name: "dtype" + s: "" + type: INT +} +attribute { + name: "high" + f: 1.0 + type: FLOAT +} +attribute { + name: "low" + f: 0.0 + type: FLOAT +} +attribute { + name: "seed" + s: "" + type: FLOAT +} +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nGenerate a tensor with random values drawn from a uniform distribution.\nThe shape of the output tensor is copied from the shape of the input tensor,\nand the parameters of the uniform distribution are specified by `low` and `high`.\n\nThe data type is specified by the \'dtype\' argument, or copied from the input tensor if not provided.\nThe \'dtype\' argument must be one of the data types specified in the \'DataType\' enum field in the\nTensorProto message and be valid as an output type.\n" +-- +input: "start" +input: "limit" +input: "delta" +output: "output" +name: "Range" +op_type: "Range" +attribute { + name: "start-types" + strings: "int64" + strings: "double" + strings: "float" + strings: "int16" + strings: "int32" + type: STRINGS +} +attribute { + name: "limit-types" + strings: "int64" + strings: "double" + strings: "float" + strings: "int16" + strings: "int32" + type: STRINGS +} +attribute { + name: "delta-types" + strings: "int64" + strings: "double" + strings: "float" + strings: "int16" + strings: "int32" + type: STRINGS +} +doc_string: "\nGenerate a tensor containing a sequence of numbers that begin at `start` and extends by increments of `delta`\nup to `limit` (exclusive).\n\nThe number of elements in the output of range is computed as below-\n\n`number_of_elements = max( ceil( (limit - start) / delta ) , 0 )`\n\nThe pseudocode determining the contents of the output is shown below-\n\n`for(int i=0; i) and produces one output data\n(Tensor) where the reciprocal is, y = 1/x, is applied to\nthe tensor elementwise.\n" +-- +input: "data" +output: "reduced" +name: "ReduceL1" +op_type: "ReduceL1" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nComputes the L1 norm of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +-- +input: "data" +output: "reduced" +name: "ReduceL2" +op_type: "ReduceL2" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nComputes the L2 norm of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +-- +input: "data" +output: "reduced" +name: "ReduceLogSum" +op_type: "ReduceLogSum" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nComputes the log sum of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +-- +input: "data" +output: "reduced" +name: "ReduceLogSumExp" +op_type: "ReduceLogSumExp" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nComputes the log sum exponent of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +-- +input: "data" +output: "reduced" +name: "ReduceMax" +op_type: "ReduceMax" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nComputes the max of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +-- +input: "data" +output: "reduced" +name: "ReduceMean" +op_type: "ReduceMean" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nComputes the mean of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +-- +input: "data" +output: "reduced" +name: "ReduceMin" +op_type: "ReduceMin" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nComputes the min of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +-- +input: "data" +output: "reduced" +name: "ReduceProd" +op_type: "ReduceProd" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nComputes the product of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +-- +input: "data" +output: "reduced" +name: "ReduceSum" +op_type: "ReduceSum" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nComputes the sum of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +-- +input: "data" +output: "reduced" +name: "ReduceSumSquare" +op_type: "ReduceSumSquare" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nComputes the sum square of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +-- +input: "X" +output: "Y" +name: "Relu" +op_type: "Relu" +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nRelu takes one input data (Tensor) and produces one output data\n(Tensor) where the rectified linear function, y = max(0, x), is applied to\nthe tensor elementwise.\n" +-- +input: "data" +input: "shape" +output: "reshaped" +name: "Reshape" +op_type: "Reshape" +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "shape-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nReshape the input tensor similar to numpy.reshape.\nFirst input is the data tensor, second input is a shape tensor which specifies the output shape. It outputs the reshaped tensor.\nAt most one dimension of the new shape can be -1. In this case, the value is\ninferred from the size of the tensor and the remaining dimensions. A dimension\ncould also be 0, in which case the actual dimension value is unchanged (i.e. taken\nfrom the input tensor)." +-- +input: "X" +input: "roi" +input: "scales" +input: "sizes" +output: "Y" +name: "Resize" +op_type: "Resize" +attribute { + name: "coordinate_transformation_mode" + s: "half_pixel" + type: STRING +} +attribute { + name: "cubic_coeff_a" + f: -0.75 + type: FLOAT +} +attribute { + name: "exclude_outside" + i: 0 + type: INT +} +attribute { + name: "extrapolation_value" + f: 0.0 + type: FLOAT +} +attribute { + name: "mode" + s: "nearest" + type: STRING +} +attribute { + name: "nearest_mode" + s: "round_prefer_floor" + type: STRING +} +attribute { + name: "X-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "roi-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "scales-types" + strings: "float" + type: STRINGS +} +attribute { + name: "sizes-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nResize the input tensor. In general, it calculates every value in the output tensor as a weighted average of neighborhood (a.k.a. sampling locations) in the input tensor.\nEach dimension value of the output tensor is:\n output_dimension = floor(input_dimension * (roi_end - roi_start) * scale) if input \\\"sizes\\\" is not specified.\n" +-- +input: "input" +input: "sequence_lens" +output: "Y" +name: "ReverseSequence" +op_type: "ReverseSequence" +attribute { + name: "batch_axis" + i: 1 + type: INT +} +attribute { + name: "time_axis" + i: 0 + type: INT +} +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "sequence_lens-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nReverse batch of sequences having different lengths specified by `sequence_lens`.\n\nFor each slice i iterating on batch axis, the operator reverses the first sequence_lens[i] elements on time axis,\nand copies elements whose index\'s beyond sequence_lens[i] to the output. So the output slice i contains reversed\nsequences on the first sequence_lens[i] elements, then have original values copied for the other elements.\n\nExample 1:\n input = [[0.0, 4.0, 8.0, 12.0],\n [1.0, 5.0, 9.0, 13.0],\n [2.0, 6.0, 10.0, 14.0],\n [3.0, 7.0, 11.0, 15.0]]\n sequence_lens = [4, 3, 2, 1]\n time_axis = 0\n batch_axis = 1\n\n output = [[3.0, 6.0, 9.0, 12.0],\n [2.0, 5.0, 8.0, 13.0],\n [1.0, 4.0, 10.0, 14.0],\n [0.0, 7.0, 11.0, 15.0]]\n\nExample 2:\n input = [[0.0, 1.0, 2.0, 3.0 ],\n [4.0, 5.0, 6.0, 7.0 ],\n [8.0, 9.0, 10.0, 11.0],\n [12.0, 13.0, 14.0, 15.0]]\n sequence_lens = [1, 2, 3, 4]\n time_axis = 1\n batch_axis = 0\n\n output = [[0.0, 1.0, 2.0, 3.0 ],\n [5.0, 4.0, 6.0, 7.0 ],\n [10.0, 9.0, 8.0, 11.0],\n [15.0, 14.0, 13.0, 12.0]]\n" +-- +input: "X" +input: "rois" +input: "batch_indices" +output: "Y" +name: "RoiAlign" +op_type: "RoiAlign" +attribute { + name: "mode" + s: "avg" + type: STRING +} +attribute { + name: "output_height" + i: 1 + type: INT +} +attribute { + name: "output_width" + i: 1 + type: INT +} +attribute { + name: "sampling_ratio" + i: 0 + type: INT +} +attribute { + name: "spatial_scale" + f: 1.0 + type: FLOAT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "rois-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "batch_indices-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nRegion of Interest (RoI) align operation described in the\n[Mask R-CNN paper](https://arxiv.org/abs/1703.06870).\nRoiAlign consumes an input tensor X and region of interests (rois)\nto apply pooling across each RoI; it produces a 4-D tensor of shape\n(num_rois, C, output_height, output_width).\n\nRoiAlign is proposed to avoid the misalignment by removing\nquantizations while converting from original image into feature\nmap and from feature map into RoI feature; in each ROI bin,\nthe value of the sampled locations are computed directly\nthrough bilinear interpolation.\n" +-- +input: "X" +output: "Y" +name: "Round" +op_type: "Round" +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nRound takes one input Tensor and rounds the values, element-wise, meaning\nit finds the nearest integer for each value.\nIn case of halfs, the rule is to round them to the nearest even integer.\nThe output tensor has the same shape and type as the input.\n\nExamples:\n```\nround([0.9]) = [1.0]\nround([2.5]) = [2.0]\nround([2.3]) = [2.0]\nround([1.5]) = [2.0]\nround([-4.5]) = [-4.0]\n```\n" +-- +input: "X" +output: "Y" +output: "Z" +name: "SVMClassifier" +op_type: "SVMClassifier" +attribute { + name: "classlabels_ints" + s: "" + type: INTS +} +attribute { + name: "classlabels_strings" + s: "" + type: STRINGS +} +attribute { + name: "coefficients" + s: "" + type: FLOATS +} +attribute { + name: "kernel_params" + s: "" + type: FLOATS +} +attribute { + name: "kernel_type" + s: "LINEAR" + type: STRING +} +attribute { + name: "post_transform" + s: "NONE" + type: STRING +} +attribute { + name: "prob_a" + s: "" + type: FLOATS +} +attribute { + name: "prob_b" + s: "" + type: FLOATS +} +attribute { + name: "rho" + s: "" + type: FLOATS +} +attribute { + name: "support_vectors" + s: "" + type: FLOATS +} +attribute { + name: "vectors_per_class" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "int32" + strings: "int64" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Support Vector Machine classifier\n" +-- +input: "X" +output: "Y" +name: "SVMRegressor" +op_type: "SVMRegressor" +attribute { + name: "coefficients" + s: "" + type: FLOATS +} +attribute { + name: "kernel_params" + s: "" + type: FLOATS +} +attribute { + name: "kernel_type" + s: "LINEAR" + type: STRING +} +attribute { + name: "n_supports" + i: 0 + type: INT +} +attribute { + name: "one_class" + i: 0 + type: INT +} +attribute { + name: "post_transform" + s: "NONE" + type: STRING +} +attribute { + name: "rho" + s: "" + type: FLOATS +} +attribute { + name: "support_vectors" + s: "" + type: FLOATS +} +attribute { + name: "X-types" + strings: "int32" + strings: "int64" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Support Vector Machine regression prediction and one-class SVM anomaly detection.\n" +-- +input: "X" +output: "Y" +name: "Scaler" +op_type: "Scaler" +attribute { + name: "offset" + s: "" + type: FLOATS +} +attribute { + name: "scale" + s: "" + type: FLOATS +} +attribute { + name: "X-types" + strings: "int32" + strings: "int64" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Rescale input data, for example to standardize features by removing the mean and scaling to unit variance.\n" +-- +input: "initial_state_and_scan_inputs" +output: "final_state_and_scan_outputs" +name: "Scan" +op_type: "Scan" +attribute { + name: "body" + s: "" + type: GRAPH +} +attribute { + name: "num_scan_inputs" + s: "" + type: INT +} +attribute { + name: "scan_input_axes" + s: "" + type: INTS +} +attribute { + name: "scan_input_directions" + s: "" + type: INTS +} +attribute { + name: "scan_output_axes" + s: "" + type: INTS +} +attribute { + name: "scan_output_directions" + s: "" + type: INTS +} +attribute { + name: "initial_state_and_scan_inputs-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nScan can be used to iterate over one or more scan_input tensors,\nconstructing zero or more scan_output tensors. It combines ideas from general recurrences,\nfunctional programming constructs such as scan, fold, map, and zip and is intended to enable\ngeneralizations of RNN-like constructs for sequence-to-sequence processing.\nOther tensors (referred to as state_variables here) can be used to carry a state\nwhen iterating from one element to another (similar to hidden-state in RNNs, also referred\nto as loop-carried dependences in the context of loops).\nMany common usages involve a single scan_input tensor (where functionality\nsimilar to scan, fold and map can be obtained). When more than one scan_input is used,\na behavior similar to zip is obtained.\n\nThe attribute body must be a graph, specifying the computation to be performed in\nevery iteration. It takes as input the current values of the state_variables and\nthe current iterated element of the scan_inputs. It must return the (updated) values\nof the state_variables and zero or more scan_output_element tensors. The values of the\nscan_output_element tensors are concatenated over all the iterations to produce the\nscan_output values of the scan construct (similar to the concatenated intermediate\nhidden-state values of RNN-like constructs). All the output tensors (state_variables as\nwell as scan_output_element tensors) are required to have the same shape in each iteration\nof the loop (a restriction imposed to enable efficient memory allocation).\n\nNote that the iterated element passed to the body subgraph does not have a sequence\naxis. It will have a rank one less than the rank of the corresponding scan_input.\n\nThe scan operation returns the final values of the state_variables as well as the\nscan_outputs.\n\nThe optional attribute scan_input_directions specifies the direction (forward or backward)\nfor each scan input. If this attribute is omitted, all sequences are scanned in the forward\ndirection. A bidirectional scan may be performed by specifying the same tensor input twice\nin the scan_inputs, once with a forward direction, and once with a backward direction.\n\nThe scan_output of the operation is produced by concatenating the scan_output_element\nvalues produced by the body in each iteration. The optional attribute scan_output_directions\nspecifies the direction in which scan_output is constructed (by appending or prepending the\nscan_output_element to scan_output in each iteration) for each scan_output. If this attribute\nis omitted, the scan_output_element is appended to the scan_output in each iteration.\n\nThe optional attribute scan_input_axes specifies the axis to be scanned for each scan_input.\nIf omitted, every scan_input will be scanned in axis 0. For example, if axis 0 is the\nbatch axis and axis 1 is the time axis (to be scanned), specify an axis value of 1.\nNote that scanning a non-zero axis may be less efficient than scanning axis zero.\n\nThe optional attribute scan_output_axes specifies the axis along which the scan_outputs\nare accumulated for each scan_output. For example, if axis 1 is the time axis (to be\nscanned) for both inputs and outputs, specify a scan_input axis and scan_output axis\nvalue of 1.\n\nNote that because of the ONNX restriction that only the last parameter of an operator can\nbe variadic, the initial-states and scan-inputs are listed together as one input parameter.\nSimilarly, the final-states and scan-outputs are listed together as one output parameter.\nThe attribute num_scan_inputs indicates the number M of scan-inputs.\n\nThe behavior of\n\n Scan <\n num_scan_inputs = m,\n body = loop-body,\n scan_input_axes = [axis_1, ..., axis_m]\n > (init_1, ..., init_n, scan_1, ..., scan_m)\n\nis equivalent to the following pseudo-code:\n\n // scan_i.shape[axis_i] denotes the (max) sequence-length of scan_i\n // scan_i.shape[axis_i] is required to be equal to scan_j.shape[axis_j] for all i,j.\n sequence_length = scan_1.shape[axis_1];\n\n // initialize state-variables\n st_1 = init_1; ... st_n = init_n;\n // initialize scan-output variables: [] denotes an empty tensor\n scan_out_1 = []; ...; scan_out_k = [];\n // identify number of iterations:\n\n // execute loop\n for (int t = 0; t < sequence_length; ++t) {\n // generate the scan-input elements: the notation T[t] indicates the sub-tensor\n // of rank one less than T obtained by indexing T at position t along axis k.\n si_1 = scan_1[t];\n ... ;\n si_m = scan_m[t];\n // execute loop-body\n st_1, ..., st_n, so_1, ..., so_k = loop-body(st_1, ..., st_n, si_1, ..., si_m)\n // accumulate the scan-output elements\n scan_out_1 = Concat(scan_out_1, so_1); ... ; scan_out_k = Concat(scan_out_k, so_k);\n }\n\n return st_1, ..., st_n, scan_out_1, ..., scan_out_k;\n\n*Sample usage: Encoding RNN using a Scan*\n\nThe following example shows how a simple RNN over an input tensor %X, with weight tensor %Wi,\nrecurrence weight tensor %Ri, bias tensors %Wbi and %Rbi, and initial hidden-state %H_0 can\nbe encoded as a ScanLoop. Note that the loop-body is a nested graph, and it directly computes\n%Wi, %Ri, %Wbi, and %Rbi (typically constants or initializers in the body graph). If these\nvalues are computed in the outer graph, they need to be passed in as extra state_variables.\n\n graph rnn-encoding {\n %H_0 = ... \n %X = ...\n %Y_h, %Y = Scan[body = , num_scan_inputs=1](%H_0, %X)\n return %Y, %Y_h\n }\n\n graph rnn-cell-1 (\n %H_tminus1[FLOAT, tensor]\n %X_t[FLOAT, tensor]\n ) {\n %Wi = ...\n %Ri = ...\n %Wbi = ...\n %Rbi = ...\n %t1 = X_t * (Wi^T)\n %t2 = H_tminus1*(Ri^T)\n %t3 = Add(%t1, %t2)\n %t4 = Add(%t3, %Wbi)\n %t5 = Add(%t4, %Rbi)\n %Ht = Tanh(%t5)\n %Accumulate = Identity(%Ht)\n return %Ht, %Accumulate\n }\n\n" +-- +input: "data" +input: "indices" +input: "updates" +output: "output" +name: "Scatter" +op_type: "Scatter" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "indices-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "updates-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nThis operator is deprecated. Please use ScatterElements, which provides the same functionality.\n\nScatter takes three inputs `data`, `updates`, and `indices` of the same\nrank r >= 1 and an optional attribute axis that identifies an axis of `data`\n(by default, the outer-most axis, that is axis 0). The output of the operation\nis produced by creating a copy of the input `data`, and then updating its value\nto values specified by `updates` at specific index positions specified by\n`indices`. Its output shape is the same as the shape of `data`.\n\nFor each entry in `updates`, the target index in `data` is obtained by combining\nthe corresponding entry in `indices` with the index of the entry itself: the\nindex-value for dimension = axis is obtained from the value of the corresponding\nentry in `indices` and the index-value for dimension != axis is obtained from the\nindex of the entry itself.\n\nFor instance, in a 2-D tensor case, the update corresponding to the [i][j] entry\nis performed as below:\n```\n output[indices[i][j]][j] = updates[i][j] if axis = 0, \n output[i][indices[i][j]] = updates[i][j] if axis = 1,\n```\n\nThis operator is the inverse of GatherElements. It is similar to Torch\'s Scatter operation.\n\nExample 1:\n```\n data = [\n [0.0, 0.0, 0.0],\n [0.0, 0.0, 0.0],\n [0.0, 0.0, 0.0],\n ]\n indices = [\n [1, 0, 2],\n [0, 2, 1],\n ]\n updates = [\n [1.0, 1.1, 1.2],\n [2.0, 2.1, 2.2],\n ]\n output = [\n [2.0, 1.1, 0.0]\n [1.0, 0.0, 2.2]\n [0.0, 2.1, 1.2]\n ]\n```\nExample 2:\n```\n data = [[1.0, 2.0, 3.0, 4.0, 5.0]]\n indices = [[1, 3]]\n updates = [[1.1, 2.1]]\n axis = 1\n output = [[1.0, 1.1, 3.0, 2.1, 5.0]]\n```\n" +-- +input: "data" +input: "indices" +input: "updates" +output: "output" +name: "ScatterElements" +op_type: "ScatterElements" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "indices-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "updates-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nScatterElements takes three inputs `data`, `updates`, and `indices` of the same\nrank r >= 1 and an optional attribute axis that identifies an axis of `data`\n(by default, the outer-most axis, that is axis 0). The output of the operation\nis produced by creating a copy of the input `data`, and then updating its value\nto values specified by `updates` at specific index positions specified by\n`indices`. Its output shape is the same as the shape of `data`.\n\nFor each entry in `updates`, the target index in `data` is obtained by combining\nthe corresponding entry in `indices` with the index of the entry itself: the\nindex-value for dimension = axis is obtained from the value of the corresponding\nentry in `indices` and the index-value for dimension != axis is obtained from the\nindex of the entry itself.\n\nFor instance, in a 2-D tensor case, the update corresponding to the [i][j] entry\nis performed as below:\n```\n output[indices[i][j]][j] = updates[i][j] if axis = 0, \n output[i][indices[i][j]] = updates[i][j] if axis = 1,\n```\n\nThis operator is the inverse of GatherElements. It is similar to Torch\'s Scatter operation.\n\nExample 1:\n```\n data = [\n [0.0, 0.0, 0.0],\n [0.0, 0.0, 0.0],\n [0.0, 0.0, 0.0],\n ]\n indices = [\n [1, 0, 2],\n [0, 2, 1],\n ]\n updates = [\n [1.0, 1.1, 1.2],\n [2.0, 2.1, 2.2],\n ]\n output = [\n [2.0, 1.1, 0.0]\n [1.0, 0.0, 2.2]\n [0.0, 2.1, 1.2]\n ]\n```\nExample 2:\n```\n data = [[1.0, 2.0, 3.0, 4.0, 5.0]]\n indices = [[1, 3]]\n updates = [[1.1, 2.1]]\n axis = 1\n output = [[1.0, 1.1, 3.0, 2.1, 5.0]]\n```\n" +-- +input: "data" +input: "indices" +input: "updates" +output: "output" +name: "ScatterND" +op_type: "ScatterND" +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "indices-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "updates-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nScatterND takes three inputs `data` tensor of rank r >= 1, `indices` tensor of rank q >= 1,\nand `updates` tensor of rank q + r - indices.shape[-1] - 1. The output of the operation\nis produced by creating a copy of the input `data`, and then updating its value to values\nspecified by `updates` at specific index positions specified by `indices`. Its output shape\nis the same as the shape of `data`. Note that `indices` should not have duplicate entries.\nThat is, two or more `updates` for the same index-location is not supported.\n\n`indices` is an integer tensor. Let k denote indices.shape[-1], the last dimension in the shape of `indices`.\n `indices` is treated as a (q-1)-dimensional tensor of k-tuples, where each k-tuple is a partial-index into `data`.\nHence, k can be a value at most the rank of `data`. When k equals rank(data), each update entry specifies an\nupdate to a single element of the tensor. When k is less than rank(data) each update entry specifies an\nupdate to a slice of the tensor.\n\n`updates` is treated as a (q-1)-dimensional tensor of replacement-slice-values. Thus, the\nfirst (q-1) dimensions of updates.shape must match the first (q-1) dimensions of indices.shape.\nThe remaining dimensions of `updates` correspond to the dimensions of the\nreplacement-slice-values. Each replacement-slice-value is a (r-k) dimensional tensor,\ncorresponding to the trailing (r-k) dimensions of `data`. Thus, the shape of `updates`\nmust equal indices.shape[0:q-1] ++ data.shape[k:r-1], where ++ denotes the concatenation\nof shapes.\n\nThe `output` is calculated via the following equation:\n\n output = np.copy(data)\n update_indices = indices.shape[:-1]\n for idx in np.ndindex(update_indices):\n output[indices[idx]] = updates[idx]\n\nThe order of iteration in the above loop is not specified.\nIn particular, indices should not have duplicate entries: that is, if idx1 != idx2, then indices[idx1] != indices[idx2].\nThis ensures that the output value does not depend on the iteration order.\n\nThis operator is the inverse of GatherND.\n\nExample 1:\n```\n data = [1, 2, 3, 4, 5, 6, 7, 8]\n indices = [[4], [3], [1], [7]]\n updates = [9, 10, 11, 12]\n output = [1, 11, 3, 10, 9, 6, 7, 12]\n```\n\nExample 2:\n```\n data = [[[1, 2, 3, 4], [5, 6, 7, 8], [8, 7, 6, 5], [4, 3, 2, 1]],\n [[1, 2, 3, 4], [5, 6, 7, 8], [8, 7, 6, 5], [4, 3, 2, 1]],\n [[8, 7, 6, 5], [4, 3, 2, 1], [1, 2, 3, 4], [5, 6, 7, 8]],\n [[8, 7, 6, 5], [4, 3, 2, 1], [1, 2, 3, 4], [5, 6, 7, 8]]]\n indices = [[0], [2]]\n updates = [[[5, 5, 5, 5], [6, 6, 6, 6], [7, 7, 7, 7], [8, 8, 8, 8]],\n [[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3], [4, 4, 4, 4]]]\n output = [[[5, 5, 5, 5], [6, 6, 6, 6], [7, 7, 7, 7], [8, 8, 8, 8]],\n [[1, 2, 3, 4], [5, 6, 7, 8], [8, 7, 6, 5], [4, 3, 2, 1]],\n [[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3], [4, 4, 4, 4]],\n [[8, 7, 6, 5], [4, 3, 2, 1], [1, 2, 3, 4], [5, 6, 7, 8]]]\n```\n" +-- +input: "X" +output: "Y" +name: "Selu" +op_type: "Selu" +attribute { + name: "alpha" + f: 1.6732632 + type: FLOAT +} +attribute { + name: "gamma" + f: 1.050701 + type: FLOAT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nSelu takes one input data (Tensor) and produces one output data\n(Tensor) where the scaled exponential linear unit function,\n`y = gamma * (alpha * e^x - alpha) for x <= 0`, `y = gamma * x for x > 0`,\nis applied to the tensor elementwise.\n" +-- +input: "input_sequence" +input: "position" +output: "tensor" +name: "SequenceAt" +op_type: "SequenceAt" +attribute { + name: "input_sequence-types" + strings: "seq(float" + strings: "seq(uint32" + strings: "seq(string" + strings: "seq(int64" + strings: "seq(double" + strings: "seq(int8" + strings: "seq(float16" + strings: "seq(bool" + strings: "seq(complex128" + strings: "seq(uint64" + strings: "seq(int16" + strings: "seq(int32" + strings: "seq(uint16" + strings: "seq(complex64" + strings: "seq(uint8" + type: STRINGS +} +attribute { + name: "position-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nOutputs a tensor copy from the tensor at \'position\' in \'input_sequence\'.\nAccepted range for \'position\' is in `[-n, n - 1]`, where `n` is the number of tensors in \'input_sequence\'.\nNegative value means counting positions from the back.\n" +-- +input: "inputs" +output: "output_sequence" +name: "SequenceConstruct" +op_type: "SequenceConstruct" +attribute { + name: "inputs-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nConstruct a tensor sequence containing \'inputs\' tensors.\nAll tensors in \'inputs\' must have the same data type.\n" +-- +output: "output" +name: "SequenceEmpty" +op_type: "SequenceEmpty" +attribute { + name: "dtype" + s: "" + type: INT +} +doc_string: "\nConstruct an empty tensor sequence, with given data type.\n" +-- +input: "input_sequence" +input: "position" +output: "output_sequence" +name: "SequenceErase" +op_type: "SequenceErase" +attribute { + name: "input_sequence-types" + strings: "seq(float" + strings: "seq(uint32" + strings: "seq(string" + strings: "seq(int64" + strings: "seq(double" + strings: "seq(int8" + strings: "seq(float16" + strings: "seq(bool" + strings: "seq(complex128" + strings: "seq(uint64" + strings: "seq(int16" + strings: "seq(int32" + strings: "seq(uint16" + strings: "seq(complex64" + strings: "seq(uint8" + type: STRINGS +} +attribute { + name: "position-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nOutputs a tensor sequence that removes the tensor at \'position\' from \'input_sequence\'.\nAccepted range for \'position\' is in `[-n, n - 1]`, where `n` is the number of tensors in \'input_sequence\'.\nNegative value means counting positions from the back.\n\'position\' is optional, by default it erases the last tensor from \'input_sequence\'.\n" +-- +input: "input_sequence" +input: "tensor" +input: "position" +output: "output_sequence" +name: "SequenceInsert" +op_type: "SequenceInsert" +attribute { + name: "input_sequence-types" + strings: "seq(float" + strings: "seq(uint32" + strings: "seq(string" + strings: "seq(int64" + strings: "seq(double" + strings: "seq(int8" + strings: "seq(float16" + strings: "seq(bool" + strings: "seq(complex128" + strings: "seq(uint64" + strings: "seq(int16" + strings: "seq(int32" + strings: "seq(uint16" + strings: "seq(complex64" + strings: "seq(uint8" + type: STRINGS +} +attribute { + name: "tensor-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "position-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nOutputs a tensor sequence that inserts \'tensor\' into \'input_sequence\' at \'position\'.\n\'tensor\' must have the same data type as \'input_sequence\'.\nAccepted range for \'position\' is in `[-n, n]`, where `n` is the number of tensors in \'input_sequence\'.\nNegative value means counting positions from the back.\n\'position\' is optional, by default it inserts \'tensor\' to the back of \'input_sequence\'.\n" +-- +input: "input_sequence" +output: "length" +name: "SequenceLength" +op_type: "SequenceLength" +attribute { + name: "input_sequence-types" + strings: "seq(float" + strings: "seq(uint32" + strings: "seq(string" + strings: "seq(int64" + strings: "seq(double" + strings: "seq(int8" + strings: "seq(float16" + strings: "seq(bool" + strings: "seq(complex128" + strings: "seq(uint64" + strings: "seq(int16" + strings: "seq(int32" + strings: "seq(uint16" + strings: "seq(complex64" + strings: "seq(uint8" + type: STRINGS +} +doc_string: "\nProduces a scalar(tensor of empty shape) containing the number of tensors in \'input_sequence\'.\n" +-- +input: "data" +output: "shape" +name: "Shape" +op_type: "Shape" +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nTakes a tensor as input and outputs an 1D int64 tensor containing the shape of the input tensor.\n" +-- +input: "input" +output: "output" +name: "Shrink" +op_type: "Shrink" +attribute { + name: "bias" + f: 0.0 + type: FLOAT +} +attribute { + name: "lambd" + f: 0.5 + type: FLOAT +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nShrink takes one input data (Tensor) and produces one Tensor output,\nhaving same datatype and shape with input. It has two attributes, lambd and\nbias. The formula of this operator is: If x < -lambd, y = x + bias;\nIf x > lambd, y = x - bias; Otherwise, y = 0.\n" +-- +input: "X" +output: "Y" +name: "Sigmoid" +op_type: "Sigmoid" +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nSigmoid takes one input data (Tensor) and produces one output data\n(Tensor) where the sigmoid function, y = 1 / (1 + exp(-x)), is applied to the\ntensor elementwise.\n" +-- +input: "input" +output: "output" +name: "Sign" +op_type: "Sign" +attribute { + name: "input-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nCalculate the sign of the given input tensor element-wise.\nIf input > 0, output 1. if input < 0, output -1. if input == 0, output 0.\n" +-- +input: "input" +output: "output" +name: "Sin" +op_type: "Sin" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the sine of the given input tensor, element-wise.\n" +-- +input: "input" +output: "output" +name: "Sinh" +op_type: "Sinh" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the hyperbolic sine of the given input tensor element-wise.\n" +-- +input: "data" +output: "size" +name: "Size" +op_type: "Size" +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nTakes a tensor as input and outputs a int64 scalar that equals to the total number of elements of the input tensor.\n" +-- +input: "data" +input: "starts" +input: "ends" +input: "axes" +input: "steps" +output: "output" +name: "Slice" +op_type: "Slice" +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "starts-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "ends-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "axes-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "steps-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nProduces a slice of the input tensor along multiple axes. Similar to numpy:\nhttps://docs.scipy.org/doc/numpy/reference/arrays.indexing.html\nSlices uses `starts`, `ends`, `axes` and `steps` inputs to specify the start and end\ndimension and step for each axis in the list of axes, it uses this information to\nslice the input `data` tensor. If a negative value is passed for any of the\nstart or end indices, it represents number of elements before the end of that\ndimension. If the value passed to start or end is larger than the `n` (the\nnumber of elements in this dimension), it represents `n`. For slicing to the\nend of a dimension with unknown size, it is recommended to pass in `INT_MAX` \nwhen sclicing forward and \'INT_MIN\' when slicing backward.\nIf a negative value is passed for step, it represents slicing backward. \nHowever step value cannot be 0.\nIf `axes` are omitted, they are set to `[0, ..., ndim-1]`.\nIf `steps` are omitted, they are set to `[1, ..., 1]` of length `len(starts)`\nExample 1:\n data = [\n [1, 2, 3, 4],\n [5, 6, 7, 8],\n ]\n axes = [0, 1]\n starts = [1, 0]\n ends = [2, 3]\n steps = [1, 2]\n result = [\n [5, 7],\n ]\nExample 2:\n data = [\n [1, 2, 3, 4],\n [5, 6, 7, 8],\n ]\n starts = [0, 1]\n ends = [-1, 1000]\n result = [\n [2, 3, 4],\n ]\n" +-- +input: "input" +output: "output" +name: "Softmax" +op_type: "Softmax" +attribute { + name: "axis" + i: 1 + type: INT +} +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nThe operator computes the softmax (normalized exponential) values for each layer in the batch\n of the given input.\n\nThe input does not need to explicitly be a 2D vector; rather, it will be\ncoerced into one. For an arbitrary n-dimensional tensor\ninput \\in [a_0, a_1, ..., a_{k-1}, a_k, ..., a_{n-1}] and k is\nthe axis provided, then input will be coerced into a 2-dimensional tensor with\ndimensions [a_0 * ... * a_{k-1}, a_k * ... * a_{n-1}]. For the default\ncase where axis=1, this means the input tensor will be coerced into a 2D tensor\nof dimensions [a_0, a_1 * ... * a_{n-1}], where a_0 is often the batch size.\nIn this situation, we must have a_0 = N and a_1 * ... * a_{n-1} = D.\nEach of these dimensions must be matched correctly, or else the operator\nwill throw errors. The output tensor has the same shape\nand contains the softmax values of the corresponding input.\n" +-- +input: "scores" +input: "labels" +input: "weights" +output: "output" +output: "log_prob" +name: "SoftmaxCrossEntropyLoss" +op_type: "SoftmaxCrossEntropyLoss" +attribute { + name: "ignore_index" + s: "" + type: INT +} +attribute { + name: "reduction" + s: "mean" + type: STRING +} +attribute { + name: "scores-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "labels-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "weights-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "Loss function that measures the softmax cross entropy\nbetween \'scores\' and \'labels\'.\nThis operator first computes a loss tensor whose shape is identical to the labels input.\nIf the input is 2-D with shape (N, C), the loss tensor may be a N-element vector L = (l_1, l_2, ..., l_N).\nIf the input is N-D tensor with shape (N, C, D1, D2, ..., Dk),\nthe loss tensor L may have (N, D1, D2, ..., Dk) as its shape and L[i,][j_1][j_2]...[j_k] denotes a scalar element in L.\nAfter L is available, this operator can optionally do a reduction operator.\n\nshape(scores): (N, C) where C is the number of classes, or (N, C, D1, D2,..., Dk),\n with K >= 1 in case of K-dimensional loss.\nshape(labels): (N) where each value is 0 <= labels[i] <= C-1, or (N, D1, D2,..., Dk),\n with K >= 1 in case of K-dimensional loss.\n\nThe loss for one sample, l_i, can caculated as follows:\n l[i][d1][d2]...[dk] = -y[i][c][d1][d2]..[dk], where i is the index of classes.\nor\n l[i][d1][d2]...[dk] = -y[i][c][d1][d2]..[dk] * weights[c], if \'weights\' is provided.\n\nloss is zero for the case when label-value equals ignore_index.\n l[i][d1][d2]...[dk] = 0, when labels[n][d1][d2]...[dk] = ignore_index\n\nwhere:\n p = Softmax(scores)\n y = Log(p)\n c = labels[i][d1][d2]...[dk]\n\nFinally, L is optionally reduced:\nIf reduction = \'none\', the output is L with shape (N, D1, D2, ..., Dk).\nIf reduction = \'sum\', the output is scalar: Sum(L).\nIf reduction = \'mean\', the output is scalar: ReduceMean(L), or if weight is provided: ReduceSum(L) / ReduceSum(W),\nwhere tensor W is of shape (N, D1, D2, ..., Dk) and W[n][d1][d2]...[dk] = weights[labels[i][d1][d2]...[dk]].\n" +-- +input: "X" +output: "Y" +name: "Softplus" +op_type: "Softplus" +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nSoftplus takes one input data (Tensor) and produces one output data\n(Tensor) where the softplus function, y = ln(exp(x) + 1), is applied to\nthe tensor elementwise.\n" +-- +input: "input" +output: "output" +name: "Softsign" +op_type: "Softsign" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the softsign (x/(1+|x|)) of the given input tensor element-wise.\n" +-- +input: "input" +output: "output" +name: "SpaceToDepth" +op_type: "SpaceToDepth" +attribute { + name: "blocksize" + s: "" + type: INT +} +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "SpaceToDepth rearranges blocks of spatial data into depth. More specifically,\nthis op outputs a copy of the input tensor where values from the height and width dimensions\nare moved to the depth dimension.\n" +-- +input: "input" +output: "outputs" +name: "Split" +op_type: "Split" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "split" + s: "" + type: INTS +} +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "Split a tensor into a list of tensors, along the specified\n\'axis\'. Lengths of the parts can be specified using argument \'split\'.\nOtherwise, the tensor is split to equal sized parts.\n" +-- +input: "input" +input: "split" +output: "output_sequence" +name: "SplitToSequence" +op_type: "SplitToSequence" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "split-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "Split a tensor into a sequence of tensors, along the specified\n\'axis\'. Lengths of the parts can be specified using argument \'split\'.\n\'split\' must contain only positive numbers.\n\'split\' is either a scalar (tensor of empty shape), or a 1-D tensor.\nIf \'split\' is a scalar, then \'input\' will be split into equally sized chunks(if possible).\nLast chunk will be smaller if the \'input\' size along the given axis \'axis\' is not divisible\nby \'split\'.\nOtherwise, the tensor is split into \'size(split)\' chunks, with lengths of the parts on \'axis\'\nspecified in \'split\'. In this scenario, the sum of entries in \'split\' must be equal to the\ndimension size of input tensor on \'axis\'.\n" +-- +input: "X" +output: "Y" +name: "Sqrt" +op_type: "Sqrt" +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nSquare root takes one input data (Tensor) and produces one output data\n(Tensor) where the square root is, y = x^0.5, is applied to\nthe tensor elementwise. If x is negative, then it will return NaN.\n" +-- +input: "data" +output: "squeezed" +name: "Squeeze" +op_type: "Squeeze" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nRemove single-dimensional entries from the shape of a tensor.\nTakes a parameter `axes` with a list of axes to squeeze.\nIf `axes` is not provided, all the single dimensions will be removed from\nthe shape. If an axis is selected with shape entry not equal to one, an error is raised.\n" +-- +input: "X" +output: "Y" +name: "StringNormalizer" +op_type: "StringNormalizer" +attribute { + name: "case_change_action" + s: "NONE" + type: STRING +} +attribute { + name: "is_case_sensitive" + i: 0 + type: INT +} +attribute { + name: "locale" + s: "" + type: STRING +} +attribute { + name: "stopwords" + s: "" + type: STRINGS +} +attribute { + name: "X-types" + strings: "string" + type: STRINGS +} +doc_string: "\nStringNormalization performs string operations for basic cleaning.\nThis operator has only one input (denoted by X) and only one output\n(denoted by Y). This operator first examines the elements in the X,\nand removes elements specified in \"stopwords\" attribute.\nAfter removing stop words, the intermediate result can be further lowercased,\nuppercased, or just returned depending the \"case_change_action\" attribute.\nThis operator only accepts [C]- and [1, C]-tensor.\nIf all elements in X are dropped, the output will be the empty value of string tensor with shape [1]\nif input shape is [C] and shape [1, 1] if input shape is [1, C].\n" +-- +input: "A" +input: "B" +output: "C" +name: "Sub" +op_type: "Sub" +attribute { + name: "A-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +attribute { + name: "B-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nPerforms element-wise binary subtraction (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "data_0" +output: "sum" +name: "Sum" +op_type: "Sum" +attribute { + name: "data_0-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nElement-wise sum of each of the input tensors (with Numpy-style broadcasting support).\nAll inputs and outputs must have the same data type.\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "input" +output: "output" +name: "Tan" +op_type: "Tan" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the tangent of the given input tensor, element-wise.\n" +-- +input: "input" +output: "output" +name: "Tanh" +op_type: "Tanh" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the hyperbolic tangent of the given input tensor element-wise.\n" +-- +input: "X" +output: "Y" +name: "TfIdfVectorizer" +op_type: "TfIdfVectorizer" +attribute { + name: "max_gram_length" + s: "" + type: INT +} +attribute { + name: "max_skip_count" + s: "" + type: INT +} +attribute { + name: "min_gram_length" + s: "" + type: INT +} +attribute { + name: "mode" + s: "" + type: STRING +} +attribute { + name: "ngram_counts" + s: "" + type: INTS +} +attribute { + name: "ngram_indexes" + s: "" + type: INTS +} +attribute { + name: "pool_int64s" + s: "" + type: INTS +} +attribute { + name: "pool_strings" + s: "" + type: STRINGS +} +attribute { + name: "weights" + s: "" + type: FLOATS +} +attribute { + name: "X-types" + strings: "int32" + strings: "int64" + strings: "string" + type: STRINGS +} +doc_string: "\nThis transform extracts n-grams from the input sequence and save them as a vector. Input can\nbe either a 1-D or 2-D tensor. For 1-D input, output is the n-gram representation of that input.\nFor 2-D input, the output is also a 2-D tensor whose i-th row is the n-gram representation of the i-th input row.\nMore specifically, if input shape is [C], the corresponding output shape would be [max(ngram_indexes) + 1].\nIf input shape is [N, C], this operator produces a [N, max(ngram_indexes) + 1]-tensor.\n\nIn contrast to standard n-gram extraction, here, the indexes of extracting an n-gram from the original\nsequence are not necessarily consecutive numbers. The discontinuity between indexes are controlled by the number of skips.\nIf the number of skips is 2, we should skip two tokens when scanning through the original sequence.\nLet\'s consider an example. Assume that input sequence is [94, 17, 36, 12, 28] and the number of skips is 2.\nThe associated 2-grams are [94, 12] and [17, 28] respectively indexed by [0, 3] and [1, 4].\nIf the number of skips becomes 0, the 2-grams generated are [94, 17], [17, 36], [36, 12], [12, 28]\nindexed by [0, 1], [1, 2], [2, 3], [3, 4], respectively.\n\nThe output vector (denoted by Y) stores the count of each n-gram;\nY[ngram_indexes[i]] indicates the times that the i-th n-gram is found. The attribute ngram_indexes is used to determine the mapping\nbetween index i and the corresponding n-gram\'s output coordinate. If pool_int64s is [94, 17, 17, 36], ngram_indexes is [1, 0],\nngram_counts=[0, 0], then the Y[0] (first element in Y) and Y[1] (second element in Y) are the counts of [17, 36] and [94, 17],\nrespectively. An n-gram which cannot be found in pool_strings/pool_int64s should be ignored and has no effect on the output.\nNote that we may consider all skips up to S when generating the n-grams.\n\nThe examples used above are true if mode is \"TF\". If mode is \"IDF\", all the counts larger than 1 would be truncated to 1 and\nthe i-th element in weights would be used to scale (by multiplication) the count of the i-th n-gram in pool. If mode is \"TFIDF\",\nthis operator first computes the counts of all n-grams and then scale them by the associated values in the weights attribute.\n\nOnly one of pool_strings and pool_int64s can be set. If pool_int64s is set, the input should be an integer tensor.\nIf pool_strings is set, the input must be a string tensor.\n" +-- +input: "X" +output: "Y" +name: "ThresholdedRelu" +op_type: "ThresholdedRelu" +attribute { + name: "alpha" + f: 1.0 + type: FLOAT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nThresholdedRelu takes one input data (Tensor) and produces one output data\n(Tensor) where the rectified linear function, y = x for x > alpha, y = 0 otherwise,\nis applied to the tensor elementwise.\n" +-- +input: "input" +input: "repeats" +output: "output" +name: "Tile" +op_type: "Tile" +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "repeats-types" + strings: "int64" + type: STRINGS +} +doc_string: "Constructs a tensor by tiling a given tensor.\nThis is the same as function `tile` in Numpy, but no broadcast.\nFor example A = [[1, 2], [3, 4]], B = [1, 2], tile(A, B) = [[1, 2, 1, 2], [3, 4, 3, 4]]\n" +-- +input: "X" +input: "K" +output: "Values" +output: "Indices" +name: "TopK" +op_type: "TopK" +attribute { + name: "axis" + i: -1 + type: INT +} +attribute { + name: "largest" + i: 1 + type: INT +} +attribute { + name: "sorted" + i: 1 + type: INT +} +attribute { + name: "X-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "K-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nRetrieve the top-K largest or smallest elements along a specified axis. Given an input tensor of\nshape [a_1, a_2, ..., a_n, r] and integer argument k, return two outputs:\n -Value tensor of shape [a_1, a_2, ..., a_{axis-1}, k, a_{axis+1}, ... a_n]\n which contains the values of the top k elements along the specified axis\n -Index tensor of shape [a_1, a_2, ..., a_{axis-1}, k, a_{axis+1}, ... a_n] which\n contains the indices of the top k elements (original indices from the input\n tensor).\n\nIf \"largest\" is 1 (the default value) then the k largest elements are returned.\nIf \"sorted\" is 1 (the default value) then the resulting k elements will be sorted.\nIf \"sorted\" is 0, order of returned \'Values\' and \'Indices\' are undefined.\n\nGiven two equivalent values, this operator uses the indices along the axis as\n a tiebreaker. That is, the element with the lower index will appear first.\n" +-- +input: "data" +output: "transposed" +name: "Transpose" +op_type: "Transpose" +attribute { + name: "perm" + s: "" + type: INTS +} +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nTranspose the input tensor similar to numpy.transpose. For example, when\nperm=(1, 0, 2), given an input tensor of shape (1, 2, 3), the output shape\nwill be (2, 1, 3).\n" +-- +input: "X" +output: "Y" +output: "Z" +name: "TreeEnsembleClassifier" +op_type: "TreeEnsembleClassifier" +attribute { + name: "base_values" + s: "" + type: FLOATS +} +attribute { + name: "class_ids" + s: "" + type: INTS +} +attribute { + name: "class_nodeids" + s: "" + type: INTS +} +attribute { + name: "class_treeids" + s: "" + type: INTS +} +attribute { + name: "class_weights" + s: "" + type: FLOATS +} +attribute { + name: "classlabels_int64s" + s: "" + type: INTS +} +attribute { + name: "classlabels_strings" + s: "" + type: STRINGS +} +attribute { + name: "nodes_falsenodeids" + s: "" + type: INTS +} +attribute { + name: "nodes_featureids" + s: "" + type: INTS +} +attribute { + name: "nodes_hitrates" + s: "" + type: FLOATS +} +attribute { + name: "nodes_missing_value_tracks_true" + s: "" + type: INTS +} +attribute { + name: "nodes_modes" + s: "" + type: STRINGS +} +attribute { + name: "nodes_nodeids" + s: "" + type: INTS +} +attribute { + name: "nodes_treeids" + s: "" + type: INTS +} +attribute { + name: "nodes_truenodeids" + s: "" + type: INTS +} +attribute { + name: "nodes_values" + s: "" + type: FLOATS +} +attribute { + name: "post_transform" + s: "NONE" + type: STRING +} +attribute { + name: "X-types" + strings: "int32" + strings: "int64" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Tree Ensemble classifier. Returns the top class for each of N inputs.
        \n The attributes named \'nodes_X\' form a sequence of tuples, associated by \n index into the sequences, which must all be of equal length. These tuples\n define the nodes.
        \n Similarly, all fields prefixed with \'class_\' are tuples of votes at the leaves.\n A leaf may have multiple votes, where each vote is weighted by\n the associated class_weights index.
        \n One and only one of classlabels_strings or classlabels_int64s\n will be defined. The class_ids are indices into this list.\n" +-- +input: "X" +output: "Y" +name: "TreeEnsembleRegressor" +op_type: "TreeEnsembleRegressor" +attribute { + name: "aggregate_function" + s: "SUM" + type: STRING +} +attribute { + name: "base_values" + s: "" + type: FLOATS +} +attribute { + name: "n_targets" + s: "" + type: INT +} +attribute { + name: "nodes_falsenodeids" + s: "" + type: INTS +} +attribute { + name: "nodes_featureids" + s: "" + type: INTS +} +attribute { + name: "nodes_hitrates" + s: "" + type: FLOATS +} +attribute { + name: "nodes_missing_value_tracks_true" + s: "" + type: INTS +} +attribute { + name: "nodes_modes" + s: "" + type: STRINGS +} +attribute { + name: "nodes_nodeids" + s: "" + type: INTS +} +attribute { + name: "nodes_treeids" + s: "" + type: INTS +} +attribute { + name: "nodes_truenodeids" + s: "" + type: INTS +} +attribute { + name: "nodes_values" + s: "" + type: FLOATS +} +attribute { + name: "post_transform" + s: "NONE" + type: STRING +} +attribute { + name: "target_ids" + s: "" + type: INTS +} +attribute { + name: "target_nodeids" + s: "" + type: INTS +} +attribute { + name: "target_treeids" + s: "" + type: INTS +} +attribute { + name: "target_weights" + s: "" + type: FLOATS +} +attribute { + name: "X-types" + strings: "int32" + strings: "int64" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Tree Ensemble regressor. Returns the regressed values for each input in N.
        \n All args with nodes_ are fields of a tuple of tree nodes, and\n it is assumed they are the same length, and an index i will decode the\n tuple across these inputs. Each node id can appear only once\n for each tree id.
        \n All fields prefixed with target_ are tuples of votes at the leaves.
        \n A leaf may have multiple votes, where each vote is weighted by\n the associated target_weights index.
        \n All trees must have their node ids start at 0 and increment by 1.
        \n Mode enum is BRANCH_LEQ, BRANCH_LT, BRANCH_GTE, BRANCH_GT, BRANCH_EQ, BRANCH_NEQ, LEAF\n" +-- +input: "X" +output: "Y" +output: "indices" +output: "inverse_indices" +output: "counts" +name: "Unique" +op_type: "Unique" +attribute { + name: "axis" + s: "" + type: INT +} +attribute { + name: "sorted" + i: 1 + type: INT +} +attribute { + name: "X-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nFind the unique elements of a tensor. When an optional attribute \'axis\' is provided, unique subtensors sliced along the \'axis\' are returned. \nOtherwise the input tensor is flattened and unique values of the flattened tensor are returned. \n\nThis operator returns the unique values or sliced unique subtensors of the input tensor and three optional outputs. \nThe first output tensor \'Y\' contains all unique values or subtensors of the input. \nThe second optional output tensor \'indices\' contains indices of \'Y\' elements\' first occurance in \'X\'.. \nThe third optional output tensor \'inverse_indices\' contains, for elements of \'X\', its corresponding indices in \'Y\'. \". \nThe fourth optional output tensor \'counts\' contains the count of each element of \'Y\' in the input. \n\nOutputs are either sorted in ascending order or optionally in the order of the first occurrence of the values in the input. \n\nhttps://docs.scipy.org/doc/numpy/reference/generated/numpy.unique.html\n\nExample 1:\n input_X = [2, 1, 1, 3, 4, 3]\n attribute_sorted = 0\n attribute_axis = None\n output_Y = [2, 1, 3, 4]\n output_indices = [0, 1, 3, 4]\n output_inverse_indices = [0, 1, 1, 2, 3, 2]\n output_counts = [1, 2, 2, 1]\n\nExample 2:\n input_X = [[1, 3], [2, 3]]\n attribute_sorted = 1\n attribute_axis = None\n output_Y = [1, 2, 3]\n output_indices = [0, 2, 1]\n output_inverse_indices = [0, 2, 1, 2]\n output_counts = [1, 1, 2]\n\nExample 3:\n input_X = [[1, 0, 0], [1, 0, 0], [2, 3, 4]]\n attribute_sorted = 1\n attribute_axis = 0\n output_Y = [[1, 0, 0], [2, 3, 4]]\n output_indices = [0, 2]\n output_inverse_indices = [0, 0, 1]\n output_counts = [2, 1]\n\nExample 4:\n input_x = [[[1., 1.], [0., 1.], [2., 1.], [0., 1.]], \n [[1., 1.], [0., 1.], [2., 1.], [0., 1.]]]\n attribute_sorted = 1\n attribute_axis = 1\n\n intermediate data are presented below for better understanding: \n \n there are 4 subtensors sliced along axis 1 of input_x (shape = (2, 4, 2)):\n A: [[1, 1], [1, 1]], \n [[0, 1], [0, 1]], \n [[2, 1], [2, 1]], \n [[0, 1], [0, 1]].\n \n there are 3 unique subtensors: \n [[1, 1], [1, 1]], \n [[0, 1], [0, 1]], \n [[2, 1], [2, 1]].\n \n sorted unique subtensors:\n B: [[0, 1], [0, 1]], \n [[1, 1], [1, 1]], \n [[2, 1], [2, 1]].\n \n output_Y is constructed from B:\n [[[0. 1.], [1. 1.], [2. 1.]], \n [[0. 1.], [1. 1.], [2. 1.]]]\n\n output_indices is to map from B to A:\n [1, 0, 2]\n \n output_inverse_indices is to map from A to B:\n [1, 0, 2, 0]\n\n output_counts = [2 1 1]\n" +-- +input: "data" +output: "expanded" +name: "Unsqueeze" +op_type: "Unsqueeze" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nInsert single-dimensional entries to the shape of an input tensor (`data`).\nTakes one required argument `axes` - which contains a list of dimension indices and this operator will insert a dimension of value `1` into the corresponding index of the output tensor (`expanded`).\n\nFor example:\n Given an input tensor (`data`) of shape [3, 4, 5], then\n Unsqueeze(data, axes=[0, 4]) outputs a tensor (`expanded`) containing same data as `data` but with shape [1, 3, 4, 5, 1].\n\nThe attribute `axes` should not contain any duplicate entries. It is an error if it contains duplicates.\nThe rank of the output tensor (`output_rank`) is the rank of the input tensor (`data`) plus the number of values in `axes`.\nEach value in `axes` should be within the (inclusive) range [-output_rank , output_rank - 1]. \nThe order of values in `axes` does not matter and can come in any order. \n\n" +-- +input: "X" +input: "scales" +output: "Y" +name: "Upsample" +op_type: "Upsample" +attribute { + name: "mode" + s: "nearest" + type: STRING +} +attribute { + name: "X-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "scales-types" + strings: "float" + type: STRINGS +} +doc_string: "\nUpsample the input tensor.\nEach dimension value of the output tensor is:\n output_dimension = floor(input_dimension * scale).\n" +-- +input: "condition" +input: "X" +input: "Y" +output: "output" +name: "Where" +op_type: "Where" +attribute { + name: "condition-types" + strings: "bool" + type: STRINGS +} +attribute { + name: "X-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "Y-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\n Return elements, either from X or Y, depending on condition\n (with Numpy-style broadcasting support).\n Where behaves like numpy.where with three parameters:\n https://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html\n" +-- +input: "A" +input: "B" +output: "C" +name: "Xor" +op_type: "Xor" +attribute { + name: "A-types" + strings: "bool" + type: STRINGS +} +attribute { + name: "B-types" + strings: "bool" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `xor` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "X" +output: "Z" +name: "ZipMap" +op_type: "ZipMap" +attribute { + name: "classlabels_int64s" + s: "" + type: INTS +} +attribute { + name: "classlabels_strings" + s: "" + type: STRINGS +} +attribute { + name: "X-types" + strings: "float" + type: STRINGS +} +doc_string: "\n Creates a map from the input and the attributes.
        \n The values are provided by the input tensor, while the keys are specified by the attributes.\n Must provide keys in either classlabels_strings or classlabels_int64s (but not both).
        \n The columns of the tensor correspond one-by-one to the keys specified by the attributes. There must be as many columns as keys.
        \n" +-- diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/resources/op-ir.proto b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/resources/op-ir.proto new file mode 100644 index 000000000..e69de29bb diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/resources/ops.proto b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/resources/ops.proto index 4eb3d0029..ca4f14ccc 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/resources/ops.proto +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/resources/ops.proto @@ -34,6 +34,8 @@ op { type: DT_HALF type: DT_FLOAT type: DT_DOUBLE + type: DT_INT8 + type: DT_INT16 type: DT_INT32 type: DT_INT64 } @@ -214,6 +216,8 @@ op { type: DT_HALF type: DT_FLOAT type: DT_DOUBLE + type: DT_INT8 + type: DT_INT16 type: DT_INT32 type: DT_INT64 type: DT_COMPLEX64 @@ -430,6 +434,7 @@ op { type: DT_UINT8 type: DT_INT8 type: DT_INT16 + type: DT_UINT32 type: DT_INT32 type: DT_INT64 type: DT_COMPLEX64 @@ -486,7 +491,7 @@ op { name: "AdjustContrastv2" input_arg { name: "images" - type: DT_FLOAT + type_attr: "T" } input_arg { name: "contrast_factor" @@ -494,14 +499,27 @@ op { } output_arg { name: "output" - type: DT_FLOAT + type_attr: "T" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } } } op { name: "AdjustHue" input_arg { name: "images" - type: DT_FLOAT + type_attr: "T" } input_arg { name: "delta" @@ -509,14 +527,27 @@ op { } output_arg { name: "output" - type: DT_FLOAT + type_attr: "T" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } } } op { name: "AdjustSaturation" input_arg { name: "images" - type: DT_FLOAT + type_attr: "T" } input_arg { name: "scale" @@ -524,7 +555,20 @@ op { } output_arg { name: "output" - type: DT_FLOAT + type_attr: "T" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } } } op { @@ -612,6 +656,59 @@ op { } is_stateful: true } +op { + name: "AllToAll" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "group_assignment" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + type: DT_BOOL + } + } + } + attr { + name: "concat_dimension" + type: "int" + } + attr { + name: "split_dimension" + type: "int" + } + attr { + name: "split_count" + type: "int" + } +} op { name: "Angle" input_arg { @@ -669,6 +766,116 @@ op { } is_stateful: true } +op { + name: "AnonymousIteratorV2" + output_arg { + name: "handle" + type: DT_RESOURCE + } + output_arg { + name: "deleter" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "AnonymousMemoryCache" + output_arg { + name: "handle" + type: DT_RESOURCE + } + output_arg { + name: "deleter" + type: DT_VARIANT + } + is_stateful: true +} +op { + name: "AnonymousMultiDeviceIterator" + output_arg { + name: "handle" + type: DT_RESOURCE + } + output_arg { + name: "deleter" + type: DT_VARIANT + } + attr { + name: "devices" + type: "list(string)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "AnonymousRandomSeedGenerator" + input_arg { + name: "seed" + type: DT_INT64 + } + input_arg { + name: "seed2" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_RESOURCE + } + output_arg { + name: "deleter" + type: DT_VARIANT + } + is_stateful: true +} +op { + name: "AnonymousSeedGenerator" + input_arg { + name: "seed" + type: DT_INT64 + } + input_arg { + name: "seed2" + type: DT_INT64 + } + input_arg { + name: "reshuffle" + type: DT_BOOL + } + output_arg { + name: "handle" + type: DT_RESOURCE + } + output_arg { + name: "deleter" + type: DT_VARIANT + } + is_stateful: true +} op { name: "Any" input_arg { @@ -994,6 +1201,75 @@ op { } } } +op { + name: "ApplyAdagradV2" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "accum" + type_attr: "T" + is_ref: true + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "epsilon" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "update_slots" + type: "bool" + default_value { + b: true + } + } +} op { name: "ApplyAdam" input_arg { @@ -1308,6 +1584,13 @@ op { b: false } } + attr { + name: "multiply_linear_by_lr" + type: "bool" + default_value { + b: false + } + } } op { name: "ApplyFtrlV2" @@ -1387,6 +1670,13 @@ op { b: false } } + attr { + name: "multiply_linear_by_lr" + type: "bool" + default_value { + b: false + } + } } op { name: "ApplyGradientDescent" @@ -1866,6 +2156,7 @@ op { type: DT_HALF type: DT_UINT32 type: DT_UINT64 + type: DT_BOOL } } } @@ -1932,6 +2223,7 @@ op { type: DT_HALF type: DT_UINT32 type: DT_UINT64 + type: DT_BOOL } } } @@ -1986,6 +2278,7 @@ op { type: DT_FLOAT type: DT_DOUBLE type: DT_BOOL + type: DT_VARIANT } } } @@ -2044,6 +2337,8 @@ op { type: DT_HALF type: DT_FLOAT type: DT_DOUBLE + type: DT_INT8 + type: DT_INT16 type: DT_INT32 type: DT_INT64 type: DT_COMPLEX64 @@ -2102,6 +2397,60 @@ op { } is_stateful: true } +op { + name: "AssertCardinalityDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "cardinality" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "AssertNextDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "transformations" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} op { name: "Assign" input_arg { @@ -2303,6 +2652,8 @@ op { type: DT_HALF type: DT_FLOAT type: DT_DOUBLE + type: DT_INT8 + type: DT_INT16 type: DT_INT32 type: DT_INT64 type: DT_COMPLEX64 @@ -2449,6 +2800,51 @@ op { minimum: 1 } } +op { + name: "AutoShardDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "num_workers" + type: DT_INT64 + } + input_arg { + name: "index" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "auto_shard_policy" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "num_replicas" + type: "int" + default_value { + i: 0 + } + } +} op { name: "AvgPool" input_arg { @@ -2689,6 +3085,48 @@ op { } } } +op { + name: "BandedTriangularSolve" + input_arg { + name: "matrix" + type_attr: "T" + } + input_arg { + name: "rhs" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "lower" + type: "bool" + default_value { + b: true + } + } + attr { + name: "adjoint" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + type: DT_HALF + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} op { name: "Barrier" output_arg { @@ -3024,6 +3462,13 @@ op { name: "handle" type: DT_VARIANT } + attr { + name: "parallel_copy" + type: "bool" + default_value { + b: false + } + } attr { name: "output_types" type: "list(type)" @@ -3165,6 +3610,13 @@ op { has_minimum: true minimum: 1 } + attr { + name: "enable_large_batch_splitting" + type: "bool" + default_value { + b: false + } + } } op { name: "BatchIFFT" @@ -3256,6 +3708,52 @@ op { } } } +op { + name: "BatchMatMulV2" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } + attr { + name: "adj_x" + type: "bool" + default_value { + b: false + } + } + attr { + name: "adj_y" + type: "bool" + default_value { + b: false + } + } +} op { name: "BatchMatrixBandPart" input_arg { @@ -3863,6 +4361,29 @@ op { } } } +op { + name: "BesselI0" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} op { name: "BesselI0e" input_arg { @@ -3886,6 +4407,29 @@ op { } } } +op { + name: "BesselI1" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} op { name: "BesselI1e" input_arg { @@ -3909,6 +4453,190 @@ op { } } } +op { + name: "BesselJ0" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "BesselJ1" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "BesselK0" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "BesselK0e" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "BesselK1" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "BesselK1e" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "BesselY0" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "BesselY1" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} op { name: "Betainc" input_arg { @@ -4272,6 +5000,472 @@ op { } is_commutative: true } +op { + name: "BlockLSTM" + input_arg { + name: "seq_len_max" + type: DT_INT64 + } + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "cs_prev" + type_attr: "T" + } + input_arg { + name: "h_prev" + type_attr: "T" + } + input_arg { + name: "w" + type_attr: "T" + } + input_arg { + name: "wci" + type_attr: "T" + } + input_arg { + name: "wcf" + type_attr: "T" + } + input_arg { + name: "wco" + type_attr: "T" + } + input_arg { + name: "b" + type_attr: "T" + } + output_arg { + name: "i" + type_attr: "T" + } + output_arg { + name: "cs" + type_attr: "T" + } + output_arg { + name: "f" + type_attr: "T" + } + output_arg { + name: "o" + type_attr: "T" + } + output_arg { + name: "ci" + type_attr: "T" + } + output_arg { + name: "co" + type_attr: "T" + } + output_arg { + name: "h" + type_attr: "T" + } + attr { + name: "forget_bias" + type: "float" + default_value { + f: 1 + } + } + attr { + name: "cell_clip" + type: "float" + default_value { + f: 3 + } + } + attr { + name: "use_peephole" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } +} +op { + name: "BlockLSTMGrad" + input_arg { + name: "seq_len_max" + type: DT_INT64 + } + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "cs_prev" + type_attr: "T" + } + input_arg { + name: "h_prev" + type_attr: "T" + } + input_arg { + name: "w" + type_attr: "T" + } + input_arg { + name: "wci" + type_attr: "T" + } + input_arg { + name: "wcf" + type_attr: "T" + } + input_arg { + name: "wco" + type_attr: "T" + } + input_arg { + name: "b" + type_attr: "T" + } + input_arg { + name: "i" + type_attr: "T" + } + input_arg { + name: "cs" + type_attr: "T" + } + input_arg { + name: "f" + type_attr: "T" + } + input_arg { + name: "o" + type_attr: "T" + } + input_arg { + name: "ci" + type_attr: "T" + } + input_arg { + name: "co" + type_attr: "T" + } + input_arg { + name: "h" + type_attr: "T" + } + input_arg { + name: "cs_grad" + type_attr: "T" + } + input_arg { + name: "h_grad" + type_attr: "T" + } + output_arg { + name: "x_grad" + type_attr: "T" + } + output_arg { + name: "cs_prev_grad" + type_attr: "T" + } + output_arg { + name: "h_prev_grad" + type_attr: "T" + } + output_arg { + name: "w_grad" + type_attr: "T" + } + output_arg { + name: "wci_grad" + type_attr: "T" + } + output_arg { + name: "wcf_grad" + type_attr: "T" + } + output_arg { + name: "wco_grad" + type_attr: "T" + } + output_arg { + name: "b_grad" + type_attr: "T" + } + attr { + name: "use_peephole" + type: "bool" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } +} +op { + name: "BlockLSTMGradV2" + input_arg { + name: "seq_len_max" + type: DT_INT64 + } + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "cs_prev" + type_attr: "T" + } + input_arg { + name: "h_prev" + type_attr: "T" + } + input_arg { + name: "w" + type_attr: "T" + } + input_arg { + name: "wci" + type_attr: "T" + } + input_arg { + name: "wcf" + type_attr: "T" + } + input_arg { + name: "wco" + type_attr: "T" + } + input_arg { + name: "b" + type_attr: "T" + } + input_arg { + name: "i" + type_attr: "T" + } + input_arg { + name: "cs" + type_attr: "T" + } + input_arg { + name: "f" + type_attr: "T" + } + input_arg { + name: "o" + type_attr: "T" + } + input_arg { + name: "ci" + type_attr: "T" + } + input_arg { + name: "co" + type_attr: "T" + } + input_arg { + name: "h" + type_attr: "T" + } + input_arg { + name: "cs_grad" + type_attr: "T" + } + input_arg { + name: "h_grad" + type_attr: "T" + } + output_arg { + name: "x_grad" + type_attr: "T" + } + output_arg { + name: "cs_prev_grad" + type_attr: "T" + } + output_arg { + name: "h_prev_grad" + type_attr: "T" + } + output_arg { + name: "w_grad" + type_attr: "T" + } + output_arg { + name: "wci_grad" + type_attr: "T" + } + output_arg { + name: "wcf_grad" + type_attr: "T" + } + output_arg { + name: "wco_grad" + type_attr: "T" + } + output_arg { + name: "b_grad" + type_attr: "T" + } + attr { + name: "use_peephole" + type: "bool" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } +} +op { + name: "BlockLSTMV2" + input_arg { + name: "seq_len_max" + type: DT_INT64 + } + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "cs_prev" + type_attr: "T" + } + input_arg { + name: "h_prev" + type_attr: "T" + } + input_arg { + name: "w" + type_attr: "T" + } + input_arg { + name: "wci" + type_attr: "T" + } + input_arg { + name: "wcf" + type_attr: "T" + } + input_arg { + name: "wco" + type_attr: "T" + } + input_arg { + name: "b" + type_attr: "T" + } + output_arg { + name: "i" + type_attr: "T" + } + output_arg { + name: "cs" + type_attr: "T" + } + output_arg { + name: "f" + type_attr: "T" + } + output_arg { + name: "o" + type_attr: "T" + } + output_arg { + name: "ci" + type_attr: "T" + } + output_arg { + name: "co" + type_attr: "T" + } + output_arg { + name: "h" + type_attr: "T" + } + attr { + name: "cell_clip" + type: "float" + default_value { + f: 0 + } + } + attr { + name: "use_peephole" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } +} +op { + name: "BoostedTreesAggregateStats" + input_arg { + name: "node_ids" + type: DT_INT32 + } + input_arg { + name: "gradients" + type: DT_FLOAT + } + input_arg { + name: "hessians" + type: DT_FLOAT + } + input_arg { + name: "feature" + type: DT_INT32 + } + output_arg { + name: "stats_summary" + type: DT_FLOAT + } + attr { + name: "max_splits" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "num_buckets" + type: "int" + has_minimum: true + minimum: 1 + } +} op { name: "BoostedTreesBucketize" input_arg { @@ -4295,6 +5489,160 @@ op { has_minimum: true } } +op { + name: "BoostedTreesCalculateBestFeatureSplit" + input_arg { + name: "node_id_range" + type: DT_INT32 + } + input_arg { + name: "stats_summary" + type: DT_FLOAT + } + input_arg { + name: "l1" + type: DT_FLOAT + } + input_arg { + name: "l2" + type: DT_FLOAT + } + input_arg { + name: "tree_complexity" + type: DT_FLOAT + } + input_arg { + name: "min_node_weight" + type: DT_FLOAT + } + output_arg { + name: "node_ids" + type: DT_INT32 + } + output_arg { + name: "gains" + type: DT_FLOAT + } + output_arg { + name: "feature_dimensions" + type: DT_INT32 + } + output_arg { + name: "thresholds" + type: DT_INT32 + } + output_arg { + name: "left_node_contribs" + type: DT_FLOAT + } + output_arg { + name: "right_node_contribs" + type: DT_FLOAT + } + output_arg { + name: "split_with_default_directions" + type: DT_STRING + } + attr { + name: "logits_dimension" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "split_type" + type: "string" + default_value { + s: "inequality" + } + allowed_values { + list { + s: "inequality" + s: "equality" + } + } + } +} +op { + name: "BoostedTreesCalculateBestFeatureSplitV2" + input_arg { + name: "node_id_range" + type: DT_INT32 + } + input_arg { + name: "stats_summaries_list" + type: DT_FLOAT + number_attr: "num_features" + } + input_arg { + name: "split_types" + type: DT_STRING + } + input_arg { + name: "candidate_feature_ids" + type: DT_INT32 + } + input_arg { + name: "l1" + type: DT_FLOAT + } + input_arg { + name: "l2" + type: DT_FLOAT + } + input_arg { + name: "tree_complexity" + type: DT_FLOAT + } + input_arg { + name: "min_node_weight" + type: DT_FLOAT + } + output_arg { + name: "node_ids" + type: DT_INT32 + } + output_arg { + name: "gains" + type: DT_FLOAT + } + output_arg { + name: "feature_ids" + type: DT_INT32 + } + output_arg { + name: "feature_dimensions" + type: DT_INT32 + } + output_arg { + name: "thresholds" + type: DT_INT32 + } + output_arg { + name: "left_node_contribs" + type: DT_FLOAT + } + output_arg { + name: "right_node_contribs" + type: DT_FLOAT + } + output_arg { + name: "split_with_default_directions" + type: DT_STRING + } + attr { + name: "num_features" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "logits_dimension" + type: "int" + has_minimum: true + minimum: 1 + } +} op { name: "BoostedTreesCalculateBestGainsPerFeature" input_arg { @@ -4492,6 +5840,24 @@ op { } is_stateful: true } +op { + name: "BoostedTreesFlushQuantileSummaries" + input_arg { + name: "quantile_stream_resource_handle" + type: DT_RESOURCE + } + output_arg { + name: "summaries" + type: DT_FLOAT + number_attr: "num_features" + } + attr { + name: "num_features" + type: "int" + has_minimum: true + } + is_stateful: true +} op { name: "BoostedTreesGetEnsembleStates" input_arg { @@ -4727,6 +6093,138 @@ op { } is_stateful: true } +op { + name: "BoostedTreesSparseAggregateStats" + input_arg { + name: "node_ids" + type: DT_INT32 + } + input_arg { + name: "gradients" + type: DT_FLOAT + } + input_arg { + name: "hessians" + type: DT_FLOAT + } + input_arg { + name: "feature_indices" + type: DT_INT32 + } + input_arg { + name: "feature_values" + type: DT_INT32 + } + input_arg { + name: "feature_shape" + type: DT_INT32 + } + output_arg { + name: "stats_summary_indices" + type: DT_INT32 + } + output_arg { + name: "stats_summary_values" + type: DT_FLOAT + } + output_arg { + name: "stats_summary_shape" + type: DT_INT32 + } + attr { + name: "max_splits" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "num_buckets" + type: "int" + has_minimum: true + minimum: 1 + } +} +op { + name: "BoostedTreesSparseCalculateBestFeatureSplit" + input_arg { + name: "node_id_range" + type: DT_INT32 + } + input_arg { + name: "stats_summary_indices" + type: DT_INT32 + } + input_arg { + name: "stats_summary_values" + type: DT_FLOAT + } + input_arg { + name: "stats_summary_shape" + type: DT_INT32 + } + input_arg { + name: "l1" + type: DT_FLOAT + } + input_arg { + name: "l2" + type: DT_FLOAT + } + input_arg { + name: "tree_complexity" + type: DT_FLOAT + } + input_arg { + name: "min_node_weight" + type: DT_FLOAT + } + output_arg { + name: "node_ids" + type: DT_INT32 + } + output_arg { + name: "gains" + type: DT_FLOAT + } + output_arg { + name: "feature_dimensions" + type: DT_INT32 + } + output_arg { + name: "thresholds" + type: DT_INT32 + } + output_arg { + name: "left_node_contribs" + type: DT_FLOAT + } + output_arg { + name: "right_node_contribs" + type: DT_FLOAT + } + output_arg { + name: "split_with_default_directions" + type: DT_STRING + } + attr { + name: "logits_dimension" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "split_type" + type: "string" + default_value { + s: "inequality" + } + allowed_values { + list { + s: "inequality" + } + } + } +} op { name: "BoostedTreesTrainingPredict" input_arg { @@ -4825,6 +6323,87 @@ op { } is_stateful: true } +op { + name: "BoostedTreesUpdateEnsembleV2" + input_arg { + name: "tree_ensemble_handle" + type: DT_RESOURCE + } + input_arg { + name: "feature_ids" + type: DT_INT32 + number_attr: "num_groups" + } + input_arg { + name: "dimension_ids" + type: DT_INT32 + number_attr: "num_features" + } + input_arg { + name: "node_ids" + type: DT_INT32 + number_attr: "num_features" + } + input_arg { + name: "gains" + type: DT_FLOAT + number_attr: "num_features" + } + input_arg { + name: "thresholds" + type: DT_INT32 + number_attr: "num_features" + } + input_arg { + name: "left_node_contribs" + type: DT_FLOAT + number_attr: "num_features" + } + input_arg { + name: "right_node_contribs" + type: DT_FLOAT + number_attr: "num_features" + } + input_arg { + name: "split_types" + type: DT_STRING + number_attr: "num_features" + } + input_arg { + name: "max_depth" + type: DT_INT32 + } + input_arg { + name: "learning_rate" + type: DT_FLOAT + } + input_arg { + name: "pruning_mode" + type: DT_INT32 + } + attr { + name: "num_features" + type: "int" + has_minimum: true + } + attr { + name: "logits_dimension" + type: "int" + default_value { + i: 1 + } + } + attr { + name: "num_groups" + type: "int" + default_value { + i: 1 + } + has_minimum: true + minimum: 1 + } + is_stateful: true +} op { name: "BroadcastArgs" input_arg { @@ -4944,11 +6523,261 @@ op { type: "list(float)" } } +op { + name: "BytesProducedStatsDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "tag" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "CSRSparseMatrixComponents" + input_arg { + name: "csr_sparse_matrix" + type: DT_VARIANT + } + input_arg { + name: "index" + type: DT_INT32 + } + output_arg { + name: "row_ptrs" + type: DT_INT32 + } + output_arg { + name: "col_inds" + type: DT_INT32 + } + output_arg { + name: "values" + type_attr: "type" + } + attr { + name: "type" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "CSRSparseMatrixToDense" + input_arg { + name: "sparse_input" + type: DT_VARIANT + } + output_arg { + name: "dense_output" + type_attr: "type" + } + attr { + name: "type" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "CSRSparseMatrixToSparseTensor" + input_arg { + name: "sparse_matrix" + type: DT_VARIANT + } + output_arg { + name: "indices" + type: DT_INT64 + } + output_arg { + name: "values" + type_attr: "type" + } + output_arg { + name: "dense_shape" + type: DT_INT64 + } + attr { + name: "type" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "CSVDataset" + input_arg { + name: "filenames" + type: DT_STRING + } + input_arg { + name: "compression_type" + type: DT_STRING + } + input_arg { + name: "buffer_size" + type: DT_INT64 + } + input_arg { + name: "header" + type: DT_BOOL + } + input_arg { + name: "field_delim" + type: DT_STRING + } + input_arg { + name: "use_quote_delim" + type: DT_BOOL + } + input_arg { + name: "na_value" + type: DT_STRING + } + input_arg { + name: "select_cols" + type: DT_INT64 + } + input_arg { + name: "record_defaults" + type_list_attr: "output_types" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "CSVDatasetV2" + input_arg { + name: "filenames" + type: DT_STRING + } + input_arg { + name: "compression_type" + type: DT_STRING + } + input_arg { + name: "buffer_size" + type: DT_INT64 + } + input_arg { + name: "header" + type: DT_BOOL + } + input_arg { + name: "field_delim" + type: DT_STRING + } + input_arg { + name: "use_quote_delim" + type: DT_BOOL + } + input_arg { + name: "na_value" + type: DT_STRING + } + input_arg { + name: "select_cols" + type: DT_INT64 + } + input_arg { + name: "record_defaults" + type_list_attr: "output_types" + } + input_arg { + name: "exclude_cols" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} op { name: "CTCBeamSearchDecoder" input_arg { name: "inputs" - type: DT_FLOAT + type_attr: "T" } input_arg { name: "sequence_length" @@ -4971,7 +6800,7 @@ op { } output_arg { name: "log_probability" - type: DT_FLOAT + type_attr: "T" } attr { name: "beam_width" @@ -4992,12 +6821,25 @@ op { b: true } } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } } op { name: "CTCGreedyDecoder" input_arg { name: "inputs" - type: DT_FLOAT + type_attr: "T" } input_arg { name: "sequence_length" @@ -5017,7 +6859,7 @@ op { } output_arg { name: "log_probability" - type: DT_FLOAT + type_attr: "T" } attr { name: "merge_repeated" @@ -5026,9 +6868,83 @@ op { b: false } } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } } op { name: "CTCLoss" + input_arg { + name: "inputs" + type_attr: "T" + } + input_arg { + name: "labels_indices" + type: DT_INT64 + } + input_arg { + name: "labels_values" + type: DT_INT32 + } + input_arg { + name: "sequence_length" + type: DT_INT32 + } + output_arg { + name: "loss" + type_attr: "T" + } + output_arg { + name: "gradient" + type_attr: "T" + } + attr { + name: "preprocess_collapse_repeated" + type: "bool" + default_value { + b: false + } + } + attr { + name: "ctc_merge_repeated" + type: "bool" + default_value { + b: true + } + } + attr { + name: "ignore_longer_outputs_than_inputs" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "CTCLossV2" input_arg { name: "inputs" type: DT_FLOAT @@ -5102,6 +7018,78 @@ op { minimum: 1 } } +op { + name: "CacheDatasetV2" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "filename" + type: DT_STRING + } + input_arg { + name: "cache" + type: DT_RESOURCE + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "Case" + input_arg { + name: "branch_index" + type: DT_INT32 + } + input_arg { + name: "input" + type_list_attr: "Tin" + } + output_arg { + name: "output" + type_list_attr: "Tout" + } + attr { + name: "Tin" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tout" + type: "list(type)" + has_minimum: true + } + attr { + name: "branches" + type: "list(func)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + default_value { + list { + } + } + } + is_stateful: true +} op { name: "Cast" input_arg { @@ -5177,6 +7165,35 @@ op { name: "message" type: "string" } + is_stateful: true +} +op { + name: "CheckNumericsV2" + input_arg { + name: "tensor" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "message" + type: "string" + } + is_stateful: true } op { name: "Cholesky" @@ -5195,6 +7212,7 @@ op { list { type: DT_DOUBLE type: DT_FLOAT + type: DT_HALF type: DT_COMPLEX64 type: DT_COMPLEX128 } @@ -5220,12 +7238,105 @@ op { type: "type" allowed_values { list { + type: DT_HALF type: DT_FLOAT type: DT_DOUBLE } } } } +op { + name: "ChooseFastestBranchDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "ratio_numerator" + type: DT_INT64 + } + input_arg { + name: "ratio_denominator" + type: DT_INT64 + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "num_elements_per_branch" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "branches" + type: "list(func)" + has_minimum: true + minimum: 1 + } + attr { + name: "other_arguments_lengths" + type: "list(int)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ChooseFastestDataset" + input_arg { + name: "input_datasets" + type: DT_VARIANT + number_attr: "N" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 2 + } + attr { + name: "num_experiments" + type: "int" + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} op { name: "ClipByValue" input_arg { @@ -5289,6 +7400,7 @@ op { type: "type" allowed_values { list { + type: DT_BOOL type: DT_FLOAT type: DT_HALF type: DT_DOUBLE @@ -5313,6 +7425,85 @@ op { name: "shape" type: "shape" } + attr { + name: "communication_hint" + type: "string" + default_value { + s: "auto" + } + } + attr { + name: "timeout_seconds" + type: "float" + default_value { + f: 0 + } + } + is_stateful: true +} +op { + name: "CollectiveBcastRecvV2" + input_arg { + name: "group_size" + type: DT_INT32 + } + input_arg { + name: "group_key" + type: DT_INT32 + } + input_arg { + name: "instance_key" + type: DT_INT32 + } + input_arg { + name: "shape" + type_attr: "Tshape" + } + output_arg { + name: "data" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BOOL + type: DT_FLOAT + type: DT_HALF + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tshape" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "communication_hint" + type: "string" + default_value { + s: "auto" + } + } + attr { + name: "timeout_seconds" + type: "float" + default_value { + f: 0 + } + } is_stateful: true } op { @@ -5325,6 +7516,114 @@ op { name: "data" type_attr: "T" } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BOOL + type: DT_FLOAT + type: DT_HALF + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "group_size" + type: "int" + } + attr { + name: "group_key" + type: "int" + } + attr { + name: "instance_key" + type: "int" + } + attr { + name: "shape" + type: "shape" + } + attr { + name: "communication_hint" + type: "string" + default_value { + s: "auto" + } + } + attr { + name: "timeout_seconds" + type: "float" + default_value { + f: 0 + } + } + is_stateful: true +} +op { + name: "CollectiveBcastSendV2" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "group_size" + type: DT_INT32 + } + input_arg { + name: "group_key" + type: DT_INT32 + } + input_arg { + name: "instance_key" + type: DT_INT32 + } + output_arg { + name: "data" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BOOL + type: DT_FLOAT + type: DT_HALF + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "communication_hint" + type: "string" + default_value { + s: "auto" + } + } + attr { + name: "timeout_seconds" + type: "float" + default_value { + f: 0 + } + } + is_stateful: true +} +op { + name: "CollectiveGather" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "data" + type_attr: "T" + } attr { name: "T" type: "type" @@ -5354,8 +7653,126 @@ op { name: "shape" type: "shape" } + attr { + name: "communication_hint" + type: "string" + default_value { + s: "auto" + } + } + attr { + name: "timeout_seconds" + type: "float" + default_value { + f: 0 + } + } is_stateful: true } +op { + name: "CollectiveGatherV2" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "group_size" + type: DT_INT32 + } + input_arg { + name: "group_key" + type: DT_INT32 + } + input_arg { + name: "instance_key" + type: DT_INT32 + } + input_arg { + name: "ordering_token" + type: DT_RESOURCE + number_attr: "Nordering_token" + } + output_arg { + name: "data" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_HALF + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "communication_hint" + type: "string" + default_value { + s: "auto" + } + } + attr { + name: "timeout_seconds" + type: "float" + default_value { + f: 0 + } + } + attr { + name: "Nordering_token" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + is_stateful: true +} +op { + name: "CollectivePermute" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "source_target_pairs" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} op { name: "CollectiveReduce" input_arg { @@ -5417,8 +7834,173 @@ op { name: "subdiv_offsets" type: "list(int)" } + attr { + name: "wait_for" + type: "list(int)" + default_value { + list { + } + } + } + attr { + name: "communication_hint" + type: "string" + default_value { + s: "auto" + } + } + attr { + name: "timeout_seconds" + type: "float" + default_value { + f: 0 + } + } is_stateful: true } +op { + name: "CollectiveReduceV2" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "group_size" + type: DT_INT32 + } + input_arg { + name: "group_key" + type: DT_INT32 + } + input_arg { + name: "instance_key" + type: DT_INT32 + } + input_arg { + name: "ordering_token" + type: DT_RESOURCE + number_attr: "Nordering_token" + } + output_arg { + name: "data" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_HALF + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "merge_op" + type: "string" + allowed_values { + list { + s: "Min" + s: "Max" + s: "Mul" + s: "Add" + } + } + } + attr { + name: "final_op" + type: "string" + allowed_values { + list { + s: "Id" + s: "Div" + } + } + } + attr { + name: "communication_hint" + type: "string" + default_value { + s: "auto" + } + } + attr { + name: "timeout_seconds" + type: "float" + default_value { + f: 0 + } + } + attr { + name: "Nordering_token" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + is_stateful: true +} +op { + name: "CombinedNonMaxSuppression" + input_arg { + name: "boxes" + type: DT_FLOAT + } + input_arg { + name: "scores" + type: DT_FLOAT + } + input_arg { + name: "max_output_size_per_class" + type: DT_INT32 + } + input_arg { + name: "max_total_size" + type: DT_INT32 + } + input_arg { + name: "iou_threshold" + type: DT_FLOAT + } + input_arg { + name: "score_threshold" + type: DT_FLOAT + } + output_arg { + name: "nmsed_boxes" + type: DT_FLOAT + } + output_arg { + name: "nmsed_scores" + type: DT_FLOAT + } + output_arg { + name: "nmsed_classes" + type: DT_FLOAT + } + output_arg { + name: "valid_detections" + type: DT_INT32 + } + attr { + name: "pad_per_class" + type: "bool" + default_value { + b: false + } + } + attr { + name: "clip_boxes" + type: "bool" + default_value { + b: true + } + } +} op { name: "CompareAndBitpack" input_arg { @@ -5528,6 +8110,23 @@ op { } } } +op { + name: "CompressElement" + input_arg { + name: "components" + type_list_attr: "input_types" + } + output_arg { + name: "compressed" + type: DT_VARIANT + } + attr { + name: "input_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } +} op { name: "ComputeAccidentalHits" input_arg { @@ -5569,6 +8168,17 @@ op { } } } +op { + name: "ComputeBatchSize" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + output_arg { + name: "batch_size" + type: DT_INT64 + } +} op { name: "Concat" input_arg { @@ -5749,6 +8359,57 @@ op { } is_stateful: true } +op { + name: "ConfigureDistributedTPU" + output_arg { + name: "topology" + type: DT_STRING + } + attr { + name: "embedding_config" + type: "string" + default_value { + s: "" + } + } + attr { + name: "tpu_embedding_config" + type: "string" + default_value { + s: "" + } + } + attr { + name: "is_global_init" + type: "bool" + default_value { + b: false + } + } + attr { + name: "enable_whole_mesh_compilations" + type: "bool" + default_value { + b: false + } + } + attr { + name: "compilation_failure_closes_chips" + type: "bool" + default_value { + b: true + } + } + is_stateful: true +} +op { + name: "ConfigureTPUEmbedding" + attr { + name: "config" + type: "string" + } + is_stateful: true +} op { name: "Conj" input_arg { @@ -5855,6 +8516,7 @@ op { type: DT_BFLOAT16 type: DT_FLOAT type: DT_DOUBLE + type: DT_INT32 } } } @@ -5876,6 +8538,15 @@ op { list { s: "SAME" s: "VALID" + s: "EXPLICIT" + } + } + } + attr { + name: "explicit_paddings" + type: "list(int)" + default_value { + list { } } } @@ -5953,6 +8624,15 @@ op { list { s: "SAME" s: "VALID" + s: "EXPLICIT" + } + } + } + attr { + name: "explicit_paddings" + type: "list(int)" + default_value { + list { } } } @@ -6009,6 +8689,7 @@ op { type: DT_BFLOAT16 type: DT_FLOAT type: DT_DOUBLE + type: DT_INT32 } } } @@ -6030,6 +8711,15 @@ op { list { s: "SAME" s: "VALID" + s: "EXPLICIT" + } + } + } + attr { + name: "explicit_paddings" + type: "list(int)" + default_value { + list { } } } @@ -6417,12 +9107,10 @@ op { name: "Copy" input_arg { name: "input" - description: "Input tensor." type_attr: "T" } output_arg { name: "output" - description: "Output tensor, deep-copied from input." type_attr: "T" } attr { @@ -6435,7 +9123,6 @@ op { default_value { s: "" } - description: "The name of the input tensor." } attr { name: "debug_ops_spec" @@ -6444,22 +9131,17 @@ op { list { } } - description: "A list of debug op spec (op, url, gated_grpc) for attached debug\nops. Each element of the list has the format\n;;, wherein gated_grpc is boolean represented\nas 0/1. E.g., \"DebugIdentity;grpc://foo:3333;1\",\n\"DebugIdentity;file:///tmp/tfdbg_1;0\"." } - summary: "Copy Op." - description: "Performs CPU-to-CPU or GPU-to-GPU deep-copying of tensor, depending on the\ndevice on which the tensor is allocated.\nN.B.: If the all downstream attached debug ops are disabled given the current\ngRPC gating status, the output will simply forward the input tensor without\ndeep-copying. See the documentation of Debug* ops for more details.\n\nUnlike the CopyHost Op, this op does not have HostMemory constraint on its\ninput or output." allows_uninitialized_input: true } op { name: "CopyHost" input_arg { name: "input" - description: "Input tensor." type_attr: "T" } output_arg { name: "output" - description: "Output tensor, deep-copied from input." type_attr: "T" } attr { @@ -6472,7 +9154,6 @@ op { default_value { s: "" } - description: "The name of the input tensor." } attr { name: "debug_ops_spec" @@ -6481,10 +9162,7 @@ op { list { } } - description: "A list of debug op spec (op, url, gated_grpc) for attached debug\nops. Each element of the list has the format\n;;, wherein gated_grpc is boolean represented\nas 0/1. E.g., \"DebugIdentity;grpc://foo:3333;1\",\n\"DebugIdentity;file:///tmp/tfdbg_1;0\"." } - summary: "Copy Host Op." - description: "Performs CPU-to-CPU deep-copying of tensor.\nN.B.: If the all downstream attached debug ops are disabled given the current\ngRPC gating status, the output will simply forward the input tensor without\ndeep-copying. See the documentation of Debug* ops for more details.\n\nUnlike the Copy Op, this op has HostMemory constraint on its input or output." allows_uninitialized_input: true } op { @@ -6805,6 +9483,34 @@ op { } } } +op { + name: "CrossReplicaSum" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "group_assignment" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_INT32 + type: DT_UINT32 + } + } + } +} op { name: "CudnnRNN" input_arg { @@ -7346,6 +10052,20 @@ op { i: 0 } } + attr { + name: "num_proj" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "time_major" + type: "bool" + default_value { + b: true + } + } is_stateful: true } op { @@ -7457,6 +10177,128 @@ op { } } } +op { + name: "CudnnRNNCanonicalToParamsV2" + input_arg { + name: "num_layers" + type: DT_INT32 + } + input_arg { + name: "num_units" + type: DT_INT32 + } + input_arg { + name: "input_size" + type: DT_INT32 + } + input_arg { + name: "weights" + type_attr: "T" + number_attr: "num_params_weights" + } + input_arg { + name: "biases" + type_attr: "T" + number_attr: "num_params_biases" + } + output_arg { + name: "params" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "num_params_weights" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "num_params_biases" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "rnn_mode" + type: "string" + default_value { + s: "lstm" + } + allowed_values { + list { + s: "rnn_relu" + s: "rnn_tanh" + s: "lstm" + s: "gru" + } + } + } + attr { + name: "input_mode" + type: "string" + default_value { + s: "linear_input" + } + allowed_values { + list { + s: "linear_input" + s: "skip_input" + s: "auto_select" + } + } + } + attr { + name: "direction" + type: "string" + default_value { + s: "unidirectional" + } + allowed_values { + list { + s: "unidirectional" + s: "bidirectional" + } + } + } + attr { + name: "dropout" + type: "float" + default_value { + f: 0 + } + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "num_proj" + type: "int" + default_value { + i: 0 + } + } +} op { name: "CudnnRNNParamsSize" input_arg { @@ -7559,6 +10401,13 @@ op { i: 0 } } + attr { + name: "num_proj" + type: "int" + default_value { + i: 0 + } + } } op { name: "CudnnRNNParamsToCanonical" @@ -7669,6 +10518,128 @@ op { } } } +op { + name: "CudnnRNNParamsToCanonicalV2" + input_arg { + name: "num_layers" + type: DT_INT32 + } + input_arg { + name: "num_units" + type: DT_INT32 + } + input_arg { + name: "input_size" + type: DT_INT32 + } + input_arg { + name: "params" + type_attr: "T" + } + output_arg { + name: "weights" + type_attr: "T" + number_attr: "num_params_weights" + } + output_arg { + name: "biases" + type_attr: "T" + number_attr: "num_params_biases" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "num_params_weights" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "num_params_biases" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "rnn_mode" + type: "string" + default_value { + s: "lstm" + } + allowed_values { + list { + s: "rnn_relu" + s: "rnn_tanh" + s: "lstm" + s: "gru" + } + } + } + attr { + name: "input_mode" + type: "string" + default_value { + s: "linear_input" + } + allowed_values { + list { + s: "linear_input" + s: "skip_input" + s: "auto_select" + } + } + } + attr { + name: "direction" + type: "string" + default_value { + s: "unidirectional" + } + allowed_values { + list { + s: "unidirectional" + s: "bidirectional" + } + } + } + attr { + name: "dropout" + type: "float" + default_value { + f: 0 + } + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "num_proj" + type: "int" + default_value { + i: 0 + } + } +} op { name: "CudnnRNNV2" input_arg { @@ -7906,6 +10877,13 @@ op { i: 0 } } + attr { + name: "num_proj" + type: "int" + default_value { + i: 0 + } + } attr { name: "is_training" type: "bool" @@ -7913,6 +10891,13 @@ op { b: true } } + attr { + name: "time_major" + type: "bool" + default_value { + b: true + } + } is_stateful: true } op { @@ -8049,6 +11034,59 @@ op { } } } +op { + name: "CumulativeLogsumexp" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "axis" + type_attr: "Tidx" + } + output_arg { + name: "out" + type_attr: "T" + } + attr { + name: "exclusive" + type: "bool" + default_value { + b: false + } + } + attr { + name: "reverse" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} op { name: "DataFormatDimMap" input_arg { @@ -8125,6 +11163,83 @@ op { } } } +op { + name: "DataServiceDataset" + input_arg { + name: "dataset_id" + type: DT_INT64 + } + input_arg { + name: "processing_mode" + type: DT_STRING + } + input_arg { + name: "address" + type: DT_STRING + } + input_arg { + name: "protocol" + type: DT_STRING + } + input_arg { + name: "job_name" + type: DT_STRING + } + input_arg { + name: "max_outstanding_requests" + type: DT_INT64 + } + input_arg { + name: "iteration_counter" + type: DT_RESOURCE + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "task_refresh_interval_hint_ms" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "DatasetCardinality" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + output_arg { + name: "cardinality" + type: DT_INT64 + } +} +op { + name: "DatasetFromGraph" + input_arg { + name: "graph_def" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } +} op { name: "DatasetToGraph" input_arg { @@ -8135,6 +11250,54 @@ op { name: "graph" type: DT_STRING } + attr { + name: "stateful_whitelist" + type: "list(string)" + default_value { + list { + } + } + has_minimum: true + } + attr { + name: "allow_stateful" + type: "bool" + default_value { + b: false + } + } + attr { + name: "strip_device_assignment" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "DatasetToGraphV2" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + output_arg { + name: "graph" + type: DT_STRING + } + attr { + name: "external_state_policy" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "strip_device_assignment" + type: "bool" + default_value { + b: false + } + } } op { name: "DatasetToSingleElement" @@ -8158,6 +11321,46 @@ op { has_minimum: true minimum: 1 } + is_stateful: true +} +op { + name: "DatasetToTFRecord" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "filename" + type: DT_STRING + } + input_arg { + name: "compression_type" + type: DT_STRING + } + is_stateful: true +} +op { + name: "Dawsn" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } } op { name: "DebugGradientIdentity" @@ -8197,12 +11400,10 @@ op { name: "DebugIdentity" input_arg { name: "input" - description: "Input tensor, non-Reference type." type_attr: "T" } output_arg { name: "output" - description: "Output tensor that equals the input tensor." type_attr: "T" } attr { @@ -8222,7 +11423,6 @@ op { default_value { s: "" } - description: "Name of the input tensor." } attr { name: "debug_urls" @@ -8231,7 +11431,6 @@ op { list { } } - description: "List of URLs to debug targets, e.g.,\nfile:///foo/tfdbg_dump, grpc:://localhost:11011" } attr { name: "gated_grpc" @@ -8239,22 +11438,83 @@ op { default_value { b: false } - description: "Whether this op will be gated. If any of the debug_urls of this\ndebug node is of the grpc:// scheme, when the value of this attribute is set\nto True, the data will not actually be sent via the grpc stream unless this\ndebug op has been enabled at the debug_url. If all of the debug_urls of this\ndebug node are of the grpc:// scheme and the debug op is enabled at none of\nthem, the output will be an empty Tensor." } - summary: "Debug Identity Op." - description: "Provides an identity mapping of the non-Ref type input tensor for debugging." allows_uninitialized_input: true } +op { + name: "DebugIdentityV2" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "tfdbg_context_id" + type: "string" + default_value { + s: "" + } + } + attr { + name: "op_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "output_slot" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "tensor_debug_mode" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "debug_urls" + type: "list(string)" + default_value { + list { + } + } + } + attr { + name: "circular_buffer_size" + type: "int" + default_value { + i: 1000 + } + } + attr { + name: "tfdbg_run_id" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} op { name: "DebugNanCount" input_arg { name: "input" - description: "Input tensor, non-Reference type." type_attr: "T" } output_arg { name: "output" - description: "An integer output tensor that is the number of NaNs in the input." type: DT_INT64 } attr { @@ -8274,7 +11534,6 @@ op { default_value { s: "" } - description: "Name of the input tensor." } attr { name: "debug_urls" @@ -8283,7 +11542,6 @@ op { list { } } - description: "List of URLs to debug targets, e.g.,\nfile:///foo/tfdbg_dump, grpc:://localhost:11011." } attr { name: "gated_grpc" @@ -8291,22 +11549,17 @@ op { default_value { b: false } - description: "Whether this op will be gated. If any of the debug_urls of this\ndebug node is of the grpc:// scheme, when the value of this attribute is set\nto True, the data will not actually be sent via the grpc stream unless this\ndebug op has been enabled at the debug_url. If all of the debug_urls of this\ndebug node are of the grpc:// scheme and the debug op is enabled at none of\nthem, the output will be an empty Tensor." } - summary: "Debug NaN Value Counter Op" - description: "Counts number of NaNs in the input tensor, for debugging." allows_uninitialized_input: true } op { name: "DebugNumericSummary" input_arg { name: "input" - description: "Input tensor, non-Reference type, float or double." type_attr: "T" } output_arg { name: "output" - description: "A double tensor of shape [14 + nDimensions], where nDimensions is the\n the number of dimensions of the tensor\'s shape. The elements of output are:\n [0]: is initialized (1.0) or not (0.0).\n [1]: total number of elements\n [2]: NaN element count\n [3]: generalized -inf count: elements <= lower_bound. lower_bound is -inf by\n default.\n [4]: negative element count (excluding -inf), if lower_bound is the default\n -inf. Otherwise, this is the count of elements > lower_bound and < 0.\n [5]: zero element count\n [6]: positive element count (excluding +inf), if upper_bound is the default\n -inf. Otherwise, this is the count of elements < upper_bound and > 0.\n [7]: generalized +inf count, elements >= upper_bound. upper_bound is +inf by\n default.\nOutput elements [1:8] are all zero, if the tensor is uninitialized.\n [8]: minimum of all non-inf and non-NaN elements.\n If uninitialized or no such element exists: +inf.\n [9]: maximum of all non-inf and non-NaN elements.\n If uninitialized or no such element exists: -inf.\n [10]: mean of all non-inf and non-NaN elements.\n If uninitialized or no such element exists: NaN.\n [11]: variance of all non-inf and non-NaN elements.\n If uninitialized or no such element exists: NaN.\n [12]: Data type of the tensor encoded as an enum integer. See the DataType\n proto for more details.\n [13]: Number of dimensions of the tensor (ndims).\n [14+]: Sizes of the dimensions." type: DT_DOUBLE } attr { @@ -8326,7 +11579,6 @@ op { default_value { s: "" } - description: "Name of the input tensor." } attr { name: "debug_urls" @@ -8335,7 +11587,6 @@ op { list { } } - description: "List of URLs to debug targets, e.g.,\nfile:///foo/tfdbg_dump, grpc:://localhost:11011" } attr { name: "lower_bound" @@ -8343,7 +11594,6 @@ op { default_value { f: -inf } - description: "(float) The lower bound <= which values will be included in the\ngeneralized -inf count. Default: -inf." } attr { name: "upper_bound" @@ -8351,7 +11601,6 @@ op { default_value { f: inf } - description: "(float) The upper bound >= which values will be included in the\ngeneralized +inf count. Default: +inf." } attr { name: "mute_if_healthy" @@ -8359,7 +11608,6 @@ op { default_value { b: false } - description: "(bool) Do not send data to the debug URLs unless at least one\nof elements [2], [3] and [7] (i.e., the nan count and the generalized -inf and\ninf counts) is non-zero." } attr { name: "gated_grpc" @@ -8367,12 +11615,51 @@ op { default_value { b: false } - description: "Whether this op will be gated. If any of the debug_urls of this\ndebug node is of the grpc:// scheme, when the value of this attribute is set\nto True, the data will not actually be sent via the grpc stream unless this\ndebug op has been enabled at the debug_url. If all of the debug_urls of this\ndebug node are of the grpc:// scheme and the debug op is enabled at none of\nthem, the output will be an empty Tensor." } - summary: "Debug Numeric Summary Op." - description: "Provide a basic summary of numeric value types, range and distribution." allows_uninitialized_input: true } +op { + name: "DebugNumericSummaryV2" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "output_dtype" + } + attr { + name: "output_dtype" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "T" + type: "type" + } + attr { + name: "tensor_debug_mode" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "tensor_id" + type: "int" + default_value { + i: -1 + } + } +} op { name: "DecodeAndCropJpeg" input_arg { @@ -8547,6 +11834,45 @@ op { type: DT_UINT8 } } +op { + name: "DecodeImage" + input_arg { + name: "contents" + type: DT_STRING + } + output_arg { + name: "image" + type_attr: "dtype" + } + attr { + name: "channels" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_UINT8 + } + allowed_values { + list { + type: DT_UINT8 + type: DT_UINT16 + type: DT_FLOAT + } + } + } + attr { + name: "expand_animations" + type: "bool" + default_value { + b: true + } + } +} op { name: "DecodeJSONExample" input_arg { @@ -8611,6 +11937,45 @@ op { } } } +op { + name: "DecodePaddedRaw" + input_arg { + name: "input_bytes" + type: DT_STRING + } + input_arg { + name: "fixed_length" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "out_type" + } + attr { + name: "out_type" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT16 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + } + } + } + attr { + name: "little_endian" + type: "bool" + default_value { + b: true + } + } +} op { name: "DecodePng" input_arg { @@ -8715,6 +12080,9 @@ op { type: DT_INT16 type: DT_INT8 type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + type: DT_BOOL } } } @@ -8771,6 +12139,76 @@ op { } is_stateful: true } +op { + name: "DeleteIterator" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "deleter" + type: DT_VARIANT + } + is_stateful: true +} +op { + name: "DeleteMemoryCache" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "deleter" + type: DT_VARIANT + } + is_stateful: true +} +op { + name: "DeleteMultiDeviceIterator" + input_arg { + name: "multi_device_iterator" + type: DT_RESOURCE + } + input_arg { + name: "iterators" + type: DT_RESOURCE + number_attr: "N" + } + input_arg { + name: "deleter" + type: DT_VARIANT + } + attr { + name: "N" + type: "int" + has_minimum: true + } + is_stateful: true +} +op { + name: "DeleteRandomSeedGenerator" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "deleter" + type: DT_VARIANT + } + is_stateful: true +} +op { + name: "DeleteSeedGenerator" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "deleter" + type: DT_VARIANT + } + is_stateful: true +} op { name: "DeleteSessionTensor" input_arg { @@ -8779,6 +12217,148 @@ op { } is_stateful: true } +op { + name: "DenseBincount" + input_arg { + name: "input" + type_attr: "Tidx" + } + input_arg { + name: "size" + type_attr: "Tidx" + } + input_arg { + name: "weights" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "Tidx" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "binary_output" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "DenseCountSparseOutput" + input_arg { + name: "values" + type_attr: "T" + } + input_arg { + name: "weights" + type_attr: "output_type" + } + output_arg { + name: "output_indices" + type: DT_INT64 + } + output_arg { + name: "output_values" + type_attr: "output_type" + } + output_arg { + name: "output_dense_shape" + type: DT_INT64 + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "minlength" + type: "int" + default_value { + i: -1 + } + has_minimum: true + minimum: -1 + } + attr { + name: "maxlength" + type: "int" + default_value { + i: -1 + } + has_minimum: true + minimum: -1 + } + attr { + name: "binary_output" + type: "bool" + } + attr { + name: "output_type" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "DenseToCSRSparseMatrix" + input_arg { + name: "dense_input" + type_attr: "T" + } + input_arg { + name: "indices" + type: DT_INT64 + } + output_arg { + name: "sparse_output" + type: DT_VARIANT + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} op { name: "DenseToDenseSetOperation" input_arg { @@ -8828,6 +12408,37 @@ op { } } } +op { + name: "DenseToSparseBatchDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "batch_size" + type: DT_INT64 + } + input_arg { + name: "row_shape" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} op { name: "DenseToSparseSetOperation" input_arg { @@ -8957,6 +12568,15 @@ op { list { s: "SAME" s: "VALID" + s: "EXPLICIT" + } + } + } + attr { + name: "explicit_paddings" + type: "list(int)" + default_value { + list { } } } @@ -9027,6 +12647,15 @@ op { list { s: "SAME" s: "VALID" + s: "EXPLICIT" + } + } + } + attr { + name: "explicit_paddings" + type: "list(int)" + default_value { + list { } } } @@ -9097,6 +12726,15 @@ op { list { s: "SAME" s: "VALID" + s: "EXPLICIT" + } + } + } + attr { + name: "explicit_paddings" + type: "list(int)" + default_value { + list { } } } @@ -9142,7 +12780,7 @@ op { } output_arg { name: "output" - type: DT_FLOAT + type_attr: "dtype" } attr { name: "T" @@ -9171,6 +12809,33 @@ op { } } } + attr { + name: "narrow_range" + type: "bool" + default_value { + b: false + } + } + attr { + name: "axis" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_FLOAT + } + } + } } op { name: "DeserializeIterator" @@ -9278,6 +12943,17 @@ op { type: "string" } } +op { + name: "DeviceIndex" + output_arg { + name: "index" + type: DT_INT32 + } + attr { + name: "device_names" + type: "list(string)" + } +} op { name: "Diag" input_arg { @@ -9534,6 +13210,40 @@ op { } } } +op { + name: "DirectedInterleaveDataset" + input_arg { + name: "selector_input_dataset" + type: DT_VARIANT + } + input_arg { + name: "data_input_datasets" + type: DT_VARIANT + number_attr: "N" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } +} op { name: "Div" input_arg { @@ -9588,8 +13298,11 @@ op { type: "type" allowed_values { list { + type: DT_HALF type: DT_FLOAT type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 } } } @@ -9622,6 +13335,62 @@ op { } } } +op { + name: "DrawBoundingBoxesV2" + input_arg { + name: "images" + type_attr: "T" + } + input_arg { + name: "boxes" + type: DT_FLOAT + } + input_arg { + name: "colors" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_HALF + } + } + } +} +op { + name: "DummyIterationCounter" + output_arg { + name: "handle" + type: DT_RESOURCE + } + is_stateful: true +} +op { + name: "DummyMemoryCache" + output_arg { + name: "handle" + type: DT_RESOURCE + } + is_stateful: true +} +op { + name: "DummySeedGenerator" + output_arg { + name: "handle" + type: DT_RESOURCE + } + is_stateful: true +} op { name: "DynamicPartition" input_arg { @@ -9689,6 +13458,13 @@ op { name: "token" type: "string" } + attr { + name: "is_async" + type: "bool" + default_value { + b: false + } + } attr { name: "Tin" type: "list(type)" @@ -9743,6 +13519,76 @@ op { type: "type" } } +op { + name: "Eig" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "e" + type_attr: "Tout" + } + output_arg { + name: "v" + type_attr: "Tout" + } + attr { + name: "compute_v" + type: "bool" + default_value { + b: true + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } + attr { + name: "Tout" + type: "type" + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "Einsum" + input_arg { + name: "inputs" + type_attr: "T" + number_attr: "N" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "equation" + type: "string" + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "T" + type: "type" + } +} op { name: "Elu" input_arg { @@ -9845,6 +13691,13 @@ op { } } } +op { + name: "EmptyTensorMap" + output_arg { + name: "handle" + type: DT_VARIANT + } +} op { name: "EncodeBase64" input_arg { @@ -9950,6 +13803,21 @@ op { } } } +op { + name: "EncodeJpegVariableQuality" + input_arg { + name: "images" + type: DT_UINT8 + } + input_arg { + name: "quality" + type: DT_INT32 + } + output_arg { + name: "contents" + type: DT_STRING + } +} op { name: "EncodePng" input_arg { @@ -10032,6 +13900,305 @@ op { type: DT_STRING } } +op { + name: "EnqueueTPUEmbeddingIntegerBatch" + input_arg { + name: "batch" + type: DT_INT32 + number_attr: "N" + } + input_arg { + name: "mode_override" + type: DT_STRING + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "device_ordinal" + type: "int" + default_value { + i: -1 + } + } + is_stateful: true +} +op { + name: "EnqueueTPUEmbeddingRaggedTensorBatch" + input_arg { + name: "sample_splits" + type_attr: "T1" + number_attr: "N" + } + input_arg { + name: "embedding_indices" + type_attr: "T2" + number_attr: "N" + } + input_arg { + name: "aggregation_weights" + type_attr: "T3" + number_attr: "N" + } + input_arg { + name: "mode_override" + type: DT_STRING + } + attr { + name: "T1" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T2" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T3" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "device_ordinal" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "combiners" + type: "list(string)" + default_value { + list { + } + } + } + attr { + name: "table_ids" + type: "list(int)" + } + attr { + name: "max_sequence_lengths" + type: "list(int)" + default_value { + list { + } + } + } + is_stateful: true +} +op { + name: "EnqueueTPUEmbeddingSparseBatch" + input_arg { + name: "sample_indices" + type_attr: "T1" + number_attr: "N" + } + input_arg { + name: "embedding_indices" + type_attr: "T2" + number_attr: "N" + } + input_arg { + name: "aggregation_weights" + type_attr: "T3" + number_attr: "N" + } + input_arg { + name: "mode_override" + type: DT_STRING + } + attr { + name: "T1" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T2" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T3" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "device_ordinal" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "combiners" + type: "list(string)" + default_value { + list { + } + } + } + is_stateful: true +} +op { + name: "EnqueueTPUEmbeddingSparseTensorBatch" + input_arg { + name: "sample_indices" + type_attr: "T1" + number_attr: "N" + } + input_arg { + name: "embedding_indices" + type_attr: "T2" + number_attr: "N" + } + input_arg { + name: "aggregation_weights" + type_attr: "T3" + number_attr: "N" + } + input_arg { + name: "mode_override" + type: DT_STRING + } + attr { + name: "T1" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T2" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T3" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "device_ordinal" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "combiners" + type: "list(string)" + default_value { + list { + } + } + } + attr { + name: "table_ids" + type: "list(int)" + } + attr { + name: "max_sequence_lengths" + type: "list(int)" + default_value { + list { + } + } + } + is_stateful: true +} op { name: "EnsureShape" input_arg { @@ -10101,25 +14268,12 @@ op { attr { name: "T" type: "type" - allowed_values { - list { - type: DT_BFLOAT16 - type: DT_HALF - type: DT_FLOAT - type: DT_DOUBLE - type: DT_UINT8 - type: DT_INT8 - type: DT_INT16 - type: DT_INT32 - type: DT_INT64 - type: DT_COMPLEX64 - type: DT_QUINT8 - type: DT_QINT8 - type: DT_QINT32 - type: DT_STRING - type: DT_BOOL - type: DT_COMPLEX128 - } + } + attr { + name: "incompatible_shape_error" + type: "bool" + default_value { + b: true } } is_commutative: true @@ -10170,6 +14324,89 @@ op { } } } +op { + name: "Erfinv" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "EuclideanNorm" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "reduction_indices" + type_attr: "Tidx" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "keep_dims" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} op { name: "Exit" input_arg { @@ -10269,6 +14506,44 @@ op { minimum: 1 } } +op { + name: "ExperimentalAutoShardDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "num_workers" + type: DT_INT64 + } + input_arg { + name: "index" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "auto_shard_policy" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} op { name: "ExperimentalBytesProducedStatsDataset" input_arg { @@ -10361,6 +14636,40 @@ op { } is_stateful: true } +op { + name: "ExperimentalChooseFastestDataset" + input_arg { + name: "input_datasets" + type: DT_VARIANT + number_attr: "N" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 2 + } + attr { + name: "num_experiments" + type: "int" + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} op { name: "ExperimentalDatasetCardinality" input_arg { @@ -10386,6 +14695,7 @@ op { name: "compression_type" type: DT_STRING } + is_stateful: true } op { name: "ExperimentalDenseToSparseBatchDataset" @@ -10590,18 +14900,6 @@ op { minimum: 1 } } -op { - name: "ExperimentalIdentityIndexedDataset" - input_arg { - name: "size" - type: DT_UINT64 - } - output_arg { - name: "handle" - type: DT_VARIANT - } - is_stateful: true -} op { name: "ExperimentalIgnoreErrorsDataset" input_arg { @@ -10624,46 +14922,13 @@ op { has_minimum: true minimum: 1 } -} -op { - name: "ExperimentalIndexedDatasetGet" - input_arg { - name: "materialized" - type: DT_RESOURCE - } - input_arg { - name: "index" - type: DT_UINT64 - } - output_arg { - name: "components" - type_list_attr: "output_types" - } attr { - name: "output_types" - type: "list(type)" - has_minimum: true - minimum: 1 + name: "log_warning" + type: "bool" + default_value { + b: false + } } - attr { - name: "output_shapes" - type: "list(shape)" - has_minimum: true - minimum: 1 - } - is_stateful: true -} -op { - name: "ExperimentalIndexedDatasetMaterialize" - input_arg { - name: "dataset" - type: DT_VARIANT - } - input_arg { - name: "materialized" - type: DT_RESOURCE - } - is_stateful: true } op { name: "ExperimentalIteratorGetDevice" @@ -10845,34 +15110,6 @@ op { } is_stateful: true } -op { - name: "ExperimentalMaterializedIndexDatasetHandle" - output_arg { - name: "handle" - type: DT_RESOURCE - } - attr { - name: "container" - type: "string" - } - attr { - name: "shared_name" - type: "string" - } - attr { - name: "output_types" - type: "list(type)" - has_minimum: true - minimum: 1 - } - attr { - name: "output_shapes" - type: "list(shape)" - has_minimum: true - minimum: 1 - } - is_stateful: true -} op { name: "ExperimentalMaxIntraOpParallelismDataset" input_arg { @@ -10923,61 +15160,6 @@ op { minimum: 1 } } -op { - name: "ExperimentalNumaMapAndBatchDataset" - input_arg { - name: "input_dataset" - type: DT_VARIANT - } - input_arg { - name: "other_arguments" - type_list_attr: "Targuments" - } - input_arg { - name: "batch_size" - type: DT_INT64 - } - input_arg { - name: "num_parallel_calls" - type: DT_INT64 - } - input_arg { - name: "drop_remainder" - type: DT_BOOL - } - output_arg { - name: "handle" - type: DT_VARIANT - } - attr { - name: "f" - type: "func" - } - attr { - name: "Targuments" - type: "list(type)" - has_minimum: true - } - attr { - name: "output_types" - type: "list(type)" - has_minimum: true - minimum: 1 - } - attr { - name: "output_shapes" - type: "list(shape)" - has_minimum: true - minimum: 1 - } - attr { - name: "preserve_cardinality" - type: "bool" - default_value { - b: false - } - } -} op { name: "ExperimentalParallelInterleaveDataset" input_arg { @@ -11166,6 +15348,40 @@ op { } is_stateful: true } +op { + name: "ExperimentalRebatchDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "num_replicas" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "use_fallback" + type: "bool" + default_value { + b: true + } + } +} op { name: "ExperimentalScanDataset" input_arg { @@ -11383,6 +15599,42 @@ op { } is_stateful: true } +op { + name: "ExperimentalTakeWhileDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "predicate" + type: "func" + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} op { name: "ExperimentalThreadPoolDataset" input_arg { @@ -11494,6 +15746,29 @@ op { minimum: 1 } } +op { + name: "Expint" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} op { name: "Expm1" input_arg { @@ -11558,6 +15833,60 @@ op { b: true } } + attr { + name: "noise" + type: "string" + default_value { + s: "uniform" + } + } +} +op { + name: "ExtractGlimpseV2" + input_arg { + name: "input" + type: DT_FLOAT + } + input_arg { + name: "size" + type: DT_INT32 + } + input_arg { + name: "offsets" + type: DT_FLOAT + } + output_arg { + name: "glimpse" + type: DT_FLOAT + } + attr { + name: "centered" + type: "bool" + default_value { + b: true + } + } + attr { + name: "normalized" + type: "bool" + default_value { + b: true + } + } + attr { + name: "uniform_noise" + type: "bool" + default_value { + b: true + } + } + attr { + name: "noise" + type: "string" + default_value { + s: "uniform" + } + } } op { name: "ExtractImagePatches" @@ -11592,18 +15921,21 @@ op { type: "type" allowed_values { list { + type: DT_BFLOAT16 + type: DT_HALF type: DT_FLOAT type: DT_DOUBLE - type: DT_INT32 - type: DT_UINT8 - type: DT_INT16 type: DT_INT8 + type: DT_INT16 + type: DT_INT32 type: DT_INT64 - type: DT_BFLOAT16 + type: DT_UINT8 type: DT_UINT16 - type: DT_HALF type: DT_UINT32 type: DT_UINT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + type: DT_BOOL } } } @@ -12220,6 +16552,25 @@ op { minimum: 1 } } +op { + name: "Fingerprint" + input_arg { + name: "data" + type_attr: "T" + } + input_arg { + name: "method" + type: DT_STRING + } + output_arg { + name: "fingerprint" + type: DT_UINT8 + } + attr { + name: "T" + type: "type" + } +} op { name: "FixedLengthRecordDataset" input_arg { @@ -12603,6 +16954,7 @@ op { list { type: DT_INT32 type: DT_INT64 + type: DT_UINT64 type: DT_BFLOAT16 type: DT_HALF type: DT_FLOAT @@ -12883,6 +17235,52 @@ op { } } } +op { + name: "FresnelCos" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "FresnelSin" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} op { name: "FusedBatchNorm" input_arg { @@ -12941,6 +17339,13 @@ op { f: 0.0001 } } + attr { + name: "exponential_avg_factor" + type: "float" + default_value { + f: 1 + } + } attr { name: "data_format" type: "string" @@ -13131,6 +17536,102 @@ op { } } } +op { + name: "FusedBatchNormGradV3" + input_arg { + name: "y_backprop" + type_attr: "T" + } + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "scale" + type: DT_FLOAT + } + input_arg { + name: "reserve_space_1" + type_attr: "U" + } + input_arg { + name: "reserve_space_2" + type_attr: "U" + } + input_arg { + name: "reserve_space_3" + type_attr: "U" + } + output_arg { + name: "x_backprop" + type_attr: "T" + } + output_arg { + name: "scale_backprop" + type_attr: "U" + } + output_arg { + name: "offset_backprop" + type_attr: "U" + } + output_arg { + name: "reserve_space_4" + type_attr: "U" + } + output_arg { + name: "reserve_space_5" + type_attr: "U" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + } + } + } + attr { + name: "U" + type: "type" + allowed_values { + list { + type: DT_FLOAT + } + } + } + attr { + name: "epsilon" + type: "float" + default_value { + f: 0.0001 + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + s: "NDHWC" + s: "NCDHW" + } + } + } + attr { + name: "is_training" + type: "bool" + default_value { + b: true + } + } +} op { name: "FusedBatchNormV2" input_arg { @@ -13200,6 +17701,13 @@ op { f: 0.0001 } } + attr { + name: "exponential_avg_factor" + type: "float" + default_value { + f: 1 + } + } attr { name: "data_format" type: "string" @@ -13221,6 +17729,109 @@ op { } } } +op { + name: "FusedBatchNormV3" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "scale" + type_attr: "U" + } + input_arg { + name: "offset" + type_attr: "U" + } + input_arg { + name: "mean" + type_attr: "U" + } + input_arg { + name: "variance" + type_attr: "U" + } + output_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "batch_mean" + type_attr: "U" + } + output_arg { + name: "batch_variance" + type_attr: "U" + } + output_arg { + name: "reserve_space_1" + type_attr: "U" + } + output_arg { + name: "reserve_space_2" + type_attr: "U" + } + output_arg { + name: "reserve_space_3" + type_attr: "U" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + } + } + } + attr { + name: "U" + type: "type" + allowed_values { + list { + type: DT_FLOAT + } + } + } + attr { + name: "epsilon" + type: "float" + default_value { + f: 0.0001 + } + } + attr { + name: "exponential_avg_factor" + type: "float" + default_value { + f: 1 + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + s: "NDHWC" + s: "NCDHW" + } + } + } + attr { + name: "is_training" + type: "bool" + default_value { + b: true + } + } +} op { name: "FusedPadConv2D" input_arg { @@ -13340,6 +17951,126 @@ op { } } } +op { + name: "GRUBlockCell" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "h_prev" + type_attr: "T" + } + input_arg { + name: "w_ru" + type_attr: "T" + } + input_arg { + name: "w_c" + type_attr: "T" + } + input_arg { + name: "b_ru" + type_attr: "T" + } + input_arg { + name: "b_c" + type_attr: "T" + } + output_arg { + name: "r" + type_attr: "T" + } + output_arg { + name: "u" + type_attr: "T" + } + output_arg { + name: "c" + type_attr: "T" + } + output_arg { + name: "h" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + } + } + } +} +op { + name: "GRUBlockCellGrad" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "h_prev" + type_attr: "T" + } + input_arg { + name: "w_ru" + type_attr: "T" + } + input_arg { + name: "w_c" + type_attr: "T" + } + input_arg { + name: "b_ru" + type_attr: "T" + } + input_arg { + name: "b_c" + type_attr: "T" + } + input_arg { + name: "r" + type_attr: "T" + } + input_arg { + name: "u" + type_attr: "T" + } + input_arg { + name: "c" + type_attr: "T" + } + input_arg { + name: "d_h" + type_attr: "T" + } + output_arg { + name: "d_x" + type_attr: "T" + } + output_arg { + name: "d_h_prev" + type_attr: "T" + } + output_arg { + name: "d_c_bar" + type_attr: "T" + } + output_arg { + name: "d_r_bar_u_bar" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + } + } + } +} op { name: "Gather" input_arg { @@ -13423,6 +18154,13 @@ op { name: "output" type_attr: "Tparams" } + attr { + name: "batch_dims" + type: "int" + default_value { + i: 0 + } + } attr { name: "Tparams" type: "type" @@ -13448,6 +18186,52 @@ op { } } } +op { + name: "GenerateBoundingBoxProposals" + input_arg { + name: "scores" + type: DT_FLOAT + } + input_arg { + name: "bbox_deltas" + type: DT_FLOAT + } + input_arg { + name: "image_info" + type: DT_FLOAT + } + input_arg { + name: "anchors" + type: DT_FLOAT + } + input_arg { + name: "nms_threshold" + type: DT_FLOAT + } + input_arg { + name: "pre_nms_topn" + type: DT_INT32 + } + input_arg { + name: "min_size" + type: DT_FLOAT + } + output_arg { + name: "rois" + type: DT_FLOAT + } + output_arg { + name: "roi_probabilities" + type: DT_FLOAT + } + attr { + name: "post_nms_topn" + type: "int" + default_value { + i: 300 + } + } +} op { name: "GenerateVocabRemapping" input_arg { @@ -13663,6 +18447,144 @@ op { } } } +op { + name: "GroupByReducerDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "key_func_other_arguments" + type_list_attr: "Tkey_func_other_arguments" + } + input_arg { + name: "init_func_other_arguments" + type_list_attr: "Tinit_func_other_arguments" + } + input_arg { + name: "reduce_func_other_arguments" + type_list_attr: "Treduce_func_other_arguments" + } + input_arg { + name: "finalize_func_other_arguments" + type_list_attr: "Tfinalize_func_other_arguments" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "key_func" + type: "func" + } + attr { + name: "init_func" + type: "func" + } + attr { + name: "reduce_func" + type: "func" + } + attr { + name: "finalize_func" + type: "func" + } + attr { + name: "Tkey_func_other_arguments" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tinit_func_other_arguments" + type: "list(type)" + has_minimum: true + } + attr { + name: "Treduce_func_other_arguments" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tfinalize_func_other_arguments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "GroupByWindowDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "key_func_other_arguments" + type_list_attr: "Tkey_func_other_arguments" + } + input_arg { + name: "reduce_func_other_arguments" + type_list_attr: "Treduce_func_other_arguments" + } + input_arg { + name: "window_size_func_other_arguments" + type_list_attr: "Twindow_size_func_other_arguments" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "key_func" + type: "func" + } + attr { + name: "reduce_func" + type: "func" + } + attr { + name: "window_size_func" + type: "func" + } + attr { + name: "Tkey_func_other_arguments" + type: "list(type)" + has_minimum: true + } + attr { + name: "Treduce_func_other_arguments" + type: "list(type)" + has_minimum: true + } + attr { + name: "Twindow_size_func_other_arguments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} op { name: "GuaranteeConst" input_arg { @@ -13953,7 +18875,7 @@ op { name: "IRFFT" input_arg { name: "input" - type: DT_COMPLEX64 + type_attr: "Tcomplex" } input_arg { name: "fft_length" @@ -13961,14 +18883,40 @@ op { } output_arg { name: "output" - type: DT_FLOAT + type_attr: "Treal" + } + attr { + name: "Treal" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tcomplex" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } } } op { name: "IRFFT2D" input_arg { name: "input" - type: DT_COMPLEX64 + type_attr: "Tcomplex" } input_arg { name: "fft_length" @@ -13976,14 +18924,40 @@ op { } output_arg { name: "output" - type: DT_FLOAT + type_attr: "Treal" + } + attr { + name: "Treal" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tcomplex" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } } } op { name: "IRFFT3D" input_arg { name: "input" - type: DT_COMPLEX64 + type_attr: "Tcomplex" } input_arg { name: "fft_length" @@ -13991,7 +18965,33 @@ op { } output_arg { name: "output" - type: DT_FLOAT + type_attr: "Treal" + } + attr { + name: "Treal" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tcomplex" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } } } op { @@ -14196,6 +19196,36 @@ op { } } } +op { + name: "IgnoreErrorsDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "log_warning" + type: "bool" + default_value { + b: false + } + } +} op { name: "Imag" input_arg { @@ -14233,6 +19263,98 @@ op { } } } +op { + name: "ImageProjectiveTransformV2" + input_arg { + name: "images" + type_attr: "dtype" + } + input_arg { + name: "transforms" + type: DT_FLOAT + } + input_arg { + name: "output_shape" + type: DT_INT32 + } + output_arg { + name: "transformed_images" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_UINT8 + type: DT_INT32 + type: DT_INT64 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "interpolation" + type: "string" + } + attr { + name: "fill_mode" + type: "string" + default_value { + s: "CONSTANT" + } + } +} +op { + name: "ImageProjectiveTransformV3" + input_arg { + name: "images" + type_attr: "dtype" + } + input_arg { + name: "transforms" + type: DT_FLOAT + } + input_arg { + name: "output_shape" + type: DT_INT32 + } + input_arg { + name: "fill_value" + type: DT_FLOAT + } + output_arg { + name: "transformed_images" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_UINT8 + type: DT_INT32 + type: DT_INT64 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "interpolation" + type: "string" + } + attr { + name: "fill_mode" + type: "string" + default_value { + s: "CONSTANT" + } + } +} op { name: "ImageSummary" input_arg { @@ -14385,6 +19507,122 @@ op { } } } +op { + name: "InfeedDequeue" + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "shape" + type: "shape" + } + is_stateful: true +} +op { + name: "InfeedDequeueTuple" + output_arg { + name: "outputs" + type_list_attr: "dtypes" + } + attr { + name: "dtypes" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "shapes" + type: "list(shape)" + } + is_stateful: true +} +op { + name: "InfeedEnqueue" + input_arg { + name: "input" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "shape" + type: "shape" + default_value { + shape { + } + } + } + attr { + name: "layout" + type: "list(int)" + default_value { + list { + } + } + } + attr { + name: "device_ordinal" + type: "int" + default_value { + i: -1 + } + } + is_stateful: true +} +op { + name: "InfeedEnqueuePrelinearizedBuffer" + input_arg { + name: "input" + type: DT_VARIANT + } + attr { + name: "device_ordinal" + type: "int" + default_value { + i: -1 + } + } +} +op { + name: "InfeedEnqueueTuple" + input_arg { + name: "inputs" + type_list_attr: "dtypes" + } + attr { + name: "dtypes" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "shapes" + type: "list(shape)" + } + attr { + name: "layouts" + type: "list(int)" + default_value { + list { + } + } + } + attr { + name: "device_ordinal" + type: "int" + default_value { + i: -1 + } + } + is_stateful: true +} op { name: "InitializeTable" input_arg { @@ -14409,6 +19647,18 @@ op { type: "type" } } +op { + name: "InitializeTableFromDataset" + input_arg { + name: "table_handle" + type: DT_RESOURCE + } + input_arg { + name: "dataset" + type: DT_VARIANT + } + is_stateful: true +} op { name: "InitializeTableFromTextFile" input_arg { @@ -14645,6 +19895,8 @@ op { type: DT_HALF type: DT_FLOAT type: DT_DOUBLE + type: DT_INT8 + type: DT_INT16 type: DT_INT32 type: DT_INT64 type: DT_COMPLEX64 @@ -14843,6 +20095,56 @@ op { } allows_uninitialized_input: true } +op { + name: "IsotonicRegression" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "output_dtype" + } + output_arg { + name: "segments" + type: DT_INT32 + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "output_dtype" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} op { name: "Iterator" output_arg { @@ -14931,6 +20233,18 @@ op { } is_stateful: true } +op { + name: "IteratorGetDevice" + input_arg { + name: "resource" + type: DT_RESOURCE + } + output_arg { + name: "device" + type: DT_STRING + } + is_stateful: true +} op { name: "IteratorGetNext" input_arg { @@ -15043,6 +20357,59 @@ op { } is_stateful: true } +op { + name: "KMC2ChainInitialization" + input_arg { + name: "distances" + type: DT_FLOAT + } + input_arg { + name: "seed" + type: DT_INT64 + } + output_arg { + name: "index" + type: DT_INT64 + } +} +op { + name: "KmeansPlusPlusInitialization" + input_arg { + name: "points" + type: DT_FLOAT + } + input_arg { + name: "num_to_sample" + type: DT_INT64 + } + input_arg { + name: "seed" + type: DT_INT64 + } + input_arg { + name: "num_retries_per_sample" + type: DT_INT64 + } + output_arg { + name: "samples" + type: DT_FLOAT + } +} +op { + name: "KthOrderStatistic" + input_arg { + name: "input" + type: DT_FLOAT + } + output_arg { + name: "output" + type: DT_FLOAT + } + attr { + name: "k" + type: "int" + } +} op { name: "L2Loss" input_arg { @@ -15066,6 +20433,30 @@ op { } } } +op { + name: "LMDBDataset" + input_arg { + name: "filenames" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} op { name: "LMDBReader" output_arg { @@ -15203,6 +20594,228 @@ op { } } } +op { + name: "LSTMBlockCell" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "cs_prev" + type_attr: "T" + } + input_arg { + name: "h_prev" + type_attr: "T" + } + input_arg { + name: "w" + type_attr: "T" + } + input_arg { + name: "wci" + type_attr: "T" + } + input_arg { + name: "wcf" + type_attr: "T" + } + input_arg { + name: "wco" + type_attr: "T" + } + input_arg { + name: "b" + type_attr: "T" + } + output_arg { + name: "i" + type_attr: "T" + } + output_arg { + name: "cs" + type_attr: "T" + } + output_arg { + name: "f" + type_attr: "T" + } + output_arg { + name: "o" + type_attr: "T" + } + output_arg { + name: "ci" + type_attr: "T" + } + output_arg { + name: "co" + type_attr: "T" + } + output_arg { + name: "h" + type_attr: "T" + } + attr { + name: "forget_bias" + type: "float" + default_value { + f: 1 + } + } + attr { + name: "cell_clip" + type: "float" + default_value { + f: 3 + } + } + attr { + name: "use_peephole" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } +} +op { + name: "LSTMBlockCellGrad" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "cs_prev" + type_attr: "T" + } + input_arg { + name: "h_prev" + type_attr: "T" + } + input_arg { + name: "w" + type_attr: "T" + } + input_arg { + name: "wci" + type_attr: "T" + } + input_arg { + name: "wcf" + type_attr: "T" + } + input_arg { + name: "wco" + type_attr: "T" + } + input_arg { + name: "b" + type_attr: "T" + } + input_arg { + name: "i" + type_attr: "T" + } + input_arg { + name: "cs" + type_attr: "T" + } + input_arg { + name: "f" + type_attr: "T" + } + input_arg { + name: "o" + type_attr: "T" + } + input_arg { + name: "ci" + type_attr: "T" + } + input_arg { + name: "co" + type_attr: "T" + } + input_arg { + name: "cs_grad" + type_attr: "T" + } + input_arg { + name: "h_grad" + type_attr: "T" + } + output_arg { + name: "cs_prev_grad" + type_attr: "T" + } + output_arg { + name: "dicfo" + type_attr: "T" + } + output_arg { + name: "wci_grad" + type_attr: "T" + } + output_arg { + name: "wcf_grad" + type_attr: "T" + } + output_arg { + name: "wco_grad" + type_attr: "T" + } + attr { + name: "use_peephole" + type: "bool" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } +} +op { + name: "LatencyStatsDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "tag" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} op { name: "LeakyRelu" input_arg { @@ -15359,7 +20972,65 @@ op { } } } - is_commutative: true +} +op { + name: "LegacyParallelInterleaveDatasetV2" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + input_arg { + name: "cycle_length" + type: DT_INT64 + } + input_arg { + name: "block_length" + type: DT_INT64 + } + input_arg { + name: "buffer_output_elements" + type: DT_INT64 + } + input_arg { + name: "prefetch_input_elements" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "f" + type: "func" + } + attr { + name: "deterministic" + type: "string" + default_value { + s: "default" + } + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } } op { name: "Less" @@ -15478,6 +21149,7 @@ op { allowed_values { list { type: DT_BFLOAT16 + type: DT_HALF type: DT_FLOAT type: DT_DOUBLE } @@ -15579,6 +21251,1040 @@ op { } is_stateful: true } +op { + name: "LoadDataset" + input_arg { + name: "path" + type: DT_STRING + } + input_arg { + name: "reader_func_other_args" + type_list_attr: "Treader_func_args" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "compression" + type: "string" + default_value { + s: "" + } + } + attr { + name: "reader_func" + type: "func" + } + attr { + name: "Treader_func_args" + type: "list(type)" + has_minimum: true + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingADAMParameters" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "momenta" + type: DT_FLOAT + } + input_arg { + name: "velocities" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingADAMParametersGradAccumDebug" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "momenta" + type: DT_FLOAT + } + input_arg { + name: "velocities" + type: DT_FLOAT + } + input_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingAdadeltaParameters" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "accumulators" + type: DT_FLOAT + } + input_arg { + name: "updates" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingAdadeltaParametersGradAccumDebug" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "accumulators" + type: DT_FLOAT + } + input_arg { + name: "updates" + type: DT_FLOAT + } + input_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingAdagradParameters" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingAdagradParametersGradAccumDebug" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "accumulators" + type: DT_FLOAT + } + input_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingCenteredRMSPropParameters" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "ms" + type: DT_FLOAT + } + input_arg { + name: "mom" + type: DT_FLOAT + } + input_arg { + name: "mg" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingFTRLParameters" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "accumulators" + type: DT_FLOAT + } + input_arg { + name: "linears" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingFTRLParametersGradAccumDebug" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "accumulators" + type: DT_FLOAT + } + input_arg { + name: "linears" + type: DT_FLOAT + } + input_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingFrequencyEstimatorParameters" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "last_hit_step" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingFrequencyEstimatorParametersGradAccumDebug" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "last_hit_step" + type: DT_FLOAT + } + input_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingMDLAdagradLightParameters" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "accumulators" + type: DT_FLOAT + } + input_arg { + name: "weights" + type: DT_FLOAT + } + input_arg { + name: "benefits" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingMomentumParameters" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "momenta" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingMomentumParametersGradAccumDebug" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "momenta" + type: DT_FLOAT + } + input_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingProximalAdagradParameters" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingProximalAdagradParametersGradAccumDebug" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "accumulators" + type: DT_FLOAT + } + input_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingProximalYogiParameters" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "v" + type: DT_FLOAT + } + input_arg { + name: "m" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingProximalYogiParametersGradAccumDebug" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "v" + type: DT_FLOAT + } + input_arg { + name: "m" + type: DT_FLOAT + } + input_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingRMSPropParameters" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "ms" + type: DT_FLOAT + } + input_arg { + name: "mom" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingRMSPropParametersGradAccumDebug" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "ms" + type: DT_FLOAT + } + input_arg { + name: "mom" + type: DT_FLOAT + } + input_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingStochasticGradientDescentParameters" + input_arg { + name: "parameters" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingStochasticGradientDescentParametersGradAccumDebug" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} op { name: "Log" input_arg { @@ -15648,6 +22354,7 @@ op { type: "type" allowed_values { list { + type: DT_HALF type: DT_FLOAT type: DT_DOUBLE type: DT_COMPLEX64 @@ -16082,6 +22789,7 @@ op { list { type: DT_DOUBLE type: DT_FLOAT + type: DT_HALF type: DT_COMPLEX64 type: DT_COMPLEX128 } @@ -16113,6 +22821,72 @@ op { } is_stateful: true } +op { + name: "MakeUnique" + input_arg { + name: "input" + type: DT_FLOAT + } + output_arg { + name: "output" + type: DT_FLOAT + } +} +op { + name: "MapAndBatchDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + input_arg { + name: "batch_size" + type: DT_INT64 + } + input_arg { + name: "num_parallel_calls" + type: DT_INT64 + } + input_arg { + name: "drop_remainder" + type: DT_BOOL + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "f" + type: "func" + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "preserve_cardinality" + type: "bool" + default_value { + b: false + } + } +} op { name: "MapClear" attr { @@ -16246,6 +23020,13 @@ op { name: "f" type: "func" } + attr { + name: "max_intra_op_parallelism" + type: "int" + default_value { + i: 1 + } + } } op { name: "MapIncompleteSize" @@ -16599,6 +23380,18 @@ op { type: DT_STRING } } +op { + name: "MatchingFilesDataset" + input_arg { + name: "patterns" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + is_stateful: true +} op { name: "MatrixBandPart" input_arg { @@ -16650,6 +23443,7 @@ op { type: "type" allowed_values { list { + type: DT_HALF type: DT_FLOAT type: DT_DOUBLE type: DT_COMPLEX64 @@ -16688,6 +23482,144 @@ op { type: "type" } } +op { + name: "MatrixDiagPartV2" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "k" + type: DT_INT32 + } + input_arg { + name: "padding_value" + type_attr: "T" + } + output_arg { + name: "diagonal" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } +} +op { + name: "MatrixDiagPartV3" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "k" + type: DT_INT32 + } + input_arg { + name: "padding_value" + type_attr: "T" + } + output_arg { + name: "diagonal" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "align" + type: "string" + default_value { + s: "RIGHT_LEFT" + } + allowed_values { + list { + s: "LEFT_RIGHT" + s: "RIGHT_LEFT" + s: "LEFT_LEFT" + s: "RIGHT_RIGHT" + } + } + } +} +op { + name: "MatrixDiagV2" + input_arg { + name: "diagonal" + type_attr: "T" + } + input_arg { + name: "k" + type: DT_INT32 + } + input_arg { + name: "num_rows" + type: DT_INT32 + } + input_arg { + name: "num_cols" + type: DT_INT32 + } + input_arg { + name: "padding_value" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } +} +op { + name: "MatrixDiagV3" + input_arg { + name: "diagonal" + type_attr: "T" + } + input_arg { + name: "k" + type: DT_INT32 + } + input_arg { + name: "num_rows" + type: DT_INT32 + } + input_arg { + name: "num_cols" + type: DT_INT32 + } + input_arg { + name: "padding_value" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "align" + type: "string" + default_value { + s: "RIGHT_LEFT" + } + allowed_values { + list { + s: "LEFT_RIGHT" + s: "RIGHT_LEFT" + s: "LEFT_LEFT" + s: "RIGHT_RIGHT" + } + } + } +} op { name: "MatrixExponential" input_arg { @@ -16705,6 +23637,7 @@ op { list { type: DT_DOUBLE type: DT_FLOAT + type: DT_HALF type: DT_COMPLEX64 type: DT_COMPLEX128 } @@ -16739,6 +23672,7 @@ op { list { type: DT_DOUBLE type: DT_FLOAT + type: DT_HALF type: DT_COMPLEX64 type: DT_COMPLEX128 } @@ -16785,6 +23719,67 @@ op { type: "type" } } +op { + name: "MatrixSetDiagV2" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "diagonal" + type_attr: "T" + } + input_arg { + name: "k" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } +} +op { + name: "MatrixSetDiagV3" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "diagonal" + type_attr: "T" + } + input_arg { + name: "k" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "align" + type: "string" + default_value { + s: "RIGHT_LEFT" + } + allowed_values { + list { + s: "LEFT_RIGHT" + s: "RIGHT_LEFT" + s: "LEFT_LEFT" + s: "RIGHT_RIGHT" + } + } + } +} op { name: "MatrixSolve" input_arg { @@ -16813,6 +23808,7 @@ op { list { type: DT_DOUBLE type: DT_FLOAT + type: DT_HALF type: DT_COMPLEX64 type: DT_COMPLEX128 } @@ -16844,6 +23840,7 @@ op { list { type: DT_DOUBLE type: DT_FLOAT + type: DT_HALF type: DT_COMPLEX64 type: DT_COMPLEX128 } @@ -16874,6 +23871,7 @@ op { list { type: DT_DOUBLE type: DT_FLOAT + type: DT_HALF type: DT_COMPLEX64 type: DT_COMPLEX128 } @@ -16915,6 +23913,7 @@ op { list { type: DT_DOUBLE type: DT_FLOAT + type: DT_HALF type: DT_COMPLEX64 type: DT_COMPLEX128 } @@ -16953,17 +23952,17 @@ op { type: DT_UINT8 type: DT_INT16 type: DT_INT8 - type: DT_COMPLEX64 type: DT_INT64 - type: DT_QINT8 - type: DT_QUINT8 - type: DT_QINT32 type: DT_BFLOAT16 type: DT_UINT16 - type: DT_COMPLEX128 type: DT_HALF type: DT_UINT32 type: DT_UINT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 } } } @@ -16981,6 +23980,33 @@ op { } } } +op { + name: "MaxIntraOpParallelismDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "max_intra_op_parallelism" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} op { name: "MaxPool" input_arg { @@ -17032,6 +24058,15 @@ op { list { s: "SAME" s: "VALID" + s: "EXPLICIT" + } + } + } + attr { + name: "explicit_paddings" + type: "list(int)" + default_value { + list { } } } @@ -17300,6 +24335,15 @@ op { list { s: "SAME" s: "VALID" + s: "EXPLICIT" + } + } + } + attr { + name: "explicit_paddings" + type: "list(int)" + default_value { + list { } } } @@ -17524,6 +24568,13 @@ op { } } } + attr { + name: "include_batch_in_index" + type: "bool" + default_value { + b: false + } + } attr { name: "Targmax" type: "type" @@ -17668,6 +24719,13 @@ op { } } } + attr { + name: "include_batch_in_index" + type: "bool" + default_value { + b: false + } + } attr { name: "Targmax" type: "type" @@ -17813,6 +24871,13 @@ op { } } } + attr { + name: "include_batch_in_index" + type: "bool" + default_value { + b: false + } + } attr { name: "T" type: "type" @@ -17857,12 +24922,13 @@ op { type: DT_HALF type: DT_FLOAT type: DT_DOUBLE + type: DT_UINT8 + type: DT_INT16 type: DT_INT32 type: DT_INT64 } } } - is_commutative: true } op { name: "Mean" @@ -18062,17 +25128,17 @@ op { type: DT_UINT8 type: DT_INT16 type: DT_INT8 - type: DT_COMPLEX64 type: DT_INT64 - type: DT_QINT8 - type: DT_QUINT8 - type: DT_QINT32 type: DT_BFLOAT16 type: DT_UINT16 - type: DT_COMPLEX128 type: DT_HALF type: DT_UINT32 type: DT_UINT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 } } } @@ -18113,12 +25179,13 @@ op { type: DT_HALF type: DT_FLOAT type: DT_DOUBLE + type: DT_UINT8 + type: DT_INT16 type: DT_INT32 type: DT_INT64 } } } - is_commutative: true } op { name: "MirrorPad" @@ -18204,6 +25271,31 @@ op { } } } +op { + name: "MlirPassthroughOp" + input_arg { + name: "inputs" + type_list_attr: "Tinputs" + } + output_arg { + name: "outputs" + type_list_attr: "Toutputs" + } + attr { + name: "mlir_module" + type: "string" + } + attr { + name: "Tinputs" + type: "list(type)" + has_minimum: true + } + attr { + name: "Toutputs" + type: "list(type)" + has_minimum: true + } +} op { name: "Mod" input_arg { @@ -18244,6 +25336,27 @@ op { name: "handle" type: DT_VARIANT } + attr { + name: "algorithm" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "cpu_budget" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "ram_budget" + type: "int" + default_value { + i: 0 + } + } attr { name: "output_types" type: "list(type)" @@ -18293,6 +25406,35 @@ op { } is_commutative: true } +op { + name: "MulNoNan" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} op { name: "MultiDeviceIterator" output_arg { @@ -18933,6 +26075,52 @@ op { } is_stateful: true } +op { + name: "Ndtri" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "NearestNeighbors" + input_arg { + name: "points" + type: DT_FLOAT + } + input_arg { + name: "centers" + type: DT_FLOAT + } + input_arg { + name: "k" + type: DT_INT64 + } + output_arg { + name: "nearest_center_indices" + type: DT_INT64 + } + output_arg { + name: "nearest_center_distances" + type: DT_FLOAT + } +} op { name: "Neg" input_arg { @@ -18952,6 +26140,8 @@ op { type: DT_HALF type: DT_FLOAT type: DT_DOUBLE + type: DT_INT8 + type: DT_INT16 type: DT_INT32 type: DT_INT64 type: DT_COMPLEX64 @@ -18998,6 +26188,34 @@ op { } is_stateful: true } +op { + name: "NextAfter" + input_arg { + name: "x1" + type_attr: "T" + } + input_arg { + name: "x2" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + } + } + } +} op { name: "NextIteration" input_arg { @@ -19016,6 +26234,32 @@ op { op { name: "NoOp" } +op { + name: "NonDeterministicInts" + input_arg { + name: "shape" + type_attr: "shape_dtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_INT64 + } + } + attr { + name: "shape_dtype" + type: "type" + default_value { + type: DT_INT64 + } + } + is_stateful: true +} op { name: "NonMaxSuppression" input_arg { @@ -19058,7 +26302,7 @@ op { } input_arg { name: "iou_threshold" - type: DT_FLOAT + type_attr: "T_threshold" } output_arg { name: "selected_indices" @@ -19077,6 +26321,19 @@ op { } } } + attr { + name: "T_threshold" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } } op { name: "NonMaxSuppressionV3" @@ -19094,11 +26351,11 @@ op { } input_arg { name: "iou_threshold" - type: DT_FLOAT + type_attr: "T_threshold" } input_arg { name: "score_threshold" - type: DT_FLOAT + type_attr: "T_threshold" } output_arg { name: "selected_indices" @@ -19117,6 +26374,19 @@ op { } } } + attr { + name: "T_threshold" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } } op { name: "NonMaxSuppressionV4" @@ -19134,11 +26404,11 @@ op { } input_arg { name: "iou_threshold" - type: DT_FLOAT + type_attr: "T_threshold" } input_arg { name: "score_threshold" - type: DT_FLOAT + type_attr: "T_threshold" } output_arg { name: "selected_indices" @@ -19161,6 +26431,78 @@ op { } } } + attr { + name: "T_threshold" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } + attr { + name: "pad_to_max_output_size" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "NonMaxSuppressionV5" + input_arg { + name: "boxes" + type_attr: "T" + } + input_arg { + name: "scores" + type_attr: "T" + } + input_arg { + name: "max_output_size" + type: DT_INT32 + } + input_arg { + name: "iou_threshold" + type_attr: "T" + } + input_arg { + name: "score_threshold" + type_attr: "T" + } + input_arg { + name: "soft_nms_sigma" + type_attr: "T" + } + output_arg { + name: "selected_indices" + type: DT_INT32 + } + output_arg { + name: "selected_scores" + type_attr: "T" + } + output_arg { + name: "valid_outputs" + type: DT_INT32 + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } attr { name: "pad_to_max_output_size" type: "bool" @@ -19196,6 +26538,29 @@ op { type: DT_INT32 } } +op { + name: "NonSerializableDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} op { name: "NotEqual" input_arg { @@ -19213,25 +26578,12 @@ op { attr { name: "T" type: "type" - allowed_values { - list { - type: DT_BFLOAT16 - type: DT_HALF - type: DT_FLOAT - type: DT_DOUBLE - type: DT_UINT8 - type: DT_INT8 - type: DT_INT16 - type: DT_INT32 - type: DT_INT64 - type: DT_COMPLEX64 - type: DT_QUINT8 - type: DT_QINT8 - type: DT_QINT32 - type: DT_STRING - type: DT_BOOL - type: DT_COMPLEX128 - } + } + attr { + name: "incompatible_shape_error" + type: "bool" + default_value { + b: true } } is_commutative: true @@ -19422,6 +26774,57 @@ op { has_minimum: true minimum: 1 } + attr { + name: "optimization_configs" + type: "list(string)" + default_value { + list { + } + } + } +} +op { + name: "OptimizeDatasetV2" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "optimizations_enabled" + type: DT_STRING + } + input_arg { + name: "optimizations_disabled" + type: DT_STRING + } + input_arg { + name: "optimizations_default" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "optimization_configs" + type: "list(string)" + default_value { + list { + } + } + } } op { name: "OptionalFromValue" @@ -19815,6 +27218,122 @@ op { } is_stateful: true } +op { + name: "OutfeedDequeue" + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "shape" + type: "shape" + } + attr { + name: "device_ordinal" + type: "int" + default_value { + i: -1 + } + } + is_stateful: true +} +op { + name: "OutfeedDequeueTuple" + output_arg { + name: "outputs" + type_list_attr: "dtypes" + } + attr { + name: "dtypes" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "shapes" + type: "list(shape)" + } + attr { + name: "device_ordinal" + type: "int" + default_value { + i: -1 + } + } + is_stateful: true +} +op { + name: "OutfeedDequeueTupleV2" + input_arg { + name: "device_ordinal" + type: DT_INT32 + } + output_arg { + name: "outputs" + type_list_attr: "dtypes" + } + attr { + name: "dtypes" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "shapes" + type: "list(shape)" + } + is_stateful: true +} +op { + name: "OutfeedDequeueV2" + input_arg { + name: "device_ordinal" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "shape" + type: "shape" + } + is_stateful: true +} +op { + name: "OutfeedEnqueue" + input_arg { + name: "input" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + is_stateful: true +} +op { + name: "OutfeedEnqueueTuple" + input_arg { + name: "inputs" + type_list_attr: "dtypes" + } + attr { + name: "dtypes" + type: "list(type)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} op { name: "Pack" input_arg { @@ -19981,6 +27500,13 @@ op { name: "handle" type: DT_VARIANT } + attr { + name: "parallel_copy" + type: "bool" + default_value { + b: false + } + } attr { name: "Toutput_types" type: "list(type)" @@ -20142,6 +27668,62 @@ op { type: "type" } } +op { + name: "ParallelInterleaveDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + input_arg { + name: "cycle_length" + type: DT_INT64 + } + input_arg { + name: "block_length" + type: DT_INT64 + } + input_arg { + name: "sloppy" + type: DT_BOOL + } + input_arg { + name: "buffer_output_elements" + type: DT_INT64 + } + input_arg { + name: "prefetch_input_elements" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "f" + type: "func" + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} op { name: "ParallelInterleaveDatasetV2" input_arg { @@ -20197,6 +27779,124 @@ op { } } } +op { + name: "ParallelInterleaveDatasetV3" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + input_arg { + name: "cycle_length" + type: DT_INT64 + } + input_arg { + name: "block_length" + type: DT_INT64 + } + input_arg { + name: "num_parallel_calls" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "f" + type: "func" + } + attr { + name: "deterministic" + type: "string" + default_value { + s: "default" + } + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ParallelInterleaveDatasetV4" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + input_arg { + name: "cycle_length" + type: DT_INT64 + } + input_arg { + name: "block_length" + type: DT_INT64 + } + input_arg { + name: "buffer_output_elements" + type: DT_INT64 + } + input_arg { + name: "prefetch_input_elements" + type: DT_INT64 + } + input_arg { + name: "num_parallel_calls" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "f" + type: "func" + } + attr { + name: "deterministic" + type: "string" + default_value { + s: "default" + } + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} op { name: "ParallelMapDataset" input_arg { @@ -20258,6 +27958,67 @@ op { } } } +op { + name: "ParallelMapDatasetV2" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + input_arg { + name: "num_parallel_calls" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "f" + type: "func" + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "use_inter_op_parallelism" + type: "bool" + default_value { + b: true + } + } + attr { + name: "deterministic" + type: "string" + default_value { + s: "default" + } + } + attr { + name: "preserve_cardinality" + type: "bool" + default_value { + b: false + } + } +} op { name: "ParameterizedTruncatedNormal" input_arg { @@ -20404,6 +28165,350 @@ op { has_minimum: true } } +op { + name: "ParseExampleDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "num_parallel_calls" + type: DT_INT64 + } + input_arg { + name: "dense_defaults" + type_list_attr: "Tdense" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "sparse_keys" + type: "list(string)" + has_minimum: true + } + attr { + name: "dense_keys" + type: "list(string)" + has_minimum: true + } + attr { + name: "sparse_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "Tdense" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "dense_shapes" + type: "list(shape)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "sloppy" + type: "bool" + default_value { + b: false + } + } + attr { + name: "ragged_keys" + type: "list(string)" + default_value { + list { + } + } + has_minimum: true + } + attr { + name: "ragged_value_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "ragged_split_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "ParseExampleDatasetV2" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "num_parallel_calls" + type: DT_INT64 + } + input_arg { + name: "dense_defaults" + type_list_attr: "Tdense" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "sparse_keys" + type: "list(string)" + has_minimum: true + } + attr { + name: "dense_keys" + type: "list(string)" + has_minimum: true + } + attr { + name: "sparse_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "Tdense" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "dense_shapes" + type: "list(shape)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "deterministic" + type: "string" + default_value { + s: "default" + } + } + attr { + name: "ragged_keys" + type: "list(string)" + default_value { + list { + } + } + has_minimum: true + } + attr { + name: "ragged_value_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "ragged_split_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "ParseExampleV2" + input_arg { + name: "serialized" + type: DT_STRING + } + input_arg { + name: "names" + type: DT_STRING + } + input_arg { + name: "sparse_keys" + type: DT_STRING + } + input_arg { + name: "dense_keys" + type: DT_STRING + } + input_arg { + name: "ragged_keys" + type: DT_STRING + } + input_arg { + name: "dense_defaults" + type_list_attr: "Tdense" + } + output_arg { + name: "sparse_indices" + type: DT_INT64 + number_attr: "num_sparse" + } + output_arg { + name: "sparse_values" + type_list_attr: "sparse_types" + } + output_arg { + name: "sparse_shapes" + type: DT_INT64 + number_attr: "num_sparse" + } + output_arg { + name: "dense_values" + type_list_attr: "Tdense" + } + output_arg { + name: "ragged_values" + type_list_attr: "ragged_value_types" + } + output_arg { + name: "ragged_row_splits" + type_list_attr: "ragged_split_types" + } + attr { + name: "Tdense" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "num_sparse" + type: "int" + has_minimum: true + } + attr { + name: "sparse_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "ragged_value_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "ragged_split_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "dense_shapes" + type: "list(shape)" + has_minimum: true + } +} op { name: "ParseSequenceExample" input_arg { @@ -20599,6 +28704,278 @@ op { has_minimum: true } } +op { + name: "ParseSequenceExampleV2" + input_arg { + name: "serialized" + type: DT_STRING + } + input_arg { + name: "debug_name" + type: DT_STRING + } + input_arg { + name: "context_sparse_keys" + type: DT_STRING + } + input_arg { + name: "context_dense_keys" + type: DT_STRING + } + input_arg { + name: "context_ragged_keys" + type: DT_STRING + } + input_arg { + name: "feature_list_sparse_keys" + type: DT_STRING + } + input_arg { + name: "feature_list_dense_keys" + type: DT_STRING + } + input_arg { + name: "feature_list_ragged_keys" + type: DT_STRING + } + input_arg { + name: "feature_list_dense_missing_assumed_empty" + type: DT_BOOL + } + input_arg { + name: "context_dense_defaults" + type_list_attr: "Tcontext_dense" + } + output_arg { + name: "context_sparse_indices" + type: DT_INT64 + number_attr: "Ncontext_sparse" + } + output_arg { + name: "context_sparse_values" + type_list_attr: "context_sparse_types" + } + output_arg { + name: "context_sparse_shapes" + type: DT_INT64 + number_attr: "Ncontext_sparse" + } + output_arg { + name: "context_dense_values" + type_list_attr: "Tcontext_dense" + } + output_arg { + name: "context_ragged_values" + type_list_attr: "context_ragged_value_types" + } + output_arg { + name: "context_ragged_row_splits" + type_list_attr: "context_ragged_split_types" + } + output_arg { + name: "feature_list_sparse_indices" + type: DT_INT64 + number_attr: "Nfeature_list_sparse" + } + output_arg { + name: "feature_list_sparse_values" + type_list_attr: "feature_list_sparse_types" + } + output_arg { + name: "feature_list_sparse_shapes" + type: DT_INT64 + number_attr: "Nfeature_list_sparse" + } + output_arg { + name: "feature_list_dense_values" + type_list_attr: "feature_list_dense_types" + } + output_arg { + name: "feature_list_dense_lengths" + type: DT_INT64 + number_attr: "Nfeature_list_dense" + } + output_arg { + name: "feature_list_ragged_values" + type_list_attr: "feature_list_ragged_value_types" + } + output_arg { + name: "feature_list_ragged_outer_splits" + type_list_attr: "feature_list_ragged_split_types" + } + output_arg { + name: "feature_list_ragged_inner_splits" + type_list_attr: "feature_list_ragged_split_types" + } + attr { + name: "Ncontext_sparse" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "Tcontext_dense" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "context_sparse_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "context_ragged_value_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "context_ragged_split_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "context_dense_shapes" + type: "list(shape)" + default_value { + list { + } + } + has_minimum: true + } + attr { + name: "Nfeature_list_sparse" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "Nfeature_list_dense" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "feature_list_dense_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "feature_list_sparse_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "feature_list_ragged_value_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "feature_list_ragged_split_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "feature_list_dense_shapes" + type: "list(shape)" + default_value { + list { + } + } + has_minimum: true + } +} op { name: "ParseSingleExample" input_arg { @@ -21089,6 +29466,87 @@ op { has_minimum: true minimum: 1 } + attr { + name: "slack_period" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "legacy_autotune" + type: "bool" + default_value { + b: true + } + } + attr { + name: "buffer_size_min" + type: "int" + default_value { + i: 0 + } + } +} +op { + name: "Prelinearize" + input_arg { + name: "input" + type_attr: "dtype" + } + output_arg { + name: "output" + type: DT_VARIANT + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "shape" + type: "shape" + default_value { + shape { + } + } + } + attr { + name: "layout" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "PrelinearizeTuple" + input_arg { + name: "inputs" + type_list_attr: "dtypes" + } + output_arg { + name: "output" + type: DT_VARIANT + } + attr { + name: "dtypes" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "shapes" + type: "list(shape)" + } + attr { + name: "layouts" + type: "list(int)" + default_value { + list { + } + } + } } op { name: "PreventGradient" @@ -21171,6 +29629,13 @@ op { s: "stderr" } } + attr { + name: "end" + type: "string" + default_value { + s: "\n" + } + } is_stateful: true } op { @@ -21260,6 +29725,33 @@ op { } is_stateful: true } +op { + name: "PrivateThreadPoolDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "num_threads" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} op { name: "Prod" input_arg { @@ -21399,6 +29891,7 @@ op { list { type: DT_DOUBLE type: DT_FLOAT + type: DT_HALF type: DT_COMPLEX64 type: DT_COMPLEX128 } @@ -21531,6 +30024,20 @@ op { } } } + attr { + name: "narrow_range" + type: "bool" + default_value { + b: false + } + } + attr { + name: "axis" + type: "int" + default_value { + i: -1 + } + } } op { name: "QuantizeAndDequantizeV3" @@ -21580,6 +30087,149 @@ op { } } } + attr { + name: "narrow_range" + type: "bool" + default_value { + b: false + } + } + attr { + name: "axis" + type: "int" + default_value { + i: -1 + } + } +} +op { + name: "QuantizeAndDequantizeV4" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "input_min" + type_attr: "T" + } + input_arg { + name: "input_max" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "signed_input" + type: "bool" + default_value { + b: true + } + } + attr { + name: "num_bits" + type: "int" + default_value { + i: 8 + } + } + attr { + name: "range_given" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "round_mode" + type: "string" + default_value { + s: "HALF_TO_EVEN" + } + allowed_values { + list { + s: "HALF_TO_EVEN" + s: "HALF_UP" + } + } + } + attr { + name: "narrow_range" + type: "bool" + default_value { + b: false + } + } + attr { + name: "axis" + type: "int" + default_value { + i: -1 + } + } +} +op { + name: "QuantizeAndDequantizeV4Grad" + input_arg { + name: "gradients" + type_attr: "T" + } + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "input_min" + type_attr: "T" + } + input_arg { + name: "input_max" + type_attr: "T" + } + output_arg { + name: "input_backprop" + type_attr: "T" + } + output_arg { + name: "input_min_backprop" + type_attr: "T" + } + output_arg { + name: "input_max_backprop" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "axis" + type: "int" + default_value { + i: -1 + } + } } op { name: "QuantizeDownAndShrinkRange" @@ -21700,6 +30350,27 @@ op { } } } + attr { + name: "narrow_range" + type: "bool" + default_value { + b: false + } + } + attr { + name: "axis" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "ensure_minimum_range" + type: "float" + default_value { + f: 0.01 + } + } } op { name: "QuantizedAdd" @@ -21781,7 +30452,6 @@ op { } } } - is_commutative: true } op { name: "QuantizedAvgPool" @@ -22179,6 +30849,1907 @@ op { } } } +op { + name: "QuantizedConv2DAndRelu" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + name: "padding_list" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "QuantizedConv2DAndReluAndRequantize" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + input_arg { + name: "min_freezed_output" + type: DT_FLOAT + } + input_arg { + name: "max_freezed_output" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QUINT8 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + name: "padding_list" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "QuantizedConv2DAndRequantize" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + input_arg { + name: "min_freezed_output" + type: DT_FLOAT + } + input_arg { + name: "max_freezed_output" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QINT8 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + name: "padding_list" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "QuantizedConv2DPerChannel" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +op { + name: "QuantizedConv2DWithBias" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "bias" + type: DT_FLOAT + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + name: "padding_list" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "QuantizedConv2DWithBiasAndRelu" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "bias" + type: DT_FLOAT + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + name: "padding_list" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "QuantizedConv2DWithBiasAndReluAndRequantize" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "bias" + type_attr: "Tbias" + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + input_arg { + name: "min_freezed_output" + type: DT_FLOAT + } + input_arg { + name: "max_freezed_output" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tbias" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_QINT32 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QUINT8 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + name: "padding_list" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "QuantizedConv2DWithBiasAndRequantize" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "bias" + type_attr: "Tbias" + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + input_arg { + name: "min_freezed_output" + type: DT_FLOAT + } + input_arg { + name: "max_freezed_output" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tbias" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_QINT32 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QINT8 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + name: "padding_list" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "QuantizedConv2DWithBiasSignedSumAndReluAndRequantize" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "bias" + type_attr: "Tbias" + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + input_arg { + name: "min_freezed_output" + type: DT_FLOAT + } + input_arg { + name: "max_freezed_output" + type: DT_FLOAT + } + input_arg { + name: "summand" + type_attr: "Tsummand" + } + input_arg { + name: "min_summand" + type: DT_FLOAT + } + input_arg { + name: "max_summand" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tbias" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_QINT32 + } + } + } + attr { + name: "Tsummand" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QUINT8 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + name: "padding_list" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "QuantizedConv2DWithBiasSumAndRelu" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "bias" + type: DT_FLOAT + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + input_arg { + name: "summand" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + name: "padding_list" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "QuantizedConv2DWithBiasSumAndReluAndRequantize" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "bias" + type_attr: "Tbias" + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + input_arg { + name: "min_freezed_output" + type: DT_FLOAT + } + input_arg { + name: "max_freezed_output" + type: DT_FLOAT + } + input_arg { + name: "summand" + type_attr: "Tsummand" + } + input_arg { + name: "min_summand" + type: DT_FLOAT + } + input_arg { + name: "max_summand" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tbias" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_QINT32 + } + } + } + attr { + name: "Tsummand" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QUINT8 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + name: "padding_list" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "QuantizedDepthwiseConv2D" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +op { + name: "QuantizedDepthwiseConv2DWithBias" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "bias" + type: DT_FLOAT + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +op { + name: "QuantizedDepthwiseConv2DWithBiasAndRelu" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "bias" + type: DT_FLOAT + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + name: "padding_list" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "QuantizedDepthwiseConv2DWithBiasAndReluAndRequantize" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "bias" + type_attr: "Tbias" + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + input_arg { + name: "min_freezed_output" + type: DT_FLOAT + } + input_arg { + name: "max_freezed_output" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tbias" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_QINT32 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QUINT8 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + name: "padding_list" + type: "list(int)" + default_value { + list { + } + } + } +} op { name: "QuantizedInstanceNorm" input_arg { @@ -22365,6 +32936,615 @@ op { } } } +op { + name: "QuantizedMatMulWithBias" + input_arg { + name: "a" + type_attr: "T1" + } + input_arg { + name: "b" + type_attr: "T2" + } + input_arg { + name: "bias" + type_attr: "Tbias" + } + input_arg { + name: "min_a" + type: DT_FLOAT + } + input_arg { + name: "max_a" + type: DT_FLOAT + } + input_arg { + name: "min_b" + type: DT_FLOAT + } + input_arg { + name: "max_b" + type: DT_FLOAT + } + output_arg { + name: "out" + type_attr: "Toutput" + } + output_arg { + name: "min_out" + type: DT_FLOAT + } + output_arg { + name: "max_out" + type: DT_FLOAT + } + attr { + name: "T1" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "T2" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tbias" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_QINT32 + } + } + } + attr { + name: "Toutput" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "transpose_a" + type: "bool" + default_value { + b: false + } + } + attr { + name: "transpose_b" + type: "bool" + default_value { + b: false + } + } + attr { + name: "input_quant_mode" + type: "string" + default_value { + s: "MIN_FIRST" + } + allowed_values { + list { + s: "MIN_FIRST" + s: "SCALED" + } + } + } +} +op { + name: "QuantizedMatMulWithBiasAndDequantize" + input_arg { + name: "a" + type_attr: "T1" + } + input_arg { + name: "b" + type_attr: "T2" + } + input_arg { + name: "bias" + type_attr: "Tbias" + } + input_arg { + name: "min_a" + type: DT_FLOAT + } + input_arg { + name: "max_a" + type: DT_FLOAT + } + input_arg { + name: "min_b" + type: DT_FLOAT + } + input_arg { + name: "max_b" + type: DT_FLOAT + } + input_arg { + name: "min_freezed_output" + type: DT_FLOAT + } + input_arg { + name: "max_freezed_output" + type: DT_FLOAT + } + output_arg { + name: "out" + type_attr: "Toutput" + } + attr { + name: "T1" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "T2" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tbias" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_QINT32 + } + } + } + attr { + name: "Toutput" + type: "type" + allowed_values { + list { + type: DT_FLOAT + } + } + } + attr { + name: "transpose_a" + type: "bool" + default_value { + b: false + } + } + attr { + name: "transpose_b" + type: "bool" + default_value { + b: false + } + } + attr { + name: "input_quant_mode" + type: "string" + default_value { + s: "MIN_FIRST" + } + allowed_values { + list { + s: "MIN_FIRST" + s: "SCALED" + } + } + } +} +op { + name: "QuantizedMatMulWithBiasAndRelu" + input_arg { + name: "a" + type_attr: "T1" + } + input_arg { + name: "b" + type_attr: "T2" + } + input_arg { + name: "bias" + type: DT_FLOAT + } + input_arg { + name: "min_a" + type: DT_FLOAT + } + input_arg { + name: "max_a" + type: DT_FLOAT + } + input_arg { + name: "min_b" + type: DT_FLOAT + } + input_arg { + name: "max_b" + type: DT_FLOAT + } + output_arg { + name: "out" + type_attr: "Toutput" + } + output_arg { + name: "min_out" + type: DT_FLOAT + } + output_arg { + name: "max_out" + type: DT_FLOAT + } + attr { + name: "T1" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "T2" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Toutput" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "transpose_a" + type: "bool" + default_value { + b: false + } + } + attr { + name: "transpose_b" + type: "bool" + default_value { + b: false + } + } + attr { + name: "input_quant_mode" + type: "string" + default_value { + s: "MIN_FIRST" + } + allowed_values { + list { + s: "MIN_FIRST" + s: "SCALED" + } + } + } +} +op { + name: "QuantizedMatMulWithBiasAndReluAndRequantize" + input_arg { + name: "a" + type_attr: "T1" + } + input_arg { + name: "b" + type_attr: "T2" + } + input_arg { + name: "bias" + type_attr: "Tbias" + } + input_arg { + name: "min_a" + type: DT_FLOAT + } + input_arg { + name: "max_a" + type: DT_FLOAT + } + input_arg { + name: "min_b" + type: DT_FLOAT + } + input_arg { + name: "max_b" + type: DT_FLOAT + } + input_arg { + name: "min_freezed_output" + type: DT_FLOAT + } + input_arg { + name: "max_freezed_output" + type: DT_FLOAT + } + output_arg { + name: "out" + type_attr: "Toutput" + } + output_arg { + name: "min_out" + type: DT_FLOAT + } + output_arg { + name: "max_out" + type: DT_FLOAT + } + attr { + name: "T1" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "T2" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tbias" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_QINT32 + } + } + } + attr { + name: "Toutput" + type: "type" + default_value { + type: DT_QUINT8 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "transpose_a" + type: "bool" + default_value { + b: false + } + } + attr { + name: "transpose_b" + type: "bool" + default_value { + b: false + } + } + attr { + name: "input_quant_mode" + type: "string" + default_value { + s: "MIN_FIRST" + } + allowed_values { + list { + s: "MIN_FIRST" + s: "SCALED" + } + } + } +} +op { + name: "QuantizedMatMulWithBiasAndRequantize" + input_arg { + name: "a" + type_attr: "T1" + } + input_arg { + name: "b" + type_attr: "T2" + } + input_arg { + name: "bias" + type_attr: "Tbias" + } + input_arg { + name: "min_a" + type: DT_FLOAT + } + input_arg { + name: "max_a" + type: DT_FLOAT + } + input_arg { + name: "min_b" + type: DT_FLOAT + } + input_arg { + name: "max_b" + type: DT_FLOAT + } + input_arg { + name: "min_freezed_output" + type: DT_FLOAT + } + input_arg { + name: "max_freezed_output" + type: DT_FLOAT + } + output_arg { + name: "out" + type_attr: "Toutput" + } + output_arg { + name: "min_out" + type: DT_FLOAT + } + output_arg { + name: "max_out" + type: DT_FLOAT + } + attr { + name: "T1" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "T2" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tbias" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_QINT32 + } + } + } + attr { + name: "Toutput" + type: "type" + default_value { + type: DT_QUINT8 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "transpose_a" + type: "bool" + default_value { + b: false + } + } + attr { + name: "transpose_b" + type: "bool" + default_value { + b: false + } + } + attr { + name: "input_quant_mode" + type: "string" + default_value { + s: "MIN_FIRST" + } + allowed_values { + list { + s: "MIN_FIRST" + s: "SCALED" + } + } + } +} op { name: "QuantizedMaxPool" input_arg { @@ -22503,7 +33683,6 @@ op { } } } - is_commutative: true } op { name: "QuantizedRelu" @@ -22773,6 +33952,13 @@ op { b: false } } + attr { + name: "half_pixel_centers" + type: "bool" + default_value { + b: false + } + } } op { name: "QueueClose" @@ -23122,7 +34308,7 @@ op { name: "RFFT" input_arg { name: "input" - type: DT_FLOAT + type_attr: "Treal" } input_arg { name: "fft_length" @@ -23130,14 +34316,40 @@ op { } output_arg { name: "output" - type: DT_COMPLEX64 + type_attr: "Tcomplex" + } + attr { + name: "Treal" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tcomplex" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } } } op { name: "RFFT2D" input_arg { name: "input" - type: DT_FLOAT + type_attr: "Treal" } input_arg { name: "fft_length" @@ -23145,14 +34357,40 @@ op { } output_arg { name: "output" - type: DT_COMPLEX64 + type_attr: "Tcomplex" + } + attr { + name: "Treal" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tcomplex" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } } } op { name: "RFFT3D" input_arg { name: "input" - type: DT_FLOAT + type_attr: "Treal" } input_arg { name: "fft_length" @@ -23160,7 +34398,33 @@ op { } output_arg { name: "output" - type: DT_COMPLEX64 + type_attr: "Tcomplex" + } + attr { + name: "Treal" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tcomplex" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } } } op { @@ -23189,11 +34453,257 @@ op { } } } +op { + name: "RaggedBincount" + input_arg { + name: "splits" + type: DT_INT64 + } + input_arg { + name: "values" + type_attr: "Tidx" + } + input_arg { + name: "size" + type_attr: "Tidx" + } + input_arg { + name: "weights" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "Tidx" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "binary_output" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "RaggedCountSparseOutput" + input_arg { + name: "splits" + type: DT_INT64 + } + input_arg { + name: "values" + type_attr: "T" + } + input_arg { + name: "weights" + type_attr: "output_type" + } + output_arg { + name: "output_indices" + type: DT_INT64 + } + output_arg { + name: "output_values" + type_attr: "output_type" + } + output_arg { + name: "output_dense_shape" + type: DT_INT64 + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "minlength" + type: "int" + default_value { + i: -1 + } + has_minimum: true + minimum: -1 + } + attr { + name: "maxlength" + type: "int" + default_value { + i: -1 + } + has_minimum: true + minimum: -1 + } + attr { + name: "binary_output" + type: "bool" + } + attr { + name: "output_type" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RaggedCross" + input_arg { + name: "ragged_values" + type_list_attr: "ragged_values_types" + } + input_arg { + name: "ragged_row_splits" + type_list_attr: "ragged_splits_types" + } + input_arg { + name: "sparse_indices" + type: DT_INT64 + number_attr: "Nsparse" + } + input_arg { + name: "sparse_values" + type_list_attr: "sparse_values_types" + } + input_arg { + name: "sparse_shape" + type: DT_INT64 + number_attr: "Nsparse" + } + input_arg { + name: "dense_inputs" + type_list_attr: "dense_types" + } + output_arg { + name: "output_values" + type_attr: "out_values_type" + } + output_arg { + name: "output_row_splits" + type_attr: "out_row_splits_type" + } + attr { + name: "Nsparse" + type: "int" + has_minimum: true + } + attr { + name: "input_order" + type: "string" + } + attr { + name: "hashed_output" + type: "bool" + } + attr { + name: "num_buckets" + type: "int" + has_minimum: true + } + attr { + name: "hash_key" + type: "int" + } + attr { + name: "ragged_values_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "ragged_splits_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "sparse_values_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "dense_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "out_values_type" + type: "type" + allowed_values { + list { + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "out_row_splits_type" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} op { name: "RaggedGather" input_arg { name: "params_nested_splits" - type: DT_INT64 + type_attr: "Tsplits" number_attr: "PARAMS_RAGGED_RANK" } input_arg { @@ -23206,7 +34716,7 @@ op { } output_arg { name: "output_nested_splits" - type: DT_INT64 + type_attr: "Tsplits" number_attr: "OUTPUT_RAGGED_RANK" } output_arg { @@ -23227,6 +34737,19 @@ op { } } } + attr { + name: "Tsplits" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } attr { name: "PARAMS_RAGGED_RANK" type: "int" @@ -23255,7 +34778,7 @@ op { } output_arg { name: "rt_nested_splits" - type: DT_INT64 + type_attr: "Tsplits" } output_arg { name: "rt_dense_values" @@ -23277,12 +34800,69 @@ op { } } } + attr { + name: "Tsplits" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RaggedTensorFromVariant" + input_arg { + name: "encoded_ragged" + type: DT_VARIANT + } + output_arg { + name: "output_nested_splits" + type_attr: "Tsplits" + number_attr: "output_ragged_rank" + } + output_arg { + name: "output_dense_values" + type_attr: "Tvalues" + } + attr { + name: "input_ragged_rank" + type: "int" + has_minimum: true + minimum: -1 + } + attr { + name: "output_ragged_rank" + type: "int" + has_minimum: true + } + attr { + name: "Tvalues" + type: "type" + } + attr { + name: "Tsplits" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } } op { name: "RaggedTensorToSparse" input_arg { name: "rt_nested_splits" - type: DT_INT64 + type_attr: "Tsplits" number_attr: "RAGGED_RANK" } input_arg { @@ -23311,6 +34891,155 @@ op { name: "T" type: "type" } + attr { + name: "Tsplits" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RaggedTensorToTensor" + input_arg { + name: "shape" + type_attr: "Tshape" + } + input_arg { + name: "values" + type_attr: "T" + } + input_arg { + name: "default_value" + type_attr: "T" + } + input_arg { + name: "row_partition_tensors" + type_attr: "Tindex" + number_attr: "num_row_partition_tensors" + } + output_arg { + name: "result" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tindex" + type: "type" + allowed_values { + list { + type: DT_INT64 + type: DT_INT32 + } + } + } + attr { + name: "Tshape" + type: "type" + allowed_values { + list { + type: DT_INT64 + type: DT_INT32 + } + } + } + attr { + name: "num_row_partition_tensors" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "row_partition_types" + type: "list(string)" + } +} +op { + name: "RaggedTensorToVariant" + input_arg { + name: "rt_nested_splits" + type_attr: "Tsplits" + number_attr: "RAGGED_RANK" + } + input_arg { + name: "rt_dense_values" + type_attr: "Tvalues" + } + output_arg { + name: "encoded_ragged" + type: DT_VARIANT + } + attr { + name: "RAGGED_RANK" + type: "int" + has_minimum: true + } + attr { + name: "Tvalues" + type: "type" + } + attr { + name: "Tsplits" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "batched_input" + type: "bool" + } +} +op { + name: "RaggedTensorToVariantGradient" + input_arg { + name: "encoded_ragged_grad" + type: DT_VARIANT + } + input_arg { + name: "row_splits" + type_attr: "Tsplits" + } + input_arg { + name: "dense_values_shape" + type: DT_INT32 + } + output_arg { + name: "dense_values_grad" + type_attr: "Tvalues" + } + attr { + name: "Tvalues" + type: "type" + } + attr { + name: "Tsplits" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } } op { name: "RandomCrop" @@ -23361,6 +35090,34 @@ op { } is_stateful: true } +op { + name: "RandomDataset" + input_arg { + name: "seed" + type: DT_INT64 + } + input_arg { + name: "seed2" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} op { name: "RandomGamma" input_arg { @@ -23902,6 +35659,7 @@ op { allowed_values { list { type: DT_BFLOAT16 + type: DT_HALF type: DT_FLOAT type: DT_DOUBLE type: DT_INT32 @@ -24258,6 +36016,71 @@ op { } } } +op { + name: "RebatchDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "num_replicas" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "use_fallback" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "RebatchDatasetV2" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "batch_sizes" + type: DT_INT64 + } + input_arg { + name: "drop_remainder" + type: DT_BOOL + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} op { name: "Reciprocal" input_arg { @@ -24277,6 +36100,8 @@ op { type: DT_HALF type: DT_FLOAT type: DT_DOUBLE + type: DT_INT8 + type: DT_INT16 type: DT_INT32 type: DT_INT64 type: DT_COMPLEX64 @@ -24368,6 +36193,60 @@ op { } is_stateful: true } +op { + name: "Recv" + output_arg { + name: "tensor" + type_attr: "tensor_type" + } + attr { + name: "tensor_type" + type: "type" + } + attr { + name: "tensor_name" + type: "string" + } + attr { + name: "send_device" + type: "string" + } + attr { + name: "send_device_incarnation" + type: "int" + } + attr { + name: "recv_device" + type: "string" + } + attr { + name: "client_terminated" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "RecvTPUEmbeddingActivations" + output_arg { + name: "outputs" + type: DT_FLOAT + number_attr: "num_outputs" + } + attr { + name: "num_outputs" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "config" + type: "string" + } + is_stateful: true +} op { name: "ReduceDataset" input_arg { @@ -24420,6 +36299,7 @@ op { b: true } } + is_stateful: true } op { name: "ReduceJoin" @@ -24661,6 +36541,29 @@ op { } } } +op { + name: "RegisterDataset" + input_arg { + name: "dataset" + type: DT_VARIANT + } + input_arg { + name: "address" + type: DT_STRING + } + input_arg { + name: "protocol" + type: DT_STRING + } + output_arg { + name: "dataset_id" + type: DT_INT64 + } + attr { + name: "external_state_policy" + type: "int" + } +} op { name: "Relu" input_arg { @@ -24914,6 +36817,49 @@ op { } } } +op { + name: "RequantizationRangePerChannel" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "input_min" + type: DT_FLOAT + } + input_arg { + name: "input_max" + type: DT_FLOAT + } + output_arg { + name: "output_min" + type: DT_FLOAT + } + output_arg { + name: "output_max" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "clip_value_max" + type: "float" + } +} op { name: "Requantize" input_arg { @@ -24975,6 +36921,73 @@ op { } } } +op { + name: "RequantizePerChannel" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "input_min" + type: DT_FLOAT + } + input_arg { + name: "input_max" + type: DT_FLOAT + } + input_arg { + name: "requested_output_min" + type: DT_FLOAT + } + input_arg { + name: "requested_output_max" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "output_min" + type: DT_FLOAT + } + output_arg { + name: "output_max" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QUINT8 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } +} op { name: "Reshape" input_arg { @@ -25035,6 +37048,7 @@ op { type: DT_HALF type: DT_FLOAT type: DT_DOUBLE + type: DT_BFLOAT16 } } } @@ -25074,6 +37088,7 @@ op { type: DT_HALF type: DT_FLOAT type: DT_DOUBLE + type: DT_BFLOAT16 } } } @@ -25084,6 +37099,13 @@ op { b: false } } + attr { + name: "half_pixel_centers" + type: "bool" + default_value { + b: false + } + } } op { name: "ResizeBicubicGrad" @@ -25116,6 +37138,13 @@ op { b: false } } + attr { + name: "half_pixel_centers" + type: "bool" + default_value { + b: false + } + } } op { name: "ResizeBilinear" @@ -25146,6 +37175,7 @@ op { type: DT_HALF type: DT_FLOAT type: DT_DOUBLE + type: DT_BFLOAT16 } } } @@ -25156,6 +37186,13 @@ op { b: false } } + attr { + name: "half_pixel_centers" + type: "bool" + default_value { + b: false + } + } } op { name: "ResizeBilinearGrad" @@ -25190,6 +37227,13 @@ op { b: false } } + attr { + name: "half_pixel_centers" + type: "bool" + default_value { + b: false + } + } } op { name: "ResizeNearestNeighbor" @@ -25219,6 +37263,7 @@ op { type: DT_HALF type: DT_FLOAT type: DT_DOUBLE + type: DT_BFLOAT16 } } } @@ -25229,6 +37274,13 @@ op { b: false } } + attr { + name: "half_pixel_centers" + type: "bool" + default_value { + b: false + } + } } op { name: "ResizeNearestNeighborGrad" @@ -25265,6 +37317,119 @@ op { b: false } } + attr { + name: "half_pixel_centers" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ResourceAccumulatorApplyGradient" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "local_step" + type: DT_INT64 + } + input_arg { + name: "gradient" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + is_stateful: true +} +op { + name: "ResourceAccumulatorNumAccumulated" + input_arg { + name: "handle" + type: DT_RESOURCE + } + output_arg { + name: "num_accumulated" + type: DT_INT32 + } + is_stateful: true +} +op { + name: "ResourceAccumulatorSetGlobalStep" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "new_global_step" + type: DT_INT64 + } + is_stateful: true +} +op { + name: "ResourceAccumulatorTakeGradient" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "num_required" + type: DT_INT32 + } + output_arg { + name: "average" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + is_stateful: true } op { name: "ResourceApplyAdaMax" @@ -25529,6 +37694,69 @@ op { } is_stateful: true } +op { + name: "ResourceApplyAdagradV2" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "accum" + type: DT_RESOURCE + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "epsilon" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "update_slots" + type: "bool" + default_value { + b: true + } + } + is_stateful: true +} op { name: "ResourceApplyAdam" input_arg { @@ -25894,6 +38122,13 @@ op { b: false } } + attr { + name: "multiply_linear_by_lr" + type: "bool" + default_value { + b: false + } + } is_stateful: true } op { @@ -25966,6 +38201,13 @@ op { b: false } } + attr { + name: "multiply_linear_by_lr" + type: "bool" + default_value { + b: false + } + } is_stateful: true } op { @@ -26390,6 +38632,70 @@ op { } is_stateful: true } +op { + name: "ResourceConditionalAccumulator" + output_arg { + name: "handle" + type: DT_RESOURCE + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "shape" + type: "shape" + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "reduction_type" + type: "string" + default_value { + s: "MEAN" + } + allowed_values { + list { + s: "MEAN" + s: "SUM" + } + } + } + is_stateful: true +} op { name: "ResourceCountUpTo" input_arg { @@ -26430,6 +38736,13 @@ op { name: "output" type_attr: "dtype" } + attr { + name: "batch_dims" + type: "int" + default_value { + i: 0 + } + } attr { name: "validate_indices" type: "bool" @@ -26453,6 +38766,36 @@ op { } is_stateful: true } +op { + name: "ResourceGatherNd" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + is_stateful: true +} op { name: "ResourceScatterAdd" input_arg { @@ -26745,6 +39088,117 @@ op { } is_stateful: true } +op { + name: "ResourceScatterNdMax" + input_arg { + name: "ref" + type: DT_RESOURCE + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: true + } + } + is_stateful: true +} +op { + name: "ResourceScatterNdMin" + input_arg { + name: "ref" + type: DT_RESOURCE + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: true + } + } + is_stateful: true +} +op { + name: "ResourceScatterNdSub" + input_arg { + name: "ref" + type: DT_RESOURCE + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: true + } + } + is_stateful: true +} op { name: "ResourceScatterNdUpdate" input_arg { @@ -27096,6 +39550,83 @@ op { } is_stateful: true } +op { + name: "ResourceSparseApplyAdagradV2" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "accum" + type: DT_RESOURCE + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "epsilon" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "update_slots" + type: "bool" + default_value { + b: true + } + } + is_stateful: true +} op { name: "ResourceSparseApplyCenteredRMSProp" input_arg { @@ -27262,6 +39793,13 @@ op { b: false } } + attr { + name: "multiply_linear_by_lr" + type: "bool" + default_value { + b: false + } + } is_stateful: true } op { @@ -27348,6 +39886,13 @@ op { b: false } } + attr { + name: "multiply_linear_by_lr" + type: "bool" + default_value { + b: false + } + } is_stateful: true } op { @@ -27887,6 +40432,996 @@ op { } is_stateful: true } +op { + name: "RetrieveTPUEmbeddingADAMParameters" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "momenta" + type: DT_FLOAT + } + output_arg { + name: "velocities" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingADAMParametersGradAccumDebug" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "momenta" + type: DT_FLOAT + } + output_arg { + name: "velocities" + type: DT_FLOAT + } + output_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingAdadeltaParameters" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "accumulators" + type: DT_FLOAT + } + output_arg { + name: "updates" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingAdadeltaParametersGradAccumDebug" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "accumulators" + type: DT_FLOAT + } + output_arg { + name: "updates" + type: DT_FLOAT + } + output_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingAdagradParameters" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingAdagradParametersGradAccumDebug" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "accumulators" + type: DT_FLOAT + } + output_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingCenteredRMSPropParameters" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "ms" + type: DT_FLOAT + } + output_arg { + name: "mom" + type: DT_FLOAT + } + output_arg { + name: "mg" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingFTRLParameters" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "accumulators" + type: DT_FLOAT + } + output_arg { + name: "linears" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingFTRLParametersGradAccumDebug" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "accumulators" + type: DT_FLOAT + } + output_arg { + name: "linears" + type: DT_FLOAT + } + output_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingFrequencyEstimatorParameters" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "last_hit_step" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingFrequencyEstimatorParametersGradAccumDebug" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "last_hit_step" + type: DT_FLOAT + } + output_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingMDLAdagradLightParameters" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "accumulators" + type: DT_FLOAT + } + output_arg { + name: "weights" + type: DT_FLOAT + } + output_arg { + name: "benefits" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingMomentumParameters" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "momenta" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingMomentumParametersGradAccumDebug" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "momenta" + type: DT_FLOAT + } + output_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingProximalAdagradParameters" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingProximalAdagradParametersGradAccumDebug" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "accumulators" + type: DT_FLOAT + } + output_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingProximalYogiParameters" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "v" + type: DT_FLOAT + } + output_arg { + name: "m" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingProximalYogiParametersGradAccumDebug" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "v" + type: DT_FLOAT + } + output_arg { + name: "m" + type: DT_FLOAT + } + output_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingRMSPropParameters" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "ms" + type: DT_FLOAT + } + output_arg { + name: "mom" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingRMSPropParametersGradAccumDebug" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "ms" + type: DT_FLOAT + } + output_arg { + name: "mom" + type: DT_FLOAT + } + output_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingStochasticGradientDescentParameters" + output_arg { + name: "parameters" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingStochasticGradientDescentParametersGradAccumDebug" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} op { name: "Reverse" input_arg { @@ -28046,7 +41581,6 @@ op { } } } - is_commutative: true } op { name: "Rint" @@ -28071,6 +41605,1205 @@ op { } } } +op { + name: "RiscAdd" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + is_aggregate: true + is_commutative: true +} +op { + name: "RiscBinaryArithmetic" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "op_type" + type: "string" + allowed_values { + list { + s: "ADD" + s: "SUB" + s: "MUL" + s: "DIV" + s: "REM" + s: "MIN" + s: "POW" + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RiscBinaryComparison" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type: DT_BOOL + } + attr { + name: "op_type" + type: "string" + allowed_values { + list { + s: "EQ" + s: "NE" + s: "GE" + s: "GT" + s: "LE" + s: "LT" + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RiscBitcast" + input_arg { + name: "x" + type_attr: "SrcT" + } + output_arg { + name: "y" + type_attr: "DstT" + } + attr { + name: "SrcT" + type: "type" + } + attr { + name: "DstT" + type: "type" + } +} +op { + name: "RiscBroadcast" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "shape" + type_attr: "Tidx" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RiscCast" + input_arg { + name: "x" + type_attr: "SrcT" + } + output_arg { + name: "y" + type_attr: "DstT" + } + attr { + name: "SrcT" + type: "type" + } + attr { + name: "DstT" + type: "type" + } +} +op { + name: "RiscCholesky" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RiscConcat" + input_arg { + name: "values" + type_attr: "T" + number_attr: "N" + } + input_arg { + name: "axis" + type_attr: "Tidx" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 2 + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RiscCondition" + input_arg { + name: "pred" + type: DT_BOOL + } + input_arg { + name: "input_true" + type_attr: "SrcT" + } + input_arg { + name: "input_false" + type_attr: "SrcT" + } + output_arg { + name: "output" + type_attr: "DstT" + } + attr { + name: "func_true" + type: "func" + } + attr { + name: "func_false" + type: "func" + } + attr { + name: "SrcT" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "DstT" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RiscConv" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "filter" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +op { + name: "RiscDot" + input_arg { + name: "a" + type_attr: "T" + } + input_arg { + name: "b" + type_attr: "T" + } + output_arg { + name: "product" + type_attr: "T" + } + attr { + name: "transpose_a" + type: "bool" + default_value { + b: false + } + } + attr { + name: "transpose_b" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RiscFft" + input_arg { + name: "input" + type_attr: "Tcomplex" + } + output_arg { + name: "output" + type_attr: "Tcomplex" + } + attr { + name: "Tcomplex" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "RiscGather" + input_arg { + name: "params" + type_attr: "Tparams" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "axis" + type_attr: "Taxis" + } + output_arg { + name: "output" + type_attr: "Tparams" + } + attr { + name: "batch_dims" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "Tparams" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Taxis" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RiscIsFinite" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type: DT_BOOL + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RiscLogicalAnd" + input_arg { + name: "x" + type: DT_BOOL + } + input_arg { + name: "y" + type: DT_BOOL + } + output_arg { + name: "z" + type: DT_BOOL + } +} +op { + name: "RiscLogicalNot" + input_arg { + name: "x" + type: DT_BOOL + } + output_arg { + name: "z" + type: DT_BOOL + } +} +op { + name: "RiscLogicalOr" + input_arg { + name: "x" + type: DT_BOOL + } + input_arg { + name: "y" + type: DT_BOOL + } + output_arg { + name: "z" + type: DT_BOOL + } +} +op { + name: "RiscMax" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "max" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RiscPad" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "paddings" + type_attr: "Tpaddings" + } + input_arg { + name: "constant_values" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tpaddings" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RiscPool" + input_arg { + name: "value" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "ksize" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "strides" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "pooling_type" + type: "string" + allowed_values { + list { + s: "AVG" + s: "MAX" + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RiscRandomUniform" + input_arg { + name: "shape" + type_attr: "T" + } + output_arg { + name: "output" + type: DT_FLOAT + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RiscReduce" + input_arg { + name: "tensor" + type_attr: "T" + } + input_arg { + name: "axis" + type_attr: "Index" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "reduce_type" + type: "string" + allowed_values { + list { + s: "MEAN" + s: "SUM" + } + } + } + attr { + name: "Index" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RiscReshape" + input_arg { + name: "tensor" + type_attr: "T" + } + input_arg { + name: "shape" + type_attr: "Tshape" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tshape" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RiscReverse" + input_arg { + name: "tensor" + type_attr: "T" + } + input_arg { + name: "axis" + type_attr: "Tidx" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RiscScatter" + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + input_arg { + name: "shape" + type_attr: "Tindices" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RiscShape" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "out_type" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RiscSlice" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "begin" + type_attr: "Index" + } + input_arg { + name: "size" + type_attr: "Index" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Index" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RiscSort" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "axis" + type_attr: "Index" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "Index" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "direction" + type: "string" + allowed_values { + list { + s: "ASCENDING" + s: "DESCENDING" + } + } + } +} +op { + name: "RiscSqueeze" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "squeeze_dims" + type: "list(int)" + default_value { + list { + } + } + has_minimum: true + } +} +op { + name: "RiscTranspose" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "perm" + type_attr: "Tperm" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tperm" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RiscTriangularSolve" + input_arg { + name: "matrix" + type_attr: "T" + } + input_arg { + name: "rhs" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "lower" + type: "bool" + default_value { + b: true + } + } + attr { + name: "adjoint" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RiscUnary" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "op_type" + type: "string" + allowed_values { + list { + s: "ABL" + s: "CEIL" + s: "COS" + s: "EXP" + s: "FLOOR" + s: "IMAG" + s: "LOG" + s: "NEG" + s: "REAL" + s: "SIGN" + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RiscWhile" + input_arg { + name: "input" + type_list_attr: "T" + } + output_arg { + name: "output" + type_list_attr: "T" + } + attr { + name: "T" + type: "list(type)" + has_minimum: true + } + attr { + name: "cond" + type: "func" + } + attr { + name: "body" + type: "func" + } + attr { + name: "output_shapes" + type: "list(shape)" + default_value { + list { + } + } + } + attr { + name: "parallel_iterations" + type: "int" + default_value { + i: 10 + } + } + is_stateful: true +} +op { + name: "RngReadAndSkip" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "alg" + type: DT_INT32 + } + input_arg { + name: "delta" + type: DT_UINT64 + } + output_arg { + name: "value" + type: DT_INT64 + } + is_stateful: true +} +op { + name: "RngSkip" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "algorithm" + type: DT_INT64 + } + input_arg { + name: "delta" + type: DT_INT64 + } + is_stateful: true +} op { name: "Roll" input_arg { @@ -28133,6 +42866,8 @@ op { type: DT_HALF type: DT_FLOAT type: DT_DOUBLE + type: DT_INT8 + type: DT_INT16 type: DT_INT32 type: DT_INT64 type: DT_COMPLEX64 @@ -28417,6 +43152,41 @@ op { } is_stateful: true } +op { + name: "SamplingDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "rate" + type: DT_FLOAT + } + input_arg { + name: "seed" + type: DT_INT64 + } + input_arg { + name: "seed2" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} op { name: "Save" input_arg { @@ -28439,6 +43209,45 @@ op { } is_stateful: true } +op { + name: "SaveDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "path" + type: DT_STRING + } + input_arg { + name: "shard_func_other_args" + type_list_attr: "Tshard_func_args" + } + attr { + name: "compression" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shard_func" + type: "func" + } + attr { + name: "use_shard_func" + type: "bool" + default_value { + b: true + } + } + attr { + name: "Tshard_func_args" + type: "list(type)" + has_minimum: true + } + is_stateful: true +} op { name: "SaveSlices" input_arg { @@ -28573,6 +43382,13 @@ op { s: "lanczos3" } } + attr { + name: "antialias" + type: "bool" + default_value { + b: true + } + } } op { name: "ScaleAndTranslateGrad" @@ -28612,6 +43428,73 @@ op { s: "lanczos3" } } + attr { + name: "antialias" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "ScanDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "initial_state" + type_list_attr: "Tstate" + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "f" + type: "func" + } + attr { + name: "Tstate" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "preserve_cardinality" + type: "bool" + default_value { + b: false + } + } + attr { + name: "use_default_device" + type: "bool" + default_value { + b: true + } + } } op { name: "ScatterAdd" @@ -29002,6 +43885,132 @@ op { } } } +op { + name: "ScatterNdMax" + input_arg { + name: "ref" + type_attr: "T" + is_ref: true + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + output_arg { + name: "output_ref" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ScatterNdMin" + input_arg { + name: "ref" + type_attr: "T" + is_ref: true + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + output_arg { + name: "output_ref" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} op { name: "ScatterNdNonAliasingAdd" input_arg { @@ -29801,6 +44810,29 @@ op { type: "type" } } +op { + name: "SelectV2" + input_arg { + name: "condition" + type: DT_BOOL + } + input_arg { + name: "t" + type_attr: "T" + } + input_arg { + name: "e" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } +} op { name: "SelfAdjointEig" input_arg { @@ -29818,6 +44850,7 @@ op { list { type: DT_DOUBLE type: DT_FLOAT + type: DT_HALF } } } @@ -29854,6 +44887,7 @@ op { list { type: DT_DOUBLE type: DT_FLOAT + type: DT_HALF type: DT_COMPLEX64 type: DT_COMPLEX128 } @@ -29910,6 +44944,73 @@ op { } } } +op { + name: "Send" + input_arg { + name: "tensor" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "tensor_name" + type: "string" + } + attr { + name: "send_device" + type: "string" + } + attr { + name: "send_device_incarnation" + type: "int" + } + attr { + name: "recv_device" + type: "string" + } + attr { + name: "client_terminated" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "SendTPUEmbeddingGradients" + input_arg { + name: "inputs" + type: DT_FLOAT + number_attr: "N" + } + input_arg { + name: "learning_rates" + type: DT_FLOAT + number_attr: "NN" + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "NN" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "config" + type: "string" + } + is_stateful: true +} op { name: "SerializeIterator" input_arg { @@ -29920,6 +45021,13 @@ op { name: "serialized" type: DT_VARIANT } + attr { + name: "external_state_policy" + type: "int" + default_value { + i: 0 + } + } is_stateful: true } op { @@ -30050,6 +45158,42 @@ op { } } } +op { + name: "SetStatsAggregatorDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "stats_aggregator" + type: DT_RESOURCE + } + input_arg { + name: "tag" + type: DT_STRING + } + input_arg { + name: "counter_prefix" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} op { name: "Shape" input_arg { @@ -30114,6 +45258,44 @@ op { } } } +op { + name: "ShardDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "num_shards" + type: DT_INT64 + } + input_arg { + name: "index" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "require_non_empty" + type: "bool" + default_value { + b: false + } + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} op { name: "ShardedFilename" input_arg { @@ -30186,6 +45368,64 @@ op { has_minimum: true minimum: 1 } + attr { + name: "reshuffle_each_iteration" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "ShuffleAndRepeatDatasetV2" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "buffer_size" + type: DT_INT64 + } + input_arg { + name: "seed" + type: DT_INT64 + } + input_arg { + name: "seed2" + type: DT_INT64 + } + input_arg { + name: "count" + type: DT_INT64 + } + input_arg { + name: "seed_generator" + type: DT_RESOURCE + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "reshuffle_each_iteration" + type: "bool" + default_value { + b: true + } + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true } op { name: "ShuffleDataset" @@ -30229,6 +45469,89 @@ op { minimum: 1 } } +op { + name: "ShuffleDatasetV2" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "buffer_size" + type: DT_INT64 + } + input_arg { + name: "seed_generator" + type: DT_RESOURCE + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "ShuffleDatasetV3" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "buffer_size" + type: DT_INT64 + } + input_arg { + name: "seed" + type: DT_INT64 + } + input_arg { + name: "seed2" + type: DT_INT64 + } + input_arg { + name: "seed_generator" + type: DT_RESOURCE + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "reshuffle_each_iteration" + type: "bool" + default_value { + b: true + } + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "ShutdownDistributedTPU" + is_stateful: true +} op { name: "Sigmoid" input_arg { @@ -30480,6 +45803,33 @@ op { } is_stateful: true } +op { + name: "SleepDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "sleep_microseconds" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} op { name: "Slice" input_arg { @@ -30513,6 +45863,41 @@ op { } } } +op { + name: "SlidingWindowDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "window_size" + type: DT_INT64 + } + input_arg { + name: "window_shift" + type: DT_INT64 + } + input_arg { + name: "window_stride" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} op { name: "Snapshot" input_arg { @@ -30528,6 +45913,251 @@ op { type: "type" } } +op { + name: "SnapshotDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "path" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "compression" + type: "string" + default_value { + s: "" + } + } + attr { + name: "reader_path_prefix" + type: "string" + default_value { + s: "" + } + } + attr { + name: "writer_path_prefix" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shard_size_bytes" + type: "int" + default_value { + i: 10737418240 + } + } + attr { + name: "pending_snapshot_expiry_seconds" + type: "int" + default_value { + i: 86400 + } + } + attr { + name: "num_reader_threads" + type: "int" + default_value { + i: 1 + } + } + attr { + name: "reader_buffer_size" + type: "int" + default_value { + i: 1 + } + } + attr { + name: "num_writer_threads" + type: "int" + default_value { + i: 1 + } + } + attr { + name: "writer_buffer_size" + type: "int" + default_value { + i: 1 + } + } + attr { + name: "shuffle_on_read" + type: "bool" + default_value { + b: false + } + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "mode" + type: "string" + default_value { + s: "auto" + } + } + attr { + name: "snapshot_name" + type: "string" + default_value { + s: "" + } + } +} +op { + name: "SnapshotDatasetV2" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "path" + type: DT_STRING + } + input_arg { + name: "reader_func_other_args" + type_list_attr: "Treader_func_args" + } + input_arg { + name: "shard_func_other_args" + type_list_attr: "Tshard_func_args" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "compression" + type: "string" + default_value { + s: "" + } + } + attr { + name: "reader_prefix" + type: "string" + default_value { + s: "" + } + } + attr { + name: "writer_prefix" + type: "string" + default_value { + s: "" + } + } + attr { + name: "hash_valid" + type: "bool" + default_value { + b: false + } + } + attr { + name: "hash" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "reader_func" + type: "func" + } + attr { + name: "shard_func" + type: "func" + } + attr { + name: "Treader_func_args" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tshard_func_args" + type: "list(type)" + has_minimum: true + } +} +op { + name: "SobolSample" + input_arg { + name: "dim" + type: DT_INT32 + } + input_arg { + name: "num_results" + type: DT_INT32 + } + input_arg { + name: "skip" + type: DT_INT32 + } + output_arg { + name: "samples" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} op { name: "Softmax" input_arg { @@ -31299,6 +46929,89 @@ op { } } } +op { + name: "SparseApplyAdagradV2" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "accum" + type_attr: "T" + is_ref: true + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "epsilon" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "update_slots" + type: "bool" + default_value { + b: true + } + } +} op { name: "SparseApplyCenteredRMSProp" input_arg { @@ -31481,6 +47194,13 @@ op { b: false } } + attr { + name: "multiply_linear_by_lr" + type: "bool" + default_value { + b: false + } + } } op { name: "SparseApplyFtrlV2" @@ -31574,6 +47294,13 @@ op { b: false } } + attr { + name: "multiply_linear_by_lr" + type: "bool" + default_value { + b: false + } + } } op { name: "SparseApplyMomentum" @@ -31902,6 +47629,62 @@ op { } } } +op { + name: "SparseBincount" + input_arg { + name: "indices" + type: DT_INT64 + } + input_arg { + name: "values" + type_attr: "Tidx" + } + input_arg { + name: "dense_shape" + type: DT_INT64 + } + input_arg { + name: "size" + type_attr: "Tidx" + } + input_arg { + name: "weights" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "Tidx" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "binary_output" + type: "bool" + default_value { + b: false + } + } +} op { name: "SparseConcat" input_arg { @@ -32011,6 +47794,81 @@ op { } is_stateful: true } +op { + name: "SparseCountSparseOutput" + input_arg { + name: "indices" + type: DT_INT64 + } + input_arg { + name: "values" + type_attr: "T" + } + input_arg { + name: "dense_shape" + type: DT_INT64 + } + input_arg { + name: "weights" + type_attr: "output_type" + } + output_arg { + name: "output_indices" + type: DT_INT64 + } + output_arg { + name: "output_values" + type_attr: "output_type" + } + output_arg { + name: "output_dense_shape" + type: DT_INT64 + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "minlength" + type: "int" + default_value { + i: -1 + } + has_minimum: true + minimum: -1 + } + attr { + name: "maxlength" + type: "int" + default_value { + i: -1 + } + has_minimum: true + minimum: -1 + } + attr { + name: "binary_output" + type: "bool" + } + attr { + name: "output_type" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} op { name: "SparseCross" input_arg { @@ -32104,6 +47962,142 @@ op { } } } +op { + name: "SparseCrossHashed" + input_arg { + name: "indices" + type: DT_INT64 + number_attr: "N" + } + input_arg { + name: "values" + type_list_attr: "sparse_types" + } + input_arg { + name: "shapes" + type: DT_INT64 + number_attr: "N" + } + input_arg { + name: "dense_inputs" + type_list_attr: "dense_types" + } + input_arg { + name: "num_buckets" + type: DT_INT64 + } + input_arg { + name: "strong_hash" + type: DT_BOOL + } + input_arg { + name: "salt" + type: DT_INT64 + } + output_arg { + name: "output_indices" + type: DT_INT64 + } + output_arg { + name: "output_values" + type: DT_INT64 + } + output_arg { + name: "output_shape" + type: DT_INT64 + } + attr { + name: "N" + type: "int" + has_minimum: true + } + attr { + name: "sparse_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "dense_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_INT64 + type: DT_STRING + } + } + } +} +op { + name: "SparseCrossV2" + input_arg { + name: "indices" + type: DT_INT64 + number_attr: "N" + } + input_arg { + name: "values" + type_list_attr: "sparse_types" + } + input_arg { + name: "shapes" + type: DT_INT64 + number_attr: "N" + } + input_arg { + name: "dense_inputs" + type_list_attr: "dense_types" + } + input_arg { + name: "sep" + type: DT_STRING + } + output_arg { + name: "output_indices" + type: DT_INT64 + } + output_arg { + name: "output_values" + type: DT_STRING + } + output_arg { + name: "output_shape" + type: DT_INT64 + } + attr { + name: "N" + type: "int" + has_minimum: true + } + attr { + name: "sparse_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "dense_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_INT64 + type: DT_STRING + } + } + } +} op { name: "SparseDenseCwiseAdd" input_arg { @@ -32379,6 +48373,324 @@ op { } } } +op { + name: "SparseMatrixAdd" + input_arg { + name: "a" + type: DT_VARIANT + } + input_arg { + name: "b" + type: DT_VARIANT + } + input_arg { + name: "alpha" + type_attr: "T" + } + input_arg { + name: "beta" + type_attr: "T" + } + output_arg { + name: "c" + type: DT_VARIANT + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "SparseMatrixMatMul" + input_arg { + name: "a" + type: DT_VARIANT + } + input_arg { + name: "b" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "transpose_a" + type: "bool" + default_value { + b: false + } + } + attr { + name: "transpose_b" + type: "bool" + default_value { + b: false + } + } + attr { + name: "adjoint_a" + type: "bool" + default_value { + b: false + } + } + attr { + name: "adjoint_b" + type: "bool" + default_value { + b: false + } + } + attr { + name: "transpose_output" + type: "bool" + default_value { + b: false + } + } + attr { + name: "conjugate_output" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "SparseMatrixMul" + input_arg { + name: "a" + type: DT_VARIANT + } + input_arg { + name: "b" + type_attr: "T" + } + output_arg { + name: "output" + type: DT_VARIANT + } + attr { + name: "T" + type: "type" + } +} +op { + name: "SparseMatrixNNZ" + input_arg { + name: "sparse_matrix" + type: DT_VARIANT + } + output_arg { + name: "nnz" + type: DT_INT32 + } +} +op { + name: "SparseMatrixOrderingAMD" + input_arg { + name: "input" + type: DT_VARIANT + } + output_arg { + name: "output" + type: DT_INT32 + } +} +op { + name: "SparseMatrixSoftmax" + input_arg { + name: "logits" + type: DT_VARIANT + } + output_arg { + name: "softmax" + type: DT_VARIANT + } + attr { + name: "type" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "SparseMatrixSoftmaxGrad" + input_arg { + name: "softmax" + type: DT_VARIANT + } + input_arg { + name: "grad_softmax" + type: DT_VARIANT + } + output_arg { + name: "gradient" + type: DT_VARIANT + } + attr { + name: "type" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "SparseMatrixSparseCholesky" + input_arg { + name: "input" + type: DT_VARIANT + } + input_arg { + name: "permutation" + type: DT_INT32 + } + output_arg { + name: "output" + type: DT_VARIANT + } + attr { + name: "type" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "SparseMatrixSparseMatMul" + input_arg { + name: "a" + type: DT_VARIANT + } + input_arg { + name: "b" + type: DT_VARIANT + } + output_arg { + name: "c" + type: DT_VARIANT + } + attr { + name: "type" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } + attr { + name: "transpose_a" + type: "bool" + default_value { + b: false + } + } + attr { + name: "transpose_b" + type: "bool" + default_value { + b: false + } + } + attr { + name: "adjoint_a" + type: "bool" + default_value { + b: false + } + } + attr { + name: "adjoint_b" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "SparseMatrixTranspose" + input_arg { + name: "input" + type: DT_VARIANT + } + output_arg { + name: "output" + type: DT_VARIANT + } + attr { + name: "conjugate" + type: "bool" + default_value { + b: false + } + } + attr { + name: "type" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "SparseMatrixZeros" + input_arg { + name: "dense_shape" + type: DT_INT64 + } + output_arg { + name: "sparse_matrix" + type: DT_VARIANT + } + attr { + name: "type" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} op { name: "SparseReduceMax" input_arg { @@ -32667,7 +48979,7 @@ op { } input_arg { name: "segment_ids" - type: DT_INT32 + type_attr: "Tsegmentids" } output_arg { name: "output" @@ -32678,6 +48990,7 @@ op { type: "type" allowed_values { list { + type: DT_BFLOAT16 type: DT_FLOAT type: DT_DOUBLE } @@ -32696,6 +49009,19 @@ op { } } } + attr { + name: "Tsegmentids" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } } op { name: "SparseSegmentMeanGrad" @@ -32709,7 +49035,7 @@ op { } input_arg { name: "segment_ids" - type: DT_INT32 + type_attr: "Tsegmentids" } input_arg { name: "output_dim0" @@ -32742,6 +49068,19 @@ op { } } } + attr { + name: "Tsegmentids" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } } op { name: "SparseSegmentMeanWithNumSegments" @@ -32755,7 +49094,7 @@ op { } input_arg { name: "segment_ids" - type: DT_INT32 + type_attr: "Tsegmentids" } input_arg { name: "num_segments" @@ -32770,6 +49109,7 @@ op { type: "type" allowed_values { list { + type: DT_BFLOAT16 type: DT_FLOAT type: DT_DOUBLE } @@ -32801,6 +49141,19 @@ op { } } } + attr { + name: "Tsegmentids" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } } op { name: "SparseSegmentSqrtN" @@ -32814,7 +49167,7 @@ op { } input_arg { name: "segment_ids" - type: DT_INT32 + type_attr: "Tsegmentids" } output_arg { name: "output" @@ -32825,6 +49178,7 @@ op { type: "type" allowed_values { list { + type: DT_BFLOAT16 type: DT_FLOAT type: DT_DOUBLE } @@ -32843,6 +49197,19 @@ op { } } } + attr { + name: "Tsegmentids" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } } op { name: "SparseSegmentSqrtNGrad" @@ -32856,7 +49223,7 @@ op { } input_arg { name: "segment_ids" - type: DT_INT32 + type_attr: "Tsegmentids" } input_arg { name: "output_dim0" @@ -32889,6 +49256,19 @@ op { } } } + attr { + name: "Tsegmentids" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } } op { name: "SparseSegmentSqrtNWithNumSegments" @@ -32902,7 +49282,7 @@ op { } input_arg { name: "segment_ids" - type: DT_INT32 + type_attr: "Tsegmentids" } input_arg { name: "num_segments" @@ -32917,6 +49297,7 @@ op { type: "type" allowed_values { list { + type: DT_BFLOAT16 type: DT_FLOAT type: DT_DOUBLE } @@ -32948,6 +49329,19 @@ op { } } } + attr { + name: "Tsegmentids" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } } op { name: "SparseSegmentSum" @@ -32961,7 +49355,7 @@ op { } input_arg { name: "segment_ids" - type: DT_INT32 + type_attr: "Tsegmentids" } output_arg { name: "output" @@ -33000,6 +49394,19 @@ op { } } } + attr { + name: "Tsegmentids" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } } op { name: "SparseSegmentSumWithNumSegments" @@ -33013,7 +49420,7 @@ op { } input_arg { name: "segment_ids" - type: DT_INT32 + type_attr: "Tsegmentids" } input_arg { name: "num_segments" @@ -33069,6 +49476,19 @@ op { } } } + attr { + name: "Tsegmentids" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } } op { name: "SparseSlice" @@ -33525,6 +49945,37 @@ op { } is_stateful: true } +op { + name: "SparseTensorToCSRSparseMatrix" + input_arg { + name: "indices" + type: DT_INT64 + } + input_arg { + name: "values" + type_attr: "T" + } + input_arg { + name: "dense_shape" + type: DT_INT64 + } + output_arg { + name: "sparse_matrix" + type: DT_VARIANT + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} op { name: "SparseToDense" input_arg { @@ -33634,6 +50085,29 @@ op { } } } +op { + name: "Spence" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} op { name: "Split" input_arg { @@ -33703,6 +50177,38 @@ op { } } } +op { + name: "SqlDataset" + input_arg { + name: "driver_name" + type: DT_STRING + } + input_arg { + name: "data_source_name" + type: DT_STRING + } + input_arg { + name: "query" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} op { name: "Sqrt" input_arg { @@ -33776,6 +50282,8 @@ op { type: DT_HALF type: DT_FLOAT type: DT_DOUBLE + type: DT_INT8 + type: DT_INT16 type: DT_INT32 type: DT_INT64 type: DT_COMPLEX64 @@ -34204,6 +50712,327 @@ op { } is_stateful: true } +op { + name: "StatefulRandomBinomial" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "algorithm" + type: DT_INT64 + } + input_arg { + name: "shape" + type_attr: "S" + } + input_arg { + name: "counts" + type_attr: "T" + } + input_arg { + name: "probs" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "S" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T" + type: "type" + default_value { + type: DT_DOUBLE + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + is_stateful: true +} +op { + name: "StatefulStandardNormal" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "shape" + type_attr: "shape_dtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_FLOAT + } + } + attr { + name: "shape_dtype" + type: "type" + default_value { + type: DT_INT64 + } + } + deprecation { + version: 29 + explanation: "Use StatefulStandardNormalV2 instead" + } + is_stateful: true +} +op { + name: "StatefulStandardNormalV2" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "algorithm" + type: DT_INT64 + } + input_arg { + name: "shape" + type_attr: "shape_dtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_FLOAT + } + } + attr { + name: "shape_dtype" + type: "type" + default_value { + type: DT_INT64 + } + } + is_stateful: true +} +op { + name: "StatefulTruncatedNormal" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "algorithm" + type: DT_INT64 + } + input_arg { + name: "shape" + type_attr: "shape_dtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_FLOAT + } + } + attr { + name: "shape_dtype" + type: "type" + default_value { + type: DT_INT64 + } + } + is_stateful: true +} +op { + name: "StatefulUniform" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "algorithm" + type: DT_INT64 + } + input_arg { + name: "shape" + type_attr: "shape_dtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_FLOAT + } + } + attr { + name: "shape_dtype" + type: "type" + default_value { + type: DT_INT64 + } + } + is_stateful: true +} +op { + name: "StatefulUniformFullInt" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "algorithm" + type: DT_INT64 + } + input_arg { + name: "shape" + type_attr: "shape_dtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_UINT64 + } + } + attr { + name: "shape_dtype" + type: "type" + default_value { + type: DT_INT64 + } + } + is_stateful: true +} +op { + name: "StatefulUniformInt" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "algorithm" + type: DT_INT64 + } + input_arg { + name: "shape" + type_attr: "shape_dtype" + } + input_arg { + name: "minval" + type_attr: "dtype" + } + input_arg { + name: "maxval" + type_attr: "dtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_INT64 + } + } + attr { + name: "shape_dtype" + type: "type" + default_value { + type: DT_INT64 + } + } + is_stateful: true +} +op { + name: "StatelessCase" + input_arg { + name: "branch_index" + type: DT_INT32 + } + input_arg { + name: "input" + type_list_attr: "Tin" + } + output_arg { + name: "output" + type_list_attr: "Tout" + } + attr { + name: "Tin" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tout" + type: "list(type)" + has_minimum: true + } + attr { + name: "branches" + type: "list(func)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + default_value { + list { + } + } + } +} op { name: "StatelessIf" input_arg { @@ -34240,6 +51069,14 @@ op { name: "else_branch" type: "func" } + attr { + name: "output_shapes" + type: "list(shape)" + default_value { + list { + } + } + } } op { name: "StatelessMultinomial" @@ -34306,6 +51143,269 @@ op { } } } +op { + name: "StatelessParameterizedTruncatedNormal" + input_arg { + name: "shape" + type_attr: "S" + } + input_arg { + name: "seed" + type_attr: "Tseed" + } + input_arg { + name: "means" + type_attr: "dtype" + } + input_arg { + name: "stddevs" + type_attr: "dtype" + } + input_arg { + name: "minvals" + type_attr: "dtype" + } + input_arg { + name: "maxvals" + type_attr: "dtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "S" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tseed" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "StatelessRandomBinomial" + input_arg { + name: "shape" + type_attr: "S" + } + input_arg { + name: "seed" + type_attr: "Tseed" + } + input_arg { + name: "counts" + type_attr: "T" + } + input_arg { + name: "probs" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "S" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tseed" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T" + type: "type" + default_value { + type: DT_DOUBLE + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "StatelessRandomGammaV2" + input_arg { + name: "shape" + type_attr: "T" + } + input_arg { + name: "seed" + type_attr: "Tseed" + } + input_arg { + name: "alpha" + type_attr: "dtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tseed" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "StatelessRandomGetAlg" + output_arg { + name: "alg" + type: DT_INT32 + } +} +op { + name: "StatelessRandomGetKeyCounter" + input_arg { + name: "seed" + type_attr: "Tseed" + } + output_arg { + name: "key" + type: DT_UINT64 + } + output_arg { + name: "counter" + type: DT_UINT64 + } + attr { + name: "Tseed" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "StatelessRandomGetKeyCounterAlg" + input_arg { + name: "seed" + type_attr: "Tseed" + } + output_arg { + name: "key" + type: DT_UINT64 + } + output_arg { + name: "counter" + type: DT_UINT64 + } + output_arg { + name: "alg" + type: DT_INT32 + } + attr { + name: "Tseed" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} op { name: "StatelessRandomNormal" input_arg { @@ -34362,6 +51462,125 @@ op { } } } +op { + name: "StatelessRandomNormalV2" + input_arg { + name: "shape" + type_attr: "Tshape" + } + input_arg { + name: "key" + type: DT_UINT64 + } + input_arg { + name: "counter" + type: DT_UINT64 + } + input_arg { + name: "alg" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tshape" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "StatelessRandomPoisson" + input_arg { + name: "shape" + type_attr: "T" + } + input_arg { + name: "seed" + type_attr: "Tseed" + } + input_arg { + name: "lam" + type_attr: "Rtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "Rtype" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tseed" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} op { name: "StatelessRandomUniform" input_arg { @@ -34418,6 +51637,115 @@ op { } } } +op { + name: "StatelessRandomUniformFullInt" + input_arg { + name: "shape" + type_attr: "T" + } + input_arg { + name: "seed" + type_attr: "Tseed" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_UINT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "T" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tseed" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "StatelessRandomUniformFullIntV2" + input_arg { + name: "shape" + type_attr: "Tshape" + } + input_arg { + name: "key" + type: DT_UINT64 + } + input_arg { + name: "counter" + type: DT_UINT64 + } + input_arg { + name: "alg" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_UINT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tshape" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} op { name: "StatelessRandomUniformInt" input_arg { @@ -34474,6 +51802,201 @@ op { } } } +op { + name: "StatelessRandomUniformIntV2" + input_arg { + name: "shape" + type_attr: "Tshape" + } + input_arg { + name: "key" + type: DT_UINT64 + } + input_arg { + name: "counter" + type: DT_UINT64 + } + input_arg { + name: "alg" + type: DT_INT32 + } + input_arg { + name: "minval" + type_attr: "dtype" + } + input_arg { + name: "maxval" + type_attr: "dtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tshape" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "StatelessRandomUniformV2" + input_arg { + name: "shape" + type_attr: "Tshape" + } + input_arg { + name: "key" + type: DT_UINT64 + } + input_arg { + name: "counter" + type: DT_UINT64 + } + input_arg { + name: "alg" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tshape" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "StatelessSampleDistortedBoundingBox" + input_arg { + name: "image_size" + type_attr: "T" + } + input_arg { + name: "bounding_boxes" + type: DT_FLOAT + } + input_arg { + name: "min_object_covered" + type: DT_FLOAT + } + input_arg { + name: "seed" + type_attr: "Tseed" + } + output_arg { + name: "begin" + type_attr: "T" + } + output_arg { + name: "size" + type_attr: "T" + } + output_arg { + name: "bboxes" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_UINT8 + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tseed" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "aspect_ratio_range" + type: "list(float)" + default_value { + list { + f: 0.75 + f: 1.33 + } + } + } + attr { + name: "area_range" + type: "list(float)" + default_value { + list { + f: 0.05 + f: 1 + } + } + } + attr { + name: "max_attempts" + type: "int" + default_value { + i: 100 + } + } + attr { + name: "use_image_if_no_bounding_boxes" + type: "bool" + default_value { + b: false + } + } +} op { name: "StatelessTruncatedNormal" input_arg { @@ -34530,6 +52053,57 @@ op { } } } +op { + name: "StatelessTruncatedNormalV2" + input_arg { + name: "shape" + type_attr: "Tshape" + } + input_arg { + name: "key" + type: DT_UINT64 + } + input_arg { + name: "counter" + type: DT_UINT64 + } + input_arg { + name: "alg" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tshape" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} op { name: "StatelessWhile" input_arg { @@ -34553,6 +52127,21 @@ op { name: "body" type: "func" } + attr { + name: "output_shapes" + type: "list(shape)" + default_value { + list { + } + } + } + attr { + name: "parallel_iterations" + type: "int" + default_value { + i: 10 + } + } } op { name: "StaticRegexFullMatch" @@ -34595,6 +52184,74 @@ op { } } } +op { + name: "StatsAggregatorHandle" + output_arg { + name: "handle" + type: DT_RESOURCE + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "StatsAggregatorHandleV2" + output_arg { + name: "handle" + type: DT_RESOURCE + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "StatsAggregatorSetSummaryWriter" + input_arg { + name: "stats_aggregator" + type: DT_RESOURCE + } + input_arg { + name: "summary" + type: DT_RESOURCE + } + is_stateful: true +} +op { + name: "StatsAggregatorSummary" + input_arg { + name: "iterator" + type: DT_RESOURCE + } + output_arg { + name: "summary" + type: DT_STRING + } + is_stateful: true +} op { name: "StopGradient" input_arg { @@ -34922,6 +52579,81 @@ op { } } } +op { + name: "StringLower" + input_arg { + name: "input" + type: DT_STRING + } + output_arg { + name: "output" + type: DT_STRING + } + attr { + name: "encoding" + type: "string" + default_value { + s: "" + } + } +} +op { + name: "StringNGrams" + input_arg { + name: "data" + type: DT_STRING + } + input_arg { + name: "data_splits" + type_attr: "Tsplits" + } + output_arg { + name: "ngrams" + type: DT_STRING + } + output_arg { + name: "ngrams_splits" + type_attr: "Tsplits" + } + attr { + name: "separator" + type: "string" + } + attr { + name: "ngram_widths" + type: "list(int)" + has_minimum: true + } + attr { + name: "left_pad" + type: "string" + } + attr { + name: "right_pad" + type: "string" + } + attr { + name: "pad_width" + type: "int" + } + attr { + name: "preserve_short_sequences" + type: "bool" + } + attr { + name: "Tsplits" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} op { name: "StringSplit" input_arg { @@ -35074,6 +52806,24 @@ op { } } } +op { + name: "StringUpper" + input_arg { + name: "input" + type: DT_STRING + } + output_arg { + name: "output" + type: DT_STRING + } + attr { + name: "encoding" + type: "string" + default_value { + s: "" + } + } +} op { name: "Sub" input_arg { @@ -35105,6 +52855,7 @@ op { type: DT_INT64 type: DT_COMPLEX64 type: DT_COMPLEX128 + type: DT_UINT32 } } } @@ -35272,6 +53023,7 @@ op { list { type: DT_DOUBLE type: DT_FLOAT + type: DT_HALF type: DT_COMPLEX64 type: DT_COMPLEX128 } @@ -35411,6 +53163,407 @@ op { } is_stateful: true } +op { + name: "TPUCompilationResult" + output_arg { + name: "output" + type: DT_STRING + } +} +op { + name: "TPUCompile" + input_arg { + name: "dynamic_shapes" + type: DT_INT64 + number_attr: "NumDynamicShapes" + } + input_arg { + name: "guaranteed_constants" + type_list_attr: "Tguaranteed_constants" + } + output_arg { + name: "compilation_status" + type: DT_STRING + } + output_arg { + name: "program" + type: DT_STRING + number_attr: "num_computations" + } + output_arg { + name: "may_modify_variables" + type: DT_BOOL + number_attr: "num_computations" + } + attr { + name: "num_computations" + type: "int" + has_minimum: true + } + attr { + name: "function" + type: "func" + } + attr { + name: "metadata" + type: "string" + } + attr { + name: "NumDynamicShapes" + type: "int" + has_minimum: true + } + attr { + name: "Tguaranteed_constants" + type: "list(type)" + has_minimum: true + } + is_stateful: true +} +op { + name: "TPUCompileSucceededAssert" + input_arg { + name: "compilation_status" + type: DT_STRING + } + is_stateful: true +} +op { + name: "TPUEmbeddingActivations" + input_arg { + name: "embedding_variable" + type: DT_FLOAT + } + input_arg { + name: "sliced_activations" + type: DT_FLOAT + } + output_arg { + name: "output" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + has_minimum: true + } + attr { + name: "lookup_id" + type: "int" + has_minimum: true + } +} +op { + name: "TPUExecute" + input_arg { + name: "args" + type_list_attr: "Targs" + } + input_arg { + name: "key" + type: DT_STRING + } + output_arg { + name: "results" + type_list_attr: "Tresults" + } + attr { + name: "Targs" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tresults" + type: "list(type)" + has_minimum: true + } + is_stateful: true +} +op { + name: "TPUExecuteAndUpdateVariables" + input_arg { + name: "args" + type_list_attr: "Targs" + } + input_arg { + name: "key" + type: DT_STRING + } + output_arg { + name: "results" + type_list_attr: "Tresults" + } + attr { + name: "Targs" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tresults" + type: "list(type)" + has_minimum: true + } + attr { + name: "device_var_reads_indices" + type: "list(int)" + has_minimum: true + } + attr { + name: "device_var_updates_indices" + type: "list(int)" + has_minimum: true + } + is_stateful: true +} +op { + name: "TPUOrdinalSelector" + output_arg { + name: "device_ordinals" + type: DT_INT32 + } + is_stateful: true +} +op { + name: "TPUPartitionedCall" + input_arg { + name: "args" + type_list_attr: "Tin" + } + input_arg { + name: "device_ordinal" + type: DT_INT32 + } + output_arg { + name: "output" + type_list_attr: "Tout" + } + attr { + name: "Tin" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tout" + type: "list(type)" + has_minimum: true + } + attr { + name: "f" + type: "func" + } + attr { + name: "autotuner_thresh" + type: "int" + default_value { + i: 0 + } + } +} +op { + name: "TPUPartitionedInput" + input_arg { + name: "inputs" + type_attr: "T" + number_attr: "N" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "T" + type: "type" + } + attr { + name: "partition_dim" + type: "int" + default_value { + i: 0 + } + } +} +op { + name: "TPUPartitionedOutput" + input_arg { + name: "inputs" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + number_attr: "num_splits" + } + attr { + name: "T" + type: "type" + } + attr { + name: "num_splits" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "partition_dim" + type: "int" + default_value { + i: 0 + } + } +} +op { + name: "TPUReplicateMetadata" + attr { + name: "num_replicas" + type: "int" + has_minimum: true + } + attr { + name: "num_cores_per_replica" + type: "int" + default_value { + i: 1 + } + } + attr { + name: "topology" + type: "string" + default_value { + s: "" + } + } + attr { + name: "use_tpu" + type: "bool" + default_value { + b: true + } + } + attr { + name: "device_assignment" + type: "list(int)" + default_value { + list { + } + } + } + attr { + name: "computation_shape" + type: "list(int)" + default_value { + list { + } + } + } + attr { + name: "host_compute_core" + type: "list(string)" + default_value { + list { + } + } + } + attr { + name: "padding_map" + type: "list(string)" + default_value { + list { + } + } + } + attr { + name: "step_marker_location" + type: "string" + default_value { + s: "STEP_MARK_AT_ENTRY" + } + } + attr { + name: "allow_soft_placement" + type: "bool" + default_value { + b: false + } + } + attr { + name: "use_spmd_for_xla_partitioning" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "TPUReplicatedInput" + input_arg { + name: "inputs" + type_attr: "T" + number_attr: "N" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "T" + type: "type" + } + attr { + name: "is_mirrored_variable" + type: "bool" + default_value { + b: false + } + } + attr { + name: "index" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "is_packed" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "TPUReplicatedOutput" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "outputs" + type_attr: "T" + number_attr: "num_replicas" + } + attr { + name: "num_replicas" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "T" + type: "type" + } +} op { name: "TakeDataset" input_arg { @@ -35476,6 +53629,42 @@ op { } is_stateful: true } +op { + name: "TakeWhileDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "predicate" + type: "func" + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} op { name: "Tan" input_arg { @@ -35495,6 +53684,8 @@ op { type: DT_HALF type: DT_FLOAT type: DT_DOUBLE + type: DT_INT8 + type: DT_INT16 type: DT_INT32 type: DT_INT64 type: DT_COMPLEX64 @@ -36691,6 +54882,15 @@ op { name: "element_dtype" type: "type" } + attr { + name: "element_shape" + type: "shape" + default_value { + shape { + unknown_rank: true + } + } + } } op { name: "TensorListConcatLists" @@ -36711,6 +54911,43 @@ op { type: "type" } } +op { + name: "TensorListConcatV2" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + input_arg { + name: "element_shape" + type_attr: "shape_type" + } + input_arg { + name: "leading_dims" + type: DT_INT64 + } + output_arg { + name: "tensor" + type_attr: "element_dtype" + } + output_arg { + name: "lengths" + type: DT_INT64 + } + attr { + name: "element_dtype" + type: "type" + } + attr { + name: "shape_type" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} op { name: "TensorListElementShape" input_arg { @@ -36771,6 +55008,10 @@ op { name: "indices" type: DT_INT32 } + input_arg { + name: "element_shape" + type: DT_INT32 + } output_arg { name: "values" type_attr: "element_dtype" @@ -36790,6 +55031,10 @@ op { name: "index" type: DT_INT32 } + input_arg { + name: "element_shape" + type: DT_INT32 + } output_arg { name: "item" type_attr: "element_dtype" @@ -36816,6 +55061,10 @@ op { name: "input_handle" type: DT_VARIANT } + input_arg { + name: "element_shape" + type: DT_INT32 + } output_arg { name: "output_handle" type: DT_VARIANT @@ -36896,6 +55145,21 @@ op { } } } +op { + name: "TensorListResize" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + input_arg { + name: "size" + type: DT_INT32 + } + output_arg { + name: "output_handle" + type: DT_VARIANT + } +} op { name: "TensorListScatter" input_arg { @@ -36929,6 +55193,66 @@ op { } } } +op { + name: "TensorListScatterIntoExistingList" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + input_arg { + name: "tensor" + type_attr: "element_dtype" + } + input_arg { + name: "indices" + type: DT_INT32 + } + output_arg { + name: "output_handle" + type: DT_VARIANT + } + attr { + name: "element_dtype" + type: "type" + } +} +op { + name: "TensorListScatterV2" + input_arg { + name: "tensor" + type_attr: "element_dtype" + } + input_arg { + name: "indices" + type: DT_INT32 + } + input_arg { + name: "element_shape" + type_attr: "shape_type" + } + input_arg { + name: "num_elements" + type: DT_INT32 + } + output_arg { + name: "output_handle" + type: DT_VARIANT + } + attr { + name: "element_dtype" + type: "type" + } + attr { + name: "shape_type" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} op { name: "TensorListSetItem" input_arg { @@ -36991,6 +55315,10 @@ op { name: "input_handle" type: DT_VARIANT } + input_arg { + name: "element_shape" + type: DT_INT32 + } output_arg { name: "tensor" type_attr: "element_dtype" @@ -37007,6 +55335,124 @@ op { } } } +op { + name: "TensorMapErase" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + input_arg { + name: "key" + type_attr: "key_dtype" + } + output_arg { + name: "output_handle" + type: DT_VARIANT + } + attr { + name: "key_dtype" + type: "type" + } + attr { + name: "value_dtype" + type: "type" + } +} +op { + name: "TensorMapHasKey" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + input_arg { + name: "key" + type_attr: "key_dtype" + } + output_arg { + name: "has_key" + type: DT_BOOL + } + attr { + name: "key_dtype" + type: "type" + } +} +op { + name: "TensorMapInsert" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + input_arg { + name: "key" + type_attr: "key_dtype" + } + input_arg { + name: "value" + type_attr: "value_dtype" + } + output_arg { + name: "output_handle" + type: DT_VARIANT + } + attr { + name: "key_dtype" + type: "type" + } + attr { + name: "value_dtype" + type: "type" + } +} +op { + name: "TensorMapLookup" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + input_arg { + name: "key" + type_attr: "key_dtype" + } + output_arg { + name: "value" + type_attr: "value_dtype" + } + attr { + name: "key_dtype" + type: "type" + } + attr { + name: "value_dtype" + type: "type" + } +} +op { + name: "TensorMapSize" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + output_arg { + name: "size" + type: DT_INT32 + } +} +op { + name: "TensorMapStackKeys" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + output_arg { + name: "keys" + type_attr: "key_dtype" + } + attr { + name: "key_dtype" + type: "type" + } +} op { name: "TensorScatterAdd" input_arg { @@ -37040,6 +55486,72 @@ op { } } } +op { + name: "TensorScatterMax" + input_arg { + name: "tensor" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "TensorScatterMin" + input_arg { + name: "tensor" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} op { name: "TensorScatterSub" input_arg { @@ -37130,6 +55642,82 @@ op { } is_stateful: true } +op { + name: "TensorStridedSliceUpdate" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "begin" + type_attr: "Index" + } + input_arg { + name: "end" + type_attr: "Index" + } + input_arg { + name: "strides" + type_attr: "Index" + } + input_arg { + name: "value" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Index" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "begin_mask" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "end_mask" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "ellipsis_mask" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "new_axis_mask" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "shrink_axis_mask" + type: "int" + default_value { + i: 0 + } + } +} op { name: "TensorSummary" input_arg { @@ -37273,6 +55861,71 @@ op { } is_stateful: true } +op { + name: "ThreadPoolDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "thread_pool" + type: DT_RESOURCE + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "ThreadPoolHandle" + output_arg { + name: "handle" + type: DT_RESOURCE + } + attr { + name: "num_threads" + type: "int" + } + attr { + name: "max_intra_op_parallelism" + type: "int" + default_value { + i: 1 + } + } + attr { + name: "display_name" + type: "string" + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} op { name: "ThreadUnsafeUnigramCandidateSampler" input_arg { @@ -37392,6 +56045,21 @@ op { } is_stateful: true } +op { + name: "ToBool" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type: DT_BOOL + } + attr { + name: "T" + type: "type" + } +} op { name: "TopK" input_arg { @@ -37443,6 +56111,25 @@ op { explanation: "Use TopKV2 instead" } } +op { + name: "TopKUnique" + input_arg { + name: "input" + type: DT_FLOAT + } + output_arg { + name: "topk" + type: DT_FLOAT + } + output_arg { + name: "topk_indices" + type: DT_INT32 + } + attr { + name: "k" + type: "int" + } +} op { name: "TopKV2" input_arg { @@ -37489,6 +56176,25 @@ op { } } } +op { + name: "TopKWithUnique" + input_arg { + name: "input" + type: DT_FLOAT + } + output_arg { + name: "topk" + type: DT_FLOAT + } + output_arg { + name: "topk_indices" + type: DT_INT32 + } + attr { + name: "k" + type: "int" + } +} op { name: "Transpose" input_arg { @@ -37521,6 +56227,75 @@ op { } } } +op { + name: "TridiagonalMatMul" + input_arg { + name: "superdiag" + type_attr: "T" + } + input_arg { + name: "maindiag" + type_attr: "T" + } + input_arg { + name: "subdiag" + type_attr: "T" + } + input_arg { + name: "rhs" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "TridiagonalSolve" + input_arg { + name: "diagonals" + type_attr: "T" + } + input_arg { + name: "rhs" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "partial_pivoting" + type: "bool" + default_value { + b: true + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} op { name: "TruncateDiv" input_arg { @@ -37723,6 +56498,29 @@ op { type: "type" } } +op { + name: "UnbatchDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} op { name: "UnbatchGrad" input_arg { @@ -37764,6 +56562,29 @@ op { type: "type" } } +op { + name: "UncompressElement" + input_arg { + name: "compressed" + type: DT_VARIANT + } + output_arg { + name: "components" + type_list_attr: "output_types" + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} op { name: "UnicodeDecode" input_arg { @@ -37772,7 +56593,7 @@ op { } output_arg { name: "row_splits" - type: DT_INT64 + type_attr: "Tsplits" } output_arg { name: "char_values" @@ -37810,6 +56631,19 @@ op { b: false } } + attr { + name: "Tsplits" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } } op { name: "UnicodeDecodeWithOffsets" @@ -37819,7 +56653,7 @@ op { } output_arg { name: "row_splits" - type: DT_INT64 + type_attr: "Tsplits" } output_arg { name: "char_values" @@ -37861,6 +56695,19 @@ op { b: false } } + attr { + name: "Tsplits" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } } op { name: "UnicodeEncode" @@ -37870,7 +56717,7 @@ op { } input_arg { name: "input_splits" - type: DT_INT64 + type_attr: "Tsplits" } output_arg { name: "output" @@ -37908,6 +56755,19 @@ op { i: 65533 } } + attr { + name: "Tsplits" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } } op { name: "UnicodeScript" @@ -38062,6 +56922,29 @@ op { } } } +op { + name: "UniqueDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} op { name: "UniqueV2" input_arg { @@ -38256,6 +57139,55 @@ op { } } } +op { + name: "UnsortedSegmentJoin" + input_arg { + name: "inputs" + type: DT_STRING + } + input_arg { + name: "segment_ids" + type_attr: "Tindices" + } + input_arg { + name: "num_segments" + type_attr: "Tnumsegments" + } + output_arg { + name: "output" + type: DT_STRING + } + attr { + name: "separator" + type: "string" + default_value { + s: "" + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tnumsegments" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} op { name: "UnsortedSegmentMax" input_arg { @@ -38629,6 +57561,14 @@ op { name: "shape" type: "shape" } + attr { + name: "allowed_devices" + type: "list(string)" + default_value { + list { + } + } + } is_stateful: true } op { @@ -38801,6 +57741,13 @@ op { } } } + attr { + name: "parallel_iterations" + type: "int" + default_value { + i: 10 + } + } is_stateful: true } op { @@ -38887,6 +57834,18 @@ op { minimum: 1 } } +op { + name: "WorkerHeartbeat" + input_arg { + name: "request" + type: DT_STRING + } + output_arg { + name: "response" + type: DT_STRING + } + is_stateful: true +} op { name: "WrapDatasetVariant" input_arg { @@ -38941,6 +57900,7 @@ op { name: "contents" type: DT_STRING } + is_stateful: true } op { name: "WriteGraphSummary" @@ -39048,6 +58008,22 @@ op { } is_stateful: true } +op { + name: "WriteRawProtoSummary" + input_arg { + name: "writer" + type: DT_RESOURCE + } + input_arg { + name: "step" + type: DT_INT64 + } + input_arg { + name: "tensor" + type: DT_STRING + } + is_stateful: true +} op { name: "WriteScalarSummary" input_arg { @@ -39144,6 +58120,124 @@ op { } } } +op { + name: "XlaHostCompute" + input_arg { + name: "inputs" + type_list_attr: "Tinputs" + } + output_arg { + name: "outputs" + type_list_attr: "Toutputs" + } + attr { + name: "Tinputs" + type: "list(type)" + has_minimum: true + } + attr { + name: "Toutputs" + type: "list(type)" + has_minimum: true + } + attr { + name: "ancestors" + type: "list(string)" + has_minimum: true + } + attr { + name: "shapes" + type: "list(shape)" + has_minimum: true + } + attr { + name: "shape_inference_graph" + type: "func" + } + attr { + name: "key" + type: "string" + } + attr { + name: "cost_estimate_ns" + type: "int" + default_value { + i: 1000000 + } + } + attr { + name: "tpu_core" + type: "int" + default_value { + i: 0 + } + } + is_stateful: true +} +op { + name: "XlaRecvFromHost" + output_arg { + name: "output" + type_attr: "Toutput" + } + attr { + name: "Toutput" + type: "type" + } + attr { + name: "shape" + type: "shape" + } + attr { + name: "key" + type: "string" + } + is_stateful: true +} +op { + name: "XlaSendToHost" + input_arg { + name: "input" + type_attr: "Tinput" + } + attr { + name: "Tinput" + type: "type" + } + attr { + name: "key" + type: "string" + } + is_stateful: true +} +op { + name: "Xlog1py" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} op { name: "Xlogy" input_arg { @@ -39241,4 +58335,4 @@ op { has_minimum: true minimum: 1 } -} \ No newline at end of file +} diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/pom.xml b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/pom.xml index c20e4553a..f78f41e7f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/pom.xml +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/pom.xml @@ -1,44 +1,42 @@ - + + + + - - - nd4j-api-parent - org.nd4j - 1.0.0-SNAPSHOT - 4.0.0 + + org.nd4j + nd4j-api-parent + 1.0.0-SNAPSHOT + + nd4j-native-api - jar nd4j-native-api - - org.nd4j nd4j-api - ${project.version} - - - org.bytedeco - javacpp - ${javacpp.version} diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/autodiff/execution/NativeGraphExecutioner.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/autodiff/execution/NativeGraphExecutioner.java index 12088f027..217e616e7 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/autodiff/execution/NativeGraphExecutioner.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/autodiff/execution/NativeGraphExecutioner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.autodiff.execution; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/compression/impl/AbstractCompressor.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/compression/impl/AbstractCompressor.java index ca0cd6216..17c568dba 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/compression/impl/AbstractCompressor.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/compression/impl/AbstractCompressor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.compression.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/compression/impl/Gzip.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/compression/impl/Gzip.java index c36ffa8ec..33fa90180 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/compression/impl/Gzip.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/compression/impl/Gzip.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.compression.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/compression/impl/NoOp.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/compression/impl/NoOp.java index b4732966b..e59896420 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/compression/impl/NoOp.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/compression/impl/NoOp.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.compression.impl; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/BaseNativeNDArrayFactory.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/BaseNativeNDArrayFactory.java index 66fd77ca4..567ca6a41 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/BaseNativeNDArrayFactory.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/BaseNativeNDArrayFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.nativeblas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/LongPointerWrapper.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/LongPointerWrapper.java index fe0951e98..ca1e86a40 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/LongPointerWrapper.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/LongPointerWrapper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.nativeblas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/NativeLapack.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/NativeLapack.java index cde31353d..1bbe8e926 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/NativeLapack.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/NativeLapack.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.nativeblas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/NativeOps.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/NativeOps.java index 0861c4e1b..a68fb18c1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/NativeOps.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/NativeOps.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.nativeblas; @@ -1149,6 +1151,8 @@ public interface NativeOps { OpaqueConstantShapeBuffer shapeBuffer(int rank, LongPointer shape, LongPointer strides, int dtype, char order, long ews, boolean empty); + OpaqueConstantShapeBuffer shapeBufferEx(int rank, LongPointer shape, LongPointer strides, int dtype, char order, long ews, long extras); + OpaqueConstantDataBuffer constantBufferDouble(int dtype, DoublePointer data, int length); OpaqueConstantDataBuffer constantBufferLong(int dtype, LongPointer data, int length); @@ -1242,4 +1246,11 @@ public interface NativeOps { int dbDeviceId(OpaqueDataBuffer dataBuffer); void dbSetDeviceId(OpaqueDataBuffer dataBuffer, int deviceId); void dbExpand(OpaqueDataBuffer dataBuffer, long newLength); + + /** + * Gets the build information of the backend + * + * @return + */ + String buildInfo(); } diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/NativeOpsGPUInfoProvider.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/NativeOpsGPUInfoProvider.java index 777f5dff0..fa7fbf793 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/NativeOpsGPUInfoProvider.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/NativeOpsGPUInfoProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.nativeblas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/NativeOpsHolder.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/NativeOpsHolder.java index 5fad1d18e..9c653c0e8 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/NativeOpsHolder.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/NativeOpsHolder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.nativeblas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/Nd4jBlas.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/Nd4jBlas.java index 52955befb..3ba3f53e5 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/Nd4jBlas.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/Nd4jBlas.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.nativeblas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueConstantDataBuffer.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueConstantDataBuffer.java index 8e198c186..aed374db4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueConstantDataBuffer.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueConstantDataBuffer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.nativeblas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueConstantShapeBuffer.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueConstantShapeBuffer.java index 977747fb6..710cc01a4 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueConstantShapeBuffer.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueConstantShapeBuffer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.nativeblas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueContext.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueContext.java index 058649c02..a8dc74afd 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueContext.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueContext.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.nativeblas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueDataBuffer.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueDataBuffer.java index 2a87d706d..daed52526 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueDataBuffer.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueDataBuffer.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.nativeblas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueLaunchContext.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueLaunchContext.java index d5f3df5e8..5c0312fbd 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueLaunchContext.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueLaunchContext.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.nativeblas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueRandomGenerator.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueRandomGenerator.java index b76015285..298df8966 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueRandomGenerator.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueRandomGenerator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.nativeblas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueResultWrapper.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueResultWrapper.java index 331bf465c..dac46f6ef 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueResultWrapper.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueResultWrapper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.nativeblas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueShapeList.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueShapeList.java index b290d88cf..5eb94257f 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueShapeList.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueShapeList.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.nativeblas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueTadPack.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueTadPack.java index a959fd375..fbfc8ac49 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueTadPack.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueTadPack.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.nativeblas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueVariable.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueVariable.java index 6051e81a2..8e2dfc62c 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueVariable.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueVariable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.nativeblas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueVariablesSet.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueVariablesSet.java index 78c7fddb8..1388df9fb 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueVariablesSet.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/OpaqueVariablesSet.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.nativeblas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/PointerPointerWrapper.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/PointerPointerWrapper.java index 564978fe3..004bc3637 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/PointerPointerWrapper.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/PointerPointerWrapper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.nativeblas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/ResultWrapperAbstraction.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/ResultWrapperAbstraction.java index ad73a7fbc..64d5e45b2 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/ResultWrapperAbstraction.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/nativeblas/ResultWrapperAbstraction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.nativeblas; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/rng/NativeRandom.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/rng/NativeRandom.java index 04f9c7499..8dae55de0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/rng/NativeRandom.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/rng/NativeRandom.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.rng; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/rng/deallocator/GarbageStateReference.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/rng/deallocator/GarbageStateReference.java index 4e3c67267..5db72761b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/rng/deallocator/GarbageStateReference.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/rng/deallocator/GarbageStateReference.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.rng.deallocator; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/rng/deallocator/NativePack.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/rng/deallocator/NativePack.java index 728f6704b..261e73e2e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/rng/deallocator/NativePack.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/rng/deallocator/NativePack.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.rng.deallocator; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/rng/deallocator/NativeRandomDeallocator.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/rng/deallocator/NativeRandomDeallocator.java index 3387d16d4..3939e583b 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/rng/deallocator/NativeRandomDeallocator.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/rng/deallocator/NativeRandomDeallocator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.rng.deallocator; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/storage/CompressedRamStorage.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/storage/CompressedRamStorage.java index be33ca4be..d340d608e 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/storage/CompressedRamStorage.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/java/org/nd4j/storage/CompressedRamStorage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.storage; diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/resources/META-INF/services/org.nd4j.common.base.PreconditionsFormat b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/resources/META-INF/services/org.nd4j.common.base.PreconditionsFormat index ab875b21d..c40588bd0 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/resources/META-INF/services/org.nd4j.common.base.PreconditionsFormat +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/resources/META-INF/services/org.nd4j.common.base.PreconditionsFormat @@ -1,3 +1,39 @@ +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +# +# /* ****************************************************************************** +# * Copyright (c) 2021 Deeplearning4j Contributors +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + ################################################################################ # Copyright (c) 2015-2018 Skymind, Inc. # diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/resources/META-INF/services/org.nd4j.linalg.compression.NDArrayCompressor b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/resources/META-INF/services/org.nd4j.linalg.compression.NDArrayCompressor index 49cb8c6d0..e20ecc4c3 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/resources/META-INF/services/org.nd4j.linalg.compression.NDArrayCompressor +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/resources/META-INF/services/org.nd4j.linalg.compression.NDArrayCompressor @@ -1,3 +1,39 @@ +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +# +# /* ****************************************************************************** +# * Copyright (c) 2021 Deeplearning4j Contributors +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + ################################################################################ # Copyright (c) 2015-2018 Skymind, Inc. # diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/resources/META-INF/services/org.nd4j.systeminfo.GPUInfoProvider b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/resources/META-INF/services/org.nd4j.systeminfo.GPUInfoProvider index cd932c4f0..27e4cdba1 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/resources/META-INF/services/org.nd4j.systeminfo.GPUInfoProvider +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-native-api/src/main/resources/META-INF/services/org.nd4j.systeminfo.GPUInfoProvider @@ -1,3 +1,39 @@ +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +# +# /* ****************************************************************************** +# * Copyright (c) 2021 Deeplearning4j Contributors +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + ################################################################################ # Copyright (c) 2015-2019 Skymind, Inc. # diff --git a/nd4j/nd4j-backends/nd4j-api-parent/pom.xml b/nd4j/nd4j-backends/nd4j-api-parent/pom.xml index f401fd1f9..d6e62a501 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/pom.xml +++ b/nd4j/nd4j-backends/nd4j-api-parent/pom.xml @@ -1,26 +1,33 @@ - + + + + + + 4.0.0 - - nd4j-backends org.nd4j + nd4j-backends 1.0.0-SNAPSHOT - 4.0.0 nd4j-api-parent pom @@ -32,6 +39,14 @@ nd4j-api + + + org.bytedeco + javacpp + ${javacpp.version} + + + testresources diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda-platform/pom.xml b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda-platform/pom.xml index a833de44c..e04ec5d64 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda-platform/pom.xml +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda-platform/pom.xml @@ -1,26 +1,33 @@ - + + + + + + 4.0.0 - - nd4j-backend-impls org.nd4j + nd4j-backend-impls 1.0.0-SNAPSHOT - 4.0.0 nd4j-cuda-11.0-platform nd4j-cuda-platform @@ -39,7 +46,6 @@ cuda-platform ${cuda.version}-${cudnn.version}-${javacpp-presets.cuda.version} - ${project.groupId} ${nd4j.backend} @@ -70,5 +76,4 @@ testresources - diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/pom.xml b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/pom.xml index b81def266..8bb49896b 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/pom.xml +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/pom.xml @@ -1,28 +1,36 @@ - + + + + - - - nd4j-backend-impls - org.nd4j - 1.0.0-SNAPSHOT - 4.0.0 + + org.nd4j + nd4j-backend-impls + 1.0.0-SNAPSHOT + + nd4j-cuda-11.0 + nd4j-cuda @@ -32,196 +40,6 @@ 1.5.4 - - - - org.apache.maven.plugins - maven-surefire-plugin - - - org.apache.maven.surefire - surefire-junit47 - 2.19.1 - - - - - ${env.LD_LIBRARY_PATH}:${user.dir}:${libnd4jhome}/blasbuild/cuda/blas/ - - src/test/java - - *.java - - - org.nd4j.linalg.jcublas.JCublasBackend - org.nd4j.linalg.jcublas.JCublasBackend - - - -Ddtype=float -Dfile.encoding=UTF-8 -Xmx8g - - - - maven-compiler-plugin - - - javacpp-parser - generate-sources - - compile - - - ${javacpp.parser.skip} - - org/nd4j/nativeblas/Nd4jCudaPresets.java - - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - - org.bytedeco - javacpp - ${javacpp.version} - - - org.nd4j - nd4j-native-api - ${project.version} - - - org.bytedeco - cuda - ${cuda.version}-${cudnn.version}-${javacpp-presets.cuda.version} - - - org.bytedeco - cuda - ${cuda.version}-${cudnn.version}-${javacpp-presets.cuda.version} - ${dependency.platform} - - - - ${javacpp.platform} - - - platform.root - ${javacpp.platform.root} - - - platform.compiler - ${javacpp.platform.compiler} - - - platform.sysroot - ${javacpp.platform.sysroot} - - - - ${project.build.outputDirectory} - - - ${libnd4jhome}/blasbuild/cuda/include - ${libnd4jhome}/blasbuild/cuda/flatbuffers-src/include/ - ${libnd4jhome}/blas - ${libnd4jhome}/include - ${libnd4jhome}/include/helpers - ${libnd4jhome}/include/array - ${libnd4jhome}/include/cnpy - ${libnd4jhome}/include/execution - ${libnd4jhome}/include/exceptions - ${libnd4jhome}/include/graph - ${libnd4jhome}/include/indexing - ${libnd4jhome}/include/memory - ${libnd4jhome}/include/performance - - - ${libnd4jhome}/blasbuild/cuda/blas - - - - - javacpp-parser - generate-sources - - build - - - ${javacpp.parser.skip} - ${project.build.sourceDirectory} - org.nd4j.nativeblas.Nd4jCudaPresets - - - - javacpp-compiler - process-classes - - build - - - ${javacpp.compiler.skip} - org.nd4j.nativeblas.Nd4jCuda - true - ${project.build.directory}/classes/META-INF/native-image/${javacpp.platform}${javacpp.platform.extension}/ - - - - - - maven-jar-plugin - - - org.apache.maven.plugins - maven-surefire-plugin - - - org.apache.maven.plugins - maven-enforcer-plugin - - - libnd4j-checks - - enforce - - - - - libnd4jhome - You must set the LIBND4J_HOME environment variable! - .*/.* - !!! LIBND4J_HOME must be a valid unix path! - - - - ${libnd4jhome}/include/legacy/NativeOps.h - ${libnd4jhome}/blasbuild/cuda/blas - - !!! You have to compile libnd4j with cuda support first! - - - true - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - 8 - 8 - - - - - - ${dependency.groupId} @@ -230,23 +48,19 @@ ${dependency.packaging} ${dependency.classifier} - org.springframework spring-core 5.0.2.RELEASE test - org.bytedeco javacpp - ${javacpp.version} org.bytedeco javacpp - ${javacpp.version} ${dependency.platform} @@ -273,31 +87,25 @@ junit junit - test org.nd4j nd4j-api - ${project.version} org.nd4j nd4j-native-api - ${project.version} ch.qos.logback logback-classic - ${logback.version} test ch.qos.logback logback-core - ${logback.version} test - org.reflections @@ -311,7 +119,6 @@ - org.nd4j nd4j-common-tests @@ -320,6 +127,201 @@ + + + + org.apache.maven.plugins + maven-surefire-plugin + + + org.apache.maven.surefire + surefire-junit47 + 2.19.1 + + + + + + ${env.LD_LIBRARY_PATH}:${user.dir}:${libnd4jhome}/blasbuild/cuda/blas/ + + + src/test/java + + *.java + + + org.nd4j.linalg.jcublas.JCublasBackend + + + org.nd4j.linalg.jcublas.JCublasBackend + + + + -Ddtype=float -Dfile.encoding=UTF-8 -Xmx8g + + + + org.apache.maven.plugins + maven-compiler-plugin + + + javacpp-parser + generate-sources + + compile + + + ${javacpp.parser.skip} + + org/nd4j/nativeblas/Nd4jCudaPresets.java + + + + + + 8 + 8 + + + + org.bytedeco + javacpp + ${javacpp.version} + + + org.nd4j + nd4j-native-api + ${project.version} + + + org.bytedeco + cuda + ${cuda.version}-${cudnn.version}-${javacpp-presets.cuda.version} + + + + org.bytedeco + cuda + ${cuda.version}-${cudnn.version}-${javacpp-presets.cuda.version} + + ${dependency.platform} + + + + ${javacpp.platform} + + + platform.root + ${javacpp.platform.root} + + + platform.compiler + ${javacpp.platform.compiler} + + + platform.sysroot + ${javacpp.platform.sysroot} + + + + ${project.build.outputDirectory} + + + ${libnd4jhome}/blasbuild/cuda/include + ${libnd4jhome}/blasbuild/cuda/flatbuffers-src/include/ + + ${libnd4jhome}/blas + ${libnd4jhome}/include + ${libnd4jhome}/include/helpers + ${libnd4jhome}/include/array + ${libnd4jhome}/include/cnpy + ${libnd4jhome}/include/execution + ${libnd4jhome}/include/exceptions + ${libnd4jhome}/include/graph + ${libnd4jhome}/include/indexing + ${libnd4jhome}/include/memory + ${libnd4jhome}/include/performance + + + ${libnd4jhome}/blasbuild/cuda/blas + + + + + javacpp-parser + generate-sources + + build + + + ${javacpp.parser.skip} + ${project.build.sourceDirectory} + org.nd4j.nativeblas.Nd4jCudaPresets + + + + + javacpp-compiler + process-classes + + build + + + ${javacpp.compiler.skip} + org.nd4j.nativeblas.Nd4jCuda + true + ${project.build.directory}/classes/META-INF/native-image/${javacpp.platform}${javacpp.platform.extension}/ + + + + + + maven-jar-plugin + + + org.apache.maven.plugins + maven-surefire-plugin + + + org.apache.maven.plugins + maven-enforcer-plugin + + + libnd4j-checks + + enforce + + + + + libnd4jhome + You must set the LIBND4J_HOME environment variable! + + .*/.* + !!! LIBND4J_HOME must be a valid unix path! + + + + + ${libnd4jhome}/include/legacy/NativeOps.h + ${libnd4jhome}/blasbuild/cuda/blas + + !!! You have to compile libnd4j with cuda support + first! + + + + true + + + + + + + testresources @@ -327,7 +329,9 @@ msvc - windows + + windows + @@ -344,7 +348,6 @@ - libnd4j-assembly @@ -399,9 +402,11 @@ libnd4j ${project.version} zip - ${javacpp.platform}-cuda-${cuda.version} + ${javacpp.platform}-cuda-${cuda.version} + true - ${project.build.directory} + ${project.build.directory} + @@ -412,5 +417,4 @@ - diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/JCublasBackend.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/JCublasBackend.java index f9ecde2d8..093d50bee 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/JCublasBackend.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/JCublasBackend.java @@ -27,7 +27,7 @@ import org.nd4j.common.io.ClassPathResource; import org.nd4j.common.io.Resource; import org.nd4j.nativeblas.CudaEnvironment; import org.nd4j.nativeblas.Nd4jCuda; - +import org.nd4j.nativeblas.NativeOpsHolder; import java.util.List; import java.util.Map; import java.util.Properties; @@ -93,6 +93,11 @@ public class JCublasBackend extends Nd4jBackend { return CudaEnvironment.getInstance(); } + @Override + public String buildInfo() { + return NativeOpsHolder.getInstance().getDeviceNativeOps().buildInfo(); + } + @Override public void logBackendInit() { String logInitProperty = System.getProperty(ND4JSystemProperties.LOG_INITIALIZATION, "true"); @@ -118,6 +123,7 @@ public class JCublasBackend extends Nd4jBackend { long totalMem = ((Number) dev.get(Nd4jEnvironment.CUDA_TOTAL_MEMORY_KEY)).longValue(); log.info("CUDA device {}: [{}]; cc: [{}.{}]; Total memory: [{}]", i, name, major, minor, totalMem); } + log.info("Backend build information:\n {}", buildInfo()); } catch (Throwable t) { log.debug("Error logging CUDA backend versions and devices", t); } diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/JCublasNDArray.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/JCublasNDArray.java index 95f36ee26..465778ff5 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/JCublasNDArray.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/JCublasNDArray.java @@ -410,6 +410,11 @@ public class JCublasNDArray extends BaseNDArray { super(data, shape, stride, offset, ordering); } + public JCublasNDArray(DataType dataType, long[] shape, long[] paddings, long[] paddingOffsets, char ordering, + MemoryWorkspace workspace){ + super(dataType, shape, paddings, paddingOffsets, ordering, workspace); + } + @Override public INDArray dup() { if (this.isCompressed() && this.ordering() == Nd4j.order().charValue()) { diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/JCublasNDArrayFactory.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/JCublasNDArrayFactory.java index 4ed4ebf35..3fd839e52 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/JCublasNDArrayFactory.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/JCublasNDArrayFactory.java @@ -1598,4 +1598,10 @@ public class JCublasNDArrayFactory extends BaseNativeNDArrayFactory { public INDArray sortCooIndices(INDArray x) { throw new UnsupportedOperationException(); } + + @Override + public INDArray create(DataType dataType, long[] shape, long[] paddings, long[] paddingOffsets, char ordering, + MemoryWorkspace workspace) { + return new JCublasNDArray(dataType, shape, paddings, paddingOffsets, ordering, workspace); + } } diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/ops/executioner/CudaExecutioner.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/ops/executioner/CudaExecutioner.java index d0cb48c62..1a2c019de 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/ops/executioner/CudaExecutioner.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/ops/executioner/CudaExecutioner.java @@ -2158,6 +2158,23 @@ public class CudaExecutioner extends DefaultOpExecutioner { return result; } + @Override + public DataBuffer createShapeInfo(long[] shape, long[] stride, long elementWiseStride, char order, DataType dtype, long extras) { + if (nativeOps.lastErrorCode() != 0) + throw new RuntimeException(nativeOps.lastErrorMessage()); + + val dbf = nativeOps.shapeBufferEx(shape.length, new LongPointer(shape), new LongPointer(stride), dtype.toInt(), order, elementWiseStride, extras); + + if (nativeOps.lastErrorCode() != 0) + throw new RuntimeException(nativeOps.lastErrorMessage()); + + val result = new CudaLongDataBuffer(nativeOps.getConstantShapeBufferPrimary(dbf), nativeOps.getConstantShapeBufferSpecial(dbf), Shape.shapeInfoLength(shape.length)); + + nativeOps.deleteConstantShapeBuffer(dbf); + + return result; + } + @Override public TadPack tadShapeInfoAndOffsets(INDArray array, int[] dimension) { if (nativeOps.lastErrorCode() != 0) diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/nativeblas/Nd4jCudaPresets.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/nativeblas/Nd4jCudaPresets.java index db09d9625..ebf508e2b 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/nativeblas/Nd4jCudaPresets.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/nativeblas/Nd4jCudaPresets.java @@ -96,7 +96,9 @@ import org.bytedeco.javacpp.tools.InfoMapper; "array/TadDescriptor.h", "array/TadPack.h", "helpers/DebugInfo.h", - "ops/declarable/CustomOperations.h"}, + "ops/declarable/CustomOperations.h", + "build_info.h", + }, exclude = {"ops/declarable/headers/activations.h", "ops/declarable/headers/boolean.h", "ops/declarable/headers/broadcastable.h", @@ -159,7 +161,7 @@ public class Nd4jCudaPresets implements LoadEnabled, InfoMapper { public void map(InfoMap infoMap) { infoMap.put(new Info("thread_local", "ND4J_EXPORT", "INLINEDEF", "CUBLASWINAPI", "FORCEINLINE", "_CUDA_H", "_CUDA_D", "_CUDA_G", "_CUDA_HD", "LIBND4J_ALL_OPS", "NOT_EXCLUDED").cppTypes().annotations()) - .put(new Info("NativeOps.h").objectify()) + .put(new Info("NativeOps.h", "build_info.h").objectify()) .put(new Info("OpaqueTadPack").pointerTypes("OpaqueTadPack")) .put(new Info("OpaqueResultWrapper").pointerTypes("OpaqueResultWrapper")) .put(new Info("OpaqueShapeList").pointerTypes("OpaqueShapeList")) diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/resources/META-INF/services/org.nd4j.linalg.compression.NDArrayCompressor b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/resources/META-INF/services/org.nd4j.linalg.compression.NDArrayCompressor index 72e314156..7d918ba96 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/resources/META-INF/services/org.nd4j.linalg.compression.NDArrayCompressor +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/resources/META-INF/services/org.nd4j.linalg.compression.NDArrayCompressor @@ -1,3 +1,39 @@ +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +# +# /* ****************************************************************************** +# * Copyright (c) 2021 Deeplearning4j Contributors +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + ################################################################################ # Copyright (c) 2015-2018 Skymind, Inc. # diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/resources/META-INF/services/org.nd4j.linalg.factory.Nd4jBackend b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/resources/META-INF/services/org.nd4j.linalg.factory.Nd4jBackend index a51288e74..269534a9f 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/resources/META-INF/services/org.nd4j.linalg.factory.Nd4jBackend +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/resources/META-INF/services/org.nd4j.linalg.factory.Nd4jBackend @@ -1,3 +1,39 @@ +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +# +# /* ****************************************************************************** +# * Copyright (c) 2021 Deeplearning4j Contributors +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + ################################################################################ # Copyright (c) 2015-2018 Skymind, Inc. # diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/resources/cudafunctions.properties b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/resources/cudafunctions.properties index 256b44b92..5eb27c587 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/resources/cudafunctions.properties +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/resources/cudafunctions.properties @@ -1,18 +1,20 @@ -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ # TODO: This is old kernels, remove them before release # std_strided,var_strided,bias_strided,add_strided,sub_strided,mul_strided,div_strided,rsub_strided,rdiv_strided,neg_strided,tanh_strided,exp_strided,sigmoid_strided,log_strided,floor_strided,ceil_strided,abs_strided,pow_strided,sqrt_strided,sign_strided,sum_strided,prod_strided,norm1_strided,norm2_strided,normmax_strided,max_strided,min_strided,mean_strided,softmax_strided,add_scalar,sub_scalar,mul_scalar,div_scalar,rsub_scalar,rdiv_scalar,cosinesimilarity_strided,manhattan_strided,euclidean_strided,lessthan_scalar,lessthanorequal_scalar,gt_strided,lt_strided,greaterthan_scalar,greaterthanorequal_scalar,equals_scalar,set_scalar,notequals_scalar,max_scalar,min_scalar,eps_strided,setvalorless_scalar,copy_strided,setrange_strided,round_strided,set_scalar,iamax_strided,broadcastadd,broadcastsub,broadcastdiv,broadcastmul,broadcastcopy,broadcastrdiv,broadcastrsub,imin_strided,imax_strided diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/resources/function_threads.properties b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/resources/function_threads.properties index b8adbfeba..2b89eb04a 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/resources/function_threads.properties +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/resources/function_threads.properties @@ -1,17 +1,19 @@ -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ iamax_strided = 1 \ No newline at end of file diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/resources/native.properties b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/resources/native.properties index 051c19473..0ca28031d 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/resources/native.properties +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/resources/native.properties @@ -1,18 +1,20 @@ -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ org.nd4j.linalg.api.resources.maxallocated= 2000000000 org.nd4j.linalg.api.resources.memoryratio=0.5 diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/resources/nd4j-jcublas.properties b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/resources/nd4j-jcublas.properties index 6d1dba3a1..178a90258 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/resources/nd4j-jcublas.properties +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/resources/nd4j-jcublas.properties @@ -1,18 +1,20 @@ -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ real.class.double = org.nd4j.linalg.jcublas.JCublasNDArray dtype = float diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native-platform/pom.xml b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native-platform/pom.xml index 7db1b458f..7d09f7f5b 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native-platform/pom.xml +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native-platform/pom.xml @@ -1,26 +1,33 @@ - + + + + + + 4.0.0 - nd4j-backend-impls org.nd4j 1.0.0-SNAPSHOT - 4.0.0 nd4j-native-platform nd4j-native-platform @@ -121,5 +128,4 @@ testresources
        -
        diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/pom.xml b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/pom.xml index 44e4ab661..5d4c976d7 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/pom.xml +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/pom.xml @@ -1,28 +1,36 @@ - + + + + - - - nd4j-backend-impls - org.nd4j - 1.0.0-SNAPSHOT - 4.0.0 + + org.nd4j + nd4j-backend-impls + 1.0.0-SNAPSHOT + + nd4j-native + nd4j-native @@ -33,16 +41,13 @@ ${dependency.packaging} ${dependency.classifier} - org.bytedeco javacpp - ${javacpp.version} org.bytedeco javacpp - ${javacpp.version} ${dependency.platform} @@ -56,22 +61,20 @@ ${openblas.version}-${javacpp-presets.version} ${dependency.platform} - - - org.nd4j - nd4j-native-api - ${project.version} - org.nd4j nd4j-api - ${project.version} + + + org.nd4j + nd4j-native-api + org.apache.maven.plugins maven-compiler-plugin @@ -88,6 +91,10 @@ + + 7 + 7 + org.bytedeco @@ -136,7 +143,8 @@ ${libnd4jhome}/blasbuild/cpu/include - ${libnd4jhome}/blasbuild/cpu/flatbuffers-src/include/ + ${libnd4jhome}/blasbuild/cpu/flatbuffers-src/include/ + ${libnd4jhome}/blas ${libnd4jhome}/include ${libnd4jhome}/include/helpers @@ -155,13 +163,15 @@ /org/bytedeco/openblas/${javacpp.platform}/ - /${javacpp.platform.library.path}/include/ - /org/bytedeco/openblas/${javacpp.platform}/include/ + /${javacpp.platform.library.path}/include/ + + /org/bytedeco/openblas/${javacpp.platform}/include/ + /${javacpp.platform.library.path}/ /${javacpp.platform.library.path}/lib/ - /org/bytedeco/openblas/${javacpp.platform}/ + /org/bytedeco/openblas/${javacpp.platform}/ /org/bytedeco/openblas/${javacpp.platform}/lib/ @@ -182,7 +192,8 @@ ${javacpp.parser.skip} ${project.build.sourceDirectory} - org.nd4j.nativeblas.Nd4jCpuPresets + org.nd4j.nativeblas.Nd4jCpuPresets + @@ -216,16 +227,20 @@ libnd4jhome - You must set the LIBND4J_HOME environment variable! + You must set the LIBND4J_HOME environment variable! + .*/.* - !!! LIBND4J_HOME must be a valid unix path! + !!! LIBND4J_HOME must be a valid unix path! + ${libnd4jhome}/include/legacy/NativeOps.h ${libnd4jhome}/blasbuild/cpu/blas - !!! You have to compile libnd4j with cpu support first! + !!! You have to compile libnd4j with cpu support + first! + true @@ -233,14 +248,6 @@ - - org.apache.maven.plugins - maven-compiler-plugin - - 7 - 7 - - @@ -297,9 +304,9 @@ mingw - - windows - + + windows + !javacpp.platform @@ -393,9 +400,12 @@ libnd4j ${project.version} zip - ${javacpp.platform}${javacpp.platform.extension} + + ${javacpp.platform}${javacpp.platform.extension} + true - ${project.build.directory} + ${project.build.directory} + diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/BlasWrapper.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/BlasWrapper.java index 7d41ce53d..ce09ad1cd 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/BlasWrapper.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/BlasWrapper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuAffinityManager.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuAffinityManager.java index fde1cdc98..e2451c219 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuAffinityManager.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuAffinityManager.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuBackend.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuBackend.java index f0dd831e2..83e309c02 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuBackend.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuBackend.java @@ -1,31 +1,36 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu; +import lombok.extern.slf4j.Slf4j; +import org.nd4j.common.config.ND4JSystemProperties; import org.nd4j.linalg.factory.Environment; import org.nd4j.linalg.factory.Nd4jBackend; import org.nd4j.common.io.ClassPathResource; import org.nd4j.common.io.Resource; - +import org.nd4j.nativeblas.NativeOpsHolder; /** * Cpu backend * * @author Adam Gibson */ +@Slf4j public class CpuBackend extends Nd4jBackend { @@ -68,7 +73,23 @@ public class CpuBackend extends Nd4jBackend { } @Override - public void logBackendInit() { - //No additional logging for CPU backend + public String buildInfo() { + return NativeOpsHolder.getInstance().getDeviceNativeOps().buildInfo(); } + + @Override + public void logBackendInit() { + String logInitProperty = System.getProperty(ND4JSystemProperties.LOG_INITIALIZATION, "true"); + boolean logInit = Boolean.parseBoolean(logInitProperty); + + if(logInit) { + try { + log.info("Backend build information:\n {}", buildInfo()); + } catch (Throwable t) { + log.debug("Error logging CPU backend ", t); + } + } + } + } + diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuEnvironment.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuEnvironment.java index 363e8857b..eccdefafc 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuEnvironment.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuEnvironment.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu; import org.nd4j.linalg.factory.Environment; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuMemoryManager.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuMemoryManager.java index 76c1f625e..97579b55e 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuMemoryManager.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuMemoryManager.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuNDArrayFactory.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuNDArrayFactory.java index caee5b545..bbfcb0d12 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuNDArrayFactory.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuNDArrayFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu; @@ -1085,7 +1087,13 @@ public class CpuNDArrayFactory extends BaseNativeNDArrayFactory { public INDArray create(Collection strings, long[] shape, char order) { val pairShape = Nd4j.getShapeInfoProvider().createShapeInformation(shape, order, DataType.UTF8); val buffer = new Utf8Buffer(strings); - val list = new ArrayList(strings); + val list = new ArrayList<>(strings); return Nd4j.createArrayFromShapeBuffer(buffer, pairShape); } + + @Override + public INDArray create(DataType dataType, long[] shape, long[] paddings, long[] paddingOffsets, char ordering, + MemoryWorkspace workspace) { + return new NDArray(dataType, shape, paddings, paddingOffsets, ordering, workspace); + } } diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuTADManager.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuTADManager.java index c6ffd022e..a6ebcae0a 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuTADManager.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuTADManager.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/DirectShapeInfoProvider.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/DirectShapeInfoProvider.java index b5584f847..39271d4ba 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/DirectShapeInfoProvider.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/DirectShapeInfoProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/NDArray.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/NDArray.java index 909d2878c..a14d11356 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/NDArray.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/NDArray.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu; @@ -466,6 +468,11 @@ public class NDArray extends BaseNDArray { super(shape, buffer); } + public NDArray(DataType dataType, long[] shape, long[] paddings, long[] paddingOffsets, char ordering, + MemoryWorkspace workspace){ + super(dataType, shape, paddings, paddingOffsets, ordering, workspace); + } + private Object writeReplace() throws java.io.ObjectStreamException { return new BaseNDArrayProxy(this); } diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/blas/CpuBlas.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/blas/CpuBlas.java index 4094ce7ca..77a7217b6 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/blas/CpuBlas.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/blas/CpuBlas.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.blas; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/blas/CpuLapack.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/blas/CpuLapack.java index 27dc806e6..f4d71cf42 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/blas/CpuLapack.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/blas/CpuLapack.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.blas; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/blas/CpuLevel1.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/blas/CpuLevel1.java index 719c5ae68..646f410cf 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/blas/CpuLevel1.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/blas/CpuLevel1.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.blas; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/blas/CpuLevel2.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/blas/CpuLevel2.java index 1701b0a88..e7321ea84 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/blas/CpuLevel2.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/blas/CpuLevel2.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.blas; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/blas/CpuLevel3.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/blas/CpuLevel3.java index 843cc17df..5855e6bfa 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/blas/CpuLevel3.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/blas/CpuLevel3.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.blas; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/BFloat16Buffer.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/BFloat16Buffer.java index 40672f5a3..50862b79a 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/BFloat16Buffer.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/BFloat16Buffer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.buffer; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/BaseCpuDataBuffer.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/BaseCpuDataBuffer.java index aa5d30f6e..a8e7c5ecb 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/BaseCpuDataBuffer.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/BaseCpuDataBuffer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.buffer; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/BoolBuffer.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/BoolBuffer.java index cae27dfb2..32ea8e00c 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/BoolBuffer.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/BoolBuffer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.buffer; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/CpuDeallocator.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/CpuDeallocator.java index e808ebaa3..2e646f337 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/CpuDeallocator.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/CpuDeallocator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.buffer; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/DefaultDataBufferFactory.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/DefaultDataBufferFactory.java index 7933389ef..ceb95d0aa 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/DefaultDataBufferFactory.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/DefaultDataBufferFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.buffer; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/DoubleBuffer.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/DoubleBuffer.java index bde3924a5..aa079733c 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/DoubleBuffer.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/DoubleBuffer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.buffer; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/FloatBuffer.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/FloatBuffer.java index c1134a91d..b90dee246 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/FloatBuffer.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/FloatBuffer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.buffer; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/HalfBuffer.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/HalfBuffer.java index 09647441c..73e9aab84 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/HalfBuffer.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/HalfBuffer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.buffer; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/Int16Buffer.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/Int16Buffer.java index 82cf2ce17..2b3ac3c75 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/Int16Buffer.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/Int16Buffer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.buffer; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/Int8Buffer.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/Int8Buffer.java index e5e272b3a..fc827712a 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/Int8Buffer.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/Int8Buffer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.buffer; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/IntBuffer.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/IntBuffer.java index 0a9fdfaf3..69d6b5fba 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/IntBuffer.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/IntBuffer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.buffer; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/LongBuffer.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/LongBuffer.java index 6b6669177..da0a82817 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/LongBuffer.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/LongBuffer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.buffer; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/UInt16Buffer.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/UInt16Buffer.java index e12817b57..a922df770 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/UInt16Buffer.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/UInt16Buffer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.buffer; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/UInt32Buffer.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/UInt32Buffer.java index dae7eba25..b91233963 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/UInt32Buffer.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/UInt32Buffer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.buffer; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/UInt64Buffer.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/UInt64Buffer.java index 34e19d552..e08a82535 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/UInt64Buffer.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/UInt64Buffer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.buffer; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/UInt8Buffer.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/UInt8Buffer.java index 7c507dc0b..39717557d 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/UInt8Buffer.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/UInt8Buffer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.buffer; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/Utf8Buffer.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/Utf8Buffer.java index bc5758b1d..dbaf4302b 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/Utf8Buffer.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/buffer/Utf8Buffer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.buffer; @@ -139,9 +141,9 @@ public class Utf8Buffer extends BaseCpuDataBuffer { // at this point we should have fully allocated buffer, time to fill length val headerLength = (strings.size() + 1) * 8; - val headerPointer = new LongPointer(this.pointer); - val dataPointer = new BytePointer(this.pointer); - + val headerPointer = new LongPointer(getPointer()); + val dataPointer = new BytePointer(getPointer()); + this.pointer.retainReference(); numWords = strings.size(); long cnt = 0; @@ -163,15 +165,20 @@ public class Utf8Buffer extends BaseCpuDataBuffer { headerPointer.put(cnt, currentLength); } - public String getString(long index) { + + private synchronized Pointer getPointer() { + return this.pointer; + } + + public synchronized String getString(long index) { if (index > numWords) throw new IllegalArgumentException("Requested index [" + index + "] is above actual number of words stored: [" + numWords + "]"); - val headerPointer = new LongPointer(this.pointer); - val dataPointer = (BytePointer) (this.pointer); + val headerPointer = new LongPointer(getPointer()); + val dataPointer = (BytePointer) (getPointer()); val start = headerPointer.get(index); - val end = headerPointer.get(index+1); + val end = headerPointer.get(index + 1); if (end - start > Integer.MAX_VALUE) throw new IllegalStateException("Array is too long for Java"); diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/cache/ConstantBuffersCache.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/cache/ConstantBuffersCache.java index f1e87e144..957588b2a 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/cache/ConstantBuffersCache.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/cache/ConstantBuffersCache.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.cache; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/compression/CpuFlexibleThreshold.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/compression/CpuFlexibleThreshold.java index 465f736ce..aaad88b56 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/compression/CpuFlexibleThreshold.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/compression/CpuFlexibleThreshold.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.compression; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/compression/CpuThreshold.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/compression/CpuThreshold.java index 88fe53dfb..b904584b3 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/compression/CpuThreshold.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/compression/CpuThreshold.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.compression; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/ops/CpuOpContext.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/ops/CpuOpContext.java index 1be649287..da2faeeff 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/ops/CpuOpContext.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/ops/CpuOpContext.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.ops; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/ops/CpuOpContextDeallocator.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/ops/CpuOpContextDeallocator.java index 621f882bd..12ff76c7a 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/ops/CpuOpContextDeallocator.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/ops/CpuOpContextDeallocator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.ops; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/ops/NativeOpExecutioner.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/ops/NativeOpExecutioner.java index 822bde194..d5acf3218 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/ops/NativeOpExecutioner.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/ops/NativeOpExecutioner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.linalg.cpu.nativecpu.ops; @@ -217,16 +219,16 @@ public class NativeOpExecutioner extends DefaultOpExecutioner { if (z.isScalar()) { loop.execIndexReduceScalar(dummy, op.opNum(), - xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, - getPointerForExtraArgs(op, x.dataType()), - zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null); - } else { - loop.execIndexReduce(dummy, op.opNum(), - xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, - getPointerForExtraArgs(op, x.dataType()), - zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, - ((BaseCpuDataBuffer) op.dimensions().data()).getOpaqueDataBuffer(), (LongPointer) op.dimensions().shapeInfoDataBuffer().addressPointer(), null); - } + xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, + getPointerForExtraArgs(op, x.dataType()), + zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null); + } else { + loop.execIndexReduce(dummy, op.opNum(), + xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, + getPointerForExtraArgs(op, x.dataType()), + zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, + ((BaseCpuDataBuffer) op.dimensions().data()).getOpaqueDataBuffer(), (LongPointer) op.dimensions().shapeInfoDataBuffer().addressPointer(), null); + } if (loop.lastErrorCode() != 0) throw new RuntimeException(loop.lastErrorMessage()); @@ -404,136 +406,136 @@ public class NativeOpExecutioner extends DefaultOpExecutioner { val xb = ((BaseCpuDataBuffer) x.data()).getOpaqueDataBuffer(); val zb = ((BaseCpuDataBuffer) z.data()).getOpaqueDataBuffer(); - if (op instanceof Variance) { - if (ret.isScalar()) { - loop.execSummaryStatsScalar(null, op.opNum(), + if (op instanceof Variance) { + if (ret.isScalar()) { + loop.execSummaryStatsScalar(null, op.opNum(), + xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, + getPointerForExtraArgs(op, z.dataType()), + zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, + ((Variance) op).isBiasCorrected()); + } else { + Variance var = (Variance) op; + try { + loop.execSummaryStatsTad(null, op.opNum(), xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, getPointerForExtraArgs(op, z.dataType()), zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, - ((Variance) op).isBiasCorrected()); - } else { - Variance var = (Variance) op; - try { - loop.execSummaryStatsTad(null, op.opNum(), - xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, - getPointerForExtraArgs(op, z.dataType()), - zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, - ((BaseCpuDataBuffer) op.dimensions().data()).getOpaqueDataBuffer(), (LongPointer) op.dimensions().shapeInfoDataBuffer().addressPointer(), null, - var.isBiasCorrected(), null, null); - } catch (Throwable t){ - String str = opInfoString(op, Optional.of(dimension)); - throw new RuntimeException("Native AccumulationOp execution (double) failed: " + str, t); - } + ((BaseCpuDataBuffer) op.dimensions().data()).getOpaqueDataBuffer(), (LongPointer) op.dimensions().shapeInfoDataBuffer().addressPointer(), null, + var.isBiasCorrected(), null, null); + } catch (Throwable t){ + String str = opInfoString(op, Optional.of(dimension)); + throw new RuntimeException("Native AccumulationOp execution (double) failed: " + str, t); } - } - //pairwise reduction like similarity of two arrays - else if (y != null && op.getOpType() == Op.Type.REDUCE3) { - val yb = ((BaseCpuDataBuffer) y.data()).getOpaqueDataBuffer(); - if (op.isComplexAccumulation()) { - try { - loop.execReduce3All(null, op.opNum(), - xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, - getPointerForExtraArgs(op, z.dataType()), - yb, (LongPointer) y.shapeInfoDataBuffer().addressPointer(), null, - zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, - ((BaseCpuDataBuffer) op.dimensions().data()).getOpaqueDataBuffer(), (LongPointer) op.dimensions().shapeInfoDataBuffer().addressPointer(), null, - (LongPointer) tadBuffers.getFirst().addressPointer(), new LongPointerWrapper(tadBuffers.getSecond().addressPointer()), - (LongPointer) yTadBuffers.getFirst().addressPointer(), new LongPointerWrapper(yTadBuffers.getSecond().addressPointer()) - ); - } catch (Throwable t){ - String str = opInfoString(op, Optional.of(dimension)); - throw new RuntimeException("Native AccumulationOp execution (double) failed: " + str, t); - } - } else if (ret.isScalar()) { - loop.execReduce3Scalar(null, op.opNum(), - xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, - getPointerForExtraArgs(op, z.dataType()), - yb, (LongPointer) y.shapeInfoDataBuffer().addressPointer(), null, - zb, (LongPointer) ret.shapeInfoDataBuffer().addressPointer(), null); - } else { - try { - loop.execReduce3Tad(null, op.opNum(), - xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, - getPointerForExtraArgs(op, z.dataType()), - yb, (LongPointer) y.shapeInfoDataBuffer().addressPointer(), null, - zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, - ((BaseCpuDataBuffer) op.dimensions().data()).getOpaqueDataBuffer(), (LongPointer) op.dimensions().shapeInfoDataBuffer().addressPointer(), null, - null, null, null, null); - } catch (Throwable t){ - String str = opInfoString(op, Optional.of(dimension)); - throw new RuntimeException("Native AccumulationOp execution (double) failed: " + str, t); - } - } + } + //pairwise reduction like similarity of two arrays + else if (y != null && op.getOpType() == Op.Type.REDUCE3) { + val yb = ((BaseCpuDataBuffer) y.data()).getOpaqueDataBuffer(); + if (op.isComplexAccumulation()) { + try { + loop.execReduce3All(null, op.opNum(), + xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, + getPointerForExtraArgs(op, z.dataType()), + yb, (LongPointer) y.shapeInfoDataBuffer().addressPointer(), null, + zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, + ((BaseCpuDataBuffer) op.dimensions().data()).getOpaqueDataBuffer(), (LongPointer) op.dimensions().shapeInfoDataBuffer().addressPointer(), null, + (LongPointer) tadBuffers.getFirst().addressPointer(), new LongPointerWrapper(tadBuffers.getSecond().addressPointer()), + (LongPointer) yTadBuffers.getFirst().addressPointer(), new LongPointerWrapper(yTadBuffers.getSecond().addressPointer()) + ); + } catch (Throwable t){ + String str = opInfoString(op, Optional.of(dimension)); + throw new RuntimeException("Native AccumulationOp execution (double) failed: " + str, t); + } + } else if (ret.isScalar()) { + loop.execReduce3Scalar(null, op.opNum(), + xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, + getPointerForExtraArgs(op, z.dataType()), + yb, (LongPointer) y.shapeInfoDataBuffer().addressPointer(), null, + zb, (LongPointer) ret.shapeInfoDataBuffer().addressPointer(), null); } else { - if (ret.isScalar()) { - switch (op.getOpType()) { - case REDUCE_FLOAT: - loop.execReduceFloat(null, op.opNum(), + try { + loop.execReduce3Tad(null, op.opNum(), + xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, + getPointerForExtraArgs(op, z.dataType()), + yb, (LongPointer) y.shapeInfoDataBuffer().addressPointer(), null, + zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, + ((BaseCpuDataBuffer) op.dimensions().data()).getOpaqueDataBuffer(), (LongPointer) op.dimensions().shapeInfoDataBuffer().addressPointer(), null, + null, null, null, null); + } catch (Throwable t){ + String str = opInfoString(op, Optional.of(dimension)); + throw new RuntimeException("Native AccumulationOp execution (double) failed: " + str, t); + } + } + + } else { + if (ret.isScalar()) { + switch (op.getOpType()) { + case REDUCE_FLOAT: + loop.execReduceFloat(null, op.opNum(), xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, getPointerForExtraArgs(op, z.dataType()), zb, (LongPointer) ret.shapeInfoDataBuffer().addressPointer(), null); - break; - case REDUCE_BOOL: - loop.execReduceBool(null, op.opNum(), - xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, - getPointerForExtraArgs(op, x.dataType()), - zb, (LongPointer) ret.shapeInfoDataBuffer().addressPointer(), null); - break; - case REDUCE_SAME: - loop.execReduceSame(null, op.opNum(), - xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, - getPointerForExtraArgs(op, x.dataType()), - zb, (LongPointer) ret.shapeInfoDataBuffer().addressPointer(), null); - break; - case REDUCE_LONG: - loop.execReduceLong(null, op.opNum(), - xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, - getPointerForExtraArgs(op, x.dataType()), - zb, (LongPointer) ret.shapeInfoDataBuffer().addressPointer(), null); - break; - default: - throw new UnsupportedOperationException("Unsupported op used in reduce: "+ op.getOpType()); - } - } else { - switch (op.getOpType()) { - case REDUCE_FLOAT: - loop.execReduceFloat2(null, op.opNum(), + break; + case REDUCE_BOOL: + loop.execReduceBool(null, op.opNum(), + xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, + getPointerForExtraArgs(op, x.dataType()), + zb, (LongPointer) ret.shapeInfoDataBuffer().addressPointer(), null); + break; + case REDUCE_SAME: + loop.execReduceSame(null, op.opNum(), + xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, + getPointerForExtraArgs(op, x.dataType()), + zb, (LongPointer) ret.shapeInfoDataBuffer().addressPointer(), null); + break; + case REDUCE_LONG: + loop.execReduceLong(null, op.opNum(), + xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, + getPointerForExtraArgs(op, x.dataType()), + zb, (LongPointer) ret.shapeInfoDataBuffer().addressPointer(), null); + break; + default: + throw new UnsupportedOperationException("Unsupported op used in reduce: "+ op.getOpType()); + } + } else { + switch (op.getOpType()) { + case REDUCE_FLOAT: + loop.execReduceFloat2(null, op.opNum(), xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, getPointerForExtraArgs(op, z.dataType()), zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, ((BaseCpuDataBuffer) op.dimensions().data()).getOpaqueDataBuffer(), (LongPointer) op.dimensions().shapeInfoDataBuffer().addressPointer(), null); break; - case REDUCE_LONG: - loop.execReduceLong2(null, op.opNum(), - xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, - getPointerForExtraArgs(op, x.dataType()), - zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, - ((BaseCpuDataBuffer) op.dimensions().data()).getOpaqueDataBuffer(), - (LongPointer) op.dimensions().shapeInfoDataBuffer().addressPointer(), null); - break; - case REDUCE_SAME: - loop.execReduceSame2(null, op.opNum(), - xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, - getPointerForExtraArgs(op, z.dataType()), - zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, - ((BaseCpuDataBuffer) op.dimensions().data()).getOpaqueDataBuffer(), - (LongPointer) op.dimensions().shapeInfoDataBuffer().addressPointer(), null); - break; - case REDUCE_BOOL: - loop.execReduceBool2(null, op.opNum(), - xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, - getPointerForExtraArgs(op, x.dataType()), - zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, - ((BaseCpuDataBuffer) op.dimensions().data()).getOpaqueDataBuffer(), - (LongPointer) op.dimensions().shapeInfoDataBuffer().addressPointer(), null); - break; - default: - throw new UnsupportedOperationException("Unsupported op used in reduce: "+ op.getOpType()); - } + case REDUCE_LONG: + loop.execReduceLong2(null, op.opNum(), + xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, + getPointerForExtraArgs(op, x.dataType()), + zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, + ((BaseCpuDataBuffer) op.dimensions().data()).getOpaqueDataBuffer(), + (LongPointer) op.dimensions().shapeInfoDataBuffer().addressPointer(), null); + break; + case REDUCE_SAME: + loop.execReduceSame2(null, op.opNum(), + xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, + getPointerForExtraArgs(op, z.dataType()), + zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, + ((BaseCpuDataBuffer) op.dimensions().data()).getOpaqueDataBuffer(), + (LongPointer) op.dimensions().shapeInfoDataBuffer().addressPointer(), null); + break; + case REDUCE_BOOL: + loop.execReduceBool2(null, op.opNum(), + xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, + getPointerForExtraArgs(op, x.dataType()), + zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, + ((BaseCpuDataBuffer) op.dimensions().data()).getOpaqueDataBuffer(), + (LongPointer) op.dimensions().shapeInfoDataBuffer().addressPointer(), null); + break; + default: + throw new UnsupportedOperationException("Unsupported op used in reduce: "+ op.getOpType()); } } + } if (loop.lastErrorCode() != 0) throw new RuntimeException(loop.lastErrorMessage()); @@ -765,117 +767,112 @@ public class NativeOpExecutioner extends DefaultOpExecutioner { } else st = profilingConfigurableHookIn(op); - if (y != null) { + if (y != null) { - if (z == null) { - setZ(Nd4j.create(op.resultType(), x.shape()), op, oc); - z = getZ(op, oc); - } + if (z == null) { + setZ(Nd4j.create(op.resultType(), x.shape()), op, oc); + z = getZ(op, oc); + } - op.validateDataTypes(oc, experimentalMode.get()); + op.validateDataTypes(oc, experimentalMode.get()); - //log.info("X type: {}; Y type: {}; Z type: {}; OpNum: {}", op.x().dataType(), op.y().dataType(), op.z().dataType(), op.opNum()); + //log.info("X type: {}; Y type: {}; Z type: {}; OpNum: {}", op.x().dataType(), op.y().dataType(), op.z().dataType(), op.opNum()); - if (x.length() != y.length() || x.length() != z.length()) - throw new ND4JIllegalStateException("X, Y and Z arguments should have the same length for PairwiseTransform " + - op.opName() + ". x: length " + x.length() + ", shape " + Arrays.toString(x.shape()) + - "; y: " + y.length() + ", shape " + Arrays.toString(y.shape()) + - "; z: " + z.length() + ", shape " + Arrays.toString(z.shape())); - val xb = ((BaseCpuDataBuffer) x.data()).getOpaqueDataBuffer(); - val yb = ((BaseCpuDataBuffer) y.data()).getOpaqueDataBuffer(); - val zb = ((BaseCpuDataBuffer) z.data()).getOpaqueDataBuffer(); + val xb = ((BaseCpuDataBuffer) x.data()).getOpaqueDataBuffer(); + val yb = ((BaseCpuDataBuffer) y.data()).getOpaqueDataBuffer(); + val zb = ((BaseCpuDataBuffer) z.data()).getOpaqueDataBuffer(); - switch (op.getOpType()) { - case TRANSFORM_ANY: - case TRANSFORM_FLOAT: - case TRANSFORM_STRICT: - case TRANSFORM_SAME: - if (!experimentalMode.get()) - Preconditions.checkArgument(x.dataType() == y.dataType() || y.dataType() == DataType.BOOL, - "Op.X and Op.Y must have the same data type, but got %s vs. %s", x.dataType(), y.dataType()); + switch (op.getOpType()) { + case TRANSFORM_ANY: + case TRANSFORM_FLOAT: + case TRANSFORM_STRICT: + case TRANSFORM_SAME: + if (!experimentalMode.get()) + Preconditions.checkArgument(x.dataType() == y.dataType() || y.dataType() == DataType.BOOL, + "Op.X and Op.Y must have the same data type, but got %s vs. %s", x.dataType(), y.dataType()); - loop.execPairwiseTransform(dummy, op.opNum(), + loop.execPairwiseTransform(dummy, op.opNum(), xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, yb, (LongPointer) y.shapeInfoDataBuffer().addressPointer(), null, zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, getPointerForExtraArgs(op, z.dataType())); - break; - case TRANSFORM_BOOL: - case PAIRWISE_BOOL: - loop.execPairwiseTransformBool(dummy, op.opNum(), - xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, - yb, (LongPointer) y.shapeInfoDataBuffer().addressPointer(), null, - zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, - getPointerForExtraArgs(op, x.dataType())); - break; - } - } else { - - if (z == null) { - setZ(Nd4j.createUninitialized((oc != null ? op.resultType(oc) : op.resultType()), x.shape()), op, oc); - z = getZ(op, oc); - } - - op.validateDataTypes(oc, experimentalMode.get()); - - val xb = ((BaseCpuDataBuffer) x.data()).getOpaqueDataBuffer(); - val zb = ((BaseCpuDataBuffer) z.data()).getOpaqueDataBuffer(); - - switch (op.getOpType()) { - case TRANSFORM_FLOAT: { - val xtraz = getPointerForExtraArgs(op, z.dataType()); - - loop.execTransformFloat(dummy, op.opNum(), - xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, - zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), - null, xtraz); - break; - } - case TRANSFORM_STRICT: { - val xtraz = getPointerForExtraArgs(op, z.dataType()); - - loop.execTransformStrict(dummy, op.opNum(), - xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, - zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, - xtraz); - break; - } - case TRANSFORM_SAME: { - val xtraz = getPointerForExtraArgs(op, z.dataType()); - - loop.execTransformSame(dummy, op.opNum(), - xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, - zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, - xtraz); - break; - } - case TRANSFORM_ANY: { - val xtraz = getPointerForExtraArgs(op, x.dataType()); - val opNum = op.opNum(); - - loop.execTransformAny(dummy, opNum, - xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, - zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, - xtraz); - break; - } - case TRANSFORM_BOOL: { - val xtraz = getPointerForExtraArgs(op, x.dataType()); - val opNum = op.opNum(); - - loop.execTransformBool(dummy, opNum, - xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, - zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, - xtraz); - break; - } - default: - throw new UnsupportedOperationException("Unknown transform type: [" + op.getOpType() + "]"); - } - + break; + case TRANSFORM_BOOL: + case PAIRWISE_BOOL: + loop.execPairwiseTransformBool(dummy, op.opNum(), + xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, + yb, (LongPointer) y.shapeInfoDataBuffer().addressPointer(), null, + zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, + getPointerForExtraArgs(op, x.dataType())); + break; } + } else { + + if (z == null) { + setZ(Nd4j.createUninitialized((oc != null ? op.resultType(oc) : op.resultType()), x.shape()), op, oc); + z = getZ(op, oc); + } + + op.validateDataTypes(oc, experimentalMode.get()); + + val xb = ((BaseCpuDataBuffer) x.data()).getOpaqueDataBuffer(); + val zb = ((BaseCpuDataBuffer) z.data()).getOpaqueDataBuffer(); + + switch (op.getOpType()) { + case TRANSFORM_FLOAT: { + val xtraz = getPointerForExtraArgs(op, z.dataType()); + + loop.execTransformFloat(dummy, op.opNum(), + xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, + zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), + null, xtraz); + break; + } + case TRANSFORM_STRICT: { + val xtraz = getPointerForExtraArgs(op, z.dataType()); + + loop.execTransformStrict(dummy, op.opNum(), + xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, + zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, + xtraz); + break; + } + case TRANSFORM_SAME: { + val xtraz = getPointerForExtraArgs(op, z.dataType()); + + loop.execTransformSame(dummy, op.opNum(), + xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, + zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, + xtraz); + break; + } + case TRANSFORM_ANY: { + val xtraz = getPointerForExtraArgs(op, x.dataType()); + val opNum = op.opNum(); + + loop.execTransformAny(dummy, opNum, + xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, + zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, + xtraz); + break; + } + case TRANSFORM_BOOL: { + val xtraz = getPointerForExtraArgs(op, x.dataType()); + val opNum = op.opNum(); + + loop.execTransformBool(dummy, opNum, + xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, + zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, + xtraz); + break; + } + default: + throw new UnsupportedOperationException("Unknown transform type: [" + op.getOpType() + "]"); + } + + } if (loop.lastErrorCode() != 0) throw new RuntimeException(loop.lastErrorMessage()); @@ -939,10 +936,10 @@ public class NativeOpExecutioner extends DefaultOpExecutioner { switch (op.getOpType()) { case BROADCAST: loop.execBroadcast(dummy, op.opNum(), - xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, - yb, (LongPointer) y.shapeInfoDataBuffer().addressPointer(), null, - zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, - ((BaseCpuDataBuffer) op.dimensions().data()).getOpaqueDataBuffer(), (LongPointer) op.dimensions().shapeInfoDataBuffer().addressPointer(), null); + xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, + yb, (LongPointer) y.shapeInfoDataBuffer().addressPointer(), null, + zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, + ((BaseCpuDataBuffer) op.dimensions().data()).getOpaqueDataBuffer(), (LongPointer) op.dimensions().shapeInfoDataBuffer().addressPointer(), null); break; case BROADCAST_BOOL: loop.execBroadcastBool(dummy, op.opNum(), @@ -1083,9 +1080,9 @@ public class NativeOpExecutioner extends DefaultOpExecutioner { } loop.execAggregateBatch(null, batch.getNumAggregates(), batch.opNum(), - batch.getSample().maxArguments(), batch.getSample().maxShapes(), - batch.getSample().maxIntArrays(), batch.getSample().maxIntArraySize(), - batch.getSample().maxIndexArguments(), batch.getSample().maxRealArguments(), pointer, FlatBuffersMapper.getDataTypeAsByte(dataType)); + batch.getSample().maxArguments(), batch.getSample().maxShapes(), + batch.getSample().maxIntArrays(), batch.getSample().maxIntArraySize(), + batch.getSample().maxIndexArguments(), batch.getSample().maxRealArguments(), pointer, FlatBuffersMapper.getDataTypeAsByte(dataType)); if (loop.lastErrorCode() != 0) throw new RuntimeException(loop.lastErrorMessage()); @@ -1193,8 +1190,8 @@ public class NativeOpExecutioner extends DefaultOpExecutioner { loop.execAggregate(null, op.opNum(), arguments, numArguments, shapes, numShapes, pointer, - numIndexArguments, intArrays, numIntArrays, block.getRealArgumentsPointer(), - numRealArguments, FlatBuffersMapper.getDataTypeAsByte(dataType)); + numIndexArguments, intArrays, numIntArrays, block.getRealArgumentsPointer(), + numRealArguments, FlatBuffersMapper.getDataTypeAsByte(dataType)); if (loop.lastErrorCode() != 0) throw new RuntimeException(loop.lastErrorMessage()); @@ -1282,21 +1279,21 @@ public class NativeOpExecutioner extends DefaultOpExecutioner { if (x != null && y != null && z != null) { // triple arg call loop.execRandom3(null, op.opNum(), rng.getStatePointer(), // rng state ptr - xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, - yb, (LongPointer) y.shapeInfoDataBuffer().addressPointer(), null, - zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, - op.extraArgsDataBuff(z.dataType()).addressPointer()); + xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, + yb, (LongPointer) y.shapeInfoDataBuffer().addressPointer(), null, + zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, + op.extraArgsDataBuff(z.dataType()).addressPointer()); } else if (x != null && z != null) { //double arg call - loop.execRandom2(null, op.opNum(), rng.getStatePointer(), // rng state ptr - xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, - zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, - op.extraArgsDataBuff(z.dataType()).addressPointer()); + loop.execRandom2(null, op.opNum(), rng.getStatePointer(), // rng state ptr + xb, (LongPointer) x.shapeInfoDataBuffer().addressPointer(), null, + zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, + op.extraArgsDataBuff(z.dataType()).addressPointer()); } else { // single arg call - loop.execRandom(null, op.opNum(), rng.getStatePointer(), // rng state ptr - zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, - op.extraArgsDataBuff(z.dataType()).addressPointer()); + loop.execRandom(null, op.opNum(), rng.getStatePointer(), // rng state ptr + zb, (LongPointer) z.shapeInfoDataBuffer().addressPointer(), null, + op.extraArgsDataBuff(z.dataType()).addressPointer()); } if (loop.lastErrorCode() != 0) @@ -1497,7 +1494,7 @@ public class NativeOpExecutioner extends DefaultOpExecutioner { private PointerPointer getInputShapes(int numArguments) { - return getPointerPointerFrom(inputShapes,numArguments); + return getPointerPointerFrom(inputShapes,numArguments); } private PointerPointer getInputBuffers(int numArguments) { @@ -1657,7 +1654,7 @@ public class NativeOpExecutioner extends DefaultOpExecutioner { val dArgs = nDArgs > 0 ? new IntPointer(nDArgs) : null; cnt = 0; - if(opContext != null){ + if(opContext != null) { for (val b: opContext.getBArguments()) bArgs.put(cnt++, b); } else { @@ -1667,7 +1664,7 @@ public class NativeOpExecutioner extends DefaultOpExecutioner { cnt = 0; - if(opContext != null){ + if(opContext != null) { for (val b: opContext.getTArguments()) tArgs.put(cnt++, b); } else { @@ -1676,7 +1673,7 @@ public class NativeOpExecutioner extends DefaultOpExecutioner { } cnt = 0; - if(opContext != null){ + if(opContext != null) { for (val b: opContext.getDArguments()) dArgs.put(cnt++, b.toInt()); } else { @@ -1691,24 +1688,27 @@ public class NativeOpExecutioner extends DefaultOpExecutioner { hash, inputBuffers, inputShapes, nIn, tArgs, nTArgs, iArgs, nIArgs, bArgs, nBArgs, dArgs, nDArgs); - if (loop.lastErrorCode() != 0) - throw new RuntimeException(loop.lastErrorMessage()); - } catch (Throwable t){ + if (loop.lastErrorCode() != 0) { + DifferentialFunction differentialFunction = (DifferentialFunction) op; + throw new RuntimeException("Op " + op.opName() + " with name " + differentialFunction.getOwnName() + " failed to execute." + opContext.toString() + " Here is the error from c++: " + loop.lastErrorMessage()); + + } + } catch (Throwable t) { StringBuilder sb = new StringBuilder(); sb.append("Inputs: [("); - for( int i=0; i 0) sb.append("), ("); sb.append(Shape.shapeToStringShort(inputArgs.get(i))); } sb.append(")]"); - if(op instanceof DifferentialFunction && ((DifferentialFunction)op).getSameDiff() != null){ + if(op instanceof DifferentialFunction && ((DifferentialFunction)op).getSameDiff() != null) { appendSameDiffInfo(sb, (DifferentialFunction) op); } int nOut = opContext != null ? opContext.numOutputArguments() : op.numOutputArguments(); log.error("Failed to calculate output shapes for op {}. Attempted to execute with {} inputs, {} outputs, " + - "{} targs, {} iargs, {} bargs and {} dargs. {} - Please see above message (printed out from c++) for a possible cause of error.", + "{} targs, {} iargs, {} bargs and {} dargs. {} - Please see above message (printed out from c++) for a possible cause of error.", op.opName(), nIn, nOut, nTArgs, nIArgs, nBArgs, nDArgs, sb.toString()); throw t; } @@ -1725,9 +1725,9 @@ public class NativeOpExecutioner extends DefaultOpExecutioner { loop.deleteShapeList(ptrptr); - if(log.isTraceEnabled()){ + if(log.isTraceEnabled()) {/**/ String[] arr = new String[result.size()]; - for( int i=0; i // #include // #include +// #include // #include // #include + +public static final int SHAPE_DESC_OK = 0; +public static final int SHAPE_DESC_INCORRECT_STRIDES = 1; //strides does not match shapes +public static final int SHAPE_DESC_INCORRECT_EWS = 2; //ews neither matches stride nor continuity +public static final int SHAPE_DESC_INCORRECT_RANK = 4; //rank > 32 or shape size and rank does not match + @Namespace("sd") @NoOffset public static class ShapeDescriptor extends Pointer { static { Loader.load(); } /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ @@ -26146,12 +26267,6 @@ public static final double TAD_THRESHOLD = TAD_THRESHOLD(); private native void allocate(@Cast("const sd::DataType") int type, byte order, @Cast("const Nd4jLong*") LongBuffer shape, int rank); public ShapeDescriptor(@Cast("const sd::DataType") int type, byte order, @Cast("const Nd4jLong*") long[] shape, int rank) { super((Pointer)null); allocate(type, order, shape, rank); } private native void allocate(@Cast("const sd::DataType") int type, byte order, @Cast("const Nd4jLong*") long[] shape, int rank); - public ShapeDescriptor(@Cast("const sd::DataType") int type, byte order, @Cast("const Nd4jLong*") LongPointer shape, @Cast("const Nd4jLong*") LongPointer strides, int rank, @Cast("Nd4jLong") long ews, @Cast("const bool") boolean empty) { super((Pointer)null); allocate(type, order, shape, strides, rank, ews, empty); } - private native void allocate(@Cast("const sd::DataType") int type, byte order, @Cast("const Nd4jLong*") LongPointer shape, @Cast("const Nd4jLong*") LongPointer strides, int rank, @Cast("Nd4jLong") long ews, @Cast("const bool") boolean empty); - public ShapeDescriptor(@Cast("const sd::DataType") int type, byte order, @Cast("const Nd4jLong*") LongBuffer shape, @Cast("const Nd4jLong*") LongBuffer strides, int rank, @Cast("Nd4jLong") long ews, @Cast("const bool") boolean empty) { super((Pointer)null); allocate(type, order, shape, strides, rank, ews, empty); } - private native void allocate(@Cast("const sd::DataType") int type, byte order, @Cast("const Nd4jLong*") LongBuffer shape, @Cast("const Nd4jLong*") LongBuffer strides, int rank, @Cast("Nd4jLong") long ews, @Cast("const bool") boolean empty); - public ShapeDescriptor(@Cast("const sd::DataType") int type, byte order, @Cast("const Nd4jLong*") long[] shape, @Cast("const Nd4jLong*") long[] strides, int rank, @Cast("Nd4jLong") long ews, @Cast("const bool") boolean empty) { super((Pointer)null); allocate(type, order, shape, strides, rank, ews, empty); } - private native void allocate(@Cast("const sd::DataType") int type, byte order, @Cast("const Nd4jLong*") long[] shape, @Cast("const Nd4jLong*") long[] strides, int rank, @Cast("Nd4jLong") long ews, @Cast("const bool") boolean empty); public ShapeDescriptor(@Cast("const sd::DataType") int type, byte order, @Cast("Nd4jLong*") @StdVector LongPointer shape) { super((Pointer)null); allocate(type, order, shape); } private native void allocate(@Cast("const sd::DataType") int type, byte order, @Cast("Nd4jLong*") @StdVector LongPointer shape); public ShapeDescriptor(@Cast("const sd::DataType") int type, byte order, @Cast("Nd4jLong*") @StdVector LongBuffer shape) { super((Pointer)null); allocate(type, order, shape); } @@ -26170,6 +26285,13 @@ public static final double TAD_THRESHOLD = TAD_THRESHOLD(); private native void allocate(@Cast("const sd::DataType") int type, byte order, @Cast("Nd4jLong*") @StdVector LongBuffer shape, @Cast("Nd4jLong*") @StdVector LongBuffer strides, @Cast("const Nd4jLong") long ews); public ShapeDescriptor(@Cast("const sd::DataType") int type, byte order, @Cast("Nd4jLong*") @StdVector long[] shape, @Cast("Nd4jLong*") @StdVector long[] strides, @Cast("const Nd4jLong") long ews) { super((Pointer)null); allocate(type, order, shape, strides, ews); } private native void allocate(@Cast("const sd::DataType") int type, byte order, @Cast("Nd4jLong*") @StdVector long[] shape, @Cast("Nd4jLong*") @StdVector long[] strides, @Cast("const Nd4jLong") long ews); + public ShapeDescriptor(@Cast("const sd::DataType") int type, byte order, @Cast("const Nd4jLong*") LongPointer shape, @Cast("const Nd4jLong*") LongPointer strides, int rank, @Cast("Nd4jLong") long ews, @Cast("Nd4jLong") long extras) { super((Pointer)null); allocate(type, order, shape, strides, rank, ews, extras); } + private native void allocate(@Cast("const sd::DataType") int type, byte order, @Cast("const Nd4jLong*") LongPointer shape, @Cast("const Nd4jLong*") LongPointer strides, int rank, @Cast("Nd4jLong") long ews, @Cast("Nd4jLong") long extras); + public ShapeDescriptor(@Cast("const sd::DataType") int type, byte order, @Cast("const Nd4jLong*") LongBuffer shape, @Cast("const Nd4jLong*") LongBuffer strides, int rank, @Cast("Nd4jLong") long ews, @Cast("Nd4jLong") long extras) { super((Pointer)null); allocate(type, order, shape, strides, rank, ews, extras); } + private native void allocate(@Cast("const sd::DataType") int type, byte order, @Cast("const Nd4jLong*") LongBuffer shape, @Cast("const Nd4jLong*") LongBuffer strides, int rank, @Cast("Nd4jLong") long ews, @Cast("Nd4jLong") long extras); + public ShapeDescriptor(@Cast("const sd::DataType") int type, byte order, @Cast("const Nd4jLong*") long[] shape, @Cast("const Nd4jLong*") long[] strides, int rank, @Cast("Nd4jLong") long ews, @Cast("Nd4jLong") long extras) { super((Pointer)null); allocate(type, order, shape, strides, rank, ews, extras); } + private native void allocate(@Cast("const sd::DataType") int type, byte order, @Cast("const Nd4jLong*") long[] shape, @Cast("const Nd4jLong*") long[] strides, int rank, @Cast("Nd4jLong") long ews, @Cast("Nd4jLong") long extras); + public ShapeDescriptor() { super((Pointer)null); allocate(); } private native void allocate(); @@ -26182,6 +26304,12 @@ public static final double TAD_THRESHOLD = TAD_THRESHOLD(); public native @Cast("Nd4jLong*") @StdVector LongPointer shape(); public native @Cast("Nd4jLong*") @StdVector LongPointer strides(); + //returns minimal allocation length + public native @Cast("Nd4jLong") long allocLength(); + + //returns Status for the correctness + public native @Cast("Nd4jLong") long validate(); + // we use default copy assignment operator public native @ByRef @Name("operator =") ShapeDescriptor put(@Const @ByRef ShapeDescriptor other); @@ -26196,9 +26324,15 @@ public static final double TAD_THRESHOLD = TAD_THRESHOLD(); public native @Cast("Nd4jLong*") LongPointer toShapeInfo(); + public native @ByVal ShapeDescriptor emptyDescriptor(@Cast("const sd::DataType") int type); public native @ByVal ShapeDescriptor scalarDescriptor(@Cast("const sd::DataType") int type); public native @ByVal ShapeDescriptor vectorDescriptor(@Cast("const Nd4jLong") long length, @Cast("const sd::DataType") int type); + + //create Descriptor with padded buffer. + public native @ByVal ShapeDescriptor paddedBufferDescriptor(@Cast("const sd::DataType") int type, byte order, @Cast("Nd4jLong*") @StdVector LongPointer shape, @Cast("Nd4jLong*") @StdVector LongPointer paddings); + public native @ByVal ShapeDescriptor paddedBufferDescriptor(@Cast("const sd::DataType") int type, byte order, @Cast("Nd4jLong*") @StdVector LongBuffer shape, @Cast("Nd4jLong*") @StdVector LongBuffer paddings); + public native @ByVal ShapeDescriptor paddedBufferDescriptor(@Cast("const sd::DataType") int type, byte order, @Cast("Nd4jLong*") @StdVector long[] shape, @Cast("Nd4jLong*") @StdVector long[] paddings); } diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/nativeblas/Nd4jCpuHelper.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/nativeblas/Nd4jCpuHelper.java index 26f4271ab..9f92f061b 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/nativeblas/Nd4jCpuHelper.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/nativeblas/Nd4jCpuHelper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.nativeblas; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/nativeblas/Nd4jCpuPresets.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/nativeblas/Nd4jCpuPresets.java index f10410314..7de4e1c55 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/nativeblas/Nd4jCpuPresets.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/nativeblas/Nd4jCpuPresets.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.nativeblas; @@ -50,6 +52,7 @@ import java.util.Scanner; "system/Environment.h", "types/utf8string.h", "legacy/NativeOps.h", + "build_info.h", "memory/ExternalWorkspace.h", "memory/Workspace.h", "indexing/NDIndex.h", @@ -161,7 +164,7 @@ public class Nd4jCpuPresets implements InfoMapper, BuildEnabled { public void map(InfoMap infoMap) { infoMap.put(new Info("thread_local", "ND4J_EXPORT", "INLINEDEF", "CUBLASWINAPI", "FORCEINLINE", "_CUDA_H", "_CUDA_D", "_CUDA_G", "_CUDA_HD", "LIBND4J_ALL_OPS", "NOT_EXCLUDED").cppTypes().annotations()) - .put(new Info("NativeOps.h").objectify()) + .put(new Info("NativeOps.h", "build_info.h").objectify()) .put(new Info("OpaqueTadPack").pointerTypes("OpaqueTadPack")) .put(new Info("OpaqueResultWrapper").pointerTypes("OpaqueResultWrapper")) .put(new Info("OpaqueShapeList").pointerTypes("OpaqueShapeList")) diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/resources/META-INF/services/org.nd4j.linalg.compression.NDArrayCompressor b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/resources/META-INF/services/org.nd4j.linalg.compression.NDArrayCompressor index 2cabb129e..b10424335 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/resources/META-INF/services/org.nd4j.linalg.compression.NDArrayCompressor +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/resources/META-INF/services/org.nd4j.linalg.compression.NDArrayCompressor @@ -1,3 +1,39 @@ +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +# +# /* ****************************************************************************** +# * Copyright (c) 2021 Deeplearning4j Contributors +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + ################################################################################ # Copyright (c) 2015-2018 Skymind, Inc. # diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/resources/META-INF/services/org.nd4j.linalg.factory.Nd4jBackend b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/resources/META-INF/services/org.nd4j.linalg.factory.Nd4jBackend index a55f78067..dd46f6c42 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/resources/META-INF/services/org.nd4j.linalg.factory.Nd4jBackend +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/resources/META-INF/services/org.nd4j.linalg.factory.Nd4jBackend @@ -1,3 +1,39 @@ +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +# +# /* ****************************************************************************** +# * Copyright (c) 2021 Deeplearning4j Contributors +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + ################################################################################ # Copyright (c) 2015-2018 Skymind, Inc. # diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/resources/nd4j-native.properties b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/resources/nd4j-native.properties index 107599992..2627fa892 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/resources/nd4j-native.properties +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/resources/nd4j-native.properties @@ -1,18 +1,20 @@ -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ real.class.double = org.nd4j.linalg.cpu.NDArray shapeinfoprovider = org.nd4j.linalg.cpu.nativecpu.DirectShapeInfoProvider diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/test/resources/logback.xml b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/test/resources/logback.xml index 3f88b92bb..eb9a415cd 100755 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/test/resources/logback.xml +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/test/resources/logback.xml @@ -1,18 +1,20 @@ - + diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/pom.xml b/nd4j/nd4j-backends/nd4j-backend-impls/pom.xml index ad06ffd4a..88cdc29b6 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/pom.xml +++ b/nd4j/nd4j-backends/nd4j-backend-impls/pom.xml @@ -1,26 +1,33 @@ - + + + + + + 4.0.0 - - nd4j-backends org.nd4j + nd4j-backends 1.0.0-SNAPSHOT - 4.0.0 nd4j-backend-impls pom @@ -54,13 +61,29 @@ windows-x86_64${javacpp.platform.extension}
        + + + + org.bytedeco + javacpp + ${javacpp.version} + + + org.bytedeco + javacpp + ${javacpp.version} + ${dependency.platform} + + + - + org.apache.maven.plugins maven-javadoc-plugin + ${maven-javadoc-plugin.version} attach-javadocs @@ -106,11 +129,11 @@ **/Nd4jTestSuite.java - + --> - android-arm-default - - - javacpp.platform - android-arm - - - - android-arm-clang - ${env.ANDROID_NDK} - toolchains/llvm/prebuilt/${os.name}-${os.arch}/bin/clang++ - - + android-arm-default + + + javacpp.platform + android-arm + + + + android-arm-clang + ${env.ANDROID_NDK} + + toolchains/llvm/prebuilt/${os.name}-${os.arch}/bin/clang++ + + + - android-arm64-default - - - javacpp.platform - android-arm64 - - - - android-arm64-clang - ${env.ANDROID_NDK} - toolchains/llvm/prebuilt/${os.name}-${os.arch}/bin/clang++ - - + android-arm64-default + + + javacpp.platform + android-arm64 + + + + android-arm64-clang + ${env.ANDROID_NDK} + + toolchains/llvm/prebuilt/${os.name}-${os.arch}/bin/clang++ + + + - android-x86-default - - - javacpp.platform - android-x86 - - - - android-x86-clang - ${env.ANDROID_NDK} - toolchains/llvm/prebuilt/${os.name}-${os.arch}/bin/clang++ - - + android-x86-default + + + javacpp.platform + android-x86 + + + + android-x86-clang + ${env.ANDROID_NDK} + + toolchains/llvm/prebuilt/${os.name}-${os.arch}/bin/clang++ + + + - android-x86_64-default - - - javacpp.platform - android-x86_64 - - - - android-x86_64-clang - ${env.ANDROID_NDK} - toolchains/llvm/prebuilt/${os.name}-${os.arch}/bin/clang++ - - + android-x86_64-default + + + javacpp.platform + android-x86_64 + + + + android-x86_64-clang + ${env.ANDROID_NDK} + + toolchains/llvm/prebuilt/${os.name}-${os.arch}/bin/clang++ + + + - ios-arm64 - - - javacpp.platform - ios-arm64 - - - - ios-arm64 - - + ios-arm64 + + + javacpp.platform + ios-arm64 + + + + ios-arm64 + + - ios-x86_64 - - - javacpp.platform - ios-x86_64 - - - - ios-x86_64 - - + ios-x86_64 + + + javacpp.platform + ios-x86_64 + + + + ios-x86_64 + + - linux-armhf-default - - - javacpp.platform - linux-armhf - - - - linux-armhf - /home/almanac/raspberrypi/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf - bin/arm-linux-gnueabihf-g++ - - + linux-armhf-default + + + javacpp.platform + linux-armhf + + + + linux-armhf + + /home/almanac/raspberrypi/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf + + bin/arm-linux-gnueabihf-g++ + + - linux-arm64-default - - - javacpp.platform - linux-arm64 - - - - linux-arm64 - aarch64-linux-gnu-g++ - - + linux-arm64-default + + + javacpp.platform + linux-arm64 + + + + linux-arm64 + aarch64-linux-gnu-g++ + + - linux-ppc64le-default - - - javacpp.platform - linux-ppc64le - - - - linux-ppc64le - powerpc64le-linux-gnu-g++ - - + linux-ppc64le-default + + + javacpp.platform + linux-ppc64le + + + + linux-ppc64le + powerpc64le-linux-gnu-g++ + + - no-platform-dependency @@ -512,11 +540,9 @@ - testresources - @@ -530,7 +556,6 @@ android-arm${javacpp.platform.extension} - javacpp.platform.android-arm64-true @@ -542,7 +567,6 @@ android-arm64${javacpp.platform.extension} - javacpp.platform.android-x86-true @@ -554,7 +578,6 @@ android-x86${javacpp.platform.extension} - javacpp.platform.android-x86_64-true @@ -566,7 +589,6 @@ android-x86_64${javacpp.platform.extension} - javacpp.platform.ios-arm-true @@ -578,7 +600,6 @@ ios-arm${javacpp.platform.extension} - javacpp.platform.ios-arm64-true @@ -590,7 +611,6 @@ ios-arm64${javacpp.platform.extension} - javacpp.platform.ios-x86-true @@ -602,7 +622,6 @@ ios-x86${javacpp.platform.extension} - javacpp.platform.ios-x86_64-true @@ -614,7 +633,6 @@ ios-x86_64${javacpp.platform.extension} - javacpp.platform.linux-armhf-true @@ -626,7 +644,6 @@ linux-armhf${javacpp.platform.extension} - javacpp.platform.linux-arm64-true @@ -638,7 +655,6 @@ linux-arm64${javacpp.platform.extension} - javacpp.platform.linux-ppc64le-true @@ -650,7 +666,6 @@ linux-ppc64le${javacpp.platform.extension} - javacpp.platform.linux-x86-true @@ -662,7 +677,6 @@ linux-x86${javacpp.platform.extension} - javacpp.platform.linux-x86_64-true @@ -674,7 +688,6 @@ linux-x86_64${javacpp.platform.extension} - javacpp.platform.macosx-x86_64-true @@ -686,7 +699,6 @@ macosx-x86_64${javacpp.platform.extension} - javacpp.platform.windows-x86-true @@ -698,7 +710,6 @@ windows-x86${javacpp.platform.extension} - javacpp.platform.windows-x86_64-true @@ -710,7 +721,6 @@ windows-x86_64${javacpp.platform.extension} - javacpp.platform.custom-linux-arm @@ -718,14 +728,14 @@ javacpp.platform.host - linuxarm + linux + arm linux-armhf${javacpp.platform.extension} - javacpp.platform.custom-linux-armhf @@ -733,14 +743,14 @@ javacpp.platform.host - linuxarmhf + linux + armhf linux-armhf${javacpp.platform.extension} - javacpp.platform.custom-linux-aarch64 @@ -748,14 +758,14 @@ javacpp.platform.host - linuxaarch64 + linux + aarch64 linux-arm64${javacpp.platform.extension} - javacpp.platform.custom-linux-armv8 @@ -763,14 +773,14 @@ javacpp.platform.host - linuxarmv8 + linux + armv8 linux-arm64${javacpp.platform.extension} - javacpp.platform.custom-linux-arm64 @@ -778,14 +788,14 @@ javacpp.platform.host - linuxarm64 + linux + arm64 linux-arm64${javacpp.platform.extension} - javacpp.platform.custom-linux-ppc64le @@ -793,14 +803,14 @@ javacpp.platform.host - linuxppc64le + linux + ppc64le linux-ppc64le${javacpp.platform.extension} - javacpp.platform.custom-linux-amd64 @@ -808,14 +818,14 @@ javacpp.platform.host - linuxamd64 + linux + amd64 linux-x86_64${javacpp.platform.extension} - javacpp.platform.custom-linux-x86-64 @@ -823,14 +833,14 @@ javacpp.platform.host - linuxx86-64 + linux + x86-64 linux-x86_64${javacpp.platform.extension} - javacpp.platform.custom-linux-x86_64 @@ -838,14 +848,14 @@ javacpp.platform.host - linuxx86_64 + linux + x86_64 linux-x86_64${javacpp.platform.extension} - javacpp.platform.custom-macosx-amd64 @@ -853,14 +863,14 @@ javacpp.platform.host - mac os xamd64 + mac os x + amd64 macosx-x86_64${javacpp.platform.extension} - javacpp.platform.custom-macosx-x86-64 @@ -868,14 +878,14 @@ javacpp.platform.host - mac os xx86-64 + mac os x + x86-64 macosx-x86_64${javacpp.platform.extension} - javacpp.platform.custom-macosx-x86_64 @@ -883,49 +893,53 @@ javacpp.platform.host - mac os xx86_64 + mac os x + x86_64 macosx-x86_64${javacpp.platform.extension} - javacpp.platform.custom-windows-amd64 javacpp.platform.host - windowsamd64 + + windows + amd64 windows-x86_64${javacpp.platform.extension} - javacpp.platform.custom-windows-x86-64 javacpp.platform.host - windowsx86-64 + + windows + x86-64 windows-x86_64${javacpp.platform.extension} - javacpp.platform.custom-windows-x86_64 javacpp.platform.host - windowsx86_64 + + windows + x86_64 @@ -933,20 +947,4 @@ - - - - - maven-surefire-report-plugin - 2.19.1 - - - - org.codehaus.mojo - cobertura-maven-plugin - 2.7 - - - -
        diff --git a/nd4j/nd4j-backends/nd4j-tests-tensorflow/pom.xml b/nd4j/nd4j-backends/nd4j-tests-tensorflow/pom.xml index 66efac0fe..85db7d8fc 100644 --- a/nd4j/nd4j-backends/nd4j-tests-tensorflow/pom.xml +++ b/nd4j/nd4j-backends/nd4j-tests-tensorflow/pom.xml @@ -1,35 +1,38 @@ + - + + + 4.0.0 - - nd4j-backends org.nd4j + nd4j-backends 1.0.0-SNAPSHOT - 4.0.0 nd4j-tests-tensorflow nd4j-tests-tensorflow - 1.8 1.8 @@ -38,6 +41,29 @@ 1.8 + + + org.nd4j + nd4j-tensorflow + ${project.version} + + + junit + junit + + + ch.qos.logback + logback-classic + test + + + org.nd4j + nd4j-common-tests + ${project.version} + test + + + ${test.root} @@ -67,34 +93,6 @@ - - - - org.nd4j - nd4j-tensorflow - ${project.version} - - - - junit - junit - - - - ch.qos.logback - logback-classic - ${logback.version} - test - - - - org.nd4j - nd4j-common-tests - ${project.version} - test - - - testresources @@ -134,7 +132,6 @@ src/test/gpujava - @@ -204,14 +201,17 @@ - ${project.basedir}/src/test/gpujava + ${project.basedir}/src/test/gpujava + **/*.java - org.nd4j.linalg.jcublas.JCublasBackend + + org.nd4j.linalg.jcublas.JCublasBackend - org.nd4j.linalg.jcublas.JCublasBackend + + org.nd4j.linalg.jcublas.JCublasBackend + + + + - - - nd4j-backends - org.nd4j - 1.0.0-SNAPSHOT - 4.0.0 + + org.nd4j + nd4j-backends + 1.0.0-SNAPSHOT + + nd4j-tests - 1.0.0-SNAPSHOT - jar nd4j-tests - 1.8 1.8 @@ -37,78 +40,56 @@ 1.8 1.8 - - - - maven-compiler-plugin - - 1.8 - 1.8 - - - - org.apache.maven.plugins - maven-compiler-plugin - - 8 - 8 - - - - + - - + + org.nd4j + samediff-import-tensorflow + ${project.version} + + + org.nd4j + samediff-import-onnx + ${project.version} + junit junit - org.nd4j nd4j-api - ${project.version} - org.nd4j nd4j-native-api - ${project.version} - org.nd4j jackson ${project.version} - ch.qos.logback logback-classic - ${logback.version} - ch.qos.logback logback-core - ${logback.version} - org.springframework spring-core 5.0.2.RELEASE test - org.apache.commons commons-math3 3.6.1 test - org.reflections reflections @@ -121,7 +102,6 @@ - org.nd4j nd4j-common-tests @@ -136,30 +116,13 @@ - - - - maven-surefire-report-plugin - 2.19.1 - - - - org.codehaus.mojo - cobertura-maven-plugin - 2.7 - - - - testresources - nd4j-testresources - nd4j-tests-cpu @@ -179,7 +142,8 @@ maven-surefire-plugin - ${env.LD_LIBRARY_PATH}:${user.dir}:${libnd4jhome}/blasbuild/cpu/blas/ + + ${env.LD_LIBRARY_PATH}:${user.dir}:${libnd4jhome}/blasbuild/cpu/blas/ src/test/java @@ -192,9 +156,11 @@ junit:junit - org.nd4j.linalg.cpu.nativecpu.CpuBackend + + org.nd4j.linalg.cpu.nativecpu.CpuBackend - org.nd4j.linalg.cpu.nativecpu.CpuBackend + + org.nd4j.linalg.cpu.nativecpu.CpuBackend + diff --git a/nd4j/nd4j-backends/nd4j-tests/variables-added-new.txt b/nd4j/nd4j-backends/nd4j-tests/variables-added-new.txt new file mode 100644 index 000000000..a485cb2a1 --- /dev/null +++ b/nd4j/nd4j-backends/nd4j-tests/variables-added-new.txt @@ -0,0 +1,3 @@ +Variable/read,Variable/read +Atanh/x,Atanh/x +Atanh,Atanh diff --git a/nd4j/nd4j-backends/nd4j-tests/variables-added-old.txt b/nd4j/nd4j-backends/nd4j-tests/variables-added-old.txt new file mode 100644 index 000000000..3ac34574d --- /dev/null +++ b/nd4j/nd4j-backends/nd4j-tests/variables-added-old.txt @@ -0,0 +1,7 @@ +in_0/read,in_0/read +Tensordot/transpose_1,Tensordot/transpose_1 +Tensordot/transpose,Tensordot/transpose +Tensordot/Reshape_1,Tensordot/Reshape_1 +Tensordot/Reshape,Tensordot/Reshape +Tensordot/MatMul,Tensordot/MatMul +Tensordot,Tensordot diff --git a/nd4j/nd4j-backends/pom.xml b/nd4j/nd4j-backends/pom.xml index 59228e141..904dd6140 100644 --- a/nd4j/nd4j-backends/pom.xml +++ b/nd4j/nd4j-backends/pom.xml @@ -1,33 +1,39 @@ - + + + + + + 4.0.0 - - nd4j org.nd4j + nd4j 1.0.0-SNAPSHOT - 4.0.0 nd4j-backends pom nd4j-backends - nd4j-tests nd4j-backend-impls @@ -40,5 +46,4 @@ testresources - diff --git a/nd4j/nd4j-common-tests/pom.xml b/nd4j/nd4j-common-tests/pom.xml index ab280ae0a..b29bef694 100644 --- a/nd4j/nd4j-common-tests/pom.xml +++ b/nd4j/nd4j-common-tests/pom.xml @@ -1,15 +1,36 @@ + + - - nd4j - org.nd4j - 1.0.0-SNAPSHOT - + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 + + org.nd4j + nd4j + 1.0.0-SNAPSHOT + + nd4j-common-tests + 1.8 1.8 @@ -24,14 +45,12 @@ org.nd4j nd4j-api - ${project.version} ch.qos.logback logback-classic - ${logback.version} - + org.reflections reflections ${reflections.version} @@ -41,18 +60,15 @@ * - - + org.springframework spring-core 5.0.2.RELEASE - - nd4j-tests-cpu @@ -67,4 +83,4 @@ nd4j-testresources - \ No newline at end of file + diff --git a/nd4j/nd4j-common-tests/src/main/java/org/nd4j/common/tests/AbstractAssertTestsClass.java b/nd4j/nd4j-common-tests/src/main/java/org/nd4j/common/tests/AbstractAssertTestsClass.java index 5befedba3..e9eb8f5db 100644 --- a/nd4j/nd4j-common-tests/src/main/java/org/nd4j/common/tests/AbstractAssertTestsClass.java +++ b/nd4j/nd4j-common-tests/src/main/java/org/nd4j/common/tests/AbstractAssertTestsClass.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.tests; import lombok.extern.slf4j.Slf4j; diff --git a/nd4j/nd4j-common-tests/src/main/java/org/nd4j/common/tests/BaseND4JTest.java b/nd4j/nd4j-common-tests/src/main/java/org/nd4j/common/tests/BaseND4JTest.java index eceec6216..6fada005e 100644 --- a/nd4j/nd4j-common-tests/src/main/java/org/nd4j/common/tests/BaseND4JTest.java +++ b/nd4j/nd4j-common-tests/src/main/java/org/nd4j/common/tests/BaseND4JTest.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019-2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.tests; diff --git a/nd4j/nd4j-common-tests/src/main/java/org/nd4j/common/tests/ResourceUtils.java b/nd4j/nd4j-common-tests/src/main/java/org/nd4j/common/tests/ResourceUtils.java index bafe94094..d711777e4 100644 --- a/nd4j/nd4j-common-tests/src/main/java/org/nd4j/common/tests/ResourceUtils.java +++ b/nd4j/nd4j-common-tests/src/main/java/org/nd4j/common/tests/ResourceUtils.java @@ -1,18 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.tests; import org.nd4j.common.io.ClassPathResource; diff --git a/nd4j/nd4j-common/pom.xml b/nd4j/nd4j-common/pom.xml index d75c82cf4..200c5eda2 100644 --- a/nd4j/nd4j-common/pom.xml +++ b/nd4j/nd4j-common/pom.xml @@ -1,48 +1,94 @@ - + + + + - - - nd4j - org.nd4j - 1.0.0-SNAPSHOT - 4.0.0 + + org.nd4j + nd4j + 1.0.0-SNAPSHOT + + nd4j-common - jar nd4j-common - - - - org.apache.maven.plugins - maven-compiler-plugin - - 8 - 8 - - - - + - 1.7 - 1.7 + 8 + 8 + + + org.nd4j + jackson + ${project.version} + + + org.nd4j + guava + ${project.version} + + + org.slf4j + slf4j-api + + + junit + junit + + + commons-io + commons-io + ${commons-io.version} + + + org.apache.commons + commons-math3 + ${commons-math3.version} + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + org.apache.commons + commons-compress + ${commons-compress.version} + + + commons-codec + commons-codec + ${commons-codec.version} + + + ch.qos.logback + logback-classic + test + + + jdk9 @@ -57,82 +103,4 @@ testresources - - - - - - ch.qos.logback - logback-classic - ${logback.version} - - - ch.qos.logback - logback-core - ${logback.version} - - - - - - - - - org.nd4j - jackson - ${project.version} - - - - org.nd4j - guava - ${project.version} - - - - org.slf4j - slf4j-api - - - - junit - junit - test - - - - commons-io - commons-io - ${commons-io.version} - - - - org.apache.commons - commons-math3 - ${commons-math3.version} - - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - - - - org.apache.commons - commons-compress - ${commons-compress.version} - - - - commons-codec - commons-codec - ${commons-codec.version} - - - - ch.qos.logback - logback-classic - test - - diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/base/Preconditions.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/base/Preconditions.java index ef6a0a97a..7280f42ce 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/base/Preconditions.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/base/Preconditions.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.base; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/base/PreconditionsFormat.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/base/PreconditionsFormat.java index 7e965489a..3a15549a5 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/base/PreconditionsFormat.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/base/PreconditionsFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.base; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/collection/CompactHeapStringList.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/collection/CompactHeapStringList.java index 7e36ac29e..3bf603093 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/collection/CompactHeapStringList.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/collection/CompactHeapStringList.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.collection; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/collection/IntArrayKeyMap.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/collection/IntArrayKeyMap.java index f1215e7a2..f90b04044 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/collection/IntArrayKeyMap.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/collection/IntArrayKeyMap.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.collection; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/collection/IntArrayKeySet.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/collection/IntArrayKeySet.java index fa5fc531d..9c475af42 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/collection/IntArrayKeySet.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/collection/IntArrayKeySet.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.collection; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/collection/MultiDimensionalMap.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/collection/MultiDimensionalMap.java index 9cf229710..42af5fb50 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/collection/MultiDimensionalMap.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/collection/MultiDimensionalMap.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.collection; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/collection/MultiDimensionalSet.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/collection/MultiDimensionalSet.java index 56e7716be..4629b4e45 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/collection/MultiDimensionalSet.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/collection/MultiDimensionalSet.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.collection; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/collections/WeakIdentityHashMap.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/collections/WeakIdentityHashMap.java index 258654471..55b041c28 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/collections/WeakIdentityHashMap.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/collections/WeakIdentityHashMap.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.common.collections; import lombok.*; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/config/ND4JClassLoading.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/config/ND4JClassLoading.java index 444010788..6be18a018 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/config/ND4JClassLoading.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/config/ND4JClassLoading.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) Eclipse Deeplearning4j Contributors 2020 - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.config; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/config/ND4JEnvironmentVars.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/config/ND4JEnvironmentVars.java index ed5783440..3ca8ec7d9 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/config/ND4JEnvironmentVars.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/config/ND4JEnvironmentVars.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.config; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/config/ND4JSystemProperties.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/config/ND4JSystemProperties.java index 3e0a9a999..5f3b7794a 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/config/ND4JSystemProperties.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/config/ND4JSystemProperties.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.config; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/BiConsumer.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/BiConsumer.java index 167f4c160..b1f623a28 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/BiConsumer.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/BiConsumer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.function; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/BiFunction.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/BiFunction.java index 3365303bf..d8d72338e 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/BiFunction.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/BiFunction.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.function; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/BiPredicate.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/BiPredicate.java index 344fa5319..790ecb81a 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/BiPredicate.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/BiPredicate.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.function; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/Consumer.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/Consumer.java index 911c5819e..fb712ae45 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/Consumer.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/Consumer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.function; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/Function.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/Function.java index ea6103dd3..4793f14bb 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/Function.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/Function.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.function; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/FunctionalUtils.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/FunctionalUtils.java index 95ea6f21e..75084d3ea 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/FunctionalUtils.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/FunctionalUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.function; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/Predicate.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/Predicate.java index 35aca1bc2..4e28655b1 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/Predicate.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/Predicate.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.function; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/Supplier.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/Supplier.java index 12696cce5..65c206d7f 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/Supplier.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/Supplier.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.function; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/UnaryOperator.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/UnaryOperator.java index a18c0f068..0d81fd217 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/UnaryOperator.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/function/UnaryOperator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.function; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/holder/ObjectMapperHolder.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/holder/ObjectMapperHolder.java index 2a0dba43c..c37686005 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/holder/ObjectMapperHolder.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/holder/ObjectMapperHolder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.holder; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/AbstractFileResolvingResource.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/AbstractFileResolvingResource.java index 01adf1f3f..e2eb9165f 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/AbstractFileResolvingResource.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/AbstractFileResolvingResource.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.io; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/AbstractResource.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/AbstractResource.java index f9c90475d..45a188fd4 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/AbstractResource.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/AbstractResource.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.io; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/Assert.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/Assert.java index ad078a74f..17b3f118c 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/Assert.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/Assert.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.io; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/ClassPathResource.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/ClassPathResource.java index ce44a7991..617f2fffd 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/ClassPathResource.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/ClassPathResource.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.io; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/CollectionUtils.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/CollectionUtils.java index c2d3e48bb..d0b757d92 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/CollectionUtils.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/CollectionUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.io; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/InputStreamSource.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/InputStreamSource.java index 877e2e8c2..de150c8b0 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/InputStreamSource.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/InputStreamSource.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.io; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/ObjectUtils.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/ObjectUtils.java index f0f0bf0cf..1916d53f8 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/ObjectUtils.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/ObjectUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.io; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/ReflectionUtils.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/ReflectionUtils.java index 0371e24dd..bbd320544 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/ReflectionUtils.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/ReflectionUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.io; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/Resource.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/Resource.java index cf9d25767..4d523f9b9 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/Resource.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/Resource.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.io; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/ResourceUtils.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/ResourceUtils.java index 83d420008..6343b4026 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/ResourceUtils.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/ResourceUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.io; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/StringUtils.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/StringUtils.java index 1f5c86907..0af06b679 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/StringUtils.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/StringUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.io; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/VfsResource.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/VfsResource.java index 196b644dc..3bc2fdd96 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/VfsResource.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/VfsResource.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.io; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/VfsUtils.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/VfsUtils.java index 33988eab1..4904c237d 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/VfsUtils.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/io/VfsUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.io; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/loader/FileBatch.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/loader/FileBatch.java index 2649ecf83..fc638224f 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/loader/FileBatch.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/loader/FileBatch.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.loader; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/loader/Loader.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/loader/Loader.java index f7502946d..23c9b6d14 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/loader/Loader.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/loader/Loader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.loader; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/loader/LocalFileSource.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/loader/LocalFileSource.java index 3e13d8c97..e631dcb72 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/loader/LocalFileSource.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/loader/LocalFileSource.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.loader; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/loader/LocalFileSourceFactory.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/loader/LocalFileSourceFactory.java index 2e6bd33bd..752ed514c 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/loader/LocalFileSourceFactory.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/loader/LocalFileSourceFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.loader; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/loader/Source.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/loader/Source.java index f80437c9c..821e31533 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/loader/Source.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/loader/Source.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.loader; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/loader/SourceFactory.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/loader/SourceFactory.java index 533bd2691..d8228bcd3 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/loader/SourceFactory.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/loader/SourceFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.loader; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/Atomic.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/Atomic.java index 24101da13..56c290c90 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/Atomic.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/Atomic.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.primitives; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/AtomicBoolean.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/AtomicBoolean.java index a45c2f593..7ac4834db 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/AtomicBoolean.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/AtomicBoolean.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.primitives; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/AtomicDouble.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/AtomicDouble.java index d9747ab91..6006310aa 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/AtomicDouble.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/AtomicDouble.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.primitives; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/Counter.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/Counter.java index d3f23ec1e..288097b99 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/Counter.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/Counter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.primitives; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/CounterMap.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/CounterMap.java index b4521c869..48ac6b2d0 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/CounterMap.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/CounterMap.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.primitives; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/ImmutablePair.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/ImmutablePair.java index d7093d8ee..c12eea0e3 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/ImmutablePair.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/ImmutablePair.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.primitives; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/ImmutableQuad.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/ImmutableQuad.java index c5f7ccb16..0c1d27139 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/ImmutableQuad.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/ImmutableQuad.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.primitives; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/ImmutableTriple.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/ImmutableTriple.java index d85bc2153..97f344e47 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/ImmutableTriple.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/ImmutableTriple.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.primitives; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/Optional.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/Optional.java index 1a2bd1860..708d7c78b 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/Optional.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/Optional.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.primitives; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/Pair.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/Pair.java index 84633d22a..a9811065d 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/Pair.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/Pair.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.primitives; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/Quad.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/Quad.java index 7304f8ff2..c32996428 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/Quad.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/Quad.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.primitives; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/SynchronizedObject.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/SynchronizedObject.java index 22f014975..86231e0f2 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/SynchronizedObject.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/SynchronizedObject.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.primitives; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/Triple.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/Triple.java index ee9cdbc13..ba7998a4b 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/Triple.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/Triple.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.primitives; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/serde/JsonDeserializerAtomicBoolean.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/serde/JsonDeserializerAtomicBoolean.java index 35a9f1855..62c524b48 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/serde/JsonDeserializerAtomicBoolean.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/serde/JsonDeserializerAtomicBoolean.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.primitives.serde; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/serde/JsonDeserializerAtomicDouble.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/serde/JsonDeserializerAtomicDouble.java index 87cd894d1..f3f97f802 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/serde/JsonDeserializerAtomicDouble.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/serde/JsonDeserializerAtomicDouble.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.primitives.serde; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/serde/JsonSerializerAtomicBoolean.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/serde/JsonSerializerAtomicBoolean.java index 69068d727..2072b0983 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/serde/JsonSerializerAtomicBoolean.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/serde/JsonSerializerAtomicBoolean.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.primitives.serde; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/serde/JsonSerializerAtomicDouble.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/serde/JsonSerializerAtomicDouble.java index 23e86283b..78b747997 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/serde/JsonSerializerAtomicDouble.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/primitives/serde/JsonSerializerAtomicDouble.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.primitives.serde; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/resources/Downloader.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/resources/Downloader.java index 230cb1f44..023a40d63 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/resources/Downloader.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/resources/Downloader.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.resources; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/resources/Resolver.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/resources/Resolver.java index b88597c87..3168c03ed 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/resources/Resolver.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/resources/Resolver.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.common.resources; import java.io.File; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/resources/Resources.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/resources/Resources.java index a58cca96c..6aaa65de3 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/resources/Resources.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/resources/Resources.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.common.resources; import lombok.NonNull; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/resources/strumpf/ResourceFile.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/resources/strumpf/ResourceFile.java index aebb754d4..63742a705 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/resources/strumpf/ResourceFile.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/resources/strumpf/ResourceFile.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.common.resources.strumpf; import org.nd4j.common.config.ND4JSystemProperties; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/resources/strumpf/StrumpfResolver.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/resources/strumpf/StrumpfResolver.java index ffb8d503b..b8156713f 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/resources/strumpf/StrumpfResolver.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/resources/strumpf/StrumpfResolver.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.common.resources.strumpf; import lombok.NonNull; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/tools/BTools.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/tools/BTools.java index 3797aa3aa..ef24f2c3a 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/tools/BTools.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/tools/BTools.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.tools; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/tools/InfoLine.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/tools/InfoLine.java index 0c42a7ea9..64b2962e9 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/tools/InfoLine.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/tools/InfoLine.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.tools; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/tools/InfoValues.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/tools/InfoValues.java index 1c90d4d09..bc0161bb9 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/tools/InfoValues.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/tools/InfoValues.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.tools; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/tools/PropertyParser.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/tools/PropertyParser.java index 48ff27722..6e0832aae 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/tools/PropertyParser.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/tools/PropertyParser.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.tools; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/tools/SIS.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/tools/SIS.java index b687f20f1..e00c61be9 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/tools/SIS.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/tools/SIS.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.tools; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/AbstractNumber.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/AbstractNumber.java index 1b18410f0..dc48c6e6d 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/AbstractNumber.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/AbstractNumber.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.util; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/ArchiveUtils.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/ArchiveUtils.java index d9c602b09..9e4bb9bfe 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/ArchiveUtils.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/ArchiveUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.util; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/ArrayUtil.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/ArrayUtil.java index 1bdac9793..f071681c3 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/ArrayUtil.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/ArrayUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.util; @@ -710,6 +712,28 @@ public class ArrayUtil { return ret; } + /** + * Compute the offset + * based on teh shape strides and offsets + * @param shape the shape to compute + * @param offsets the offsets to compute + * @param strides the strides to compute + * @return the offset for the given shape,offset,and strides + */ + public static long calcOffset(long[] shape, long[] offsets, long[] strides) { + if (shape.length != offsets.length || shape.length != strides.length) + throw new IllegalArgumentException("Shapes,strides, and offsets must be the same size"); + + long ret = 0; + for (int i = 0; i < offsets.length; i++) { + if (shape[i] == 1) + continue; + ret += offsets[i] * strides[i]; + } + + return ret; + } + /** * Compute the offset * based on teh shape strides and offsets diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/Bernoulli.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/Bernoulli.java index 39edabe9a..8033643f4 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/Bernoulli.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/Bernoulli.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.util; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/Factorial.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/Factorial.java index 8e8ab189a..10ac77c82 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/Factorial.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/Factorial.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.util; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/Index.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/Index.java index fca9aea7b..d37fc01cf 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/Index.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/Index.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.util; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/InputStreamUtil.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/InputStreamUtil.java index 98daab389..01cfe0310 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/InputStreamUtil.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/InputStreamUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.util; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/LinkedMultiValueMap.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/LinkedMultiValueMap.java index 544d054af..6cde9b738 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/LinkedMultiValueMap.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/LinkedMultiValueMap.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.util; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/MathUtils.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/MathUtils.java index 21e37d658..5458420c3 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/MathUtils.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/MathUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.util; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/MultiValueMap.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/MultiValueMap.java index c36bdda48..8abf1f092 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/MultiValueMap.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/MultiValueMap.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.util; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/ND4JFileUtils.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/ND4JFileUtils.java index b66c21a39..cf40195c5 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/ND4JFileUtils.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/ND4JFileUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.util; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/NioUtil.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/NioUtil.java index 79d30d80f..b7a49fefe 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/NioUtil.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/NioUtil.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.util; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/OneTimeLogger.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/OneTimeLogger.java index 2f1af293b..1a74d70bd 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/OneTimeLogger.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/OneTimeLogger.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.util; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/Paths.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/Paths.java index 837f770d7..028ead67f 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/Paths.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/Paths.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.util; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/Rational.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/Rational.java index f0fbf3b03..8a90d1107 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/Rational.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/Rational.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.util; /* diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/SerializationUtils.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/SerializationUtils.java index 4e2af6eb4..de190e9af 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/SerializationUtils.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/SerializationUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.util; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/SetUtils.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/SetUtils.java index d722bb113..9c1820359 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/SetUtils.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/SetUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.util; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/SynchronizedTable.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/SynchronizedTable.java index d3337fc21..9de6fe97b 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/SynchronizedTable.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/SynchronizedTable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.util; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/ThreadUtils.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/ThreadUtils.java index 60313c1d9..a92aeea5b 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/ThreadUtils.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/util/ThreadUtils.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.util; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/validation/Nd4jCommonValidator.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/validation/Nd4jCommonValidator.java index ff36db830..fa820e1f1 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/validation/Nd4jCommonValidator.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/validation/Nd4jCommonValidator.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.common.validation; import lombok.NonNull; diff --git a/nd4j/nd4j-common/src/main/java/org/nd4j/common/validation/ValidationResult.java b/nd4j/nd4j-common/src/main/java/org/nd4j/common/validation/ValidationResult.java index 8a66383a9..0f9365eed 100644 --- a/nd4j/nd4j-common/src/main/java/org/nd4j/common/validation/ValidationResult.java +++ b/nd4j/nd4j-common/src/main/java/org/nd4j/common/validation/ValidationResult.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.common.validation; import lombok.AllArgsConstructor; diff --git a/nd4j/nd4j-common/src/test/java/org/nd4j/common/base/TestPreconditions.java b/nd4j/nd4j-common/src/test/java/org/nd4j/common/base/TestPreconditions.java index 53aaa3e9c..1cd1c7d9d 100644 --- a/nd4j/nd4j-common/src/test/java/org/nd4j/common/base/TestPreconditions.java +++ b/nd4j/nd4j-common/src/test/java/org/nd4j/common/base/TestPreconditions.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.base; diff --git a/nd4j/nd4j-common/src/test/java/org/nd4j/common/function/FunctionalUtilsTest.java b/nd4j/nd4j-common/src/test/java/org/nd4j/common/function/FunctionalUtilsTest.java index 1023a5772..c07114ea1 100644 --- a/nd4j/nd4j-common/src/test/java/org/nd4j/common/function/FunctionalUtilsTest.java +++ b/nd4j/nd4j-common/src/test/java/org/nd4j/common/function/FunctionalUtilsTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.function; diff --git a/nd4j/nd4j-common/src/test/java/org/nd4j/common/io/ClassPathResourceTest.java b/nd4j/nd4j-common/src/test/java/org/nd4j/common/io/ClassPathResourceTest.java index 1fd9ab95a..14e13f880 100644 --- a/nd4j/nd4j-common/src/test/java/org/nd4j/common/io/ClassPathResourceTest.java +++ b/nd4j/nd4j-common/src/test/java/org/nd4j/common/io/ClassPathResourceTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.io; diff --git a/nd4j/nd4j-common/src/test/java/org/nd4j/common/loader/TestFileBatch.java b/nd4j/nd4j-common/src/test/java/org/nd4j/common/loader/TestFileBatch.java index fba85d83c..79739b492 100644 --- a/nd4j/nd4j-common/src/test/java/org/nd4j/common/loader/TestFileBatch.java +++ b/nd4j/nd4j-common/src/test/java/org/nd4j/common/loader/TestFileBatch.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.loader; diff --git a/nd4j/nd4j-common/src/test/java/org/nd4j/common/primitives/AtomicTest.java b/nd4j/nd4j-common/src/test/java/org/nd4j/common/primitives/AtomicTest.java index 90a9563bc..0907f2654 100644 --- a/nd4j/nd4j-common/src/test/java/org/nd4j/common/primitives/AtomicTest.java +++ b/nd4j/nd4j-common/src/test/java/org/nd4j/common/primitives/AtomicTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.primitives; diff --git a/nd4j/nd4j-common/src/test/java/org/nd4j/common/primitives/CounterMapTest.java b/nd4j/nd4j-common/src/test/java/org/nd4j/common/primitives/CounterMapTest.java index b9fc1eae9..6af42b2c3 100644 --- a/nd4j/nd4j-common/src/test/java/org/nd4j/common/primitives/CounterMapTest.java +++ b/nd4j/nd4j-common/src/test/java/org/nd4j/common/primitives/CounterMapTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.primitives; diff --git a/nd4j/nd4j-common/src/test/java/org/nd4j/common/primitives/CounterTest.java b/nd4j/nd4j-common/src/test/java/org/nd4j/common/primitives/CounterTest.java index 08c28deb5..963730721 100644 --- a/nd4j/nd4j-common/src/test/java/org/nd4j/common/primitives/CounterTest.java +++ b/nd4j/nd4j-common/src/test/java/org/nd4j/common/primitives/CounterTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.primitives; diff --git a/nd4j/nd4j-common/src/test/java/org/nd4j/common/resources/TestArchiveUtils.java b/nd4j/nd4j-common/src/test/java/org/nd4j/common/resources/TestArchiveUtils.java index e2586c458..0426b72ea 100644 --- a/nd4j/nd4j-common/src/test/java/org/nd4j/common/resources/TestArchiveUtils.java +++ b/nd4j/nd4j-common/src/test/java/org/nd4j/common/resources/TestArchiveUtils.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.common.resources; import org.apache.commons.io.FileUtils; diff --git a/nd4j/nd4j-common/src/test/java/org/nd4j/common/resources/TestStrumpf.java b/nd4j/nd4j-common/src/test/java/org/nd4j/common/resources/TestStrumpf.java index 21e12336a..589182330 100644 --- a/nd4j/nd4j-common/src/test/java/org/nd4j/common/resources/TestStrumpf.java +++ b/nd4j/nd4j-common/src/test/java/org/nd4j/common/resources/TestStrumpf.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.common.resources; import org.apache.commons.io.FileUtils; diff --git a/nd4j/nd4j-common/src/test/java/org/nd4j/common/tools/BToolsTest.java b/nd4j/nd4j-common/src/test/java/org/nd4j/common/tools/BToolsTest.java index 3ca05916b..90fcb901f 100644 --- a/nd4j/nd4j-common/src/test/java/org/nd4j/common/tools/BToolsTest.java +++ b/nd4j/nd4j-common/src/test/java/org/nd4j/common/tools/BToolsTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.tools; diff --git a/nd4j/nd4j-common/src/test/java/org/nd4j/common/tools/InfoLineTest.java b/nd4j/nd4j-common/src/test/java/org/nd4j/common/tools/InfoLineTest.java index 41080a335..5d5e0dfc2 100644 --- a/nd4j/nd4j-common/src/test/java/org/nd4j/common/tools/InfoLineTest.java +++ b/nd4j/nd4j-common/src/test/java/org/nd4j/common/tools/InfoLineTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.tools; diff --git a/nd4j/nd4j-common/src/test/java/org/nd4j/common/tools/InfoValuesTest.java b/nd4j/nd4j-common/src/test/java/org/nd4j/common/tools/InfoValuesTest.java index ad3d3a5de..144990c5a 100644 --- a/nd4j/nd4j-common/src/test/java/org/nd4j/common/tools/InfoValuesTest.java +++ b/nd4j/nd4j-common/src/test/java/org/nd4j/common/tools/InfoValuesTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.tools; diff --git a/nd4j/nd4j-common/src/test/java/org/nd4j/common/tools/PropertyParserTest.java b/nd4j/nd4j-common/src/test/java/org/nd4j/common/tools/PropertyParserTest.java index 623c5efba..67b0e9310 100644 --- a/nd4j/nd4j-common/src/test/java/org/nd4j/common/tools/PropertyParserTest.java +++ b/nd4j/nd4j-common/src/test/java/org/nd4j/common/tools/PropertyParserTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.tools; diff --git a/nd4j/nd4j-common/src/test/java/org/nd4j/common/tools/SISTest.java b/nd4j/nd4j-common/src/test/java/org/nd4j/common/tools/SISTest.java index e2f9e00c4..79d22e460 100644 --- a/nd4j/nd4j-common/src/test/java/org/nd4j/common/tools/SISTest.java +++ b/nd4j/nd4j-common/src/test/java/org/nd4j/common/tools/SISTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.tools; diff --git a/nd4j/nd4j-common/src/test/java/org/nd4j/common/util/ArrayUtilTest.java b/nd4j/nd4j-common/src/test/java/org/nd4j/common/util/ArrayUtilTest.java index b6f729f38..6ebfb6927 100644 --- a/nd4j/nd4j-common/src/test/java/org/nd4j/common/util/ArrayUtilTest.java +++ b/nd4j/nd4j-common/src/test/java/org/nd4j/common/util/ArrayUtilTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.util; diff --git a/nd4j/nd4j-common/src/test/java/org/nd4j/common/util/OneTimeLoggerTest.java b/nd4j/nd4j-common/src/test/java/org/nd4j/common/util/OneTimeLoggerTest.java index 03cc48bbd..2c4eb1360 100644 --- a/nd4j/nd4j-common/src/test/java/org/nd4j/common/util/OneTimeLoggerTest.java +++ b/nd4j/nd4j-common/src/test/java/org/nd4j/common/util/OneTimeLoggerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.common.util; diff --git a/nd4j/nd4j-jdbc/nd4j-jdbc-api/pom.xml b/nd4j/nd4j-jdbc/nd4j-jdbc-api/pom.xml deleted file mode 100644 index 618b44c9e..000000000 --- a/nd4j/nd4j-jdbc/nd4j-jdbc-api/pom.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - 4.0.0 - - org.nd4j - nd4j-jdbc-api - 1.0.0-SNAPSHOT - jar - - nd4j-jdbc-api - http://maven.apache.org - - - org.nd4j - nd4j-jdbc - 1.0.0-SNAPSHOT - - - - UTF-8 - - - - - - com.mchange - c3p0 - 0.9.5.4 - - - org.nd4j - nd4j-api - ${project.version} - - - - - - testresources - - - diff --git a/nd4j/nd4j-jdbc/nd4j-jdbc-hsql/src/main/resources/nd4j.jdbc.properties b/nd4j/nd4j-jdbc/nd4j-jdbc-hsql/src/main/resources/nd4j.jdbc.properties deleted file mode 100644 index 65dfb305f..000000000 --- a/nd4j/nd4j-jdbc/nd4j-jdbc-hsql/src/main/resources/nd4j.jdbc.properties +++ /dev/null @@ -1,17 +0,0 @@ -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. -# -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ - -jdbc.driver=org.hsqldb.jdbc.JDBCDriver \ No newline at end of file diff --git a/nd4j/nd4j-jdbc/nd4j-jdbc-mysql/pom.xml b/nd4j/nd4j-jdbc/nd4j-jdbc-mysql/pom.xml deleted file mode 100644 index e640ed219..000000000 --- a/nd4j/nd4j-jdbc/nd4j-jdbc-mysql/pom.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - 4.0.0 - - - org.nd4j - nd4j-jdbc - 1.0.0-SNAPSHOT - - - nd4j-jdbc-mysql - jar - - - org.nd4j - nd4j-jdbc-api - ${project.version} - - - junit - junit - test - - - - org.nd4j - nd4j-common-tests - ${project.version} - test - - - - - - testresources - - - diff --git a/nd4j/nd4j-jdbc/nd4j-jdbc-mysql/src/main/resources/nd4j.jdbc.properties b/nd4j/nd4j-jdbc/nd4j-jdbc-mysql/src/main/resources/nd4j.jdbc.properties deleted file mode 100644 index be3d7c77a..000000000 --- a/nd4j/nd4j-jdbc/nd4j-jdbc-mysql/src/main/resources/nd4j.jdbc.properties +++ /dev/null @@ -1,17 +0,0 @@ -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. -# -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ - -jdbc.driver=com.mysql.jdbc.Driver \ No newline at end of file diff --git a/nd4j/nd4j-jdbc/pom.xml b/nd4j/nd4j-jdbc/pom.xml deleted file mode 100644 index a382cf0e8..000000000 --- a/nd4j/nd4j-jdbc/pom.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - - nd4j - org.nd4j - 1.0.0-SNAPSHOT - - 4.0.0 - - nd4j-jdbc - 1.0.0-SNAPSHOT - pom - - nd4j-jdbc - https://deeplearning4j.org - - nd4j-jdbc-api - nd4j-jdbc-mysql - nd4j-jdbc-hsql - - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.7 - 1.7 - - - - - - UTF-8 - - - - - testresources - - - - nd4j-testresources - - - - nd4j-tests-cpu - - - - nd4j-tests-cuda - - - - diff --git a/nd4j/nd4j-onnxruntime/pom.xml b/nd4j/nd4j-onnxruntime/pom.xml new file mode 100644 index 000000000..bda3d3a50 --- /dev/null +++ b/nd4j/nd4j-onnxruntime/pom.xml @@ -0,0 +1,79 @@ + + + + + + + nd4j + org.nd4j + 1.0.0-SNAPSHOT + + 4.0.0 + + nd4j-onnxruntime + + nd4j-onnx + + + + UTF-8 + 1.8 + 1.8 + 1.4.0 + ${onnxruntime.version}-${javacpp.version} + + + + + org.slf4j + slf4j-api + + + + org.nd4j + nd4j-api + + + + org.bytedeco + onnxruntime-platform + ${onnxruntime.javacpp.version} + + + + org.bytedeco + onnxruntime + ${onnxruntime.javacpp.version} + + + + junit + junit + + + + org.nd4j + nd4j-native + ${project.version} + test + + + + diff --git a/nd4j/nd4j-onnxruntime/src/main/java/org/nd4j/onnxruntime/runner/OnnxRuntimeRunner.java b/nd4j/nd4j-onnxruntime/src/main/java/org/nd4j/onnxruntime/runner/OnnxRuntimeRunner.java new file mode 100644 index 000000000..39253bd32 --- /dev/null +++ b/nd4j/nd4j-onnxruntime/src/main/java/org/nd4j/onnxruntime/runner/OnnxRuntimeRunner.java @@ -0,0 +1,156 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.onnxruntime.runner; + +import lombok.Builder; +import lombok.extern.slf4j.Slf4j; +import org.bytedeco.javacpp.*; +import org.bytedeco.onnxruntime.*; +import org.nd4j.common.base.Preconditions; +import org.nd4j.linalg.api.buffer.DataBuffer; +import org.nd4j.linalg.api.ndarray.INDArray; +import org.nd4j.linalg.factory.Nd4j; +import org.nd4j.onnxruntime.util.ONNXUtils; + +import java.io.Closeable; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.UUID; + +import static org.bytedeco.onnxruntime.global.onnxruntime.*; +import static org.nd4j.onnxruntime.util.ONNXUtils.getDataBuffer; +import static org.nd4j.onnxruntime.util.ONNXUtils.getTensor; + +@Slf4j +public class OnnxRuntimeRunner implements Closeable { + private Session session; + private RunOptions runOptions; + private MemoryInfo memoryInfo; + private AllocatorWithDefaultOptions allocator; + private SessionOptions sessionOptions; + private static Env env; + private Pointer bp; + + + @Builder + public OnnxRuntimeRunner(String modelUri) { + if(env == null) { + env = new Env(ONNXUtils.getOnnxLogLevelFromLogger(log), new BytePointer("nd4j-serving-onnx-session-" + UUID.randomUUID().toString())); + env.retainReference(); + } + + sessionOptions = new SessionOptions(); + sessionOptions.SetGraphOptimizationLevel(ORT_ENABLE_EXTENDED); + sessionOptions.SetIntraOpNumThreads(1); + sessionOptions.retainReference(); + allocator = new AllocatorWithDefaultOptions(); + allocator.retainReference(); + bp = Loader.getPlatform().toLowerCase().startsWith("windows") ? new CharPointer(modelUri) : new BytePointer(modelUri); + runOptions = new RunOptions(); + memoryInfo = MemoryInfo.CreateCpu(OrtArenaAllocator, OrtMemTypeDefault); + session = new Session(env, bp, sessionOptions); + //retain the session reference to prevent pre emptive release of the session. + session.retainReference(); + + } + + + + @Override + public void close() { + if(session != null) { + session.close(); + } + + sessionOptions.releaseReference(); + allocator.releaseReference(); + runOptions.releaseReference(); + } + + + /** + * Execute the {@link #session} + * using the given input {@link Map} + * input + * @param input the input map + * @return a map of the names of the ndarrays + */ + public Map exec(Map input) { + long numInputNodes = session.GetInputCount(); + long numOutputNodes = session.GetOutputCount(); + + PointerPointer inputNodeNames = new PointerPointer<>(numInputNodes); + PointerPointer outputNodeNames = new PointerPointer<>(numOutputNodes); + + Value inputVal = new Value(numInputNodes); + + for (int i = 0; i < numInputNodes; i++) { + BytePointer inputName = session.GetInputName(i, allocator.asOrtAllocator()); + inputNodeNames.put(i, inputName); + INDArray arr = input.get(inputName.getString()); + Value inputTensor = getTensor(arr, memoryInfo); + Preconditions.checkState(inputTensor.IsTensor(),"Input must be a tensor."); + inputVal.position(i).put(inputTensor); + } + + //reset position after iterating + inputVal.position(0); + + + + for (int i = 0; i < numOutputNodes; i++) { + BytePointer outputName = session.GetOutputName(i, allocator.asOrtAllocator()); + outputNodeNames.put(i, outputName); + } + + ValueVector outputVector = session.Run( + runOptions, + inputNodeNames, + inputVal, + numInputNodes, + outputNodeNames, + numOutputNodes); + + outputVector.retainReference(); + Map ret = new LinkedHashMap<>(); + + for (int i = 0; i < numOutputNodes; i++) { + Value outValue = outputVector.get(i); + outValue.retainReference(); + TypeInfo typeInfo = session.GetOutputTypeInfo(i); + DataBuffer buffer = getDataBuffer(outValue); + LongPointer longPointer = outValue.GetTensorTypeAndShapeInfo().GetShape(); + //shape info can be null + if(longPointer != null) { + long[] shape = new long[(int) longPointer.capacity()]; + longPointer.get(shape); + ret.put((outputNodeNames.get(BytePointer.class, i)).getString(), Nd4j.create(buffer).reshape(shape)); + } else { + ret.put((outputNodeNames.get(BytePointer.class, i)).getString(), Nd4j.create(buffer)); + + } + } + + return ret; + + + } + + +} diff --git a/nd4j/nd4j-onnxruntime/src/main/java/org/nd4j/onnxruntime/util/ONNXUtils.java b/nd4j/nd4j-onnxruntime/src/main/java/org/nd4j/onnxruntime/util/ONNXUtils.java new file mode 100644 index 000000000..245a4f5f7 --- /dev/null +++ b/nd4j/nd4j-onnxruntime/src/main/java/org/nd4j/onnxruntime/util/ONNXUtils.java @@ -0,0 +1,291 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.onnxruntime.util; + +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.indexer.*; +import org.bytedeco.onnxruntime.MemoryInfo; +import org.bytedeco.onnxruntime.Value; +import org.nd4j.common.base.Preconditions; +import org.nd4j.linalg.api.buffer.DataBuffer; +import org.nd4j.linalg.api.buffer.DataType; +import org.nd4j.linalg.api.ndarray.INDArray; +import org.nd4j.linalg.factory.Nd4j; +import org.slf4j.Logger; + +import static org.bytedeco.onnxruntime.global.onnxruntime.*; +import static org.nd4j.linalg.api.buffer.DataType.*; + +public class ONNXUtils { + + /** + * + * @param expected + * @param array + */ + public static void validateType(DataType expected, INDArray array) { + if (!array.dataType().equals(expected)) + throw new RuntimeException("INDArray data type (" + array.dataType() + ") does not match required ONNX data type (" + expected + ")"); + } + + /** + * Return a {@link DataType} + * for the onnx data type + * @param dataType the equivalent nd4j data type + * @return + */ + public static DataType dataTypeForOnnxType(int dataType) { + if(dataType == dataType) { + return FLOAT; + } else if(dataType == ONNX_TENSOR_ELEMENT_DATA_TYPE_INT8) { + return INT8; + } else if(dataType == ONNX_TENSOR_ELEMENT_DATA_TYPE_DOUBLE) { + return DOUBLE; + } else if(dataType == ONNX_TENSOR_ELEMENT_DATA_TYPE_BOOL) { + return BOOL; + } else if(dataType == ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT8) { + return UINT8; + } else if(dataType == ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT16) { + return UINT16; + } else if(dataType == ONNX_TENSOR_ELEMENT_DATA_TYPE_INT16) { + return INT16; + } else if(dataType == ONNX_TENSOR_ELEMENT_DATA_TYPE_INT32) { + return INT32; + } else if(dataType == ONNX_TENSOR_ELEMENT_DATA_TYPE_INT64) { + return INT64; + } else if(dataType == ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT16) { + return FLOAT16; + } else if(dataType == ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT32) { + return UINT32; + } else if(dataType == ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT64) { + return UINT64; + } else if(dataType == ONNX_TENSOR_ELEMENT_DATA_TYPE_BFLOAT16) { + return BFLOAT16; + } + else + throw new IllegalArgumentException("Illegal data type " + dataType); + } + + /** + * Convert the onnx type for the given data type + * @param dataType + * @return + */ + public static int onnxTypeForDataType(DataType dataType) { + if(dataType == FLOAT) { + return ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT; + } else if(dataType == INT8) { + return ONNX_TENSOR_ELEMENT_DATA_TYPE_INT8; + } else if(dataType == DOUBLE) { + return ONNX_TENSOR_ELEMENT_DATA_TYPE_DOUBLE; + } else if(dataType == BOOL) { + return ONNX_TENSOR_ELEMENT_DATA_TYPE_BOOL; + } else if(dataType == UINT8) { + return ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT8; + } else if(dataType == UINT16) { + return ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT16; + } else if(dataType == INT16) { + return ONNX_TENSOR_ELEMENT_DATA_TYPE_INT16; + } else if(dataType == INT32) { + return ONNX_TENSOR_ELEMENT_DATA_TYPE_INT32; + } else if(dataType == INT64) { + return ONNX_TENSOR_ELEMENT_DATA_TYPE_INT64; + } else if(dataType == FLOAT16) { + return ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT16; + } else if(dataType == UINT32) { + return ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT32; + } else if(dataType == UINT64) { + return ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT64; + } else if(dataType == BFLOAT16) { + return ONNX_TENSOR_ELEMENT_DATA_TYPE_BFLOAT16; + } + else + throw new IllegalArgumentException("Illegal data type " + dataType); + } + + + /** + * Convert an onnx {@link Value} + * in to an {@link INDArray} + * @param value the value to convert + * @return + */ + public static INDArray getArray(Value value) { + DataType dataType = dataTypeForOnnxType(value.GetTypeInfo().GetONNXType()); + LongPointer shape = value.GetTensorTypeAndShapeInfo().GetShape(); + long[] shapeConvert; + if(shape != null) { + shapeConvert = new long[(int) value.GetTensorTypeAndShapeInfo().GetDimensionsCount()]; + shape.get(shapeConvert); + } else { + shapeConvert = new long[]{1}; + } + + DataBuffer getBuffer = getDataBuffer(value); + Preconditions.checkState(dataType.equals(getBuffer.dataType()),"Data type must be equivalent as specified by the onnx metadata."); + return Nd4j.create(getBuffer,shapeConvert,Nd4j.getStrides(shapeConvert),0); + } + + + /** + * Get the onnx log level relative to the given slf4j logger. + * Trace or debug will return ORT_LOGGING_LEVEL_VERBOSE + * Info will return: ORT_LOGGING_LEVEL_INFO + * Warn returns ORT_LOGGING_LEVEL_WARNING + * Error returns error ORT_LOGGING_LEVEL_ERROR + * + * The default is info + * @param logger the slf4j logger to get the onnx log level for + * @return + */ + public static int getOnnxLogLevelFromLogger(Logger logger) { + if(logger.isTraceEnabled() || logger.isDebugEnabled()) { + return ORT_LOGGING_LEVEL_VERBOSE; + } + else if(logger.isInfoEnabled()) { + return ORT_LOGGING_LEVEL_INFO; + } + else if(logger.isWarnEnabled()) { + return ORT_LOGGING_LEVEL_WARNING; + } + else if(logger.isErrorEnabled()) { + return ORT_LOGGING_LEVEL_ERROR; + } + + return ORT_LOGGING_LEVEL_INFO; + + } + + /** + * Get an onnx tensor from an ndarray. + * @param ndArray the ndarray to get the value from + * @param memoryInfo the {@link MemoryInfo} to use. + * Can be created with: + * MemoryInfo memoryInfo = MemoryInfo.CreateCpu(OrtArenaAllocator, OrtMemTypeDefault); + * @return + */ + public static Value getTensor(INDArray ndArray, MemoryInfo memoryInfo) { + Pointer inputTensorValuesPtr = ndArray.data().pointer(); + Pointer inputTensorValues = inputTensorValuesPtr; + long sizeInBytes = ndArray.length() * ndArray.data().getElementSize(); + + // public static native Value CreateTensor(@Const OrtMemoryInfo var0, Pointer var1, @Cast({"size_t"}) long var2, @Cast({"const int64_t*"}) LongPointer var4, @Cast({"size_t"}) long var5, @Cast({"ONNXTensorElementDataType"}) int var7); + /** + * static Value CreateTensor(const OrtMemoryInfo* info, void* p_data, size_t p_data_byte_count, const int64_t* shape, size_t shape_len, + * ONNXTensorElementDataType type) + */ + LongPointer dims = new LongPointer(ndArray.shape()); + Value ret = Value.CreateTensor( + memoryInfo.asOrtMemoryInfo(), + inputTensorValues, + sizeInBytes, + dims, + ndArray.rank(), + onnxTypeForDataType(ndArray.dataType())); + return ret; + } + + /** + * Get the data buffer from the given value + * @param tens the values to get + * @return the equivalent data buffer + */ + public static DataBuffer getDataBuffer(Value tens) { + try (PointerScope scope = new PointerScope()) { + DataBuffer buffer = null; + int type = tens.GetTensorTypeAndShapeInfo().GetElementType(); + long size = tens.GetTensorTypeAndShapeInfo().GetElementCount(); + switch (type) { + case ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT: + FloatPointer pFloat = tens.GetTensorMutableDataFloat().capacity(size); + FloatIndexer floatIndexer = FloatIndexer.create(pFloat); + buffer = Nd4j.createBuffer(pFloat, DataType.FLOAT, size, floatIndexer); + break; + case ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT8: + BytePointer pUint8 = tens.GetTensorMutableDataUByte().capacity(size); + Indexer uint8Indexer = ByteIndexer.create(pUint8); + buffer = Nd4j.createBuffer(pUint8, DataType.UINT8, size, uint8Indexer); + break; + case ONNX_TENSOR_ELEMENT_DATA_TYPE_INT8: + BytePointer pInt8 = tens.GetTensorMutableDataByte().capacity(size); + Indexer int8Indexer = ByteIndexer.create(pInt8); + buffer = Nd4j.createBuffer(pInt8, DataType.UINT8, size, int8Indexer); + break; + case ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT16: + ShortPointer pUint16 = tens.GetTensorMutableDataUShort().capacity(size); + Indexer uint16Indexer = ShortIndexer.create(pUint16); + buffer = Nd4j.createBuffer(pUint16, DataType.UINT16, size, uint16Indexer); + break; + case ONNX_TENSOR_ELEMENT_DATA_TYPE_INT16: + ShortPointer pInt16 = tens.GetTensorMutableDataShort().capacity(size); + Indexer int16Indexer = ShortIndexer.create(pInt16); + buffer = Nd4j.createBuffer(pInt16, INT16, size, int16Indexer); + break; + case ONNX_TENSOR_ELEMENT_DATA_TYPE_INT32: + IntPointer pInt32 = tens.GetTensorMutableDataInt().capacity(size); + Indexer int32Indexer = IntIndexer.create(pInt32); + buffer = Nd4j.createBuffer(pInt32, DataType.INT32, size, int32Indexer); + break; + case ONNX_TENSOR_ELEMENT_DATA_TYPE_INT64: + LongPointer pInt64 = tens.GetTensorMutableDataLong().capacity(size); + Indexer int64Indexer = LongIndexer.create(pInt64); + buffer = Nd4j.createBuffer(pInt64, DataType.INT64, size, int64Indexer); + break; + case ONNX_TENSOR_ELEMENT_DATA_TYPE_STRING: + BytePointer pString = tens.GetTensorMutableDataByte().capacity(size); + Indexer stringIndexer = ByteIndexer.create(pString); + buffer = Nd4j.createBuffer(pString, DataType.INT8, size, stringIndexer); + break; + case ONNX_TENSOR_ELEMENT_DATA_TYPE_BOOL: + BoolPointer pBool = tens.GetTensorMutableDataBool().capacity(size); + Indexer boolIndexer = BooleanIndexer.create(new BooleanPointer(pBool)); //Converting from JavaCPP Bool to Boolean here - C++ bool type size is not defined, could cause problems on some platforms + buffer = Nd4j.createBuffer(pBool, DataType.BOOL, size, boolIndexer); + break; + case ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT16: + ShortPointer pFloat16 = tens.GetTensorMutableDataShort().capacity(size); + Indexer float16Indexer = ShortIndexer.create(pFloat16); + buffer = Nd4j.createBuffer(pFloat16, DataType.FLOAT16, size, float16Indexer); + break; + case ONNX_TENSOR_ELEMENT_DATA_TYPE_DOUBLE: + DoublePointer pDouble = tens.GetTensorMutableDataDouble().capacity(size); + Indexer doubleIndexer = DoubleIndexer.create(pDouble); + buffer = Nd4j.createBuffer(pDouble, DataType.DOUBLE, size, doubleIndexer); + break; + case ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT32: + IntPointer pUint32 = tens.GetTensorMutableDataUInt().capacity(size); + Indexer uint32Indexer = IntIndexer.create(pUint32); + buffer = Nd4j.createBuffer(pUint32, DataType.UINT32, size, uint32Indexer); + break; + case ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT64: + LongPointer pUint64 = tens.GetTensorMutableDataULong().capacity(size); + Indexer uint64Indexer = LongIndexer.create(pUint64); + buffer = Nd4j.createBuffer(pUint64, DataType.UINT64, size, uint64Indexer); + break; + case ONNX_TENSOR_ELEMENT_DATA_TYPE_BFLOAT16: + ShortPointer pBfloat16 = tens.GetTensorMutableDataShort().capacity(size); + Indexer bfloat16Indexer = ShortIndexer.create(pBfloat16); + buffer = Nd4j.createBuffer(pBfloat16, DataType.BFLOAT16, size, bfloat16Indexer); + break; + default: + throw new RuntimeException("Unsupported data type encountered"); + } + return buffer; + } + } + +} diff --git a/nd4j/nd4j-onnxruntime/src/test/java/org/nd4j/onnxruntime/runner/OnnxRuntimeRunnerTests.java b/nd4j/nd4j-onnxruntime/src/test/java/org/nd4j/onnxruntime/runner/OnnxRuntimeRunnerTests.java new file mode 100644 index 000000000..a4536a89c --- /dev/null +++ b/nd4j/nd4j-onnxruntime/src/test/java/org/nd4j/onnxruntime/runner/OnnxRuntimeRunnerTests.java @@ -0,0 +1,53 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.onnxruntime.runner; + +import org.junit.Test; +import org.nd4j.common.io.ClassPathResource; +import org.nd4j.linalg.api.ndarray.INDArray; +import org.nd4j.linalg.factory.Nd4j; + +import java.io.File; +import java.util.Arrays; +import java.util.LinkedHashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; + +public class OnnxRuntimeRunnerTests { + + + + @Test + public void testAdd() throws Exception { + ClassPathResource classPathResource = new ClassPathResource("add.onnx"); + File f = classPathResource.getFile(); + INDArray x = Nd4j.scalar(1.0f).reshape(1,1); + INDArray y = Nd4j.scalar(1.0f).reshape(1,1); + OnnxRuntimeRunner onnxRuntimeRunner = OnnxRuntimeRunner.builder() + .modelUri(f.getAbsolutePath()) + .build(); + Map inputs = new LinkedHashMap<>(); + inputs.put("x",x); + inputs.put("y",y); + Map exec = onnxRuntimeRunner.exec(inputs); + INDArray z = exec.get("z"); + assertEquals(2.0,z.sumNumber().doubleValue(),1e-1); + } + +} diff --git a/nd4j/nd4j-onnxruntime/src/test/resources/add.onnx b/nd4j/nd4j-onnxruntime/src/test/resources/add.onnx new file mode 100644 index 000000000..c88dd8c32 --- /dev/null +++ b/nd4j/nd4j-onnxruntime/src/test/resources/add.onnx @@ -0,0 +1,16 @@ +:T + +x +yz"AddaddZ +x +  + +Z +y +  + +b +z +  + +B \ No newline at end of file diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/pom.xml b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/pom.xml index 8938e6a4d..2db14fbbe 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/pom.xml +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/pom.xml @@ -1,19 +1,21 @@ - + com.mashape.unirest unirest-java - ${unirest.version} org.nd4j nd4j-parameter-server-model - ${project.version} junit @@ -49,7 +49,6 @@ org.nd4j nd4j-aeron - ${project.version} org.zeroturnaround @@ -65,7 +64,6 @@ ch.qos.logback logback-classic - ${logback.version} test diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/main/java/org/nd4j/parameterserver/client/ParameterServerClient.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/main/java/org/nd4j/parameterserver/client/ParameterServerClient.java index d962bbfcf..b4720e6d8 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/main/java/org/nd4j/parameterserver/client/ParameterServerClient.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/main/java/org/nd4j/parameterserver/client/ParameterServerClient.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.client; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/java/org/nd4j/parameterserver/background/BackgroundDaemonStarter.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/java/org/nd4j/parameterserver/background/BackgroundDaemonStarter.java index 6fd33fe75..3df4e025f 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/java/org/nd4j/parameterserver/background/BackgroundDaemonStarter.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/java/org/nd4j/parameterserver/background/BackgroundDaemonStarter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.background; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/java/org/nd4j/parameterserver/background/RemoteParameterServerClientTests.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/java/org/nd4j/parameterserver/background/RemoteParameterServerClientTests.java index 906629425..6e42baa89 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/java/org/nd4j/parameterserver/background/RemoteParameterServerClientTests.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/java/org/nd4j/parameterserver/background/RemoteParameterServerClientTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.background; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/java/org/nd4j/parameterserver/client/ParameterServerClientPartialTest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/java/org/nd4j/parameterserver/client/ParameterServerClientPartialTest.java index 32fef5c46..84171d0fd 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/java/org/nd4j/parameterserver/client/ParameterServerClientPartialTest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/java/org/nd4j/parameterserver/client/ParameterServerClientPartialTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.client; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/java/org/nd4j/parameterserver/client/ParameterServerClientTest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/java/org/nd4j/parameterserver/client/ParameterServerClientTest.java index 4425265bb..ed97f3454 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/java/org/nd4j/parameterserver/client/ParameterServerClientTest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/java/org/nd4j/parameterserver/client/ParameterServerClientTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.client; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/resources/aeron.properties b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/resources/aeron.properties index dc91547b2..50ee74c92 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/resources/aeron.properties +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/resources/aeron.properties @@ -1,18 +1,20 @@ -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ aeron.mtu.length=16384, aeron.socket.so_sndbuf=2097152, diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/resources/log4j.properties b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/resources/log4j.properties index 9e1c7cee0..15e48c277 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/resources/log4j.properties +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/resources/log4j.properties @@ -1,18 +1,20 @@ -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ log4j.rootLogger=ERROR, Console diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/resources/logback.xml b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/resources/logback.xml index ca35ddc13..bacf4fcac 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/resources/logback.xml +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-client/src/test/resources/logback.xml @@ -1,18 +1,20 @@ - + diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-model/pom.xml b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-model/pom.xml index 07d99e966..aac5f76b0 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-model/pom.xml +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-model/pom.xml @@ -1,19 +1,21 @@ - + - + ch.qos.logback logback-classic - ${logback.version} test io.reactivex.rxjava2 rxjava - 2.2.0 + ${rxjava.version} org.nd4j diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/VoidParameterServer.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/VoidParameterServer.java index a295ff8b8..ccafa423c 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/VoidParameterServer.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/VoidParameterServer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/conf/VoidConfiguration.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/conf/VoidConfiguration.java index 535c67b53..a19839119 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/conf/VoidConfiguration.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/conf/VoidConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.conf; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/enums/ExecutionMode.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/enums/ExecutionMode.java index 0fad014d7..c3da169a8 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/enums/ExecutionMode.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/enums/ExecutionMode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.enums; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/enums/FaultToleranceStrategy.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/enums/FaultToleranceStrategy.java index 1450b119f..7b7f5b945 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/enums/FaultToleranceStrategy.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/enums/FaultToleranceStrategy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.enums; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/enums/NodeRole.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/enums/NodeRole.java index c4add3d74..94988bb09 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/enums/NodeRole.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/enums/NodeRole.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.enums; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/enums/NodeStatus.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/enums/NodeStatus.java index 24141f172..71ef8e01f 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/enums/NodeStatus.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/enums/NodeStatus.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.enums; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/enums/TransportType.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/enums/TransportType.java index 88e46a9bf..4ecfa5ec1 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/enums/TransportType.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/enums/TransportType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.enums; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/ClientRouter.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/ClientRouter.java index 9b7595878..5a7d01728 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/ClientRouter.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/ClientRouter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.logic; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/RetransmissionHandler.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/RetransmissionHandler.java index 14fc07923..f3b036d5a 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/RetransmissionHandler.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/RetransmissionHandler.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.logic; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/SequenceProvider.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/SequenceProvider.java index bb56711ac..8d8722fef 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/SequenceProvider.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/SequenceProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.logic; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/Storage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/Storage.java index 04e9064d4..f1a51adc3 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/Storage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/Storage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.logic; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/completion/Clipboard.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/completion/Clipboard.java index 31c8a2f36..2bb348dff 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/completion/Clipboard.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/completion/Clipboard.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.logic.completion; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/completion/FrameCompletionHandler.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/completion/FrameCompletionHandler.java index 22619f726..a1a7d76ac 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/completion/FrameCompletionHandler.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/completion/FrameCompletionHandler.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.logic.completion; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/completion/RequestDescriptor.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/completion/RequestDescriptor.java index adcc8220d..819d7bcf9 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/completion/RequestDescriptor.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/completion/RequestDescriptor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.logic.completion; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/retransmission/DefaultRetransmissionHandler.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/retransmission/DefaultRetransmissionHandler.java index 051fc296d..2232b0605 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/retransmission/DefaultRetransmissionHandler.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/retransmission/DefaultRetransmissionHandler.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.logic.retransmission; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/routing/BaseRouter.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/routing/BaseRouter.java index a6139a8dd..a68767212 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/routing/BaseRouter.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/routing/BaseRouter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.logic.routing; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/routing/InterleavedRouter.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/routing/InterleavedRouter.java index 22c6a0e3d..8e0da92c5 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/routing/InterleavedRouter.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/routing/InterleavedRouter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.logic.routing; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/routing/RandomRouter.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/routing/RandomRouter.java index 45d1c7a0e..865e63501 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/routing/RandomRouter.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/routing/RandomRouter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.logic.routing; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/routing/StaticRouter.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/routing/StaticRouter.java index 89e6ab7b7..ce95f6dc9 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/routing/StaticRouter.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/routing/StaticRouter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.logic.routing; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/sequence/BasicSequenceProvider.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/sequence/BasicSequenceProvider.java index 2a0a50587..e67726d2e 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/sequence/BasicSequenceProvider.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/sequence/BasicSequenceProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.logic.sequence; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/storage/BaseStorage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/storage/BaseStorage.java index 78fb26411..a170ca0e8 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/storage/BaseStorage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/storage/BaseStorage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.logic.storage; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/storage/WordVectorStorage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/storage/WordVectorStorage.java index be121690f..42b497059 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/storage/WordVectorStorage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/logic/storage/WordVectorStorage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.logic.storage; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/BaseVoidMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/BaseVoidMessage.java index d1276fe8a..c52615f72 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/BaseVoidMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/BaseVoidMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/Chain.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/Chain.java index d3a9f7ce4..19b3ba954 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/Chain.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/Chain.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/DistributedMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/DistributedMessage.java index ced4ec489..b545e144e 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/DistributedMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/DistributedMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/Frame.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/Frame.java index e78e0143f..0f9c69333 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/Frame.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/Frame.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/MeaningfulMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/MeaningfulMessage.java index 0fd5c38e7..8669378fd 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/MeaningfulMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/MeaningfulMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/RequestMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/RequestMessage.java index d853c9ac9..c6094e8b2 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/RequestMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/RequestMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/TrainingMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/TrainingMessage.java index c17c5bf4e..bbc04834a 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/TrainingMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/TrainingMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/VoidAggregation.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/VoidAggregation.java index 06fe5d714..79c811a9d 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/VoidAggregation.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/VoidAggregation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/VoidMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/VoidMessage.java index 2d2e3a509..f4c1d73bd 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/VoidMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/VoidMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/aggregations/BaseAggregation.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/aggregations/BaseAggregation.java index ff29dda01..ad1be23bb 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/aggregations/BaseAggregation.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/aggregations/BaseAggregation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.aggregations; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/aggregations/DotAggregation.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/aggregations/DotAggregation.java index 487f92b44..2ac0ccb4f 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/aggregations/DotAggregation.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/aggregations/DotAggregation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.aggregations; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/aggregations/InitializationAggregation.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/aggregations/InitializationAggregation.java index 8c9f402f9..960188a90 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/aggregations/InitializationAggregation.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/aggregations/InitializationAggregation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.aggregations; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/aggregations/VectorAggregation.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/aggregations/VectorAggregation.java index d696d63da..ef0834619 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/aggregations/VectorAggregation.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/aggregations/VectorAggregation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.aggregations; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/complete/BaseCompleteMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/complete/BaseCompleteMessage.java index 216f37647..c650522df 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/complete/BaseCompleteMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/complete/BaseCompleteMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.complete; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/complete/FrameCompleteMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/complete/FrameCompleteMessage.java index 30192ff48..8f362faa0 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/complete/FrameCompleteMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/complete/FrameCompleteMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.complete; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/complete/InitializationCompleteMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/complete/InitializationCompleteMessage.java index e95807fe8..d2c58ac8f 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/complete/InitializationCompleteMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/complete/InitializationCompleteMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.complete; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/complete/IntroductionCompleteMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/complete/IntroductionCompleteMessage.java index f7f0e35d8..0b35ad938 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/complete/IntroductionCompleteMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/complete/IntroductionCompleteMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.complete; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/complete/VectorCompleteMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/complete/VectorCompleteMessage.java index fab2803cd..ffb694fa7 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/complete/VectorCompleteMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/complete/VectorCompleteMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.complete; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedAssignMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedAssignMessage.java index 1a4942f18..5bd9acd61 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedAssignMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedAssignMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.intercom; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedCbowDotMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedCbowDotMessage.java index b777fe2d7..3f8393bcc 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedCbowDotMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedCbowDotMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.intercom; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedInitializationMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedInitializationMessage.java index 198f72276..be0c11363 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedInitializationMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedInitializationMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.intercom; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedIntroductionMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedIntroductionMessage.java index 3be94f7af..a92cb4c08 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedIntroductionMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedIntroductionMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.intercom; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedSgDotMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedSgDotMessage.java index 758ae897e..c0fa24d8b 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedSgDotMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedSgDotMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.intercom; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedShutdownMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedShutdownMessage.java index 8460ac0e9..2f226658b 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedShutdownMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedShutdownMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.intercom; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedSkipGramMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedSkipGramMessage.java index 2bd98f089..533c8b262 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedSkipGramMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedSkipGramMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.intercom; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedSolidMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedSolidMessage.java index 95a3b34ff..c69081900 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedSolidMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedSolidMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.intercom; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedVectorMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedVectorMessage.java index de878b05d..8af86d26f 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedVectorMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/intercom/DistributedVectorMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.intercom; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/AssignRequestMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/AssignRequestMessage.java index 23cd9308d..e17f1f7c8 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/AssignRequestMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/AssignRequestMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.requests; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/CbowRequestMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/CbowRequestMessage.java index 4449a5704..b2986f3c6 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/CbowRequestMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/CbowRequestMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.requests; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/InitializationRequestMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/InitializationRequestMessage.java index bcb85a943..b1e5d1177 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/InitializationRequestMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/InitializationRequestMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.requests; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/IntroductionRequestMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/IntroductionRequestMessage.java index 9c3ebc0c2..543e32a55 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/IntroductionRequestMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/IntroductionRequestMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.requests; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/ShutdownRequestMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/ShutdownRequestMessage.java index c8280c869..405984c4d 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/ShutdownRequestMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/ShutdownRequestMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.requests; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/SkipGramRequestMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/SkipGramRequestMessage.java index fb688eee1..b10eb27d6 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/SkipGramRequestMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/SkipGramRequestMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.requests; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/VectorRequestMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/VectorRequestMessage.java index 0cf34e0e9..b59cd9272 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/VectorRequestMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/messages/requests/VectorRequestMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.requests; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/BaseTrainer.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/BaseTrainer.java index 985c03126..0b4532456 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/BaseTrainer.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/BaseTrainer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.training; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/TrainerProvider.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/TrainerProvider.java index 0e3b14619..2156febc8 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/TrainerProvider.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/TrainerProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.training; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/TrainingDriver.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/TrainingDriver.java index 59154bbb5..deea22277 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/TrainingDriver.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/TrainingDriver.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.training; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/chains/CbowChain.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/chains/CbowChain.java index 17a0e2dcd..63e73ede8 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/chains/CbowChain.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/chains/CbowChain.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.training.chains; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/chains/SkipGramChain.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/chains/SkipGramChain.java index 9fa2dbfe8..aeb3c81e9 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/chains/SkipGramChain.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/chains/SkipGramChain.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.training.chains; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/impl/CbowTrainer.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/impl/CbowTrainer.java index a4d50ab9b..3fbe544c7 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/impl/CbowTrainer.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/impl/CbowTrainer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.training.impl; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/impl/SkipGramTrainer.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/impl/SkipGramTrainer.java index 28b57942e..5f777734c 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/impl/SkipGramTrainer.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/impl/SkipGramTrainer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.training.impl; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/transport/BaseTransport.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/transport/BaseTransport.java index dbd6545d6..1f003487c 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/transport/BaseTransport.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/transport/BaseTransport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.transport; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/transport/LocalTransport.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/transport/LocalTransport.java index 7832c57f5..f2d1456ab 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/transport/LocalTransport.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/transport/LocalTransport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.transport; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/transport/MulticastTransport.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/transport/MulticastTransport.java index d01726116..3c13bb8f8 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/transport/MulticastTransport.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/transport/MulticastTransport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.transport; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/transport/RoutedTransport.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/transport/RoutedTransport.java index 9f18c4281..f54cea914 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/transport/RoutedTransport.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/transport/RoutedTransport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.transport; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/transport/Transport.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/transport/Transport.java index 1641d0aff..ca6e3f892 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/transport/Transport.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/transport/Transport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.transport; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/util/NetworkInformation.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/util/NetworkInformation.java index 1b30ec208..1e2341a0d 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/util/NetworkInformation.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/util/NetworkInformation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.util; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/util/NetworkOrganizer.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/util/NetworkOrganizer.java index 04546d511..665d64dae 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/util/NetworkOrganizer.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/util/NetworkOrganizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.util; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/ModelParameterServer.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/ModelParameterServer.java index f011c0d7b..1aa18c561 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/ModelParameterServer.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/ModelParameterServer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/chunks/ChunksTracker.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/chunks/ChunksTracker.java index 95bec1e65..2f71f41af 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/chunks/ChunksTracker.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/chunks/ChunksTracker.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.chunks; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/chunks/VoidChunk.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/chunks/VoidChunk.java index f10034b57..3f8eaa8c3 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/chunks/VoidChunk.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/chunks/VoidChunk.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.chunks; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/chunks/impl/FileChunksTracker.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/chunks/impl/FileChunksTracker.java index ad4d2f57b..c2baf18ea 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/chunks/impl/FileChunksTracker.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/chunks/impl/FileChunksTracker.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.chunks.impl; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/chunks/impl/InmemoryChunksTracker.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/chunks/impl/InmemoryChunksTracker.java index da41f9d77..30dee1f49 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/chunks/impl/InmemoryChunksTracker.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/chunks/impl/InmemoryChunksTracker.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.chunks.impl; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/enums/MeshBuildMode.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/enums/MeshBuildMode.java index dc7d8d7c0..180e9986b 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/enums/MeshBuildMode.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/enums/MeshBuildMode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.enums; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/enums/PropagationMode.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/enums/PropagationMode.java index a72a96798..1d9f8bfad 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/enums/PropagationMode.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/enums/PropagationMode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.enums; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/enums/TransmissionStatus.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/enums/TransmissionStatus.java index 642ec254f..b2a1739c5 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/enums/TransmissionStatus.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/enums/TransmissionStatus.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.enums; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/BroadcastableMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/BroadcastableMessage.java index 35ed80255..172a0fb3c 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/BroadcastableMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/BroadcastableMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.messages; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/INDArrayMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/INDArrayMessage.java index 755db4ba5..ac69db647 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/INDArrayMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/INDArrayMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.messages; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/MessagesHistoryHolder.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/MessagesHistoryHolder.java index f1fb23f85..2733d2b15 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/MessagesHistoryHolder.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/MessagesHistoryHolder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.messages; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/RequestMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/RequestMessage.java index 575ea1610..8d0c9ca26 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/RequestMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/RequestMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.messages; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/ResponseMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/ResponseMessage.java index e62bf91b7..d4292fac0 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/ResponseMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/ResponseMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.messages; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/VoidMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/VoidMessage.java index f030269f9..fa528e99f 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/VoidMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/VoidMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.messages; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/history/HashHistoryHolder.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/history/HashHistoryHolder.java index 31f13ace3..d45f8e87f 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/history/HashHistoryHolder.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/history/HashHistoryHolder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.messages.history; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/impl/GradientsUpdateMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/impl/GradientsUpdateMessage.java index bdbd69fc5..ec7a0f991 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/impl/GradientsUpdateMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/impl/GradientsUpdateMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.messages.impl; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/impl/MeshUpdateMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/impl/MeshUpdateMessage.java index 71cdce662..d41e7f1bd 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/impl/MeshUpdateMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/impl/MeshUpdateMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.messages.impl; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/impl/base/BaseINDArrayMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/impl/base/BaseINDArrayMessage.java index 4cf275a0f..e4a7dbdc0 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/impl/base/BaseINDArrayMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/impl/base/BaseINDArrayMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.messages.impl.base; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/impl/base/BaseRequestMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/impl/base/BaseRequestMessage.java index 2ea55403f..9d2dda22d 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/impl/base/BaseRequestMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/impl/base/BaseRequestMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.messages.impl.base; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/impl/base/BaseResponseMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/impl/base/BaseResponseMessage.java index 611f2d3d7..635f539f7 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/impl/base/BaseResponseMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/impl/base/BaseResponseMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.messages.impl.base; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/impl/base/BaseVoidMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/impl/base/BaseVoidMessage.java index e5b380b2c..6172e44ac 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/impl/base/BaseVoidMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/impl/base/BaseVoidMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.messages.impl.base; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/handshake/HandshakeRequest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/handshake/HandshakeRequest.java index 18b4f26ce..36e874bf4 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/handshake/HandshakeRequest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/handshake/HandshakeRequest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.messages.pairs.handshake; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/handshake/HandshakeResponse.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/handshake/HandshakeResponse.java index 87ea2737c..a4093a243 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/handshake/HandshakeResponse.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/handshake/HandshakeResponse.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.messages.pairs.handshake; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/params/ModelParametersMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/params/ModelParametersMessage.java index 02105ee6c..08992b4f7 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/params/ModelParametersMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/params/ModelParametersMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.messages.pairs.params; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/params/ModelParametersRequest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/params/ModelParametersRequest.java index f2b06ce23..31d59b91f 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/params/ModelParametersRequest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/params/ModelParametersRequest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.messages.pairs.params; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/params/UpdaterParametersMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/params/UpdaterParametersMessage.java index 57eb8d73d..d005bdfc9 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/params/UpdaterParametersMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/params/UpdaterParametersMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.messages.pairs.params; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/params/UpdaterParametersRequest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/params/UpdaterParametersRequest.java index 76c0ff312..0ac190f79 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/params/UpdaterParametersRequest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/params/UpdaterParametersRequest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.messages.pairs.params; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/ping/PingMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/ping/PingMessage.java index b60b7b5a3..e2e269797 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/ping/PingMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/ping/PingMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.messages.pairs.ping; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/ping/PongMessage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/ping/PongMessage.java index a269f81ff..fa14537dd 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/ping/PongMessage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/messages/pairs/ping/PongMessage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.messages.pairs.ping; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/MessageCallable.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/MessageCallable.java index a9a2b792c..f0e81458e 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/MessageCallable.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/MessageCallable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.transport; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/PortSupplier.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/PortSupplier.java index 207294fa4..d7828554b 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/PortSupplier.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/PortSupplier.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.transport; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/RestartCallback.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/RestartCallback.java index db0834251..1fb6caf0f 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/RestartCallback.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/RestartCallback.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.transport; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/Transport.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/Transport.java index d704030a5..1e40582f0 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/Transport.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/Transport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.transport; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/UpdaterParametersProvider.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/UpdaterParametersProvider.java index f3652bae4..045679d4e 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/UpdaterParametersProvider.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/UpdaterParametersProvider.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.transport; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/UpdatesHandler.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/UpdatesHandler.java index da302f95b..96d7d00aa 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/UpdatesHandler.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/UpdatesHandler.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.transport; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/impl/AeronUdpTransport.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/impl/AeronUdpTransport.java index ed993af6e..7c0a95284 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/impl/AeronUdpTransport.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/impl/AeronUdpTransport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.transport.impl; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/impl/BaseTransport.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/impl/BaseTransport.java index 1a4c239e0..3aa28f4a0 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/impl/BaseTransport.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/impl/BaseTransport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.transport.impl; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/impl/DelayedDummyTransport.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/impl/DelayedDummyTransport.java index 5156a5d44..380408fad 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/impl/DelayedDummyTransport.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/impl/DelayedDummyTransport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.transport.impl; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/impl/DummyTransport.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/impl/DummyTransport.java index aac3dd3fb..d53f792ce 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/impl/DummyTransport.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/impl/DummyTransport.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.transport.impl; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/impl/EnvironmentVarPortSupplier.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/impl/EnvironmentVarPortSupplier.java index 4f56310e6..93c2bdbb4 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/impl/EnvironmentVarPortSupplier.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/impl/EnvironmentVarPortSupplier.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.transport.impl; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/impl/StaticPortSupplier.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/impl/StaticPortSupplier.java index 53465dc91..6018958fb 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/impl/StaticPortSupplier.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/transport/impl/StaticPortSupplier.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.transport.impl; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/util/AbstractSubscriber.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/util/AbstractSubscriber.java index 2f5a4a2d1..ef2b7a5d1 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/util/AbstractSubscriber.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/util/AbstractSubscriber.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.util; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/util/AbstractUpdatesHandler.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/util/AbstractUpdatesHandler.java index 36bdf0024..76cb07d23 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/util/AbstractUpdatesHandler.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/util/AbstractUpdatesHandler.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.util; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/util/MeshOrganizer.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/util/MeshOrganizer.java index 79326b51d..326442547 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/util/MeshOrganizer.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/util/MeshOrganizer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.util; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/util/MessageSplitter.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/util/MessageSplitter.java index fb8fe3754..7661b950a 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/util/MessageSplitter.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/util/MessageSplitter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.util; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/util/UpdaterParametersHolder.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/util/UpdaterParametersHolder.java index 2c88de57c..a0521c977 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/util/UpdaterParametersHolder.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/v2/util/UpdaterParametersHolder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.util; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/node/ParameterServerNode.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/node/ParameterServerNode.java index f65559b66..945df9a71 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/node/ParameterServerNode.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/node/ParameterServerNode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.node; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/resources/META-INF/services/org.nd4j.parameterserver.distributed.training.TrainingDriver b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/resources/META-INF/services/org.nd4j.parameterserver.distributed.training.TrainingDriver index ebaffb9a8..4c261a61e 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/resources/META-INF/services/org.nd4j.parameterserver.distributed.training.TrainingDriver +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/resources/META-INF/services/org.nd4j.parameterserver.distributed.training.TrainingDriver @@ -1,3 +1,39 @@ +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +# +# /* ****************************************************************************** +# * Copyright (c) 2021 Deeplearning4j Contributors +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + ################################################################################ # Copyright (c) 2015-2018 Skymind, Inc. # diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/resources/aeron.properties b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/resources/aeron.properties index f140d0536..d0b812b23 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/resources/aeron.properties +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/resources/aeron.properties @@ -1,18 +1,20 @@ -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ aeron.mtu.length=8192 aeron.client.liveness.timeout=30000000000 diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/VoidParameterServerStressTest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/VoidParameterServerStressTest.java index bfd603636..414e5cc01 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/VoidParameterServerStressTest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/VoidParameterServerStressTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/VoidParameterServerTest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/VoidParameterServerTest.java index c0d1c563a..d7abdf291 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/VoidParameterServerTest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/VoidParameterServerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/conf/VoidConfigurationTest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/conf/VoidConfigurationTest.java index 3156d5da7..1ebc865fc 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/conf/VoidConfigurationTest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/conf/VoidConfigurationTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.conf; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/logic/ClipboardTest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/logic/ClipboardTest.java index 586aed753..819d16ee5 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/logic/ClipboardTest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/logic/ClipboardTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.logic; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/logic/FrameCompletionHandlerTest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/logic/FrameCompletionHandlerTest.java index 198672ada..5e35f90f1 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/logic/FrameCompletionHandlerTest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/logic/FrameCompletionHandlerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.logic; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/logic/routing/InterleavedRouterTest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/logic/routing/InterleavedRouterTest.java index cf52d165e..7611e47af 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/logic/routing/InterleavedRouterTest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/logic/routing/InterleavedRouterTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.logic.routing; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/messages/FrameTest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/messages/FrameTest.java index 57031559f..8d5a2b86f 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/messages/FrameTest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/messages/FrameTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/messages/VoidMessageTest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/messages/VoidMessageTest.java index 94f1a6e44..a45100ba0 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/messages/VoidMessageTest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/messages/VoidMessageTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/messages/aggregations/VoidAggregationTest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/messages/aggregations/VoidAggregationTest.java index c8484a0da..cdc86c8fc 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/messages/aggregations/VoidAggregationTest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/messages/aggregations/VoidAggregationTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.messages.aggregations; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/transport/RoutedTransportTest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/transport/RoutedTransportTest.java index cd7cb919a..b64376508 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/transport/RoutedTransportTest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/transport/RoutedTransportTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.transport; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/util/NetworkOrganizerTest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/util/NetworkOrganizerTest.java index d21564bef..1d6887283 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/util/NetworkOrganizerTest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/util/NetworkOrganizerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.util; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/DelayedModelParameterServerTest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/DelayedModelParameterServerTest.java index 2f53e1eba..90ba6529f 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/DelayedModelParameterServerTest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/DelayedModelParameterServerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/ModelParameterServerTest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/ModelParameterServerTest.java index 420c50229..300489059 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/ModelParameterServerTest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/ModelParameterServerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/chunks/impl/FileChunksTrackerTest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/chunks/impl/FileChunksTrackerTest.java index 736719c1d..5785bf597 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/chunks/impl/FileChunksTrackerTest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/chunks/impl/FileChunksTrackerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.chunks.impl; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/chunks/impl/InmemoryChunksTrackerTest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/chunks/impl/InmemoryChunksTrackerTest.java index 28798cd36..1d234158d 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/chunks/impl/InmemoryChunksTrackerTest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/chunks/impl/InmemoryChunksTrackerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.chunks.impl; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/messages/VoidMessageTest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/messages/VoidMessageTest.java index 5719baabe..5ec6b7c28 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/messages/VoidMessageTest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/messages/VoidMessageTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.messages; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/messages/history/HashHistoryHolderTest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/messages/history/HashHistoryHolderTest.java index ee90e7b52..d899ed3a1 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/messages/history/HashHistoryHolderTest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/messages/history/HashHistoryHolderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.messages.history; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/transport/impl/AeronUdpTransportTest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/transport/impl/AeronUdpTransportTest.java index 8d417e8c3..5d9dfe652 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/transport/impl/AeronUdpTransportTest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/transport/impl/AeronUdpTransportTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.transport.impl; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/transport/impl/DummyTransportTest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/transport/impl/DummyTransportTest.java index bbd5f9074..2ac34af56 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/transport/impl/DummyTransportTest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/transport/impl/DummyTransportTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.transport.impl; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/util/MeshOrganizerTest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/util/MeshOrganizerTest.java index 0d92d30b5..1c56740dc 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/util/MeshOrganizerTest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/util/MeshOrganizerTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.util; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/util/MessageSplitterTest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/util/MessageSplitterTest.java index 3d38c8f46..de23028f4 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/util/MessageSplitterTest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/distributed/v2/util/MessageSplitterTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.distributed.v2.util; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/node/ParameterServerNodeTest.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/node/ParameterServerNodeTest.java index 089ecbdc7..a13c0dd13 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/node/ParameterServerNodeTest.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/java/org/nd4j/parameterserver/node/ParameterServerNodeTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.node; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/resources/aeron.properties b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/resources/aeron.properties index 1cf7b26dc..ac748b822 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/resources/aeron.properties +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/resources/aeron.properties @@ -1,18 +1,20 @@ -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ aeron.mtu.length=16384, aeron.socket.so_sndbuf=2097152, diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/resources/log4j.properties b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/resources/log4j.properties index f3d3a4afb..f82af9161 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/resources/log4j.properties +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/resources/log4j.properties @@ -1,18 +1,20 @@ -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ log4j.rootLogger=ERROR, Console diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/resources/logback.xml b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/resources/logback.xml index c483a01c6..95b88c1ba 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/resources/logback.xml +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/test/resources/logback.xml @@ -1,18 +1,20 @@ - + diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-rocksdb-storage/pom.xml b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-rocksdb-storage/pom.xml index 733d1ae1b..e95379e5d 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-rocksdb-storage/pom.xml +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server-rocksdb-storage/pom.xml @@ -1,19 +1,21 @@ - + - + + diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/pom.xml b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/pom.xml index ec93d0be7..49840b67b 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/pom.xml +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/pom.xml @@ -1,19 +1,21 @@ - + org.nd4j nd4j-parameter-server-model - ${project.version} org.nd4j nd4j-aeron - ${project.version} org.slf4j @@ -59,7 +59,6 @@ com.mashape.unirest unirest-java - ${unirest.version} org.nd4j diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/ParameterServerListener.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/ParameterServerListener.java index 2c8ded6fe..32a013596 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/ParameterServerListener.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/ParameterServerListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/ParameterServerSubscriber.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/ParameterServerSubscriber.java index 0ff344793..8e3de0def 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/ParameterServerSubscriber.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/ParameterServerSubscriber.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/PublishingListener.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/PublishingListener.java index 0a4a1b2d7..bb9c9040a 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/PublishingListener.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/PublishingListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/BaseParameterUpdater.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/BaseParameterUpdater.java index 0790a5182..7ae371b92 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/BaseParameterUpdater.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/BaseParameterUpdater.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.updater; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/ParameterServerUpdater.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/ParameterServerUpdater.java index 725b3e846..3a33696eb 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/ParameterServerUpdater.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/ParameterServerUpdater.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.updater; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/SoftSyncParameterUpdater.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/SoftSyncParameterUpdater.java index 17bff5e8f..69790804f 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/SoftSyncParameterUpdater.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/SoftSyncParameterUpdater.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.updater; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/SynchronousParameterUpdater.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/SynchronousParameterUpdater.java index 65f005e06..82e70258a 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/SynchronousParameterUpdater.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/SynchronousParameterUpdater.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.updater; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/TimeDelayedParameterUpdater.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/TimeDelayedParameterUpdater.java index 3659b2365..71f678fff 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/TimeDelayedParameterUpdater.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/TimeDelayedParameterUpdater.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.updater; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/storage/BaseUpdateStorage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/storage/BaseUpdateStorage.java index 5fa0caca5..2c19267f7 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/storage/BaseUpdateStorage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/storage/BaseUpdateStorage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.updater.storage; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/storage/InMemoryUpdateStorage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/storage/InMemoryUpdateStorage.java index 54cf113e2..e94f097da 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/storage/InMemoryUpdateStorage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/storage/InMemoryUpdateStorage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.updater.storage; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/storage/NoUpdateStorage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/storage/NoUpdateStorage.java index 1934f5684..05b0c59f3 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/storage/NoUpdateStorage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/storage/NoUpdateStorage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.updater.storage; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/storage/UpdateStorage.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/storage/UpdateStorage.java index 9c86111bb..fdfd71124 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/storage/UpdateStorage.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/updater/storage/UpdateStorage.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.updater.storage; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/util/CheckSocket.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/util/CheckSocket.java index de88ff27a..4998637c6 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/util/CheckSocket.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/main/java/org/nd4j/parameterserver/util/CheckSocket.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.util; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/test/java/org/nd4j/parameterserver/updater/ParameterServerUpdaterTests.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/test/java/org/nd4j/parameterserver/updater/ParameterServerUpdaterTests.java index 2049a3a2d..ff9504591 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/test/java/org/nd4j/parameterserver/updater/ParameterServerUpdaterTests.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/test/java/org/nd4j/parameterserver/updater/ParameterServerUpdaterTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.updater; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/test/java/org/nd4j/parameterserver/updater/storage/UpdaterStorageTests.java b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/test/java/org/nd4j/parameterserver/updater/storage/UpdaterStorageTests.java index f4678b2d7..8c3651ce4 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/test/java/org/nd4j/parameterserver/updater/storage/UpdaterStorageTests.java +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/test/java/org/nd4j/parameterserver/updater/storage/UpdaterStorageTests.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.parameterserver.updater.storage; diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/test/resources/log4j.properties b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/test/resources/log4j.properties index 6cc92e8cd..b39ea06e8 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/test/resources/log4j.properties +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/test/resources/log4j.properties @@ -1,18 +1,20 @@ -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ log4j.rootLogger=ERROR, Console diff --git a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/test/resources/logback.xml b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/test/resources/logback.xml index ca35ddc13..bacf4fcac 100644 --- a/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/test/resources/logback.xml +++ b/nd4j/nd4j-parameter-server-parent/nd4j-parameter-server/src/test/resources/logback.xml @@ -1,18 +1,20 @@ - + diff --git a/nd4j/nd4j-parameter-server-parent/pom.xml b/nd4j/nd4j-parameter-server-parent/pom.xml index 3a160d2e3..20af4d066 100644 --- a/nd4j/nd4j-parameter-server-parent/pom.xml +++ b/nd4j/nd4j-parameter-server-parent/pom.xml @@ -1,19 +1,21 @@ - + + + org.nd4j + nd4j-aeron + ${project.version} + org.nd4j nd4j-common-tests @@ -59,6 +66,16 @@ nd4j-parameter-server ${project.version} + + org.nd4j + nd4j-parameter-server-model + ${project.version} + + + com.mashape.unirest + unirest-java + ${unirest.version} + diff --git a/nd4j/nd4j-remote/nd4j-json-client/pom.xml b/nd4j/nd4j-remote/nd4j-json-client/pom.xml deleted file mode 100644 index 9e8b42dab..000000000 --- a/nd4j/nd4j-remote/nd4j-json-client/pom.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - 4.0.0 - jar - - - org.nd4j - nd4j-remote - 1.0.0-SNAPSHOT - - - nd4j-json-client - - nd4j-json-client - - - UTF-8 - 1.7 - 1.7 - - - - - junit - junit - test - - - - com.mashape.unirest - unirest-java - ${unirest.version} - - - - org.slf4j - slf4j-api - - - - org.nd4j - jackson - ${project.version} - - - - - - testresources - - - - nd4j-testresources - - - - nd4j-tests-cpu - - false - - - - org.nd4j - nd4j-native - ${project.version} - - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - src/test/java - - *.java - **/*.java - - -Ddtype=float -Xmx8g - - - - - - - - - nd4j-tests-cuda - - false - - - - org.nd4j - nd4j-cuda-11.0 - ${project.version} - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - true - - - - - - - diff --git a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/BinaryDeserializer.java b/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/BinaryDeserializer.java deleted file mode 100644 index 43e6bc0d5..000000000 --- a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/BinaryDeserializer.java +++ /dev/null @@ -1,32 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ -package org.nd4j.remote.clients.serde; - -/** - * This interface describes basic binary deserializer interface used for remote inference - * @param type of the deserializable class - * - * @author Alexander Stoyakin - */ -public interface BinaryDeserializer { - - /** - * This method deserializes binary data to arbitrary object. - * @param byte buffer - * @return deserialized object - */ - T deserialize(byte[] buffer); -} diff --git a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/BinarySerializer.java b/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/BinarySerializer.java deleted file mode 100644 index 95dd0c439..000000000 --- a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/BinarySerializer.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.nd4j.remote.clients.serde; - -/** - * This interface describes basic binary serializer interface used for remote inference - * @param type of the serializable class - * - * @author Alexander Stoyakin - */ -public interface BinarySerializer { - - /** - * This method serializes given object into byte buffer - * - * @param o object to be serialized - * @return - */ - byte[] serialize(T o); -} diff --git a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/JsonDeserializer.java b/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/JsonDeserializer.java deleted file mode 100644 index 77f8939b2..000000000 --- a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/JsonDeserializer.java +++ /dev/null @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.nd4j.remote.clients.serde; - -/** - * This interface describes basic JSON deserializer interface used for JsonRemoteInference - * @param type of the deserializable class - * - * @author raver119@gmail.com - */ -public interface JsonDeserializer { - - /** - * This method serializes given object into JSON-string - * @param json string containing JSON representation of the object - * @return - */ - T deserialize(String json); -} diff --git a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/JsonSerializer.java b/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/JsonSerializer.java deleted file mode 100644 index 4258b98cc..000000000 --- a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/JsonSerializer.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.nd4j.remote.clients.serde; - -/** - * This interface describes basic JSON serializer interface used for JsonRemoteInference - * @param type of the serializable class - * - * @author raver119@gmail.com - */ -public interface JsonSerializer { - - /** - * This method serializes given object into JSON-string - * - * @param o object to be serialized - * @return - */ - String serialize(T o); -} diff --git a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/BooleanSerde.java b/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/BooleanSerde.java deleted file mode 100644 index db92a4346..000000000 --- a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/BooleanSerde.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.nd4j.remote.clients.serde.impl; - -import lombok.NonNull; - -/** - * This class provides JSON ser/de for Java Boolean. Single value only. - */ -public class BooleanSerde extends AbstractSerDe { - @Override - public Boolean deserialize(@NonNull String json) { - return deserializeClass(json, Boolean.class); - } - - @Override - public String serialize(@NonNull Boolean o) { - return serializeClass(o); - } -} diff --git a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/DoubleArraySerde.java b/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/DoubleArraySerde.java deleted file mode 100644 index 3ada3fc08..000000000 --- a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/DoubleArraySerde.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.nd4j.remote.clients.serde.impl; - -import lombok.*; -/** - * This class provides JSON ser/de for Java double[] - */ -public class DoubleArraySerde extends AbstractSerDe { - - @Override - public String serialize(@NonNull double[] data) { - return serializeClass(data); - } - - @Override - public double[] deserialize(@NonNull String json) { - return deserializeClass(json, double[].class); - } -} diff --git a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/DoubleSerde.java b/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/DoubleSerde.java deleted file mode 100644 index d12a1dc66..000000000 --- a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/DoubleSerde.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.nd4j.remote.clients.serde.impl; - -import lombok.NonNull; - -/** - * This class provides JSON ser/de for Java Double. Single value only. - */ -public class DoubleSerde extends AbstractSerDe { - @Override - public Double deserialize(@NonNull String json) { - return deserializeClass(json, Double.class); - } - - @Override - public String serialize(@NonNull Double o) { - return serializeClass(o); - } -} diff --git a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/FloatArraySerde.java b/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/FloatArraySerde.java deleted file mode 100644 index 819c41c3a..000000000 --- a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/FloatArraySerde.java +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ -package org.nd4j.remote.clients.serde.impl; - - -import lombok.*; -import org.nd4j.shade.jackson.core.JsonProcessingException; -import org.nd4j.shade.jackson.databind.ObjectMapper; - - -/** - * This class provides JSON ser/de for Java float[] - */ -public class FloatArraySerde extends AbstractSerDe { - - @Override - public String serialize(@NonNull float[] data) { - return serializeClass(data); - } - - @Override - public float[] deserialize(@NonNull String json) { - return deserializeClass(json, float[].class); - } -} diff --git a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/FloatSerde.java b/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/FloatSerde.java deleted file mode 100644 index 14b822ba7..000000000 --- a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/FloatSerde.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.nd4j.remote.clients.serde.impl; - -import lombok.NonNull; - -/** - * This class provides JSON ser/de for Java Float. Single value only. - */ -public class FloatSerde extends AbstractSerDe { - @Override - public Float deserialize(@NonNull String json) { - return deserializeClass(json, Float.class); - } - - @Override - public String serialize(@NonNull Float o) { - return serializeClass(o); - } -} diff --git a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/IntegerSerde.java b/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/IntegerSerde.java deleted file mode 100644 index 0d8b40272..000000000 --- a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/IntegerSerde.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.nd4j.remote.clients.serde.impl; - -import lombok.NonNull; - -/** - * This class provides JSON ser/de for Java Integer. Single value only. - */ -public class IntegerSerde extends AbstractSerDe { - @Override - public Integer deserialize(@NonNull String json) { - return deserializeClass(json, Integer.class); - } - - @Override - public String serialize(@NonNull Integer o) { - return serializeClass(o); - } -} diff --git a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/StringSerde.java b/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/StringSerde.java deleted file mode 100644 index d87975111..000000000 --- a/nd4j/nd4j-remote/nd4j-json-client/src/main/java/org/nd4j/remote/clients/serde/impl/StringSerde.java +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.nd4j.remote.clients.serde.impl; - -import lombok.NonNull; -import org.nd4j.shade.jackson.core.JsonProcessingException; -import org.nd4j.shade.jackson.databind.ObjectMapper; - -/** - * This class provides fake JSON serializer/deserializer functionality for String. - * It doesn't put any JSON-specific bits into actual string - */ -public class StringSerde extends AbstractSerDe { - - @Override - public String serialize(@NonNull String data) { - return serializeClass(data); - } - - @Override - public String deserialize(@NonNull String json) { - return deserializeClass(json, String.class); - } -} diff --git a/nd4j/nd4j-remote/nd4j-json-server/src/main/java/org/nd4j/remote/serving/ModelServingServlet.java b/nd4j/nd4j-remote/nd4j-json-server/src/main/java/org/nd4j/remote/serving/ModelServingServlet.java deleted file mode 100644 index dc240b4f6..000000000 --- a/nd4j/nd4j-remote/nd4j-json-server/src/main/java/org/nd4j/remote/serving/ModelServingServlet.java +++ /dev/null @@ -1,30 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.nd4j.remote.serving; - -import javax.servlet.Servlet; - -/** - * This interface describes Servlet interface extension, suited for ND4J/DL4J model serving - * @param - * @param - * - * @author raver119@gmail.com - */ -public interface ModelServingServlet extends Servlet { - // -} diff --git a/nd4j/nd4j-remote/nd4j-json-server/src/main/java/org/nd4j/remote/serving/ServingProcessor.java b/nd4j/nd4j-remote/nd4j-json-server/src/main/java/org/nd4j/remote/serving/ServingProcessor.java deleted file mode 100644 index 6f77215bd..000000000 --- a/nd4j/nd4j-remote/nd4j-json-server/src/main/java/org/nd4j/remote/serving/ServingProcessor.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.nd4j.remote.serving; - -public class ServingProcessor { - - public String listEndpoints() { - String retVal = "/v1/ \n/v1/serving/"; - return retVal; - } - - public String processModel(String body) { - String response = null; //"Not implemented"; - return response; - } -} diff --git a/nd4j/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/helpers/House.java b/nd4j/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/helpers/House.java deleted file mode 100644 index e5089e585..000000000 --- a/nd4j/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/helpers/House.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.nd4j.remote.helpers; - -import com.google.gson.Gson; -import lombok.*; -import org.nd4j.remote.clients.serde.JsonDeserializer; -import org.nd4j.remote.clients.serde.JsonSerializer; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class House { - private int district; - private int bedrooms; - private int bathrooms; - private int area; - - - public static class HouseSerializer implements JsonSerializer { - @Override - public String serialize(@NonNull House o) { - return new Gson().toJson(o); - } - } - - public static class HouseDeserializer implements JsonDeserializer { - @Override - public House deserialize(@NonNull String json) { - return new Gson().fromJson(json, House.class); - } - } -} diff --git a/nd4j/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/helpers/HouseToPredictedPriceAdapter.java b/nd4j/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/helpers/HouseToPredictedPriceAdapter.java deleted file mode 100644 index fe07623d3..000000000 --- a/nd4j/nd4j-remote/nd4j-json-server/src/test/java/org/nd4j/remote/helpers/HouseToPredictedPriceAdapter.java +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.nd4j.remote.helpers; - -import lombok.NonNull; -import lombok.extern.slf4j.Slf4j; -import org.nd4j.linalg.api.buffer.DataType; -import org.nd4j.linalg.api.ndarray.INDArray; -import org.nd4j.linalg.dataset.MultiDataSet; -import org.nd4j.linalg.factory.Nd4j; -import org.nd4j.adapters.InferenceAdapter; - -@Slf4j -public class HouseToPredictedPriceAdapter implements InferenceAdapter { - - @Override - public MultiDataSet apply(@NonNull House input) { - // we just create vector array with shape[4] and assign it's value to the district value - return new MultiDataSet(Nd4j.create(DataType.FLOAT, 4).assign(input.getDistrict()), null); - } - - @Override - public PredictedPrice apply(INDArray... nnOutput) { - return new PredictedPrice(nnOutput[0].getFloat(0)); - } -} diff --git a/nd4j/nd4j-remote/pom.xml b/nd4j/nd4j-remote/pom.xml deleted file mode 100644 index c6a0cdb86..000000000 --- a/nd4j/nd4j-remote/pom.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - 4.0.0 - pom - - - nd4j-json-client - nd4j-grpc-client - nd4j-json-server - - - - org.nd4j - nd4j - 1.0.0-SNAPSHOT - - - nd4j-remote - 1.0.0-SNAPSHOT - nd4j-remote - - - UTF-8 - 1.7 - 1.7 - - - - - testresources - - - diff --git a/nd4j/nd4j-serde/nd4j-aeron/pom.xml b/nd4j/nd4j-serde/nd4j-aeron/pom.xml index 9245a3998..733fb11f0 100644 --- a/nd4j/nd4j-serde/nd4j-aeron/pom.xml +++ b/nd4j/nd4j-serde/nd4j-aeron/pom.xml @@ -1,42 +1,63 @@ - + + + + - 4.0.0 - org.nd4j - nd4j-aeron - jar - - nd4j-aeron - org.nd4j nd4j-serde 1.0.0-SNAPSHOT + + nd4j-aeron + + nd4j-aeron + 1.8 1.8 1.5.4 1.4.0 - UTF-8 + + + io.aeron + aeron-all + ${aeron.version} + + + ch.qos.logback + logback-classic + test + + + ch.qos.logback + logback-core + test + + + jdk9 @@ -50,7 +71,6 @@ testresources - nd4j-tests-cpu @@ -70,7 +90,8 @@ maven-surefire-plugin - ${env.LD_LIBRARY_PATH}:${user.dir}:${libnd4jhome}/blasbuild/cpu/blas/ + + ${env.LD_LIBRARY_PATH}:${user.dir}:${libnd4jhome}/blasbuild/cpu/blas/ src/test/java @@ -83,9 +104,11 @@ junit:junit - org.nd4j.linalg.cpu.nativecpu.CpuBackend + + org.nd4j.linalg.cpu.nativecpu.CpuBackend - org.nd4j.linalg.cpu.nativecpu.CpuBackend + + org.nd4j.linalg.cpu.nativecpu.CpuBackend + diff --git a/nd4j/nd4j-serde/nd4j-arrow/pom.xml b/nd4j/nd4j-serde/nd4j-arrow/pom.xml index 26e59c510..3a12a5735 100644 --- a/nd4j/nd4j-serde/nd4j-arrow/pom.xml +++ b/nd4j/nd4j-serde/nd4j-arrow/pom.xml @@ -1,44 +1,39 @@ - + + + + - - - nd4j-serde - org.nd4j - 1.0.0-SNAPSHOT - 4.0.0 + + org.nd4j + nd4j-serde + 1.0.0-SNAPSHOT + + nd4j-arrow - jar nd4j-arrow - - junit - junit - test - - - org.nd4j - nd4j-api - ${project.version} - org.apache.arrow arrow-vector @@ -54,21 +49,12 @@ arrow-format ${arrow.version} - - - - org.nd4j - nd4j-common-tests - ${project.version} - test - testresources - nd4j-tests-cpu @@ -88,7 +74,8 @@ maven-surefire-plugin - ${env.LD_LIBRARY_PATH}:${user.dir}:${libnd4jhome}/blasbuild/cpu/blas/ + + ${env.LD_LIBRARY_PATH}:${user.dir}:${libnd4jhome}/blasbuild/cpu/blas/ src/test/java @@ -101,9 +88,11 @@ junit:junit - org.nd4j.linalg.cpu.nativecpu.CpuBackend + + org.nd4j.linalg.cpu.nativecpu.CpuBackend - org.nd4j.linalg.cpu.nativecpu.CpuBackend + + org.nd4j.linalg.cpu.nativecpu.CpuBackend + + + + - - - nd4j-serde - org.nd4j - 1.0.0-SNAPSHOT - 4.0.0 + + org.nd4j + nd4j-serde + 1.0.0-SNAPSHOT + + nd4j-kryo_2.11 - jar nd4j-kryo @@ -82,20 +87,12 @@ - - org.nd4j - nd4j-api - ${project.version} - - de.javakaffee kryo-serializers ${jkserializers.version} - - org.apache.spark spark-core_2.11 @@ -108,27 +105,12 @@ - - - junit - junit - test - - - - - org.nd4j - nd4j-common-tests - ${project.version} - test - testresources - nd4j-tests-cpu @@ -148,7 +130,8 @@ maven-surefire-plugin - ${env.LD_LIBRARY_PATH}:${user.dir}:${libnd4jhome}/blasbuild/cpu/blas/ + + ${env.LD_LIBRARY_PATH}:${user.dir}:${libnd4jhome}/blasbuild/cpu/blas/ src/test/java @@ -161,9 +144,11 @@ junit:junit - org.nd4j.linalg.cpu.nativecpu.CpuBackend + + org.nd4j.linalg.cpu.nativecpu.CpuBackend - org.nd4j.linalg.cpu.nativecpu.CpuBackend + + org.nd4j.linalg.cpu.nativecpu.CpuBackend + + + - - - nd4j - org.nd4j - 1.0.0-SNAPSHOT - 4.0.0 + + org.nd4j + nd4j + 1.0.0-SNAPSHOT + + nd4j-serde - 1.0.0-SNAPSHOT pom + nd4j-aeron nd4j-kryo nd4j-arrow + + + org.nd4j + nd4j-api + + + junit + junit + test + + + org.nd4j + nd4j-common-tests + ${project.version} + test + + + testresources diff --git a/nd4j/nd4j-shade/guava/pom.xml b/nd4j/nd4j-shade/guava/pom.xml index 73b8d5825..d02b0e7c5 100644 --- a/nd4j/nd4j-shade/guava/pom.xml +++ b/nd4j/nd4j-shade/guava/pom.xml @@ -1,13 +1,33 @@ + + + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + 4.0.0 + - nd4j-shade org.nd4j + nd4j-shade 1.0.0-SNAPSHOT - 4.0.0 guava @@ -19,27 +39,26 @@ com.google.guava guava - 28.0-jre + ${guava.jre.version} true - custom-lifecycle - - !skip.custom.lifecycle + + !skip.custom.lifecycle + - org.apache.portals.jetspeed-2 jetspeed-mvn-maven-plugin - 2.3.1 + ${jetspeed-mvn-maven-plugin.version} compile-and-pack @@ -53,12 +72,11 @@ org.apache.maven.shared maven-invoker - 2.2 + ${maven-invoker-plugin.version} - create-shaded-jars @rootdir@/nd4j/nd4j-shade/guava/ @@ -67,7 +85,6 @@ true - create-shaded-jars @@ -79,12 +96,10 @@ - com.lewisd lint-maven-plugin - 0.0.11 pom-lint @@ -92,29 +107,9 @@ - org.apache.maven.plugins maven-shade-plugin - ${maven-shade-plugin.version} - - - package - - shade - - - - - reference.conf - - - - - - - - + - - nd4j-shade - org.nd4j - 1.0.0-SNAPSHOT - + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 - jackson + + org.nd4j + nd4j-shade + 1.0.0-SNAPSHOT + + jackson true - - com.fasterxml.jackson.core @@ -59,7 +60,6 @@ jackson-dataformat-xml ${jackson.version} true - @@ -75,7 +75,6 @@ ${jackson.version} true - com.fasterxml.jackson.core @@ -101,65 +100,59 @@ 5.1.0 true - - - - custom-lifecycle - - - !skip.custom.lifecycle - - - - - - org.apache.portals.jetspeed-2 - jetspeed-mvn-maven-plugin - 2.3.1 - - - compile-and-pack - compile - - mvn - - - - - - org.apache.maven.shared - maven-invoker - 2.2 - - - - - - - create-shaded-jars - @rootdir@/nd4j/nd4j-shade/jackson/ - clean,compile,package - - true - - - - - create-shaded-jars - - - - - - + + custom-lifecycle + + + !skip.custom.lifecycle + + + + + + org.apache.portals.jetspeed-2 + jetspeed-mvn-maven-plugin + ${jetspeed-mvn-maven-plugin.version} + + + compile-and-pack + compile + + mvn + + + + + + org.apache.maven.shared + maven-invoker + ${maven-invoker-plugin.version} + + + + + + create-shaded-jars + @rootdir@/nd4j/nd4j-shade/jackson/ + clean,compile,package + + true + + + + create-shaded-jars + + + + + - @@ -239,79 +210,28 @@ org.nd4j.shade.codehaus - *:* - META-INF/services/javax.xml.stream.XMLOutputFactory - META-INF/services/javax.xml.stream.XMLInputFactory - META-INF/services/javax.xml.stream.XMLEventFactory + META-INF/services/javax.xml.stream.XMLOutputFactory + + META-INF/services/javax.xml.stream.XMLInputFactory + + META-INF/services/javax.xml.stream.XMLEventFactory + - org.apache.maven.plugins maven-jar-plugin - - true - - - - empty-javadoc-jar - package - - jar - - - false - javadoc - ${basedir}/javadoc - - - - empty-sources-jar - package - - jar - - - sources - ${basedir}/src - - - - - org.apache.maven.plugins - maven-dependency-plugin - 3.0.0 - - - unpack - package - - unpack - - - - - org.nd4j - jackson - ${project.version} - jar - false - ${project.build.directory}/classes/ - **/*.class,**/*.xml - - - - - + org.apache.maven.plugins + maven-dependency-plugin diff --git a/nd4j/nd4j-shade/pom.xml b/nd4j/nd4j-shade/pom.xml index 927292b5f..44fd9863e 100644 --- a/nd4j/nd4j-shade/pom.xml +++ b/nd4j/nd4j-shade/pom.xml @@ -1,32 +1,37 @@ - + + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + 4.0.0 + - nd4j org.nd4j + nd4j 1.0.0-SNAPSHOT - 4.0.0 nd4j-shade pom + jackson protobuf @@ -36,4 +41,113 @@ true + + + + + + org.apache.maven.plugins + maven-shade-plugin + ${maven-shade-plugin.version} + + + package + + shade + + + + + reference.conf + + + + + + + + + + org.apache.maven.plugins + maven-jar-plugin + + true + + + + empty-javadoc-jar + package + + jar + + + javadoc + ${basedir}/javadoc + + + + empty-sources-jar + package + + jar + + + sources + ${basedir}/src + + + + + + org.apache.maven.plugins + maven-dependency-plugin + ${maven-dependency-plugin.version} + + + unpack + package + + unpack + + + + + org.nd4j + ${project.artifactId} + ${project.version} + jar + false + ${project.build.directory}/classes/ + + **/*.class,**/*.xml + + + + + + + + + + + + + org.apache.maven.plugins + maven-jar-plugin + + + empty-javadoc-jar + none + + + empty-sources-jar + none + + + + + diff --git a/nd4j/nd4j-shade/protobuf/pom.xml b/nd4j/nd4j-shade/protobuf/pom.xml index 910003683..db7ebfbb9 100644 --- a/nd4j/nd4j-shade/protobuf/pom.xml +++ b/nd4j/nd4j-shade/protobuf/pom.xml @@ -1,13 +1,33 @@ + + + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + 4.0.0 + - nd4j-shade org.nd4j + nd4j-shade 1.0.0-SNAPSHOT - 4.0.0 protobuf @@ -19,14 +39,14 @@ com.google.protobuf protobuf-java - 3.8.0 + ${google.protobuf.version} true com.google.protobuf protobuf-java-util - 3.8.0 + ${google.protobuf.version} true @@ -38,26 +58,25 @@ com.google.guava guava - 26.0-android + ${guava.android.version} true - custom-lifecycle - - !skip.custom.lifecycle + + !skip.custom.lifecycle + - org.apache.portals.jetspeed-2 jetspeed-mvn-maven-plugin - 2.3.1 + ${jetspeed-mvn-maven-plugin.version} compile-and-pack @@ -71,12 +90,11 @@ org.apache.maven.shared maven-invoker - 2.2 + ${maven-invoker-plugin.version} - create-shaded-jars @rootdir@/nd4j/nd4j-shade/protobuf/ @@ -85,12 +103,10 @@ true - create-shaded-jars - @@ -98,12 +114,10 @@ - com.lewisd lint-maven-plugin - 0.0.11 pom-lint @@ -111,8 +125,6 @@ - - @@ -181,69 +172,16 @@ org.nd4j.shade.protobuf.common - org.apache.maven.plugins maven-jar-plugin - - true - - - - empty-javadoc-jar - package - - jar - - - javadoc - ${basedir}/javadoc - - - - empty-sources-jar - package - - jar - - - sources - ${basedir}/src - - - - org.apache.maven.plugins maven-dependency-plugin - 3.0.0 - - - unpack - package - - unpack - - - - - org.nd4j - protobuf - ${project.version} - jar - false - ${project.build.directory}/classes/ - **/*.class,**/*.xml - - - - - - - \ No newline at end of file + diff --git a/nd4j/nd4j-tensorflow/pom.xml b/nd4j/nd4j-tensorflow/pom.xml index fb859a95f..db607d2ae 100644 --- a/nd4j/nd4j-tensorflow/pom.xml +++ b/nd4j/nd4j-tensorflow/pom.xml @@ -1,44 +1,51 @@ + - + + + 4.0.0 - - nd4j org.nd4j + nd4j 1.0.0-SNAPSHOT - 4.0.0 nd4j-tensorflow nd4j-tensorflow + + 1.8 + 1.8 + + org.nd4j - nd4j-native-api - ${project.version} + nd4j-api org.nd4j - nd4j-api - ${project.version} + nd4j-native-api org.bytedeco @@ -58,23 +65,9 @@ junit junit - test - - - - org.apache.maven.plugins - maven-compiler-plugin - - 8 - 8 - - - - - testresources diff --git a/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/DummyDeAllocator.java b/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/DummyDeAllocator.java index 3a0acb0df..eab004bb1 100644 --- a/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/DummyDeAllocator.java +++ b/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/DummyDeAllocator.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.tensorflow.conversion; diff --git a/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/ProtoBufToFlatBufConversion.java b/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/ProtoBufToFlatBufConversion.java index ee53c37e2..4f446ad90 100644 --- a/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/ProtoBufToFlatBufConversion.java +++ b/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/ProtoBufToFlatBufConversion.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.tensorflow.conversion; diff --git a/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/TensorDataType.java b/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/TensorDataType.java index 74d053547..aaea1314d 100644 --- a/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/TensorDataType.java +++ b/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/TensorDataType.java @@ -1,19 +1,20 @@ -/* ****************************************************************************** - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2019 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.tensorflow.conversion; diff --git a/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/TensorflowConversion.java b/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/TensorflowConversion.java index ed33a2b8a..573eb59d1 100644 --- a/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/TensorflowConversion.java +++ b/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/TensorflowConversion.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.tensorflow.conversion; diff --git a/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/graphrunner/GraphRunner.java b/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/graphrunner/GraphRunner.java index bfbdbd62d..89a61d315 100644 --- a/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/graphrunner/GraphRunner.java +++ b/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/graphrunner/GraphRunner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.tensorflow.conversion.graphrunner; diff --git a/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/graphrunner/GraphRunnerServiceProvider.java b/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/graphrunner/GraphRunnerServiceProvider.java index 7459a40ea..74447c65d 100644 --- a/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/graphrunner/GraphRunnerServiceProvider.java +++ b/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/graphrunner/GraphRunnerServiceProvider.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.nd4j.tensorflow.conversion.graphrunner; import org.nd4j.TFGraphRunnerService; diff --git a/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/graphrunner/SavedModelConfig.java b/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/graphrunner/SavedModelConfig.java index c13c5e1a6..21bfba961 100644 --- a/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/graphrunner/SavedModelConfig.java +++ b/nd4j/nd4j-tensorflow/src/main/java/org/nd4j/tensorflow/conversion/graphrunner/SavedModelConfig.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.tensorflow.conversion.graphrunner; diff --git a/nd4j/nd4j-tensorflow/src/main/resources/META-INF/services/org.nd4j.TFGraphRunnerService b/nd4j/nd4j-tensorflow/src/main/resources/META-INF/services/org.nd4j.TFGraphRunnerService index 1b038ee6c..dc4e5b5e0 100644 --- a/nd4j/nd4j-tensorflow/src/main/resources/META-INF/services/org.nd4j.TFGraphRunnerService +++ b/nd4j/nd4j-tensorflow/src/main/resources/META-INF/services/org.nd4j.TFGraphRunnerService @@ -1,3 +1,39 @@ +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +# +# /* ****************************************************************************** +# * Copyright (c) 2021 Deeplearning4j Contributors +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + ################################################################################ # Copyright (c) 2020 Konduit K.K.. # diff --git a/nd4j/nd4j-tensorflow/src/main/resources/cast_graph/ai/__init__.py b/nd4j/nd4j-tensorflow/src/main/resources/cast_graph/ai/__init__.py index e69de29bb..9f8c45314 100644 --- a/nd4j/nd4j-tensorflow/src/main/resources/cast_graph/ai/__init__.py +++ b/nd4j/nd4j-tensorflow/src/main/resources/cast_graph/ai/__init__.py @@ -0,0 +1,16 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + diff --git a/nd4j/nd4j-tensorflow/src/main/resources/cast_graph/ai/konduit/__init__.py b/nd4j/nd4j-tensorflow/src/main/resources/cast_graph/ai/konduit/__init__.py index e69de29bb..9f8c45314 100644 --- a/nd4j/nd4j-tensorflow/src/main/resources/cast_graph/ai/konduit/__init__.py +++ b/nd4j/nd4j-tensorflow/src/main/resources/cast_graph/ai/konduit/__init__.py @@ -0,0 +1,16 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + diff --git a/nd4j/nd4j-tensorflow/src/main/resources/cast_graph/ai/konduit/casting.py b/nd4j/nd4j-tensorflow/src/main/resources/cast_graph/ai/konduit/casting.py index b6123f557..f0bc198cf 100644 --- a/nd4j/nd4j-tensorflow/src/main/resources/cast_graph/ai/konduit/casting.py +++ b/nd4j/nd4j-tensorflow/src/main/resources/cast_graph/ai/konduit/casting.py @@ -1,3 +1,19 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + import tensorflow as tf dtypes = [tf.float16,tf.float32,tf.float64,tf.int8,tf.int16,tf.int32,tf.int64,tf.uint8,tf.uint16,tf.uint32,tf.uint64] diff --git a/nd4j/nd4j-uberjar/pom.xml b/nd4j/nd4j-uberjar/pom.xml deleted file mode 100644 index fa6bd84d0..000000000 --- a/nd4j/nd4j-uberjar/pom.xml +++ /dev/null @@ -1,311 +0,0 @@ - - - - - - nd4j - org.nd4j - 1.0.0-SNAPSHOT - - 4.0.0 - nd4j-uberjar - - - - - org.apache.maven.plugins - maven-shade-plugin - ${maven-shade-plugin.version} - - ${shadedClassifier} - true - - - *:* - - org/datanucleus/** - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - - - - - - void - void - - - - - - - - false - - - - none - - shade - - - - - - org.apache.maven.plugins - maven-enforcer-plugin - - - package - enforce-choice-of-nd4j-backend - - enforce - - - ${skipBackendChoice} - - - native,cuda,cuda-snapshots,native-snapshots - false - - - true - - - - - - org.apache.maven.plugins - maven-jar-plugin - - true - - - - empty-javadoc-jar - package - - jar - - - false - javadoc - ${basedir}/javadoc - - - - empty-sources-jar - package - - jar - - - sources - ${basedir}/src - - - - - - - - - - - default - - true - - - true - - - - uberjar - - - - org.apache.maven.plugins - maven-shade-plugin - - - package - - - - - com.lewisd - lint-maven-plugin - - false - - - - - - - - org.nd4j - jackson - ${project.version} - - - org.nd4j - nd4j-jdbc-api - ${project.version} - - - org.nd4j - nd4j-jdbc-mysql - ${project.version} - - - org.nd4j - nd4j-aeron - ${project.version} - - - org.nd4j - nd4j-kryo_2.11 - ${project.version} - - - org.nd4j - nd4j-common - ${project.version} - - - org.nd4j - nd4j-api - ${project.version} - - - org.nd4j - nd4j-parameter-server - ${project.version} - - - org.nd4j - nd4j-parameter-server-client - ${project.version} - - - org.nd4j - nd4j-parameter-server-model - ${project.version} - - - org.nd4j - nd4j-parameter-server-status_2.11 - ${project.version} - - - org.nd4j - nd4j-parameter-server-rocksdb-storage - ${project.version} - - - org.nd4j - nd4j-parameter-server-node_2.11 - ${project.version} - - - - false - - - - - - - - - - - - - native-snapshots - - - org.nd4j - nd4j-native - ${project.version} - - - org.nd4j - nd4j-native-api - ${project.version} - - - - - cuda-snapshots - - - org.nd4j - nd4j-cuda-11.0 - ${project.version} - - - - - - - native - - - org.nd4j - nd4j-native - ${project.version} - - - org.nd4j - nd4j-native-platform - ${project.version} - - - org.nd4j - nd4j-native-api - ${project.version} - - - - - cuda - - - org.nd4j - nd4j-cuda-11.0 - ${project.version} - - - org.nd4j - nd4j-cuda-11.0-platform - ${project.version} - - - - - - testresources - - - - - diff --git a/nd4j/pom.xml b/nd4j/pom.xml index 1442db0cc..912ba3d17 100644 --- a/nd4j/pom.xml +++ b/nd4j/pom.xml @@ -1,87 +1,91 @@ - - + + 4.0.0 + org.deeplearning4j deeplearning4j 1.0.0-SNAPSHOT - 4.0.0 - org.nd4j nd4j pom nd4j - https://deeplearning4j.org - - - Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - - - - - - agibsonccc - Adam Gibson - adam@skymind.io - - nd4j-shade - nd4j-jdbc nd4j-serde nd4j-common nd4j-backends nd4j-parameter-server-parent - nd4j-uberjar nd4j-tensorflow - nd4j-remote + nd4j-onnxruntime nd4j-common-tests + samediff-import - org.slf4j - slf4j-log4j12 - ${slf4j.version} + ch.qos.logback + logback-classic + ${logback.version} org.slf4j slf4j-api ${slf4j.version} + + ch.qos.logback + logback-core + ${logback.version} + + + org.slf4j + slf4j-log4j12 + ${slf4j.version} + junit junit ${junit.version} test + + org.nd4j + nd4j-native-api + ${project.version} + + + org.nd4j + nd4j-api + ${project.version} + @@ -90,7 +94,7 @@ com.github.stephenc.findbugs findbugs-annotations - 1.3.9-1 + ${findbugs-annotations.version} provided @@ -111,56 +115,16 @@ - pl.project13.maven git-commit-id-plugin - ${maven-git-commit-id-plugin.version} - - - - revision - - generate-resources - - - - true - - ${project.basedir}/target/generated-sources/src/main/resources/ai/skymind/${project.groupId}-${project.artifactId}-git.properties - - - true - - - org.codehaus.mojo build-helper-maven-plugin - ${maven-build-helper-plugin.version} - - - add-resource - generate-resources - - add-resource - - - - - - ${project.basedir}/target/generated-sources/src/main/resources - - - - - - - maven-jar-plugin ${maven-jar-plugin.version} @@ -181,35 +145,10 @@ - - maven-source-plugin - - - attach-sources - - jar - - - - - - maven-javadoc-plugin - - true - - - - attach-javadocs - - jar - - - - com.lewisd lint-maven-plugin - 0.0.11 + ${maven-lint-plugin.version} true @@ -235,8 +174,8 @@ net.revelc.code.formatter formatter-maven-plugin 2.12.1 + - ${session.executionRootDirectory}/contrib/formatter.xml nd4j-shade nd4j-jdbc @@ -251,7 +190,6 @@ - org.apache.maven.plugins maven-enforcer-plugin @@ -283,87 +221,6 @@ org.eclipse.m2e lifecycle-mapping - ${maven-lifecycle-mapping.version} - - - - - - com.lewisd - lint-maven-plugin - [0.0.11,) - - check - - - - - - - - - - - - - maven-javadoc-plugin - ${maven-javadoc-plugin.version} - - -Xdoclint:none - true - - - - attach-javadocs - - jar - - - - - - - maven-source-plugin - ${maven-source-plugin.version} - - - attach-sources - - jar - - - - - - maven-release-plugin - ${maven-release-plugin.version} - - forked-path - - -Psonatype-oss-release -DskipTests ${arguments} - true - false - - - - maven-gpg-plugin - 1.6 - - ${gpg.passphrase} - - - - sign-artifacts - verify - - sign - - - - - - maven-compiler-plugin - ${maven-compiler-plugin.version} org.apache.maven.plugins @@ -393,7 +250,6 @@ testresources - nd4j-testresources @@ -409,15 +265,4 @@ - - - - - - org.codehaus.mojo - cobertura-maven-plugin - 2.7 - - - diff --git a/nd4j/samediff-import/pom.xml b/nd4j/samediff-import/pom.xml new file mode 100644 index 000000000..914caf6a2 --- /dev/null +++ b/nd4j/samediff-import/pom.xml @@ -0,0 +1,268 @@ + + + + + 4.0.0 + + org.nd4j + samediff-import + 1.0.0-SNAPSHOT + + samediff-import + pom + + + + samediff-import-api + samediff-import-onnx + samediff-import-tensorflow + + + + 1.4.30-M1 + 1.8 + true + 4.12 + 5.4.2 + UTF-8 + 1.8 + 1.8 + 1.8 + 3.1.1 + + + + + + + + junit + junit + 4.12 + test + + + + org.junit.jupiter + junit-jupiter-api + ${junit-jupiter.version} + test + + + org.junit.jupiter + junit-jupiter-engine + ${junit-jupiter.version} + test + + + + org.jetbrains.kotlin + kotlin-stdlib-jdk8 + ${kotlin.version} + + + org.jetbrains.kotlin + kotlin-test + ${kotlin.version} + test + + + + + + + org.projectlombok + lombok-maven-plugin + 1.18.12.0 + + + delombok + generate-sources + + delombok + + + + skip + + true + + + + test-delombok + generate-test-sources + + testDelombok + + + true + + + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 3.0.0 + + + add-source + generate-sources + add-source + + + src/main/stubs + + + + + + + + org.apache.maven.plugins + maven-shade-plugin + ${maven-shade-plugin.version} + + true + false + + + *:* + + org/datanucleus/** + META-INF/*.SF + META-INF/*.DSA + META-INF/*.RSA + + + + + + + + + package + + shade + + + + + reference.conf + + + + + + + + + + + org.jetbrains.kotlin + kotlin-maven-plugin + 1.4.30-M1 + + + -Xjsr305=strict + + + spring + jpa + + + + + org.jetbrains.kotlin + kotlin-maven-allopen + ${kotlin.version} + + + org.jetbrains.kotlin + kotlin-maven-noarg + ${kotlin.version} + + + + + compile + compile + + + ${project.basedir}/src/main/stubs + ${project.basedir}/src/main/kotlin + ${project.basedir}/src/main/java + ${project.basedir}/src/main/ops + + + + + test-compile + test-compile + + + ${project.basedir}/src/test/stubs + ${project.basedir}/src/test/kotlin + ${project.basedir}/src/test/java + ${project.basedir}/src/test/ops + + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.5.1 + + + + default-compile + none + + + + default-testCompile + none + + + java-compile + compile + compile + + + java-test-compile + test-compile + testCompile + + + + ${java.version} + ${java.version} + + + + + + diff --git a/nd4j/samediff-import/samediff-import-api/pom.xml b/nd4j/samediff-import/samediff-import-api/pom.xml new file mode 100644 index 000000000..e2be16801 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/pom.xml @@ -0,0 +1,144 @@ + + + + + + 4.0.0 + + samediff-import-api + + + org.nd4j + samediff-import + 1.0.0-SNAPSHOT + + + samediff-import-api + + + UTF-8 + 2.5 + 3.6 + 1.7 + 1.18.8 + 1.1.7 + 3.8.0 + 4.8.90 + 4.1 + + + + + io.github.classgraph + classgraph + ${classgraph.version} + + + + org.apache.commons + commons-collections4 + ${commons-collections4.version} + + + com.google.protobuf + protobuf-java + ${protobuf.version} + + + org.slf4j + slf4j-api + 1.7.28 + + + + ch.qos.logback + logback-classic + ${logback.version} + + + + commons-io + commons-io + ${commonsio.version} + + + + org.projectlombok + lombok + ${lombok.version} + + + + org.apache.commons + commons-lang3 + ${commons.lang.version} + + + + com.squareup + javapoet + 1.11.1 + + + + + + + com.fasterxml.jackson.module + jackson-module-kotlin + 2.9.9 + + + + + + org.nd4j + nd4j-tensorflow + ${project.version} + + + + org.nd4j + nd4j-api + ${project.version} + + + org.nd4j + nd4j-common + ${project.version} + + + + org.nd4j + nd4j-native + ${project.version} + + + + org.nd4j + nd4j-onnxruntime + ${project.version} + + + + + + + diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/FrameworkImporter.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/FrameworkImporter.kt new file mode 100644 index 000000000..909778b90 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/FrameworkImporter.kt @@ -0,0 +1,29 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport + +import org.nd4j.autodiff.samediff.SameDiff +import org.nd4j.linalg.api.ndarray.INDArray + + +interface FrameworkImporter { + + fun runImport(fileName: String, dynamicVariables: Map = emptyMap()): SameDiff + + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/IRProtobufExtensions.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/IRProtobufExtensions.kt new file mode 100644 index 000000000..3fd1eb6da --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/IRProtobufExtensions.kt @@ -0,0 +1,635 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport + +import org.bytedeco.javacpp.indexer.Bfloat16ArrayIndexer +import org.bytedeco.javacpp.indexer.HalfIndexer +import org.nd4j.autodiff.functions.DifferentialFunction +import org.nd4j.autodiff.samediff.SDVariable +import org.nd4j.autodiff.samediff.SameDiff +import org.nd4j.autodiff.samediff.VariableType +import org.nd4j.common.io.ReflectionUtils +import org.nd4j.common.util.ArrayUtil +import org.nd4j.imports.graphmapper.tf.tensors.TFTensorMappers +import org.nd4j.ir.OpNamespace +import org.nd4j.ir.TensorNamespace +import org.nd4j.linalg.api.buffer.DataType +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.linalg.factory.Nd4j +import org.nd4j.nativeblas.Nd4jCpu.FLOAT32 +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.shade.protobuf.ByteString +import java.lang.IllegalArgumentException +import java.nio.ByteBuffer +import java.nio.charset.Charset +import java.util.* +import kotlin.collections.ArrayList +import java.lang.reflect.Field + + +fun isOutputFrameworkAttributeName(name: String, opDescriptor: OpNamespace.OpDescriptor): Boolean { + return opDescriptor.argDescriptorList.filter { argDescriptor -> argDescriptor.argType != OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + && argDescriptor.argType != OpNamespace.ArgDescriptor.ArgType.OUTPUT_TENSOR + } + .map { inputArg -> inputArg.name }.contains(name) +} + +fun isNd4jTensorName(name: String, opDescriptor: OpNamespace.OpDescriptor): Boolean { + return opDescriptor.argDescriptorList.filter { argDescriptor -> argDescriptor.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR } + .map { inputArg -> inputArg.name } + .contains(name) +} + +fun argDescriptorType(name: String, opDescriptor: OpNamespace.OpDescriptor): OpNamespace.ArgDescriptor.ArgType { + return opDescriptor.argDescriptorList.filter { argDescriptor -> argDescriptor.name == name }[0].argType +} + +fun OpNamespace.OpDescriptorList.findOp(opName: String): OpNamespace.OpDescriptor { + val opRet = this.opListList.firstOrNull {opDescriptor -> opDescriptor.name == opName } + if(opRet == null) { + throw IllegalArgumentException("Op name $opName not found!") + } + return opRet +} + +fun ArgDescriptor(block: OpNamespace.ArgDescriptor.Builder.() -> Unit): OpNamespace.ArgDescriptor { + return OpNamespace.ArgDescriptor.newBuilder() + .apply(block).build() +} + +fun NameSpaceTensor(block: TensorNamespace.TensorProto.Builder.() -> Unit): TensorNamespace.TensorProto { + return TensorNamespace.TensorProto.newBuilder() + .apply(block).build() +} + +fun TensorNamespace.TensorProto.Builder.RawData(rawData: ByteArray) { + this.rawData = ByteString.copyFrom(rawData) +} + +fun TensorNamespace.TensorProto.Builder.IntData(intData: List) { + this.addAllInt32Data(intData) +} + +fun TensorNamespace.TensorProto.Builder.FloatData(floatData: List) { + this.addAllFloatData(floatData) +} + +fun TensorNamespace.TensorProto.Builder.DoubleData(doubleData: List) { + this.addAllDoubleData(doubleData) +} + +fun TensorNamespace.TensorProto.Builder.StringData(stringData: List) { + this.addAllStringData(stringData.map { input -> ByteString.copyFrom(input.toByteArray(Charset.defaultCharset())) }) +} + +fun TensorNamespace.TensorProto.Builder.Int64Data(intData: List) { + this.addAllInt64Data(intData) +} + +fun TensorNamespace.TensorProto.Builder.Dims(shape: List) { + shape.forEach { this.addDims(it) } +} + +fun convertNd4jDataTypeFromNameSpaceTensorDataType(dataType: TensorNamespace.DataType): DataType { + return when(dataType) { + TensorNamespace.DataType.UINT32 -> return DataType.UINT32 + TensorNamespace.DataType.UINT8 -> return DataType.UINT8 + TensorNamespace.DataType.INT64 -> return DataType.INT64 + TensorNamespace.DataType.INT16 -> return DataType.INT16 + TensorNamespace.DataType.UINT64 -> return DataType.UINT64 + TensorNamespace.DataType.DOUBLE -> return DataType.DOUBLE + TensorNamespace.DataType.FLOAT -> return DataType.FLOAT + TensorNamespace.DataType.FLOAT16 -> return DataType.FLOAT16 + TensorNamespace.DataType.FLOAT16 -> return DataType.FLOAT16 + TensorNamespace.DataType.INT32 -> return DataType.INT32 + TensorNamespace.DataType.STRING -> return DataType.UTF8 + TensorNamespace.DataType.BOOL -> return DataType.BOOL + TensorNamespace.DataType.BFLOAT16 -> return DataType.BFLOAT16 + TensorNamespace.DataType.INT8 -> return DataType.INT8 + TensorNamespace.DataType.UINT16 -> return DataType.UINT16 + TensorNamespace.DataType.UNDEFINED, TensorNamespace.DataType.UNRECOGNIZED -> return DataType.UNKNOWN + else -> { + throw IllegalArgumentException("Illegal data type $dataType") + } + } +} + +fun convertNameSpaceTensorDataTypeFromNd4jDataType(dataType: DataType): TensorNamespace.DataType { + return when(dataType) { + DataType.UINT32 -> return TensorNamespace.DataType.UINT32 + DataType.INT64, DataType.LONG -> return TensorNamespace.DataType.INT64 + DataType.UINT64 -> return TensorNamespace.DataType.UINT64 + DataType.DOUBLE -> return TensorNamespace.DataType.DOUBLE + DataType.FLOAT -> return TensorNamespace.DataType.FLOAT + DataType.FLOAT16, DataType.HALF -> return TensorNamespace.DataType.FLOAT16 + DataType.HALF -> return TensorNamespace.DataType.FLOAT16 + DataType.INT32, DataType.INT -> return TensorNamespace.DataType.INT32 + DataType.UTF8 -> return TensorNamespace.DataType.STRING + DataType.BOOL -> return TensorNamespace.DataType.BOOL + DataType.BFLOAT16 -> return TensorNamespace.DataType.BFLOAT16 + DataType.SHORT, DataType.INT8 -> return TensorNamespace.DataType.INT8 + DataType.UINT16 -> return TensorNamespace.DataType.UINT16 + DataType.BYTE, DataType.UINT8, DataType.UBYTE -> return TensorNamespace.DataType.UINT8 + else -> { + throw IllegalArgumentException("Illegal data type $dataType") + } + } +} + +fun ndarrayFromNameSpaceTensor(inputTensor: TensorNamespace.TensorProto): INDArray { + val dtype = convertNd4jDataTypeFromNameSpaceTensorDataType(TensorNamespace.DataType.values()[inputTensor.dataType]) + val shape = inputTensor.dimsList.toLongArray() + val totalLen = ArrayUtil.prod(*shape) + //note for all cases here scalars can be either zero shape with 1 element or rank >= 1 with 1 element + when(dtype) { + DataType.FLOAT -> { + val floatArray = inputTensor.floatDataList.toFloatArray() + if(floatArray.isEmpty()) + return loadDataBufferFromRawData(inputTensor) + else if(totalLen <= 1 && shape.isEmpty()) { + return Nd4j.scalar(floatArray[0]) + } else if(totalLen != floatArray.size) { + //broadcast case + if(floatArray.size == 1) { + return Nd4j.valueArrayOf(shape,floatArray[0]) + } + else + throw IllegalArgumentException("Shape of ${Arrays.toString(shape)} did not match length ${floatArray.size}") + } + + val dataBuffer = Nd4j.createBuffer(floatArray) + return Nd4j.create(dataBuffer).reshape(*shape) + } + + DataType.DOUBLE -> { + val doubleArray = inputTensor.doubleDataList.toDoubleArray() + if(doubleArray.isEmpty()) + return loadDataBufferFromRawData(inputTensor) + else if(totalLen <= 1 && shape.isEmpty()) { + return Nd4j.scalar(doubleArray[0]) + } + else if(totalLen != doubleArray.size) { + //broadcast case + if(doubleArray.size == 1) { + return Nd4j.valueArrayOf(shape,doubleArray[0]) + } + else + throw IllegalArgumentException("Shape of ${Arrays.toString(shape)} did not match length ${doubleArray.size}") + + } + + val dataBuffer = Nd4j.createBuffer(doubleArray) + return Nd4j.create(dataBuffer).reshape(*shape) + } + + DataType.FLOAT16,DataType.HALF -> { + val halfArray = inputTensor.halfValList.toIntArray() + if(halfArray.isEmpty()) { + return loadDataBufferFromRawData(inputTensor) + } else if(totalLen <= 1 && shape.isEmpty()) { + val convertedFloat = HalfIndexer.toFloat(halfArray[0]) + return Nd4j.scalar(convertedFloat).castTo(DataType.FLOAT16) + } else if(totalLen != halfArray.size) { + //broadcast case + if(halfArray.size == 1) { + val convertedFloat = HalfIndexer.toFloat(halfArray[0]) + return Nd4j.valueArrayOf(shape,convertedFloat).castTo(DataType.FLOAT16) + } + else + throw IllegalArgumentException("Shape of ${Arrays.toString(shape)} did not match length ${halfArray.size}") + } + + val dataBuffer = Nd4j.createBuffer(DataType.FLOAT,halfArray.size.toLong(),false) + + for(i in 0 until halfArray.size) { + dataBuffer.put(i.toLong(),HalfIndexer.toFloat(halfArray[i])) + } + + return Nd4j.create(dataBuffer).reshape(*shape).castTo(DataType.FLOAT16) + } + + DataType.BFLOAT16 -> { + val halfArray = inputTensor.halfValList.toIntArray() + if(halfArray.isEmpty()) { + return loadDataBufferFromRawData(inputTensor) + } else if(totalLen <= 1 && shape.isEmpty()) { + val convertedFloat = Bfloat16ArrayIndexer.toFloat(halfArray[0]) + return Nd4j.scalar(convertedFloat).castTo(DataType.BFLOAT16) + } else if(totalLen != halfArray.size) { + //broadcast case + if(halfArray.size == 1) { + val convertedFloat = Bfloat16ArrayIndexer.toFloat(halfArray[0]) + return Nd4j.valueArrayOf(shape,convertedFloat).castTo(DataType.BFLOAT16) + } + else + throw IllegalArgumentException("Shape of ${Arrays.toString(shape)} did not match length ${halfArray.size}") + } + + val dataBuffer = Nd4j.createBuffer(DataType.FLOAT,halfArray.size.toLong(),false) + + for(i in 0 until halfArray.size) { + dataBuffer.put(i.toLong(),Bfloat16ArrayIndexer.toFloat(halfArray[i])) + } + + return Nd4j.create(dataBuffer).reshape(*shape).castTo(DataType.BFLOAT16) + } + + + DataType.INT64 -> { + val longArray = inputTensor.int64DataList.toLongArray() + if(longArray.isEmpty()) + return loadDataBufferFromRawData(inputTensor) + + else if(totalLen <= 1 && shape.isEmpty()) { + return Nd4j.scalar(longArray[0]) + } else if(totalLen != longArray.size) { + //broadcast case + if(longArray.size == 1) { + return Nd4j.zeros(*shape).addi(longArray[0]).castTo(DataType.INT64) + } + else + throw IllegalArgumentException("Shape of ${Arrays.toString(shape)} did not match length ${longArray.size}") + } + + val dataBuffer = Nd4j.createBuffer(longArray) + return Nd4j.create(dataBuffer).reshape(*shape) + } + + DataType.INT32 -> { + val intArray = inputTensor.int32DataList.toIntArray() + if(intArray.isEmpty()) + return loadDataBufferFromRawData(inputTensor) + else if(totalLen <= 1 && shape.isEmpty()) { + return Nd4j.scalar(intArray[0]) + } + else if(totalLen != intArray.size) { + //broadcast case + if(intArray.size == 1) { + return Nd4j.valueArrayOf(shape,intArray[0]) + } + else + throw IllegalArgumentException("Shape of ${Arrays.toString(shape)} did not match length ${intArray.size}") + } + val dataBuffer = Nd4j.createBuffer(intArray) + return Nd4j.create(dataBuffer).reshape(*shape) + } + + DataType.INT16 -> { + val intArray = inputTensor.int32DataList.toIntArray() + if(intArray.isEmpty()) + return loadDataBufferFromRawData(inputTensor) + else if(totalLen <= 1 && shape.isEmpty()) { + return Nd4j.scalar(intArray[0]).castTo(DataType.INT16) + } + else if(totalLen != intArray.size) { + //broadcast case + if(intArray.size == 1) { + return Nd4j.valueArrayOf(shape,intArray[0]).castTo(DataType.INT16) + } + else + throw IllegalArgumentException("Shape of ${Arrays.toString(shape)} did not match length ${intArray.size}") + } + val dataBuffer = Nd4j.createBuffer(intArray) + return Nd4j.create(dataBuffer).reshape(*shape).castTo(DataType.INT16) + } + + DataType.INT8 -> { + val intArray = inputTensor.int32DataList.toIntArray() + if(intArray.isEmpty()) + return loadDataBufferFromRawData(inputTensor) + else if(totalLen <= 1 && shape.isEmpty()) { + return Nd4j.scalar(intArray[0]).castTo(DataType.INT8) + } + else if(totalLen != intArray.size) { + //broadcast case + if(intArray.size == 1) { + return Nd4j.valueArrayOf(shape,intArray[0]).castTo(DataType.INT8) + } + else + throw IllegalArgumentException("Shape of ${Arrays.toString(shape)} did not match length ${intArray.size}") + } + val dataBuffer = Nd4j.createBuffer(intArray) + return Nd4j.create(dataBuffer).reshape(*shape).castTo(DataType.INT8) + } + + + DataType.UINT8 -> { + val intArray = inputTensor.int32DataList.toIntArray() + if(intArray.isEmpty()) + return loadDataBufferFromRawData(inputTensor) + else if(totalLen <= 1 && shape.isEmpty()) { + return Nd4j.scalar(intArray[0]).castTo(DataType.UINT8) + } + else if(totalLen != intArray.size) { + //broadcast case + if(intArray.size == 1) { + return Nd4j.valueArrayOf(shape,intArray[0]).castTo(DataType.UINT8) + } + else + throw IllegalArgumentException("Shape of ${Arrays.toString(shape)} did not match length ${intArray.size}") + } + val dataBuffer = Nd4j.createBuffer(intArray) + return Nd4j.create(dataBuffer).reshape(*shape).castTo(DataType.UINT8) + } + + DataType.UINT16 -> { + val intArray = inputTensor.int32DataList.toIntArray() + if(intArray.isEmpty()) + return loadDataBufferFromRawData(inputTensor) + else if(totalLen <= 1 && shape.isEmpty()) { + return Nd4j.scalar(intArray[0]).castTo(DataType.UINT16) + } + else if(totalLen != intArray.size) { + //broadcast case + if(intArray.size == 1) { + return Nd4j.valueArrayOf(shape,intArray[0]).castTo(DataType.UINT16) + } + else + throw IllegalArgumentException("Shape of ${Arrays.toString(shape)} did not match length ${intArray.size}") + } + val dataBuffer = Nd4j.createBuffer(intArray) + return Nd4j.create(dataBuffer).reshape(*shape).castTo(DataType.UINT16) + } + + DataType.BOOL -> { + val intArray = inputTensor.boolValList.toBooleanArray() + if(intArray.isEmpty()) + return loadDataBufferFromRawData(inputTensor) + if(totalLen <= 1 && shape.isEmpty()) { + return Nd4j.scalar(intArray[0]) + } + else if(totalLen != intArray.size) { + //broadcast case + if(intArray.size == 1) { + val booleanList = ArrayList() + for(i in 0 until totalLen) { + booleanList.add(intArray[0]) + } + return Nd4j.create(booleanList.toBooleanArray()).reshape(*shape) + } + else + throw IllegalArgumentException("Shape of ${Arrays.toString(shape)} did not match length ${intArray.size}") + } + + return Nd4j.create(intArray).reshape(*shape) + } + + DataType.UTF8 -> { + val stringList = inputTensor.stringDataList.map { input -> input.toStringUtf8() } + if(stringList.isEmpty()) + return loadDataBufferFromRawData(inputTensor) + else if(totalLen <= 1 && shape.isEmpty()) { + return Nd4j.scalar(stringList[0]) + } else if(totalLen != stringList.size) { + //broadcast case + if(stringList.size == 1) { + val newStringList = ArrayList() + for(i in 0 until totalLen) { + newStringList.add(stringList[0]) + } + + return Nd4j.create(newStringList).reshape(*shape) + } + throw IllegalArgumentException("Shape of ${Arrays.toString(shape)} did not match length ${stringList.size}") + } + return Nd4j.create(stringList).reshape(*shape) + } + + DataType.UNKNOWN -> { + val ret = Nd4j.empty() + return ret + } + + else -> { + return loadDataBufferFromRawData(inputTensor) + } + + } + + throw IllegalArgumentException("Illegal type found for conversion ${dtype}") +} + +fun loadDataBufferFromRawData(inputTensor: TensorNamespace.TensorProto): INDArray { + val shape = inputTensor.dimsList.toLongArray() + val dtype = convertNd4jDataTypeFromNameSpaceTensorDataType(TensorNamespace.DataType.values()[inputTensor.dataType]) + val byteArray = inputTensor.rawData.toByteArray() + //note: scalar can be zero + val totalLen = ArrayUtil.prod(*shape) + if(totalLen < 1) { + if(shape.isNotEmpty()) { + return Nd4j.zeros(*shape).castTo(dtype) + } + else + return Nd4j.empty(dtype) + } + + val byteBuffer = ByteBuffer.allocateDirect(totalLen * dtype.width()) + byteBuffer.put(byteArray) + byteBuffer.rewind() + val rawDataBuffer = Nd4j.createBuffer(byteBuffer, dtype, totalLen, 0) + if(shape.isNotEmpty() && totalLen > 0) { + if(rawDataBuffer.length() > 1) + return Nd4j.create(rawDataBuffer).reshape(*shape) + return Nd4j.empty(dtype) + } + return Nd4j.create(rawDataBuffer) +} + +fun nameSpaceTensorFromNDarray(ndarray: INDArray): TensorNamespace.TensorProto { + val nameSpaceDataType = convertNameSpaceTensorDataTypeFromNd4jDataType(ndarray.dataType()).ordinal + when(ndarray.dataType()) { + DataType.INT64 -> { + return NameSpaceTensor { + dataType = nameSpaceDataType + Int64Data(ndarray.data().asLong().toList()) + Dims(ndarray.shape().asList()) + } + } + + DataType.INT32 -> { + return NameSpaceTensor { + dataType = nameSpaceDataType + IntData(ndarray.data().asInt().toList()) + Dims(ndarray.shape().asList()) + } + } + + DataType.DOUBLE -> { + return NameSpaceTensor { + dataType = nameSpaceDataType + DoubleData(ndarray.data().asDouble().toList()) + Dims(ndarray.shape().asList()) + } + } + + DataType.FLOAT -> { + return NameSpaceTensor { + dataType = nameSpaceDataType + FloatData(ndarray.data().asFloat().toList()) + Dims(ndarray.shape().asList()) + } + } + + DataType.UTF8 -> { + val stringList = ArrayList() + for(i in 0 until ndarray.length()) { + stringList.add(ndarray.getString(i)) + } + + return NameSpaceTensor { + dataType = nameSpaceDataType + StringData(stringList) + Dims(ndarray.shape().asList()) + } + } + + else -> { + throw IllegalArgumentException("Illegal data type ${ndarray.dataType()}") + } + } + +} + +fun lookupIndexForArgDescriptor( + argDescriptorName: String, + opDescriptorName: String, + argDescriptorType: OpNamespace.ArgDescriptor.ArgType +): Int { + val op = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(opDescriptorName) + val names = op.argDescriptorList.map { argDescriptor -> argDescriptor.name } + if(!names.contains(argDescriptorName)) { + throw IllegalArgumentException("Invalid name $argDescriptorName for op $opDescriptorName passed in. $argDescriptorName not found in $opDescriptorName. Available names were ${names}") + } + val ret = op + .argDescriptorList.firstOrNull { argDescriptor -> argDescriptor.name == argDescriptorName && + argDescriptor.argType == argDescriptorType } + if(ret == null) + return -1 + else return ret.argIndex +} + +fun createVariable(varName: String, varType: VariableType, sameDiff: SameDiff, shape: List, dataType: DataType): SDVariable { + return SDVariable(varName, varType, sameDiff, shape.toLongArray(), dataType) +} + +fun descriptorsForName( + name: String, + argDescriptors: Collection): List { + return argDescriptors.filter { argDescriptor -> argDescriptor.name == name }!! +} + +fun setNameForFunctionFromDescriptors(argDescriptors: Collection, func: DifferentialFunction) { + val fields = ArrayList() + fields.addAll(func.javaClass.declaredFields.toList()) + fields.addAll(func.javaClass.superclass.declaredFields.toList()) + fields.forEach { field -> + if(hasArgDescriptorWithNameAndType(argDescriptors, field.name)) { + val descriptors = descriptorsForName(field.name, argDescriptors) + descriptors.forEach { descriptor -> + when(descriptor.argType) { + OpNamespace.ArgDescriptor.ArgType.BOOL -> { + if(Boolean.javaClass.isAssignableFrom(field.type) || Boolean::class.javaPrimitiveType!!.isAssignableFrom(field.type)) { + field.isAccessible = true + ReflectionUtils.setField(field, func, descriptor.boolValue) + } + } + + OpNamespace.ArgDescriptor.ArgType.STRING -> { + if(field.type.isAssignableFrom(String::class.java)) { + field.isAccessible = true + ReflectionUtils.setField(field, func, descriptor.stringValue) + } + } + + OpNamespace.ArgDescriptor.ArgType.INT64, OpNamespace.ArgDescriptor.ArgType.INT32 -> { + if(Int.javaClass.isAssignableFrom(field.type) || Int::class.javaPrimitiveType!!.isAssignableFrom(field.type)) { + field.isAccessible = true + ReflectionUtils.setField(field, func, descriptor.int64Value.toInt()) + } + + if(Long.javaClass.isAssignableFrom(field.type) || Long::class.javaPrimitiveType!!.isAssignableFrom(field.type)) { + field.isAccessible = true + ReflectionUtils.setField(field, func, descriptor.int64Value) + } + + if(DataType::javaClass.javaClass.isAssignableFrom(field.type)) { + field.isAccessible = true + ReflectionUtils.setField(field, func, DataType.fromInt(descriptor.int64Value.toInt())) + } + + } + + OpNamespace.ArgDescriptor.ArgType.FLOAT, OpNamespace.ArgDescriptor.ArgType.DOUBLE -> { + if(Float.javaClass.isAssignableFrom(field.type) || Float::class.javaPrimitiveType!!.isAssignableFrom(field.type)) { + field.isAccessible = true + ReflectionUtils.setField(field, func, descriptor.doubleValue.toFloat()) + } + + if(Double.javaClass.isAssignableFrom(field.type) || Double::class.javaPrimitiveType!!.isAssignableFrom(field.type)) { + field.isAccessible = true + ReflectionUtils.setField(field, func, descriptor.doubleValue) + } + } + + OpNamespace.ArgDescriptor.ArgType.DATA_TYPE -> { + if(DataType::class.java.isAssignableFrom(field.type)) { + field.isAccessible = true + ReflectionUtils.setField( + field, + func, + convertNd4jDataTypeFromNameSpaceTensorDataType(descriptor.dataTypeValue) + ) + } + } + + } + + } + + } + } + +} + +fun hasArgDescriptorWithNameAndType(argDescriptors: Collection, name: String): Boolean { + return argDescriptors.map { input -> input.name}.contains(name) +} + + +/** + * @return The specified name without the leading "^" character (if any) that appears for control dependencies + */ +fun stripControl(name: String): String { + return if (name.startsWith("^")) { + name.substring(1) + } else name +} + +/** + * Remove the ":1" etc suffix for a variable name to get the op name + * + * @param varName Variable name + * @return Variable name without any number suffix + */ +fun stripVarSuffix(varName: String): String { + if (varName.matches(regex = Regex(".*:\\d+"))) { + val idx = varName.lastIndexOf(':') + return varName.substring(0, idx) + } + return varName +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ImportGraph.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ImportGraph.kt new file mode 100644 index 000000000..e8df2fbca --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ImportGraph.kt @@ -0,0 +1,712 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport + +import org.apache.commons.collections4.set.ListOrderedSet +import org.apache.commons.io.FileUtils +import org.nd4j.autodiff.functions.DifferentialFunction +import org.nd4j.autodiff.samediff.SDVariable +import org.nd4j.autodiff.samediff.SameDiff +import org.nd4j.autodiff.samediff.VariableType +import org.nd4j.autodiff.samediff.internal.SameDiffOp +import org.nd4j.autodiff.samediff.internal.Variable + +import org.nd4j.common.base.Preconditions +import org.nd4j.common.io.ReflectionUtils +import org.nd4j.imports.converters.DifferentialFunctionClassHolder +import org.nd4j.imports.graphmapper.OpImportFilter +import org.nd4j.ir.OpNamespace +import org.nd4j.linalg.api.buffer.DataType +import org.nd4j.linalg.api.ops.DynamicCustomOp +import org.nd4j.linalg.api.ops.impl.controlflow.compat.Merge +import org.nd4j.linalg.api.ops.impl.shape.Concat +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.ir.IRGraph +import org.nd4j.samediff.frameworkimport.ir.IRNode +import org.nd4j.samediff.frameworkimport.registry.OpMappingRegistry +import org.nd4j.samediff.frameworkimport.registry.OpRegistryHolder +import org.nd4j.samediff.frameworkimport.runner.DefaultImportRunner +import org.nd4j.samediff.frameworkimport.runner.ImportRunner +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum +import java.io.File +import java.lang.IllegalArgumentException +import java.util.* +import kotlin.collections.ArrayList +import kotlin.collections.HashMap +import kotlin.collections.HashSet + + +open class ImportGraph { + + + fun importInfoForEachNodeInGraph ( + graph: IRGraph, + dynamicVariables: MutableMap) + : Map,OpNamespace.OpDescriptor>> { + + val opMappingRegistry = OpRegistryHolder.opMappingRegistryForName(graph.frameworkName()) + + val ret = HashMap,OpNamespace.OpDescriptor>>() + + graph.nodeList().forEach { node -> + val name = node.nodeName() + val opMappingProcess = OpRegistryHolder.lookupOpMappingProcess< + GRAPH_TYPE, + NODE_TYPE, + OP_DEF_TYPE, + TENSOR_TYPE, + DATA_TYPE, + ATTRIBUTE_TYPE, + ATTRIBUTE_VALUE_TYPE>(inputFrameworkOpName = node.opName(), inputFrameworkName = graph.frameworkName()) + val opDefLookup = opMappingRegistry.lookupInputFrameworkOpDef(node.opName()) + val mappingContext = graph.createMappingContext( + opDef = opDefLookup, + node = graph.nodeByName(node.nodeName()), + dynamicVariables = dynamicVariables + ) + + val applied = opMappingProcess.applyProcess(mappingContext) + ret[name] = applied + } + + return ret + } + + /** + * @return True if the specified name represents a control dependency (starts with "^") + */ + fun isControlDep(name: String): Boolean { + return name.startsWith("^") + } + + /** + * @return The specified name without the leading "^" character (if any) that appears for control dependencies + */ + fun stripControl(name: String): String { + return if (name.startsWith("^")) { + name.substring(1) + } else name + } + + + + inner class FuncContextResult + (dfInstance: DifferentialFunction,mappingContext: MappingContext, + tensorInputMappings: MutableMap) { + val dfInstance = dfInstance + val mappingContext = mappingContext + val tensorInputMappings = tensorInputMappings + } + + + fun createFuncAndContext(opName: String, + irGraph: IRGraph, + opMappingRegistry: OpMappingRegistry, + sameDiff: SameDiff, + nodeName: String, + dynamicVariables: MutableMap): FuncContextResult { + + + val opMappingProcess = opMappingRegistry.lookupOpMappingProcess(opName) + val nd4jOpName = opMappingProcess.opName() + + val dfInstance = if( DifferentialFunctionClassHolder.getInstance() + .hasName(nd4jOpName)) DifferentialFunctionClassHolder + .getInstance() + .getInstance(nd4jOpName) + else DynamicCustomOp.builder(nd4jOpName).build() + Preconditions.checkState(dfInstance != null, "Could not find class for input framework Ops: %s", opName) + var df: DifferentialFunction + df = try { + dfInstance.javaClass.newInstance() + } catch (t: Throwable) { + //Should never happen because function was already created via no-arg constructor earlier + throw RuntimeException(t) + } + + df.sameDiff = sameDiff + df.ownName = nodeName + + /** + * Note that ndarrays actually need to be reordered here when input indices aren't equal to what's in the original framework. + * We should potentially run the import process sooner and compute the input name + * ordering from that instead. + */ + val opDefLookup = opMappingRegistry.lookupInputFrameworkOpDef(opName) + val mappingContext = irGraph.createMappingContext( + opDef = opDefLookup, + node = irGraph.nodeByName(nodeName), + dynamicVariables = dynamicVariables + ) + + val tensorInputMappings = HashMap() + opMappingProcess.tensorMappingRules().forEach { tensorMappingRule -> + tensorInputMappings.putAll(tensorMappingRule.inputArgumentMappings()) + } + + return FuncContextResult(df, mappingContext, tensorInputMappings) + } + + + /** + * Import a Graph based on a {@link IRGraph} model from a GraphDef, with optional import overrides + * + * @param irGraph IRGraph reflecting the needed model import + * @param importOverride Optional import override for specific ops, keyed by op name + * @param opFilter Optional filter - ops to exclude/ignore + * @return Imported model + */ + fun importGraph(irGraph: IRGraph, + importOverride: Map?>?, + opFilter: OpImportFilter?, + dynamicVariables: MutableMap = HashMap(), + opMappingRegistry: + OpMappingRegistry): SameDiff { + + /* + First, build an in-memory representation of the graph that allows us to build the graph incrementally + If we can build the graph incrementally, we can make sure that the added variables are set up with the correct + datatype and (once implemented) greedy shape inference + */ + + + /* + First, build an in-memory representation of the graph that allows us to build the graph incrementally + If we can build the graph incrementally, we can make sure that the added variables are set up with the correct + datatype and (once implemented) greedy shape inference + */ + val variablesAdded: MutableList = ArrayList() + val opsAdded: MutableList = ArrayList() + val opsImported: MutableList = ArrayList() + val opsRemoved: MutableList = ArrayList() + + val availableToAddSet = HashSet() //TODO maybe unnecessary? + val availableToAdd: Queue> = LinkedList() + val remainingNodes: MutableMap> = + HashMap() //All other nodes, not in availableToAdd + val nodeInputTo: MutableMap> = + HashMap() // For op x -> y, x is key, y is value. Note that these are OP names not VARIABLE names + var nNodes: Int + val importInfo = irGraph.importInfoForEachNode(dynamicVariables = dynamicVariables) + //First, add any constants, placeholders, and zero-input ops + val sd = SameDiff.create() + val defaultRunner = + DefaultImportRunner() + + /** + * Now the nodes in the graph may change after running an import process. + * Run an import process first before proceeding to process all the nodes in the graph + */ + val originalNodeList = irGraph.nodeList() + val nodeNameToFuncContext = HashMap>() + originalNodeList.forEach { node -> + if(!irGraph.isConstant(node.opName()) && !irGraph.nodeIsPlaceHolder(node.nodeName())) { + val funcAndContext = createFuncAndContext(node.opName(), + irGraph,opMappingRegistry, + sd,node.nodeName(), + dynamicVariables) + nodeNameToFuncContext[node.nodeName()] = funcAndContext + } + } + + //get an updated set of number of nodes + nNodes = irGraph.nodeList().size + + for (i in 0 until nNodes) { + val nd = irGraph.nodeList()[i] + + val op = nd.opName() + val numInputs = nd.numInputs() + val name = nd.nodeName() + Preconditions.checkState(name.isNotEmpty(), "Node name was empty!") + if (irGraph.isConstantOpName(op)|| numInputs == 0) { + availableToAdd.add(nd) + availableToAddSet.add(name) + } else { + remainingNodes[name] = nd + + for (inputIdx in 0 until numInputs) { + var inOpName = stripVarSuffix(stripControl(nd.inputAt(inputIdx))) + if (!nodeInputTo.containsKey(inOpName)) { + nodeInputTo[inOpName!!] = ListOrderedSet() + } + //don't add the same name twice, we risk repeating additions above + if(!nodeInputTo[inOpName]!!.contains(name)) + nodeInputTo[inOpName]!!.add(name) + } + + } + } + + + val mergeOpsPostProcess: MutableMap = HashMap() + //Go through ops in order, and add to the graph + val constControlDeps: MutableMap> = HashMap() //Key: constant name. Value: control dependencies + while (!availableToAdd.isEmpty()) { + val nd = availableToAdd.remove() + val name = nd.nodeName() + val opName = nd.opName() + val importInfoForNode = importInfo[name] + + availableToAddSet.remove(name) + println("Adding operation to graph: $opName (name=$name)") + opsAdded.add(opName + "," + name) + var skipCase = false + val rawAttrMap = HashMap() + nd.attributeMap().forEach { (name, def) -> + rawAttrMap[name] = def.internalAttributeValue() + } + + + if (opFilter != null && opFilter.skipOp( + nd.internalValue(), + sd,rawAttrMap, irGraph.internalValue())) { + println("Skipping op $name of type $opName due to op filter") + //Don't continue at this point - we still need to process what this feeds into... + skipCase = true + } else { + if (importOverride == null || !importOverride.containsKey(name)) { + //Standard case + //note, ordering matters here for onnx + if (irGraph.nodeIsPlaceHolder(nd.nodeName()) && !sd.hasVariable(nd.nodeName())) { + println("Adding placeholder ${nd.nodeName()}") + var shape = irGraph.shapeOfInput(nd.nodeName()) + val dt = irGraph.dataTypeForVariable(nd.nodeName()).nd4jDataType() + if(shape != null) + sd.placeHolder(name, dt, *shape) + else + sd.placeHolder(name, dt) + } + else if (irGraph.isConstant(opName) && !sd.hasVariable(name)) { + println("Adding constant ${nd.nodeName()}") + //Get array, create a constant + val arr = irGraph.getConstantArrayForName(name) + sd.constant(name, arr) + println("Added constant for node name ${nd.nodeName()} with shape ${arr.shapeInfoToString()}") + val inputCount = nd.numInputs() + if (inputCount > 0) { + //Very likely control dependency. i.e., "we must execute op X before the constant is really available to be used" + val l: MutableList = ArrayList(inputCount) + for (i in 0 until inputCount) { + val n = nd.inputAt(i) + check(isControlDep(n)) { "Found non-control dependency input \"$n\" for constant \"$name\"" } + val n2 = stripControl(n) + l.add(n2) + } + constControlDeps[name] = l + } + } else if(irGraph.isVariable(nd.nodeName()) && !sd.hasVariable(nd.nodeName())) { + var shape = irGraph.shapeOfInput(nd.nodeName()) + val dt = irGraph.dataTypeForVariable(nd.nodeName()).nd4jDataType() + if(shape != null) + sd.`var`(name, dt, *shape) + else + sd.`var`(name, dt,-1) + } + else if(nodeNameToFuncContext.containsKey(nd.nodeName())) { + val funcContextResult = nodeNameToFuncContext[nd.nodeName()]!! + /* + Normal ops. Process in the following order: + 1. Create the op instance + 2. Add op to graph + 3. Import from TF (to set attributes) + 4. Calculate output dtypes + 5. Create and add output variables to graph + */ + + var df = funcContextResult.dfInstance + val mappingContext = funcContextResult.mappingContext + val tensorInputMappings = funcContextResult.tensorInputMappings + val nd4jOpName = df.opName() + //Process inputs + var controlDeps: MutableList? = null + val numInputs = nd.numInputs() + val inNames: MutableList = ArrayList(numInputs) + + for (i in 0 until numInputs) { + //use input name if it exists and matches, otherwise if the input names do not map 1 to 1 for import + //use samediff to generate a unique name + val origInName = nd.inputAt(i) + var inName = stripControl(origInName) + if (inName.endsWith(":0")) { + //Strip ":0" suffix. Some ops can depend on placeholders, like "image_tensor:0" but in SameDiff this is a variable called "image_tensor" + inName = inName.substring(0, inName.length - 2) + } + val isControlDep = isControlDep(origInName) + if (isControlDep) { + if (controlDeps == null) controlDeps = ArrayList() + controlDeps.add(inName) + } + if (!isControlDep) { + inNames.add(inName) + } + + //Update Variable.inputsForOp for all variables that feed into this op + // Such variables must have already been created, given we process in order + //declare empty variable for anything that's an input > 0 + if(!sd.hasVariable(inName) && inName.contains(':')) { + val knownBaseName = stripVarSuffix(inName) + if(!sd.hasVariable(knownBaseName)) { + throw IllegalArgumentException("No variable name found for $inName") + } else { + val knownBaseVar = sd.getVariable(stripVarSuffix(inName)) + sd.`var`( + SDVariable( + inName, + VariableType.ARRAY, + sd, + knownBaseVar.shape, + knownBaseVar.dataType() + ) + ) + + } + } + + val v = sd.variables[inName] + if (v == null && df is Merge) { + //Edge case for import - we allow merge ops to be added before both inputs are available + //This is to break the cycles in loops, otherwise we can't process anything in order + mergeOpsPostProcess[df.getOwnName()] = inName + continue + } + + if (!isControlDep && (v!!.inputsForOp == null || !v.inputsForOp.contains(name))) { + //May already be present - for example, add(x,x) + if (v.inputsForOp == null) v.inputsForOp = java.util.ArrayList() + v.inputsForOp.add(name) + } else if (isControlDep) { + if (v!!.controlDepsForOp == null) v.controlDepsForOp = java.util.ArrayList() + if (!v.controlDepsForOp.contains(name)) { + v.controlDepsForOp.add(name) + } + } + + + } + + val inputNames = nd.nd4jInputs(tensorInputMappings) + //ensure every function has an op name set (mainly for debugging) + if(df is DynamicCustomOp) { + val opField = DynamicCustomOp::class.java.getDeclaredField("opName") + opField.isAccessible = true + ReflectionUtils.setField(opField,df,nd4jOpName) + } + + + //Create SameDiffOp instance and add to graph + val op = SameDiffOp.builder() + .name(name) + .op(df) + .inputsToOp(inNames) //.outputsOfOp(outNames) //We'll set this later + .controlDeps(controlDeps) + .build() + //add nodes/other pre processing in order for this node to work + var addToGraph = true + sd.ops[name] = op + defaultRunner.initAttributes(df, sd, importInfo[name]!!) + //cache attributes just in case we have any rules so we don't create the rules more than once + val attributes = mappingContext.nodeAttributesAsMap() + mappingContext.relevantPrehookRules().forEach { rule -> + rule.preProcess(op, sd,attributes) + } + + + + //add nodes/other post processing in order for this node to work + mappingContext.relevantPosthookRules().forEach { rule -> + rule.postProcess(op, sd,attributes) + } + + //only add to the graph if the pre processing didn't over ride the node + + //DType calculate for output variables (set/correct if necessary) + if(mappingContext.relevantPrehookRules().isEmpty()) { + val newInNames = sd.ops[name]!!.inputsToOp //Just in case import has modified this, like for concat case + val newInDtypes: MutableList = + ArrayList(newInNames.size) + if (df is Merge) { + //Merge op: as noted elsewhere, we allow merge to be processed when only one of the inputs is available + // to break cycles for loops + //We know that Merge op has the restriction of the same datatype for both inputs, so we'll + val v1 = sd.getVariable(newInNames[0]) + val v2 = sd.getVariable(newInNames[1]) + val dt1 = if (v1 == null) v2!!.dataType() else v1.dataType() + val dt2 = if (v2 == null) v1!!.dataType() else v2.dataType() + newInDtypes.add(dt1) + newInDtypes.add(dt2) + } else if(df is Concat) { + //note we use the nd4j data types here so we only have input data types indexed by the actual + //output from nd4j. A common scenario import is dimensions being converted to ints + //Dimensions are converted from inputs in the input framework to plain integers elsewhere. + //This lets the import process dictate the actual ordering of the data types. + for (s in inputNames) { + val v = sd.getVariable(s) + newInDtypes.add(v.dataType()) + } + + op.inputsToOp = inputNames + } + else { + for (s in newInNames) { + val v = sd.getVariable(s) + newInDtypes.add(v.dataType()) + } + } + + //note we validate the op definition here to ensure that all ops have at least 1 output unless otherwise specified. + val outputDataTypes = df.calculateOutputDataTypes(newInDtypes) + val numOutputs = outputDataTypes.size + if(numInputs < 1 && nd4jOpName != "noop") { + throw IllegalStateException("Op $nd4jOpName does not have any outputs!") + } + + //println("Out dtypes size ${outDTypes.size} and numOutputs $numOutputs") + val outSDVars = arrayOfNulls(numOutputs) + val outVars = arrayOfNulls(numOutputs) + val outNames: MutableList = ArrayList(numOutputs) + + //Create output variables and add to graph + for (i in 0 until numOutputs) { + val dt = outputDataTypes[i] + val varName = name + if (i == 0) "" else ":$i" + //TODO: handle variadic type in kotlin + /** + * TODO: handle data type import + */ + outSDVars[i] = if(sd.hasVariable(varName)) sd.getVariable(varName) else sd.`var`(varName, VariableType.ARRAY, null, dt) + outNames.add(varName) + outVars[i] = Variable.builder() + .name(varName) + .variable(outSDVars[i]) + .inputsForOp(null) //This is updated incrementally as other ops are added + .controlDepsForOp(null) //Control deps are handled later + .controlDepsForVar(null) + .outputOfOp(name) + .build() + sd.variables[varName] = outVars[i] + println("Added variable to graph: $varName (output of op $name)") + variablesAdded.add(varName + "," + name) + } + + sd.ops[name]!!.outputsOfOp = outNames + println("Imported op: $opName (name=$name)") + opsImported.add(opName + "," + name) + + } + + + } + else { + println("Node ${nd.nodeName()} not found in import context, skipping!") + } + } else { + + val opMappingProcess = OpRegistryHolder.lookupOpMappingProcess< + GRAPH_TYPE, + NODE_TYPE, + OP_DEF_TYPE, + TENSOR_TYPE, + DATA_TYPE, + ATTR_DEF_TYPE, + ATTR_VALUE_TYPE>(inputFrameworkOpName = opName, inputFrameworkName = irGraph.frameworkName()) + + + + val dfInstance = if( DifferentialFunctionClassHolder.getInstance() + .hasName(opName)) DifferentialFunctionClassHolder.getInstance().getInstance(opName) + else DynamicCustomOp.builder(opName).build() + Preconditions.checkState( + dfInstance != null, + "Could not find class for ${opMappingProcess.opName()}", + opName + ) + var df: DifferentialFunction + df = try { + dfInstance.javaClass.newInstance() + } catch (t: Throwable) { + //Should never happen because function was already created via no-arg constructor earlier + throw RuntimeException(t) + } + + df.sameDiff = sd + df.ownName = name + + val opDefLookup = opMappingRegistry.lookupInputFrameworkOpDef(opName) as OP_DEF_TYPE + + + //Import override case + val o = importOverride[name] + println("Importing op $opName using override $importOverride") + + //First, get inputs: + val inputs: MutableList = java.util.ArrayList() + var controlDeps: MutableList? = null + val nd4jOpName = opMappingRegistry.lookupOpMappingProcess(opName).opName() + val opDescriptor = opMappingRegistry.lookupNd4jOpDef(nd4jOpName) + val opInputs = opDescriptor.argDescriptorList.filter { argDescriptor -> argDescriptor.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR } + val numInputs = opInputs.size + + + for (i in 0 until numInputs) { + val inName = nodeInputTo[nd.nodeName()]!![i]!! + val controlDep = isControlDep(inName) + val v = sd.getVariable(name) + if (controlDep) { + if (controlDeps == null) controlDeps = java.util.ArrayList() + controlDeps.add(v) + } else { + inputs.add(v) + } + + o!!.initAttributes(df, sd, importInfo[nd.nodeName()]!!) + } + } + } + + + //Now that we have just added an op (or variable) - check what this feeds into, and see what we can now process + // as a result + if (nodeInputTo.containsKey(name)) { + val set: ListOrderedSet? = nodeInputTo[name] + for (nextOp in set!!) { + val nextOpDef = remainingNodes[nextOp] + + if (nextOpDef == null) { + val opSet = setOf("noop","assert","while","identity","const","merge") + if (sd.ops.containsKey(nextOp) || opSet.contains(importInfoForNode!!.first.nd4jOpName())) { + //Already processed this. + //Almost certainly the close of a loop - like NextIteration -> Merge case + continue + } + throw IllegalStateException("Could not find op definition for op to import: $nextOp") + } + + val nInNext = nextOpDef.numInputs() + var allAlreadyInGraph = true + var nonControlSeenCount = 0 + + for (i in 0 until nInNext) { + val s = nextOpDef.inputAt(i) + var inName = stripControl(stripVarSuffix((nextOpDef.inputAt(i)))) + if (inName.endsWith(":0")) { + //Strip ":0" suffix. Some ops can depend on placeholders, like "image_tensor:0" but in SameDiff this is a variable called "image_tensor" + inName = inName.substring(0, inName.length - 2) + } + +// log.info("Input: {}, {}", s, inName); + if (!sd.hasVariable(inName) && !skipCase) { +// log.info("Not found: {} for op {}", inName, nextOpDef.getName()); + allAlreadyInGraph = false + break + } else if (!isControlDep(s)) { + nonControlSeenCount++ + } + } + + //Merge ops are an edge case. We'll allow these to be executed with just ONE input, to break + // the cycle in loops. In loops, generally we have (Enter, NextIteration) -> Merge, which + // of course can't be done if we strictly require all inputs to be available + val mergeCase = nonControlSeenCount > 0 && "Merge" == nextOpDef.opName() + if (allAlreadyInGraph || mergeCase) { + //Can process this op, add it to the queue for processing + if (!availableToAddSet.contains(nextOp)) { + //Avoid processing same op multiple times, for repeated inputs to one op, etc + availableToAdd.add(nextOpDef) + availableToAddSet.add(nextOp) + println("Added to processing queue: ${nextOpDef.opName()} (name=$nextOp)") + } + } + } + } + + //Finally, remove the just processed op from remainingNodes map: + remainingNodes.remove(name) + opsRemoved.add(name) + } + + //Post process the control dependencies, if any (done after because dependencies may not exist when imported) + for ((varName, cdOpNames) in constControlDeps) { + sd.variables[varName]!!.controlDeps = cdOpNames + for (s in cdOpNames) { + val sdo = sd.ops[s] + if(sd.ops.containsKey(s)) { + if (sdo!!.controlDepFor == null) sdo.controlDepFor = java.util.ArrayList() + val l = sdo.controlDepFor + if (!l.contains(s)) l.add(varName) + } + } + } + + //Post process the merge ops - all we are missing is a Variable.getInputsForOp().add(mergeOpName); + for ((key, value) in mergeOpsPostProcess) { + val v = sd.variables[value] + if(v != null) { + if ( v!!.inputsForOp == null) v.inputsForOp = java.util.ArrayList() + v.inputsForOp.add(key) + } + + } + + + println("Variables added $variablesAdded") + FileUtils.writeLines(File("variables-added-new.txt"),variablesAdded) + println("Ops imported $opsImported") + FileUtils.writeLines(File("ops-imported-new.txt"),opsImported) + println("Ops added$opsAdded") + FileUtils.writeLines(File("ops-added-new.txt"),opsAdded) + println("Ops removed $opsRemoved") + FileUtils.writeLines(File("ops-removed-new.txt"),opsRemoved) + + Preconditions.checkState( + remainingNodes.isEmpty(), + "%s Unprocessed nodes: %s", + remainingNodes.size, + remainingNodes.keys + ) + return sd + } +} + diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ImportGraphFactory.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ImportGraphFactory.kt new file mode 100644 index 000000000..598bff0dc --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ImportGraphFactory.kt @@ -0,0 +1,56 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport + +import org.nd4j.common.config.ND4JClassLoading +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum +import java.util.* + +class ImportGraphFactory { + + val frameworkImportGraphInstances = HashMap() + + init { + val loaded = ServiceLoader.load(ImportGraphHolder::class.java,ND4JClassLoading.getNd4jClassloader()) + val iter = loaded.iterator() + while(iter.hasNext()) { + val next = iter.next() + frameworkImportGraphInstances[next.frameworkName()] = next + } + } + + fun createImportGraph(frameworkName: String): ImportGraph< + GRAPH_TYPE, + NODE_TYPE, + OP_DEF_TYPE, + TENSOR_TYPE, + ATTR_DEF_TYPE, + ATTR_VALUE_TYPE, + DATA_TYPE> { + return frameworkImportGraphInstances[frameworkName]!!.createImportGraph() + } + + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ImportGraphHolder.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ImportGraphHolder.kt new file mode 100644 index 000000000..838b2d857 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ImportGraphHolder.kt @@ -0,0 +1,42 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport + +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +interface ImportGraphHolder { + + fun frameworkName(): String + + fun createImportGraph(): ImportGraph< + GRAPH_TYPE, + NODE_TYPE, + OP_DEF_TYPE, + TENSOR_TYPE, + ATTR_DEF_TYPE, + ATTR_VALUE_TYPE, + DATA_TYPE> + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/context/AbstractMappingContext.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/context/AbstractMappingContext.kt new file mode 100644 index 000000000..1cb93580a --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/context/AbstractMappingContext.kt @@ -0,0 +1,174 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.context + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.hooks.PostImportHook +import org.nd4j.samediff.frameworkimport.hooks.PreImportHook +import org.nd4j.samediff.frameworkimport.ir.IRGraph +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.reflect.ImportReflectionCache +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class AbstractMappingContext( + opDef: OP_DEF_TYPE, + node: NODE_TYPE, + graph: + IRGraph, + dynamicVariables: MutableMap = HashMap()): + MappingContext { + + val opDef = opDef + val node = node + val graph = graph + val dynamicVariables: MutableMap = dynamicVariables + val descriptorsSoFar = ArrayList() + val relevantPreProcessingHooks = ArrayList() + val relevantPostProcessingHooks = ArrayList() + init { + discoverHooks() + } + + fun discoverHooks() { + ImportReflectionCache.preProcessRuleImplementationsByNode.filterKeys { input -> input == irNode().nodeName() }.values.forEach { hooks -> + relevantPreProcessingHooks.addAll(hooks) + } + + ImportReflectionCache.preProcessRuleImplementationsByOp.filterKeys { input -> input == nd4jOpName() }.values.forEach { hooks -> + relevantPreProcessingHooks.addAll(hooks) + } + + + ImportReflectionCache.postProcessRuleImplementationsByOp.filterKeys { input -> input == nd4jOpName() }.values.forEach { hooks -> + relevantPostProcessingHooks.addAll(hooks) + } + + ImportReflectionCache.postProcessRuleImplementationsByNode.filterKeys { input -> input == irNode().nodeName() }.values.forEach { hooks -> + relevantPostProcessingHooks.addAll(hooks) + } + } + + override fun nodeAttributesAsMap(): Map { + val ret = HashMap() + irNode().attributeMap().forEach { name, attribute -> + when(attribute.attributeValueType()) { + AttributeValueType.LIST_INT -> { + ret[name] = attribute.listIntValue() + } + + AttributeValueType.LIST_TENSOR -> { + ret[name] = attribute.listTensorValue().map { input -> input.toNd4jNDArray() } + } + AttributeValueType.TENSOR -> { + ret[name] = attribute.tensorValue().toNd4jNDArray() + } + + AttributeValueType.BOOL -> { + ret[name] = attribute.boolValue() + } + + AttributeValueType.DATA_TYPE -> { + ret[name] = attribute.dataTataTypeValue().nd4jDataType() + } + + AttributeValueType.FLOAT -> { + ret[name] = attribute.floatValue() + } + + AttributeValueType.LIST_FLOAT -> { + ret[name] = attribute.listFloatValue() + } + + AttributeValueType.INT -> { + ret[name] = attribute.intValue() + } + + AttributeValueType.LIST_BOOL -> { + ret[name] = attribute.listBoolValue() + } + + AttributeValueType.STRING -> { + ret[name] = attribute.stringValue() + } + + AttributeValueType.LIST_STRING -> { + ret[name] = attribute.listStringValue() + } + + AttributeValueType.INVALID -> { + + } + } + } + + return ret + } + + override fun relevantPrehookRules(): List { + return relevantPreProcessingHooks + } + + override fun relevantPosthookRules(): List { + return relevantPostProcessingHooks + } + + override fun descriptorsSoFar(): MutableList { + return descriptorsSoFar + } + + override fun dynamicResolutionVariables(): MutableMap { + return dynamicVariables + } + + override fun resolveDynamic(): Boolean { + return dynamicVariables.isNotEmpty() + } + + override fun node(): NODE_TYPE { + return node + } + + override fun opDef(): OP_DEF_TYPE { + return opDef + } + + override fun graph(): IRGraph { + return graph + } + + override fun argDescriptorTypeForName(nd4jName: String): List { + val opDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(graph.nd4jNameForInternalOpName(opName())) + return opDescriptor.argDescriptorList.filter { argDescriptor -> argDescriptor.name == nd4jName }.map { argDescriptor -> argDescriptor.argType } + } + + override fun nd4jOpName(): String { + return OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(graph.nd4jNameForInternalOpName(opName())).name + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/context/MappingContext.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/context/MappingContext.kt new file mode 100644 index 000000000..d5152b7e0 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/context/MappingContext.kt @@ -0,0 +1,126 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.context + +import org.nd4j.ir.OpNamespace +import org.nd4j.linalg.api.buffer.DataType +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.samediff.frameworkimport.hooks.PostImportHook +import org.nd4j.samediff.frameworkimport.hooks.PreImportHook +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.ir.IRGraph +import org.nd4j.samediff.frameworkimport.ir.IRNode +import org.nd4j.samediff.frameworkimport.ir.IRTensor +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +interface MappingContext { + + /** + * Prehook rules for this context + */ + fun relevantPrehookRules(): List + + /** + * Post hook rules for this context + */ + fun relevantPosthookRules(): List + + /** + * Whether to resolve dynamic place holder variables where + * scalar values are present. An example scenario is when a value is an input ndarray + * such as pow(..) where 1 is always an ndarray and the other is a scalar value + * represented as a double argument in nd4j, but might be a placeholder + * in the input framework. + */ + fun resolveDynamic(): Boolean + + /** + * Return the node attributes as a map. + * Note: should mainly be used by internal tools + * that know what to expect from the attributes coming + * from the context. + */ + fun nodeAttributesAsMap(): Map + + /** + * Input variables for dynamic resolution required for import. + * This is important for any cases where a placeholder variable + * can be imported and resolved dynamically and later passed on as scalars. + */ + fun dynamicResolutionVariables(): MutableMap + + fun node(): NODE_TYPE + + /** + * The in use IR Node for mapping + */ + fun irNode(): IRNode + + + + /** + * The op def we are mapping + */ + fun opDef(): OP_DEF_TYPE + + + /** + * The op name we're mapping + */ + fun opName(): String + + /** + * The name of the node we're mapping for the context + */ + fun nodeName(): String + + fun attrDef(name: String): ATTRIBUTE_TYPE + + fun tensorInputFor(name: String): IRTensor + + + fun tensorInputFromInputFrameworkName(name: String): IRTensor + + fun tensorAttributeFor(name: String): IRTensor + + + fun createIRTensorFromNDArray(ndaray: INDArray): IRTensor + + fun nd4jDataTypeFor(input: IRTensor): DataType + + fun irAttributeValueForNode(valueName: String): IRAttribute + + fun argDescriptorTypeForName(nd4jName: String): List + + /** + * Associated graph for the mapping context + */ + fun graph(): IRGraph + + /** + * The op name mapped to in nd4j + */ + fun nd4jOpName(): String + + /** + * The descriptors we've accumulated so far for the result + */ + fun descriptorsSoFar(): MutableList +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/hooks/PostImportHook.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/hooks/PostImportHook.kt new file mode 100644 index 000000000..eb8fef057 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/hooks/PostImportHook.kt @@ -0,0 +1,29 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.hooks + +import org.nd4j.autodiff.samediff.SameDiff +import org.nd4j.autodiff.samediff.internal.SameDiffOp +import org.nd4j.samediff.frameworkimport.hooks.annotations.HookResult + +interface PostImportHook { + + fun postProcess(op: SameDiffOp, sd: SameDiff, attributes: Map): HookResult + + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/hooks/PreImportHook.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/hooks/PreImportHook.kt new file mode 100644 index 000000000..9665bc28b --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/hooks/PreImportHook.kt @@ -0,0 +1,28 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.hooks + +import org.nd4j.autodiff.samediff.SameDiff +import org.nd4j.autodiff.samediff.internal.SameDiffOp +import org.nd4j.samediff.frameworkimport.hooks.annotations.HookResult + +interface PreImportHook { + + fun preProcess(op: SameDiffOp, sd: SameDiff, attributes: Map): HookResult + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/hooks/annotations/HookResult.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/hooks/annotations/HookResult.kt new file mode 100644 index 000000000..7f15ede9e --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/hooks/annotations/HookResult.kt @@ -0,0 +1,24 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.samediff.frameworkimport.hooks.annotations + +import org.nd4j.autodiff.functions.DifferentialFunction +import org.nd4j.autodiff.samediff.SDVariable + +data class HookResult(val outputVariables: Map> = emptyMap(),val functions: List = emptyList()) diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/hooks/annotations/PostHookRule.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/hooks/annotations/PostHookRule.kt new file mode 100644 index 000000000..fcd2f2b4e --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/hooks/annotations/PostHookRule.kt @@ -0,0 +1,20 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.hooks.annotations + +annotation class PostHookRule(val nodeNames: Array,val opNames: Array, val frameworkName: String) diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/hooks/annotations/PreHookRule.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/hooks/annotations/PreHookRule.kt new file mode 100644 index 000000000..fe9916a7b --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/hooks/annotations/PreHookRule.kt @@ -0,0 +1,20 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.hooks.annotations + +annotation class PreHookRule(val nodeNames: Array,val opNames: Array,val frameworkName: String) diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IRArgDef.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IRArgDef.kt new file mode 100644 index 000000000..0d4f5113b --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IRArgDef.kt @@ -0,0 +1,34 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.ir + +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +interface IRArgDef + where DATA_TYPE: ProtocolMessageEnum { + fun name(): String + + fun description(): String + + fun dataType(): IRDataType + + fun internalValue(): T + + fun indexOf(): Integer +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IRAttribute.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IRAttribute.kt new file mode 100644 index 000000000..31889026e --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IRAttribute.kt @@ -0,0 +1,58 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.ir + +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +interface IRAttribute { + + fun name(): String + + fun floatValue(): Float + + fun listFloatValue(): List + + fun tensorValue(): IRTensor + + fun listTensorValue(): List> + + fun intValue(): Long + + fun listIntValue(): List + + fun boolValue(): Boolean + + fun listBoolValue(): List + + fun stringValue(): String + + fun listStringValue(): List + + fun attributeValueType(): AttributeValueType + + fun dataTataTypeValue(): IRDataType + + fun internalAttributeDef(): ATTRIBUTE_TYPE + + + fun internalAttributeValue(): ATTRIBUTE_VALUE_TYPE +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IRDataType.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IRDataType.kt new file mode 100644 index 000000000..c9dc0852e --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IRDataType.kt @@ -0,0 +1,34 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.ir + +import org.nd4j.ir.TensorNamespace +import org.nd4j.linalg.api.buffer.DataType +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +interface IRDataType where DATA_TYPE: ProtocolMessageEnum { + fun convertToDataType(input: DATA_TYPE): IRDataTypeValue + + fun dataType(): IRDataTypeValue + + fun internalValue(): DATA_TYPE + + fun nd4jDataType(): DataType + + fun nameSpaceDataType(): TensorNamespace.DataType +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IRDataTypeValue.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IRDataTypeValue.kt new file mode 100644 index 000000000..63e64bf5c --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IRDataTypeValue.kt @@ -0,0 +1,46 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.ir + +enum class IRDataTypeValue { + DT_FLOAT, + DT_DOUBLE, + DT_INT32, + DT_UINT8, + DT_INT16, + DT_INT8, + DT_STRING, + DT_COMPLEX64, // Single-precision complex + DT_INT64, + DT_BOOL, + DT_QINT8, // Quantized int8 + DT_QUINT8, // Quantized uint8 + DT_QINT32, // Quantized int32 + DT_BFLOAT16, // Float32 truncated to 16 bits. Only for cast ops. + DT_QINT16, // Quantized int16 + DT_QUINT16, // Quantized uint16 + DT_UINT16, + DT_COMPLEX128, // Double-precision complex + DT_HALF, + DT_RESOURCE, + DT_VARIANT, // Arbitrary C++ data types + DT_UINT32, + DT_UINT64, + DT_INVALID + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IRFunctions.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IRFunctions.kt new file mode 100644 index 000000000..d13106c2a --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IRFunctions.kt @@ -0,0 +1,62 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.samediff.frameworkimport.ir + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +fun importInfoForEachNodeInGraph ( + graph: IRGraph, + dynamicVariables: MutableMap) + : Map, OpNamespace.OpDescriptor>> { + + val opMappingRegistry = graph.opMappingRegistry() + + val ret = HashMap, OpNamespace.OpDescriptor>>() + + graph.nodeList().forEach { node -> + val name = node.nodeName() + val opMappingProcess = opMappingRegistry.lookupOpMappingProcess(node.opName()) + val opDefLookup = opMappingRegistry.lookupInputFrameworkOpDef(node.opName()) + val mappingContext = graph.createMappingContext( + opDef = opDefLookup, + node = graph.nodeByName(node.nodeName()), + dynamicVariables = dynamicVariables + ) + + val applied = opMappingProcess.applyProcess(mappingContext) + ret[name] = applied + } + + return ret +} diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IRGraph.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IRGraph.kt new file mode 100644 index 000000000..dadb05255 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IRGraph.kt @@ -0,0 +1,89 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.ir + +import org.nd4j.ir.OpNamespace +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.registry.OpMappingRegistry +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +interface IRGraph< + GRAPH_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + TENSOR_TYPE: GeneratedMessageV3, + ATTRIBUTE_TYPE: GeneratedMessageV3, + ATTRIBUTE_VALUE_TYPE: GeneratedMessageV3, + DATA_TYPE : ProtocolMessageEnum> { + + fun addConstantNode(name: String,value: INDArray) + + fun importInfoForEachNode(dynamicVariables: MutableMap): Map, OpNamespace.OpDescriptor>> + + fun shapeOfInput(varName: String): LongArray? + + fun dataTypeForVariable(varName: String): IRDataType + + fun isConstant(opName: String): Boolean + + fun nodeIsPlaceHolder(nodeName: String): Boolean + + fun isPlaceHolder(opName: String): Boolean + + fun isVariable(nodeName: String): Boolean + + fun isConstantOpName(name: String): Boolean + + fun isVariableOpName(name: String): Boolean + + fun nodeByName(input: String): NODE_TYPE + + fun nodeList(): List> + + fun internalValue(): GRAPH_TYPE + + fun opMappingRegistry(): OpMappingRegistry + + fun updateNode(node: IRNode) + + fun createMappingContext( + opDef: OP_DEF_TYPE, + node: NODE_TYPE, + dynamicVariables: MutableMap + ): MappingContext + + fun frameworkName(): String + + fun nd4jNameForInternalOpName(name: String): String + + fun graphOutputs(): List + + fun outputAt(index: Int): String + + fun setOutputs(outputs: List) + + fun graphInputs(): List + + fun inputAt(index: Int): String + + fun setInputs(inputs: List) + + fun getConstantArrayForName(name: String): INDArray +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IRNode.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IRNode.kt new file mode 100644 index 000000000..5e7148769 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IRNode.kt @@ -0,0 +1,106 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.ir + +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +interface IRNode + where DATA_TYPE: ProtocolMessageEnum { + + + fun nd4jInputs(tensorMappings: Map): List + + fun computeAdjustedOffsetForInput( + nd4jName: String, + inputFrameworkName: String, + tensorInputMappings: Map + ): Int + + /** + * Get the list of inputs from the node that represent a particular + * [OpDef] input list name. + */ + fun inputNamesForListOfInputValues(inputListName: String): List + + /** + * Compute the number of inputs + * for a list of tensors that reflect 1 or more inputs + * as 1 name. + */ + fun numInputsForListOfTensors(name: String): Int + + /** + * List of inputs in to the node + * @return the list of input names for this node + */ + fun createInputsFrom(inputData: List): List> + + /** + * List of outputs + * @return the list of output names for this node + */ + fun createOutputsFrom(inputValues: List): List> + + /** + * Op name + */ + fun opName(): String + + /** + * The name of the node + * @return the name of the node + */ + fun nodeName(): String + + /** + * Dynamically add an input to the node + + */ + fun addInput(inputName: String) + + /** + * List of input names + */ + fun inputs(): List + + /** + * List of output names + */ + fun outputs(): List + + /** + * The input at a particular index + * @return the name at the particular index + */ + fun inputAt(index: Int): String + fun outputAt(index: Int): String + + fun numInputs(): Int + + fun numOutputs(): Int + + fun attributeMap(): Map> + fun getAttribute(inputName: String): IRAttribute + fun hasAttribute(inputName: String): Boolean + + fun internalValue(): NODE_TYPE +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IROpDef.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IROpDef.kt new file mode 100644 index 000000000..a5e6b4f49 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IROpDef.kt @@ -0,0 +1,41 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.ir + +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +interface IROpDef< + GRAPH_DEF: GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, + ARG_DEF_TYPE : GeneratedMessageV3, DATA_TYPE, + ATTRIBUTE_TYPE : GeneratedMessageV3, + ATTRIBUTE_VALUE_TYPE : GeneratedMessageV3> + where DATA_TYPE: ProtocolMessageEnum { + fun opName(): String + + fun internalValue(): OP_DEF_TYPE + + fun inputArgs(): List> + + fun outputArgs(): List> + + fun attributes(): List> + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IRTensor.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IRTensor.kt new file mode 100644 index 000000000..aeef6e9ac --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/ir/IRTensor.kt @@ -0,0 +1,34 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.ir + +import org.nd4j.ir.TensorNamespace +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +interface IRTensor + where DATA_TYPE: ProtocolMessageEnum { + fun shape(): List + fun stride(): List + fun dataType(): IRDataType + fun toArgTensor(): TensorNamespace.TensorProto + fun rawValue(): TENSOR_TYPE + fun toNd4jNDArray(): INDArray + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/mapper/MapperExtensions.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/mapper/MapperExtensions.kt new file mode 100644 index 000000000..c6b65e28b --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/mapper/MapperExtensions.kt @@ -0,0 +1,24 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.mapper + +import org.nd4j.ir.OpNamespace + +fun OpNamespace.OpDescriptorList.findOp(opName: String): OpNamespace.OpDescriptor { + return this.opListList.first { it.name == opName } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/opdefs/OpDescriptorLoader.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/opdefs/OpDescriptorLoader.kt new file mode 100644 index 000000000..b5e7e3a0b --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/opdefs/OpDescriptorLoader.kt @@ -0,0 +1,49 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.samediff.frameworkimport.opdefs + +import org.nd4j.ir.MapperNamespace +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.registry.OpMappingRegistry +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +val nd4jFileNameTextDefault = "nd4j-op-def.pbtxt" +val nd4jFileSpecifierProperty = "samediff.import.nd4jdescriptors" + +interface OpDescriptorLoader { + + fun frameworkName(): String + + fun nd4jOpList(): OpNamespace.OpDescriptorList + + fun mappingProcessDefinitionSet(): MapperNamespace.MappingDefinitionSet + + fun inputFrameworkOpDescriptorList(): Map + + fun + createOpMappingRegistry(): OpMappingRegistry + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/opdefs/OpDescriptorLoaderHolder.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/opdefs/OpDescriptorLoaderHolder.kt new file mode 100644 index 000000000..1b0930b10 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/opdefs/OpDescriptorLoaderHolder.kt @@ -0,0 +1,46 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.opdefs + +import org.nd4j.ir.OpNamespace +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import java.util.* + +object OpDescriptorLoaderHolder { + val opDescriptorLoader = HashMap>() + var nd4jOpDescriptor: OpNamespace.OpDescriptorList = loadDescriptorLoaders() + + fun listForFramework(frameworkName: String): Map { + return opDescriptorLoader[frameworkName]!!.inputFrameworkOpDescriptorList() as Map + } + + private fun loadDescriptorLoaders(): OpNamespace.OpDescriptorList { + val loaded = ServiceLoader.load(OpDescriptorLoader::class.java) + val iter = loaded.iterator() + while(iter.hasNext()) { + val next = iter.next() + val loadedList = next.inputFrameworkOpDescriptorList() + opDescriptorLoader[next.frameworkName()] = next + nd4jOpDescriptor = next.nd4jOpList() + } + + return nd4jOpDescriptor + } + + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/process/AbstractMappingProcess.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/process/AbstractMappingProcess.kt new file mode 100644 index 000000000..a037b36cb --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/process/AbstractMappingProcess.kt @@ -0,0 +1,246 @@ + +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.process + +import org.nd4j.ir.MapperNamespace +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.* +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.ir.IRNode +import org.nd4j.samediff.frameworkimport.ir.IROpDef +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.registry.OpMappingRegistry +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeMappingRule +import org.nd4j.samediff.frameworkimport.rule.tensor.TensorMappingRule +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum +import java.lang.IllegalArgumentException + +abstract class AbstractMappingProcess< + GRAPH_TYPE: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, + ATTRIBUTE_TYPE : GeneratedMessageV3, + ATTRIBUTE_VALUE_TYPE : GeneratedMessageV3, DATA_TYPE: ProtocolMessageEnum>(inputFramework: String, + frameworkVersion: String, + inputFrameworkOpName: String, + inputIndexOverrides: Map = emptyMap(), + opName: String, + opMappingRegistry: OpMappingRegistry, + tensorMappingRules: List>, + attributeMappingRules: List>): + MappingProcess { + + protected val inputFramework = inputFramework + protected val frameworkVersion = frameworkVersion + protected val inputFrameworkOpName = inputFrameworkOpName + protected val opName = opName + protected val tensorMappingRules = tensorMappingRules + protected val attributeMappingRules = attributeMappingRules + protected var opDef: IROpDef? = null + protected val opMappingRegistry = opMappingRegistry + protected val inputIndexOverrides = inputIndexOverrides + val nd4jOpDescriptors = OpDescriptorLoaderHolder.nd4jOpDescriptor + + + init { + + tensorMappingRules.forEach { tensorMappingRule -> + tensorMappingRule.initWithMappingProcess(this) + tensorMappingRule.mappingNamesToPerform().forEach { (nd4jName, inputFrameworkName) -> + if(!tensorMappingRule.isInputTensorName(inputFrameworkName)) { + throw IllegalArgumentException( + "Found invalid input tensor named ${inputFrameworkName} for rule ${tensorMappingRule.name()} and mapping process for op ${opName} and input framework name ${inputFrameworkOpName} with definition being ${ + nd4jOpDescriptors.findOp( + opName + ) + }" + ) + } + + if(!tensorMappingRule.isOutputTensorName(nd4jName)) { + throw IllegalArgumentException( + "Found invalid output tensor named ${nd4jName} for rule ${tensorMappingRule.name()} and mapping process for op ${opName} and input framework name ${inputFrameworkOpName} with definition being ${ + nd4jOpDescriptors.findOp( + opName + ) + }" + ) + } + + } + } + + attributeMappingRules.forEach { + it.initWithMappingProcess(this) + attributeMappingRules.forEach { attributeMappingRule -> + attributeMappingRule.mappingNamesToPerform().forEach { (nd4jName, inputFrameworkName) -> + val inputType = attributeMappingRule.attributeValueTypeFor(inputFrameworkName,this) + if(!attributeMappingRule.acceptsInputType(inputType)) { + throw IllegalArgumentException("Rule ${attributeMappingRule.name()} for framework $inputFramework does not accept input type ${inputType} for attribute name ${inputFrameworkName} and mapping process for op ${opName} and input framework name ${inputFrameworkOpName}") + } + + val outputType = attributeMappingRule.argDescriptorTypesForOutputName(nd4jName,this) + if(!attributeMappingRule.outputsType(outputType)) { + throw IllegalArgumentException("Rule ${attributeMappingRule.name()} for framework $inputFramework with input framework name $inputFrameworkName and framework op name $inputFrameworkOpName does not accept output type ${outputType} for attribute name ${nd4jName} and mapping process for op ${opName}") + } + + } + } + } + + + opMappingRegistry.registerMappingProcess( + inputFrameworkOpName = inputFrameworkOpName, + processToRegister = this + ) + + + } + + override fun indexOverrides(): Map { + return inputIndexOverrides + } + + override fun attributeMappingRules(): List> { + return attributeMappingRules + } + + override fun tensorMappingRules(): List> { + return tensorMappingRules + } + + override fun applyProcessReverse(input: OpNamespace.OpDescriptor): IRNode { + TODO("Not yet implemented") + } + + override fun inputFrameworkOpName(): String { + return inputFrameworkOpName + } + + override fun opName(): String { + return opName + } + + override fun frameworkVersion(): String { + return frameworkVersion + } + + override fun inputFramework(): String { + return inputFramework + } + + override fun applyProcess(mappingCtx: MappingContext + ): Pair, OpNamespace.OpDescriptor> { + val descriptorBuilder = OpNamespace.OpDescriptor.newBuilder() + descriptorBuilder.name = opName() + tensorMappingRules.forEach { + it.convertInput(mappingCtx).forEach { descriptor -> run { + descriptorBuilder.addArgDescriptor(descriptor) + mappingCtx.descriptorsSoFar().add(descriptor) + } + } + } + + + attributeMappingRules.forEach { + it.convertAttributes(mappingCtx).forEach { + descriptor -> + run { + descriptorBuilder.addArgDescriptor(descriptor) + mappingCtx.descriptorsSoFar().add(descriptor) + } + } + } + + val fullDescriptor = nd4jOpDescriptors.findOp(opName()) + descriptorBuilder.opDeclarationType = fullDescriptor.opDeclarationType + + return Pair(mappingCtx,descriptorBuilder.build()) + } + + override fun serialize(): MapperNamespace.MapperDeclaration { + val retBuilder = MapperNamespace.MapperDeclaration.newBuilder() + retBuilder.frameworkName = inputFramework() + retBuilder.opName = opName() + retBuilder.inputFrameworkOpName = inputFrameworkOpName() + + indexOverrides().forEach { indexToOverride, replacementIndex -> + retBuilder.putIndexOverrides(indexToOverride.toLong(),replacementIndex.toLong()) + } + + tensorMappingRules.forEach { + retBuilder.addRule(it.serialize().toBuilder()) + } + + attributeMappingRules.forEach { + retBuilder.addRule(it.serialize().toBuilder()) + } + + return retBuilder.build() + } + + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (other !is AbstractMappingProcess<*, *, *, *, *, *, *>) return false + + if (inputFramework != other.inputFramework) return false + if (frameworkVersion != other.frameworkVersion) return false + if (inputFrameworkOpName != other.inputFrameworkOpName) return false + if (opName != other.opName) return false + if (tensorMappingRules != other.tensorMappingRules) return false + if (attributeMappingRules != other.attributeMappingRules) return false + if (opDef != other.opDef) return false + if (inputIndexOverrides != other.inputIndexOverrides) return false + + return true + } + + override fun hashCode(): Int { + var result = inputFramework.hashCode() + result = 31 * result + frameworkVersion.hashCode() + result = 31 * result + inputFrameworkOpName.hashCode() + result = 31 * result + opName.hashCode() + result = 31 * result + tensorMappingRules.hashCode() + result = 31 * result + attributeMappingRules.hashCode() + result = 31 * result + (opDef?.hashCode() ?: 0) + result = 31 * result + inputIndexOverrides.hashCode() + return result + } + + override fun toString(): String { + return "AbstractMappingProcess(inputFramework='$inputFramework', frameworkVersion='$frameworkVersion', inputFrameworkOpName='$inputFrameworkOpName', opName='$opName', tensorMappingRules=$tensorMappingRules, attributeMappingRules=$attributeMappingRules, opDef=$opDef, inputIndexOverrides=$inputIndexOverrides, nd4jOpDescriptors=$nd4jOpDescriptors)" + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/process/AbstractMappingProcessLoader.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/process/AbstractMappingProcessLoader.kt new file mode 100644 index 000000000..f4e3dd7ec --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/process/AbstractMappingProcessLoader.kt @@ -0,0 +1,176 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.process + +import io.github.classgraph.ClassGraph +import org.apache.commons.lang3.reflect.TypeUtils +import org.nd4j.ir.MapperNamespace +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.registry.OpMappingRegistry +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeMappingRule +import org.nd4j.samediff.frameworkimport.rule.tensor.TensorMappingRule +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum +import java.util.concurrent.ConcurrentHashMap + +abstract class AbstractMappingProcessLoader< + GRAPH_TYPE: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_DEF_TYPE: GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, + ATTRIBUTE_TYPE : GeneratedMessageV3, + ATTRIBUTE_VALUE_TYPE : GeneratedMessageV3, + DATA_TYPE: ProtocolMessageEnum>( opMappingRegistry : OpMappingRegistry): + MappingProcessLoader { + val attributeRules = HashMap>>() + val tensorRules = HashMap>>() + val opMappingRegistry = opMappingRegistry + init { + val scannedClasses = ClassGraph().enableAllInfo() + .scan() + scannedClasses.getClassesImplementing(AttributeMappingRule::class.java.name).filter { + clazz-> !clazz.isAbstract + && !clazz.isAnnotation + && !clazz.isInterface + && clazz.hasAnnotation(MappingRule::class.java.name) + && clazz.annotationInfo.first { annotationInfo -> annotationInfo.name == MappingRule::class.java.name } + .parameterValues["frameworkName"].value.toString() == frameworkName() + }.forEach { classInfo -> + val ruleName = classInfo.annotationInfo.first { annotationInfo -> annotationInfo.name == MappingRule::class.java.name }.parameterValues["ruleName"].value.toString() + val type = classInfo.annotationInfo.first { annotationInfo -> annotationInfo.name == MappingRule::class.java.name }.parameterValues["type"].value.toString() + if(type == "attribute") { + val clazz = Class.forName(classInfo.name) + as Class> + + attributeRules[ruleName] = clazz + } else if(type == "tensor") { + val clazz = Class.forName(classInfo.name) + as Class> + + tensorRules[ruleName] = clazz + } + } + + scannedClasses.getClassesImplementing(TensorMappingRule::class.java.name).filter { + clazz-> !clazz.isAbstract + && !clazz.isAnnotation + && !clazz.isInterface + && clazz.hasAnnotation(MappingRule::class.java.name) + && clazz.annotationInfo.first { annotationInfo -> annotationInfo.name == MappingRule::class.java.name } + .parameterValues["frameworkName"].value.toString() == frameworkName() + }.forEach { classInfo -> + val ruleName = classInfo.annotationInfo.first { annotationInfo -> annotationInfo.name == MappingRule::class.java.name }.parameterValues["ruleName"].value.toString() + val clazz = Class.forName(classInfo.name) + as Class> + + tensorRules[ruleName] = clazz + } + + } + + override fun createProcess(declaration: MapperNamespace.MapperDeclaration): MappingProcess { + val listOfTensorRules = ArrayList>() + val listOfAttributeRules = ArrayList>() + val dictClass = TypeUtils.parameterize(Map::class.java,String::class.java,String::class.java).rawType as Class> + val transformerArgsClass = TypeUtils.parameterize(Map::class.java,String::class.java, + TypeUtils.parameterize(List::class.java, + OpNamespace.ArgDescriptor::class.java)).rawType as Class>> + declaration.ruleList.forEach { rule -> + when(rule.ruleType) { + "tensor" -> { + val clazz = tensorRuleRegistry()[rule.ruleName]!!.getConstructor(dictClass,transformerArgsClass) + val transformerArgs = ConcurrentHashMap>() + rule.transformerArgsList.forEach { arg -> + transformerArgs[arg.key] = arg.transformerArgsList + } + + val instance = clazz.newInstance(rule.inputToOutputMap,transformerArgs) + listOfTensorRules.add(instance) + + } + "attribute" -> { + val transformerArgs = ConcurrentHashMap>() + rule.transformerArgsList.forEach { arg -> + transformerArgs[arg.key] = arg.transformerArgsList + } + + val constructor = attributeRuleRegistry()[rule.ruleName]!!.constructors.firstOrNull { + constructor -> constructor.parameterCount == 1 || constructor.parameterCount == 2 + } + + + if(constructor == null) { + throw IllegalArgumentException("No constructor found with parameter count < 3! Rule name ${rule.ruleName}") + } + + if(constructor!!.parameterCount == 1) { + val instance = constructor!!.newInstance(rule.inputToOutputMap) as AttributeMappingRule + instance.setMappingTransformerArgs(transformerArgs) + instance.setMappingTransformerArgs(transformerArgs) + instance.modifyName(rule.ruleName) + instance.modifyInputFrameworkOpName(rule.inputFrameworkOpName) + listOfAttributeRules.add(instance) + } else if(constructor!!.parameterCount == 2) { + val instance = constructor.newInstance(rule.inputToOutputMap,transformerArgs) as AttributeMappingRule + + instance.setMappingTransformerArgs(transformerArgs) + instance.modifyName(rule.ruleName) + instance.modifyInputFrameworkOpName(rule.inputFrameworkOpName) + + listOfAttributeRules.add(instance) + } else { + throw IllegalArgumentException("No constructor found with parameter count < 3 for op " + declaration.opName) + } + + + + + } + } + } + + val indexOverridesConverted = HashMap() + declaration.indexOverridesMap.forEach { input, output -> + indexOverridesConverted[input.toInt()] = output.toInt() + } + + return instantiateMappingProcess( + inputFrameworkOpName = declaration.inputFrameworkOpName, + opName = declaration.opName, + attributeMappingRules = listOfAttributeRules, + tensorMappingRules = listOfTensorRules, + opMappingRegistry = opMappingRegistry, + indexOverrides = indexOverridesConverted) + } + + abstract fun instantiateMappingProcess(inputFrameworkOpName: String,opName:String, + attributeMappingRules: List>, + tensorMappingRules: List>, + opMappingRegistry: OpMappingRegistry, + indexOverrides: Map + ): MappingProcess + + override fun tensorRuleRegistry(): Map>> { + return tensorRules as Map>> + } + + override fun attributeRuleRegistry(): Map>> { + return attributeRules as Map>> + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/process/MappingProcess.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/process/MappingProcess.kt new file mode 100644 index 000000000..da0251849 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/process/MappingProcess.kt @@ -0,0 +1,82 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.process + +import org.nd4j.ir.MapperNamespace +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeMappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.ir.IRNode +import org.nd4j.samediff.frameworkimport.rule.tensor.TensorMappingRule +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +interface MappingProcess< + GRAPH_TYPE: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_DEF_TYPE: GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, + ATTRIBUTE_TYPE : GeneratedMessageV3, + ATTRIBUTE_VALUE_TYPE : GeneratedMessageV3, + DATA_TYPE: ProtocolMessageEnum> { + + + + fun inputOpDefValueTypes(): Map + + fun opName(): String + + fun frameworkVersion(): String + + fun inputFramework(): String + + fun inputFrameworkOpName(): String + + fun attributeMappingRules(): List> + + fun tensorMappingRules(): List> + + fun applyProcess(mappingCtx: MappingContext + ): + Pair, OpNamespace.OpDescriptor> + + fun applyProcessReverse(input: OpNamespace.OpDescriptor): IRNode + + + fun indexOverrides() : Map + + fun serialize(): MapperNamespace.MapperDeclaration + + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/process/MappingProcessLoader.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/process/MappingProcessLoader.kt new file mode 100644 index 000000000..8cf408f3f --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/process/MappingProcessLoader.kt @@ -0,0 +1,50 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.process + +import org.nd4j.ir.MapperNamespace +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeMappingRule +import org.nd4j.samediff.frameworkimport.rule.tensor.TensorMappingRule +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +interface MappingProcessLoader< + GRAPH_TYPE: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_DEF_TYPE: GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, + ATTRIBUTE_TYPE : GeneratedMessageV3, + ATTRIBUTE_VALUE_TYPE : GeneratedMessageV3, + DATA_TYPE: ProtocolMessageEnum> { + + fun createProcess(declaration: MapperNamespace.MapperDeclaration): MappingProcess< + GRAPH_TYPE, + OP_DEF_TYPE, + NODE_DEF_TYPE, + TENSOR_TYPE, + ATTRIBUTE_TYPE, + ATTRIBUTE_VALUE_TYPE, + DATA_TYPE> + + fun attributeRuleRegistry(): Map>> + + fun tensorRuleRegistry(): Map>> + + fun frameworkName(): String + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/reflect/ImportReflectionCache.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/reflect/ImportReflectionCache.kt new file mode 100644 index 000000000..1feca55cf --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/reflect/ImportReflectionCache.kt @@ -0,0 +1,89 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.reflect + +import io.github.classgraph.ClassGraph +import org.nd4j.samediff.frameworkimport.hooks.PostImportHook +import org.nd4j.samediff.frameworkimport.hooks.PreImportHook +import org.nd4j.samediff.frameworkimport.hooks.annotations.PostHookRule +import org.nd4j.samediff.frameworkimport.hooks.annotations.PreHookRule + +object ImportReflectionCache { + + val scannedClasses = ClassGraph().enableAllInfo() + .scan() + + //all relevant node names relevant for + val preProcessRuleImplementationsByNode = HashMap>() + val postProcessRuleImplementationsByNode = HashMap>() + //all relevant op names hook should be useful for + val preProcessRuleImplementationsByOp = HashMap>() + val postProcessRuleImplementationsByOp = HashMap>() + + init { + scannedClasses.getClassesImplementing(PreImportHook::class.java.name).filter { input -> input.hasAnnotation(PreHookRule::class.java.name) }.forEach { + val instance = Class.forName(it.name).getDeclaredConstructor().newInstance() as PreImportHook + val rule = it.annotationInfo.first { input -> input.name == PreHookRule::class.java.name } + val nodeNames = rule.parameterValues["nodeNames"].value as Array + nodeNames.forEach { nodeName -> + if(!preProcessRuleImplementationsByNode.containsKey(nodeName)) { + preProcessRuleImplementationsByNode[nodeName] = ArrayList() + } + + preProcessRuleImplementationsByNode[nodeName]!!.add(instance) + + } + val opNames = rule.parameterValues["opNames"].value as Array + opNames.forEach { opName -> + if(!preProcessRuleImplementationsByOp.containsKey(opName)) { + preProcessRuleImplementationsByNode[opName] = ArrayList() + } + + preProcessRuleImplementationsByOp[opName]!!.add(instance) + } + } + + scannedClasses.getClassesImplementing(PostImportHook::class.java.name).filter { input -> input.hasAnnotation(PostHookRule::class.java.name) }.forEach { + val instance = Class.forName(it.name).getDeclaredConstructor().newInstance() as PostImportHook + val rule = it.annotationInfo.first { input -> input.name == PostHookRule::class.java.name } + val nodeNames = rule.parameterValues["nodeNames"].value as Array + nodeNames.forEach { nodeName -> + if(!postProcessRuleImplementationsByNode.containsKey(nodeName)) { + postProcessRuleImplementationsByNode[nodeName] = ArrayList() + } + + postProcessRuleImplementationsByNode[nodeName]!!.add(instance) + } + + val opNames = rule.parameterValues["opNames"].value as Array + opNames.forEach { opName -> + if(!postProcessRuleImplementationsByOp.containsKey(opName)) { + postProcessRuleImplementationsByOp[opName] = ArrayList() + } + + postProcessRuleImplementationsByOp[opName]!!.add(instance) + } + + + } + + + } + +} + diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/registry/ObjectRegistryHolder.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/registry/ObjectRegistryHolder.kt new file mode 100644 index 000000000..3f20480a1 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/registry/ObjectRegistryHolder.kt @@ -0,0 +1,94 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.registry + +import onnx.Onnx +import org.apache.commons.collections4.multimap.HashSetValuedHashMap +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum +import org.tensorflow.framework.* +import java.lang.IllegalStateException + +object OpRegistryHolder { + + private val registeredOps = HashSetValuedHashMap>() + private val opDefLists = HashMap>() + + fun opMappingRegistryForName(name: String) : OpMappingRegistry { + if(!registeredOps.containsKey(name)) { + throw IllegalArgumentException("FRAMEWORK $name not found!") + } + return registeredOps[name].first() as OpMappingRegistry + + } + + + fun onnx(): OpMappingRegistry { + return registeredOps["onnx"].first() as OpMappingRegistry + } + + fun tensorflow(): OpMappingRegistry { + return registeredOps["tensorflow"].first() as OpMappingRegistry + } + + fun opListForFramework(frameworkName: String): Map { + return opDefLists[frameworkName] as Map + } + + fun registerOpList(inputFrameworkName: String,opDefMap: Map) { + opDefLists[inputFrameworkName] = opDefMap + + } + + fun registerOpMappingRegistry(framework: String, registry: OpMappingRegistry) { + registeredOps.put(framework,registry) + } + + fun + registerMappingProcess(inputFrameworkOpName: String, processToRegister: MappingProcess) { + registeredOps.put(inputFrameworkOpName,processToRegister as OpMappingRegistry + ) + } + + fun + lookupOpMappingProcess(inputFrameworkName: String, inputFrameworkOpName: String): + MappingProcess { + if(registeredOps[inputFrameworkName].isEmpty()) + throw IllegalStateException("No register ops found for framework name $inputFrameworkName") + val mappingRegistry = registeredOps[inputFrameworkName].first() + val lookup = mappingRegistry.lookupOpMappingProcess(inputFrameworkOpName = inputFrameworkOpName) + return lookup as MappingProcess + } +} diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/registry/OpMappingRegistry.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/registry/OpMappingRegistry.kt new file mode 100644 index 000000000..32f920de9 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/registry/OpMappingRegistry.kt @@ -0,0 +1,203 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.registry + +import org.apache.commons.collections4.MultiSet +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum +import org.apache.commons.collections4.MultiValuedMap +import org.apache.commons.collections4.multimap.HashSetValuedHashMap +import org.apache.commons.io.FileUtils + +import org.nd4j.ir.MapperNamespace +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.process.MappingProcessLoader +import org.nd4j.shade.protobuf.TextFormat +import java.io.File +import java.lang.IllegalArgumentException +import java.nio.charset.Charset + + +class OpMappingRegistry(inputFrameworkName: String,nd4jOpDescriptors: OpNamespace.OpDescriptorList) { + + val registeredOps: MultiValuedMap> = HashSetValuedHashMap< + String,MappingProcess>() + + val opDefList = HashMap() + val nd4jOpDefs = HashMap() + val inputFrameworkName = inputFrameworkName + val nd4jOpDescriptors = nd4jOpDescriptors + + + fun mappedNd4jOpNames(): Set { + return registeredOps.values().map { input -> input.opName() }.toSortedSet()!! + } + + fun mappingProcessNames(): MultiSet { + return registeredOps.keys()!! + } + + fun nd4jOpNames(): Set { + return nd4jOpDefs.keys + } + + fun inputFrameworkOpNames(): Set { + return opDefList.keys + } + + fun lookupNd4jOpDef(name:String): OpNamespace.OpDescriptor { + return nd4jOpDefs[name]!! + } + + fun registerOpDefs(opDefList: Map) { + opDefList.forEach { (name,inputOpDef) -> + registerInputFrameworkOpDef(name,inputOpDef) + } + } + + fun registerNd4jOpDef(name:String, opDef: OpNamespace.OpDescriptor) { + nd4jOpDefs[name] = opDef + } + + fun lookupInputFrameworkOpDef(name:String): OP_DEF_TYPE { + if(opDefList.isEmpty()) { + val opList = OpDescriptorLoaderHolder.listForFramework(inputFrameworkName) + opList.forEach { name,opDefType -> + opDefList[name] = opDefType + } + } + return opDefList[name]!! + } + + fun registerInputFrameworkOpDef(name: String,opDef: OP_DEF_TYPE) { + opDefList[name] = opDef + } + + fun registerMappingProcess(inputFrameworkOpName: String, processToRegister: MappingProcess) { + registeredOps.put(inputFrameworkOpName,processToRegister) + } + + fun hasMappingOpProcess(inputFrameworkOpName: String): Boolean { + return registeredOps.containsKey(inputFrameworkOpName) + } + + + fun lookupOpMappingProcess(inputFrameworkOpName: String): MappingProcess< + GRAPH_TYPE, + OP_DEF_TYPE, + NODE_TYPE, + TENSOR_TYPE, + ATTRIBUTE_TYPE, + ATTRIBUTE_VALUE_TYPE, + DATA_TYPE> { + + + if(!registeredOps.containsKey(inputFrameworkOpName)) { + throw IllegalArgumentException("No import process defined for $inputFrameworkOpName") + } + return registeredOps[inputFrameworkOpName]!!.first() + } + + fun opTypeForName(nd4jOpName: String): OpNamespace.OpDescriptor.OpDeclarationType { + val descriptor = nd4jOpDescriptors.findOp(nd4jOpName) + return descriptor.opDeclarationType + } + + /** + * TODO: Make loading op mapping rules (both tensor and attribute), input framework op definitions casted as + * OP_DEF_TYPE and op descriptors file. + * + * TODO: Get rid of static global constants (onnxops,tensorflow ops) + * TODO: See if possible to genericize lists of ops + */ + fun loadFromFile(mapperDeclarationsFile: String, + mappingProcessLoader: MappingProcessLoader) { + + val loadedFile = File(mapperDeclarationsFile) + val bytes = FileUtils.readFileToByteArray(loadedFile) + val parsed = MapperNamespace.MappingDefinitionSet.newBuilder() + val string = String(bytes, Charset.defaultCharset()) + TextFormat.merge(string,parsed) + val defs = parsed.build() + loadFromDefinitions(defs,mappingProcessLoader) + } + + + /** + * TODO: Make loading op mapping rules (both tensor and attribute), input framework op definitions casted as + * OP_DEF_TYPE and op descriptors file. + * + * TODO: Get rid of static global constants (onnxops,tensorflow ops) + * TODO: See if possible to genericize lists of ops + */ + fun loadFromDefinitions(mapperDeclarations: MapperNamespace.MappingDefinitionSet, + mappingProcessLoader: MappingProcessLoader) { + mapperDeclarations.mappingsList.forEach { + val process = mappingProcessLoader.createProcess(it) + this.registerMappingProcess(it.inputFrameworkOpName,process) + } + + } + + + fun saveProcessesAndRuleSet() { + val mapperDeclarations = ArrayList() + val bufferToWrite = StringBuilder() + registeredOps.asMap().forEach { name, listOfMappingProcesses -> + listOfMappingProcesses.forEach { mappingProcess -> + mapperDeclarations.add(mappingProcess.serialize()) + } + + mapperDeclarations.map { input -> input.toString() }.forEach { processString -> + bufferToWrite.append(processString + "\n") + } + + } + + val mapperSet = MapperNamespace.MappingDefinitionSet.newBuilder() + mapperSet.addAllMappings(mapperDeclarations) + + val finalSet = mapperSet.build() + + FileUtils.write(File("$inputFrameworkName-processes.pbtxt"),finalSet.toString(), Charset.defaultCharset()) + + } + +} + + + + + + diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/MappingRule.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/MappingRule.kt new file mode 100644 index 000000000..155005d42 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/MappingRule.kt @@ -0,0 +1,20 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule + +annotation class MappingRule(val frameworkName: String,val ruleName: String,val type: String) diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/ArgDescriptorConstant.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/ArgDescriptorConstant.kt new file mode 100644 index 000000000..b31b2d0d4 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/ArgDescriptorConstant.kt @@ -0,0 +1,79 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class ArgDescriptorConstant< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map = emptyMap(), + transformerArgs: Map> +) : + BaseAttributeExtractionRule + ( + name = "argdescriptorconstant", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs + ) { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return true + } + + override fun outputsType(argDescriptorType: List): Boolean { + return true + } + + override fun convertAttributes( + mappingCtx: MappingContext + ): List { + return transformerArgs.flatMap { + it.value.map { descriptor -> + ArgDescriptor { + name = descriptor.name + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = descriptor.name, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = descriptor.argType + ) + argType = descriptor.argType + boolValue = descriptor.boolValue + floatValue = descriptor.floatValue + doubleValue = descriptor.doubleValue + int32Value = descriptor.int32Value + int64Value = descriptor.int64Value + stringValue = descriptor.stringValue + inputValue = descriptor.inputValue + outputValue = descriptor.outputValue + + } + } + } + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/AttributeMappingRule.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/AttributeMappingRule.kt new file mode 100644 index 000000000..f9bef776a --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/AttributeMappingRule.kt @@ -0,0 +1,73 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.MapperNamespace +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +interface AttributeMappingRule + where DATA_TYPE: ProtocolMessageEnum { + + fun initWithMappingProcess(mappingProcess: MappingProcess) + + fun mappingNamesToPerform(): Map + + fun mappingTransformerArgs(): Map> + + fun setMappingTransformerArgs(args: Map>) + + fun name(): String + + fun modifyName(name: String) + + fun modifyInputFrameworkOpName(name: String) + + fun serialize(): MapperNamespace.MappingRule + + fun convertAttributes(mappingCtx: MappingContext): List + + fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> + + + fun isInputFrameworkTensorName(name: String,mappingProcess: MappingProcess): Boolean + + fun isNd4jTensorName(name: String,mappingProcess: MappingProcess): Boolean + + fun isInputFrameworkAttributeName(name: String,mappingProcess: MappingProcess): Boolean + + fun isOutputFrameworkAttributeName(name: String,mappingProcess: MappingProcess): Boolean + + fun argDescriptorType(name: String,mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType + + fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean + + fun outputsType(argDescriptorType: List): Boolean + + fun attributeValueTypeFor(name: String,mappingProcess: MappingProcess): AttributeValueType + + fun argDescriptorTypesForOutputName( + name: String, mappingProcess: + MappingProcess + ): List +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/AttributeNDArrayToScalarAttribute.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/AttributeNDArrayToScalarAttribute.kt new file mode 100644 index 000000000..1b3fc50b0 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/AttributeNDArrayToScalarAttribute.kt @@ -0,0 +1,94 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class AttributeNDArrayToScalarAttribute< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map>) : + BaseAttributeExtractionRule + ( + name = "attributendarraytoscalarattribute", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs + ) { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.TENSOR + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.INT64) || + argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.DOUBLE) || + argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.INT32) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for ((k, v) in mappingNamesToPerform()) { + val irAttribute = mappingCtx.tensorAttributeFor(v).toNd4jNDArray() + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingCtx.opName()) + val realDataType = argDescriptorType(k, nd4jOpDescriptor) + when(realDataType) { + OpNamespace.ArgDescriptor.ArgType.DOUBLE -> { + ret.add(ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + name = k + doubleValue = irAttribute.getDouble(0) + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + ) + }) + } + + OpNamespace.ArgDescriptor.ArgType.INT64 -> { + ret.add(ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + name = k + int64Value = irAttribute.getInt(0).toLong() + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INT64 + ) + }) + } + } + + } + + return ret + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/AttributeNumberListNDArray.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/AttributeNumberListNDArray.kt new file mode 100644 index 000000000..51e2c90dd --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/AttributeNumberListNDArray.kt @@ -0,0 +1,100 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.linalg.api.buffer.DataType +import org.nd4j.linalg.factory.Nd4j +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.samediff.frameworkimport.nameSpaceTensorFromNDarray +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class AttributeNumberListNDArray< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map> +) : + BaseAttributeExtractionRule + ( + name = "convertinputnumberlisttondarray", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs + ) { + + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.LIST_FLOAT || + argDescriptorType == AttributeValueType.LIST_INT + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for ((k, v) in mappingNamesToPerform()) { + val irAttribute = mappingCtx.irAttributeValueForNode(v) + when (irAttribute.attributeValueType()) { + AttributeValueType.LIST_FLOAT -> { + val listArr = irAttribute.listFloatValue().toFloatArray() + val ndarray = Nd4j.create(listArr) + ret.add(ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + name = k + inputValue = nameSpaceTensorFromNDarray(ndarray) + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + ) + }) + } + + AttributeValueType.LIST_INT -> { + val intArr = irAttribute.listIntValue().toLongArray() + val strides = Nd4j.getStrides(1, 4).toList().map { it.toLong() }.toLongArray() + val ndarray = + Nd4j.create(intArr, longArrayOf(1, intArr.size.toLong()), strides, 'c', DataType.INT64) + ret.add(ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + name = k + inputValue = nameSpaceTensorFromNDarray(ndarray) + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INT64 + ) + }) + } + + } + + } + + return ret + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/AttributeScalarNDArrayAttribute.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/AttributeScalarNDArrayAttribute.kt new file mode 100644 index 000000000..fb0dfc87e --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/AttributeScalarNDArrayAttribute.kt @@ -0,0 +1,94 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.linalg.factory.Nd4j +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.samediff.frameworkimport.nameSpaceTensorFromNDarray +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class AttributeScalarNDArrayAttribute< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map> +) : + BaseAttributeExtractionRule + ( + name = "attributescalarndarrayattribute", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs + ) { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.FLOAT || argDescriptorType == AttributeValueType.INT + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for ((k, v) in mappingNamesToPerform()) { + val irAttribute = mappingCtx.irAttributeValueForNode(v) + when (irAttribute.attributeValueType()) { + AttributeValueType.FLOAT -> { + ret.add(ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + name = k + inputValue = nameSpaceTensorFromNDarray(Nd4j.scalar(irAttribute.floatValue()).reshape(1, 1)) + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + ) + }) + } + + AttributeValueType.INT -> { + ret.add(ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + name = k + inputValue = nameSpaceTensorFromNDarray(Nd4j.scalar(irAttribute.intValue()).reshape(1, 1)) + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INT64 + ) + }) + } + else -> { + throw IllegalArgumentException("Attribute $v is not a valid type. Type was ${irAttribute.attributeValueType()}") + } + + } + + } + + return ret + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/AttributeValueType.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/AttributeValueType.kt new file mode 100644 index 000000000..b6f126cd7 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/AttributeValueType.kt @@ -0,0 +1,33 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +enum class AttributeValueType { + FLOAT, + LIST_FLOAT, + INT, + LIST_INT, + BOOL, + LIST_BOOL, + STRING, + LIST_STRING, + TENSOR, + LIST_TENSOR, + DATA_TYPE, + INVALID +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/BaseAttributeExtractionRule.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/BaseAttributeExtractionRule.kt new file mode 100644 index 000000000..8ff32aa18 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/BaseAttributeExtractionRule.kt @@ -0,0 +1,184 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.MapperNamespace +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class BaseAttributeExtractionRule< + GRAPH_DEF: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE>( + name: String, + mappingNamesToPerform: Map, + transformerArgs: Map>): + AttributeMappingRule + where DATA_TYPE: ProtocolMessageEnum { + + protected var opDescriptor: OpNamespace.OpDescriptor? = null + protected var mappingNamesToPerform = mappingNamesToPerform + protected var frameworkName: String? = null + protected var inputFrameworkOpName: String? = null + protected var transformerArgs = transformerArgs + protected var name = name + protected var inputOpDefTypes: Map? = null + + override fun setMappingTransformerArgs(args: Map>) { + this.transformerArgs = args + } + + override fun modifyName(name: String) { + this.name = name + } + + override fun modifyInputFrameworkOpName(name: String) { + this.inputFrameworkOpName = name + } + + override fun initWithMappingProcess(mappingProcess: MappingProcess) { + this.opDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + this.frameworkName = mappingProcess.inputFramework() + this.inputFrameworkOpName = mappingProcess.inputFrameworkOpName() + this.inputOpDefTypes = mappingProcess.inputOpDefValueTypes() + } + + override fun mappingNamesToPerform(): Map { + return mappingNamesToPerform + } + + override fun name(): String { + return name + } + + override fun mappingTransformerArgs(): Map> { + return transformerArgs + } + + + abstract fun createIRAttribute(name: String, attrDef: ATTR_DEF, attributeValueType: ATTR_VALUE_TYPE): IRAttribute + + + override fun serialize(): MapperNamespace.MappingRule { + val builder = MapperNamespace.MappingRule.newBuilder() + builder.ruleName = name() + builder.functionName = name() + builder.ruleType = "attribute" + builder.inputFrameworkOpName = this.inputFrameworkOpName + val descriptorList = opDescriptor!!.argDescriptorList + println("Serializing op ${opDescriptor!!.name}") + for ((k, v) in transformerArgs) { + v.forEach { descriptor -> + when (descriptor.argType) { + OpNamespace.ArgDescriptor.ArgType.STRING -> builder.addInputStringAttrName(descriptor.name) + OpNamespace.ArgDescriptor.ArgType.BOOL -> builder.addInputBooleanName(descriptor.name) + OpNamespace.ArgDescriptor.ArgType.DOUBLE, OpNamespace.ArgDescriptor.ArgType.FLOAT -> builder.addInputFloatName(descriptor.name) + OpNamespace.ArgDescriptor.ArgType.INT32, OpNamespace.ArgDescriptor.ArgType.INT64 -> builder.addInputIntName(descriptor.name) + OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR -> builder.addInputTensorName(descriptor.name) + } + + builder.addTransformerArgs(MapperNamespace.TransformerArgs.newBuilder().setKey(k).addAllTransformerArgs(v)) + } + + } + + /** + * TODO: metadata (perhaps looking up from each framework for each attribute) + * what each named type is. + */ + mappingNamesToPerform.forEach { outputName, inputName -> + val descriptorForName = opDescriptor!!.argDescriptorList.first { descriptor -> descriptor.name == outputName } + builder.putInputToOutput(outputName,inputName) + when(descriptorForName.argType) { + OpNamespace.ArgDescriptor.ArgType.BOOL -> { builder.addOutputBooleanName(outputName)} + OpNamespace.ArgDescriptor.ArgType.INT64 -> {builder.addOutputIntName(outputName)} + OpNamespace.ArgDescriptor.ArgType.DOUBLE -> {builder.addOutputDoubleName(outputName)} + OpNamespace.ArgDescriptor.ArgType.DATA_TYPE -> builder.addOutputDataTypeName(outputName) + OpNamespace.ArgDescriptor.ArgType.OUTPUT_TENSOR -> builder.addOutputTensorName(outputName) + OpNamespace.ArgDescriptor.ArgType.STRING -> builder.addOutputStringAttrName(outputName) + } + + //not all associated outputs will have inputs + if(inputOpDefTypes!!.containsKey(inputName)) { + when(inputOpDefTypes!![inputName]!!) { + AttributeValueType.FLOAT -> builder.addInputFloatName(inputName) + AttributeValueType.INT -> builder.addInputIntName(inputName) + AttributeValueType.BOOL -> builder.addInputBooleanName(inputName) + AttributeValueType.STRING -> builder.addInputStringAttrName(inputName) + AttributeValueType.DATA_TYPE -> builder.addInputDataTypeName(inputName) + AttributeValueType.TENSOR -> builder.addInputTensorName(inputName) + } + + } + + + + } + + + return builder.build() + } + + override fun argDescriptorTypesForOutputName( + name: String, mappingProcess: + MappingProcess): List { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + val names = nd4jOpDescriptor.argDescriptorList.map { input -> input.name } + if(!names.contains(name)) { + throw java.lang.IllegalArgumentException("Unable to find name $name for op $nd4jOpDescriptor.name") + } + + return nd4jOpDescriptor.argDescriptorList.filter { argDescriptor -> argDescriptor.name == name }.map { argDescriptor -> argDescriptor.argType} + } + + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (other !is BaseAttributeExtractionRule<*, *, *, *, *, *, *>) return false + + if (mappingNamesToPerform != other.mappingNamesToPerform) return false + if (frameworkName != other.frameworkName) return false + if (transformerArgs != other.transformerArgs) return false + if (name != other.name) return false + if (inputOpDefTypes != other.inputOpDefTypes) return false + + return true + } + + override fun hashCode(): Int { + var result = opDescriptor?.hashCode() ?: 0 + result = 31 * result + mappingNamesToPerform.hashCode() + result = 31 * result + (frameworkName?.hashCode() ?: 0) + result = 31 * result + (inputFrameworkOpName?.hashCode() ?: 0) + result = 31 * result + transformerArgs.hashCode() + result = 31 * result + name.hashCode() + result = 31 * result + (inputOpDefTypes?.hashCode() ?: 0) + return result + } + + override fun toString(): String { + return "BaseAttributeExtractionRule(mappingNamesToPerform=$mappingNamesToPerform, frameworkName=$frameworkName, inputFrameworkOpName=$inputFrameworkOpName, transformerArgs=$transformerArgs, name='$name', inputOpDefTypes=$inputOpDefTypes)" + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/ConditionalFieldValueIntIndexArrayRule.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/ConditionalFieldValueIntIndexArrayRule.kt new file mode 100644 index 000000000..67243bebe --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/ConditionalFieldValueIntIndexArrayRule.kt @@ -0,0 +1,72 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class ConditionalFieldValueIntIndexArrayRule< + GRAPH_DEF: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE>(mappingNamesToPerform: Map, + transformerArgs: Map>): + BaseAttributeExtractionRule + (name = "conditionalfieldvalueintindex", mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) + where DATA_TYPE: ProtocolMessageEnum { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.STRING || argDescriptorType == AttributeValueType.INT + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.INT64) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + + for((k, v) in mappingNamesToPerform()) { + val listOfArgs = transformerArgs[k] + val inputArr = mappingCtx.irAttributeValueForNode(listOfArgs!![3].stringValue).listIntValue() + val trueIndex = listOfArgs!![1].int64Value + val falseIndex = listOfArgs!![2].int64Value + val targetValueToTest = listOfArgs!![0].stringValue + val testValue = mappingCtx.irAttributeValueForNode(v).stringValue() + val intValueToSet = if (testValue == targetValueToTest) inputArr[trueIndex.toInt()] else inputArr[falseIndex.toInt()] + ret.add(ArgDescriptor { + name = v + int64Value = intValueToSet + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INT64 + ) + }) + + } + return ret + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/ConditionalFieldValueIntIndexNDArrayRule.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/ConditionalFieldValueIntIndexNDArrayRule.kt new file mode 100644 index 000000000..7c5882e6b --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/ConditionalFieldValueIntIndexNDArrayRule.kt @@ -0,0 +1,71 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class ConditionalFieldValueIntIndexNDArrayRule< + GRAPH_DEF: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE>(mappingNamesToPerform: Map, + transformerArgs: Map>): + BaseAttributeExtractionRule + (name = "conditionalfieldvalueintindexndarray", mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) + where DATA_TYPE: ProtocolMessageEnum { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.TENSOR || argDescriptorType == AttributeValueType.STRING + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.INT64) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for((k, v) in mappingNamesToPerform()) { + val listOfArgs = transformerArgs[k] + val inputArr = mappingCtx.tensorInputFor(listOfArgs!![3].stringValue).toNd4jNDArray().ravel() + val trueIndex = listOfArgs!![1].int32Value + val falseIndex = listOfArgs!![2].int32Value + val targetValueToTest = listOfArgs!![0].stringValue + val testValue = mappingCtx.irAttributeValueForNode(v).stringValue() + val intValueToSet = if (testValue == targetValueToTest) inputArr.getInt(trueIndex) else inputArr.getInt(falseIndex) + ret.add(ArgDescriptor { + name = v + int64Value = intValueToSet.toLong() + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INT64 + ) + }) + + } + return ret + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/DataTypeToInt.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/DataTypeToInt.kt new file mode 100644 index 000000000..2bd326e6d --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/DataTypeToInt.kt @@ -0,0 +1,71 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class DataTypeToInt< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map> +) : + BaseAttributeExtractionRule + ( + name = "datatypetoint", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs + ) { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.DATA_TYPE + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.INT64) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for ((k, v) in mappingNamesToPerform()) { + val irAttribute = mappingCtx.irAttributeValueForNode(v).dataTataTypeValue() + ret.add(ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + name = k + int64Value = intArgFromDataType(irAttribute.nameSpaceDataType()).toLong() + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INT64 + ) + }) + + } + + return ret + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/FlattenDims.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/FlattenDims.kt new file mode 100644 index 000000000..c04024954 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/FlattenDims.kt @@ -0,0 +1,110 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.common.util.ArrayUtil +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class FlattenDims< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map = emptyMap(), + transformerArgs: Map> +) : + BaseAttributeExtractionRule + ( + name = "flattendims", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs + ) { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.LIST_INT || + argDescriptorType == AttributeValueType.TENSOR + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.INT64) || argDescriptorType.contains( + OpNamespace.ArgDescriptor.ArgType.INT32) + } + + override fun convertAttributes( + mappingCtx: MappingContext + ): List { + val ret = ArrayList() + for ((k, v) in mappingNamesToPerform()) { + val attr = mappingCtx.irAttributeValueForNode(v) + val transformerArgs = transformerArgs[k] + val baseIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INT64 + ) + + val axis = transformerArgs!![0]!!.int64Value + + when(attr.attributeValueType()) { + AttributeValueType.TENSOR -> { + val inputTensor = mappingCtx.tensorInputFor(v) + val asAxisList = inputTensor.toNd4jNDArray().toLongVector().toMutableList() + addToList(ret,k,baseIndex,axis,asAxisList) + + } + + AttributeValueType.LIST_INT -> { + val axis = transformerArgs!![0]!!.int64Value + val axisList = mappingCtx.irAttributeValueForNode(v).listIntValue() + addToList(ret,k,baseIndex,axis,axisList) + } + } + + } + + return ret + } + + fun addToList(ret: MutableList,k: String,baseIndex: Int,axis: Long,axisList: List) { + val beforeAccessProdValue = if(axis.toInt() == 0) 1L else ArrayUtil.prodLong(axisList.subList(0,axis.toInt())) + val prodValue = ArrayUtil.prodLong(axisList.subList(axis.toInt(),axisList.size - 1)) + + ret.add(ArgDescriptor { + int64Value = beforeAccessProdValue + argIndex = baseIndex + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + name = k + }) + + ret.add(ArgDescriptor { + int64Value = prodValue + argIndex = baseIndex + 1 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + name = k + }) + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/IRMappingFunctions.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/IRMappingFunctions.kt new file mode 100644 index 000000000..c3cb68c08 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/IRMappingFunctions.kt @@ -0,0 +1,84 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.common.base.Preconditions +import org.nd4j.ir.TensorNamespace + + +//source: https://github.com/eclipse/deeplearning4j/blob/63fa3c2ef3c4e5e33cdb99bb4804997b40ad4590/libnd4j/include/array/DataType.h#L39 + +/** + * Referenced from https://github.com/eclipse/deeplearning4j/blob/63fa3c2ef3c4e5e33cdb99bb4804997b40ad4590/libnd4j/include/array/DataType.h + * Used to convert ints to data types. These ints are used in certain ops where an int is taken in for expressing a data type. + */ +fun dataTypeFromInt(inputInt: Int): TensorNamespace.DataType { + when(inputInt) { + 1 -> return TensorNamespace.DataType.BOOL + 2 -> return TensorNamespace.DataType.BFLOAT16 + 3 -> return TensorNamespace.DataType.FLOAT16 + 4 -> return TensorNamespace.DataType.FLOAT + 5 -> return TensorNamespace.DataType.FLOAT + 6 -> return TensorNamespace.DataType.DOUBLE + 7 -> return TensorNamespace.DataType.INT8 + 8 -> return TensorNamespace.DataType.INT16 + 9 -> return TensorNamespace.DataType.INT32 + 10 -> return TensorNamespace.DataType.INT64 + 11 -> return TensorNamespace.DataType.UINT8 + 12 -> return TensorNamespace.DataType.UINT16 + 13 -> return TensorNamespace.DataType.UINT32 + 14 -> return TensorNamespace.DataType.UINT64 + 17 -> return TensorNamespace.DataType.BFLOAT16 + 50,51,52 -> return TensorNamespace.DataType.STRING + else -> return TensorNamespace.DataType.UNDEFINED + + } +} + +/** + * Reverse of [dataTypeFromInt] + * converts an int argument to a [TensorNamespace.DataType] + */ +fun intArgFromDataType(inputDataType: TensorNamespace.DataType): Int { + Preconditions.checkNotNull(inputDataType,"Data type must not be null!") + when(inputDataType) { + TensorNamespace.DataType.BOOL -> return 1 + TensorNamespace.DataType.BFLOAT16 -> return 17 + TensorNamespace.DataType.FLOAT16 -> return 3 + TensorNamespace.DataType.FLOAT16 -> return 4 + TensorNamespace.DataType.FLOAT -> return 5 + TensorNamespace.DataType.DOUBLE -> return 6 + TensorNamespace.DataType.INT8 -> return 7 + TensorNamespace.DataType.INT16 -> return 8 + TensorNamespace.DataType.INT32 -> return 9 + TensorNamespace.DataType.INT64 -> return 10 + TensorNamespace.DataType.UINT8 -> return 11 + TensorNamespace.DataType.UINT16 -> return 12 + TensorNamespace.DataType.UINT32 -> return 13 + TensorNamespace.DataType.UINT64 -> return 14 + TensorNamespace.DataType.BFLOAT16 -> return 17 + TensorNamespace.DataType.STRING -> return 50 + TensorNamespace.DataType.UNDEFINED,TensorNamespace.DataType.UNRECOGNIZED -> return 100 + else -> throw IllegalArgumentException("No data type found for $inputDataType") + + } + + return -1 +} + + diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/InvertBooleanNumber.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/InvertBooleanNumber.kt new file mode 100644 index 000000000..250a546ac --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/InvertBooleanNumber.kt @@ -0,0 +1,126 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +/** + * Change a boolean to an int + * or an int or double to a boolean + */ +abstract class InvertBooleanNumber< + GRAPH_DEF: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE: ProtocolMessageEnum>(mappingNamesToPerform: Map, + transformerArgs: Map>): + BaseAttributeExtractionRule + (name = "invertbooleannumber", mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.INT || argDescriptorType == AttributeValueType.BOOL + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.INT64) || + argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.DOUBLE) || + argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.BOOL) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + + for ((k, v) in mappingNamesToPerform()) { + val descriptorBuilder = OpNamespace.ArgDescriptor.newBuilder() + descriptorBuilder.name = k + val irAttribute = mappingCtx.irAttributeValueForNode(v) + when(irAttribute.attributeValueType()) { + AttributeValueType.INT -> { + val targetIdx = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.BOOL + ) + + descriptorBuilder.argType = OpNamespace.ArgDescriptor.ArgType.BOOL + descriptorBuilder.boolValue = irAttribute.intValue() > 0 + descriptorBuilder.argIndex = targetIdx + ret.add(descriptorBuilder.build()) + + } + AttributeValueType.FLOAT -> { + val targetIdx = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.BOOL + ) + + descriptorBuilder.argType = OpNamespace.ArgDescriptor.ArgType.BOOL + descriptorBuilder.boolValue = irAttribute.floatValue() > 0 + descriptorBuilder.argIndex = targetIdx + ret.add(descriptorBuilder.build()) + + } + else -> { + listOf(OpNamespace.ArgDescriptor.ArgType.INT64, OpNamespace.ArgDescriptor.ArgType.DOUBLE) + .forEach { argDescriptorType -> + val targetIdx = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = argDescriptorType + ) + + if (targetIdx >= 0) { + when (argDescriptorType) { + OpNamespace.ArgDescriptor.ArgType.DOUBLE -> { + descriptorBuilder.argType = argDescriptorType + descriptorBuilder.doubleValue = if (irAttribute.boolValue()) 1.0 else 0.0 + descriptorBuilder.argIndex = targetIdx + } + OpNamespace.ArgDescriptor.ArgType.INT64 -> { + descriptorBuilder.argType = argDescriptorType + descriptorBuilder.int64Value = if (irAttribute.boolValue()) 1 else 0 + descriptorBuilder.argIndex = targetIdx + } + + else -> { + throw IllegalArgumentException("Illegal type passed in $argDescriptorType") + } + } + + ret.add(descriptorBuilder.build()) + + } + + + } + } + } + + + + } + return ret + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/ListAttributeValueLookupToIndex.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/ListAttributeValueLookupToIndex.kt new file mode 100644 index 000000000..e5005ebc8 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/ListAttributeValueLookupToIndex.kt @@ -0,0 +1,179 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class ListAttributeValueLookupToIndex< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map> +) : + BaseAttributeExtractionRule + ( + name = "listattributevaluelookuptoindex", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs + ) { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.LIST_FLOAT || + argDescriptorType == AttributeValueType.LIST_INT || + argDescriptorType == AttributeValueType.LIST_STRING || + argDescriptorType == AttributeValueType.LIST_TENSOR || + argDescriptorType == AttributeValueType.LIST_BOOL || + argDescriptorType == AttributeValueType.INT + } + + override fun outputsType(argDescriptorType: List): Boolean { + return !argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.OUTPUT_TENSOR) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for ((k, v) in mappingNamesToPerform()) { + val index = (transformerArgs[k] ?: error(""))[0]!!.int64Value + val listOfValues = mappingCtx.irAttributeValueForNode(v) + when (listOfValues.attributeValueType()) { + AttributeValueType.LIST_FLOAT -> { + val listFloat = listOfValues.listFloatValue() + if(!listFloat.isEmpty()) { + val argDescriptor = ArgDescriptor { + name = k + doubleValue = listFloat[index.toInt()].toDouble() + argType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + ) + } + + ret.add(argDescriptor) + } else if(transformerArgs[k]!!.size > 1) { + val args = transformerArgs[k]!![1]!! + ret.add(args) + } + + } + AttributeValueType.LIST_INT -> { + val listInt = listOfValues.listIntValue() + if(!listInt.isEmpty()) { + val argDescriptor = ArgDescriptor { + name = k + int64Value = listInt[index.toInt()] + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INT64 + ) + } + + ret.add(argDescriptor) + } else if(transformerArgs[k]!!.size > 1) { + val args = transformerArgs[k]!![1]!! + ret.add(args) + } + + } + + AttributeValueType.LIST_STRING -> { + val listString = listOfValues.listStringValue() + if(!listString.isEmpty()) { + val argDescriptor = ArgDescriptor { + name = k + stringValue = listString[index.toInt()] + argType = OpNamespace.ArgDescriptor.ArgType.STRING + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.STRING + ) + } + + ret.add(argDescriptor) + } else if(transformerArgs[k]!!.size > 1) { + val args = transformerArgs[k]!![1]!! + ret.add(args) + } + + } + + AttributeValueType.LIST_TENSOR -> { + val listTensor = listOfValues.listTensorValue() + if(!listTensor.isEmpty()) { + val argDescriptor = ArgDescriptor { + name = k + inputValue = listTensor[index.toInt()].toArgTensor() + argType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + ) + } + + ret.add(argDescriptor) + } else if(transformerArgs[k]!!.size > 1) { + val args = transformerArgs[k]!![1]!! + ret.add(args) + } + + } + + AttributeValueType.LIST_BOOL -> { + val listBool = listOfValues.listBoolValue() + if(!listBool.isEmpty()) { + val argDescriptor = ArgDescriptor { + name = k + boolValue = listBool[index.toInt()] + argType = OpNamespace.ArgDescriptor.ArgType.BOOL + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.BOOL + ) + } + + ret.add(argDescriptor) + } else if(transformerArgs[k]!!.size > 1) { + val args = transformerArgs[k]!![1]!! + ret.add(args) + } + + } + + } + + + } + + return ret + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/ListNumberToListNumber.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/ListNumberToListNumber.kt new file mode 100644 index 000000000..fb20b13c1 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/ListNumberToListNumber.kt @@ -0,0 +1,105 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class ListNumberToListNumber< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map> +) : + BaseAttributeExtractionRule + ( + name = "listnumbertolistnumber", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs + ) { + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.INT || + argDescriptorType == AttributeValueType.FLOAT || + argDescriptorType == AttributeValueType.LIST_INT || + argDescriptorType == AttributeValueType.LIST_FLOAT + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.INT64) || + argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.DOUBLE) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for ((k, v) in mappingNamesToPerform()) { + + val irAttribute = mappingCtx.irAttributeValueForNode(v) + when (irAttribute.attributeValueType()) { + AttributeValueType.LIST_INT -> { + val baseIndex = if(mappingCtx.descriptorsSoFar().isEmpty()) lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INT64 + ) else mappingCtx.descriptorsSoFar().size + val listInts = irAttribute.listIntValue() + listInts.forEachIndexed { index, element -> + val finalName = if (index > 0) k + "$index" else k + val argDescriptor = ArgDescriptor { + name = finalName + int64Value = element + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + argIndex = baseIndex + index + } + + ret.add(argDescriptor) + } + } + AttributeValueType.LIST_FLOAT -> { + val baseIndex = if(mappingCtx.descriptorsSoFar().isEmpty()) lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + ) else mappingCtx.descriptorsSoFar().size + + val listFloats = irAttribute.listFloatValue() + listFloats.forEachIndexed { index, element -> + val finalName = if (index > 0) k + "$index" else k + val argDescriptor = ArgDescriptor { + name = finalName + doubleValue = element.toDouble() + argType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + argIndex = baseIndex + index + } + + ret.add(argDescriptor) + } + } + } + } + + return ret + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/ListNumberToNDArray.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/ListNumberToNDArray.kt new file mode 100644 index 000000000..810ce18c9 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/ListNumberToNDArray.kt @@ -0,0 +1,95 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.linalg.factory.Nd4j +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.samediff.frameworkimport.nameSpaceTensorFromNDarray +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class ListNumberToNDArray< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map> +) : + BaseAttributeExtractionRule + ( + name = "listnumbertondarray", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs + ) { + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.INT || + argDescriptorType == AttributeValueType.FLOAT || + argDescriptorType == AttributeValueType.LIST_INT || + argDescriptorType == AttributeValueType.LIST_FLOAT + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for ((k, v) in mappingNamesToPerform()) { + val listOfValues = mappingCtx.irAttributeValueForNode(v) + val baseIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + ) + + when (listOfValues.attributeValueType()) { + AttributeValueType.LIST_FLOAT -> { + val nd4jArray = Nd4j.create(listOfValues.listFloatValue().toFloatArray()) + val inputTensor = nameSpaceTensorFromNDarray(nd4jArray) + ret.add(ArgDescriptor { + name = k + inputValue = inputTensor + argType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + argIndex = baseIndex + }) + } + + AttributeValueType.LIST_INT -> { + val nd4jArray = Nd4j.create(Nd4j.createBuffer(listOfValues.listIntValue().toLongArray())) + val inputTensor = nameSpaceTensorFromNDarray(nd4jArray) + ret.add(ArgDescriptor { + name = k + inputValue = inputTensor + argType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + argIndex = baseIndex + }) + } + + } + + } + + return ret + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/MapStringToInt.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/MapStringToInt.kt new file mode 100644 index 000000000..b871d050a --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/MapStringToInt.kt @@ -0,0 +1,74 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class MapStringToInt< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map> +) : + BaseAttributeExtractionRule + (name = "mapstringtoindex", mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.LIST_STRING + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.INT64) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + val indexOfValue = transformerArgs["index"]!![0].int64Value + for ((k, v) in mappingNamesToPerform()) { + + val stringVal = mappingCtx.irAttributeValueForNode(v).listStringValue()[indexOfValue.toInt()] + val activationInt = (transformerArgs[k] ?: error("Unable to map value $v to a type string for op name ${mappingCtx.nd4jOpName()} and input op name ${mappingCtx.opName()}")) + .filter {argDescriptor -> argDescriptor.name == stringVal } + .map { argDescriptor -> argDescriptor.int64Value }.first() + val argDescriptor = ArgDescriptor { + name = k + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INT64 + ) + int64Value = activationInt + } + + ret.add(argDescriptor) + + } + + return ret + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/NDArrayAttributeToNDArrayInput.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/NDArrayAttributeToNDArrayInput.kt new file mode 100644 index 000000000..7c439ec3f --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/NDArrayAttributeToNDArrayInput.kt @@ -0,0 +1,72 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class NDArrayAttributeToNDArrayInput< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map> +) : + BaseAttributeExtractionRule + ( + name = "ndarrayinputtondarray", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs + ) { + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.TENSOR + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for ((k, v) in mappingNamesToPerform()) { + val baseIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + ) + val attr = mappingCtx.irAttributeValueForNode(v).tensorValue() + ret.add(ArgDescriptor { + name = k + inputValue = attr.toArgTensor() + argType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + argIndex = baseIndex + }) + + } + + + return ret + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/NDArrayExtractScalarValue.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/NDArrayExtractScalarValue.kt new file mode 100644 index 000000000..27c88266f --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/NDArrayExtractScalarValue.kt @@ -0,0 +1,69 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.linalg.factory.Nd4j +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.samediff.frameworkimport.nameSpaceTensorFromNDarray +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class NDArrayExtractScalarValue< + GRAPH_DEF: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE>(mappingNamesToPerform: Map, + transformerArgs: Map>): + BaseAttributeExtractionRule + (name = "ndarrayextractscalarvalue", mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) + where DATA_TYPE: ProtocolMessageEnum { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.TENSOR + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + mappingNamesToPerform().forEach { (k, v) -> + val indexValueToAbstract = transformerArgs[k]!![0].int64Value + val ndarrayInput = mappingCtx.tensorInputFor(v).toNd4jNDArray() + val argDescriptor = ArgDescriptor { + name = k + argType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + inputValue = nameSpaceTensorFromNDarray(Nd4j.scalar(ndarrayInput.getDouble(indexValueToAbstract))) + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + ) + } + ret.add(argDescriptor) + } + + return ret + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/NDArrayInputToNumericalAttribute.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/NDArrayInputToNumericalAttribute.kt new file mode 100644 index 000000000..21bc1031d --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/NDArrayInputToNumericalAttribute.kt @@ -0,0 +1,100 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class NDArrayInputToNumericalAttribute< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map> +) : + BaseAttributeExtractionRule + ( + name = "ndarrayinputtonumericalattribute", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs + ) { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.TENSOR + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.DOUBLE) + || argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.INT64) || + argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.FLOAT) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + val realDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingCtx.nd4jOpName()) + for ((k, v) in mappingNamesToPerform()) { + val inputTensor = mappingCtx.tensorInputFor(v).toNd4jNDArray() + realDescriptor.argDescriptorList.filter { argDescriptor -> argDescriptor.name == k && + argDescriptor.argType == OpNamespace.ArgDescriptor.ArgType.INT64 && argDescriptor.name == k || + argDescriptor.argType == OpNamespace.ArgDescriptor.ArgType.DOUBLE && argDescriptor.name == k} + .forEach { argDescriptor -> + val baseIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = argDescriptor.argType + ) + for (i in 0 until 1) { + val nameToUse = if (i > 0) k + "$i" else k + val get = if(inputTensor.length() > 0) inputTensor.getDouble(i) else 0.0 + when (argDescriptor.argType) { + OpNamespace.ArgDescriptor.ArgType.DOUBLE -> { + ret.add(ArgDescriptor { + name = nameToUse + argType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + doubleValue = get + argIndex = baseIndex + i + }) + } + + OpNamespace.ArgDescriptor.ArgType.INT64 -> { + ret.add(ArgDescriptor { + name = nameToUse + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + int64Value = get.toLong() + argIndex = baseIndex + i + }) + } + } + + } + } + + } + + return ret + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/NDArraySizeAtRule.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/NDArraySizeAtRule.kt new file mode 100644 index 000000000..91e72b343 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/NDArraySizeAtRule.kt @@ -0,0 +1,77 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +/** + * Need to implement tensor size extraction value at index + */ + + +abstract class NDArraySizeAtRule< + GRAPH_DEF: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE>(mappingNamesToPerform: Map, + transformerArgs: Map>): + BaseAttributeExtractionRule + (name = "ndarraysizeat", mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) + where DATA_TYPE: ProtocolMessageEnum { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.TENSOR + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.INT64) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + mappingNamesToPerform().forEach { (k, v) -> + val transformArgsForAttribute = transformerArgs[k] + //note that this finds a value for a named tensor within either the graph or the node + //some frameworks may have a value node with a value attribute + //others may have the actual tensor value + val inputArr = mappingCtx.tensorInputFor(v) + val sizeIndex = transformArgsForAttribute!![0].int64Value.toInt() + val sizeAt = if(inputArr.shape().isEmpty()) -1 else inputArr.shape()[sizeIndex] + val argDescriptor = ArgDescriptor { + name = v + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + int64Value = sizeAt + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INT64 + ) + } + ret.add(argDescriptor) + } + + return ret + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/NDArrayToIntAttributeValue.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/NDArrayToIntAttributeValue.kt new file mode 100644 index 000000000..f2600d390 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/NDArrayToIntAttributeValue.kt @@ -0,0 +1,75 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class NDArrayToIntAttributeValue< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map> +) : + BaseAttributeExtractionRule + ( + name = "ndarraytointattributevalue", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs + ) { + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.TENSOR + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.INT64) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for ((k, v) in mappingNamesToPerform()) { + val ndarray = mappingCtx.tensorInputFor(v).toNd4jNDArray() + val arrInts = ndarray.ravel().toIntVector() + val baseIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INT64 + ) + for (i in 0 until ndarray.length()) { + val argDescriptor = ArgDescriptor { + name = k + int64Value = arrInts[i.toInt()].toLong() + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + argIndex = (baseIndex + i).toInt() + } + + ret.add(argDescriptor) + } + } + + return ret + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/NumberToBoolean.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/NumberToBoolean.kt new file mode 100644 index 000000000..0de2672f2 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/NumberToBoolean.kt @@ -0,0 +1,80 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class NumberToBoolean< + GRAPH_DEF: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE: ProtocolMessageEnum>(mappingNamesToPerform: Map, + transformerArgs: Map>): + BaseAttributeExtractionRule + (name = "booleantonumber", mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.INT || argDescriptorType == AttributeValueType.FLOAT + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.BOOL) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + + for ((k, v) in mappingNamesToPerform()) { + val descriptorBuilder = OpNamespace.ArgDescriptor.newBuilder() + descriptorBuilder.name = k + val irAttribute = mappingCtx.irAttributeValueForNode(v) + val targetIdx = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.BOOL + ) + + if(targetIdx < 0) { + throw java.lang.IllegalArgumentException("Output attribute $k not found with boolean type for op name ${mappingCtx.nd4jOpName()} and input op name ${mappingCtx.opName()}") + } + + + descriptorBuilder.argIndex = targetIdx + descriptorBuilder.argType = OpNamespace.ArgDescriptor.ArgType.BOOL + + + when(irAttribute.attributeValueType()) { + AttributeValueType.FLOAT -> { + descriptorBuilder.boolValue = irAttribute.floatValue() > 0 + } + AttributeValueType.INT -> { + descriptorBuilder.boolValue = irAttribute.intValue() > 0 + } + } + + ret.add(descriptorBuilder.build()) + } + return ret + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/SizeThresholdIntArrayIntIndexRule.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/SizeThresholdIntArrayIntIndexRule.kt new file mode 100644 index 000000000..a9d489ac4 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/SizeThresholdIntArrayIntIndexRule.kt @@ -0,0 +1,78 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class SizeThresholdIntArrayIntIndexRule< + GRAPH_DEF: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE>(mappingNamesToPerform: Map, + transformerArgs: Map>): + BaseAttributeExtractionRule + (name = "sizethresholdarrayint", mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) where DATA_TYPE: ProtocolMessageEnum { + + + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + + for((k, v) in mappingNamesToPerform()) { + val descriptorForName = transformerArgs[k] + val inputArr = mappingCtx.irAttributeValueForNode(v).listIntValue() + val index = descriptorForName!![0].int32Value + val sizeThreshold = descriptorForName!![1].int64Value + val fallbackIndex = descriptorForName!![2].stringValue + val descriptorBuilder = OpNamespace.ArgDescriptor.newBuilder() + descriptorBuilder.name = v + descriptorBuilder.argType = OpNamespace.ArgDescriptor.ArgType.INT64 + if(inputArr.size < sizeThreshold) { + descriptorBuilder.int64Value = inputArr[fallbackIndex.toInt()] + } else { + descriptorBuilder.int64Value = inputArr[index] + } + + descriptorBuilder.argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INT64 + ) + + + ret.add(descriptorBuilder.build()) + + } + return ret + } + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.INT || + argDescriptorType == AttributeValueType.STRING + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.INT64) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/StringAttributeToNDArray.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/StringAttributeToNDArray.kt new file mode 100644 index 000000000..280af12d0 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/StringAttributeToNDArray.kt @@ -0,0 +1,89 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.linalg.factory.Nd4j +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.samediff.frameworkimport.nameSpaceTensorFromNDarray +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class StringAttributeToNDArray< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map> +) : + BaseAttributeExtractionRule + ( + name = "convertinputstringtondarray", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs + ) { + + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.STRING + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for ((k, v) in mappingNamesToPerform()) { + val irAttribute = mappingCtx.irAttributeValueForNode(v) + val node = mappingCtx.irNode() + //dynamically add an input and update the associated graph + node.addInput(k) + mappingCtx.graph().updateNode(node) + + when (irAttribute.attributeValueType()) { + AttributeValueType.STRING -> { + val listArr = irAttribute.stringValue() + val ndarray = Nd4j.create(listArr) + val convertedArray = nameSpaceTensorFromNDarray(ndarray) + mappingCtx.graph().addConstantNode(k,ndarray) + + mappingCtx.dynamicResolutionVariables()[k] = mappingCtx.createIRTensorFromNDArray(ndarray).rawValue() + ret.add(ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + name = k + inputValue = convertedArray + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + ) + }) + } + } + + } + + return ret + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/StringContainsAdapterRule.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/StringContainsAdapterRule.kt new file mode 100644 index 000000000..fa06c738c --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/StringContainsAdapterRule.kt @@ -0,0 +1,85 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class StringContainsAdapterRule< + GRAPH_DEF: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3,ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE>( + mappingNamesToPerform: Map = emptyMap(), + transformerArgs: Map> = emptyMap()): + BaseAttributeExtractionRule + (name = "stringcontains", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs) + where DATA_TYPE: ProtocolMessageEnum { + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.STRING + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.BOOL) || argDescriptorType.contains( + OpNamespace.ArgDescriptor.ArgType.INT64 + ) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + + for((k, v) in mappingNamesToPerform()) { + val argDescriptorTypeList = mappingCtx.argDescriptorTypeForName(k) + val descriptorForName = transformerArgs[k] + val compString = descriptorForName!![0].stringValue + val testValue = mappingCtx.irAttributeValueForNode(v).stringValue() + argDescriptorTypeList.forEach { argDescriptorType -> + val descriptorBuilder = OpNamespace.ArgDescriptor.newBuilder() + descriptorBuilder.name = k + descriptorBuilder.argType = argDescriptorType + descriptorBuilder.argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = argDescriptorType + ) + + when(argDescriptorType) { + OpNamespace.ArgDescriptor.ArgType.BOOL -> { + descriptorBuilder.boolValue = compString.contains(testValue) + } + + OpNamespace.ArgDescriptor.ArgType.INT64 -> { + descriptorBuilder.int64Value = if (compString.contains(testValue)) 1 else 0 + + } + + } + ret.add(descriptorBuilder.build()) + } + + + } + return ret + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/StringEqualsAdapterRule.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/StringEqualsAdapterRule.kt new file mode 100644 index 000000000..aea2e3fec --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/StringEqualsAdapterRule.kt @@ -0,0 +1,87 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class StringEqualsAdapterRule< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3,ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE>( + mappingNamesToPerform: Map = emptyMap(), + transformerArgs: Map> = emptyMap()): + BaseAttributeExtractionRule + (name = "stringequals", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs) + where DATA_TYPE: ProtocolMessageEnum { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.STRING + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.BOOL) || argDescriptorType.contains( + OpNamespace.ArgDescriptor.ArgType.INT64 + ) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + + for((k, v) in mappingNamesToPerform()) { + val descriptorForName = transformerArgs[k] + val argDescriptorTypeList = mappingCtx.argDescriptorTypeForName(k) + + val compString = descriptorForName!![0].stringValue + val testValue = mappingCtx.irAttributeValueForNode(v).stringValue() + argDescriptorTypeList.forEach { argDescriptorType -> + val descriptorBuilder = OpNamespace.ArgDescriptor.newBuilder() + descriptorBuilder.name = v + descriptorBuilder.argType = argDescriptorType + descriptorBuilder.argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = argDescriptorType + ) + + when(argDescriptorType) { + OpNamespace.ArgDescriptor.ArgType.BOOL -> { + descriptorBuilder.boolValue = testValue == compString + } + + OpNamespace.ArgDescriptor.ArgType.INT64 -> { + descriptorBuilder.int64Value = if (testValue == compString) 1 else 0 + + } + } + + ret.add(descriptorBuilder.build()) + } + + + } + return ret + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/StringNotEqualsAdapterRule.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/StringNotEqualsAdapterRule.kt new file mode 100644 index 000000000..c8775b889 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/StringNotEqualsAdapterRule.kt @@ -0,0 +1,93 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class StringNotEqualsAdapterRule< + GRAPH_DEF: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3,ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE>( + mappingNamesToPerform: Map = emptyMap(), + transformerArgs: Map> = emptyMap()): + BaseAttributeExtractionRule + (name = "stringnotequalsadapterrule", + mappingNamesToPerform = mappingNamesToPerform, + transformerArgs = transformerArgs) + where DATA_TYPE: ProtocolMessageEnum { + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for((k, v) in mappingNamesToPerform()) { + val descriptorForName = transformerArgs[k] + val compString = descriptorForName!![0].stringValue + val testValue = mappingCtx.irAttributeValueForNode(v).stringValue() + val argDescriptorTypeList = mappingCtx.argDescriptorTypeForName(k) + argDescriptorTypeList.forEach { argDescriptorType -> + when(argDescriptorType) { + OpNamespace.ArgDescriptor.ArgType.INT64 -> { + ret.add(ArgDescriptor { + name = k + argType = argDescriptorType + int64Value = if (testValue != compString) 1 else 0 + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INT64 + ) + + }) + } + + OpNamespace.ArgDescriptor.ArgType.BOOL -> { + ret.add(ArgDescriptor { + name = k + argType = argDescriptorType + boolValue = testValue != compString + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.BOOL + ) + + }) + } + } + } + + + } + return ret + } + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.STRING + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.BOOL) || + argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.INT64) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/StringToInt.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/StringToInt.kt new file mode 100644 index 000000000..302ffb093 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/StringToInt.kt @@ -0,0 +1,71 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class StringToInt< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, + NODE_TYPE : GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE : ProtocolMessageEnum>( + mappingNamesToPerform: Map, + transformerArgs: Map> +) : + BaseAttributeExtractionRule + (name = "stringtoindex", mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) { + + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType == AttributeValueType.STRING + } + + override fun outputsType(argDescriptorType: List): Boolean { + return argDescriptorType.contains(OpNamespace.ArgDescriptor.ArgType.INT64) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + + for ((k, v) in mappingNamesToPerform()) { + val listOfValues = (transformerArgs[k] ?: error("Unable to map value $v to a type string for op name ${mappingCtx.nd4jOpName()} and input op name ${mappingCtx.opName()}")).map { argDescriptor -> argDescriptor.stringValue } + val stringValIndex = mappingCtx.irAttributeValueForNode(v).stringValue() + val argDescriptor = ArgDescriptor { + name = k + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INT64 + ) + int64Value = listOfValues.indexOf(stringValIndex).toLong() + } + + ret.add(argDescriptor) + + } + + return ret + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/ValueMapping.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/ValueMapping.kt new file mode 100644 index 000000000..00bc54444 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/attribute/ValueMapping.kt @@ -0,0 +1,121 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.linalg.api.buffer.DataType +import org.nd4j.linalg.factory.Nd4j +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class ValueMapping< + GRAPH_DEF: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3, + ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, + TENSOR_TYPE : GeneratedMessageV3, DATA_TYPE: ProtocolMessageEnum>(mappingNamesToPerform: Map, + transformerArgs: Map>): + BaseAttributeExtractionRule + (name = "valuemapping", mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) { + override fun acceptsInputType(argDescriptorType: AttributeValueType): Boolean { + return argDescriptorType != AttributeValueType.TENSOR + } + + override fun outputsType(argDescriptorType: List): Boolean { + return !argDescriptorType.containsAll(listOf( + OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR, + OpNamespace.ArgDescriptor.ArgType.OUTPUT_TENSOR, OpNamespace.ArgDescriptor.ArgType.DATA_TYPE + )) + } + + override fun convertAttributes(mappingCtx: MappingContext): List { + val ret = ArrayList() + for((k, v) in mappingNamesToPerform()) { + val descriptorBuilder = OpNamespace.ArgDescriptor.newBuilder() + descriptorBuilder.name = k + val irAttribute = mappingCtx.irAttributeValueForNode(v) + when(irAttribute.attributeValueType()) { + AttributeValueType.INT -> { + descriptorBuilder.argType = OpNamespace.ArgDescriptor.ArgType.INT64 + descriptorBuilder.int64Value = irAttribute.intValue() + descriptorBuilder.argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INT64 + ) + + } + + AttributeValueType.FLOAT -> { + descriptorBuilder.argType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + //DO NOT REMOVE work around for numerical underflow that happens at the JVM level, this does a safe cast allowing us to get the real value out + val realValue = Nd4j.scalar(irAttribute.floatValue()).castTo(DataType.DOUBLE) + descriptorBuilder.doubleValue = realValue.getDouble(0) + descriptorBuilder.argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + ) + + } + + AttributeValueType.BOOL -> { + descriptorBuilder.argType = OpNamespace.ArgDescriptor.ArgType.BOOL + descriptorBuilder.boolValue = irAttribute.boolValue() + descriptorBuilder.argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.BOOL + ) + } + + AttributeValueType.STRING -> { + descriptorBuilder.argType = OpNamespace.ArgDescriptor.ArgType.STRING + descriptorBuilder.stringValue = irAttribute.stringValue() + descriptorBuilder.argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.STRING + ) + } + + AttributeValueType.DATA_TYPE -> { + descriptorBuilder.argType = OpNamespace.ArgDescriptor.ArgType.DATA_TYPE + descriptorBuilder.dataTypeValue = irAttribute.dataTataTypeValue().nameSpaceDataType() + descriptorBuilder.argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingCtx.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.DATA_TYPE + ) + } + + else -> { + throw IllegalArgumentException("Unable to map value $k. Please use different rule for list values and tensors.") + } + } + + + ret.add(descriptorBuilder.build()) + + } + return ret + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/tensor/BaseNDArrayMappingRule.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/tensor/BaseNDArrayMappingRule.kt new file mode 100644 index 000000000..5c203c44d --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/tensor/BaseNDArrayMappingRule.kt @@ -0,0 +1,181 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.tensor + +import org.nd4j.ir.MapperNamespace +import org.nd4j.ir.OpNamespace +import org.nd4j.ir.TensorNamespace +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class BaseNDArrayMappingRule< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, NODE_DEF_TYPE : GeneratedMessageV3, ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, TENSOR_TYPE : GeneratedMessageV3, + DATA_TYPE>( + mappingNamesToPerform: MutableMap = mutableMapOf(), + transformerArgs: Map> = emptyMap() +) : + TensorMappingRule + where DATA_TYPE : ProtocolMessageEnum { + + protected var opDescriptor: OpNamespace.OpDescriptor? = null + protected val mappingNamesToPerform = mappingNamesToPerform + protected val transformerArgs = transformerArgs + protected var mappingProcess: MappingProcess? = + null + protected var inputFrameworkOpName: String? = null + + override fun inputFrameworkOpName(): String { + return inputFrameworkOpName!! + } + + override fun modifyInputFrameworkOpName(inputFrameworkOpName: String) { + this.inputFrameworkOpName = inputFrameworkOpName + } + + override fun initWithMappingProcess(mappingProcess: MappingProcess) { + val opDescriptorList = OpDescriptorLoaderHolder.nd4jOpDescriptor + if (!opDescriptorList.opListList.map { it.name }.contains(mappingProcess.opName())) { + throw java.lang.IllegalArgumentException("Op name ${mappingProcess.opName()} not found!") + } + opDescriptor = opDescriptorList.opListList.first { input -> + input.name == mappingProcess.opName() + } ?: error("") + this.mappingProcess = mappingProcess + this.inputFrameworkOpName = mappingProcess.inputFrameworkOpName() + } + + + operator fun set(outputAttribute: String, inputAttribute: String) { + mappingNamesToPerform[outputAttribute] = inputAttribute + } + + override fun name(): String { + return "ndarraymapping" + } + + + override fun mappingNamesToPerform(): Map { + return mappingNamesToPerform + } + + + override fun convertInput(mappingContext: MappingContext): List { + val ret = ArrayList() + val mappingsToPerform = inputArgumentMappings() + mappingsToPerform.forEach { (k, v) -> + ret.add(ArgDescriptor { + name = k + argType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + inputValue = mappingContext.tensorInputFor(v).toArgTensor() + argIndex = lookupIndexForArgDescriptor( + argDescriptorName = k, + opDescriptorName = mappingContext.nd4jOpName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + ) + }) + } + + + return ret + } + + abstract fun createTensorProto(input: TENSOR_TYPE): TensorNamespace.TensorProto + + + override fun convertInputsReverse(toReverse: List): List { + for (argument in toReverse) { + require(argument.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) { "Type to reverse must be an input tensor." } + } + TODO("Not yet implemented") + } + + override fun inputArgumentMappings(): Map { + return mappingNamesToPerform + } + + override fun serialize(): MapperNamespace.MappingRule { + val builder = MapperNamespace.MappingRule.newBuilder() + builder.ruleName = name() + builder.functionName = name() + builder.ruleType = "tensor" + builder.inputFrameworkOpName = inputFrameworkOpName() + for ((k, v) in transformerArgs) { + val descriptor = opDescriptor!!.argDescriptorList.filter { input -> input.name == k }[0] + when (descriptor.argType) { + OpNamespace.ArgDescriptor.ArgType.BOOL -> builder.addOutputBooleanName(k) + OpNamespace.ArgDescriptor.ArgType.INT64 -> builder.addOutputIntName(k) + OpNamespace.ArgDescriptor.ArgType.FLOAT -> builder.addOutputFloatName(k) + OpNamespace.ArgDescriptor.ArgType.DOUBLE -> builder.addOutputDoubleName(k) + OpNamespace.ArgDescriptor.ArgType.INT64 -> builder.addOutputIntName(k) + OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR -> builder.addInputTensorName(k) + OpNamespace.ArgDescriptor.ArgType.OUTPUT_TENSOR -> builder.addOutputTensorName(k) + } + + for (associatedInput in v) { + when (associatedInput.argType) { + OpNamespace.ArgDescriptor.ArgType.STRING -> builder.addInputStringAttrName(associatedInput.name) + OpNamespace.ArgDescriptor.ArgType.BOOL -> builder.addInputBooleanName(associatedInput.name) + OpNamespace.ArgDescriptor.ArgType.DOUBLE, OpNamespace.ArgDescriptor.ArgType.FLOAT -> builder.addInputFloatName(associatedInput.name) + OpNamespace.ArgDescriptor.ArgType.INT32, OpNamespace.ArgDescriptor.ArgType.INT64 -> builder.addInputIntName(associatedInput.name) + OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR -> builder.addInputTensorName(associatedInput.name) + } + } + + + } + + mappingNamesToPerform.forEach { outputName, inputName -> + builder.addInputTensorName(inputName) + builder.addOutputTensorName(outputName) + builder.putInputToOutput(outputName,inputName) + } + + + return builder.build() + } + + override fun toString(): String { + return "BaseNDArrayMappingRule(mappingNamesToPerform=$mappingNamesToPerform, transformerArgs=$transformerArgs" + } + + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (other !is BaseNDArrayMappingRule<*, *, *, *, *, *, *>) return false + + if (mappingNamesToPerform != other.mappingNamesToPerform) return false + if (transformerArgs != other.transformerArgs) return false + + return true + } + + override fun hashCode(): Int { + var result = opDescriptor?.hashCode() ?: 0 + result = 31 * result + mappingNamesToPerform.hashCode() + result = 31 * result + transformerArgs.hashCode() + return result + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/tensor/MultiInputIndexMappingRule.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/tensor/MultiInputIndexMappingRule.kt new file mode 100644 index 000000000..bc116475a --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/tensor/MultiInputIndexMappingRule.kt @@ -0,0 +1,186 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.tensor + +import org.nd4j.ir.MapperNamespace +import org.nd4j.ir.OpNamespace +import org.nd4j.ir.TensorNamespace +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +abstract class MultiInputIndexMappingRule< + GRAPH_DEF : GeneratedMessageV3, + OP_DEF_TYPE : GeneratedMessageV3, NODE_DEF_TYPE : GeneratedMessageV3, ATTR_DEF : GeneratedMessageV3, + ATTR_VALUE_TYPE : GeneratedMessageV3, TENSOR_TYPE : GeneratedMessageV3, + DATA_TYPE>( + mappingNamesToPerform: MutableMap = mutableMapOf(), + transformerArgs: Map> = emptyMap() +) : + TensorMappingRule + where DATA_TYPE : ProtocolMessageEnum { + + protected var opDescriptor: OpNamespace.OpDescriptor? = null + protected val mappingNamesToPerform = mappingNamesToPerform + protected val transformerArgs = transformerArgs + protected var mappingProcess: MappingProcess? = + null + protected var inputFrameworkOpName: String? = null + + override fun inputFrameworkOpName(): String { + return inputFrameworkOpName!! + } + + override fun modifyInputFrameworkOpName(inputFrameworkOpName: String) { + this.inputFrameworkOpName = inputFrameworkOpName + } + + override fun initWithMappingProcess(mappingProcess: MappingProcess) { + val opDescriptorList = OpDescriptorLoaderHolder.nd4jOpDescriptor + if (!opDescriptorList.opListList.map { it -> it.name }.contains(mappingProcess.opName())) { + throw java.lang.IllegalArgumentException("Op name ${mappingProcess.opName()} not found!") + } + opDescriptor = opDescriptorList.opListList.first { input -> + input.name == mappingProcess.opName() + } ?: error("") + this.mappingProcess = mappingProcess + this.inputFrameworkOpName = mappingProcess.inputFrameworkOpName() + } + + + operator fun set(outputAttribute: String, inputAttribute: String) { + mappingNamesToPerform[outputAttribute] = inputAttribute + } + + override fun name(): String { + return "multiinputindex" + } + + + override fun mappingNamesToPerform(): Map { + return mappingNamesToPerform + } + + + override fun convertInput(mappingContext: MappingContext): List { + val ret = ArrayList() + val mappingsToPerform = inputArgumentMappings() + mappingsToPerform.forEach { (k, v) -> + val relevantInputs = mappingContext.irNode().inputNamesForListOfInputValues(v) + //get the base index of the key value and use that as the offset for the array initialization + val baseIndex = mappingContext.irNode().computeAdjustedOffsetForInput(k, v,mappingsToPerform) + //note this looks up node names from the input framework perspective, so these are not variable names present + //in the outputs yet + relevantInputs.forEachIndexed {index,inputName -> + ret.add(ArgDescriptor { + name = "$k:$index" + argType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + inputValue = mappingContext.tensorInputFromInputFrameworkName(inputName).toArgTensor() + argIndex = baseIndex + index + }) + } + } + + + return ret + } + + abstract fun createTensorProto(input: TENSOR_TYPE): TensorNamespace.TensorProto + + + override fun convertInputsReverse(toReverse: List): List { + for (argument in toReverse) { + require(argument.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR) { "Type to reverse must be an input tensor." } + } + TODO("Not yet implemented") + } + + override fun inputArgumentMappings(): Map { + return mappingNamesToPerform + } + + override fun serialize(): MapperNamespace.MappingRule { + val builder = MapperNamespace.MappingRule.newBuilder() + builder.ruleName = name() + builder.functionName = name() + builder.ruleType = "tensor" + builder.inputFrameworkOpName = inputFrameworkOpName() + + for ((k, v) in transformerArgs) { + val descriptor = opDescriptor!!.argDescriptorList.filter { input -> input.name == k }[0] + when (descriptor.argType) { + OpNamespace.ArgDescriptor.ArgType.BOOL -> builder.addOutputBooleanName(k) + OpNamespace.ArgDescriptor.ArgType.INT64 -> builder.addOutputIntName(k) + OpNamespace.ArgDescriptor.ArgType.FLOAT -> builder.addOutputFloatName(k) + OpNamespace.ArgDescriptor.ArgType.DOUBLE -> builder.addOutputDoubleName(k) + OpNamespace.ArgDescriptor.ArgType.INT64 -> builder.addOutputIntName(k) + OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR -> builder.addInputTensorName(k) + OpNamespace.ArgDescriptor.ArgType.OUTPUT_TENSOR -> builder.addOutputTensorName(k) + } + + for (associatedInput in v) { + when (associatedInput.argType) { + OpNamespace.ArgDescriptor.ArgType.STRING -> builder.addInputStringAttrName(associatedInput.name) + OpNamespace.ArgDescriptor.ArgType.BOOL -> builder.addInputBooleanName(associatedInput.name) + OpNamespace.ArgDescriptor.ArgType.DOUBLE, OpNamespace.ArgDescriptor.ArgType.FLOAT -> builder.addInputFloatName(associatedInput.name) + OpNamespace.ArgDescriptor.ArgType.INT32, OpNamespace.ArgDescriptor.ArgType.INT64 -> builder.addInputIntName(associatedInput.name) + OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR -> builder.addInputTensorName(associatedInput.name) + } + } + + + } + + mappingNamesToPerform.forEach { outputName, inputName -> + builder.addInputTensorName(inputName) + builder.addOutputTensorName(outputName) + builder.putInputToOutput(outputName,inputName) + } + + + + return builder.build() + } + + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (other !is MultiInputIndexMappingRule<*, *, *, *, *, *, *>) return false + + if (opDescriptor != other.opDescriptor) return false + if (mappingNamesToPerform != other.mappingNamesToPerform) return false + if (transformerArgs != other.transformerArgs) return false + + return true + } + + override fun hashCode(): Int { + var result = opDescriptor?.hashCode() ?: 0 + result = 31 * result + mappingNamesToPerform.hashCode() + result = 31 * result + transformerArgs.hashCode() + return result + } + + override fun toString(): String { + return "MultiInputIndexMappingRule(opDescriptor=$opDescriptor, mappingNamesToPerform=$mappingNamesToPerform, transformerArgs=$transformerArgs)" + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/tensor/TensorMappingRule.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/tensor/TensorMappingRule.kt new file mode 100644 index 000000000..88628884b --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/rule/tensor/TensorMappingRule.kt @@ -0,0 +1,61 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.rule.tensor + +import org.nd4j.ir.MapperNamespace +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +interface TensorMappingRule + where DATA_TYPE: ProtocolMessageEnum { + + + fun initWithMappingProcess(mappingProcess: MappingProcess) + + + fun name(): String + + + fun serialize(): MapperNamespace.MappingRule + + + fun mappingNamesToPerform(): Map + + /** + * Convert 1 or more attributes in to a list of {@link ArgDescriptor} + */ + fun convertInput(mappingContext: MappingContext): List + + + fun inputArgumentMappings(): Map + + fun convertInputsReverse(toReverse: List): List + + fun isInputTensorName(inputName: String): Boolean + + fun isOutputTensorName(outputName: String): Boolean + + fun inputFrameworkOpName(): String + + fun modifyInputFrameworkOpName(inputFrameworkOpName: String) + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/runner/DefaultImportRunner.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/runner/DefaultImportRunner.kt new file mode 100644 index 000000000..7d6456b4f --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/runner/DefaultImportRunner.kt @@ -0,0 +1,291 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.runner + +import org.nd4j.autodiff.functions.DifferentialFunction +import org.nd4j.autodiff.samediff.SameDiff +import org.nd4j.autodiff.samediff.VariableType +import org.nd4j.common.io.ReflectionUtils +import org.nd4j.ir.OpNamespace +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.linalg.api.ops.DynamicCustomOp +import org.nd4j.linalg.api.ops.Op +import org.nd4j.linalg.factory.Nd4j +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.convertNd4jDataTypeFromNameSpaceTensorDataType +import org.nd4j.samediff.frameworkimport.ndarrayFromNameSpaceTensor +import org.nd4j.samediff.frameworkimport.setNameForFunctionFromDescriptors +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum +import java.lang.IllegalArgumentException +import java.lang.reflect.Modifier + +class DefaultImportRunner : ImportRunner { + override fun initAttributes( + df: DifferentialFunction, + sd: SameDiff, + descriptorAndContext: Pair, OpNamespace.OpDescriptor> + ) { + + val applied = descriptorAndContext + val mappingContext = applied.first + when (df.opType()) { + Op.Type.CUSTOM,Op.Type.LOGIC -> { + val dynamicCustomOp = df as DynamicCustomOp + val grouped = descriptorAndContext.second.argDescriptorList.groupBy { descriptor -> + descriptor.argType + } + + val sortedMap = HashMap>() + grouped.forEach { (argType, list) -> + sortedMap[argType] = list.sortedBy { arg -> arg.argIndex } + } + + sortedMap.forEach { (argType, listOfArgsSortedByIndex) -> + when (argType) { + OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR -> { + if(df.opType() != Op.Type.LOGIC) { + val args = dynamicCustomOp.args() + val arraysToAdd = ArrayList() + listOfArgsSortedByIndex.forEachIndexed { index, argDescriptor -> + val convertedTensor = ndarrayFromNameSpaceTensor(argDescriptor.inputValue) + if (index < args.size) { + val arg = args[index] + if (arg.variableType != VariableType.ARRAY) { + if (arg.shape == null) { + val emptyLongArray = LongArray(0) + arg.setShape(*emptyLongArray) + } + + arraysToAdd.add(convertedTensor) + + } + } + + } + + //note we don't add arrays one at a time because addInputArgument requires all the input arrays to be added at once + //dynamicCustomOp.addInputArgument(*arraysToAdd.toTypedArray()) + + + } + + } + + OpNamespace.ArgDescriptor.ArgType.INT64, OpNamespace.ArgDescriptor.ArgType.INT32 -> { + listOfArgsSortedByIndex.forEach { dynamicCustomOp.addIArgument(it.int64Value) } + } + + OpNamespace.ArgDescriptor.ArgType.DOUBLE, OpNamespace.ArgDescriptor.ArgType.FLOAT -> { + listOfArgsSortedByIndex.forEach { dynamicCustomOp.addTArgument(it.doubleValue) } + } + + OpNamespace.ArgDescriptor.ArgType.OUTPUT_TENSOR -> { + listOfArgsSortedByIndex.forEach { + val convertedTensor = ndarrayFromNameSpaceTensor(it.inputValue) + dynamicCustomOp.addOutputArgument(convertedTensor) + } + } + + //allow strings, but only for cases of setting a value in java + OpNamespace.ArgDescriptor.ArgType.STRING -> {} + + OpNamespace.ArgDescriptor.ArgType.BOOL -> { + listOfArgsSortedByIndex.forEach { + dynamicCustomOp.addBArgument(it.boolValue) + } + } + + OpNamespace.ArgDescriptor.ArgType.DATA_TYPE -> { + listOfArgsSortedByIndex.forEach { + val dtype = convertNd4jDataTypeFromNameSpaceTensorDataType(it.dataTypeValue!!) + val dtypeJavaClass = Class.forName("org.nd4j.linalg.api.buffer.DataType") + dynamicCustomOp.addDArgument(dtype) + df.javaClass.declaredFields.forEach { field -> + if (!Modifier.isStatic(field.modifiers) && !Modifier.isFinal(field.modifiers) + && dtypeJavaClass.isAssignableFrom(field.type) + ) { + field.isAccessible = true + ReflectionUtils.setField(field, df, dtype) + } + } + } + } + else -> { + throw IllegalArgumentException("Illegal type") + } + + } + + //set any left over fields if they're found + setNameForFunctionFromDescriptors(listOfArgsSortedByIndex, df) + } + + + } + Op.Type.SCALAR -> { + applied.second.argDescriptorList.forEach { argDescriptor -> + val field = ReflectionUtils.findField(df.javaClass, argDescriptor.name) + if (field != null) { + field.isAccessible = true + when (argDescriptor.name) { + "x", "y", "z" -> { + val createdNDArray = mappingContext.tensorInputFor(argDescriptor.name).toNd4jNDArray() + ReflectionUtils.setField(field, df, createdNDArray) + } + else -> { + val scalarField = ReflectionUtils.findField(df.javaClass, "scalarValue") + scalarField.isAccessible = true + //access the first input (should have been set) and make sure the scalar type is the + //the same + val firstValue = sd.variables().first() + val dtype = firstValue.dataType() + when (argDescriptor.argType) { + OpNamespace.ArgDescriptor.ArgType.DOUBLE -> { + val nd4jScalarValue = Nd4j.scalar(argDescriptor.doubleValue).castTo(dtype) + ReflectionUtils.setField(scalarField, df, nd4jScalarValue) + + } + OpNamespace.ArgDescriptor.ArgType.FLOAT -> { + val nd4jScalarValue = Nd4j.scalar(argDescriptor.floatValue).castTo(dtype) + ReflectionUtils.setField(scalarField, df, nd4jScalarValue) + + } + OpNamespace.ArgDescriptor.ArgType.INT32 -> { + val nd4jScalarValue = Nd4j.scalar(argDescriptor.int32Value).castTo(dtype) + ReflectionUtils.setField(scalarField, df, nd4jScalarValue) + + } + OpNamespace.ArgDescriptor.ArgType.INT64 -> { + val nd4jScalarValue = Nd4j.scalar(argDescriptor.int64Value).castTo(dtype) + ReflectionUtils.setField(scalarField, df, nd4jScalarValue) + + } + } + } + } + + } else { + if (argDescriptor.argType in listOf( + OpNamespace.ArgDescriptor.ArgType.INT64, + OpNamespace.ArgDescriptor.ArgType.DOUBLE, OpNamespace.ArgDescriptor.ArgType.INT32, + OpNamespace.ArgDescriptor.ArgType.FLOAT + ) + ) { + val scalarField = ReflectionUtils.findField(df.javaClass, "scalarValue") + scalarField.isAccessible = true + //access the first input (should have been set) and make sure the scalar type is the + //the same + val irNode = mappingContext.irNode() + val firstValue = sd.getVariable(irNode.inputAt(0)) + val dtype = firstValue.dataType() + when (argDescriptor.argType) { + OpNamespace.ArgDescriptor.ArgType.DOUBLE -> { + val nd4jScalarValue = Nd4j.scalar(argDescriptor.doubleValue).castTo(dtype) + ReflectionUtils.setField(scalarField, df, nd4jScalarValue) + + } + OpNamespace.ArgDescriptor.ArgType.FLOAT -> { + val nd4jScalarValue = Nd4j.scalar(argDescriptor.floatValue).castTo(dtype) + ReflectionUtils.setField(scalarField, df, nd4jScalarValue) + + } + OpNamespace.ArgDescriptor.ArgType.INT32 -> { + val nd4jScalarValue = Nd4j.scalar(argDescriptor.int32Value).castTo(dtype) + ReflectionUtils.setField(scalarField, df, nd4jScalarValue) + + } + OpNamespace.ArgDescriptor.ArgType.INT64 -> { + val nd4jScalarValue = Nd4j.scalar(argDescriptor.int64Value).castTo(dtype) + ReflectionUtils.setField(scalarField, df, nd4jScalarValue) + + } + } + } + } + + + } + + //set any left over fields if they're found + setNameForFunctionFromDescriptors(applied.second.argDescriptorList, df) + } + else -> { + var hasDimensions = false + applied.second.argDescriptorList.forEach { argDescriptor -> + if (argDescriptor.name == "dimensions") + hasDimensions = true + val field = ReflectionUtils.findField(df.javaClass, argDescriptor.name) + if (field != null) { + field.isAccessible = true + when (argDescriptor.name) { + "x", "y", "z" -> { + val createdNDArray = mappingContext.tensorInputFor(argDescriptor.name).toNd4jNDArray() + ReflectionUtils.setField(field, df, createdNDArray) + } + "keepDims" -> ReflectionUtils.setField(field, df, argDescriptor.boolValue) + else -> { + } + } + } + } + + if (hasDimensions) { + //dimensions sorted by index + val dimArgs = + applied.second.argDescriptorList.filter { argDescriptor -> argDescriptor.name.contains("dimensions") } + .sortedBy { argDescriptor -> argDescriptor.argIndex } + .map { argDescriptor -> argDescriptor.int64Value.toInt() }.toIntArray() + val dimensionsField = ReflectionUtils.findField(df.javaClass, "dimensions") + val dimensionzField = ReflectionUtils.findField(df.javaClass, "dimensionz") + if (dimensionsField != null) { + dimensionsField.isAccessible = true + if (intArrayOf(0).javaClass.isAssignableFrom(dimensionsField.type)) { + ReflectionUtils.setField(dimensionsField, df, dimArgs) + } + } + + if (dimensionzField != null) { + dimensionzField.isAccessible = true + if (INDArray::class.java.isAssignableFrom(dimensionzField.type)) { + val buffer = Nd4j.createBuffer(dimArgs) + val createdArr = Nd4j.create(buffer) + ReflectionUtils.setField(dimensionzField, df, createdArr) + } + } + + } + + //set any left over fields if they're found + setNameForFunctionFromDescriptors(applied.second.argDescriptorList, df) + } + } + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/runner/IRGraphRunner.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/runner/IRGraphRunner.kt new file mode 100644 index 000000000..02026ed36 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/runner/IRGraphRunner.kt @@ -0,0 +1,43 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.runner + +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.samediff.frameworkimport.ir.IRGraph +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +interface IRGraphRunner< + GRAPH_TYPE: GeneratedMessageV3, + NODE_TYPE: GeneratedMessageV3, + OP_DEF_TYPE: GeneratedMessageV3, + TENSOR_TYPE: GeneratedMessageV3, + ATTRIBUTE_TYPE: GeneratedMessageV3, + ATTRIBUTE_VALUE_TYPE: GeneratedMessageV3, + DATA_TYPE : ProtocolMessageEnum> { + + fun graph(): IRGraph + + fun run(inputs: Map): Map +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/runner/ImportRunner.kt b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/runner/ImportRunner.kt new file mode 100644 index 000000000..e661127fe --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/kotlin/org/nd4j/samediff/frameworkimport/runner/ImportRunner.kt @@ -0,0 +1,45 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.runner + +import org.nd4j.autodiff.functions.DifferentialFunction +import org.nd4j.autodiff.samediff.SameDiff +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +interface ImportRunner { + fun initAttributes( + df: DifferentialFunction, + sd: SameDiff, + descriptorAndContext: Pair, OpNamespace.OpDescriptor> + ) +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-api/src/main/resources/nd4j-op-def.pbtxt b/nd4j/samediff-import/samediff-import-api/src/main/resources/nd4j-op-def.pbtxt new file mode 100644 index 000000000..3bea9788d --- /dev/null +++ b/nd4j/samediff-import/samediff-import-api/src/main/resources/nd4j-op-def.pbtxt @@ -0,0 +1,20675 @@ +opList { + name: "Assert" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "BinaryMinimalRelativeError" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "thresholdRelative" + argType: DOUBLE + } + argDescriptor { + name: "thresholdAbsolute" + argType: DOUBLE + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "BinaryRelativeError" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "threshold" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "ClipByValue" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "clipValueMin" + argType: DOUBLE + } + argDescriptor { + name: "clipValueMax" + argType: DOUBLE + argIndex: 1 + } +} +opList { + name: "Conditional" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LOGIC_OP_IMPL +} +opList { + name: "ExternalErrorsFn" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "Floor" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "Log1p" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "ParallelConcat" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "Pow" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "Pow_bp" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdz" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdx" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdy" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdx" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdy" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "Reciprocal" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "RelativeError" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "Return" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LOGIC_OP_IMPL +} +opList { + name: "Scope" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LOGIC_OP_IMPL +} +opList { + name: "Switch" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "condition" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: DIVERGENT_OP_IMPL +} +opList { + name: "Where" + argDescriptor { + name: "condition" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "While" + argDescriptor { + name: "isConstant" + argType: BOOL + } + argDescriptor { + name: "condition" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "frameName" + argType: STRING + } + opDeclarationType: LOGIC_OP_IMPL +} +opList { + name: "_geluderivative" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "_mishderivative" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "_powderivative" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "pow" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "_precise_geluderivative" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "precise" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "_sigmoidderivative" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "_swishderivative" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "_tanhderivative" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "abs" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "absolute_difference_loss" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "absolute_difference_loss_grad" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "acos" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "acosh" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "ada_delta_updater" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "initStateMsg" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "initStateMsdx" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "rho" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "updatedStateMsdx" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "update" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "stateMsg" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "stateMsdx" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dRho" + argType: DOUBLE + } + argDescriptor { + name: "dEpsilon" + argType: DOUBLE + argIndex: 1 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "ada_grad_updater" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "initState" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "lr" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "update" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "stateH" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLr" + argType: DOUBLE + } + argDescriptor { + name: "dEpsilon" + argType: DOUBLE + argIndex: 1 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "ada_max_updater" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "initStateU" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "initStateM" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "lr" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "beta1" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "beta2" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "update" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "stateU" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "stateM" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLr" + argType: DOUBLE + } + argDescriptor { + name: "dBeta1" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dBeta2" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "dEpsilon" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "iteration" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "adam_updater" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "initStateU" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "initStateM" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "lr" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "beta1" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "beta2" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "update" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "stateU" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "stateM" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLr" + argType: DOUBLE + } + argDescriptor { + name: "dBeta1" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dBeta2" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "dEpsilon" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "iteration" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "add" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "add_bp" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "add_scalar" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "adjust_contrast" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "factor" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "adjust_contrast_v2" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "factor" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "factor" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "adjust_hue" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "delta" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "adjust_saturation" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "factor" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "factor" + argType: DOUBLE + } + argDescriptor { + name: "dimC" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "all" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "alpha_dropout" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "p" + argType: DOUBLE + } + argDescriptor { + name: "alpha" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "alphaPrime" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "beta" + argType: DOUBLE + argIndex: 3 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "alpha_dropout_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradOut" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "reduceShape" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "probValue" + argType: DOUBLE + } + argDescriptor { + name: "alphaValue" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "alpha1Value" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "betaValue" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "seed" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "amax" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "amax_pairwise" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "amean" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "amin" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "amin_pairwise" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "ams_grad_updater" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "initStateV" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "initStateM" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "initStateH" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "lr" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "beta1" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "beta2" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "update" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "stateV" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "stateM" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "stateH" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLr" + argType: DOUBLE + } + argDescriptor { + name: "dBeta1" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dBeta2" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "dEpsilon" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "iteration" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "and" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "comparable" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "and_scalar" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "any" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "apply_sgd" + argDescriptor { + name: "parameters" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradients" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "tarr" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Z" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "lr" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "applygradientdescent" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "argamax" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "argamin" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "argmax" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "argmin" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "asin" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "asinh" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "assign" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "assign_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "asum" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "atan" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "atanh" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "avgpool2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "avgpool2d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "avgpool3dnew" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kD" + argType: INT64 + } + argDescriptor { + name: "kH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sD" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "pD" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "dD" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 11 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 12 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 13 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 14 + } +} +opList { + name: "avgpool3dnew_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kD" + argType: INT64 + } + argDescriptor { + name: "kH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sD" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "pD" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "dD" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 11 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 12 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 13 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 14 + } +} +opList { + name: "axpy" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "alpha" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "a" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "barnes_edge_forces" + argDescriptor { + name: "rowP" + argType: INPUT_TENSOR + } + argDescriptor { + name: "colP" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "valP" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dataP" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "N" + argType: INT64 + } +} +opList { + name: "barnes_gains" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradX" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "barnes_symmetrized" + argDescriptor { + name: "rowP" + argType: INPUT_TENSOR + } + argDescriptor { + name: "colP" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "valP" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outRows" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputRows" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "outputCols" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputVals" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "N" + argType: INT64 + } +} +opList { + name: "batch_to_space" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "crop" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "blockSize" + argType: INT64 + } + argDescriptor { + name: "croppingTop" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "croppingBottom" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "batch_to_space_nd" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "blockShape" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "crop" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "blocks" + argType: INT64 + } +} +opList { + name: "batched_gemm" + argDescriptor { + name: "transposeA" + argType: BOOL + } + argDescriptor { + name: "transposeB" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "alpha" + argType: INPUT_TENSOR + } + argDescriptor { + name: "beta" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "vA" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "vB" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "vC" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "transA" + argType: INT64 + } + argDescriptor { + name: "transB" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "M" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "N" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "K" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "ldA" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "ldB" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "ldC" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "batchSize" + argType: INT64 + argIndex: 8 + } +} +opList { + name: "batchnorm" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "applyGamma" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "applyBeta" + argType: BOOL + argIndex: 2 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "mean" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "variance" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gamma" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: DOUBLE + } + argDescriptor { + name: "applyScale" + argType: INT64 + } + argDescriptor { + name: "applyOffset" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "batchnorm_bp" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "applyGamma" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "applyBeta" + argType: BOOL + argIndex: 2 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "mean" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "variance" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gamma" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdM" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdV" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdG" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "epsilon" + argType: DOUBLE + } + argDescriptor { + name: "applyScale" + argType: INT64 + } + argDescriptor { + name: "applyOffset" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "betainc" + argDescriptor { + name: "a" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "biasadd" + argDescriptor { + name: "nchw" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "biasadd_bp" + argDescriptor { + name: "nchw" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "bincount" + argDescriptor { + name: "values" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "min" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "max" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outputType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "minLength" + argType: INT64 + } + argDescriptor { + name: "maxLength" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "outputType" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "bitcast" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "newType" + argType: INT64 + } +} +opList { + name: "bits_hamming_distance" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "bitwise_and" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "bitwise_or" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "bitwise_xor" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "bool_not" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "boolean_and" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "boolean_not" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "boolean_or" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "boolean_xor" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "broadcast_amax" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_amin" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_dynamic_shape" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "broadcast_equalto" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimension" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_greaterthan" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_greaterthanorequal" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_lessthan" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_lessthanorequal" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_max" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_min" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_notequal" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcast_to" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "broadcastadd" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimension" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcastcopy" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcastdiv" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcastgradientargs" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimension" + argType: INT64 + } + opDeclarationType: OP_IMPL +} +opList { + name: "broadcastmul" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcastrdiv" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcastrsub" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "broadcastsub" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "car" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "compare" + argType: DOUBLE + } + argDescriptor { + name: "set" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "eps" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "mode" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cas" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "compare" + argType: DOUBLE + } + argDescriptor { + name: "set" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "eps" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "mode" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cast" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dst" + argType: INT64 + } +} +opList { + name: "cbow" + argDescriptor { + name: "trainWords" + argType: BOOL + } + argDescriptor { + name: "isInference" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "target" + argType: INPUT_TENSOR + } + argDescriptor { + name: "ngStarter" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "context" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "codes" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "syn0" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "syn1" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "syn1neg" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "expTable" + argType: INPUT_TENSOR + argIndex: 8 + } + argDescriptor { + name: "negTable" + argType: INPUT_TENSOR + argIndex: 9 + } + argDescriptor { + name: "alpha" + argType: INPUT_TENSOR + argIndex: 10 + } + argDescriptor { + name: "randomValue" + argType: INPUT_TENSOR + argIndex: 11 + } + argDescriptor { + name: "numLabels" + argType: INPUT_TENSOR + argIndex: 12 + } + argDescriptor { + name: "lockedWords" + argType: INPUT_TENSOR + argIndex: 13 + } + argDescriptor { + name: "inferenceVector" + argType: INPUT_TENSOR + argIndex: 14 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numWorkers" + argType: INT64 + } + argDescriptor { + name: "nsRounds" + argType: INT64 + argIndex: 1 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "ceil" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cell_contains" + argDescriptor { + name: "contains" + argType: BOOL + } + argDescriptor { + name: "corner" + argType: INPUT_TENSOR + } + argDescriptor { + name: "width" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "point" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimension" + argType: INT64 + } +} +opList { + name: "check_numerics" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "message" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "choice" + argDescriptor { + name: "source" + argType: INPUT_TENSOR + } + argDescriptor { + name: "probabilities" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cholesky" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "choose" + argDescriptor { + name: "arg" + argType: INPUT_TENSOR + } + argDescriptor { + name: "comp" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numResults" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "scalar" + argType: DOUBLE + } + argDescriptor { + name: "mode" + argType: INT64 + } +} +opList { + name: "clip_by_global_norm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "clipNorm" + argType: DOUBLE + } +} +opList { + name: "clipbyavgnorm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "clipNorm" + argType: DOUBLE + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "clipbyavgnorm_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "clipNorm" + argType: DOUBLE + } +} +opList { + name: "clipbynorm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "clipValue" + argType: DOUBLE + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "clipbynorm_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "clipValue" + argType: DOUBLE + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "clipbyvalue" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "left" + argType: DOUBLE + } + argDescriptor { + name: "right" + argType: DOUBLE + argIndex: 1 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "clone_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "col2im" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inputArrays" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "strideY" + argType: INT64 + } + argDescriptor { + name: "strideX" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "padHeight" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "padWidth" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "imgHeight" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "imgWidth" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dY" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dX" + argType: INT64 + argIndex: 7 + } +} +opList { + name: "compare_and_bitpack" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "threshold" + argType: DOUBLE + } +} +opList { + name: "compat_sparse_to_dense" + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "values" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "def" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "compat_string_split" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "delim" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "values" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "indices" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "values" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "concat" + argDescriptor { + name: "isDynamicAxis" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "concatDimension" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "concatDimension" + argType: INT64 + } +} +opList { + name: "concat_bp" + argDescriptor { + name: "dynamicAxis" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "originalChunk" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "epsilonChunk" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "concatDimension" + argType: INT64 + } +} +opList { + name: "confusion_matrix" + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + } + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numClasses" + argType: INT64 + } +} +opList { + name: "conv1d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kW" + argType: INT64 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "paddingMode" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "isNCW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 6 + } +} +opList { + name: "conv1d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "kW" + argType: INT64 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "paddingMode" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "isNCW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 6 + } +} +opList { + name: "conv2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "conv2d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "conv2d_input_bp" + argDescriptor { + name: "gradIShape" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "conv3dnew" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kD" + argType: INT64 + } + argDescriptor { + name: "kH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sD" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "pD" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "dD" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 11 + } + argDescriptor { + name: "paddingMode" + argType: INT64 + argIndex: 12 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 13 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 14 + } +} +opList { + name: "conv3dnew_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "kD" + argType: INT64 + } + argDescriptor { + name: "kH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sD" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "pD" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "dD" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 11 + } + argDescriptor { + name: "paddingMode" + argType: INT64 + argIndex: 12 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 13 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 14 + } +} +opList { + name: "copy" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cos" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cosh" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cosine_distance_loss" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } + argDescriptor { + name: "dimensions" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "cosine_distance_loss_grad" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } + argDescriptor { + name: "dimensions" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "cosinedistance" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "allDistances" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cosinesimilarity" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "allDistances" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "countNonZero" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "countZero" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "create" + argDescriptor { + name: "init" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "order" + argType: INT64 + } + argDescriptor { + name: "outputType" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "create_list" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "height" + argType: INT64 + } + argDescriptor { + name: "expandable" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "crelu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "crelu_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilonNext" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "epsilon" + argType: OUTPUT_TENSOR + } +} +opList { + name: "crop_and_resize" + argDescriptor { + name: "image" + argType: INPUT_TENSOR + } + argDescriptor { + name: "boxes" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "boxIndexes" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "newImageSize" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "extrapolationVal" + argType: DOUBLE + } + argDescriptor { + name: "method" + argType: INT64 + } +} +opList { + name: "cross" + argDescriptor { + name: "a" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "o" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "cube" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "cube_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "cubederivative" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "cumprod" + argDescriptor { + name: "exclusive" + argType: BOOL + } + argDescriptor { + name: "reverse" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "exclusive" + argType: INT64 + } + argDescriptor { + name: "reverse" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + argIndex: 2 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "cumprod_bp" + argDescriptor { + name: "exclusive" + argType: BOOL + } + argDescriptor { + name: "reverse" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradOut" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "exclusive" + argType: INT64 + } + argDescriptor { + name: "reverse" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "cumsum" + argDescriptor { + name: "exclusive" + argType: BOOL + } + argDescriptor { + name: "reverse" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "exclusive" + argType: INT64 + } + argDescriptor { + name: "reverse" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + argIndex: 2 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "cumsum_bp" + argDescriptor { + name: "exclusive" + argType: BOOL + } + argDescriptor { + name: "reverse" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradOut" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "exclusive" + argType: INT64 + } + argDescriptor { + name: "reverse" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "cyclic_rshift_bits" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "cyclic_shift_bits" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "decode_bitmap" + argDescriptor { + name: "start" + argType: INPUT_TENSOR + } + argDescriptor { + name: "encoded" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "updates" + argType: OUTPUT_TENSOR + } +} +opList { + name: "decode_threshold" + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + } + argDescriptor { + name: "encoded" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "updates" + argType: OUTPUT_TENSOR + } +} +opList { + name: "deconv2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "deconv2d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "deconv2d_tf" + argDescriptor { + name: "gradIShape" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "deconv3d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kD" + argType: INT64 + } + argDescriptor { + name: "kH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sD" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "pD" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "dD" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 11 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 12 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 13 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 14 + } +} +opList { + name: "deconv3d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "kD" + argType: INT64 + } + argDescriptor { + name: "kH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sD" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "pD" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "dD" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 11 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 12 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 13 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 14 + } +} +opList { + name: "deconv3d_tf" + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "depth_to_space" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "block_size" + argType: INT64 + } + argDescriptor { + name: "isNHWC" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "depthwise_conv2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "depthwise_conv2d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "diag" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "diag_part" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "digamma" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "dilation2d" + argDescriptor { + name: "isSameMode" + argType: BOOL + } + argDescriptor { + name: "inPlace" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "r" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "s" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "isSameMode" + argType: INT64 + } + argDescriptor { + name: "rates" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "strides" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "distribution_bernoulli" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "prob" + argType: DOUBLE + } + argDescriptor { + name: "dataType" + argType: INT64 + } + argDescriptor { + name: "shape" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "distribution_binomial" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "probability" + argType: DOUBLE + } + argDescriptor { + name: "trials" + argType: INT64 + } + argDescriptor { + name: "dataType" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "shape" + argType: INT64 + argIndex: 2 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "distribution_binomial_ex" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "probability" + argType: DOUBLE + } + argDescriptor { + name: "trials" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "distribution_gaussian" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "mean" + argType: DOUBLE + } + argDescriptor { + name: "stddev" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: INT64 + } + argDescriptor { + name: "shape" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "distribution_lognormal" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "stddev" + argType: DOUBLE + } + argDescriptor { + name: "stdev" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: INT64 + } + argDescriptor { + name: "shape" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "distribution_truncated" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "mean" + argType: DOUBLE + } + argDescriptor { + name: "stddev" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: INT64 + } + argDescriptor { + name: "shape" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "distribution_uniform" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "from" + argType: DOUBLE + } + argDescriptor { + name: "to" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: INT64 + } + argDescriptor { + name: "shape" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "div_scalar" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "divide" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "divide_bp" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "divide_no_nan" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "dot" + argDescriptor { + name: "newFormat" + argType: BOOL + } + argDescriptor { + name: "keepDims" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "dot_product_attention" + argDescriptor { + name: "scaled" + argType: BOOL + } + argDescriptor { + name: "withWeights" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "queries" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keys" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "values" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "mask" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "normalization" + argType: INT64 + } + argDescriptor { + name: "outputWeights" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "dot_product_attention_bp" + argDescriptor { + name: "scaled" + argType: BOOL + } + argDescriptor { + name: "queries" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keys" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "values" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "eps" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "mask" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdq" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdk" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdv" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "normalization" + argType: INT64 + } +} +opList { + name: "draw_bounding_boxes" + argDescriptor { + name: "images" + argType: INPUT_TENSOR + } + argDescriptor { + name: "boxes" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "colors" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "dropout" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "reduceShape" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "probValue" + argType: DOUBLE + } + argDescriptor { + name: "seed" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "dropout_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradOut" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "reduceShape" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "probValue" + argType: DOUBLE + } + argDescriptor { + name: "seed" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "dropout_inverted" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "p" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "dynamic_bidirectional_rnn" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "WxFW" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "WhFW" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "bFW" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "WxBW" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "WhBW" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "bBW" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "h0FW" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "h0BW" + argType: INPUT_TENSOR + argIndex: 8 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "hFW" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "hBW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "hFWFinal" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "hBWFinal" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "timeMajor" + argType: INT64 + } +} +opList { + name: "dynamic_partition" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputList" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numPartitions" + argType: INT64 + } +} +opList { + name: "dynamic_partition_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradsAtOutput" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputList" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numPartition" + argType: INT64 + } +} +opList { + name: "dynamic_rnn" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wh" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "maxTimeStep" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "hFinal" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "timeMajor" + argType: INT64 + } +} +opList { + name: "dynamic_stitch" + argDescriptor { + name: "index" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numPartitions" + argType: INT64 + } +} +opList { + name: "elu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "elu_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "embedding_lookup" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "partition_mode" + argType: INT64 + } +} +opList { + name: "encode_bitmap" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "encoded" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "counter" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "encoded" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "counter" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "threshold" + argType: DOUBLE + } +} +opList { + name: "encode_threshold" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "encoded" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "updated" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "encoded" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "threshold" + argType: DOUBLE + } + argDescriptor { + name: "boundary" + argType: INT64 + } +} +opList { + name: "enter" + argDescriptor { + name: "isConstant" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "frameName" + argType: STRING + } +} +opList { + name: "entropy" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "eps" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "eps_scalar" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "equals" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_BOOL_OP_IMPL +} +opList { + name: "equals_scalar" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "equals_with_eps" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "eps" + argType: DOUBLE + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "erf" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "erfc" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "euclidean" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "allDistances" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "evaluate_reduction_shape" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "oldFormat" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "inputShape" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "exit" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "frameName" + argType: STRING + } +} +opList { + name: "exp" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "expand_dims" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "expm1" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "expose" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "extract_image_patches" + argDescriptor { + name: "isSameMode" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "ksizeRows" + argType: INT64 + } + argDescriptor { + name: "ksizeCols" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kstrideRows" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "kstrideCols" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "krateRows" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "krateCols" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 6 + } +} +opList { + name: "eye" + argDescriptor { + name: "numRows" + argType: INPUT_TENSOR + } + argDescriptor { + name: "numCols" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DOUBLE + } + argDescriptor { + name: "numRows" + argType: INT64 + } + argDescriptor { + name: "numCols" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "batchDimension" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "dataType" + argType: INT64 + argIndex: 3 + } +} +opList { + name: "fake_quant_with_min_max_args" + argDescriptor { + name: "narrowRange" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "min" + argType: DOUBLE + } + argDescriptor { + name: "max" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "numBits" + argType: INT64 + } +} +opList { + name: "fake_quant_with_min_max_vars" + argDescriptor { + name: "narrowed" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "min" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "max" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "m" + argType: DOUBLE + } + argDescriptor { + name: "m2" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "numBits" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "fake_quant_with_min_max_vars_per_channel" + argDescriptor { + name: "narrowed" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "min" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "max" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numBits" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "fill" + argDescriptor { + name: "shapeArray" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "value" + argType: DOUBLE + } + argDescriptor { + name: "dtype" + argType: INT64 + } +} +opList { + name: "fill_as" + argDescriptor { + name: "s" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "firas_sparse" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "first_index" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "compare" + argType: DOUBLE + } + argDescriptor { + name: "eps" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "flatten" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "order" + argType: INT64 + } +} +opList { + name: "floor" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "floordiv" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "floordiv_bp" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "floormod" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "floormod_bp" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "fmod" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "fmod_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "fused_batch_norm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "scale" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "offset" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "mean" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "variance" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "batchMeanVar" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "y" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "batchMean" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "batchVar" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "epsilon" + argType: DOUBLE + } + argDescriptor { + name: "dataFormat" + argType: INT64 + } + argDescriptor { + name: "isTraining" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "gather" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "intArgs" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "gather_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "gather_nd" + argDescriptor { + name: "checkIndices" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "gelu" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "precise" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "get_seed" + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "gradientbackwards" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "greater" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_BOOL_OP_IMPL +} +opList { + name: "greater_equal" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_BOOL_OP_IMPL +} +opList { + name: "greaterthan_scalar" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "greaterthanorequal_scalar" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "grid_free" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "gru" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "hI" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Wh" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + } +} +opList { + name: "gruCell" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "hLast" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wru" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Wc" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "bru" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "bc" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "r" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "u" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "c" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + argIndex: 3 + } +} +opList { + name: "gruCell_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "hi" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "W" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Wc" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "bc" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "dLdr" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "dLdu" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "dLdc" + argType: INPUT_TENSOR + argIndex: 8 + } + argDescriptor { + name: "dLdh" + argType: INPUT_TENSOR + argIndex: 9 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdx" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdhi" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdW" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdWc" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdb" + argType: OUTPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dLdbc" + argType: OUTPUT_TENSOR + argIndex: 5 + } +} +opList { + name: "gru_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "hI" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Wh" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dLdh" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdx" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdhI" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdWx" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdWh" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdb" + argType: OUTPUT_TENSOR + argIndex: 4 + } +} +opList { + name: "hammingdistance" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "allDistances" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "hard_sigmoid" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "hard_sigmoidderivative" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "hardsigmoid" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "hardsigmoid_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "hardtanh" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "hardtanh_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "hardtanhderivative" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "hashcode" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "hasinf" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "hasnan" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "hinge_loss" + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "hinge_loss_grad" + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "histogram" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numBins" + argType: INT64 + } +} +opList { + name: "histogram_fixed_width" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "range" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "numBins" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "nbins" + argType: INT64 + } +} +opList { + name: "hsv_to_rgb" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "huber_loss" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "delta" + argType: DOUBLE + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "huber_loss_grad" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "delta" + argType: DOUBLE + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "identity" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "identity_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "identity_n" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "igamma" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "igammac" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "im2col" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inputArrays" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "zeroPadVal" + argType: DOUBLE + } + argDescriptor { + name: "kernelHeight" + argType: INT64 + } + argDescriptor { + name: "kernelWidth" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "strideY" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "strideX" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "padHeight" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "padWidth" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dY" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dX" + argType: INT64 + argIndex: 7 + } +} +opList { + name: "im2col_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradAtOutput" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "zeroPadVal" + argType: DOUBLE + } + argDescriptor { + name: "kernelHeight" + argType: INT64 + } + argDescriptor { + name: "kernelWidth" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "strideY" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "strideX" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dY" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dX" + argType: INT64 + argIndex: 7 + } +} +opList { + name: "image_resize" + argDescriptor { + name: "preserveAspectRatio" + argType: BOOL + } + argDescriptor { + name: "antialias" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "image" + argType: INPUT_TENSOR + } + argDescriptor { + name: "size" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "method" + argType: INT64 + } +} +opList { + name: "in_top_k" + argDescriptor { + name: "sorted" + argType: BOOL + } + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "target" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "k" + argType: INT64 + } +} +opList { + name: "invert_permutation" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "is_non_decreasing" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BOOLEAN_OP_IMPL +} +opList { + name: "is_numeric_tensor" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BOOLEAN_OP_IMPL +} +opList { + name: "is_strictly_increasing" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BOOLEAN_OP_IMPL +} +opList { + name: "isfinite" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "isinf" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "ismax" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "isnan" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "jaccarddistance" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "allDistances" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "knn_mindistance" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "lowest" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "highest" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "distance" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "l2_loss" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "last_index" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "compare" + argType: DOUBLE + } + argDescriptor { + name: "eps" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "layer_norm" + argDescriptor { + name: "channelsFirst" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gain" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "layer_norm_bp" + argDescriptor { + name: "channelsFirst" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gain" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "eps" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdx" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dLdg" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "dLdb" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdx" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdg" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdb" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "leakyrelu" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "leakyreluderivative" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "less" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_BOOL_OP_IMPL +} +opList { + name: "less_equal" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_BOOL_OP_IMPL +} +opList { + name: "lessthan_scalar" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "lessthanorequal_scalar" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "lgamma" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "lin_space" + argDescriptor { + name: "start" + argType: INPUT_TENSOR + } + argDescriptor { + name: "finish" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "numOfElements" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "start" + argType: DOUBLE + } + argDescriptor { + name: "stop" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "elements" + argType: INT64 + } + argDescriptor { + name: "number" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "linspace_random" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "from" + argType: DOUBLE + } + argDescriptor { + name: "step" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "length" + argType: INT64 + } + argDescriptor { + name: "dataType" + argType: INT64 + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "listdiff" + argDescriptor { + name: "values" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keep" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "output1" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "output2" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "log" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "log1p" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "log_loss" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: DOUBLE + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "log_loss_grad" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "epsilon" + argType: DOUBLE + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "log_matrix_determinant" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "log_poisson_loss" + argDescriptor { + name: "full" + argType: BOOL + } + argDescriptor { + name: "log_predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "log_poisson_loss_grad" + argDescriptor { + name: "full" + argType: BOOL + } + argDescriptor { + name: "log_predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "log_softmax" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimension" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "log_softmax_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimension" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "log_x" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "base" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "logdet" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "logentropy" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "logsigmoid" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "loop_cond" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "frameName" + argType: STRING + } +} +opList { + name: "lrelu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "lrelu_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "lrn" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "bias" + argType: DOUBLE + } + argDescriptor { + name: "alpha" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "beta" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "depth" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "lrn_bp" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "bias" + argType: DOUBLE + } + argDescriptor { + name: "alpha" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "beta" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "depth" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "lstm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "h0" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "c0" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "Wh" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "Wc" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "Wp" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "c" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "clippingCellValue" + argType: DOUBLE + } + argDescriptor { + name: "clippingProjValue" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "forgetBias" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "peephole" + argType: INT64 + } + argDescriptor { + name: "projection" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "lstmBlock" + argDescriptor { + name: "maxTSLength" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "cLast" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "yLast" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "W" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "Wci" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "Wcf" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "Wco" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 8 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "i" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "c" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "f" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "o" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "y" + argType: OUTPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "forgetBias" + argType: DOUBLE + } + argDescriptor { + name: "clippingCellValue" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "peephole" + argType: INT64 + } + argDescriptor { + name: "dataFormat" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "lstmBlockCell" + argDescriptor { + name: "xt" + argType: INPUT_TENSOR + } + argDescriptor { + name: "cLast" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "yLast" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "W" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "Wci" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "Wcf" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "Wco" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "i" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "c" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "f" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "o" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "y" + argType: OUTPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "forgetBias" + argType: DOUBLE + } + argDescriptor { + name: "clippingCellValue" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "peephole" + argType: INT64 + } +} +opList { + name: "lstmCell" + argDescriptor { + name: "xt" + argType: INPUT_TENSOR + } + argDescriptor { + name: "ht_1" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "ct_1" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "Wh" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "Wc" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "Wp" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "ht" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "ct" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "clippingCellValue" + argType: DOUBLE + } + argDescriptor { + name: "clippingProjValue" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "forgetBias" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "peephole" + argType: INT64 + } + argDescriptor { + name: "projection" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "lstmLayer" + argDescriptor { + name: "hasBiases" + argType: BOOL + } + argDescriptor { + name: "hasSeqLen" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "hasInitH" + argType: BOOL + argIndex: 2 + } + argDescriptor { + name: "hasInitC" + argType: BOOL + argIndex: 3 + } + argDescriptor { + name: "hasPH" + argType: BOOL + argIndex: 4 + } + argDescriptor { + name: "retFullSeq" + argType: BOOL + argIndex: 5 + } + argDescriptor { + name: "retLastH" + argType: BOOL + argIndex: 6 + } + argDescriptor { + name: "retLastC" + argType: BOOL + argIndex: 7 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wr" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "seqLen" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "hI" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "cI" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "Wp" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "hL" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "cL" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "cellClip" + argType: DOUBLE + } + argDescriptor { + name: "gateAlpha" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "gateBeta" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "cellAlpha" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "cellBeta" + argType: DOUBLE + argIndex: 4 + } + argDescriptor { + name: "outAlpha" + argType: DOUBLE + argIndex: 5 + } + argDescriptor { + name: "outBeta" + argType: DOUBLE + argIndex: 6 + } + argDescriptor { + name: "dataFormat" + argType: INT64 + } + argDescriptor { + name: "directionMode" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "gateAct" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "cellAct" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "outAct" + argType: INT64 + argIndex: 4 + } +} +opList { + name: "lstmLayerCell" + argDescriptor { + name: "hasBiases" + argType: BOOL + } + argDescriptor { + name: "hasPH" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wr" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "hI" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "cI" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "Wp" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "c" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "cellClip" + argType: DOUBLE + } + argDescriptor { + name: "gateAlpha" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "gateBeta" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "cellAlpha" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "cellBeta" + argType: DOUBLE + argIndex: 4 + } + argDescriptor { + name: "outAlpha" + argType: DOUBLE + argIndex: 5 + } + argDescriptor { + name: "outBeta" + argType: DOUBLE + argIndex: 6 + } + argDescriptor { + name: "gateAct" + argType: INT64 + } + argDescriptor { + name: "cellAct" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "outAct" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "lstmLayerCellBp" + argDescriptor { + name: "hasBiases" + argType: BOOL + } + argDescriptor { + name: "hasPH" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wr" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "hI" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "cI" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "Wp" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "dLdh" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdx" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdWx" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdWr" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdb" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdhI" + argType: OUTPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dLdcI" + argType: OUTPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "dLdWp" + argType: OUTPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "cellClip" + argType: DOUBLE + } + argDescriptor { + name: "gateAlpha" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "gateBeta" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "cellAlpha" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "cellBeta" + argType: DOUBLE + argIndex: 4 + } + argDescriptor { + name: "outAlpha" + argType: DOUBLE + argIndex: 5 + } + argDescriptor { + name: "outBeta" + argType: DOUBLE + argIndex: 6 + } + argDescriptor { + name: "gateAct" + argType: INT64 + } + argDescriptor { + name: "cellAct" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "outAct" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "lstmLayer_bp" + argDescriptor { + name: "hasBiases" + argType: BOOL + } + argDescriptor { + name: "hasSeqLen" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "hasInitH" + argType: BOOL + argIndex: 2 + } + argDescriptor { + name: "hasInitC" + argType: BOOL + argIndex: 3 + } + argDescriptor { + name: "hasPH" + argType: BOOL + argIndex: 4 + } + argDescriptor { + name: "retFullSeq" + argType: BOOL + argIndex: 5 + } + argDescriptor { + name: "retLastH" + argType: BOOL + argIndex: 6 + } + argDescriptor { + name: "retLastC" + argType: BOOL + argIndex: 7 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wr" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "seqLen" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "hI" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "cI" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "Wp" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "dLdh" + argType: INPUT_TENSOR + argIndex: 8 + } + argDescriptor { + name: "dLdhL" + argType: INPUT_TENSOR + argIndex: 9 + } + argDescriptor { + name: "dLdcL" + argType: INPUT_TENSOR + argIndex: 10 + } + argDescriptor { + name: "dLdsL" + argType: INPUT_TENSOR + argIndex: 11 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdx" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdWx" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdWr" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdb" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdhI" + argType: OUTPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dLdcI" + argType: OUTPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "dLdWp" + argType: OUTPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "cellClip" + argType: DOUBLE + } + argDescriptor { + name: "gateAlpha" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "gateBeta" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "cellAlpha" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "cellBeta" + argType: DOUBLE + argIndex: 4 + } + argDescriptor { + name: "outAlpha" + argType: DOUBLE + argIndex: 5 + } + argDescriptor { + name: "outBeta" + argType: DOUBLE + argIndex: 6 + } + argDescriptor { + name: "dataFormat" + argType: INT64 + } + argDescriptor { + name: "directionMode" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "gateAct" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "cellAct" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "outAct" + argType: INT64 + argIndex: 4 + } +} +opList { + name: "lstsq" + argDescriptor { + name: "fastFlag" + argType: BOOL + } + argDescriptor { + name: "a" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "l2_factor" + argType: DOUBLE + } +} +opList { + name: "lu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "p" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "manhattan" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "allDistances" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "match_condition" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "compare" + argType: DOUBLE + } + argDescriptor { + name: "eps" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "match_condition_transform" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "compare" + argType: DOUBLE + } + argDescriptor { + name: "eps" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "mode" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "matmul" + argDescriptor { + name: "transposeX" + argType: BOOL + } + argDescriptor { + name: "transposeY" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "transposeZ" + argType: BOOL + argIndex: 2 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: DOUBLE + } + argDescriptor { + name: "beta" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "transX" + argType: INT64 + } + argDescriptor { + name: "transY" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "transZ" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "matmul_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "eps" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dldx" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dldy" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dldx" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dldy" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "alpha" + argType: DOUBLE + } + argDescriptor { + name: "beta" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "transX" + argType: INT64 + } + argDescriptor { + name: "transY" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "transZ" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "matrix_band_part" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "minLowerT" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "maxUpperT" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "minLower" + argType: INT64 + } + argDescriptor { + name: "maxUpper" + argType: INT64 + argIndex: 1 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "matrix_determinant" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "matrix_diag" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "diagonal" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "matrix_diag_part" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "matrix_inverse" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "matrix_set_diag" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "diagonal" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "max_pairwise" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "max_pool_with_argmax" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outArgMax" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "sameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "isNHWC" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "max_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "maximum" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "maximum_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "maxout" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "maxpool2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "maxpool2d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "maxpool3dnew" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kD" + argType: INT64 + } + argDescriptor { + name: "kH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sD" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "pD" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "dD" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 11 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 12 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 13 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 14 + } +} +opList { + name: "maxpool3dnew_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kD" + argType: INT64 + } + argDescriptor { + name: "kH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sD" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "pD" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "dD" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 10 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 11 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 12 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 13 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 14 + } +} +opList { + name: "mean_pairwssqerr_loss" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "mean_pairwssqerr_loss_grad" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "mean_sqerr_loss" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "mean_sqerr_loss_grad" + argDescriptor { + name: "predictions" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "merge" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "mergeadd" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "inArrs" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "mergeadd_bp" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outArrs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "mergeavg" + argDescriptor { + name: "inArrs" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "mergeavg_bp" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outArrs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "mergemax" + argDescriptor { + name: "inArrs" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "mergemax_bp" + argDescriptor { + name: "inArrs" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outArrs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "mergemaxindex" + argDescriptor { + name: "inArrs" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: INT64 + } +} +opList { + name: "mergesum" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "meshgrid" + argDescriptor { + name: "cartesian" + argType: BOOL + } + argDescriptor { + name: "inArrs" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outArrs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "swapFirst2Dims" + argType: INT64 + } +} +opList { + name: "meta_postulate" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "meta_predicate" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "meta_predicate_inverted" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "meta_reduce" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "min_pairwise" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "minimum" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "minimum_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "mirror_pad" + argDescriptor { + name: "isSymmetric" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "paddings" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "mode" + argType: INT64 + } +} +opList { + name: "mish" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "mod" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "mod_bp" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "moments" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outStd" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "means" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "variances" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "keepDims" + argType: DOUBLE + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "mul_scalar" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "multi_head_dot_product_attention" + argDescriptor { + name: "scaled" + argType: BOOL + } + argDescriptor { + name: "withWeights" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "queries" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keys" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "values" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Wq" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "Wk" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "Wv" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "Wo" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "mask" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "normalization" + argType: INT64 + } + argDescriptor { + name: "weights" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "multi_head_dot_product_attention_bp" + argDescriptor { + name: "scaled" + argType: BOOL + } + argDescriptor { + name: "queries" + argType: INPUT_TENSOR + } + argDescriptor { + name: "keys" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "values" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "Wq" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "Wk" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "Wv" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "Wo" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "eps" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "mask" + argType: INPUT_TENSOR + argIndex: 8 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdq" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdk" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdv" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdWq" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdWk" + argType: OUTPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dLdWv" + argType: OUTPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "dLdWo" + argType: OUTPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "normalization" + argType: INT64 + } +} +opList { + name: "multiply" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "multiply_bp" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "nadam_updater" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "initStateV" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "initStateM" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "lr" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "beta1" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "beta2" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "update" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "stateV" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "stateM" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLr" + argType: DOUBLE + } + argDescriptor { + name: "dBeta1" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dBeta2" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "dEpsilon" + argType: DOUBLE + argIndex: 3 + } + argDescriptor { + name: "iteration" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "neg" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "nesterovs_updater" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "initState" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "lr" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "momentum" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "update" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "stateV" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLr" + argType: DOUBLE + } + argDescriptor { + name: "dMomentum" + argType: DOUBLE + argIndex: 1 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "next_iteration" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "frameName" + argType: STRING + } +} +opList { + name: "non_max_suppression" + argDescriptor { + name: "boxes" + argType: INPUT_TENSOR + } + argDescriptor { + name: "scales" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "maxOutputSize" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "overlayThreshold" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "scoreThreshold" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "iouThreshold" + argType: DOUBLE + } + argDescriptor { + name: "scoreThreshold" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "maxOutputSize" + argType: INT64 + } +} +opList { + name: "non_max_suppression_overlaps" + argDescriptor { + name: "boxes" + argType: INPUT_TENSOR + } + argDescriptor { + name: "scales" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "overlapThreshold" + argType: DOUBLE + } + argDescriptor { + name: "scoreThreshold" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "maxOutputSize" + argType: INT64 + } +} +opList { + name: "non_max_suppression_v3" + argDescriptor { + name: "boxes" + argType: INPUT_TENSOR + } + argDescriptor { + name: "scales" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "maxOutSize" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "iouThreshold" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "scoreThreshold" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "maxOutputSize" + argType: INT64 + } +} +opList { + name: "noop" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "norm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "*output" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "mode" + argType: DOUBLE + } + opDeclarationType: REDUCTION_OP_IMPL +} +opList { + name: "normalize_moments" + argDescriptor { + name: "counts" + argType: INPUT_TENSOR + } + argDescriptor { + name: "means" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "variances" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "resMeans" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "resVariances" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "shift" + argType: DOUBLE + } +} +opList { + name: "not" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "comparable" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "not_equals" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_BOOL_OP_IMPL +} +opList { + name: "not_scalar" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "notequals_scalar" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "nth_element" + argDescriptor { + name: "reverse" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "n" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "reverse" + argType: INT64 + } +} +opList { + name: "old_assign" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "onehot" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "depth" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "on" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "off" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "on" + argType: DOUBLE + } + argDescriptor { + name: "off" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "depth" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "oneminus" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "ones_as" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: INT64 + } +} +opList { + name: "or" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "comparable" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "or_scalar" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "order" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "pad" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "paddings" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "padValue" + argType: DOUBLE + } + argDescriptor { + name: "mode" + argType: INT64 + } +} +opList { + name: "parallel_stack" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inArrs" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "percentile" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "q" + argType: DOUBLE + } + argDescriptor { + name: "interpolation" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "keepDims" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "permute" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "permuteDims" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "reverseDims" + argType: INT64 + } +} +opList { + name: "pick_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "ia" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "pnormpool2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kY" + argType: INT64 + } + argDescriptor { + name: "kX" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sY" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sX" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pY" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pX" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dY" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dX" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "pnormpool2d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "eps" + argType: DOUBLE + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "pnorm" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "pointwise_conv2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "isNCHW" + argType: INT64 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "polygamma" + argDescriptor { + name: "n" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "pooling3dpool3dnew_bp" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inputArrays" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "pow" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "pow" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "pow" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "pow_pairwise" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "precise_gelu" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "precise" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "prelu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "sharedAxes" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "prelu_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdO" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdI" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dLdA" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dLdI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdA" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "sharedAxes" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "print_affinity" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "print_variable" + argDescriptor { + name: "printSpecial" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "message" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "probablistic_merge" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "probability" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "qr" + argDescriptor { + name: "fullMatricies" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputQ" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "outputR" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "random_bernoulli" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "f" + argType: DOUBLE + } +} +opList { + name: "random_crop" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "seed" + argType: INT64 + } +} +opList { + name: "random_exponential" + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "lambda" + argType: DOUBLE + } + argDescriptor { + name: "shape" + argType: INT64 + } +} +opList { + name: "random_gamma" + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + } + argDescriptor { + name: "alpha" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "beta" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "seed" + argType: INT64 + } +} +opList { + name: "random_multinomial" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inputSamples" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } +} +opList { + name: "random_normal" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "random_poisson" + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + } + argDescriptor { + name: "lambda" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "seed" + argType: INT64 + } +} +opList { + name: "random_shuffle" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "seeds" + argType: INT64 + } + opDeclarationType: OP_IMPL +} +opList { + name: "randomnormal" + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "mean" + argType: DOUBLE + } + argDescriptor { + name: "stdev" + argType: DOUBLE + argIndex: 1 + } +} +opList { + name: "randomuniform" + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + } + argDescriptor { + name: "min" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "max" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "min" + argType: DOUBLE + } + argDescriptor { + name: "max" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: INT64 + } +} +opList { + name: "range" + argDescriptor { + name: "from" + argType: INPUT_TENSOR + } + argDescriptor { + name: "to" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "step" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "from" + argType: DOUBLE + } + argDescriptor { + name: "to" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "step" + argType: DOUBLE + argIndex: 2 + } + argDescriptor { + name: "from" + argType: INT64 + } + argDescriptor { + name: "to" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "step" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "rank" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "rational_tanh" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "rational_tanh_derivative" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "rationaltanh" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "rationaltanh_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "rdiv_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "read_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "vec" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "importDataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "index" + argType: INT64 + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "realdiv" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "realdiv_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "rectified_tanh" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "rectified_tanh_derivative" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "rectifiedtanh" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "rectifiedtanh_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "reduce_dot_bp" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "outputY" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_logsumexp" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: DOUBLE + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_max" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_max_bp" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_mean" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_mean_bp" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_min" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_min_bp" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_norm1" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_norm1_bp" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_norm2" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_norm2_bp" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_norm_max" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "reduce_norm_max_bp" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_normmax" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "reduce_prod" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_prod_bp" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_sqnorm" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_sqnorm_bp" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_stdev" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: DOUBLE + } + argDescriptor { + name: "biasCorrected" + argType: DOUBLE + argIndex: 1 + } +} +opList { + name: "reduce_stdev_bp" + argDescriptor { + name: "biasCorrected" + argType: BOOL + } + argDescriptor { + name: "keepDims" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: DOUBLE + } + argDescriptor { + name: "biasCorrected" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_sum" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_sum_bp" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reduce_variance" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: DOUBLE + } + argDescriptor { + name: "biasCorrected" + argType: DOUBLE + argIndex: 1 + } +} +opList { + name: "reduce_variance_bp" + argDescriptor { + name: "biasCorrected" + argType: BOOL + } + argDescriptor { + name: "keepDims" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "keepDims" + argType: DOUBLE + } + argDescriptor { + name: "biasCorrected" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "relu" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "cutoff" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "relu6" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "cutoff" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "relu6_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "cutoff" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "relu_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "scalar" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "relu_layer" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "w" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "remainder" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "remainder_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "repeat" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "replace_nans" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "set" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "reshape" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shapeArr" + argType: INT64 + } +} +opList { + name: "reshapeas" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "resize_area" + argDescriptor { + name: "alignCorners" + argType: BOOL + } + argDescriptor { + name: "image" + argType: INPUT_TENSOR + } + argDescriptor { + name: "size" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "height" + argType: INT64 + } + argDescriptor { + name: "width" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "resize_bicubic" + argDescriptor { + name: "alignCorners" + argType: BOOL + } + argDescriptor { + name: "alignPixelCenters" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "image" + argType: INPUT_TENSOR + } + argDescriptor { + name: "size" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "resize_bilinear" + argDescriptor { + name: "alignCorners" + argType: BOOL + } + argDescriptor { + name: "halfPixelCenters" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "image" + argType: INPUT_TENSOR + } + argDescriptor { + name: "newImageSize" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "height" + argType: INT64 + } + argDescriptor { + name: "width" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "resize_images" + argDescriptor { + name: "alignCorners" + argType: BOOL + } + argDescriptor { + name: "preserveAspectRatio" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "image" + argType: INPUT_TENSOR + } + argDescriptor { + name: "size" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "methodT" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "resize_nearest_neighbor" + argDescriptor { + name: "alignCorners" + argType: BOOL + } + argDescriptor { + name: "halfPixelCenter" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "image" + argType: INPUT_TENSOR + } + argDescriptor { + name: "newImageSize" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "height" + argType: INT64 + } + argDescriptor { + name: "width" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "restorev2" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "reverse" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "reverse_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "grad" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "eps" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "reverse_sequence" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "seqLengths" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "seqDim" + argType: INT64 + } + argDescriptor { + name: "batchDim" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "reverse_v2" + argDescriptor { + name: "isLegacy" + argType: BOOL + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "reversedivide" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "reversedivide_bp" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "reversemod" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "reversemod_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "reversesubtract" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "reversesubtract_bp" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "rgb_to_grs" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } +} +opList { + name: "rgb_to_hsv" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "rgb_to_yiq" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "rgb_to_yuv" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "rint" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "rms_prop_updater" + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + } + argDescriptor { + name: "initState" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "lr" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "rmsDecay" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "update" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "stateG" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLr" + argType: DOUBLE + } + argDescriptor { + name: "dRmsDecay" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "dEpsilon" + argType: DOUBLE + argIndex: 2 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "roll" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "shiftsI" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "shift" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "round" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "rshift_bits" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "rsqrt" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "rsub_scalar" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "savev2" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "scalar_min" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "scatter_add" + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_div" + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "array" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "sizes" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "scatter_max" + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_min" + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_mul" + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_nd" + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "shape" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "scatter_nd_add" + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_nd_sub" + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_nd_update" + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_sub" + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_upd" + argDescriptor { + name: "lock" + argType: BOOL + } + argDescriptor { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "scatter_update" + argDescriptor { + name: "operand" + argType: INPUT_TENSOR + } + argDescriptor { + name: "updates" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INT64 + } + argDescriptor { + name: "dimension" + argType: INT64 + argIndex: 1 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "sconv2d" + argDescriptor { + name: "*input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "*weightsDepth" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "weightsPoint" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "bias" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "*output" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "sconv2d_bp" + argDescriptor { + name: "*input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "*gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "*weightsDepth" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "weightsPoint" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "*gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "*gradWD" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradWP" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "kH" + argType: INT64 + } + argDescriptor { + name: "kW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "sH" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "sW" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "pH" + argType: INT64 + argIndex: 4 + } + argDescriptor { + name: "pW" + argType: INT64 + argIndex: 5 + } + argDescriptor { + name: "dH" + argType: INT64 + argIndex: 6 + } + argDescriptor { + name: "dW" + argType: INT64 + argIndex: 7 + } + argDescriptor { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + argDescriptor { + name: "wFormat" + argType: INT64 + argIndex: 10 + } +} +opList { + name: "segment_max" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } +} +opList { + name: "segment_max_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradOut" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "outIndices" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "segment_mean" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } +} +opList { + name: "segment_mean_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradOut" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "outIndices" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "segment_min" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } +} +opList { + name: "segment_min_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradOut" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "outIndices" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "segment_prod" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } +} +opList { + name: "segment_prod_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradOut" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "outIndices" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "segment_sum" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } +} +opList { + name: "segment_sum_bp" + argDescriptor { + name: "data" + argType: INPUT_TENSOR + } + argDescriptor { + name: "segmentIds" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "select" + argDescriptor { + name: "cond" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "selu" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "selu_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "seluderivative" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "sequence_mask" + argDescriptor { + name: "is_static_maxlen" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "maxlen" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "maxInd" + argType: INT64 + } + argDescriptor { + name: "dataType" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "set" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "set_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "set_seed" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "seed" + argType: INT64 + } +} +opList { + name: "setrange" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "min" + argType: DOUBLE + } + argDescriptor { + name: "max" + argType: DOUBLE + argIndex: 1 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "setvalorless_scalar" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "sgd_updater" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "lr" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "lr" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "shannonentropy" + argDescriptor { + name: "keepDims" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "shape_of" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "shapes_of" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "shift_bits" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "sigm_cross_entropy_loss" + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "labelsSmoothing" + argType: DOUBLE + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "sigm_cross_entropy_loss_grad" + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "labelSmoothing" + argType: DOUBLE + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "sigmoid" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "sigmoid_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "sign" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "sin" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "sinh" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "size" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "size_at" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "size_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "skipgram" + argDescriptor { + name: "isInference" + argType: BOOL + } + argDescriptor { + name: "isPreciseMode" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "target" + argType: INPUT_TENSOR + } + argDescriptor { + name: "ngStarter" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "codes" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "syn0" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "syn1" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "syn1neg" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "expTable" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "negTable" + argType: INPUT_TENSOR + argIndex: 8 + } + argDescriptor { + name: "alpha" + argType: INPUT_TENSOR + argIndex: 9 + } + argDescriptor { + name: "randomValue" + argType: INPUT_TENSOR + argIndex: 10 + } + argDescriptor { + name: "inferenceVector" + argType: INPUT_TENSOR + argIndex: 11 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numWorkers" + argType: INT64 + } + argDescriptor { + name: "nsRounds" + argType: INT64 + argIndex: 1 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "slice" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "e" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "size" + argType: INT64 + } +} +opList { + name: "slice_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "e" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "softmax" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimension" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "softmax_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimension" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "softmax_cross_entropy_loss" + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "labelsSmoothing" + argType: DOUBLE + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "softmax_cross_entropy_loss_grad" + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "labelsSmoothing" + argType: DOUBLE + } + argDescriptor { + name: "reductionMode" + argType: INT64 + } +} +opList { + name: "softmax_cross_entropy_loss_with_logits" + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "classesDim" + argType: INT64 + } +} +opList { + name: "softmax_cross_entropy_loss_with_logits_grad" + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + } + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdl" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "classesDim" + argType: INT64 + } +} +opList { + name: "softplus" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "softplus_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "softsign" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "softsign_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "softsignderivative" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "solve" + argDescriptor { + name: "useAdjoint" + argType: BOOL + } + argDescriptor { + name: "a" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "solve_ls" + argDescriptor { + name: "fastFlag" + argType: BOOL + } + argDescriptor { + name: "a" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "l2_factor" + argType: DOUBLE + } +} +opList { + name: "somepoolingpool2d" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "somepoolingpool2d_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "grad" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "space_to_batch" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "padding" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "blockSize" + argType: INT64 + } + argDescriptor { + name: "paddingTop" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "paddingBottom" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "space_to_batch_nd" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "blockShape" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "padding" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "blocks" + argType: INT64 + } +} +opList { + name: "space_to_depth" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "block_size" + argType: INT64 + } + argDescriptor { + name: "isNHWC" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "sparse_softmax_cross_entropy_loss_with_logits" + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + } + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "sparse_softmax_cross_entropy_loss_with_logits_grad" + argDescriptor { + name: "labels" + argType: INPUT_TENSOR + } + argDescriptor { + name: "logits" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdp" + argType: OUTPUT_TENSOR + } +} +opList { + name: "split" + argDescriptor { + name: "a" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outArrs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSplit" + argType: INT64 + } + argDescriptor { + name: "dimensions" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "split_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "array" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "sizes" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "split_string" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "delim" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "split_v" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "sizes" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "_a" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "numSplit" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "sqrt" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "sqrtm" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "square" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "squaredsubtract" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "squaredsubtract_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "squeeze" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "a" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "_a" + argType: INT64 + } +} +opList { + name: "sru" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "w" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "c0" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "mask" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "c" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "sruCell" + argDescriptor { + name: "xt" + argType: INPUT_TENSOR + } + argDescriptor { + name: "ct_1" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "w" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "ht" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "ct" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "sru_bi" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "w" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "c0" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "mask" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "ht" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "ct" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "sru_bi_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "w" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "c0" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "ct" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "inGradC0" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "inGradHt" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "mask" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradC0" + argType: OUTPUT_TENSOR + argIndex: 3 + } +} +opList { + name: "sru_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "w" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "c0" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "c" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "inGradCt" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "inGradH" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "mask" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradW" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradB" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "gradInit" + argType: OUTPUT_TENSOR + argIndex: 3 + } +} +opList { + name: "stabilize" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "realMin" + argType: DOUBLE + } + argDescriptor { + name: "cutOff" + argType: DOUBLE + argIndex: 1 + } + argDescriptor { + name: "k" + argType: DOUBLE + argIndex: 2 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "stack" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "inArrs" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "stack_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "standardize" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "standardize_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "eps" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "static_bidirectional_rnn" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "WxFW" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "WhFW" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "bFW" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "WxBW" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "WhBW" + argType: INPUT_TENSOR + argIndex: 5 + } + argDescriptor { + name: "bBW" + argType: INPUT_TENSOR + argIndex: 6 + } + argDescriptor { + name: "h0FW" + argType: INPUT_TENSOR + argIndex: 7 + } + argDescriptor { + name: "h0BW" + argType: INPUT_TENSOR + argIndex: 8 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "hFWFinal" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "hBWFinal" + argType: OUTPUT_TENSOR + argIndex: 2 + } +} +opList { + name: "static_rnn" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "Wx" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "Wh" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "maxTimeStep" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "h" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "hFinal" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "std" + argDescriptor { + name: "biasCorrected" + argType: BOOL + } + argDescriptor { + name: "keepDims" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "step" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "cutoff" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "stop_gradient" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "strided_slice" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "v_begin" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "v_end" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "v_stride" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "begin_mask" + argType: INT64 + } + argDescriptor { + name: "ellipsis_mask" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "end_mask" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "new_axis_mask" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "shrink_axis_mask" + argType: INT64 + argIndex: 4 + } +} +opList { + name: "strided_slice_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "v_begin" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "v_end" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "v_stride" + argType: INPUT_TENSOR + argIndex: 4 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "begin_mask" + argType: INT64 + } + argDescriptor { + name: "ellipsis_mask" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "end_mask" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "new_axis_mask" + argType: INT64 + argIndex: 3 + } + argDescriptor { + name: "shrink_axis_mask" + argType: INT64 + argIndex: 4 + } +} +opList { + name: "sub_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "subtract" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "subtract_bp" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "gradY" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "sufficient_statistics" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "shift" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dataCount" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "sum" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "squares" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "shift" + argType: OUTPUT_TENSOR + argIndex: 3 + } +} +opList { + name: "svd" + argDescriptor { + name: "full_matrices" + argType: BOOL + } + argDescriptor { + name: "computeUv" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "s" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "u" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "v" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "fullUV" + argType: INT64 + } + argDescriptor { + name: "calcUV" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "switchNum" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "swish" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "switch" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "predicate" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "frameName" + argType: STRING + } +} +opList { + name: "tan" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "tanderivative" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "tanh" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "tanh_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsilon" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "tear" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outE" + argType: OUTPUT_TENSOR + } +} +opList { + name: "tensorarrayconcatv3" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "tensorarraysplitv3" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "tensorarrayv3" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: INT64 + } +} +opList { + name: "tensorarraywritev3" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "tensordot" + argDescriptor { + name: "addedEdges" + argType: BOOL + } + argDescriptor { + name: "transposeY" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "transposeZ" + argType: BOOL + argIndex: 2 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensionsY" + argType: INT64 + } +} +opList { + name: "tensormmul" + argDescriptor { + name: "a" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "c" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "axe0_size" + argType: INT64 + } + argDescriptor { + name: "axe1_size" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "tensormmul_bp" + argDescriptor { + name: "A" + argType: INPUT_TENSOR + } + argDescriptor { + name: "B" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdC" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdA" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdB" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "axe0Size" + argType: INT64 + } +} +opList { + name: "test_output_reshape" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "test_scalar" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "testcustom" + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "testop2i2o" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "xO" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "yO" + argType: OUTPUT_TENSOR + argIndex: 1 + } + opDeclarationType: OP_IMPL +} +opList { + name: "testreduction" + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: REDUCTION_OP_IMPL +} +opList { + name: "tf_atan2" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "thresholdedrelu" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "cutoff" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "thresholdedrelu_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dLdO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "cutoff" + argType: DOUBLE + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "tile" + argDescriptor { + name: "is_static_reps" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "reps_vector" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } +} +opList { + name: "tile_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "repeat" + argType: INT64 + } +} +opList { + name: "tile_to_shape" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "tile_to_shape_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "epsNext" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradX" + argType: OUTPUT_TENSOR + } +} +opList { + name: "timesoneminus" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "to_double" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "to_float16" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "to_float32" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "to_int32" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "to_int64" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "to_uint32" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "to_uint64" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "toggle_bits" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "top_k" + argDescriptor { + name: "needSort" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "values" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "k" + argType: INT64 + } +} +opList { + name: "trace" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "transpose" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "permutationVector" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "permuteDims" + argType: INT64 + } +} +opList { + name: "tri" + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "row" + argType: INT64 + } + argDescriptor { + name: "column" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "diag" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "triangular_solve" + argDescriptor { + name: "isLower" + argType: BOOL + } + argDescriptor { + name: "useAdjoint" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "a" + argType: INPUT_TENSOR + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "triu" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "diag" + argType: INT64 + } +} +opList { + name: "triu_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "diag" + argType: INT64 + } +} +opList { + name: "truncatediv" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: BROADCASTABLE_OP_IMPL +} +opList { + name: "unique" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "values" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: OUTPUT_TENSOR + argIndex: 1 + } +} +opList { + name: "unique_with_counts" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "values" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "counts" + argType: OUTPUT_TENSOR + argIndex: 2 + } +} +opList { + name: "unsorted_segment_max" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } +} +opList { + name: "unsorted_segment_max_bp" + argDescriptor { + name: "data" + argType: INPUT_TENSOR + } + argDescriptor { + name: "segmentIds" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } +} +opList { + name: "unsorted_segment_mean" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } +} +opList { + name: "unsorted_segment_mean_bp" + argDescriptor { + name: "data" + argType: INPUT_TENSOR + } + argDescriptor { + name: "segmentIds" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } +} +opList { + name: "unsorted_segment_min" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } +} +opList { + name: "unsorted_segment_min_bp" + argDescriptor { + name: "data" + argType: INPUT_TENSOR + } + argDescriptor { + name: "segmentIds" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } +} +opList { + name: "unsorted_segment_prod" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } +} +opList { + name: "unsorted_segment_prod_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "indices" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "eps" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } +} +opList { + name: "unsorted_segment_sqrt_n" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } +} +opList { + name: "unsorted_segment_sqrt_n_bp" + argDescriptor { + name: "data" + argType: INPUT_TENSOR + } + argDescriptor { + name: "segmentIds" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } +} +opList { + name: "unsorted_segment_sum" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "idxSegments" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "segmentedOutput" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } +} +opList { + name: "unsorted_segment_sum_bp" + argDescriptor { + name: "data" + argType: INPUT_TENSOR + } + argDescriptor { + name: "segmentIds" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "gradient" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "numSegments" + argType: INT64 + } +} +opList { + name: "unstack" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outArrs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + argDescriptor { + name: "num" + argType: INT64 + argIndex: 1 + } +} +opList { + name: "unstack_list" + argDescriptor { + name: "outputList" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "upsampling2d" + argDescriptor { + name: "nchw" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "factorH" + argType: INT64 + } + argDescriptor { + name: "factorW" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "isNCHW" + argType: INT64 + argIndex: 2 + } +} +opList { + name: "upsampling2d_bp" + argDescriptor { + name: "nchw" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "scaleW" + argType: INT64 + } +} +opList { + name: "upsampling3d" + argDescriptor { + name: "ncdhw" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "factorD" + argType: INT64 + } + argDescriptor { + name: "factorH" + argType: INT64 + argIndex: 1 + } + argDescriptor { + name: "factorW" + argType: INT64 + argIndex: 2 + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + argIndex: 3 + } +} +opList { + name: "upsampling3d_bp" + argDescriptor { + name: "ncdhw" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "gradO" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "gradI" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "isNCDHW" + argType: INT64 + } +} +opList { + name: "var" + argDescriptor { + name: "biasCorrected" + argType: BOOL + } + argDescriptor { + name: "keepDims" + argType: BOOL + argIndex: 1 + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimensions" + argType: INT64 + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "weighted_cross_entropy_with_logits" + argDescriptor { + name: "targets" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: OP_IMPL +} +opList { + name: "where_np" + argDescriptor { + name: "condition" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "y" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "write_list" + argDescriptor { + name: "list" + argType: INPUT_TENSOR + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "idx" + argType: INT64 + } + opDeclarationType: LIST_OP_IMPL +} +opList { + name: "xor" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "comparable" + argType: DOUBLE + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "xor_scalar" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: LEGACY_XYZ +} +opList { + name: "xw_plus_b" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "weights" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "bTranspose" + argType: INT64 + } +} +opList { + name: "xw_plus_b_bp" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "w" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "b" + argType: INPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "dLdz" + argType: INPUT_TENSOR + argIndex: 3 + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "dLdx" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dLdw" + argType: OUTPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dLdb" + argType: OUTPUT_TENSOR + argIndex: 2 + } + argDescriptor { + name: "bTranspose" + argType: INT64 + } +} +opList { + name: "yiq_to_rgb" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "yuv_to_rgb" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dimC" + argType: INT64 + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "zero_fraction" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "zeros_as" + argDescriptor { + name: "dtype" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "zeros_like" + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } +} +opList { + name: "zeroslike" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + argDescriptor { + name: "dataType" + argType: INT64 + } +} +opList { + name: "zeta" + argDescriptor { + name: "inPlace" + argType: BOOL + } + argDescriptor { + name: "input" + argType: INPUT_TENSOR + } + argDescriptor { + name: "q" + argType: INPUT_TENSOR + argIndex: 1 + } + argDescriptor { + name: "dataType" + argType: DATA_TYPE + } + argDescriptor { + name: "outputs" + argType: OUTPUT_TENSOR + } + opDeclarationType: CONFIGURABLE_OP_IMPL +} +opList { + name: "placeholder" + opDeclarationType: LOGIC_OP_IMPL +} diff --git a/nd4j/samediff-import/samediff-import-onnx/onnx-processes.pbtxt b/nd4j/samediff-import/samediff-import-onnx/onnx-processes.pbtxt new file mode 100644 index 000000000..5877e58bc --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/onnx-processes.pbtxt @@ -0,0 +1,6714 @@ +mappings { + frameworkName: "onnx" + opName: "add" + inputFrameworkOpName: "Add" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "Add" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Add" + } +} +mappings { + frameworkName: "onnx" + opName: "tan" + inputFrameworkOpName: "Tan" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Tan" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Tan" + } +} +mappings { + frameworkName: "onnx" + opName: "or" + inputFrameworkOpName: "Or" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "Or" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Or" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "comparable" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "comparable" + argType: DOUBLE + } + } + inputFrameworkOpName: "Or" + } +} +mappings { + frameworkName: "onnx" + opName: "reduce_max" + inputFrameworkOpName: "ReduceMax" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "ReduceMax" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputIntName: "keepdims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keepdims" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceMax" + } + rule { + ruleName: "listnumbertolistnumber" + functionName: "listnumbertolistnumber" + inputToOutput { + key: "dimensions" + value: "axes" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceMax" + } +} +mappings { + frameworkName: "onnx" + opName: "maxpool2d" + inputFrameworkOpName: "MaxPool" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "isNCHW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "isNCHW" + int64Value: 1 + argType: INT64 + argIndex: 10 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "extraParam0" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "stringcontains" + functionName: "stringcontains" + inputStringAttrName: "auto_pad" + outputIntName: "isSameMode" + inputFloatName: "auto_pad" + inputToOutput { + key: "isSameMode" + value: "auto_pad" + } + ruleType: "attribute" + transformerArgs { + key: "isSameMode" + transformerArgs { + name: "auto_pad" + argIndex: 8 + stringValue: "SAME" + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "dH" + inputFloatName: "dilations" + inputFloatName: "dilations" + inputToOutput { + key: "dH" + value: "dilations" + } + ruleType: "attribute" + transformerArgs { + key: "dH" + transformerArgs { + name: "dilations" + argIndex: 6 + } + transformerArgs { + name: "dilations" + int64Value: 1 + argIndex: 6 + } + } + transformerArgs { + key: "dH" + transformerArgs { + name: "dilations" + argIndex: 6 + } + transformerArgs { + name: "dilations" + int64Value: 1 + argIndex: 6 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "dW" + inputFloatName: "dilations" + inputFloatName: "dilations" + inputToOutput { + key: "dW" + value: "dilations" + } + ruleType: "attribute" + transformerArgs { + key: "dW" + transformerArgs { + name: "dilations" + int64Value: 1 + argIndex: 7 + } + transformerArgs { + name: "dilations" + int64Value: 1 + argIndex: 7 + } + } + transformerArgs { + key: "dW" + transformerArgs { + name: "dilations" + int64Value: 1 + argIndex: 7 + } + transformerArgs { + name: "dilations" + int64Value: 1 + argIndex: 7 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "pH" + inputFloatName: "pads" + inputFloatName: "pads" + inputToOutput { + key: "pH" + value: "pads" + } + ruleType: "attribute" + transformerArgs { + key: "pH" + transformerArgs { + name: "pads" + argIndex: 4 + } + transformerArgs { + name: "pads" + argIndex: 4 + } + } + transformerArgs { + key: "pH" + transformerArgs { + name: "pads" + argIndex: 4 + } + transformerArgs { + name: "pads" + argIndex: 4 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "pW" + inputFloatName: "pads" + inputFloatName: "pads" + inputToOutput { + key: "pW" + value: "pads" + } + ruleType: "attribute" + transformerArgs { + key: "pW" + transformerArgs { + name: "pads" + int64Value: 1 + argIndex: 5 + } + transformerArgs { + name: "pads" + argIndex: 5 + } + } + transformerArgs { + key: "pW" + transformerArgs { + name: "pads" + int64Value: 1 + argIndex: 5 + } + transformerArgs { + name: "pads" + argIndex: 5 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "sH" + inputFloatName: "strides" + inputFloatName: "strides" + inputToOutput { + key: "sH" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sH" + transformerArgs { + name: "strides" + argIndex: 2 + } + transformerArgs { + name: "strides" + int64Value: 1 + argIndex: 6 + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "strides" + argIndex: 2 + } + transformerArgs { + name: "strides" + int64Value: 1 + argIndex: 6 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "sW" + inputFloatName: "strides" + inputFloatName: "strides" + inputToOutput { + key: "sW" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sW" + transformerArgs { + name: "strides" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "strides" + int64Value: 1 + argIndex: 7 + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "strides" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "strides" + int64Value: 1 + argIndex: 7 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "kH" + inputFloatName: "kernel_shape" + inputToOutput { + key: "kH" + value: "kernel_shape" + } + ruleType: "attribute" + transformerArgs { + key: "kH" + transformerArgs { + name: "kernel_shape" + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "kW" + inputFloatName: "kernel_shape" + inputToOutput { + key: "kW" + value: "kernel_shape" + } + ruleType: "attribute" + transformerArgs { + key: "kW" + transformerArgs { + name: "kernel_shape" + int64Value: 1 + argIndex: 1 + } + } + inputFrameworkOpName: "MaxPool" + } +} +mappings { + frameworkName: "onnx" + opName: "size" + inputFrameworkOpName: "Size" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "Size" + } +} +mappings { + frameworkName: "onnx" + opName: "lrn" + inputFrameworkOpName: "LRN" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "LRN" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "size" + outputIntName: "depth" + inputFloatName: "alpha" + inputFloatName: "beta" + inputFloatName: "bias" + outputDoubleName: "alpha" + outputDoubleName: "beta" + outputDoubleName: "bias" + inputToOutput { + key: "alpha" + value: "alpha" + } + inputToOutput { + key: "beta" + value: "beta" + } + inputToOutput { + key: "bias" + value: "bias" + } + inputToOutput { + key: "depth" + value: "size" + } + ruleType: "attribute" + inputFrameworkOpName: "LRN" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "LRN" + } +} +mappings { + frameworkName: "onnx" + opName: "isinf" + inputFrameworkOpName: "IsInf" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "IsInf" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "IsInf" + } +} +mappings { + frameworkName: "onnx" + opName: "batchnorm" + inputFrameworkOpName: "BatchNormalization" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + inputTensorName: "mean" + inputTensorName: "var" + inputTensorName: "scale" + outputTensorName: "input" + outputTensorName: "mean" + outputTensorName: "variance" + outputTensorName: "gamma" + inputToOutput { + key: "input" + value: "X" + } + inputToOutput { + key: "mean" + value: "mean" + } + inputToOutput { + key: "variance" + value: "var" + } + inputToOutput { + key: "gamma" + value: "scale" + } + ruleType: "tensor" + inputFrameworkOpName: "BatchNormalization" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "epsilon" + outputDoubleName: "epsilon" + inputToOutput { + key: "epsilon" + value: "epsilon" + } + ruleType: "attribute" + inputFrameworkOpName: "BatchNormalization" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "BatchNormalization" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "applyGamma" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "applyGamma" + boolValue: true + argType: BOOL + argIndex: 1 + } + } + inputFrameworkOpName: "BatchNormalization" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "applyBeta" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "applyBeta" + boolValue: true + argType: BOOL + argIndex: 2 + } + } + inputFrameworkOpName: "BatchNormalization" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "applyScale" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "applyScale" + int64Value: 1 + argType: INT64 + } + } + inputFrameworkOpName: "BatchNormalization" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "applyOffset" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "applyOffset" + int64Value: 1 + argType: INT64 + argIndex: 1 + } + } + inputFrameworkOpName: "BatchNormalization" + } +} +mappings { + frameworkName: "onnx" + opName: "elu" + inputFrameworkOpName: "Elu" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Elu" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "alpha" + outputDoubleName: "alpha" + inputToOutput { + key: "alpha" + value: "alpha" + } + ruleType: "attribute" + inputFrameworkOpName: "Elu" + } +} +mappings { + frameworkName: "onnx" + opName: "concat" + inputFrameworkOpName: "Concat" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "inputs" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "inputs" + } + ruleType: "tensor" + inputFrameworkOpName: "Concat" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "axis" + inputToOutput { + key: "concatDimension" + value: "axis" + } + ruleType: "attribute" + inputFrameworkOpName: "Concat" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "isDynamicAxis" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "isDynamicAxis" + argType: BOOL + } + } + inputFrameworkOpName: "Concat" + } +} +mappings { + frameworkName: "onnx" + opName: "top_k" + inputFrameworkOpName: "TopK" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "TopK" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputIntName: "sorted" + outputBooleanName: "needSort" + inputToOutput { + key: "needSort" + value: "sorted" + } + ruleType: "attribute" + inputFrameworkOpName: "TopK" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputIntName: "k" + inputToOutput { + key: "k" + value: "K" + } + ruleType: "attribute" + inputFrameworkOpName: "TopK" + } +} +mappings { + frameworkName: "onnx" + opName: "equals" + inputFrameworkOpName: "Equal" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "Equal" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Equal" + } +} +mappings { + frameworkName: "onnx" + opName: "matmul" + inputFrameworkOpName: "MatMul" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "MatMul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "transposeX" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "transposeX" + argType: BOOL + } + } + inputFrameworkOpName: "MatMul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "transposeY" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "transposeY" + argType: BOOL + argIndex: 1 + } + } + inputFrameworkOpName: "MatMul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "transposeZ" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "transposeZ" + argType: BOOL + argIndex: 2 + } + } + inputFrameworkOpName: "MatMul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "alpha" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "alpha" + argType: DOUBLE + } + } + inputFrameworkOpName: "MatMul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "beta" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "beta" + doubleValue: 1.0 + argType: DOUBLE + argIndex: 1 + } + } + inputFrameworkOpName: "MatMul" + } +} +mappings { + frameworkName: "onnx" + opName: "reduce_min" + inputFrameworkOpName: "ReduceMin" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "ReduceMin" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputIntName: "keepdims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keepdims" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceMin" + } + rule { + ruleName: "listnumbertolistnumber" + functionName: "listnumbertolistnumber" + inputToOutput { + key: "dimensions" + value: "axes" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceMin" + } +} +mappings { + frameworkName: "onnx" + opName: "sinh" + inputFrameworkOpName: "Sinh" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Sinh" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Sinh" + } +} +mappings { + frameworkName: "onnx" + opName: "asinh" + inputFrameworkOpName: "Asinh" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Asinh" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Asinh" + } +} +mappings { + frameworkName: "onnx" + opName: "gather_nd" + inputFrameworkOpName: "GatherND" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + inputTensorName: "data" + outputTensorName: "indices" + outputTensorName: "input" + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "GatherND" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "checkIndices" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "checkIndices" + boolValue: true + argType: BOOL + } + } + inputFrameworkOpName: "GatherND" + } +} +mappings { + frameworkName: "onnx" + opName: "squeeze" + inputFrameworkOpName: "Squeeze" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "Squeeze" + } + rule { + ruleName: "convertinputnumberlisttondarray" + functionName: "convertinputnumberlisttondarray" + inputToOutput { + key: "a" + value: "axes" + } + ruleType: "attribute" + inputFrameworkOpName: "Squeeze" + } + rule { + ruleName: "listnumbertolistnumber" + functionName: "listnumbertolistnumber" + outputIntName: "_a" + inputToOutput { + key: "_a" + value: "axes" + } + ruleType: "attribute" + inputFrameworkOpName: "Squeeze" + } +} +mappings { + frameworkName: "onnx" + opName: "identity" + inputFrameworkOpName: "Identity" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Identity" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Identity" + } +} +mappings { + frameworkName: "onnx" + opName: "less" + inputFrameworkOpName: "Less" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "Less" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Less" + } +} +mappings { + frameworkName: "onnx" + opName: "softplus" + inputFrameworkOpName: "Softplus" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Softplus" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Softplus" + } +} +mappings { + frameworkName: "onnx" + opName: "reduce_sum" + inputFrameworkOpName: "ReduceSum" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "ReduceSum" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputIntName: "keepdims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keepdims" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceSum" + } + rule { + ruleName: "listnumbertolistnumber" + functionName: "listnumbertolistnumber" + inputToOutput { + key: "dimensions" + value: "axes" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceSum" + } +} +mappings { + frameworkName: "onnx" + opName: "tanh" + inputFrameworkOpName: "Tanh" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Tanh" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Tanh" + } +} +mappings { + frameworkName: "onnx" + opName: "subtract" + inputFrameworkOpName: "Sub" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "Sub" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Sub" + } +} +mappings { + frameworkName: "onnx" + opName: "reduce_prod" + inputFrameworkOpName: "ReduceProd" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "ReduceProd" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputIntName: "keepdims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keepdims" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceProd" + } + rule { + ruleName: "listnumbertolistnumber" + functionName: "listnumbertolistnumber" + inputToOutput { + key: "dimensions" + value: "axes" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceProd" + } +} +mappings { + frameworkName: "onnx" + opName: "multiply" + inputFrameworkOpName: "Mul" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "Mul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Mul" + } +} +mappings { + frameworkName: "onnx" + opName: "log" + inputFrameworkOpName: "Log" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Log" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Log" + } +} +mappings { + frameworkName: "onnx" + opName: "range" + inputFrameworkOpName: "Range" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "start" + inputTensorName: "limit" + inputTensorName: "delta" + outputTensorName: "from" + outputTensorName: "to" + outputTensorName: "step" + inputToOutput { + key: "from" + value: "start" + } + inputToOutput { + key: "to" + value: "limit" + } + inputToOutput { + key: "step" + value: "delta" + } + ruleType: "tensor" + inputFrameworkOpName: "Range" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + inputToOutput { + key: "from" + value: "start" + } + ruleType: "attribute" + inputFrameworkOpName: "Range" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + inputToOutput { + key: "to" + value: "limit" + } + ruleType: "attribute" + inputFrameworkOpName: "Range" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + inputToOutput { + key: "step" + value: "delta" + } + ruleType: "attribute" + inputFrameworkOpName: "Range" + } +} +mappings { + frameworkName: "onnx" + opName: "transpose" + inputFrameworkOpName: "Transpose" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "Transpose" + } + rule { + ruleName: "listnumbertondarray" + functionName: "listnumbertondarray" + inputToOutput { + key: "permuteDims" + value: "perm" + } + ruleType: "attribute" + inputFrameworkOpName: "Transpose" + } +} +mappings { + frameworkName: "onnx" + opName: "gather" + inputFrameworkOpName: "Gather" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + inputTensorName: "data" + outputTensorName: "indices" + outputTensorName: "input" + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "Gather" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "axis" + outputIntName: "dimensions" + inputToOutput { + key: "dimensions" + value: "axis" + } + ruleType: "attribute" + inputFrameworkOpName: "Gather" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Gather" + } +} +mappings { + frameworkName: "onnx" + opName: "argmax" + inputFrameworkOpName: "ArgMax" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "ArgMax" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputIntName: "keepdims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keepdims" + } + ruleType: "attribute" + inputFrameworkOpName: "ArgMax" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "axis" + inputToOutput { + key: "dimensions" + value: "axis" + } + ruleType: "attribute" + inputFrameworkOpName: "ArgMax" + } +} +mappings { + frameworkName: "onnx" + opName: "not" + inputFrameworkOpName: "Not" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Not" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "comparable" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "comparable" + argType: DOUBLE + } + } + inputFrameworkOpName: "Not" + } +} +mappings { + frameworkName: "onnx" + opName: "reduce_mean" + inputFrameworkOpName: "ReduceMean" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "ReduceMean" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputIntName: "keepdims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keepdims" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceMean" + } + rule { + ruleName: "listnumbertolistnumber" + functionName: "listnumbertolistnumber" + inputToOutput { + key: "dimensions" + value: "axes" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceMean" + } +} +mappings { + frameworkName: "onnx" + opName: "reshape" + inputFrameworkOpName: "Reshape" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "shape" + outputTensorName: "input" + outputTensorName: "shape" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "shape" + value: "shape" + } + ruleType: "tensor" + inputFrameworkOpName: "Reshape" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "shapeArr" + inputToOutput { + key: "shapeArr" + value: "shape" + } + ruleType: "attribute" + inputFrameworkOpName: "Reshape" + } +} +mappings { + frameworkName: "onnx" + opName: "randomuniform" + inputFrameworkOpName: "RandomUniform" + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "low" + inputFloatName: "high" + inputToOutput { + key: "min" + value: "low" + } + inputToOutput { + key: "max" + value: "high" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomUniform" + } + rule { + ruleName: "listnumbertondarray" + functionName: "listnumbertondarray" + inputToOutput { + key: "shape" + value: "shape" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomUniform" + } +} +mappings { + frameworkName: "onnx" + opName: "boolean_and" + inputFrameworkOpName: "And" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "And" + } +} +mappings { + frameworkName: "onnx" + opName: "softmax" + inputFrameworkOpName: "Softmax" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Softmax" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "axis" + outputIntName: "dimension" + inputToOutput { + key: "dimension" + value: "axis" + } + ruleType: "attribute" + inputFrameworkOpName: "Softmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Softmax" + } +} +mappings { + frameworkName: "onnx" + opName: "leakyrelu" + inputFrameworkOpName: "LeakyRelu" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "LeakyRelu" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "alpha" + outputDoubleName: "alpha" + inputToOutput { + key: "alpha" + value: "alpha" + } + ruleType: "attribute" + inputFrameworkOpName: "LeakyRelu" + } +} +mappings { + frameworkName: "onnx" + opName: "erf" + inputFrameworkOpName: "Erf" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Erf" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Erf" + } +} +mappings { + frameworkName: "onnx" + opName: "pow_pairwise" + inputFrameworkOpName: "Pow" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + inputTensorName: "Y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "X" + } + inputToOutput { + key: "y" + value: "Y" + } + ruleType: "tensor" + inputFrameworkOpName: "Pow" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Pow" + } +} +mappings { + frameworkName: "onnx" + opName: "acos" + inputFrameworkOpName: "Acos" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Acos" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Acos" + } +} +mappings { + frameworkName: "onnx" + opName: "sin" + inputFrameworkOpName: "Sin" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Sin" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Sin" + } +} +mappings { + frameworkName: "onnx" + opName: "bitwise_xor" + inputFrameworkOpName: "Xor" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "Xor" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Xor" + } +} +mappings { + frameworkName: "onnx" + opName: "ceil" + inputFrameworkOpName: "Ceil" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Ceil" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Ceil" + } +} +mappings { + frameworkName: "onnx" + opName: "relu" + inputFrameworkOpName: "Relu" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Relu" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Relu" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "cutoff" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "cutoff" + argType: DOUBLE + } + } + inputFrameworkOpName: "Relu" + } +} +mappings { + frameworkName: "onnx" + opName: "split" + inputFrameworkOpName: "Split" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "a" + inputToOutput { + key: "a" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Split" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "axis" + outputIntName: "dimensions" + inputToOutput { + key: "dimensions" + value: "axis" + } + ruleType: "attribute" + inputFrameworkOpName: "Split" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "numSplit" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "numSplit" + argType: INT64 + } + } + inputFrameworkOpName: "Split" + } + rule { + ruleName: "listnumbertondarray" + functionName: "listnumbertondarray" + inputToOutput { + key: "b" + value: "split" + } + ruleType: "attribute" + inputFrameworkOpName: "Split" + } +} +mappings { + frameworkName: "onnx" + opName: "reduce_logsumexp" + inputFrameworkOpName: "ReduceLogSumExp" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "ReduceLogSumExp" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputIntName: "keepdims" + outputDoubleName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keepdims" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceLogSumExp" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "keepdims" + outputDoubleName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keepdims" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceLogSumExp" + } + rule { + ruleName: "listnumbertolistnumber" + functionName: "listnumbertolistnumber" + inputToOutput { + key: "dimensions" + value: "axes" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceLogSumExp" + } +} +mappings { + frameworkName: "onnx" + opName: "matmul" + inputFrameworkOpName: "Gemm" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "Gemm" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "transA" + inputIntName: "transB" + inputFloatName: "alpha" + inputFloatName: "beta" + outputDoubleName: "alpha" + outputDoubleName: "beta" + outputBooleanName: "transposeX" + outputBooleanName: "transposeY" + inputToOutput { + key: "alpha" + value: "alpha" + } + inputToOutput { + key: "beta" + value: "beta" + } + inputToOutput { + key: "transposeX" + value: "transA" + } + inputToOutput { + key: "transposeY" + value: "transB" + } + ruleType: "attribute" + inputFrameworkOpName: "Gemm" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "transZ" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "transZ" + argType: BOOL + argIndex: 2 + } + } + inputFrameworkOpName: "Gemm" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "transposeZ" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "transposeZ" + argType: BOOL + argIndex: 2 + } + } + inputFrameworkOpName: "Gemm" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputIntName: "transA" + inputIntName: "transB" + outputIntName: "transX" + outputIntName: "transY" + inputToOutput { + key: "transX" + value: "transA" + } + inputToOutput { + key: "transY" + value: "transB" + } + ruleType: "attribute" + inputFrameworkOpName: "Gemm" + } +} +mappings { + frameworkName: "onnx" + opName: "acosh" + inputFrameworkOpName: "Acosh" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Acosh" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Acosh" + } +} +mappings { + frameworkName: "onnx" + opName: "less_equal" + inputFrameworkOpName: "LessOrEqual" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "LessOrEqual" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "LessOrEqual" + } +} +mappings { + frameworkName: "onnx" + opName: "cosh" + inputFrameworkOpName: "Cosh" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Cosh" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Cosh" + } +} +mappings { + frameworkName: "onnx" + opName: "non_max_suppression_v3" + inputFrameworkOpName: "NonMaxSuppression" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "boxes" + inputTensorName: "scores" + inputTensorName: "max_output_boxes_per_class" + inputTensorName: "iou_threshold" + inputTensorName: "score_threshold" + outputTensorName: "boxes" + outputTensorName: "scales" + outputTensorName: "maxOutSize" + outputTensorName: "iouThreshold" + outputTensorName: "scoreThreshold" + inputToOutput { + key: "boxes" + value: "boxes" + } + inputToOutput { + key: "scales" + value: "scores" + } + inputToOutput { + key: "maxOutSize" + value: "max_output_boxes_per_class" + } + inputToOutput { + key: "iouThreshold" + value: "iou_threshold" + } + inputToOutput { + key: "scoreThreshold" + value: "score_threshold" + } + ruleType: "tensor" + inputFrameworkOpName: "NonMaxSuppression" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "maxOutputSize" + inputToOutput { + key: "maxOutputSize" + value: "max_output_boxes_per_class" + } + ruleType: "attribute" + inputFrameworkOpName: "NonMaxSuppression" + } +} +mappings { + frameworkName: "onnx" + opName: "log_softmax" + inputFrameworkOpName: "LogSoftmax" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "LogSoftmax" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "axis" + outputIntName: "dimension" + inputToOutput { + key: "dimension" + value: "axis" + } + ruleType: "attribute" + inputFrameworkOpName: "LogSoftmax" + } +} +mappings { + frameworkName: "onnx" + opName: "shape_of" + inputFrameworkOpName: "Shape" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "Shape" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Shape" + } +} +mappings { + frameworkName: "onnx" + opName: "random_normal" + inputFrameworkOpName: "RandomNormal" + rule { + ruleName: "listnumbertondarray" + functionName: "listnumbertondarray" + inputToOutput { + key: "input" + value: "shape" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomNormal" + } +} +mappings { + frameworkName: "onnx" + opName: "hard_sigmoid" + inputFrameworkOpName: "HardSigmoid" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "HardSigmoid" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "HardSigmoid" + } +} +mappings { + frameworkName: "onnx" + opName: "noop" + inputFrameworkOpName: "Constant" +} +mappings { + frameworkName: "onnx" + opName: "cumsum" + inputFrameworkOpName: "CumSum" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "CumSum" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "exclusive" + inputIntName: "reverse" + outputBooleanName: "exclusive" + outputBooleanName: "reverse" + inputToOutput { + key: "exclusive" + value: "exclusive" + } + inputToOutput { + key: "reverse" + value: "reverse" + } + ruleType: "attribute" + inputFrameworkOpName: "CumSum" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + inputToOutput { + key: "dimensions" + value: "axis" + } + ruleType: "attribute" + inputFrameworkOpName: "CumSum" + } +} +mappings { + frameworkName: "onnx" + opName: "scatter_update" + inputFrameworkOpName: "ScatterElements" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "updates" + outputTensorName: "operand" + outputTensorName: "updates" + inputToOutput { + key: "operand" + value: "data" + } + inputToOutput { + key: "updates" + value: "updates" + } + ruleType: "tensor" + inputFrameworkOpName: "ScatterElements" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "axis" + outputIntName: "dimension" + inputToOutput { + key: "dimension" + value: "axis" + } + ruleType: "attribute" + inputFrameworkOpName: "ScatterElements" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "indices" + inputToOutput { + key: "indices" + value: "indices" + } + ruleType: "attribute" + inputFrameworkOpName: "ScatterElements" + } +} +mappings { + frameworkName: "onnx" + opName: "gruCell" + inputFrameworkOpName: "GRU" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + inputTensorName: "R" + inputTensorName: "W" + inputTensorName: "B" + inputTensorName: "initial_h" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "Wru" + outputTensorName: "Wc" + outputTensorName: "bc" + outputTensorName: "hLast" + outputTensorName: "bru" + inputToOutput { + key: "input" + value: "X" + } + inputToOutput { + key: "Wru" + value: "R" + } + inputToOutput { + key: "Wc" + value: "W" + } + inputToOutput { + key: "bc" + value: "B" + } + inputToOutput { + key: "hLast" + value: "initial_h" + } + inputToOutput { + key: "bru" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "GRU" + } +} +mappings { + frameworkName: "onnx" + opName: "reduce_norm1" + inputFrameworkOpName: "ReduceL1" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "ReduceL1" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputIntName: "keepdims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keepdims" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceL1" + } + rule { + ruleName: "listnumbertolistnumber" + functionName: "listnumbertolistnumber" + inputToOutput { + key: "dimensions" + value: "axes" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceL1" + } +} +mappings { + frameworkName: "onnx" + opName: "abs" + inputFrameworkOpName: "Abs" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Abs" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Abs" + } +} +mappings { + frameworkName: "onnx" + opName: "fill" + inputFrameworkOpName: "ConstantOfShape" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "shapeArray" + inputToOutput { + key: "shapeArray" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "ConstantOfShape" + } + rule { + ruleName: "attributendarraytoscalarattribute" + functionName: "attributendarraytoscalarattribute" + outputDoubleName: "value" + inputTensorName: "value" + inputToOutput { + key: "value" + value: "value" + } + ruleType: "attribute" + inputFrameworkOpName: "ConstantOfShape" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "outputDataType" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "outputDataType" + argType: INT64 + } + } + inputFrameworkOpName: "ConstantOfShape" + } +} +mappings { + frameworkName: "onnx" + opName: "reduce_norm2" + inputFrameworkOpName: "ReduceL2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "ReduceL2" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputIntName: "keepdims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keepdims" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceL2" + } + rule { + ruleName: "listnumbertolistnumber" + functionName: "listnumbertolistnumber" + inputToOutput { + key: "dimensions" + value: "axes" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceL2" + } +} +mappings { + frameworkName: "onnx" + opName: "round" + inputFrameworkOpName: "Round" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Round" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Round" + } +} +mappings { + frameworkName: "onnx" + opName: "selu" + inputFrameworkOpName: "Selu" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Selu" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Selu" + } +} +mappings { + frameworkName: "onnx" + opName: "argmin" + inputFrameworkOpName: "ArgMin" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "ArgMin" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputIntName: "keepdims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keepdims" + } + ruleType: "attribute" + inputFrameworkOpName: "ArgMin" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "axis" + inputToOutput { + key: "dimensions" + value: "axis" + } + ruleType: "attribute" + inputFrameworkOpName: "ArgMin" + } +} +mappings { + frameworkName: "onnx" + opName: "sigmoid" + inputFrameworkOpName: "Sigmoid" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Sigmoid" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Sigmoid" + } +} +mappings { + frameworkName: "onnx" + opName: "avgpool2d" + inputFrameworkOpName: "AveragePool" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "AveragePool" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "isNCHW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "isNCHW" + int64Value: 1 + argIndex: 10 + } + } + inputFrameworkOpName: "AveragePool" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dH" + argType: INT64 + argIndex: 6 + } + } + inputFrameworkOpName: "AveragePool" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dW" + argType: INT64 + argIndex: 7 + } + } + inputFrameworkOpName: "AveragePool" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "extraParam0" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + } + inputFrameworkOpName: "AveragePool" + } + rule { + ruleName: "stringcontains" + functionName: "stringcontains" + inputStringAttrName: "auto_pad" + outputIntName: "isSameMode" + inputFloatName: "auto_pad" + inputToOutput { + key: "isSameMode" + value: "auto_pad" + } + ruleType: "attribute" + transformerArgs { + key: "isSameMode" + transformerArgs { + name: "auto_pad" + argIndex: 8 + stringValue: "SAME" + } + } + inputFrameworkOpName: "AveragePool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "pH" + inputFloatName: "pads" + inputToOutput { + key: "pH" + value: "pads" + } + ruleType: "attribute" + transformerArgs { + key: "pH" + transformerArgs { + name: "pads" + argIndex: 4 + } + } + inputFrameworkOpName: "AveragePool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "pW" + inputFloatName: "pads" + inputToOutput { + key: "pW" + value: "pads" + } + ruleType: "attribute" + transformerArgs { + key: "pW" + transformerArgs { + name: "pads" + int64Value: 1 + argIndex: 5 + } + } + inputFrameworkOpName: "AveragePool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "sH" + inputFloatName: "strides" + inputToOutput { + key: "sH" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sH" + transformerArgs { + name: "strides" + argIndex: 2 + } + } + inputFrameworkOpName: "AveragePool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "sW" + inputFloatName: "strides" + inputToOutput { + key: "sW" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sW" + transformerArgs { + name: "strides" + int64Value: 1 + argIndex: 3 + } + } + inputFrameworkOpName: "AveragePool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "kW" + inputFloatName: "kernel_shape" + inputToOutput { + key: "kW" + value: "kernel_shape" + } + ruleType: "attribute" + transformerArgs { + key: "kW" + transformerArgs { + name: "kernel_shape" + int64Value: 1 + argIndex: 1 + } + } + inputFrameworkOpName: "AveragePool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "kH" + inputFloatName: "kernel_shape" + inputToOutput { + key: "kH" + value: "kernel_shape" + } + ruleType: "attribute" + transformerArgs { + key: "kH" + transformerArgs { + name: "kernel_shape" + } + } + inputFrameworkOpName: "AveragePool" + } +} +mappings { + frameworkName: "onnx" + opName: "dropout_inverted" + inputFrameworkOpName: "Dropout" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "Dropout" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputDoubleName: "p" + inputToOutput { + key: "p" + value: "ratio" + } + ruleType: "attribute" + inputFrameworkOpName: "Dropout" + } +} +mappings { + frameworkName: "onnx" + opName: "atan" + inputFrameworkOpName: "Atan" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Atan" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Atan" + } +} +mappings { + frameworkName: "onnx" + opName: "floor" + inputFrameworkOpName: "Floor" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Floor" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Floor" + } +} +mappings { + frameworkName: "onnx" + opName: "prelu" + inputFrameworkOpName: "PRelu" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + inputTensorName: "slope" + outputTensorName: "input" + outputTensorName: "alpha" + inputToOutput { + key: "input" + value: "X" + } + inputToOutput { + key: "alpha" + value: "slope" + } + ruleType: "tensor" + inputFrameworkOpName: "PRelu" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "sharedAxes" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "sharedAxes" + int64Value: -1 + argType: INT64 + } + } + inputFrameworkOpName: "PRelu" + } +} +mappings { + frameworkName: "onnx" + opName: "atanh" + inputFrameworkOpName: "Atanh" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Atanh" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Atanh" + } +} +mappings { + frameworkName: "onnx" + opName: "mod" + inputFrameworkOpName: "Mod" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "Mod" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Mod" + } +} +mappings { + frameworkName: "onnx" + opName: "lstmLayer" + inputFrameworkOpName: "LSTM" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + inputTensorName: "W" + inputTensorName: "R" + inputTensorName: "P" + inputTensorName: "B" + inputTensorName: "sequence_lens" + inputTensorName: "initial_h" + inputTensorName: "initial_c" + outputTensorName: "input" + outputTensorName: "Wx" + outputTensorName: "Wr" + outputTensorName: "Wp" + outputTensorName: "b" + outputTensorName: "seqLen" + outputTensorName: "hI" + outputTensorName: "cI" + inputToOutput { + key: "input" + value: "X" + } + inputToOutput { + key: "Wx" + value: "W" + } + inputToOutput { + key: "Wr" + value: "R" + } + inputToOutput { + key: "Wp" + value: "P" + } + inputToOutput { + key: "b" + value: "B" + } + inputToOutput { + key: "seqLen" + value: "sequence_lens" + } + inputToOutput { + key: "hI" + value: "initial_h" + } + inputToOutput { + key: "cI" + value: "initial_c" + } + ruleType: "tensor" + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "clip" + outputDoubleName: "cellClip" + inputToOutput { + key: "cellClip" + value: "clip" + } + ruleType: "attribute" + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "stringtoindex" + functionName: "stringtoindex" + inputStringAttrName: "direction" + outputIntName: "directionMode" + inputFloatName: "directionMode" + inputFloatName: "directionMode" + inputFloatName: "directionMode" + inputToOutput { + key: "directionMode" + value: "direction" + } + ruleType: "attribute" + transformerArgs { + key: "directionMode" + transformerArgs { + name: "directionMode" + argIndex: 1 + stringValue: "forward" + } + transformerArgs { + name: "directionMode" + argIndex: 1 + stringValue: "reverse" + } + transformerArgs { + name: "directionMode" + argIndex: 1 + stringValue: "bidirectional" + } + } + transformerArgs { + key: "directionMode" + transformerArgs { + name: "directionMode" + argIndex: 1 + stringValue: "forward" + } + transformerArgs { + name: "directionMode" + argIndex: 1 + stringValue: "reverse" + } + transformerArgs { + name: "directionMode" + argIndex: 1 + stringValue: "bidirectional" + } + } + transformerArgs { + key: "directionMode" + transformerArgs { + name: "directionMode" + argIndex: 1 + stringValue: "forward" + } + transformerArgs { + name: "directionMode" + argIndex: 1 + stringValue: "reverse" + } + transformerArgs { + name: "directionMode" + argIndex: 1 + stringValue: "bidirectional" + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dataFormat" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dataFormat" + argType: INT64 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "hasBiases" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "hasBiases" + boolValue: true + argType: BOOL + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "hasSeqLen" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "hasSeqLen" + boolValue: true + argType: BOOL + argIndex: 1 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "hasInitH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "hasInitH" + boolValue: true + argType: BOOL + argIndex: 2 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "hasInitC" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "hasInitC" + boolValue: true + argType: BOOL + argIndex: 3 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "hasPH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "hasPH" + boolValue: true + argType: BOOL + argIndex: 4 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "retFullSeq" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "retFullSeq" + boolValue: true + argType: BOOL + argIndex: 5 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "retLastH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "retLastH" + boolValue: true + argType: BOOL + argIndex: 6 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "retLastC" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "retLastC" + boolValue: true + argType: BOOL + argIndex: 7 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputFloatName: "activation_alpha" + outputDoubleName: "gateAlpha" + inputToOutput { + key: "gateAlpha" + value: "activation_alpha" + } + ruleType: "attribute" + transformerArgs { + key: "gateAlpha" + transformerArgs { + name: "activation_alpha" + argIndex: 1 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputFloatName: "activation_alpha" + outputDoubleName: "cellAlpha" + inputToOutput { + key: "cellAlpha" + value: "activation_alpha" + } + ruleType: "attribute" + transformerArgs { + key: "cellAlpha" + transformerArgs { + name: "activation_alpha" + int64Value: 1 + argIndex: 3 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputFloatName: "activation_alpha" + outputDoubleName: "outAlpha" + inputToOutput { + key: "outAlpha" + value: "activation_alpha" + } + ruleType: "attribute" + transformerArgs { + key: "outAlpha" + transformerArgs { + name: "activation_alpha" + int64Value: 2 + argIndex: 5 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputFloatName: "activation_beta" + outputDoubleName: "gateBeta" + inputToOutput { + key: "gateBeta" + value: "activation_beta" + } + ruleType: "attribute" + transformerArgs { + key: "gateBeta" + transformerArgs { + name: "activation_beta" + argIndex: 2 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputFloatName: "activation_beta" + outputDoubleName: "cellBeta" + inputToOutput { + key: "cellBeta" + value: "activation_beta" + } + ruleType: "attribute" + transformerArgs { + key: "cellBeta" + transformerArgs { + name: "activation_beta" + int64Value: 1 + argIndex: 4 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputFloatName: "activation_beta" + outputDoubleName: "outBeta" + inputToOutput { + key: "outBeta" + value: "activation_beta" + } + ruleType: "attribute" + transformerArgs { + key: "outBeta" + transformerArgs { + name: "activation_beta" + int64Value: 2 + argIndex: 6 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "mapstringtoindex" + functionName: "mapstringtoindex" + outputIntName: "gateAct" + inputFloatName: "Relu" + inputFloatName: "Tanh" + inputFloatName: "Sigmoid" + inputFloatName: "Affine" + inputFloatName: "LeakyRelu" + inputFloatName: "ThresholdedRelu" + inputFloatName: "ScaledTanh" + inputFloatName: "HardSigmoid" + inputFloatName: "Elu" + inputFloatName: "Softsign" + inputFloatName: "Softplus" + inputFloatName: "index" + inputToOutput { + key: "gateAct" + value: "activations" + } + ruleType: "attribute" + transformerArgs { + key: "gateAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "Tanh" + argIndex: 2 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 2 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 2 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 2 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 2 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 2 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 2 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 2 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 2 + } + } + transformerArgs { + key: "gateAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "Tanh" + argIndex: 2 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 2 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 2 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 2 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 2 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 2 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 2 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 2 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 2 + } + } + transformerArgs { + key: "gateAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "Tanh" + argIndex: 2 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 2 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 2 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 2 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 2 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 2 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 2 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 2 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 2 + } + } + transformerArgs { + key: "gateAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "Tanh" + argIndex: 2 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 2 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 2 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 2 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 2 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 2 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 2 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 2 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 2 + } + } + transformerArgs { + key: "gateAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "Tanh" + argIndex: 2 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 2 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 2 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 2 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 2 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 2 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 2 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 2 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 2 + } + } + transformerArgs { + key: "gateAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "Tanh" + argIndex: 2 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 2 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 2 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 2 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 2 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 2 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 2 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 2 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 2 + } + } + transformerArgs { + key: "gateAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "Tanh" + argIndex: 2 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 2 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 2 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 2 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 2 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 2 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 2 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 2 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 2 + } + } + transformerArgs { + key: "gateAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "Tanh" + argIndex: 2 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 2 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 2 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 2 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 2 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 2 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 2 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 2 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 2 + } + } + transformerArgs { + key: "gateAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "Tanh" + argIndex: 2 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 2 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 2 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 2 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 2 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 2 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 2 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 2 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 2 + } + } + transformerArgs { + key: "gateAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "Tanh" + argIndex: 2 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 2 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 2 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 2 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 2 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 2 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 2 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 2 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 2 + } + } + transformerArgs { + key: "gateAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "Tanh" + argIndex: 2 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 2 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 2 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 2 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 2 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 2 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 2 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 2 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 2 + } + } + transformerArgs { + key: "index" + transformerArgs { + name: "index" + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "mapstringtoindex" + functionName: "mapstringtoindex" + outputIntName: "cellAct" + inputFloatName: "Relu" + inputFloatName: "Tanh" + inputFloatName: "Sigmoid" + inputFloatName: "Affine" + inputFloatName: "LeakyRelu" + inputFloatName: "ThresholdedRelu" + inputFloatName: "ScaledTanh" + inputFloatName: "HardSigmoid" + inputFloatName: "Elu" + inputFloatName: "Softsign" + inputFloatName: "Softplus" + inputFloatName: "index" + inputToOutput { + key: "cellAct" + value: "activations" + } + ruleType: "attribute" + transformerArgs { + key: "cellAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "Tanh" + argIndex: 3 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 3 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 3 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 3 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 3 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 3 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 3 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 3 + } + } + transformerArgs { + key: "cellAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "Tanh" + argIndex: 3 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 3 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 3 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 3 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 3 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 3 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 3 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 3 + } + } + transformerArgs { + key: "cellAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "Tanh" + argIndex: 3 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 3 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 3 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 3 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 3 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 3 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 3 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 3 + } + } + transformerArgs { + key: "cellAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "Tanh" + argIndex: 3 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 3 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 3 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 3 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 3 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 3 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 3 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 3 + } + } + transformerArgs { + key: "cellAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "Tanh" + argIndex: 3 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 3 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 3 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 3 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 3 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 3 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 3 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 3 + } + } + transformerArgs { + key: "cellAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "Tanh" + argIndex: 3 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 3 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 3 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 3 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 3 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 3 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 3 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 3 + } + } + transformerArgs { + key: "cellAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "Tanh" + argIndex: 3 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 3 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 3 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 3 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 3 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 3 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 3 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 3 + } + } + transformerArgs { + key: "cellAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "Tanh" + argIndex: 3 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 3 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 3 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 3 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 3 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 3 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 3 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 3 + } + } + transformerArgs { + key: "cellAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "Tanh" + argIndex: 3 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 3 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 3 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 3 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 3 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 3 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 3 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 3 + } + } + transformerArgs { + key: "cellAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "Tanh" + argIndex: 3 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 3 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 3 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 3 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 3 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 3 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 3 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 3 + } + } + transformerArgs { + key: "cellAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "Tanh" + argIndex: 3 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 3 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 3 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 3 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 3 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 3 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 3 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 3 + } + } + transformerArgs { + key: "index" + transformerArgs { + name: "index" + int64Value: 1 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "mapstringtoindex" + functionName: "mapstringtoindex" + outputIntName: "outAct" + inputFloatName: "Relu" + inputFloatName: "Tanh" + inputFloatName: "Sigmoid" + inputFloatName: "Affine" + inputFloatName: "LeakyRelu" + inputFloatName: "ThresholdedRelu" + inputFloatName: "ScaledTanh" + inputFloatName: "HardSigmoid" + inputFloatName: "Elu" + inputFloatName: "Softsign" + inputFloatName: "Softplus" + inputFloatName: "index" + inputToOutput { + key: "outAct" + value: "activations" + } + ruleType: "attribute" + transformerArgs { + key: "outAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 4 + } + transformerArgs { + name: "Tanh" + argIndex: 4 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 4 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 4 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 4 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 4 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 4 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 4 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 4 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 4 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 4 + } + } + transformerArgs { + key: "outAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 4 + } + transformerArgs { + name: "Tanh" + argIndex: 4 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 4 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 4 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 4 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 4 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 4 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 4 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 4 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 4 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 4 + } + } + transformerArgs { + key: "outAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 4 + } + transformerArgs { + name: "Tanh" + argIndex: 4 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 4 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 4 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 4 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 4 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 4 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 4 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 4 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 4 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 4 + } + } + transformerArgs { + key: "outAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 4 + } + transformerArgs { + name: "Tanh" + argIndex: 4 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 4 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 4 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 4 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 4 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 4 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 4 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 4 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 4 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 4 + } + } + transformerArgs { + key: "outAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 4 + } + transformerArgs { + name: "Tanh" + argIndex: 4 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 4 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 4 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 4 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 4 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 4 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 4 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 4 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 4 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 4 + } + } + transformerArgs { + key: "outAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 4 + } + transformerArgs { + name: "Tanh" + argIndex: 4 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 4 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 4 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 4 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 4 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 4 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 4 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 4 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 4 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 4 + } + } + transformerArgs { + key: "outAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 4 + } + transformerArgs { + name: "Tanh" + argIndex: 4 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 4 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 4 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 4 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 4 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 4 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 4 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 4 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 4 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 4 + } + } + transformerArgs { + key: "outAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 4 + } + transformerArgs { + name: "Tanh" + argIndex: 4 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 4 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 4 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 4 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 4 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 4 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 4 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 4 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 4 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 4 + } + } + transformerArgs { + key: "outAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 4 + } + transformerArgs { + name: "Tanh" + argIndex: 4 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 4 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 4 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 4 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 4 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 4 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 4 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 4 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 4 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 4 + } + } + transformerArgs { + key: "outAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 4 + } + transformerArgs { + name: "Tanh" + argIndex: 4 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 4 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 4 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 4 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 4 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 4 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 4 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 4 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 4 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 4 + } + } + transformerArgs { + key: "outAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 4 + } + transformerArgs { + name: "Tanh" + argIndex: 4 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 4 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 4 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 4 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 4 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 4 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 4 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 4 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 4 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 4 + } + } + transformerArgs { + key: "index" + transformerArgs { + name: "index" + int64Value: 2 + } + } + inputFrameworkOpName: "LSTM" + } +} +mappings { + frameworkName: "onnx" + opName: "cos" + inputFrameworkOpName: "Cos" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Cos" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Cos" + } +} +mappings { + frameworkName: "onnx" + opName: "sqrt" + inputFrameworkOpName: "Sqrt" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Sqrt" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Sqrt" + } +} +mappings { + frameworkName: "onnx" + opName: "asin" + inputFrameworkOpName: "Asin" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Asin" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Asin" + } +} +mappings { + frameworkName: "onnx" + opName: "space_to_depth" + inputFrameworkOpName: "SpaceToDepth" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "SpaceToDepth" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "blocksize" + outputIntName: "block_size" + inputToOutput { + key: "block_size" + value: "blocksize" + } + ruleType: "attribute" + inputFrameworkOpName: "SpaceToDepth" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "isNHWC" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "isNHWC" + int64Value: 1 + argType: INT64 + argIndex: 1 + } + } + inputFrameworkOpName: "SpaceToDepth" + } +} +mappings { + frameworkName: "onnx" + opName: "tile" + inputFrameworkOpName: "Tile" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "repeats" + outputTensorName: "input" + outputTensorName: "reps_vector" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "reps_vector" + value: "repeats" + } + ruleType: "tensor" + inputFrameworkOpName: "Tile" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "is_static_reps" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "is_static_reps" + boolValue: true + argType: BOOL + } + } + inputFrameworkOpName: "Tile" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dimensions" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dimensions" + argType: INT64 + } + } + inputFrameworkOpName: "Tile" + } +} +mappings { + frameworkName: "onnx" + opName: "greater_equal" + inputFrameworkOpName: "GreaterOrEqual" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "GreaterOrEqual" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "GreaterOrEqual" + } +} +mappings { + frameworkName: "onnx" + opName: "depth_to_space" + inputFrameworkOpName: "DepthToSpace" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "DepthToSpace" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "blocksize" + outputIntName: "block_size" + inputToOutput { + key: "block_size" + value: "blocksize" + } + ruleType: "attribute" + inputFrameworkOpName: "DepthToSpace" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "isNHWC" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "isNHWC" + int64Value: 1 + argType: INT64 + argIndex: 1 + } + } + inputFrameworkOpName: "DepthToSpace" + } +} +mappings { + frameworkName: "onnx" + opName: "isnan" + inputFrameworkOpName: "IsNaN" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "IsNaN" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "IsNaN" + } +} +mappings { + frameworkName: "onnx" + opName: "divide" + inputFrameworkOpName: "Div" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "Div" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Div" + } +} +mappings { + frameworkName: "onnx" + opName: "neg" + inputFrameworkOpName: "Neg" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Neg" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Neg" + } +} +mappings { + frameworkName: "onnx" + opName: "matrix_determinant" + inputFrameworkOpName: "Det" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Det" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Det" + } +} +mappings { + frameworkName: "onnx" + opName: "pad" + inputFrameworkOpName: "Pad" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "pads" + outputTensorName: "input" + outputTensorName: "paddings" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "paddings" + value: "pads" + } + ruleType: "tensor" + inputFrameworkOpName: "Pad" + } + rule { + ruleName: "stringtoindex" + functionName: "stringtoindex" + inputStringAttrName: "mode" + outputIntName: "mode" + inputFloatName: "mode" + inputFloatName: "mode" + inputFloatName: "mode" + inputToOutput { + key: "mode" + value: "mode" + } + ruleType: "attribute" + transformerArgs { + key: "mode" + transformerArgs { + name: "mode" + stringValue: "constant" + } + transformerArgs { + name: "mode" + stringValue: "reflect" + } + transformerArgs { + name: "mode" + stringValue: "edge" + } + } + transformerArgs { + key: "mode" + transformerArgs { + name: "mode" + stringValue: "constant" + } + transformerArgs { + name: "mode" + stringValue: "reflect" + } + transformerArgs { + name: "mode" + stringValue: "edge" + } + } + transformerArgs { + key: "mode" + transformerArgs { + name: "mode" + stringValue: "constant" + } + transformerArgs { + name: "mode" + stringValue: "reflect" + } + transformerArgs { + name: "mode" + stringValue: "edge" + } + } + inputFrameworkOpName: "Pad" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "padValue" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "padValue" + argType: DOUBLE + } + } + inputFrameworkOpName: "Pad" + } +} +mappings { + frameworkName: "onnx" + opName: "conv2d" + inputFrameworkOpName: "Conv" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + inputTensorName: "W" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "weights" + outputTensorName: "bias" + inputToOutput { + key: "input" + value: "X" + } + inputToOutput { + key: "weights" + value: "W" + } + inputToOutput { + key: "bias" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "Conv" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "isNCHW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "isNCHW" + int64Value: 1 + argType: INT64 + argIndex: 9 + } + } + inputFrameworkOpName: "Conv" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "wFormat" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "wFormat" + int64Value: 1 + argType: INT64 + argIndex: 10 + } + } + inputFrameworkOpName: "Conv" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "auto_pad" + outputIntName: "isSameMode" + inputFloatName: "auto_pad" + inputToOutput { + key: "isSameMode" + value: "auto_pad" + } + ruleType: "attribute" + transformerArgs { + key: "isSameMode" + transformerArgs { + name: "auto_pad" + argIndex: 8 + stringValue: "SAME" + } + } + inputFrameworkOpName: "Conv" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "dH" + inputFloatName: "dilations" + inputFloatName: "dilations" + inputToOutput { + key: "dH" + value: "dilations" + } + ruleType: "attribute" + transformerArgs { + key: "dH" + transformerArgs { + name: "dilations" + argIndex: 6 + } + transformerArgs { + name: "dilations" + int64Value: 1 + argIndex: 6 + } + } + transformerArgs { + key: "dH" + transformerArgs { + name: "dilations" + argIndex: 6 + } + transformerArgs { + name: "dilations" + int64Value: 1 + argIndex: 6 + } + } + inputFrameworkOpName: "Conv" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "dW" + inputFloatName: "dilations" + inputFloatName: "dilations" + inputToOutput { + key: "dW" + value: "dilations" + } + ruleType: "attribute" + transformerArgs { + key: "dW" + transformerArgs { + name: "dilations" + int64Value: 1 + argIndex: 7 + } + transformerArgs { + name: "dilations" + int64Value: 1 + argIndex: 7 + } + } + transformerArgs { + key: "dW" + transformerArgs { + name: "dilations" + int64Value: 1 + argIndex: 7 + } + transformerArgs { + name: "dilations" + int64Value: 1 + argIndex: 7 + } + } + inputFrameworkOpName: "Conv" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "pH" + inputFloatName: "pads" + inputToOutput { + key: "pH" + value: "pads" + } + ruleType: "attribute" + transformerArgs { + key: "pH" + transformerArgs { + name: "pads" + argIndex: 4 + } + } + inputFrameworkOpName: "Conv" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "pW" + inputFloatName: "pads" + inputToOutput { + key: "pW" + value: "pads" + } + ruleType: "attribute" + transformerArgs { + key: "pW" + transformerArgs { + name: "pads" + int64Value: 1 + argIndex: 5 + } + } + inputFrameworkOpName: "Conv" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "sH" + inputFloatName: "strides" + inputFloatName: "strides" + inputToOutput { + key: "sH" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sH" + transformerArgs { + name: "strides" + argIndex: 2 + } + transformerArgs { + name: "strides" + int64Value: 1 + argIndex: 6 + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "strides" + argIndex: 2 + } + transformerArgs { + name: "strides" + int64Value: 1 + argIndex: 6 + } + } + inputFrameworkOpName: "Conv" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "sW" + inputFloatName: "strides" + inputFloatName: "strides" + inputToOutput { + key: "sW" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sW" + transformerArgs { + name: "strides" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "strides" + int64Value: 1 + argIndex: 6 + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "strides" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "strides" + int64Value: 1 + argIndex: 6 + } + } + inputFrameworkOpName: "Conv" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "kW" + inputFloatName: "kernel_shape" + inputToOutput { + key: "kW" + value: "kernel_shape" + } + ruleType: "attribute" + transformerArgs { + key: "kW" + transformerArgs { + name: "kernel_shape" + int64Value: 1 + } + } + inputFrameworkOpName: "Conv" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "kH" + inputFloatName: "kernel_shape" + inputToOutput { + key: "kH" + value: "kernel_shape" + } + ruleType: "attribute" + transformerArgs { + key: "kH" + transformerArgs { + name: "kernel_shape" + argIndex: 1 + } + } + inputFrameworkOpName: "Conv" + } +} +mappings { + frameworkName: "onnx" + opName: "greater" + inputFrameworkOpName: "Greater" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "Greater" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Greater" + } +} +mappings { + frameworkName: "onnx" + opName: "sign" + inputFrameworkOpName: "Sign" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Sign" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Sign" + } +} +mappings { + frameworkName: "onnx" + opName: "softsign" + inputFrameworkOpName: "Softsign" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Softsign" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Softsign" + } +} +mappings { + frameworkName: "onnx" + opName: "exp" + inputFrameworkOpName: "Exp" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Exp" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Exp" + } +} diff --git a/nd4j/samediff-import/samediff-import-onnx/pom.xml b/nd4j/samediff-import/samediff-import-onnx/pom.xml new file mode 100644 index 000000000..8390e5ec4 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/pom.xml @@ -0,0 +1,66 @@ + + + + + + 4.0.0 + + samediff-import-onnx + + + + org.nd4j + samediff-import + 1.0.0-SNAPSHOT + + + samediff-import-onnx + + 5.10.0.202012080955-r + + + + + + org.nd4j + samediff-import-api + ${project.version} + + + + + org.eclipse.jgit + org.eclipse.jgit + ${jgit.version} + test + + + + + org.eclipse.jgit + org.eclipse.jgit.lfs + ${jgit.version} + + + + + + + diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/OnnxIR.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/OnnxIR.kt new file mode 100644 index 000000000..2553b2bea --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/OnnxIR.kt @@ -0,0 +1,141 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx + +import onnx.Onnx +import org.nd4j.linalg.api.buffer.DataType +import org.nd4j.linalg.api.ndarray.INDArray + +import org.nd4j.samediff.frameworkimport.ir.* +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.shade.protobuf.ByteString +import java.nio.charset.Charset +import kotlin.collections.ArrayList + + + + +fun attrDefaultValue(): IRAttribute { + return OnnxIRAttr(Onnx.AttributeProto.getDefaultInstance(), Onnx.AttributeProto.getDefaultInstance()) +} + + +fun Onnx.GraphProto.nodeByName(name: String): Onnx.NodeProto { + return this.nodeList.first { it.name == name }!! +} + + +fun onnxAttributeTypeFor(attributeName: String,opDef: Onnx.NodeProto): AttributeValueType { + if(isOnnxTensorName(attributeName,opDef)) + return AttributeValueType.TENSOR + return OnnxIRAttr(opDef.attributeList.first { + attributeProto -> attributeProto.name == attributeName }, + Onnx.AttributeProto.getDefaultInstance()).attributeValueType() +} + +fun isOnnxTensorName(name: String, opDef: Onnx.NodeProto): Boolean { + return opDef.inputList.contains(name) +} + + +fun isOnnxAttributeName(name: String, opDef: Onnx.NodeProto): Boolean { + return opDef.attributeList.map { attrDef -> attrDef.name }.contains(name) +} + + +fun convertToOnnxDataType(dataType: DataType): Onnx.TensorProto.DataType { + return when (dataType) { + DataType.UINT16 -> Onnx.TensorProto.DataType.UINT16 + DataType.UINT32 -> Onnx.TensorProto.DataType.UINT32 + DataType.UINT64 -> Onnx.TensorProto.DataType.UINT64 + DataType.BOOL -> Onnx.TensorProto.DataType.BOOL + DataType.FLOAT -> Onnx.TensorProto.DataType.FLOAT + DataType.INT -> Onnx.TensorProto.DataType.INT32 + DataType.LONG -> Onnx.TensorProto.DataType.INT64 + DataType.BYTE -> Onnx.TensorProto.DataType.INT8 + DataType.SHORT -> Onnx.TensorProto.DataType.INT16 + DataType.DOUBLE -> Onnx.TensorProto.DataType.DOUBLE + DataType.UBYTE -> Onnx.TensorProto.DataType.UINT8 + DataType.HALF -> Onnx.TensorProto.DataType.FLOAT16 + DataType.UTF8 -> Onnx.TensorProto.DataType.STRING + else -> throw UnsupportedOperationException("Unknown Onnx data type: [" + dataType.name + "]") + } +} + + +fun convertToOnnxTensor(inputArray: INDArray, name: String): Onnx.TensorProto { + val dtype = convertToOnnxDataType(inputArray.dataType()) + val newBuilder = Onnx.TensorProto.newBuilder() + newBuilder.dataType = dtype + newBuilder.addAllDims(inputArray.shape().toList()) + newBuilder.name = name + when(dtype) { + Onnx.TensorProto.DataType.STRING -> { + return OnnxTensorProto { + val stringList = ArrayList() + for (i in 0 until inputArray.length()) { + stringList.add(inputArray.getString(i)) + } + + newBuilder.addAllStringData(stringList.map { input -> ByteString.copyFrom(input.toByteArray(Charset.defaultCharset())) }) + } + } + + Onnx.TensorProto.DataType.DOUBLE -> { + newBuilder.addAllDoubleData(inputArray.data().asDouble().asList()) + } + + Onnx.TensorProto.DataType.FLOAT -> { + newBuilder.addAllFloatData(inputArray.data().asFloat().asList()) + } + + Onnx.TensorProto.DataType.INT32 -> { + newBuilder.addAllInt32Data(inputArray.data().asInt().asList()) + } + + Onnx.TensorProto.DataType.INT64 -> { + newBuilder.addAllInt64Data(inputArray.data().asLong().asList()) + } + + else -> { + newBuilder.rawData = ByteString.copyFrom(inputArray.data().asBytes()) + } + } + return newBuilder.build() + +} + + +fun attributeValueTypeForOnnxAttribute(attributeDef: Onnx.AttributeProto) : AttributeValueType { + when(attributeDef.type) { + Onnx.AttributeProto.AttributeType.STRING -> return AttributeValueType.STRING + Onnx.AttributeProto.AttributeType.STRINGS -> return AttributeValueType.LIST_STRING + Onnx.AttributeProto.AttributeType.INT-> return AttributeValueType.INT + Onnx.AttributeProto.AttributeType.INTS -> return AttributeValueType.LIST_INT + Onnx.AttributeProto.AttributeType.FLOAT -> return AttributeValueType.FLOAT + Onnx.AttributeProto.AttributeType.FLOATS -> return AttributeValueType.LIST_FLOAT + Onnx.AttributeProto.AttributeType.TENSOR -> return AttributeValueType.TENSOR + Onnx.AttributeProto.AttributeType.TENSORS -> return AttributeValueType.LIST_TENSOR + } + + return AttributeValueType.INVALID +} + + + diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/OnnxImportGraph.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/OnnxImportGraph.kt new file mode 100644 index 000000000..944c0e536 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/OnnxImportGraph.kt @@ -0,0 +1,25 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx + +import onnx.Onnx +import org.nd4j.samediff.frameworkimport.ImportGraph + +class OnnxImportGraph: + ImportGraph() { +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/OnnxImportGraphHolder.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/OnnxImportGraphHolder.kt new file mode 100644 index 000000000..0d26f4eb5 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/OnnxImportGraphHolder.kt @@ -0,0 +1,36 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx + +import org.nd4j.samediff.frameworkimport.ImportGraph +import org.nd4j.samediff.frameworkimport.ImportGraphHolder +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +class OnnxImportGraphHolder: ImportGraphHolder { + + override fun frameworkName(): String { + return "onnx" + } + + override fun createImportGraph( + + ): ImportGraph { + return OnnxImportGraph() as ImportGraph + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/OnnxProtobufExtensions.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/OnnxProtobufExtensions.kt new file mode 100644 index 000000000..cd21bbfe6 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/OnnxProtobufExtensions.kt @@ -0,0 +1,193 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx + +import onnx.Onnx +import onnx.OnnxOperators +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.shade.protobuf.ByteString +import java.nio.charset.Charset + +fun NodeProto(block: Onnx.NodeProto.Builder.() -> Unit): Onnx.NodeProto { + return Onnx.NodeProto.newBuilder().apply(block).build() +} + +fun AttributeProto(block: Onnx.AttributeProto.Builder.() -> Unit) : Onnx.AttributeProto { + return Onnx.AttributeProto.newBuilder().apply { block }.build() +} + +fun Onnx.AttributeProto.Builder.TensorValue(inputValue: Onnx.TensorProto) { + this.addTensors(inputValue) +} + +fun Onnx.AttributeProto.Builder.StringValue(inputValue: String) { + this.addStrings(ByteString.copyFrom(inputValue.toByteArray(Charset.defaultCharset()))) +} + +fun Onnx.NodeProto.Builder.Attribute(attribute: Onnx.AttributeProto) { + this.addAttribute(attribute) +} + +fun Onnx.NodeProto.Builder.Input(inputName: String) { + this.addInput(inputName) +} + +fun Onnx.NodeProto.Builder.Output(inputName: String) { + this.addOutput(inputName) +} + +fun Onnx.GraphProto.Builder.Initializer(tensor: Onnx.TensorProto) { + this.addInitializer(tensor) +} + +fun OperatorSetIdProto(block: Onnx.OperatorSetIdProto.Builder.() -> Unit): Onnx.OperatorSetIdProto { + return Onnx.OperatorSetIdProto.newBuilder().apply(block).build() +} + +fun OperatorSetProto(block: OnnxOperators.OperatorSetProto.Builder.() -> Unit): OnnxOperators.OperatorSetProto { + return OnnxOperators.OperatorSetProto.newBuilder().apply { block }.build() +} + +fun Onnx.ModelProto.Builder.OpSetImport(opSetImport: Onnx.OperatorSetIdProto) { + this.addOpsetImport(opSetImport) +} + +fun ModelProto(block: Onnx.ModelProto.Builder.() -> Unit): Onnx.ModelProto { + return Onnx.ModelProto.newBuilder() + .apply(block).build() +} + +fun TensorDefinition(block: Onnx.TypeProto.Tensor.Builder.() -> Unit) : Onnx.TypeProto.Tensor { + return Onnx.TypeProto.Tensor.newBuilder().apply(block).build() +} + +fun TypeProto(block: Onnx.TypeProto.Builder.() -> Unit): Onnx.TypeProto { + return Onnx.TypeProto.newBuilder().apply(block).build() +} + +fun GraphProto(block: Onnx.GraphProto.Builder.() -> Unit): Onnx.GraphProto { + return Onnx.GraphProto.newBuilder() + .apply(block).build() +} + +fun OnnxDim(block: Onnx.TensorShapeProto.Dimension.Builder.() -> Unit): Onnx.TensorShapeProto.Dimension { + return Onnx.TensorShapeProto.Dimension.newBuilder().apply(block).build() +} + + +fun Onnx.TensorShapeProto.Builder.OnnxShape(dims: List) { + this.addAllDim(dims.map { inputDim -> OnnxDim { + dimValue = inputDim + } }) +} + + +fun OnnxShapeProto(block: Onnx.TensorShapeProto.Builder.() -> Unit): Onnx.TensorShapeProto { + return Onnx.TensorShapeProto.newBuilder().apply(block).build() +} + +fun ValueInfoProto(block: Onnx.ValueInfoProto.Builder.() -> Unit): Onnx.ValueInfoProto { + return Onnx.ValueInfoProto.newBuilder() + .apply(block).build() +} + +fun Onnx.GraphProto.Builder.Output(input: Onnx.ValueInfoProto) { + this.addOutput(input) +} + + +fun Onnx.GraphProto.Builder.Input(input: Onnx.ValueInfoProto) { + this.addInput(input) +} + +fun Onnx.GraphProto.Builder.Node(inputNode: Onnx.NodeProto) { + this.addNode(inputNode) +} + +fun Onnx.AttributeProto.Builder.Tensor(inputTensor: Onnx.TensorProto) { + this.addTensors(inputTensor) +} + +fun OnnxTensorProto(block: Onnx.TensorProto.Builder.() -> Unit): Onnx.TensorProto { + return Onnx.TensorProto.newBuilder().apply { block }.build() +} + +fun Onnx.TensorProto.Builder.OnnxDataType(value: Onnx.TensorProto.DataType) { + this.dataType = value +} + +fun Onnx.TensorProto.Builder.OnnxRawData(byteArray: ByteArray) { + this.rawData = ByteString.copyFrom(byteArray) +} + +fun Onnx.TensorProto.Builder.Shape(shape: List) { + this.dimsList.clear() + this.dimsList.addAll(shape) +} + +fun Onnx.TensorProto.Builder.LongData(longData: List) { + this.addAllInt64Data(longData) +} + +fun Onnx.TensorProto.Builder.IntData(intData: List) { + this.addAllInt32Data(intData) +} + +fun Onnx.TensorProto.Builder.FloatData(floatData: List) { + this.addAllFloatData(floatData) +} + + +fun Onnx.TensorProto.Builder.DoubleData(doubleData: List) { + this.addAllDoubleData(doubleData) +} + +fun Onnx.TensorProto.Builder.StringData(stringData: List) { + this.addAllStringData(stringData.map { ByteString.copyFrom(it.toByteArray(Charset.defaultCharset())) }) +} + +fun Onnx.TensorProto.Builder.BoolData(boolData: List) { + this.addAllInt32Data(boolData.map { input -> if(input) 1 else 0 }) +} + + +fun createValueInfoFromTensor(arr: INDArray,valueInfoName: String,useShape: Boolean = true): Onnx.ValueInfoProto { + if(useShape) + return ValueInfoProto { + name = valueInfoName + type = TypeProto { + tensorType = TensorDefinition { + elemType = convertToOnnxDataType(arr.dataType()) + shape = OnnxShapeProto { + OnnxShape(arr.shape().toList()) + } + } + + } + } + else + return ValueInfoProto { + name = valueInfoName + type = TypeProto { + tensorType = TensorDefinition { + elemType = convertToOnnxDataType(arr.dataType()) + } + + } + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/OnnxRuleDeclarations.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/OnnxRuleDeclarations.kt new file mode 100644 index 000000000..cc96ad09a --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/OnnxRuleDeclarations.kt @@ -0,0 +1,385 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.onnx.definitions.onnxOpRegistry +import org.nd4j.samediff.frameworkimport.onnx.process.OnnxMappingProcess +import org.nd4j.samediff.frameworkimport.onnx.rule.attribute.* +import org.nd4j.samediff.frameworkimport.onnx.rule.tensor.NDArrayMappingRule +import org.nd4j.samediff.frameworkimport.onnx.rule.tensor.OnnxMultiInputIndexMappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeMappingRule + +fun mappingNDArrayInputs(inputs: MutableMap) : NDArrayMappingRule { + return NDArrayMappingRule( + mappingNamesToPerform = inputs) +} + + +fun mappingListNDArrays(inputs: MutableMap) : OnnxMultiInputIndexMappingRule { + return OnnxMultiInputIndexMappingRule( + mappingNamesToPerform = inputs) +} + +fun conditionalFieldValueIntIndexNDArrayRule(outputAttribute: String, + inputFrameworkAttributeName: String, + targetValue: String, + trueIndex: Int, + falseIndex: Int, + argumentIndex: Int): OnnxConditionalFieldValueIntIndexNDArrayRule { + return OnnxConditionalFieldValueIntIndexNDArrayRule( + mappingNamesToPerform = mutableMapOf(outputAttribute to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttribute to listOf(ArgDescriptor { + name = "targetValue" + stringValue = targetValue + argIndex = argumentIndex + }, + ArgDescriptor { + name = "trueIndex" + int64Value = trueIndex.toLong() + argIndex = argumentIndex + }, + ArgDescriptor { + name = "falseIndex" + int64Value = falseIndex.toLong() + argIndex = argumentIndex + })) + ) +} + + +fun ndarrayExtractScalarValue(outputAttribute: String, + inputFrameworkAttributeName: String, + argumentIndex: Int, + scalarIndex: Int) : OnnxNDArrayExtractScalarValue { + return OnnxNDArrayExtractScalarValue( + mappingNamesToPerform = mutableMapOf(outputAttribute to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttribute to listOf( + ArgDescriptor { + name = inputFrameworkAttributeName + int64Value = scalarIndex.toLong() + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + argIndex = argumentIndex + }))) +} + + +fun conditionalFieldValueIntIndexArrayRule(outputAttribute: String, + inputFrameworkAttributeName: String, + targetValue: String, + trueIndex: Int, + falseIndex: Int, + argumentIndex: Int): OnnxConditionalFieldValueIntIndexArrayRule { + return OnnxConditionalFieldValueIntIndexArrayRule( + mappingNamesToPerform = mutableMapOf(outputAttribute to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttribute to listOf(ArgDescriptor { + name = "targetValue" + stringValue = targetValue + argIndex = argumentIndex + }, + ArgDescriptor { + name = "trueIndex" + int64Value = trueIndex.toLong() + argIndex = argumentIndex + }, + ArgDescriptor { + name = "falseIndex" + int64Value = falseIndex.toLong() + argIndex = argumentIndex + })) + ) +} + +fun valueMappings(mappings: Map): OnnxValueMapping { + return OnnxValueMapping(mappingNamesToPerform = mappings,transformerArgs = emptyMap()) +} + +fun ndarrayAttributeToNDArrayInput(mappings: Map): OnnxNDArrayAttributeToNDArrayInput { + return OnnxNDArrayAttributeToNDArrayInput(mappingNamesToPerform = mappings,transformerArgs = emptyMap()) +} + +/** + * This will change a boolean to a number and a number to a boolean + */ +fun invertBooleanNumber(mappings: Map): OnnxInvertBooleanNumber { + return OnnxInvertBooleanNumber(mappingNamesToPerform = mappings,transformerArgs = emptyMap()) +} + + +fun dataTypeToInt(mappings: Map): OnnxDataTypeToInt { + return OnnxDataTypeToInt(mappingNamesToPerform = mappings,transformerArgs = emptyMap()) +} + + +fun sizeAtRule(dimensionIndex: Int, outputAttributeName: String, inputFrameworkAttributeName: String,argumentIndex: Int): OnnxNDArraySizeAt { + return OnnxNDArraySizeAt( + mappingNamesToPerform = mapOf(outputAttributeName to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttributeName to listOf(ArgDescriptor { + name = inputFrameworkAttributeName + int64Value = dimensionIndex.toLong() + argIndex = argumentIndex + })) + ) +} + +fun stringEqualsRule(outputAttribute: String, inputFrameworkAttributeName: String, valueToTest: String,argumentIndex: Int): OnnxStringEqualsAdapterRule { + return OnnxStringEqualsAdapterRule( + mappingNamesToPerform = mapOf(outputAttribute to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttribute to listOf(ArgDescriptor { + name = inputFrameworkAttributeName + stringValue = valueToTest + argIndex = argumentIndex + }))) +} + + +fun stringContainsRule(outputAttribute: String, inputFrameworkAttributeName: String, valueToTest: String,argumentIndex: Int): OnnxStringContainsAdapterRule { + return OnnxStringContainsAdapterRule( + mappingNamesToPerform = mapOf(outputAttribute to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttribute to listOf(ArgDescriptor { + name = inputFrameworkAttributeName + stringValue = valueToTest + argIndex = argumentIndex + }))) +} + + +fun stringNotEqualsRule(outputAttribute: String, inputFrameworkAttributeName: String, valueToTest: String,argumentIndex: Int): OnnxStringNotEqualsAdapterRule { + return OnnxStringNotEqualsAdapterRule( + mappingNamesToPerform = mapOf(outputAttribute to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttribute to listOf(ArgDescriptor { + name = inputFrameworkAttributeName + stringValue = valueToTest + argIndex = argumentIndex + }))) +} + + +fun ndarrayToIntList(ndarrayNameToAttributeName: MutableMap): OnnxNDArrayToIntAttributeValue { + return OnnxNDArrayToIntAttributeValue(mappingNamesToPerform = ndarrayNameToAttributeName) +} + +fun sizeThreshold(outputAttribute: String, inputFrameworkAttributeName: String, sizeThreshold: Long, index: Long, fallbackIndex: Long,argumentIndex: Int): OnnxSizeThresholdIntArrayIntIndexRule { + return OnnxSizeThresholdIntArrayIntIndexRule(mappingNamesToPerform = mapOf(outputAttribute to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttribute to listOf( + ArgDescriptor { + name = "index" + int64Value = index + argIndex = argIndex + }, + ArgDescriptor { + name = "sizeThreshold" + int64Value = sizeThreshold + argIndex = argIndex + }, + ArgDescriptor { + name = "fallbackIndex" + int64Value = fallbackIndex + argIndex = argumentIndex + }))) +} + + +fun stringToIndex(outputAttributeValue: String, inputAttributeValue: String, listOfValues: List,argumentIndex: Int): OnnxStringToIndex { + return OnnxStringToIndex(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = + mapOf(outputAttributeValue to listOfValues.map { + valueName -> ArgDescriptor { + name = outputAttributeValue + stringValue = valueName + argIndex = argumentIndex + } + })) +} + + +fun mapStringToInt(outputAttributeValue: String, inputAttributeValue: String, mapOfValuesToInts: Map,argumentIndex: Int,lookupIndex: Int): OnnxMapStringToInt { + return OnnxMapStringToInt(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = + mapOf(outputAttributeValue to mapOfValuesToInts.map { + entry -> ArgDescriptor { + name = entry.key + int64Value = entry.value.toLong() + argIndex = argumentIndex + } + },"index" to listOf(ArgDescriptor { + name = "index" + int64Value = lookupIndex.toLong() + }))) +} + + +fun listAttributeValueLookup(outputAttributeValue: String, inputAttributeValue: String, indexValue: Int,argumentIndex: Int,defaultValueIfNotFound: OpNamespace.ArgDescriptor? = null): OnnxListAttributeValueLookupToIndex { + if(defaultValueIfNotFound != null) + return OnnxListAttributeValueLookupToIndex(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue), + transformerArgs = mapOf(outputAttributeValue to listOf(ArgDescriptor { + name = inputAttributeValue + int64Value = indexValue.toLong() + argIndex = argumentIndex + },defaultValueIfNotFound!!) + )) + else + return OnnxListAttributeValueLookupToIndex(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue), + transformerArgs = mapOf(outputAttributeValue to listOf(ArgDescriptor { + name = inputAttributeValue + int64Value = indexValue.toLong() + argIndex = argumentIndex + }) + )) +} + +fun listNumberToListNumber(outputAttributeValue: String, inputAttributeValue: String): OnnxListNumberToListNumber { + return OnnxListNumberToListNumber(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = emptyMap()) +} + + +fun convertStringToNDArray(outputAttributeValue: String, inputAttributeValue: String): OnnxStringAttributeToNDArray { + return OnnxStringAttributeToNDArray(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = emptyMap()) +} + + +fun convertNumericalListToNDArray(outputAttributeValue: String, inputAttributeValue: String): OnnxAttributeNumberListNDArray { + return OnnxAttributeNumberListNDArray(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = emptyMap()) +} + + + + +fun listNumberToNDarray(outputAttributeValue: String, inputAttributeValue: String): OnnxListNumberToNDArray { + return OnnxListNumberToNDArray(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = emptyMap()) +} + + +fun convertNDArrayInputToScalarAttr(outputAttributeValue: String, inputAttributeValue: String): OnnxNDArrayInputToNumericalAttribute { + return OnnxNDArrayInputToNumericalAttribute(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = emptyMap()) +} + + +fun ndarrayAttributeToScalarAttribute(outputAttributeValue: String, inputAttributeValue: String): OnnxAttributeNDArrayToScalarAttribute { + return OnnxAttributeNDArrayToScalarAttribute(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = emptyMap()) +} + +fun attributeScalarToNDArrayInput(outputAttributeValue: String, inputAttributeValue: String): OnnxAttributeScalarNDArrayAttribute { + return OnnxAttributeScalarNDArrayAttribute(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = emptyMap()) +} + + +fun argDescriptorConstant(argDescriptorConstants: List): OnnxArgDescriptorConstant { + return OnnxArgDescriptorConstant(mappingNamesToPerform = emptyMap(),transformerArgs = mapOf("value" to argDescriptorConstants)) +} + + +//TODO: TreeEnsembleClassifier +//TODO: TreeEnsembleRegressor +//TODO: Unique PRIORITIZE +//TODO: Unsqueeze PRIORITIZE +//TODO: Upsample PRIORITIZE +//TODO: Where PRIORITIZE +//TODO: ZipMap +fun defOnnxSingleTransform(opName: String, inputFrameworkOpName: String, outputName: String, inputFrameworkInput: String = "input", attributeMappingRules: List> = emptyList()): OnnxMappingProcess { + return OnnxMappingProcess( + opName = opName, + tensorMappingRules = listOf( + NDArrayMappingRule(mappingNamesToPerform = mutableMapOf(outputName to inputFrameworkInput)) + ), + inputFrameworkOpName = inputFrameworkOpName, + inputFramework = "onnx", + attributeMappingRules = attributeMappingRules, + opMappingRegistry = onnxOpRegistry + ) +} + +fun defineOnnxPairwiseTransforms(opName: String, inputFrameworkOpName: String, + firstOutputName: String = "input", + secondOutputName: String = "y", + firstInput: String = "A", secondInput: String = "B") : OnnxMappingProcess { + return OnnxMappingProcess( + opName = opName, + tensorMappingRules = listOf( + NDArrayMappingRule( + mappingNamesToPerform = mutableMapOf( + firstOutputName to firstInput, + secondOutputName to secondInput + ) + ) + ), + inputFrameworkOpName = inputFrameworkOpName, + inputFramework = "onnx", + opMappingRegistry = onnxOpRegistry + ) +} + +fun defineOnnxSingleTransform(inputOpName: String, inputFrameworkOpName: String): OnnxMappingProcess { + return OnnxMappingProcess( + opName = inputOpName, + inputFrameworkOpName = inputFrameworkOpName, tensorMappingRules = listOf( + NDArrayMappingRule( + mappingNamesToPerform = mutableMapOf("input" to "input") + ) + ), + attributeMappingRules = booleanConstant(inputName = "inPlace", constantValue = false, argumentIndex = 0), + opMappingRegistry = onnxOpRegistry + ) + +} + +fun flattenDims(outputName: String, inputFrameworkName: String, axis: Long, argumentIndex: Int): OnnxFlattenDims { + return OnnxFlattenDims( + mutableMapOf(outputName to inputFrameworkName), + mapOf(outputName to listOf(ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + int64Value = axis + name = outputName + argIndex = argumentIndex + })) + ) +} + +fun booleanConstant(inputName: String, constantValue: Boolean, argumentIndex: Int): List { + return listOf(argDescriptorConstant(listOf( + ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.BOOL + name = inputName + argIndex = argumentIndex + boolValue = constantValue + } + ))) +} + +fun doubleConstant(inputName: String, constantValue: Double, argumentIndex: Int): List { + + return listOf(argDescriptorConstant(listOf( + ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + name = inputName + argIndex = argumentIndex + doubleValue = constantValue + } + ))) +} + +fun intConstant(inputName: String, constantValue: Int, argumentIndex: Int): List { + return listOf(argDescriptorConstant(listOf( + ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + name = inputName + argIndex = argumentIndex + int64Value = constantValue.toLong() + } + ))) +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/context/OnnxMappingContext.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/context/OnnxMappingContext.kt new file mode 100644 index 000000000..64d2e7ef6 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/context/OnnxMappingContext.kt @@ -0,0 +1,137 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.context + +import onnx.Onnx +import org.nd4j.linalg.api.buffer.DataType +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.samediff.frameworkimport.context.AbstractMappingContext +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.ir.IRGraph +import org.nd4j.samediff.frameworkimport.ir.IRNode +import org.nd4j.samediff.frameworkimport.ir.IRTensor +import org.nd4j.samediff.frameworkimport.onnx.convertToOnnxTensor +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRGraph +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRNode +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRTensor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import java.lang.IllegalArgumentException + +class OnnxMappingContext(opDef: Onnx.NodeProto, node: Onnx.NodeProto, graph: +IRGraph, dynamicVariables: MutableMap) : + AbstractMappingContext(opDef, node, graph,dynamicVariables) { + + override fun attrDef(name: String): Onnx.AttributeProto { + val ret = opDef().attributeList.firstOrNull { it.name == name } + return ret!! + } + + override fun irAttributeValueForNode(valueName: String): IRAttribute { + val attrDef = attrDef(valueName) + var attrValue = node.attributeList.firstOrNull { it.name == valueName } + if(attrValue == null && attrDef.name == "value" && opDef.opType == "Constant") + //allow dummy values + attrValue = Onnx.AttributeProto.newBuilder() + .setName("value").addTensors(Onnx.TensorProto.getDefaultInstance()) + .build() + else if(attrValue == null) { + attrValue = Onnx.AttributeProto.newBuilder() + .setName(valueName) + .build() + println("Unable to resolve attribute for name $valueName for node ${nodeName()} for op type ${opName()}") + } + return OnnxIRAttr(inputAttributeDef = attrDef, inputAttributeValue = attrValue!!) + + } + + override fun tensorInputFor(name: String): IRTensor { + var foundIndex = -1 + opDef.inputList.forEachIndexed { + index,argDef -> if(argDef == name) foundIndex = index + } + + return tensorInputFromInputFrameworkName(name) + } + + override fun opName(): String { + return opDef.opType + } + + override fun nodeName(): String { + return opDef.name + } + + override fun nd4jDataTypeFor(input: IRTensor): DataType { + return input.dataType().nd4jDataType() + } + + override fun createIRTensorFromNDArray(ndarray: INDArray): IRTensor { + return OnnxIRTensor(convertToOnnxTensor(ndarray, "tensor")) + } + + override fun tensorAttributeFor(name: String): IRTensor { + return irAttributeValueForNode(name).tensorValue() + } + + override fun irNode(): IRNode { + return OnnxIRNode(node, OpDescriptorLoaderHolder.listForFramework("onnx")[node.opType]!!,graph.opMappingRegistry()) + } + + override fun tensorInputFromInputFrameworkName(name: String): IRTensor { + val castedGraph = graph as OnnxIRGraph + val graphDef = castedGraph.graphDef() + var foundIndex = opDef.inputList.map { input -> input.toString() }.indexOf(name) + //optional or unknown tensors + if(foundIndex < 0 || foundIndex >= node.inputCount) { + println("Node with name ${nodeName()} for opdef with name ${opDef.name} did not contain a tensor with name ${name}, returning empty tensor") + return OnnxIRTensor(Onnx.TensorProto.getDefaultInstance()) + } + + /** + * Use op definition name as 1 unified reference name in rules for static purposes, but + * look up via index for specific node mappings. + * + * This is equivalent to the tf input position attribute value in the previous tensorflow import. + */ + val graphNode = if(node.opType == "Constant") name else node.getInput(foundIndex) + val attemptedTensor = graphDef.initializerList.firstOrNull { it.name == graphNode } + + //no value to be found on placeholder, return default instance + //if no value exists it's an output from another node + if(attemptedTensor == null) { + println("Value for node $graphNode is not a constant! This method only works for constants. Consider replacing the Placeholder node with a Constant node. This will return an empty tensor.") + if(!dynamicVariables.containsKey(graphNode)) + return OnnxIRTensor(Onnx.TensorProto.getDefaultInstance()) + else { + val toConvert = dynamicVariables[graphNode]!! + return OnnxIRTensor(toConvert) + } + } + + //value nodes are the values of attributes that are input nodes in a frozen graph + if(attemptedTensor == null) { + throw IllegalArgumentException("Name $name not found in initializer list.") + } + return OnnxIRTensor(attemptedTensor!!) + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/definitions/OnnxOpDeclarations.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/definitions/OnnxOpDeclarations.kt new file mode 100644 index 000000000..9241c8aa3 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/definitions/OnnxOpDeclarations.kt @@ -0,0 +1,1032 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.definitions + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.onnx.* +import org.nd4j.samediff.frameworkimport.onnx.process.OnnxMappingProcess +import org.nd4j.samediff.frameworkimport.onnx.rule.tensor.NDArrayMappingRule +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.registry.OpMappingRegistry +import org.nd4j.samediff.frameworkimport.registry.OpRegistryHolder + +val onnxOpRegistry = OpMappingRegistry("onnx",OpDescriptorLoaderHolder.nd4jOpDescriptor) +fun registry(): OpMappingRegistry { + return onnxOpRegistry +} + + +val names = mapOf( + "Acos" to "acos", + "Acosh" to "acosh", + "Asin" to "asin", + "Asinh" to "asinh", + "Atan" to "atan", + "Atanh" to "atanh", + "Cos" to "cos", + "Cosh" to "cosh", + "Erf" to "erf", + "Exp" to "exp", + "Identity" to "identity", + "Log" to "log", + "Sign" to "sign", + "Sin" to "sin", + "Sinh" to "sinh", + "Softsign" to "softsign", + "Tan" to "tan", + "Tanh" to "tanh" + +) + +val pairWiseNames = mapOf( + "And" to "boolean_and") + +val equal = OnnxMappingProcess( + inputFrameworkOpName = "Equal", + opName = "equals", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "A","y" to "B"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry) + + +val sub = OnnxMappingProcess( + inputFrameworkOpName = "Sub", + opName = "subtract", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "A","y" to "B"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry) + +val mul = OnnxMappingProcess( + inputFrameworkOpName = "Mul", + opName = "multiply", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "A","y" to "B"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry) + +val lessEqual = OnnxMappingProcess( + inputFrameworkOpName = "LessOrEqual", + opName = "less_equal", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "A","y" to "B"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry) + + +val less = OnnxMappingProcess( + inputFrameworkOpName = "Less", + opName = "less", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "A","y" to "B"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry) + +val greaterEqual = OnnxMappingProcess( + inputFrameworkOpName = "GreaterOrEqual", + opName = "greater_equal", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "A","y" to "B"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry) + + +val greater = OnnxMappingProcess( + inputFrameworkOpName = "Greater", + opName = "greater", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "A","y" to "B"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry) + +val divide = OnnxMappingProcess( + inputFrameworkOpName = "Div", + opName = "divide", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "A","y" to "B"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry) + + +val add = OnnxMappingProcess( + inputFrameworkOpName = "Add", + opName = "add", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "A","y" to "B"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry) +//Adagrad +//Adam + + +//unmapped: select_last_index +val argMax = OnnxMappingProcess( + opName = "argmax", + inputFrameworkOpName = "ArgMax", + tensorMappingRules = listOf(NDArrayMappingRule(mappingNamesToPerform = mutableMapOf("input" to "data"))), + attributeMappingRules = listOf( + invertBooleanNumber(mapOf("keepDims" to "keepdims")), + valueMappings(mutableMapOf("dimensions" to "axis"))), + opMappingRegistry = onnxOpRegistry +) + +//unmapped: select_last_index +val argMin = OnnxMappingProcess( + opName = "argmin", + inputFrameworkOpName = "ArgMin", + tensorMappingRules = listOf(NDArrayMappingRule(mappingNamesToPerform = mutableMapOf("input" to "data"))), + attributeMappingRules = listOf( + invertBooleanNumber(mapOf("keepDims" to "keepdims")), + valueMappings(mutableMapOf("dimensions" to "axis"))), + opMappingRegistry = onnxOpRegistry +) + + +//Note: weight formats are NCHW in ONNX +val avgPool = OnnxMappingProcess( + inputFrameworkOpName = "AveragePool", + opName = "avgpool2d", + opMappingRegistry = onnxOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))), + attributeMappingRules = listOf( + argDescriptorConstant(argDescriptorConstants = listOf(ArgDescriptor { + name = "isNCHW" + int64Value = 1 + argIndex = 10 + })), + intConstant(inputName = "dH",constantValue = 0,argumentIndex = 6)[0], + intConstant(inputName = "dW",constantValue = 0,argumentIndex = 7)[0], + intConstant(inputName = "extraParam0",constantValue = 0,argumentIndex = 9)[0], + stringContainsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "auto_pad",valueToTest = "SAME",argumentIndex = 8), + listAttributeValueLookup(outputAttributeValue = "pH",inputAttributeValue = "pads",indexValue = 0,argumentIndex = 4), + listAttributeValueLookup(outputAttributeValue = "pW",inputAttributeValue = "pads",indexValue = 1,argumentIndex = 5), + listAttributeValueLookup(outputAttributeValue = "sH",inputAttributeValue = "strides",indexValue = 0,argumentIndex = 2), + listAttributeValueLookup(outputAttributeValue = "sW",inputAttributeValue = "strides",indexValue = 1,argumentIndex = 3), + listAttributeValueLookup(outputAttributeValue = "kW",inputAttributeValue = "kernel_shape",indexValue = 1,argumentIndex = 1), + listAttributeValueLookup(outputAttributeValue = "kH",inputAttributeValue = "kernel_shape",indexValue = 0,argumentIndex = 0))) + +val batchNorm = OnnxMappingProcess( + opName = "batchnorm", + opMappingRegistry = onnxOpRegistry, + inputFrameworkOpName = "BatchNormalization", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X","mean" to "mean","variance" to "var","gamma" to "scale"))), + attributeMappingRules = listOf(valueMappings(mapOf("epsilon" to "epsilon")), + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0], + booleanConstant(inputName = "applyGamma",constantValue = true,argumentIndex = 1)[0], + booleanConstant(inputName = "applyBeta",constantValue = true,argumentIndex = 2)[0], + intConstant(inputName = "applyScale",constantValue = 1,argumentIndex = 0)[0], + intConstant(inputName = "applyOffset",constantValue = 1,argumentIndex = 1)[0] + )) +//TODO: Binarizer +//TODO: Bitshift +//TODO: Cast +//TODO: CastMap +//TODO: CategoryMapper +//TODO: Celu +//TODO: Clip +//TODO: Compress +val concat = OnnxMappingProcess( + opName = "concat", + inputFrameworkOpName = "Concat", + opMappingRegistry = onnxOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "inputs"))), + attributeMappingRules = listOf(valueMappings(mapOf("concatDimension" to "axis")), + booleanConstant(inputName = "isDynamicAxis",constantValue = false,argumentIndex = 0)[0]) + +) +//TODO: ConcatFromSequence +val constantFill = OnnxMappingProcess( + opName = "fill", + inputFrameworkOpName = "ConstantOfShape", + opMappingRegistry = onnxOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("shapeArray" to "input"))), + attributeMappingRules = listOf(ndarrayAttributeToScalarAttribute(outputAttributeValue = "value",inputAttributeValue = "value"), + intConstant(inputName = "outputDataType",constantValue = 0,argumentIndex = 0)[0]) +) + +//TODO: ConvInteger +//TODO: ConvTranspose +val cumSum = OnnxMappingProcess( + opName = "cumsum", + inputFrameworkOpName = "CumSum", + opMappingRegistry = onnxOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x"))), + attributeMappingRules = listOf(valueMappings(mapOf("exclusive" to "exclusive","reverse" to "reverse")), + ndarrayToIntList(ndarrayNameToAttributeName = mutableMapOf("dimensions" to "axis"))) +) + +val depthToSpace = OnnxMappingProcess( + opName = "depth_to_space", + inputFrameworkOpName = "DepthToSpace", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + //note onnx is NCHW by default + attributeMappingRules = listOf(valueMappings(mapOf("block_size" to "blocksize")), + intConstant(inputName = "isNHWC",constantValue = 1,argumentIndex = 1)[0]), + opMappingRegistry = onnxOpRegistry +) + +//TODO: DequantizeLinear +val determinant = OnnxMappingProcess( + opName = "matrix_determinant", + inputFrameworkOpName = "Det", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry +) + + +//TODO: DictVectorizer +//Dropout: Note https://github.com/eclipse/deeplearning4j/issues/5650 +val dropout = OnnxMappingProcess( + opName = "dropout_inverted", + inputFrameworkOpName = "Dropout", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + attributeMappingRules = listOf(convertNDArrayInputToScalarAttr(outputAttributeValue = "p" ,inputAttributeValue = "ratio")), + opMappingRegistry = onnxOpRegistry +) + + +val floor = OnnxMappingProcess( + opName = "floor", + inputFrameworkOpName = "Floor", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry +) + +val round = OnnxMappingProcess( + opName = "round", + inputFrameworkOpName = "Round", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry +) + +val mod = OnnxMappingProcess( + opName = "mod", + inputFrameworkOpName = "Mod", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "A","y" to "B"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry +) + + +val sigmoid = OnnxMappingProcess( + opName = "sigmoid", + inputFrameworkOpName = "Sigmoid", + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))), + opMappingRegistry = onnxOpRegistry +) + + +val logSoftmax = OnnxMappingProcess( + opName = "log_softmax", + inputFrameworkOpName = "LogSoftmax", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf(valueMappings(mutableMapOf("dimension" to "axis"))), + opMappingRegistry = onnxOpRegistry +) +val softmax = OnnxMappingProcess( + opName = "softmax", + inputFrameworkOpName = "Softmax", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf(valueMappings(mutableMapOf("dimension" to "axis")), + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0]), + opMappingRegistry = onnxOpRegistry +) + + +//TODO: DynamicQuantizeLinear +//TODO: Einsum +//TODO: Expand +//TODO: EyeLike +//TODO: FeatureVectorizer +//TODO: Flatten +val gru = OnnxMappingProcess( + opMappingRegistry = onnxOpRegistry, + inputFrameworkOpName = "GRU", + opName = "gruCell", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf( + "input" to "X", + "Wru" to "R", + "Wc" to "W", + "bc" to "B", + "hLast" to "initial_h", + //TODO: erroneous mappings + "bru" to "B"))), + attributeMappingRules = listOf() +) + +val gather = OnnxMappingProcess( + opMappingRegistry = onnxOpRegistry, + inputFrameworkOpName = "Gather", + opName = "gather", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("indices" to "indices","input" to "data"))), + attributeMappingRules = listOf(valueMappings(mapOf("dimensions" to "axis")), + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0]) +) +//TODO: GatherElements +val gatherNd = OnnxMappingProcess( + opMappingRegistry = onnxOpRegistry, + inputFrameworkOpName = "GatherND", + opName = "gather_nd", + attributeMappingRules = booleanConstant(inputName = "checkIndices",constantValue = true,argumentIndex = 0), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("indices" to "indices","input" to "data"))) +) + + + + +val gemm = OnnxMappingProcess( + opMappingRegistry = onnxOpRegistry, + inputFrameworkOpName = "Gemm", + opName = "matmul", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "A","y" to "B"))), + attributeMappingRules = listOf(valueMappings(mapOf("alpha" to "alpha","beta" to "beta", + "transposeX" to "transA", "transposeY" to "transB")), + booleanConstant(inputName = "transZ",constantValue = false,argumentIndex = 2)[0], + booleanConstant(inputName = "transposeZ",constantValue = false,argumentIndex = 2)[0], + invertBooleanNumber(mutableMapOf("transX" to "transA","transY" to "transB"))) +) +//TODO: GlobalAveragePool +//TODO: GlobalLpPool +//TODO: GlobalMaxPool +//TODO: Gradient +//TODO: GraphCall +val hardSigmoid = OnnxMappingProcess( + opName = "hard_sigmoid", + inputFrameworkOpName = "HardSigmoid", + opMappingRegistry = onnxOpRegistry, + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))) +) + + + +//TODO: map is-negative,is-positive +val isInf = OnnxMappingProcess( + opName = "isinf", + inputFrameworkOpName = "IsInf", + opMappingRegistry = onnxOpRegistry, + attributeMappingRules = booleanConstant(inputName = "inPlace", constantValue = false,argumentIndex = 0), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))) +) + + + +val or = OnnxMappingProcess( + opName = "or", + inputFrameworkOpName = "Or", + opMappingRegistry = onnxOpRegistry, + attributeMappingRules = listOf( + booleanConstant(inputName = "inPlace", constantValue = false,argumentIndex = 0)[0], + doubleConstant(inputName = "comparable", constantValue = 0.0,argumentIndex = 0)[0]), + tensorMappingRules = listOf(mappingNDArrayInputs((mutableMapOf("input" to "A")))) +) + +val xor = OnnxMappingProcess( + opName = "bitwise_xor", + inputFrameworkOpName = "Xor", + opMappingRegistry = onnxOpRegistry, + attributeMappingRules = listOf(booleanConstant(inputName = "inPlace", constantValue = false,argumentIndex = 0)[0]), + tensorMappingRules = listOf(mappingNDArrayInputs((mutableMapOf("input" to "A","y" to "B")))) +) + + + +//TODO: Hardmax +//TODO: If +//TODO: Imputer +//TODO: InstanceNormalization +val lrn = OnnxMappingProcess( + opName = "lrn", + inputFrameworkOpName = "LRN", + opMappingRegistry = onnxOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))), + attributeMappingRules = listOf(valueMappings(mapOf("alpha" to "alpha","beta" to "beta","bias" to "bias","depth" to "size")), + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0]) + +) + +//0=tanh, 1=relu, 2=sigmoid, 3=affine, 4=leaky relu, 5= thresholded relu, 6=scaled tanh, 7=hard sigmoid, 8=ELU, 9=softsign, 10=softplus + +val lstmActivationMap = mapOf( + "Relu" to 1, + "Tanh" to 0, + "Sigmoid" to 2, + "Affine" to 3, + "LeakyRelu" to 4, + "ThresholdedRelu" to 5, + "ScaledTanh" to 6, + "HardSigmoid" to 7, + "Elu" to 8, + "Softsign" to 9, + "Softplus" to 10 +) + +val lstm = OnnxMappingProcess( + opMappingRegistry = onnxOpRegistry, + inputFrameworkOpName = "LSTM", + opName = "lstmLayer", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf( + "input" to "X", + "Wx" to "W", + "Wr" to "R", + "Wp" to "P", + "b" to "B", + "seqLen" to "sequence_lens", + "hI" to "initial_h", + "cI" to "initial_c"))), + attributeMappingRules = listOf(valueMappings(mapOf("cellClip" to "clip")), + stringToIndex(outputAttributeValue = "directionMode", + inputAttributeValue = "direction", + listOfValues = listOf("forward","reverse","bidirectional"),argumentIndex = 1), + intConstant(inputName = "dataFormat",constantValue = 0,argumentIndex = 0)[0], + booleanConstant(inputName = "hasBiases",constantValue = true,argumentIndex = 0)[0], + booleanConstant(inputName = "hasSeqLen",constantValue = true,argumentIndex = 1)[0], + booleanConstant(inputName = "hasInitH",constantValue = true,argumentIndex = 2)[0], + booleanConstant(inputName = "hasInitC",constantValue = true,argumentIndex = 3)[0], + booleanConstant(inputName = "hasPH",constantValue = true,argumentIndex = 4)[0], + booleanConstant(inputName = "retFullSeq",constantValue = true,argumentIndex = 5)[0], + booleanConstant(inputName = "retLastH",constantValue = true,argumentIndex = 6)[0], + booleanConstant(inputName = "retLastC",constantValue = true,argumentIndex = 7)[0], + listAttributeValueLookup(outputAttributeValue = "gateAlpha",inputAttributeValue = "activation_alpha",indexValue = 0,argumentIndex = 1), + listAttributeValueLookup(outputAttributeValue = "cellAlpha",inputAttributeValue = "activation_alpha",indexValue = 1,argumentIndex = 3), + listAttributeValueLookup(outputAttributeValue = "outAlpha",inputAttributeValue = "activation_alpha",indexValue = 2,argumentIndex = 5), + listAttributeValueLookup(outputAttributeValue = "gateBeta",inputAttributeValue = "activation_beta",indexValue = 0,argumentIndex = 2), + listAttributeValueLookup(outputAttributeValue = "cellBeta",inputAttributeValue = "activation_beta",indexValue = 1,argumentIndex = 4), + listAttributeValueLookup(outputAttributeValue = "outBeta",inputAttributeValue = "activation_beta",indexValue = 2,argumentIndex = 6), + mapStringToInt(outputAttributeValue = "gateAct",inputAttributeValue = "activations",argumentIndex = 2,mapOfValuesToInts = lstmActivationMap,lookupIndex = 0), + mapStringToInt(outputAttributeValue = "cellAct",inputAttributeValue = "activations",argumentIndex = 3,mapOfValuesToInts =lstmActivationMap,lookupIndex = 1), + mapStringToInt(outputAttributeValue = "outAct",inputAttributeValue = "activations",argumentIndex = 4,mapOfValuesToInts = lstmActivationMap,lookupIndex = 2)) +) +//TODO: LabelEncoder +val leakyRelu = OnnxMappingProcess( + inputFrameworkOpName = "LeakyRelu", + opName = "leakyrelu", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))), + attributeMappingRules = listOf(valueMappings(mapOf("alpha" to "alpha"))), + opMappingRegistry = onnxOpRegistry +) +//TODO: LinearClassifier +//TODO: LinearRegressor +//TODO: Loop +//TODO: LpNormalization +//TODO: LpPool +val matMul = OnnxMappingProcess( + opMappingRegistry = onnxOpRegistry, + inputFrameworkOpName = "MatMul", + opName = "matmul", + attributeMappingRules = listOf( + booleanConstant(inputName = "transposeX",constantValue = false,argumentIndex = 0)[0], + booleanConstant(inputName = "transposeY",constantValue = false,argumentIndex = 1)[0], + booleanConstant(inputName = "transposeZ",constantValue = false,argumentIndex = 2)[0], + doubleConstant(inputName = "alpha",constantValue = 0.0,argumentIndex = 0)[0], + doubleConstant(inputName = "beta",constantValue = 1.0,argumentIndex = 1)[0]), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "A","y" to "B"))) +) + + +//TODO: MatMulInteger +//TODO: Max +val maxPool = OnnxMappingProcess( + inputFrameworkOpName = "MaxPool", + opName = "maxpool2d", + opMappingRegistry = onnxOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))), + attributeMappingRules = listOf( + argDescriptorConstant(argDescriptorConstants = listOf(ArgDescriptor { + name = "isNCHW" + int64Value = 0 + argIndex = 10 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + })), + intConstant(inputName = "extraParam0",argumentIndex = 9,constantValue = 0)[0], + //note this parameter can be 0 for valid, 1 for same, 2 for causal + intConstant(inputName = "isSameMode",constantValue = 0,argumentIndex = 8)[0], + //stringContainsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "auto_pad",valueToTest = "SAME",argumentIndex = 8), + listAttributeValueLookup(outputAttributeValue = "dH",inputAttributeValue = "dilations",indexValue = 0,argumentIndex = 6,defaultValueIfNotFound = ArgDescriptor { + int64Value = 1 + name = "dH" + argIndex = 6 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + }), + listAttributeValueLookup(outputAttributeValue = "dW",inputAttributeValue = "dilations",indexValue = 1,argumentIndex = 7, + defaultValueIfNotFound = ArgDescriptor { + int64Value = 1 + name = "dW" + argIndex = 7 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + }), + listAttributeValueLookup(outputAttributeValue = "pH",inputAttributeValue = "pads",indexValue = 0,argumentIndex = 4,defaultValueIfNotFound = ArgDescriptor { + int64Value = 0 + name = "pads" + argIndex = 4 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + }), + listAttributeValueLookup(outputAttributeValue = "pW",inputAttributeValue = "pads",indexValue = 1,argumentIndex = 5, + defaultValueIfNotFound = ArgDescriptor { + int64Value = 0 + name = "pads" + argIndex = 5 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + }), + listAttributeValueLookup(outputAttributeValue = "sH",inputAttributeValue = "strides",indexValue = 0,argumentIndex = 2, + defaultValueIfNotFound = ArgDescriptor { + int64Value = 1 + name = "sH" + argIndex = 6 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + }), + listAttributeValueLookup(outputAttributeValue = "sW",inputAttributeValue = "strides",indexValue = 1,argumentIndex = 3, + defaultValueIfNotFound = ArgDescriptor { + int64Value = 1 + name = "sW" + argIndex = 7 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + }), + listAttributeValueLookup(outputAttributeValue = "kH",inputAttributeValue = "kernel_shape",indexValue = 0,argumentIndex = 0), + listAttributeValueLookup(outputAttributeValue = "kW",inputAttributeValue = "kernel_shape",indexValue = 1,argumentIndex = 1))) + + +//TODO: MaxRoiPool +//TODO: MaxUnpool +//TODO: name: "MeanVarianceNormalization" +//todo: Momentum +//TODO: Multinomial +//TODO: NegativeLogLikelihoodLoss +val nonMaxSuppression = OnnxMappingProcess( + inputFrameworkOpName = "NonMaxSuppression", + opName = "non_max_suppression_v3", + opMappingRegistry = onnxOpRegistry, + attributeMappingRules = listOf(ndarrayToIntList(mutableMapOf("maxOutputSize" to "max_output_boxes_per_class"))), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf( + "boxes" to "boxes", + "scales" to "scores", + "maxOutSize" to "max_output_boxes_per_class", + "iouThreshold" to "iou_threshold", + "scoreThreshold" to "score_threshold"))) +) +//TODO: NonZero PRIORITIZE +//TODO: Normalizer +//TODO: OneHot +//TODO: OneHotEncoder +//TODO: look at broadcasting rules between slope input +val pRelu = OnnxMappingProcess( + inputFrameworkOpName = "PRelu", + opName = "prelu", + //TODO: verify default value + attributeMappingRules = listOf(argDescriptorConstant(listOf( + ArgDescriptor { + name = "sharedAxes" + argIndex = 0 + int64Value = -1 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + } + ))), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X","alpha" to "slope"))), + opMappingRegistry = onnxOpRegistry +) + +val pad = OnnxMappingProcess( + inputFrameworkOpName = "Pad", + opMappingRegistry = onnxOpRegistry, + opName = "pad", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data","paddings" to "pads"))), + attributeMappingRules = listOf( + stringToIndex(outputAttributeValue = "mode",inputAttributeValue = "mode",listOfValues = listOf("constant","reflect","edge"),argumentIndex = 0), + doubleConstant(inputName = "padValue",constantValue = 0.0,argumentIndex = 0)[0]) +) + +//TODO: QLinearConv +//TODO: QLinearMatMul +//TODO: QuantizeLinear +//TODO: RNN PRIORITIZE +val randomNormal = OnnxMappingProcess( + inputFrameworkOpName = "RandomNormal", + opName = "random_normal", + opMappingRegistry = onnxOpRegistry, + attributeMappingRules = listOf(listNumberToNDarray(outputAttributeValue = "input",inputAttributeValue = "shape")) +) + + +//TODO: RandomNormalLike +//TODO: Note that the attributes for random unifrom are wrong and needed to be discovered through other means. +//The combination of a lack of a java class + the c++ calling out to other functions which had the actual parameters +//names prevented resolution of the real parameter names. May have to look in to values that are passed inline in to functions and look up +//parameter names that way. + +val randomUniform = OnnxMappingProcess( + inputFrameworkOpName = "RandomUniform", + opName = "randomuniform", + opMappingRegistry = onnxOpRegistry, + attributeMappingRules = listOf(valueMappings(mapOf("min" to "low","max" to "high")), + listNumberToNDarray(outputAttributeValue = "shape",inputAttributeValue = "shape")) +) + +//TODO: RandomUniformLike +val range = OnnxMappingProcess( + inputFrameworkOpName = "Range", + opName = "range", + opMappingRegistry = onnxOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("from" to "start","to" to "limit","step" to "delta"))), + attributeMappingRules = listOf( + convertNDArrayInputToScalarAttr(outputAttributeValue = "from",inputAttributeValue = "start"), + convertNDArrayInputToScalarAttr(outputAttributeValue = "to",inputAttributeValue = "limit"), + convertNDArrayInputToScalarAttr(outputAttributeValue = "step",inputAttributeValue = "delta")) +) + +val neg = OnnxMappingProcess( + opName = "neg", + inputFrameworkOpName = "Neg", + opMappingRegistry = onnxOpRegistry, + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))) +) + + +val norm1 = OnnxMappingProcess( + inputFrameworkOpName = "ReduceL1", + opMappingRegistry = onnxOpRegistry, + opName = "reduce_norm1", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + attributeMappingRules = listOf(invertBooleanNumber(mapOf("keepDims" to "keepdims")), + listNumberToListNumber(outputAttributeValue = "dimensions",inputAttributeValue = "axes")) + +) + +val norm2 = OnnxMappingProcess( + inputFrameworkOpName = "ReduceL2", + opMappingRegistry = onnxOpRegistry, + opName = "reduce_norm2", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + attributeMappingRules = listOf( + invertBooleanNumber(mapOf("keepDims" to "keepdims")), + listNumberToListNumber(outputAttributeValue = "dimensions",inputAttributeValue = "axes")) +) + +//TODO: ReduceLogSum +val reduceLogSumExp = OnnxMappingProcess( + inputFrameworkOpName = "ReduceLogSumExp", + opName = "reduce_logsumexp", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + attributeMappingRules = listOf( + invertBooleanNumber(mutableMapOf("keepDims" to "keepdims")), + valueMappings(mutableMapOf("keepDims" to "keepdims")), + listNumberToListNumber(outputAttributeValue = "dimensions",inputAttributeValue = "axes")), + opMappingRegistry = onnxOpRegistry +) +val reduceMax = OnnxMappingProcess( + inputFrameworkOpName = "ReduceMax", + opName = "reduce_max", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + attributeMappingRules = listOf( + invertBooleanNumber(mapOf("keepDims" to "keepdims")), + listNumberToListNumber(outputAttributeValue = "dimensions",inputAttributeValue = "axes")), + opMappingRegistry = onnxOpRegistry +) +val reduceMean = OnnxMappingProcess( + inputFrameworkOpName = "ReduceMean", + opName = "reduce_mean", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + attributeMappingRules = listOf( + invertBooleanNumber(mapOf("keepDims" to "keepdims")), + listNumberToListNumber(outputAttributeValue = "dimensions",inputAttributeValue = "axes")), + opMappingRegistry = onnxOpRegistry +) +val reduceMin = OnnxMappingProcess( + inputFrameworkOpName = "ReduceMin", + opName = "reduce_min", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + attributeMappingRules = listOf( + invertBooleanNumber(mapOf("keepDims" to "keepdims")), + listNumberToListNumber(outputAttributeValue = "dimensions",inputAttributeValue = "axes")), + opMappingRegistry = onnxOpRegistry +) +val reduceProd = OnnxMappingProcess( + inputFrameworkOpName = "ReduceProd", + opName = "reduce_prod", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + attributeMappingRules = listOf(invertBooleanNumber(mapOf("keepDims" to "keepdims")), + listNumberToListNumber(outputAttributeValue = "dimensions",inputAttributeValue = "axes")), + opMappingRegistry = onnxOpRegistry +) + +val reduceSum = OnnxMappingProcess( + inputFrameworkOpName = "ReduceSum", + opName = "reduce_sum", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + attributeMappingRules = listOf(invertBooleanNumber(mapOf("keepDims" to "keepdims")), + listNumberToListNumber(outputAttributeValue = "dimensions",inputAttributeValue = "axes")), + opMappingRegistry = onnxOpRegistry +) + +//flattenDims +val flatten = OnnxMappingProcess( + inputFrameworkOpName = "Flatten", + opName = "flatten_2d", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf(valueMappings(mutableMapOf("dimensions" to "axis"))), + opMappingRegistry = onnxOpRegistry +) + +val reshape = OnnxMappingProcess( + inputFrameworkOpName = "Reshape", + opName = "reshape", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data","shape" to "shape"))), + attributeMappingRules = listOf(ndarrayToIntList(mutableMapOf("shapeArr" to "shape"))), + opMappingRegistry = onnxOpRegistry +) + +//TODO: ReduceSumSquare +//TODO: Resize PRIORITIZE +//TODO: ReverseSequence +//TODO: RoiAlign +//TODO: SVMClassifier +//TODO: SVMRegressor +//TODO: Scaler +//TODO: Scan +val scatter = OnnxMappingProcess( + opMappingRegistry = onnxOpRegistry, + inputFrameworkOpName = "ScatterElements", + opName = "scatter_update", + attributeMappingRules = listOf( + valueMappings(mutableMapOf("dimension" to "axis")), + ndarrayToIntList(ndarrayNameToAttributeName = mutableMapOf("indices" to "indices"))), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("operand" to "data","updates" to "updates"))) +) + +/* +val scatterNd = OnnxMappingProcess( + opName = "scatter_nd_update", + inputFrameworkOpName = "ScatterNd", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data","indices" to "indices","updates" to "updates"))), + opMappingRegistry = onnxOpRegistry +) +*/ + +//TODO: SequenceAt +//TODO: SequenceConstruct +//TODO: SequenceErase +//TODO: SequenceInsert +//TODO: SequenceLength +val shape = OnnxMappingProcess( + opName = "shape_of", + inputFrameworkOpName = "Shape", + opMappingRegistry = onnxOpRegistry, + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + tensorMappingRules = listOf(mappingNDArrayInputs((mutableMapOf("input" to "data")))) +) +//TODO: Shrink + +val not = OnnxMappingProcess( + opName = "not", + inputFrameworkOpName = "Not", + opMappingRegistry = onnxOpRegistry, + attributeMappingRules = doubleConstant(inputName = "comparable",constantValue = 0.0,argumentIndex = 0), + tensorMappingRules = listOf(mappingNDArrayInputs((mutableMapOf("input" to "X")))) +) + + +val pow = OnnxMappingProcess( + opName = "pow_pairwise", + inputFrameworkOpName = "Pow", + opMappingRegistry = onnxOpRegistry, + attributeMappingRules = listOf( + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0]), + tensorMappingRules = listOf(mappingNDArrayInputs((mutableMapOf("input" to "X","y" to "Y")))) +) + +val size = OnnxMappingProcess( + opName = "size", + inputFrameworkOpName = "Size", + opMappingRegistry = onnxOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs((mutableMapOf("input" to "data")))) +) + +//TODO: map axes +//TODO: slice and strided slice work too differently,revisit one +/*val slice = OnnxMappingProcess( + opMappingRegistry = onnxOpRegistry, + inputFrameworkOpName = "Slice", + opName = "strided_slice", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + attributeMappingRules = listOf(ndarrayToIntList(mutableMapOf("v_begin" to "starts","v_end" to "ends","v_stride" to "steps", + //TODO: note these mappings are erroneous, we need better default values here for equivalent functionality in onnx + "begin_mask" to "begin","end_mask" to "end"))) +)*/ + + +//TODO: SoftmaxCrossEntropyLoss +val spaceToDepth = OnnxMappingProcess( + opName = "space_to_depth", + inputFrameworkOpName = "SpaceToDepth", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf(valueMappings(mapOf("block_size" to "blocksize")), + argDescriptorConstant(listOf(ArgDescriptor { + name = "isNHWC" + int64Value = 1 + argIndex = 1 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + + }))), + opMappingRegistry = onnxOpRegistry +) + +//TODO: don't know a good default value for num_splits, look at TF and implementation in libnd4j to figure out best value +val split = OnnxMappingProcess( + opName = "split", + inputFrameworkOpName = "Split", + opMappingRegistry = onnxOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("a" to "input"))), + attributeMappingRules = listOf(valueMappings(mapOf("dimensions" to "axis")), + intConstant(inputName = "numSplit",constantValue = 0,argumentIndex = 0)[0], + listNumberToNDarray(outputAttributeValue = "b" ,inputAttributeValue = "split")) +) + +val sqrt = OnnxMappingProcess( + opName = "sqrt", + inputFrameworkOpName = "Sqrt", + opMappingRegistry = onnxOpRegistry, + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + tensorMappingRules = listOf(mappingNDArrayInputs((mutableMapOf("input" to "X")))) +) + +val softplus = OnnxMappingProcess( + opMappingRegistry = onnxOpRegistry, + inputFrameworkOpName = "Softplus", + opName = "softplus", + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))) +) + +//TODO: SplitToSequence +val squeeze = OnnxMappingProcess( + opName = "squeeze", + inputFrameworkOpName = "Squeeze", + opMappingRegistry = onnxOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + attributeMappingRules = listOf(convertNumericalListToNDArray(outputAttributeValue = "a" ,inputAttributeValue = "axes"), + listNumberToListNumber(outputAttributeValue = "_a",inputAttributeValue = "axes")) +) + +//TODO: StringNormalizer +//TODO: TfIdfVectorizer +//TODO: ThresholdedRelu +val tile = OnnxMappingProcess( + opMappingRegistry = onnxOpRegistry, + inputFrameworkOpName = "Tile", + opName = "tile", + attributeMappingRules = listOf( + booleanConstant(inputName = "is_static_reps",constantValue = true,argumentIndex = 0)[0], + intConstant(inputName = "dimensions",constantValue = 0,argumentIndex = 0)[0]), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input","reps_vector" to "repeats"))) +) + +val topK = OnnxMappingProcess( + opName = "top_k", + inputFrameworkOpName = "TopK", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "X"))), + attributeMappingRules = listOf( + invertBooleanNumber(mutableMapOf("needSort" to "sorted")), + convertNDArrayInputToScalarAttr(outputAttributeValue = "k",inputAttributeValue = "K")), + opMappingRegistry = onnxOpRegistry +) + +val transpose = OnnxMappingProcess( + opName = "transpose", + inputFrameworkOpName = "Transpose", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + attributeMappingRules = listOf(listNumberToNDarray(outputAttributeValue = "permutationVector", inputAttributeValue = "perm")), + opMappingRegistry = onnxOpRegistry +) + + +val abs = OnnxMappingProcess( + opName = "abs", tensorMappingRules = listOf(NDArrayMappingRule(mappingNamesToPerform = mutableMapOf("input" to "X"))), + inputFrameworkOpName = "Abs", + inputFramework = "onnx", + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = onnxOpRegistry) + + + +val ceil = defOnnxSingleTransform(inputFrameworkOpName = "Ceil",opName = "ceil",inputFrameworkInput = "X",outputName = "input", + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0) +) + + +val const = OnnxMappingProcess( + inputFrameworkOpName = "Constant", + opName = "noop", + opMappingRegistry = onnxOpRegistry, + tensorMappingRules = listOf(), + attributeMappingRules = listOf()) + + +val conv2d = OnnxMappingProcess( + inputFramework = "onnx", + inputFrameworkOpName = "Conv", + opName = "conv2d", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf( + "input" to "X","weights" to "W","bias" to "B"))), + attributeMappingRules = listOf( + intConstant(inputName = "isNCHW",constantValue = 0,argumentIndex = 9)[0], + intConstant(inputName = "wFormat",constantValue = 1,argumentIndex = 10)[0], + stringEqualsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "auto_pad",valueToTest = "SAME",argumentIndex = 8), + listAttributeValueLookup(outputAttributeValue = "dH",inputAttributeValue = "dilations",indexValue = 0,argumentIndex = 6,defaultValueIfNotFound = ArgDescriptor { + int64Value = 1 + name = "dH" + argIndex = 6 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + }), + listAttributeValueLookup(outputAttributeValue = "dW",inputAttributeValue = "dilations",indexValue = 1,argumentIndex = 7,defaultValueIfNotFound = ArgDescriptor { + int64Value = 1 + name = "dW" + argIndex = 7 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + }), + listAttributeValueLookup(outputAttributeValue = "pH",inputAttributeValue = "pads",indexValue = 0,argumentIndex = 4), + listAttributeValueLookup(outputAttributeValue = "pW",inputAttributeValue = "pads",indexValue = 1,argumentIndex = 5), + listAttributeValueLookup(outputAttributeValue = "sH",inputAttributeValue = "strides",indexValue = 0,argumentIndex = 2, + defaultValueIfNotFound = ArgDescriptor { + int64Value = 1 + name = "strides" + argIndex = 2 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + }), + listAttributeValueLookup(outputAttributeValue = "sW",inputAttributeValue = "strides",indexValue = 1,argumentIndex = 3, + defaultValueIfNotFound = ArgDescriptor { + int64Value = 1 + name = "strides" + argIndex = 3 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + }), + listAttributeValueLookup(outputAttributeValue = "kW",inputAttributeValue = "kernel_shape",indexValue = 1,argumentIndex = 0), + listAttributeValueLookup(outputAttributeValue = "kH",inputAttributeValue = "kernel_shape",indexValue = 0,argumentIndex = 1) + ),opMappingRegistry = onnxOpRegistry) + +val elu = defOnnxSingleTransform(opName = "elu",inputFrameworkOpName = "Elu",outputName = "input",inputFrameworkInput = "X", + attributeMappingRules = listOf(valueMappings(mutableMapOf("alpha" to "alpha")))) + + + +val relu = defOnnxSingleTransform(inputFrameworkOpName = "Relu",opName = "relu",inputFrameworkInput = "X",outputName = "input", + attributeMappingRules = listOf( + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0], + doubleConstant(inputName = "cutoff",constantValue = 0.0,argumentIndex = 0)[0])) + +val isNan = defOnnxSingleTransform(inputFrameworkOpName = "IsNaN",opName = "isnan",inputFrameworkInput = "X",outputName = "input", + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0) +) + + +val selu = defOnnxSingleTransform(inputFrameworkOpName = "Selu",opName = "selu",inputFrameworkInput = "X",outputName = "input",attributeMappingRules = +booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0) +) + + +object OnnxOpDeclarations { + init { + val onnxops = OpDescriptorLoaderHolder.listForFramework("onnx") + val groupedOps = onnxops.values.groupBy { input -> input.name } + val singleGroupedOps = HashMap() + groupedOps.forEach { name,node -> + singleGroupedOps[name] = node[0] + } + + OpRegistryHolder.registerOpList("onnx", singleGroupedOps) + + names.forEach { + defineOnnxSingleTransform(inputFrameworkOpName = it.key,inputOpName = it.value) + } ?: "Error initializing single defined transforms in onnx." + + pairWiseNames.forEach { + defineOnnxPairwiseTransforms(opName = it.value,inputFrameworkOpName = it.key) + } ?: "Error initializing pair wise transforms" + + onnxops.values.forEach { + onnxOpRegistry.registerInputFrameworkOpDef(it.name,it) + } + + OpDescriptorLoaderHolder.nd4jOpDescriptor.opListList.forEach { + onnxOpRegistry.registerNd4jOpDef(it.name,it) + } + + OpRegistryHolder.registerOpMappingRegistry("onnx", onnxOpRegistry) + + } +} + + +val declarations = OnnxOpDeclarations \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/importer/OnnxFrameworkImporter.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/importer/OnnxFrameworkImporter.kt new file mode 100644 index 000000000..1a9cad763 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/importer/OnnxFrameworkImporter.kt @@ -0,0 +1,54 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.importer + +import onnx.Onnx +import org.nd4j.autodiff.samediff.SameDiff +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.samediff.frameworkimport.FrameworkImporter +import org.nd4j.samediff.frameworkimport.onnx.OnnxImportGraph +import org.nd4j.samediff.frameworkimport.onnx.convertToOnnxTensor +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRGraph +import org.nd4j.samediff.frameworkimport.onnx.opdefs.OnnxOpDescriptorLoader +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import java.io.File +import java.nio.file.Files + +class OnnxFrameworkImporter: FrameworkImporter { + + val onnxImporter = OnnxImportGraph() + val loader = OpDescriptorLoaderHolder.listForFramework("onnx") + val onnxOpDescriptorLoader = OnnxOpDescriptorLoader() + val registry = onnxOpDescriptorLoader.createOpMappingRegistry() + val loadedGraphBuilder = Onnx.GraphProto.newBuilder() + init { + loader.values.forEach { loadedGraphBuilder.addNode(it) } + } + + val opDefs = loadedGraphBuilder.build() + + override fun runImport(fileName: String, dynamicVariables: Map): SameDiff { + val loadGraph = Onnx.ModelProto.parseFrom(Files.readAllBytes(File(fileName).toPath())) + val irGraph = OnnxIRGraph(loadGraph.graph,registry) + val dynamicVariablesConverted = HashMap() + dynamicVariables.forEach { name, array -> + dynamicVariablesConverted[name] = convertToOnnxTensor(array,name) + } + return onnxImporter.importGraph(irGraph,null,null, dynamicVariablesConverted,registry) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/ir/OnnxIRArgDef.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/ir/OnnxIRArgDef.kt new file mode 100644 index 000000000..c292e401b --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/ir/OnnxIRArgDef.kt @@ -0,0 +1,47 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.ir + +import onnx.Onnx +import org.nd4j.samediff.frameworkimport.ir.IRArgDef +import org.nd4j.samediff.frameworkimport.ir.IRDataType + +class OnnxIRArgDef(input: Onnx.NodeProto): IRArgDef { + private val argDefValue = input + + override fun dataType(): IRDataType { + return OnnxIRArgDef(argDefValue).dataType() + } + + override fun name(): String { + return argDefValue.name + } + + override fun description(): String { + return argDefValue.docString + } + + override fun internalValue(): Onnx.NodeProto { + return argDefValue + } + + override fun indexOf(): Integer { + TODO("Not yet implemented") + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/ir/OnnxIRAttr.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/ir/OnnxIRAttr.kt new file mode 100644 index 000000000..dee27afb1 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/ir/OnnxIRAttr.kt @@ -0,0 +1,109 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.ir + +import onnx.Onnx +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.ir.IRDataType +import org.nd4j.samediff.frameworkimport.ir.IRTensor +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType + +class OnnxIRAttr(inputAttributeDef: Onnx.AttributeProto, inputAttributeValue: Onnx.AttributeProto): + IRAttribute { + + private val attributeDef = inputAttributeDef + private val attributeValue = inputAttributeValue + + override fun name(): String { + return attributeDef.name + } + + override fun floatValue(): Float { + return attributeValue.f + } + + override fun listFloatValue(): List { + return attributeValue.floatsList + } + + + override fun intValue(): Long { + return attributeValue.i + } + + override fun listIntValue(): List { + return attributeValue.intsList + } + + override fun boolValue(): Boolean { + return attributeValue.i > 0 + } + + override fun listBoolValue(): List { + TODO("Implement") + } + + override fun attributeValueType(): AttributeValueType { + when(attributeDef.type) { + Onnx.AttributeProto.AttributeType.STRING -> return AttributeValueType.STRING + Onnx.AttributeProto.AttributeType.STRINGS -> return AttributeValueType.LIST_STRING + Onnx.AttributeProto.AttributeType.INT -> return AttributeValueType.INT + Onnx.AttributeProto.AttributeType.INTS -> return AttributeValueType.LIST_INT + Onnx.AttributeProto.AttributeType.FLOAT -> return AttributeValueType.FLOAT + Onnx.AttributeProto.AttributeType.FLOATS -> return AttributeValueType.LIST_FLOAT + Onnx.AttributeProto.AttributeType.TENSOR -> return AttributeValueType.TENSOR + Onnx.AttributeProto.AttributeType.TENSORS -> return AttributeValueType.LIST_TENSOR + } + + return AttributeValueType.INVALID + } + + + + override fun internalAttributeDef(): Onnx.AttributeProto { + return attributeDef + } + + override fun internalAttributeValue(): Onnx.AttributeProto { + return attributeValue + } + + override fun listTensorValue(): List> { + return attributeValue.tensorsList.map { + input -> + OnnxIRTensor(input) + } + } + + override fun tensorValue(): IRTensor { + return OnnxIRTensor(attributeValue.t) + } + + override fun stringValue(): String { + return attributeValue.s.toStringUtf8() + } + + override fun listStringValue(): List { + return attributeValue.stringsList.map { it.toStringUtf8() } + } + + override fun dataTataTypeValue(): IRDataType { + return OnnxIRDataType(Onnx.TensorProto.DataType.values()[attributeDef.t.dataType.ordinal]) + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/ir/OnnxIRDataType.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/ir/OnnxIRDataType.kt new file mode 100644 index 000000000..ca4b8132a --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/ir/OnnxIRDataType.kt @@ -0,0 +1,98 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.ir + +import onnx.Onnx +import org.nd4j.ir.TensorNamespace +import org.nd4j.linalg.api.buffer.DataType +import org.nd4j.samediff.frameworkimport.ir.IRDataType +import org.nd4j.samediff.frameworkimport.ir.IRDataTypeValue + +class OnnxIRDataType(inputDataType: Onnx.TensorProto.DataType): IRDataType { + val dataType = inputDataType + + override fun convertToDataType(input: Onnx.TensorProto.DataType): IRDataTypeValue { + when(input) { + Onnx.TensorProto.DataType.UINT64 -> return IRDataTypeValue.DT_UINT64 + Onnx.TensorProto.DataType.UINT32 -> return IRDataTypeValue.DT_UINT32 + Onnx.TensorProto.DataType.UINT16 -> return IRDataTypeValue.DT_UINT16 + Onnx.TensorProto.DataType.FLOAT16 -> return IRDataTypeValue.DT_HALF + Onnx.TensorProto.DataType.STRING -> return IRDataTypeValue.DT_STRING + Onnx.TensorProto.DataType.FLOAT -> return IRDataTypeValue.DT_FLOAT + Onnx.TensorProto.DataType.DOUBLE -> return IRDataTypeValue.DT_DOUBLE + Onnx.TensorProto.DataType.BOOL -> return IRDataTypeValue.DT_BOOL + Onnx.TensorProto.DataType.INT64 -> return IRDataTypeValue.DT_INT64 + Onnx.TensorProto.DataType.INT32 -> return IRDataTypeValue.DT_INT32 + Onnx.TensorProto.DataType.INT16 -> return IRDataTypeValue.DT_INT16 + Onnx.TensorProto.DataType.COMPLEX64 -> return IRDataTypeValue.DT_COMPLEX64 + Onnx.TensorProto.DataType.COMPLEX128 -> return IRDataTypeValue.DT_COMPLEX128 + Onnx.TensorProto.DataType.UNDEFINED, Onnx.TensorProto.DataType.UNRECOGNIZED -> TensorNamespace.DataType.UNRECOGNIZED.ordinal + + } + + return IRDataTypeValue.DT_INVALID + } + + override fun dataType(): IRDataTypeValue { + return convertToDataType(this.dataType) + } + + override fun internalValue(): Onnx.TensorProto.DataType { + return this.dataType + } + + override fun nd4jDataType(): DataType { + when(this.dataType) { + Onnx.TensorProto.DataType.UINT64 -> return return DataType.INT64 + Onnx.TensorProto.DataType.UINT32 -> return return DataType.INT32 + Onnx.TensorProto.DataType.UINT16 -> return return DataType.INT16 + Onnx.TensorProto.DataType.FLOAT16 -> return return DataType.FLOAT16 + Onnx.TensorProto.DataType.STRING -> return return DataType.UTF8 + Onnx.TensorProto.DataType.FLOAT -> return return DataType.FLOAT + Onnx.TensorProto.DataType.DOUBLE -> return return DataType.DOUBLE + Onnx.TensorProto.DataType.BOOL -> return return DataType.BOOL + Onnx.TensorProto.DataType.INT64 -> return return DataType.INT64 + Onnx.TensorProto.DataType.INT32 -> return return DataType.INT32 + Onnx.TensorProto.DataType.INT16 -> return return DataType.INT16 + + } + + return return DataType.UNKNOWN + + } + + override fun nameSpaceDataType(): TensorNamespace.DataType { + when(this.dataType) { + Onnx.TensorProto.DataType.UINT64 -> return return TensorNamespace.DataType.INT64 + Onnx.TensorProto.DataType.UINT32 -> return return TensorNamespace.DataType.INT32 + Onnx.TensorProto.DataType.UINT16 -> return return TensorNamespace.DataType.INT16 + Onnx.TensorProto.DataType.FLOAT16 -> return return TensorNamespace.DataType.FLOAT16 + Onnx.TensorProto.DataType.STRING -> return return TensorNamespace.DataType.STRING + Onnx.TensorProto.DataType.FLOAT -> return TensorNamespace.DataType.FLOAT + Onnx.TensorProto.DataType.DOUBLE -> return TensorNamespace.DataType.DOUBLE + Onnx.TensorProto.DataType.BOOL -> return return TensorNamespace.DataType.BOOL + Onnx.TensorProto.DataType.INT64 -> return return TensorNamespace.DataType.INT64 + Onnx.TensorProto.DataType.INT32 -> return return TensorNamespace.DataType.INT32 + Onnx.TensorProto.DataType.INT16 -> return return TensorNamespace.DataType.INT16 + + } + + return TensorNamespace.DataType.UNDEFINED + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/ir/OnnxIRGraph.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/ir/OnnxIRGraph.kt new file mode 100644 index 000000000..36586a592 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/ir/OnnxIRGraph.kt @@ -0,0 +1,299 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.ir + +import onnx.Onnx +import org.apache.commons.lang3.StringUtils +import org.nd4j.ir.OpNamespace +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.ir.IRDataType +import org.nd4j.samediff.frameworkimport.ir.IRGraph +import org.nd4j.samediff.frameworkimport.ir.IRNode +import org.nd4j.samediff.frameworkimport.ir.importInfoForEachNodeInGraph +import org.nd4j.samediff.frameworkimport.onnx.* +import org.nd4j.samediff.frameworkimport.onnx.context.OnnxMappingContext +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.registry.OpMappingRegistry +import java.lang.IllegalArgumentException +import java.lang.IllegalStateException + +class OnnxIRGraph(graphDef: Onnx.GraphProto,opMappingRegistry: OpMappingRegistry): IRGraph< + Onnx.GraphProto, Onnx.NodeProto, + Onnx.NodeProto, Onnx.TensorProto, Onnx.AttributeProto, Onnx.AttributeProto, + Onnx.TensorProto.DataType> { + + var graphDef = graphDef + val opList = graphDef.nodeList + val opMappingRegistry = opMappingRegistry + var cachedNodeList: List> + var inputList = ArrayList() + var outputList = ArrayList() + var variableList = ArrayList() + override fun nodeByName(input: String): Onnx.NodeProto { + return cachedNodeList.first { inputNode -> inputNode.nodeName() == input }.internalValue() + } + + init { + //sometimes onnx nodes will have empty names, ensure that each node has a deterministically generated name + val indexToNode = HashMap() + val graphDefBuilder = graphDef.toBuilder() + val opTypes = HashMap() + graphDef.nodeList.forEachIndexed { index,node -> + if(node.name.isEmpty()) { + val newNodeBuilder = node.toBuilder() + if(node.outputCount > 1) { + println("Found node with no name and > 1 input. Node was $node. Using first output as name.") + } + val newName = node.getOutput(0) + newNodeBuilder.name = newName + val newNode = newNodeBuilder.build() + indexToNode[index] = newNode + } + } + + if(indexToNode.isNotEmpty()) { + indexToNode.forEach { (index, node) -> + graphDefBuilder.setNode(index,node) + } + + this.graphDef = graphDefBuilder.build() + } + + this.graphDef.nodeList.forEach { node -> + opTypes[node.name] = node.opType + } + + val initializers = this.graphDef.initializerList.map { input -> input.name } + println(initializers) + cachedNodeList = nodeList() + val inputList = this.graphDef.inputList.filter { input -> !opTypes.containsKey(input.name) && !initializers.contains(input.name)}.map { input -> input.name } + val varList = this.graphDef.inputList.filter { input -> initializers.contains(input.name) }.map { input -> input.name } + println("Inputs $inputList") + println("Variables $varList") + this.inputList.addAll(inputList) + this.variableList.addAll(inputList) + outputList.addAll(this.graphDef.outputList.map { input -> input.name }) + } + + + override fun nodeList(): List> { + val ret2 = + ArrayList>() + //add all inputs, outputs, initializers together as "nodes" similar to TF + + val identityOp = OpDescriptorLoaderHolder.listForFramework("onnx")["Constant"]!! + //for model import purposes, add identity ops as dummies similar to how tensorflow does placeholders/constants + graphDef.inputList.forEach { input -> + //note: this is not a real op name in onnx, this is purely for flagging for import to grab the node from the initializer + //add dummy values for placeholders + val nodeToAdd = NodeProto { + opType = "Constant" + name = input.name + Attribute( + Onnx.AttributeProto.newBuilder().setName("value").addTensors(Onnx.TensorProto.getDefaultInstance()) + .build() + ) + } + + ret2.add(OnnxIRNode(nodeToAdd, identityOp,opMappingRegistry)) + } + + graphDef.nodeList.forEach { + + val opDefOrNull = OpDescriptorLoaderHolder.listForFramework("onnx")[it.opType]!! + if(opDefOrNull == null) { + throw IllegalArgumentException("Op def name ${it.opType} not found!") + } + + ret2.add(OnnxIRNode(it, opDefOrNull!!,opMappingRegistry)) + } + + //create dummy nodes by inferring which nodes have outputs + //setup identity nodes that reflect the output to automatically + //map index outputs to nodes that actually have outputs + val outputNames = graphDef.outputList.map { input -> input.name }.toSet() + val outputNodes = ArrayList() + graphDef.nodeList.forEach { nodeProto -> + val outputList = nodeProto.outputList.map { input -> input.toString() }.toSet() + val containsAny = outputNames.intersect(outputList) + if(containsAny.isNotEmpty()) { + outputNodes.add(nodeProto) + } + } + + outputNodes.forEach { nodeProto -> + nodeProto.outputList.forEachIndexed { index, outputName -> + val indexOfOutput = if(index < 1) "" else ":$index" + if(!ret2.map { node -> node.nodeName() }.contains(outputName)) { + val nodeToAdd = NodeProto { + opType = "Identity" + name = outputName + Input("${nodeProto.name}$indexOfOutput") + } + + ret2.add(OnnxIRNode(nodeToAdd, identityOp,opMappingRegistry)) + } + } + + } + + + + graphDef.initializerList.forEach { initializer -> + //note: this is not a real op name in onnx, this is purely for flagging for import to grab the node from the initializer + val nodeToAdd = NodeProto { + opType = "Constant" + name = initializer.name + Attribute( + Onnx.AttributeProto.newBuilder().setName("value").addTensors(Onnx.TensorProto.getDefaultInstance()) + .build() + ) + } + + ret2.add(OnnxIRNode(nodeToAdd, identityOp,opMappingRegistry)) + } + + return ret2 + } + + + fun graphDef(): Onnx.GraphProto { + return graphDef + } + + override fun internalValue(): Onnx.GraphProto { + return graphDef + } + + + + override fun createMappingContext( + opDef: Onnx.NodeProto, + node: Onnx.NodeProto, + dynamicVariables: MutableMap + ): MappingContext { + return OnnxMappingContext(opDef = opDef, node = node, graph = this, dynamicVariables = dynamicVariables) + } + + override fun frameworkName(): String { + return "onnx" + } + + override fun nd4jNameForInternalOpName(name: String): String { + return opMappingRegistry.lookupOpMappingProcess(name).opName() + } + + override fun isConstantOpName(name: String): Boolean { + return name == "Constant" || name == "Placeholder" + } + + override fun isConstant(opName: String): Boolean { + return opName == "Constant" + } + + override fun isPlaceHolder(opName: String): Boolean { + return opName == "Constant" + } + + override fun shapeOfInput(varName: String): LongArray? { + val firstOrNull = graphDef.initializerList.firstOrNull { inputNode -> inputNode.name == varName } + if(firstOrNull != null) + return firstOrNull.dimsList.toLongArray() + return null + } + + override fun dataTypeForVariable(varName: String): IRDataType { + val firstOrNull = graphDef.initializerList.firstOrNull { + inputNode -> inputNode.name == varName } + val input = graphDef.inputList.firstOrNull { input2 -> + input2.name == varName + } + if(firstOrNull != null) + return OnnxIRDataType(Onnx.TensorProto.DataType.values()[firstOrNull!!.dataType.ordinal]) + else if(input != null) + return OnnxIRDataType(input.type.tensorType.elemType) + else + return OnnxIRDataType(Onnx.TensorProto.DataType.UNDEFINED) + } + + override fun importInfoForEachNode(dynamicVariables: MutableMap): Map, OpNamespace.OpDescriptor>> { + return importInfoForEachNodeInGraph(graph = this,dynamicVariables = dynamicVariables) + } + + override fun nodeIsPlaceHolder(nodeName: String): Boolean { + return this.inputList.contains(nodeName) + } + + override fun opMappingRegistry(): OpMappingRegistry { + return opMappingRegistry + } + + override fun addConstantNode(name: String, value: INDArray) { + val graphBuilder = graphDef.toBuilder() + val converted = convertToOnnxTensor(value,name) + graphBuilder.addInitializer(converted) + this.graphDef = graphBuilder.build() + } + + override fun updateNode(node: IRNode) { + val nodeByName = nodeByName(node.nodeName()) + val graphBuilder = graphDef.toBuilder() + val indexOfNode = graphBuilder.nodeList.indexOf(nodeByName) + graphBuilder.setNode(indexOfNode,node.internalValue()) + this.graphDef = graphBuilder.build() + } + + override fun graphOutputs(): List { + return outputList + } + + override fun outputAt(index: Int): String { + return outputList[index] + } + + override fun setOutputs(outputs: List) { + this.outputList = outputList as ArrayList + } + + override fun graphInputs(): List { + return inputList + } + + override fun inputAt(index: Int): String { + return inputList[index] + } + + override fun setInputs(inputs: List) { + this.inputList = inputs as ArrayList + } + + override fun isVariable(nodeName: String): Boolean { + return variableList.contains(nodeName) + } + + override fun isVariableOpName(name: String): Boolean { + return name != "Constant" + } + + override fun getConstantArrayForName(name: String): INDArray { + return OnnxIRTensor(graphDef.initializerList.first { input -> input.name == name }).toNd4jNDArray() + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/ir/OnnxIRGraphRunner.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/ir/OnnxIRGraphRunner.kt new file mode 100644 index 000000000..90545acb7 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/ir/OnnxIRGraphRunner.kt @@ -0,0 +1,80 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.ir + +import onnx.Onnx +import org.apache.commons.io.FileUtils +import org.nd4j.samediff.frameworkimport.onnx.ModelProto +import org.nd4j.samediff.frameworkimport.onnx.OpSetImport +import org.nd4j.samediff.frameworkimport.onnx.OperatorSetIdProto +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.onnxruntime.runner.OnnxRuntimeRunner +import org.nd4j.samediff.frameworkimport.ir.IRGraph +import org.nd4j.samediff.frameworkimport.onnx.ValueInfoProto +import org.nd4j.samediff.frameworkimport.runner.IRGraphRunner +import java.io.File +import java.util.* + +class OnnxIRGraphRunner(graphDef: OnnxIRGraph, inputNames: List, outputNames: List): IRGraphRunner< + Onnx.GraphProto, + Onnx.NodeProto, + Onnx.NodeProto, + Onnx.TensorProto, Onnx.AttributeProto, Onnx.AttributeProto, Onnx.TensorProto.DataType> { + val graphDef = graphDef + val inputNames = inputNames + val outputNames = outputNames + val graphRunner: OnnxRuntimeRunner + + init { + val uuid = UUID.randomUUID().toString() + val tempFile = File("tempFile-$uuid.proto") + val graphDefBuilder = graphDef.graphDef.toBuilder() + //onnx runtime doesn't allow any outputs that aren't defined + //already in the model, we need to dynamically modify the model at runtime + //to allow things like intermediate results + outputNames.forEach { + graphDefBuilder.addOutput(ValueInfoProto { + name = it + }) + } + + val modelProto = ModelProto { + OpSetImport(OperatorSetIdProto { + version = 12 + }) + + irVersion = 7 + graph = graphDefBuilder.build() + } + + FileUtils.writeByteArrayToFile(tempFile, modelProto.toByteArray()) + graphRunner = OnnxRuntimeRunner.builder() + .modelUri(tempFile.absolutePath) + .build() + tempFile.deleteOnExit() + } + + override fun graph(): IRGraph { + return graphDef + } + + override fun run(inputs: Map): Map { + return graphRunner.exec(inputs) + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/ir/OnnxIRNode.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/ir/OnnxIRNode.kt new file mode 100644 index 000000000..83fae9b83 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/ir/OnnxIRNode.kt @@ -0,0 +1,157 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.ir + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.ir.IRNode +import org.nd4j.samediff.frameworkimport.ir.IRTensor +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.samediff.frameworkimport.onnx.attrDefaultValue +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.registry.OpMappingRegistry +import java.util.HashMap + +class OnnxIRNode(inputNode: Onnx.NodeProto, inputOpDef: Onnx.NodeProto,opMappingRegistry: OpMappingRegistry +): + IRNode { + + private var nodeDef = inputNode + private val opDef = inputOpDef + private val attrDefsMap = attrDefsByName(inputOpDef.attributeList) + private val attrMap: Map> = + initAttrMapFromNode(inputNode) + private val mappingProcess: MappingProcess + private val opMappingRegistry = opMappingRegistry + init { + mappingProcess = opMappingRegistry.lookupOpMappingProcess(inputNode.opType) + } + + private fun attrDefsByName(input: List): Map { + val ret = HashMap() + input.forEach { + ret[it.name] = it + } + return ret + } + + private fun initAttrMapFromNode(input: Onnx.NodeProto): Map> { + val ret = + HashMap>() + input.attributeList.forEach { + ret[it.name] = OnnxIRAttr(it, it) + + } + return ret + } + + override fun opName(): String { + return nodeDef.opType + } + + override fun nodeName(): String { + return nodeDef.name + } + + override fun inputAt(index: Int): String { + if(mappingProcess.indexOverrides().containsKey(index)) + return nodeDef.getInput(mappingProcess.indexOverrides()[index]!!) + return nodeDef.getInput(index) + } + + override fun outputAt(index: Int): String { + return opDef.getOutput(index) + } + + + + override fun hasAttribute(inputName: String): Boolean { + return nodeDef.attributeList.filter { it.name == inputName }.size > 0 + } + + override fun attributeMap(): Map> { + return attrMap + } + + override fun createInputsFrom(inputData: List): List> { + return inputData.map { OnnxIRTensor(it) } + } + + override fun createOutputsFrom(inputValues: List): List> { + return inputValues.map { OnnxIRTensor(it) } + } + + override fun getAttribute(inputName: String): IRAttribute { + return attrMap.getOrDefault(inputName, attrDefaultValue()) + } + + override fun internalValue(): Onnx.NodeProto { + return nodeDef + } + + override fun numInputs(): Int { + return nodeDef.inputCount + } + + override fun numOutputs(): Int { + return nodeDef.outputCount + } + + override fun inputs(): List { + return nodeDef.inputList + } + + override fun outputs(): List { + return nodeDef.outputList + } + + override fun numInputsForListOfTensors(name: String): Int { + return nodeDef.inputCount + } + + override fun inputNamesForListOfInputValues(inputListName: String): List { + return nodeDef.inputList + } + + override fun computeAdjustedOffsetForInput( + nd4jName: String, + inputFrameworkName: String, + tensorInputMappings: Map + ): Int { + //onnx doesn't have lists of values like this + return lookupIndexForArgDescriptor( + argDescriptorName = nd4jName, + opDescriptorName = this.opName(), + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + ) + } + + override fun nd4jInputs(tensorMappings: Map): List { + return nodeDef.inputList + } + + override fun addInput(inputName: String) { + val nodeBuilder = nodeDef.toBuilder() + nodeBuilder.addInput(inputName) + this.nodeDef = nodeBuilder.build() + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/ir/OnnxIROp.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/ir/OnnxIROp.kt new file mode 100644 index 000000000..03cbfb598 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/ir/OnnxIROp.kt @@ -0,0 +1,56 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.ir + +import onnx.Onnx +import org.nd4j.samediff.frameworkimport.ir.IRArgDef +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.ir.IROpDef + +class OnnxIROp(input: Onnx.NodeProto): + IROpDef { + + val opDef = input + + override fun attributes(): List> { + return opDef.attributeList.map { + OnnxIRAttr(it, Onnx.AttributeProto.getDefaultInstance()) + } + } + + override fun opName(): String { + return opDef.name + } + + override fun internalValue(): Onnx.NodeProto { + return opDef + } + + override fun inputArgs(): List> { + return opDef.inputList.map { + OnnxIRArgDef(opDef) + } + } + + override fun outputArgs(): List> { + return opDef.outputList.map { + OnnxIRArgDef(opDef) + } + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/ir/OnnxIRTensor.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/ir/OnnxIRTensor.kt new file mode 100644 index 000000000..9d475f994 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/ir/OnnxIRTensor.kt @@ -0,0 +1,114 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.ir + +import onnx.Onnx +import org.nd4j.ir.TensorNamespace +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.linalg.factory.Nd4j +import org.nd4j.samediff.frameworkimport.ir.IRDataType +import org.nd4j.samediff.frameworkimport.ir.IRTensor +import org.nd4j.samediff.frameworkimport.ndarrayFromNameSpaceTensor + +class OnnxIRTensor(input: Onnx.TensorProto): IRTensor { + + val tensor = input + + + override fun shape(): List { + return tensor.dimsList + } + + override fun stride(): List { + return Nd4j.getStrides(shape().toTypedArray().toLongArray(), 'c').asList() + } + + override fun dataType(): IRDataType { + return OnnxIRDataType(Onnx.TensorProto.DataType.values()[tensor.dataType.ordinal]) + } + + override fun toArgTensor(): TensorNamespace.TensorProto { + val builder = TensorNamespace.TensorProto.newBuilder() + .setDataLocation(TensorNamespace.TensorProto.DataLocation.DEFAULT) + + for(i in 0 until tensor.dimsCount) { + builder.addDims(tensor.getDims(i)) + } + + when(tensor.dataType) { + Onnx.TensorProto.DataType.UINT64 -> builder.dataType = TensorNamespace.DataType.UINT64.ordinal + Onnx.TensorProto.DataType.UINT32 -> builder.dataType = TensorNamespace.DataType.UINT32.ordinal + Onnx.TensorProto.DataType.UINT16 -> builder.dataType = TensorNamespace.DataType.UINT16.ordinal + Onnx.TensorProto.DataType.FLOAT16 -> builder.dataType = TensorNamespace.DataType.FLOAT16.ordinal + Onnx.TensorProto.DataType.STRING -> builder.dataType = TensorNamespace.DataType.STRING.ordinal + Onnx.TensorProto.DataType.FLOAT -> builder.dataType = TensorNamespace.DataType.FLOAT.ordinal + Onnx.TensorProto.DataType.DOUBLE -> builder.dataType = TensorNamespace.DataType.DOUBLE.ordinal + Onnx.TensorProto.DataType.BOOL -> builder.dataType = TensorNamespace.DataType.BOOL.ordinal + Onnx.TensorProto.DataType.INT64 -> builder.dataType = TensorNamespace.DataType.INT64.ordinal + Onnx.TensorProto.DataType.INT32 -> builder.dataType = TensorNamespace.DataType.INT32.ordinal + Onnx.TensorProto.DataType.INT16 -> builder.dataType = TensorNamespace.DataType.INT16.ordinal + Onnx.TensorProto.DataType.COMPLEX64 -> builder.dataType = TensorNamespace.DataType.COMPLEX64.ordinal + Onnx.TensorProto.DataType.COMPLEX128 -> builder.dataType = TensorNamespace.DataType.COMPLEX128.ordinal + Onnx.TensorProto.DataType.UNDEFINED, Onnx.TensorProto.DataType.UNRECOGNIZED -> TensorNamespace.DataType.UNRECOGNIZED.ordinal + + } + + + if(tensor.doubleDataList != null && tensor.doubleDataCount > 0) { + builder.addAllDoubleData(tensor.doubleDataList) + } + + if(tensor.stringDataList != null && tensor.stringDataCount > 0) { + builder.addAllStringData(tensor.stringDataList) + } + + if(tensor.floatDataList != null && tensor.floatDataCount > 0) { + builder.addAllFloatData(tensor.floatDataList) + } + + if(tensor.int32DataList != null && tensor.int32DataCount > 0) { + builder.addAllInt32Data(tensor.int32DataList) + } + + if(tensor.int64DataCount != null && tensor.int64DataCount > 0) { + builder.addAllInt64Data(tensor.int64DataList) + } + + if(tensor.uint64DataList != null && tensor.uint64DataCount > 0) { + builder.addAllInt64Data(tensor.uint64DataList) + } + + if(tensor.rawData != null) { + builder.rawData = tensor.rawData + } + + builder.dataType = tensor.dataType.ordinal + + return builder.build() + } + + override fun rawValue(): Onnx.TensorProto { + return tensor + } + + override fun toNd4jNDArray(): INDArray { + return ndarrayFromNameSpaceTensor(toArgTensor()) + } + + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/opdefs/OnnxOpDescriptorLoader.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/opdefs/OnnxOpDescriptorLoader.kt new file mode 100644 index 000000000..363adde14 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/opdefs/OnnxOpDescriptorLoader.kt @@ -0,0 +1,106 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.opdefs + +import onnx.Onnx +import org.apache.commons.io.IOUtils +import org.nd4j.common.io.ClassPathResource +import org.nd4j.ir.MapperNamespace +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.onnx.process.OnnxMappingProcessLoader +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoader +import org.nd4j.samediff.frameworkimport.opdefs.nd4jFileNameTextDefault +import org.nd4j.samediff.frameworkimport.opdefs.nd4jFileSpecifierProperty +import org.nd4j.samediff.frameworkimport.registry.OpMappingRegistry +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum +import org.nd4j.shade.protobuf.TextFormat +import java.nio.charset.Charset + +class OnnxOpDescriptorLoader: OpDescriptorLoader { + + + val onnxFileNameTextDefault = "onnx-op-defs.pb" + val onnxFileSpecifierProperty = "samediff.import.onnxdescriptors" + + + val onnxMappingRulSetDefaultFile = "onnx-mapping-ruleset.pbtxt" + val onnxRulesetSpecifierProperty = "samediff.import.onnxmappingrules" + val nd4jOpDescriptors = nd4jOpList() + var mapperDefSet: MapperNamespace.MappingDefinitionSet? = mappingProcessDefinitionSet() + var cachedOpDefs: Map? = inputFrameworkOpDescriptorList() + + + override fun frameworkName(): String { + return "onnx" + } + + + override fun nd4jOpList(): OpNamespace.OpDescriptorList { + val fileName = System.getProperty(nd4jFileSpecifierProperty, nd4jFileNameTextDefault) + val nd4jOpDescriptorResourceStream = ClassPathResource(fileName).inputStream + val resourceString = IOUtils.toString(nd4jOpDescriptorResourceStream, Charset.defaultCharset()) + val descriptorListBuilder = OpNamespace.OpDescriptorList.newBuilder() + TextFormat.merge(resourceString,descriptorListBuilder) + val ret = descriptorListBuilder.build() + val mutableList = ArrayList(ret.opListList) + mutableList.sortBy { it.name } + + val newResultBuilder = OpNamespace.OpDescriptorList.newBuilder() + newResultBuilder.addAllOpList(mutableList) + return newResultBuilder.build() + } + + override fun inputFrameworkOpDescriptorList(): Map { + if(cachedOpDefs != null) + return cachedOpDefs!! + val fileName = System.getProperty(onnxFileSpecifierProperty, onnxFileNameTextDefault) + val stream = ClassPathResource(fileName).inputStream + val ret = HashMap() + val graphProto = Onnx.GraphProto.parseFrom(stream) + + graphProto.nodeList.forEach { opDef -> + ret[opDef.name] = opDef + } + + cachedOpDefs = ret + return ret + } + + override fun mappingProcessDefinitionSet(): MapperNamespace.MappingDefinitionSet { + if(mapperDefSet != null) + return mapperDefSet!! + val fileName = System.getProperty(onnxRulesetSpecifierProperty, onnxMappingRulSetDefaultFile) + val string = IOUtils.toString(ClassPathResource(fileName).inputStream, Charset.defaultCharset()) + val declarationBuilder = MapperNamespace.MappingDefinitionSet.newBuilder() + TextFormat.merge(string,declarationBuilder) + val ret = declarationBuilder.build() + this.mapperDefSet = ret + return ret + } + + override fun createOpMappingRegistry(): OpMappingRegistry { + val onnxMappingRegistry = OpMappingRegistry("onnx",nd4jOpDescriptors) + val loader = OnnxMappingProcessLoader(onnxMappingRegistry) + val mappingProcessDefs = mappingProcessDefinitionSet() + onnxMappingRegistry.loadFromDefinitions(mappingProcessDefs,loader) + return onnxMappingRegistry as OpMappingRegistry + } + + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/process/OnnxMappingProcess.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/process/OnnxMappingProcess.kt new file mode 100644 index 000000000..1784c6a08 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/process/OnnxMappingProcess.kt @@ -0,0 +1,66 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.process + +import onnx.Onnx + +import org.nd4j.samediff.frameworkimport.onnx.attributeValueTypeForOnnxAttribute +import org.nd4j.samediff.frameworkimport.process.AbstractMappingProcess +import org.nd4j.samediff.frameworkimport.registry.OpMappingRegistry +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeMappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.tensor.TensorMappingRule + +open class OnnxMappingProcess(inputFramework: String = "onnx", + frameworkVersion: String = "1.4", + inputFrameworkOpName: String, + opName: String, + opMappingRegistry: OpMappingRegistry, + tensorMappingRules: List> = emptyList(), + inputIndexOverrides: Map = emptyMap(), + attributeMappingRules: List> = emptyList()) + : AbstractMappingProcess( + inputFramework, + frameworkVersion, + inputFrameworkOpName, + inputIndexOverrides, + opName, + opMappingRegistry, + tensorMappingRules, + attributeMappingRules) { + override fun inputOpDefValueTypes(): Map { + val opDef = opMappingRegistry.lookupInputFrameworkOpDef(inputFrameworkOpName) + val ret = HashMap() + opDef.attributeList.forEach { attributeProto -> + ret[attributeProto.name] = attributeValueTypeForOnnxAttribute(attributeProto) + } + + return ret + } + +} + diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/process/OnnxMappingProcessLoader.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/process/OnnxMappingProcessLoader.kt new file mode 100644 index 000000000..b5edac78f --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/process/OnnxMappingProcessLoader.kt @@ -0,0 +1,58 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.process + +import onnx.Onnx +import org.nd4j.ir.MapperNamespace +import org.nd4j.samediff.frameworkimport.process.AbstractMappingProcessLoader +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.registry.OpMappingRegistry +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeMappingRule +import org.nd4j.samediff.frameworkimport.rule.tensor.TensorMappingRule + +class OnnxMappingProcessLoader(opMappingRegistry: + OpMappingRegistry): AbstractMappingProcessLoader(opMappingRegistry) { + + + override fun frameworkName(): String { + return "onnx" + } + + override fun instantiateMappingProcess( + inputFrameworkOpName: String, + opName: String, + attributeMappingRules: List>, + tensorMappingRules: List>, + opMappingRegistry: OpMappingRegistry, + indexOverrides: Map + ): MappingProcess { + return OnnxMappingProcess( + inputFrameworkOpName = inputFrameworkOpName, + opName = opName, + attributeMappingRules = attributeMappingRules, + tensorMappingRules = tensorMappingRules, + opMappingRegistry = opMappingRegistry, + inputIndexOverrides = indexOverrides + ) + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxArgDescriptorConstant.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxArgDescriptorConstant.kt new file mode 100644 index 000000000..79c9441c4 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxArgDescriptorConstant.kt @@ -0,0 +1,81 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.attribute + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.isOnnxAttributeName +import org.nd4j.samediff.frameworkimport.onnx.isOnnxTensorName +import org.nd4j.samediff.frameworkimport.onnx.onnxAttributeTypeFor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.ArgDescriptorConstant +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.tensorflow.framework.OpDef + +@MappingRule("onnx","argdescriptorconstant","attribute") +class OnnxArgDescriptorConstant(mappingNamesToPerform: Map, transformerArgs: Map>) : ArgDescriptorConstant(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(inputAttributeValue = attributeValueType, inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + return isOnnxTensorName(name, onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxAttributeName(name, onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return onnxAttributeTypeFor(name, onnxOp) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxAttributeNDArrayToScalarAttribute.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxAttributeNDArrayToScalarAttribute.kt new file mode 100644 index 000000000..0b226c26f --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxAttributeNDArrayToScalarAttribute.kt @@ -0,0 +1,81 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.attribute + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.isOnnxAttributeName +import org.nd4j.samediff.frameworkimport.onnx.isOnnxTensorName +import org.nd4j.samediff.frameworkimport.onnx.onnxAttributeTypeFor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeNDArrayToScalarAttribute +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.rule.MappingRule + +@MappingRule("onnx","attributendarraytoscalarattribute","attribute") +class OnnxAttributeNDArrayToScalarAttribute(mappingNamesToPerform: Map, transformerArgs: Map>) : AttributeNDArrayToScalarAttribute(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(inputAttributeValue = attributeValueType, inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxTensorName(name, onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxAttributeName(name, onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return onnxAttributeTypeFor(name, onnxOp) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxAttributeNumberListNDArray.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxAttributeNumberListNDArray.kt new file mode 100644 index 000000000..9ea44dd72 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxAttributeNumberListNDArray.kt @@ -0,0 +1,84 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.attribute + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.isOnnxAttributeName +import org.nd4j.samediff.frameworkimport.onnx.isOnnxTensorName +import org.nd4j.samediff.frameworkimport.onnx.onnxAttributeTypeFor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeNumberListNDArray +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.rule.MappingRule + +@MappingRule("onnx","convertinputnumberlisttondarray","attribute") +class OnnxAttributeNumberListNDArray(mappingNamesToPerform: Map, transformerArgs: Map>) : + AttributeNumberListNDArray(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(inputAttributeValue = attributeValueType, inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxTensorName(name, onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxAttributeName(name, onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return onnxAttributeTypeFor(name, onnxOp) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxAttributeScalarNDArrayAttribute.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxAttributeScalarNDArrayAttribute.kt new file mode 100644 index 000000000..6fe638895 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxAttributeScalarNDArrayAttribute.kt @@ -0,0 +1,82 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.attribute + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.isOnnxAttributeName +import org.nd4j.samediff.frameworkimport.onnx.isOnnxTensorName +import org.nd4j.samediff.frameworkimport.onnx.onnxAttributeTypeFor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeScalarNDArrayAttribute +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.rule.MappingRule + +@MappingRule("onnx","attributescalarndarrayattribute","attribute") +class OnnxAttributeScalarNDArrayAttribute(mappingNamesToPerform: Map, transformerArgs: Map>) : AttributeScalarNDArrayAttribute(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(inputAttributeValue = attributeValueType, inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxTensorName(name, onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxAttributeName(name, onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return onnxAttributeTypeFor(name, onnxOp) + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxConditionalFieldValueIntIndexArrayRule.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxConditionalFieldValueIntIndexArrayRule.kt new file mode 100644 index 000000000..e3313a28c --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxConditionalFieldValueIntIndexArrayRule.kt @@ -0,0 +1,80 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.attribute + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.* +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.isOnnxAttributeName +import org.nd4j.samediff.frameworkimport.onnx.isOnnxTensorName +import org.nd4j.samediff.frameworkimport.onnx.onnxAttributeTypeFor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.ConditionalFieldValueIntIndexArrayRule + +@MappingRule("onnx","conditionalfieldvalueintindex","attribute") +class OnnxConditionalFieldValueIntIndexArrayRule + (mappingNamesToPerform: MutableMap, transformerArgs: Map>) : + ConditionalFieldValueIntIndexArrayRule + (mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxTensorName(name, onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxAttributeName(name, onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return onnxAttributeTypeFor(name, onnxOp) + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxConditionalFieldValueIntIndexNDArrayRule.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxConditionalFieldValueIntIndexNDArrayRule.kt new file mode 100644 index 000000000..f81995496 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxConditionalFieldValueIntIndexNDArrayRule.kt @@ -0,0 +1,80 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.attribute + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.* +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.isOnnxAttributeName +import org.nd4j.samediff.frameworkimport.onnx.isOnnxTensorName +import org.nd4j.samediff.frameworkimport.onnx.onnxAttributeTypeFor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.ConditionalFieldValueIntIndexNDArrayRule + +@MappingRule("onnx","conditionalfieldvalueintindexndarray","attribute") +class OnnxConditionalFieldValueIntIndexNDArrayRule + (mappingNamesToPerform: MutableMap, transformerArgs: Map>) : + ConditionalFieldValueIntIndexNDArrayRule + (mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxTensorName(name, onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxAttributeName(name, onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return onnxAttributeTypeFor(name, onnxOp) + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxDataTypeToInt.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxDataTypeToInt.kt new file mode 100644 index 000000000..c0326f113 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxDataTypeToInt.kt @@ -0,0 +1,77 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.attribute + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.* +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.isOnnxAttributeName +import org.nd4j.samediff.frameworkimport.onnx.isOnnxTensorName +import org.nd4j.samediff.frameworkimport.onnx.onnxAttributeTypeFor + +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.DataTypeToInt + +@MappingRule("onnx","datatypetoint","attribute") +class OnnxDataTypeToInt(mappingNamesToPerform: Map, transformerArgs: Map>) : DataTypeToInt(mappingNamesToPerform, transformerArgs) { + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxTensorName(name, onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxAttributeName(name, onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return onnxAttributeTypeFor(name, onnxOp) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxFlattenDims.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxFlattenDims.kt new file mode 100644 index 000000000..36750ce9c --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxFlattenDims.kt @@ -0,0 +1,82 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.attribute + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.isOnnxAttributeName +import org.nd4j.samediff.frameworkimport.onnx.isOnnxTensorName +import org.nd4j.samediff.frameworkimport.onnx.onnxAttributeTypeFor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.ArgDescriptorConstant +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.FlattenDims +import org.tensorflow.framework.OpDef + +@MappingRule("onnx","flattendims","attribute") +class OnnxFlattenDims(mappingNamesToPerform: Map, transformerArgs: Map>) : FlattenDims(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(inputAttributeValue = attributeValueType, inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + return isOnnxTensorName(name, onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxAttributeName(name, onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return onnxAttributeTypeFor(name, onnxOp) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxInvertBooleanNumber.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxInvertBooleanNumber.kt new file mode 100644 index 000000000..1207be229 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxInvertBooleanNumber.kt @@ -0,0 +1,81 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.attribute + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.isOnnxAttributeName +import org.nd4j.samediff.frameworkimport.onnx.isOnnxTensorName +import org.nd4j.samediff.frameworkimport.onnx.onnxAttributeTypeFor +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.InvertBooleanNumber + +@MappingRule("onnx","invertbooleannumber","attribute") +class OnnxInvertBooleanNumber(mappingNamesToPerform: Map, transformerArgs: Map>) : InvertBooleanNumber(mappingNamesToPerform, transformerArgs) { + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxTensorName(name, onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxAttributeName(name, onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return onnxAttributeTypeFor(name, onnxOp) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxListAttributeValueLookupToIndex.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxListAttributeValueLookupToIndex.kt new file mode 100644 index 000000000..c715bebf1 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxListAttributeValueLookupToIndex.kt @@ -0,0 +1,82 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.attribute + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.isOnnxAttributeName +import org.nd4j.samediff.frameworkimport.onnx.isOnnxTensorName +import org.nd4j.samediff.frameworkimport.onnx.onnxAttributeTypeFor +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.ListAttributeValueLookupToIndex + +@MappingRule("onnx","listattributevaluelookuptoindex","attribute") +class OnnxListAttributeValueLookupToIndex(mappingNamesToPerform: Map, transformerArgs: Map>) : ListAttributeValueLookupToIndex(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(inputAttributeValue = attributeValueType, inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxTensorName(name, onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxAttributeName(name, onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return onnxAttributeTypeFor(name, onnxOp) + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxListNumberToListNumber.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxListNumberToListNumber.kt new file mode 100644 index 000000000..29de8ff14 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxListNumberToListNumber.kt @@ -0,0 +1,84 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.attribute + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.isOnnxAttributeName +import org.nd4j.samediff.frameworkimport.onnx.isOnnxTensorName +import org.nd4j.samediff.frameworkimport.onnx.onnxAttributeTypeFor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.ListNumberToListNumber + +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.rule.MappingRule + +@MappingRule("onnx","listnumbertolistnumber","attribute") +class OnnxListNumberToListNumber(mappingNamesToPerform: Map, transformerArgs: Map>) : ListNumberToListNumber(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(inputAttributeValue = attributeValueType, inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxTensorName(name, onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxAttributeName(name, onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return onnxAttributeTypeFor(name, onnxOp) + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxListNumberToNDArray.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxListNumberToNDArray.kt new file mode 100644 index 000000000..18768ebc5 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxListNumberToNDArray.kt @@ -0,0 +1,77 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.attribute + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.* +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.isOnnxAttributeName +import org.nd4j.samediff.frameworkimport.onnx.isOnnxTensorName +import org.nd4j.samediff.frameworkimport.onnx.onnxAttributeTypeFor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.ListNumberToNDArray + +@MappingRule("onnx","listnumbertondarray","attribute") +class OnnxListNumberToNDArray(mappingNamesToPerform: Map, transformerArgs: Map>) : ListNumberToNDArray(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(inputAttributeValue = attributeValueType, inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxTensorName(name, onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxAttributeName(name, onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return onnxAttributeTypeFor(name, onnxOp) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxMapStringToInt.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxMapStringToInt.kt new file mode 100644 index 000000000..db722c2dd --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxMapStringToInt.kt @@ -0,0 +1,78 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.attribute + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.* +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.isOnnxAttributeName +import org.nd4j.samediff.frameworkimport.onnx.isOnnxTensorName +import org.nd4j.samediff.frameworkimport.onnx.onnxAttributeTypeFor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.MapStringToInt + +@MappingRule("onnx","mapstringtoindex","attribute") +class OnnxMapStringToInt(mappingNamesToPerform: Map, transformerArgs: Map>) : MapStringToInt(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(inputAttributeValue = attributeValueType, inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxTensorName(name, onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxAttributeName(name, onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return onnxAttributeTypeFor(name, onnxOp) + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxNDArrayAttributeToNDArrayInput.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxNDArrayAttributeToNDArrayInput.kt new file mode 100644 index 000000000..d60bb77c4 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxNDArrayAttributeToNDArrayInput.kt @@ -0,0 +1,76 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.attribute + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.* +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.isOnnxAttributeName +import org.nd4j.samediff.frameworkimport.onnx.isOnnxTensorName +import org.nd4j.samediff.frameworkimport.onnx.onnxAttributeTypeFor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.NDArrayAttributeToNDArrayInput + +@MappingRule("onnx","ndarrayinputtondarray","attribute") +class OnnxNDArrayAttributeToNDArrayInput(mappingNamesToPerform: Map, transformerArgs: Map>) : NDArrayAttributeToNDArrayInput(mappingNamesToPerform, transformerArgs) { + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxTensorName(name, onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxAttributeName(name, onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return onnxAttributeTypeFor(name, onnxOp) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxNDArrayExtractScalarValue.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxNDArrayExtractScalarValue.kt new file mode 100644 index 000000000..20768b9a6 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxNDArrayExtractScalarValue.kt @@ -0,0 +1,83 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.attribute + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.* +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.isOnnxAttributeName +import org.nd4j.samediff.frameworkimport.onnx.isOnnxTensorName +import org.nd4j.samediff.frameworkimport.onnx.onnxAttributeTypeFor + +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.NDArrayExtractScalarValue + +@MappingRule("onnx","ndarrayextractscalarvalue","attribute") +class OnnxNDArrayExtractScalarValue(mappingNamesToPerform: MutableMap, + transformerArgs: Map> = emptyMap()): + NDArrayExtractScalarValue(mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) { + + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxTensorName(name, onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxAttributeName(name, onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return onnxAttributeTypeFor(name, onnxOp) + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxNDArrayInputToNumericalAttribute.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxNDArrayInputToNumericalAttribute.kt new file mode 100644 index 000000000..3133736a7 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxNDArrayInputToNumericalAttribute.kt @@ -0,0 +1,79 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.attribute + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.* +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.isOnnxAttributeName +import org.nd4j.samediff.frameworkimport.onnx.isOnnxTensorName +import org.nd4j.samediff.frameworkimport.onnx.onnxAttributeTypeFor + + +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.NDArrayInputToNumericalAttribute + +@MappingRule("onnx","ndarrayinputtonumericalattribute","attribute") +class OnnxNDArrayInputToNumericalAttribute(mappingNamesToPerform: Map, transformerArgs: Map>) : NDArrayInputToNumericalAttribute(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(inputAttributeValue = attributeValueType, inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxTensorName(name, onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxAttributeName(name, onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return onnxAttributeTypeFor(name, onnxOp) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxNDArraySizeAt.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxNDArraySizeAt.kt new file mode 100644 index 000000000..7fb46d8b9 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxNDArraySizeAt.kt @@ -0,0 +1,80 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.attribute + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.* +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.isOnnxAttributeName +import org.nd4j.samediff.frameworkimport.onnx.isOnnxTensorName +import org.nd4j.samediff.frameworkimport.onnx.onnxAttributeTypeFor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.NDArraySizeAtRule + +@MappingRule("onnx","ndarraysizeat","attribute") +class OnnxNDArraySizeAt(mappingNamesToPerform: Map, transformerArgs: Map>): NDArraySizeAtRule(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): + IRAttribute { + return OnnxIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxTensorName(name, onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxAttributeName(name, onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return onnxAttributeTypeFor(name, onnxOp) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxNDArrayToIntAttributeValue.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxNDArrayToIntAttributeValue.kt new file mode 100644 index 000000000..9dbb42087 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxNDArrayToIntAttributeValue.kt @@ -0,0 +1,77 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.attribute + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.* +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.isOnnxAttributeName +import org.nd4j.samediff.frameworkimport.onnx.isOnnxTensorName +import org.nd4j.samediff.frameworkimport.onnx.onnxAttributeTypeFor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.NDArrayToIntAttributeValue + +@MappingRule("onnx","ndarraytointattributevalue","attribute") +class OnnxNDArrayToIntAttributeValue(mappingNamesToPerform: Map) : NDArrayToIntAttributeValue(mappingNamesToPerform = mappingNamesToPerform,transformerArgs = emptyMap()) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxTensorName(name, onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxAttributeName(name, onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return onnxAttributeTypeFor(name, onnxOp) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxSizeThresholdIntArrayIntIndexRule.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxSizeThresholdIntArrayIntIndexRule.kt new file mode 100644 index 000000000..966aed159 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxSizeThresholdIntArrayIntIndexRule.kt @@ -0,0 +1,79 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.attribute + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.* +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.isOnnxAttributeName +import org.nd4j.samediff.frameworkimport.onnx.isOnnxTensorName +import org.nd4j.samediff.frameworkimport.onnx.onnxAttributeTypeFor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.SizeThresholdIntArrayIntIndexRule + +@MappingRule("onnx","sizethresholdarrayint","attribute") +class OnnxSizeThresholdIntArrayIntIndexRule(mappingNamesToPerform: Map, + transformerArgs: Map>) : SizeThresholdIntArrayIntIndexRule(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxTensorName(name, onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxAttributeName(name, onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return onnxAttributeTypeFor(name, onnxOp) + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxStringAttributeToNDArray.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxStringAttributeToNDArray.kt new file mode 100644 index 000000000..ab6c2ab20 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxStringAttributeToNDArray.kt @@ -0,0 +1,80 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.attribute + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.* +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.isOnnxAttributeName +import org.nd4j.samediff.frameworkimport.onnx.isOnnxTensorName +import org.nd4j.samediff.frameworkimport.onnx.onnxAttributeTypeFor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.StringAttributeToNDArray + +@MappingRule("onnx","convertinputstringtondarray","attribute") +class OnnxStringAttributeToNDArray(mappingNamesToPerform: Map, transformerArgs: Map>) : + StringAttributeToNDArray(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(inputAttributeValue = attributeValueType, inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxTensorName(name, onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxAttributeName(name, onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return onnxAttributeTypeFor(name, onnxOp) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxStringContainsAdapterRule.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxStringContainsAdapterRule.kt new file mode 100644 index 000000000..16cdb4b37 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxStringContainsAdapterRule.kt @@ -0,0 +1,80 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.attribute + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.* +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.isOnnxAttributeName +import org.nd4j.samediff.frameworkimport.onnx.isOnnxTensorName +import org.nd4j.samediff.frameworkimport.onnx.onnxAttributeTypeFor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.StringContainsAdapterRule + +@MappingRule("onnx","stringcontains","attribute") +class OnnxStringContainsAdapterRule(mappingNamesToPerform: Map = emptyMap(), + transformerArgs: Map> = emptyMap()) : + StringContainsAdapterRule + ( mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxTensorName(name, onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxAttributeName(name, onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return onnxAttributeTypeFor(name, onnxOp) + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxStringEqualsAdapterRule.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxStringEqualsAdapterRule.kt new file mode 100644 index 000000000..c1e82fb9c --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxStringEqualsAdapterRule.kt @@ -0,0 +1,85 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.attribute + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.isOnnxAttributeName +import org.nd4j.samediff.frameworkimport.onnx.isOnnxTensorName +import org.nd4j.samediff.frameworkimport.onnx.onnxAttributeTypeFor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.StringEqualsAdapterRule +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.rule.MappingRule + +@MappingRule("onnx","stringequals","attribute") +class OnnxStringEqualsAdapterRule(mappingNamesToPerform: Map = emptyMap(), + transformerArgs: Map> = emptyMap()) : + StringEqualsAdapterRule + ( mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): + List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxTensorName(name, onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxAttributeName(name, onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return onnxAttributeTypeFor(name, onnxOp) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxStringNotEqualsAdapterRule.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxStringNotEqualsAdapterRule.kt new file mode 100644 index 000000000..340f5b77f --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxStringNotEqualsAdapterRule.kt @@ -0,0 +1,82 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.attribute + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.* +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.isOnnxAttributeName +import org.nd4j.samediff.frameworkimport.onnx.isOnnxTensorName +import org.nd4j.samediff.frameworkimport.onnx.onnxAttributeTypeFor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.StringNotEqualsAdapterRule + +@MappingRule("onnx","stringnotequalsadapterrule","attribute") +class OnnxStringNotEqualsAdapterRule(mappingNamesToPerform: Map = emptyMap(), + transformerArgs: Map> = emptyMap()) : + StringNotEqualsAdapterRule + ( mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): + List> { + TODO("Not yet implemented") + } + + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxTensorName(name, onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxAttributeName(name, onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return onnxAttributeTypeFor(name, onnxOp) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxStringToIndex.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxStringToIndex.kt new file mode 100644 index 000000000..72a9b5455 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxStringToIndex.kt @@ -0,0 +1,78 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.attribute + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.* +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.isOnnxAttributeName +import org.nd4j.samediff.frameworkimport.onnx.isOnnxTensorName +import org.nd4j.samediff.frameworkimport.onnx.onnxAttributeTypeFor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.StringToInt + +@MappingRule("onnx","stringtoindex","attribute") +class OnnxStringToIndex(mappingNamesToPerform: Map, transformerArgs: Map>) : StringToInt(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(inputAttributeValue = attributeValueType, inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxTensorName(name, onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxAttributeName(name, onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return onnxAttributeTypeFor(name, onnxOp) + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxValueMapping.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxValueMapping.kt new file mode 100644 index 000000000..a25862a0b --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/attribute/OnnxValueMapping.kt @@ -0,0 +1,81 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.attribute + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRAttr +import org.nd4j.samediff.frameworkimport.onnx.isOnnxAttributeName +import org.nd4j.samediff.frameworkimport.onnx.isOnnxTensorName +import org.nd4j.samediff.frameworkimport.onnx.onnxAttributeTypeFor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.ValueMapping + +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.rule.MappingRule + +@MappingRule("onnx","valuemapping","attribute") +class OnnxValueMapping(mappingNamesToPerform: Map, transformerArgs: Map>) : ValueMapping(mappingNamesToPerform, transformerArgs) { + override fun createIRAttribute(name: String, attrDef: Onnx.AttributeProto, attributeValueType: Onnx.AttributeProto): IRAttribute { + return OnnxIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxTensorName(name, onnxOp) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return isOnnxAttributeName(name, onnxOp) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess.inputFrameworkOpName()]!! + + return onnxAttributeTypeFor(name, onnxOp) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/tensor/NDArrayMappingRule.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/tensor/NDArrayMappingRule.kt new file mode 100644 index 000000000..3668293f2 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/tensor/NDArrayMappingRule.kt @@ -0,0 +1,51 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.tensor + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.ir.TensorNamespace +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRTensor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.tensor.BaseNDArrayMappingRule + +@MappingRule("onnx","ndarraymapping","tensor") +class NDArrayMappingRule(mappingNamesToPerform: MutableMap, + transformerArgs: Map> = emptyMap()): + BaseNDArrayMappingRule(mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) { + + + + override fun createTensorProto(input: Onnx.TensorProto): TensorNamespace.TensorProto { + return OnnxIRTensor(input).toArgTensor() + } + + override fun isInputTensorName(inputName: String): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess!!.inputFrameworkOpName()]!! + return onnxOp.inputList.contains(inputName) + } + + override fun isOutputTensorName(outputName: String): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess!!.opName()) + return nd4jOpDescriptor.argDescriptorList.filter { inputDescriptor -> inputDescriptor.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR } + .map {inputDescriptor -> inputDescriptor.name }.contains(outputName) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/tensor/OnnxMultiInputIndexMappingRule.kt b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/tensor/OnnxMultiInputIndexMappingRule.kt new file mode 100644 index 000000000..0d029f562 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/kotlin/org/nd4j/samediff/frameworkimport/onnx/rule/tensor/OnnxMultiInputIndexMappingRule.kt @@ -0,0 +1,51 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.rule.tensor + +import onnx.Onnx +import org.nd4j.ir.OpNamespace +import org.nd4j.ir.TensorNamespace +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRTensor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.tensor.MultiInputIndexMappingRule + +@MappingRule("onnx","multiinputindex","tensor") +class OnnxMultiInputIndexMappingRule(mappingNamesToPerform: MutableMap, + transformerArgs: Map> = emptyMap()): + MultiInputIndexMappingRule(mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) { + + + + override fun createTensorProto(input: Onnx.TensorProto): TensorNamespace.TensorProto { + return OnnxIRTensor(input).toArgTensor() + } + + override fun isInputTensorName(inputName: String): Boolean { + val onnxOp = OpDescriptorLoaderHolder.listForFramework("onnx")[mappingProcess!!.inputFrameworkOpName()]!! + return onnxOp.inputList.contains(inputName) + } + + override fun isOutputTensorName(outputName: String): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess!!.opName()) + return nd4jOpDescriptor.argDescriptorList.filter { inputDescriptor -> inputDescriptor.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR } + .map {inputDescriptor -> inputDescriptor.name }.contains(outputName) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/resources/META-INF/services/org.nd4j.samediff.frameworkimport.ImportGraphHolder b/nd4j/samediff-import/samediff-import-onnx/src/main/resources/META-INF/services/org.nd4j.samediff.frameworkimport.ImportGraphHolder new file mode 100644 index 000000000..146ed6b62 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/resources/META-INF/services/org.nd4j.samediff.frameworkimport.ImportGraphHolder @@ -0,0 +1,37 @@ +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +# +# /* ****************************************************************************** +# * Copyright (c) 2021 Deeplearning4j Contributors +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +org.nd4j.samediff.frameworkimport.onnx.OnnxImportGraph \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/resources/META-INF/services/org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoader b/nd4j/samediff-import/samediff-import-onnx/src/main/resources/META-INF/services/org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoader new file mode 100644 index 000000000..6ebe66dcf --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/resources/META-INF/services/org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoader @@ -0,0 +1,37 @@ +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +# +# /* ****************************************************************************** +# * Copyright (c) 2021 Deeplearning4j Contributors +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +org.nd4j.samediff.frameworkimport.onnx.opdefs.OnnxOpDescriptorLoader \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/resources/onnx-mapping-ruleset.pbtxt b/nd4j/samediff-import/samediff-import-onnx/src/main/resources/onnx-mapping-ruleset.pbtxt new file mode 100644 index 000000000..7ce82052d --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/resources/onnx-mapping-ruleset.pbtxt @@ -0,0 +1,6749 @@ +mappings { + frameworkName: "onnx" + opName: "add" + inputFrameworkOpName: "Add" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "Add" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Add" + } +} +mappings { + frameworkName: "onnx" + opName: "tan" + inputFrameworkOpName: "Tan" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Tan" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Tan" + } +} +mappings { + frameworkName: "onnx" + opName: "or" + inputFrameworkOpName: "Or" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "A" + } + ruleType: "tensor" + inputFrameworkOpName: "Or" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Or" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "comparable" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "comparable" + argType: DOUBLE + } + } + inputFrameworkOpName: "Or" + } +} +mappings { + frameworkName: "onnx" + opName: "reduce_max" + inputFrameworkOpName: "ReduceMax" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "ReduceMax" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputIntName: "keepdims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keepdims" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceMax" + } + rule { + ruleName: "listnumbertolistnumber" + functionName: "listnumbertolistnumber" + inputToOutput { + key: "dimensions" + value: "axes" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceMax" + } +} +mappings { + frameworkName: "onnx" + opName: "maxpool2d" + inputFrameworkOpName: "MaxPool" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "isNCHW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "isNCHW" + argType: INT64 + argIndex: 10 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "extraParam0" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "isSameMode" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "isSameMode" + argType: INT64 + argIndex: 8 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "dH" + outputIntName: "dH" + inputFloatName: "dilations" + inputToOutput { + key: "dH" + value: "dilations" + } + ruleType: "attribute" + transformerArgs { + key: "dH" + transformerArgs { + name: "dilations" + argIndex: 6 + } + transformerArgs { + name: "dH" + int64Value: 1 + argType: INT64 + argIndex: 6 + } + } + transformerArgs { + key: "dH" + transformerArgs { + name: "dilations" + argIndex: 6 + } + transformerArgs { + name: "dH" + int64Value: 1 + argType: INT64 + argIndex: 6 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "dW" + outputIntName: "dW" + inputFloatName: "dilations" + inputToOutput { + key: "dW" + value: "dilations" + } + ruleType: "attribute" + transformerArgs { + key: "dW" + transformerArgs { + name: "dilations" + int64Value: 1 + argIndex: 7 + } + transformerArgs { + name: "dW" + int64Value: 1 + argType: INT64 + argIndex: 7 + } + } + transformerArgs { + key: "dW" + transformerArgs { + name: "dilations" + int64Value: 1 + argIndex: 7 + } + transformerArgs { + name: "dW" + int64Value: 1 + argType: INT64 + argIndex: 7 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "pads" + outputIntName: "pH" + inputFloatName: "pads" + inputToOutput { + key: "pH" + value: "pads" + } + ruleType: "attribute" + transformerArgs { + key: "pH" + transformerArgs { + name: "pads" + argIndex: 4 + } + transformerArgs { + name: "pads" + argType: INT64 + argIndex: 4 + } + } + transformerArgs { + key: "pH" + transformerArgs { + name: "pads" + argIndex: 4 + } + transformerArgs { + name: "pads" + argType: INT64 + argIndex: 4 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "pads" + outputIntName: "pW" + inputFloatName: "pads" + inputToOutput { + key: "pW" + value: "pads" + } + ruleType: "attribute" + transformerArgs { + key: "pW" + transformerArgs { + name: "pads" + int64Value: 1 + argIndex: 5 + } + transformerArgs { + name: "pads" + argType: INT64 + argIndex: 5 + } + } + transformerArgs { + key: "pW" + transformerArgs { + name: "pads" + int64Value: 1 + argIndex: 5 + } + transformerArgs { + name: "pads" + argType: INT64 + argIndex: 5 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "sH" + outputIntName: "sH" + inputFloatName: "strides" + inputToOutput { + key: "sH" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sH" + transformerArgs { + name: "strides" + argIndex: 2 + } + transformerArgs { + name: "sH" + int64Value: 1 + argType: INT64 + argIndex: 6 + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "strides" + argIndex: 2 + } + transformerArgs { + name: "sH" + int64Value: 1 + argType: INT64 + argIndex: 6 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "sW" + outputIntName: "sW" + inputFloatName: "strides" + inputToOutput { + key: "sW" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sW" + transformerArgs { + name: "strides" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "sW" + int64Value: 1 + argType: INT64 + argIndex: 7 + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "strides" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "sW" + int64Value: 1 + argType: INT64 + argIndex: 7 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "kH" + inputFloatName: "kernel_shape" + inputToOutput { + key: "kH" + value: "kernel_shape" + } + ruleType: "attribute" + transformerArgs { + key: "kH" + transformerArgs { + name: "kernel_shape" + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "kW" + inputFloatName: "kernel_shape" + inputToOutput { + key: "kW" + value: "kernel_shape" + } + ruleType: "attribute" + transformerArgs { + key: "kW" + transformerArgs { + name: "kernel_shape" + int64Value: 1 + argIndex: 1 + } + } + inputFrameworkOpName: "MaxPool" + } +} +mappings { + frameworkName: "onnx" + opName: "size" + inputFrameworkOpName: "Size" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "Size" + } +} +mappings { + frameworkName: "onnx" + opName: "lrn" + inputFrameworkOpName: "LRN" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "LRN" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "size" + outputIntName: "depth" + inputFloatName: "alpha" + inputFloatName: "beta" + inputFloatName: "bias" + outputDoubleName: "alpha" + outputDoubleName: "beta" + outputDoubleName: "bias" + inputToOutput { + key: "alpha" + value: "alpha" + } + inputToOutput { + key: "beta" + value: "beta" + } + inputToOutput { + key: "bias" + value: "bias" + } + inputToOutput { + key: "depth" + value: "size" + } + ruleType: "attribute" + inputFrameworkOpName: "LRN" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "LRN" + } +} +mappings { + frameworkName: "onnx" + opName: "isinf" + inputFrameworkOpName: "IsInf" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "IsInf" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "IsInf" + } +} +mappings { + frameworkName: "onnx" + opName: "batchnorm" + inputFrameworkOpName: "BatchNormalization" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + inputTensorName: "mean" + inputTensorName: "var" + inputTensorName: "scale" + outputTensorName: "input" + outputTensorName: "mean" + outputTensorName: "variance" + outputTensorName: "gamma" + inputToOutput { + key: "input" + value: "X" + } + inputToOutput { + key: "mean" + value: "mean" + } + inputToOutput { + key: "variance" + value: "var" + } + inputToOutput { + key: "gamma" + value: "scale" + } + ruleType: "tensor" + inputFrameworkOpName: "BatchNormalization" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "epsilon" + outputDoubleName: "epsilon" + inputToOutput { + key: "epsilon" + value: "epsilon" + } + ruleType: "attribute" + inputFrameworkOpName: "BatchNormalization" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "BatchNormalization" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "applyGamma" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "applyGamma" + boolValue: true + argType: BOOL + argIndex: 1 + } + } + inputFrameworkOpName: "BatchNormalization" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "applyBeta" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "applyBeta" + boolValue: true + argType: BOOL + argIndex: 2 + } + } + inputFrameworkOpName: "BatchNormalization" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "applyScale" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "applyScale" + int64Value: 1 + argType: INT64 + } + } + inputFrameworkOpName: "BatchNormalization" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "applyOffset" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "applyOffset" + int64Value: 1 + argType: INT64 + argIndex: 1 + } + } + inputFrameworkOpName: "BatchNormalization" + } +} +mappings { + frameworkName: "onnx" + opName: "elu" + inputFrameworkOpName: "Elu" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Elu" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "alpha" + outputDoubleName: "alpha" + inputToOutput { + key: "alpha" + value: "alpha" + } + ruleType: "attribute" + inputFrameworkOpName: "Elu" + } +} +mappings { + frameworkName: "onnx" + opName: "concat" + inputFrameworkOpName: "Concat" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "inputs" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "inputs" + } + ruleType: "tensor" + inputFrameworkOpName: "Concat" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "axis" + inputToOutput { + key: "concatDimension" + value: "axis" + } + ruleType: "attribute" + inputFrameworkOpName: "Concat" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "isDynamicAxis" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "isDynamicAxis" + argType: BOOL + } + } + inputFrameworkOpName: "Concat" + } +} +mappings { + frameworkName: "onnx" + opName: "top_k" + inputFrameworkOpName: "TopK" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "TopK" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputIntName: "sorted" + outputBooleanName: "needSort" + inputToOutput { + key: "needSort" + value: "sorted" + } + ruleType: "attribute" + inputFrameworkOpName: "TopK" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputIntName: "k" + inputToOutput { + key: "k" + value: "K" + } + ruleType: "attribute" + inputFrameworkOpName: "TopK" + } +} +mappings { + frameworkName: "onnx" + opName: "equals" + inputFrameworkOpName: "Equal" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "Equal" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Equal" + } +} +mappings { + frameworkName: "onnx" + opName: "matmul" + inputFrameworkOpName: "MatMul" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "MatMul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "transposeX" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "transposeX" + argType: BOOL + } + } + inputFrameworkOpName: "MatMul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "transposeY" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "transposeY" + argType: BOOL + argIndex: 1 + } + } + inputFrameworkOpName: "MatMul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "transposeZ" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "transposeZ" + argType: BOOL + argIndex: 2 + } + } + inputFrameworkOpName: "MatMul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "alpha" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "alpha" + argType: DOUBLE + } + } + inputFrameworkOpName: "MatMul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "beta" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "beta" + doubleValue: 1.0 + argType: DOUBLE + argIndex: 1 + } + } + inputFrameworkOpName: "MatMul" + } +} +mappings { + frameworkName: "onnx" + opName: "reduce_min" + inputFrameworkOpName: "ReduceMin" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "ReduceMin" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputIntName: "keepdims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keepdims" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceMin" + } + rule { + ruleName: "listnumbertolistnumber" + functionName: "listnumbertolistnumber" + inputToOutput { + key: "dimensions" + value: "axes" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceMin" + } +} +mappings { + frameworkName: "onnx" + opName: "sinh" + inputFrameworkOpName: "Sinh" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Sinh" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Sinh" + } +} +mappings { + frameworkName: "onnx" + opName: "asinh" + inputFrameworkOpName: "Asinh" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Asinh" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Asinh" + } +} +mappings { + frameworkName: "onnx" + opName: "gather_nd" + inputFrameworkOpName: "GatherND" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + inputTensorName: "data" + outputTensorName: "indices" + outputTensorName: "input" + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "GatherND" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "checkIndices" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "checkIndices" + boolValue: true + argType: BOOL + } + } + inputFrameworkOpName: "GatherND" + } +} +mappings { + frameworkName: "onnx" + opName: "squeeze" + inputFrameworkOpName: "Squeeze" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "Squeeze" + } + rule { + ruleName: "convertinputnumberlisttondarray" + functionName: "convertinputnumberlisttondarray" + inputToOutput { + key: "a" + value: "axes" + } + ruleType: "attribute" + inputFrameworkOpName: "Squeeze" + } + rule { + ruleName: "listnumbertolistnumber" + functionName: "listnumbertolistnumber" + outputIntName: "_a" + inputToOutput { + key: "_a" + value: "axes" + } + ruleType: "attribute" + inputFrameworkOpName: "Squeeze" + } +} +mappings { + frameworkName: "onnx" + opName: "identity" + inputFrameworkOpName: "Identity" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Identity" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Identity" + } +} +mappings { + frameworkName: "onnx" + opName: "less" + inputFrameworkOpName: "Less" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "Less" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Less" + } +} +mappings { + frameworkName: "onnx" + opName: "softplus" + inputFrameworkOpName: "Softplus" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Softplus" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Softplus" + } +} +mappings { + frameworkName: "onnx" + opName: "reduce_sum" + inputFrameworkOpName: "ReduceSum" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "ReduceSum" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputIntName: "keepdims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keepdims" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceSum" + } + rule { + ruleName: "listnumbertolistnumber" + functionName: "listnumbertolistnumber" + inputToOutput { + key: "dimensions" + value: "axes" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceSum" + } +} +mappings { + frameworkName: "onnx" + opName: "tanh" + inputFrameworkOpName: "Tanh" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Tanh" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Tanh" + } +} +mappings { + frameworkName: "onnx" + opName: "subtract" + inputFrameworkOpName: "Sub" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "Sub" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Sub" + } +} +mappings { + frameworkName: "onnx" + opName: "reduce_prod" + inputFrameworkOpName: "ReduceProd" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "ReduceProd" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputIntName: "keepdims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keepdims" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceProd" + } + rule { + ruleName: "listnumbertolistnumber" + functionName: "listnumbertolistnumber" + inputToOutput { + key: "dimensions" + value: "axes" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceProd" + } +} +mappings { + frameworkName: "onnx" + opName: "multiply" + inputFrameworkOpName: "Mul" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "Mul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Mul" + } +} +mappings { + frameworkName: "onnx" + opName: "log" + inputFrameworkOpName: "Log" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Log" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Log" + } +} +mappings { + frameworkName: "onnx" + opName: "flatten_2d" + inputFrameworkOpName: "Flatten" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Flatten" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "axis" + outputIntName: "dimensions" + inputToOutput { + key: "dimensions" + value: "axis" + } + ruleType: "attribute" + inputFrameworkOpName: "Flatten" + } +} +mappings { + frameworkName: "onnx" + opName: "range" + inputFrameworkOpName: "Range" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "start" + inputTensorName: "limit" + inputTensorName: "delta" + outputTensorName: "from" + outputTensorName: "to" + outputTensorName: "step" + inputToOutput { + key: "from" + value: "start" + } + inputToOutput { + key: "to" + value: "limit" + } + inputToOutput { + key: "step" + value: "delta" + } + ruleType: "tensor" + inputFrameworkOpName: "Range" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + inputToOutput { + key: "from" + value: "start" + } + ruleType: "attribute" + inputFrameworkOpName: "Range" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + inputToOutput { + key: "to" + value: "limit" + } + ruleType: "attribute" + inputFrameworkOpName: "Range" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + inputToOutput { + key: "step" + value: "delta" + } + ruleType: "attribute" + inputFrameworkOpName: "Range" + } +} +mappings { + frameworkName: "onnx" + opName: "transpose" + inputFrameworkOpName: "Transpose" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "Transpose" + } + rule { + ruleName: "listnumbertondarray" + functionName: "listnumbertondarray" + inputToOutput { + key: "permutationVector" + value: "perm" + } + ruleType: "attribute" + inputFrameworkOpName: "Transpose" + } +} +mappings { + frameworkName: "onnx" + opName: "gather" + inputFrameworkOpName: "Gather" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + inputTensorName: "data" + outputTensorName: "indices" + outputTensorName: "input" + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "Gather" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "axis" + outputIntName: "dimensions" + inputToOutput { + key: "dimensions" + value: "axis" + } + ruleType: "attribute" + inputFrameworkOpName: "Gather" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Gather" + } +} +mappings { + frameworkName: "onnx" + opName: "argmax" + inputFrameworkOpName: "ArgMax" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "ArgMax" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputIntName: "keepdims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keepdims" + } + ruleType: "attribute" + inputFrameworkOpName: "ArgMax" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "axis" + inputToOutput { + key: "dimensions" + value: "axis" + } + ruleType: "attribute" + inputFrameworkOpName: "ArgMax" + } +} +mappings { + frameworkName: "onnx" + opName: "not" + inputFrameworkOpName: "Not" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Not" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "comparable" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "comparable" + argType: DOUBLE + } + } + inputFrameworkOpName: "Not" + } +} +mappings { + frameworkName: "onnx" + opName: "reduce_mean" + inputFrameworkOpName: "ReduceMean" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "ReduceMean" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputIntName: "keepdims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keepdims" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceMean" + } + rule { + ruleName: "listnumbertolistnumber" + functionName: "listnumbertolistnumber" + inputToOutput { + key: "dimensions" + value: "axes" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceMean" + } +} +mappings { + frameworkName: "onnx" + opName: "reshape" + inputFrameworkOpName: "Reshape" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "shape" + outputTensorName: "input" + outputTensorName: "shape" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "shape" + value: "shape" + } + ruleType: "tensor" + inputFrameworkOpName: "Reshape" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "shapeArr" + inputToOutput { + key: "shapeArr" + value: "shape" + } + ruleType: "attribute" + inputFrameworkOpName: "Reshape" + } +} +mappings { + frameworkName: "onnx" + opName: "randomuniform" + inputFrameworkOpName: "RandomUniform" + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "low" + inputFloatName: "high" + inputToOutput { + key: "min" + value: "low" + } + inputToOutput { + key: "max" + value: "high" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomUniform" + } + rule { + ruleName: "listnumbertondarray" + functionName: "listnumbertondarray" + inputToOutput { + key: "shape" + value: "shape" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomUniform" + } +} +mappings { + frameworkName: "onnx" + opName: "boolean_and" + inputFrameworkOpName: "And" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "And" + } +} +mappings { + frameworkName: "onnx" + opName: "softmax" + inputFrameworkOpName: "Softmax" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Softmax" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "axis" + outputIntName: "dimension" + inputToOutput { + key: "dimension" + value: "axis" + } + ruleType: "attribute" + inputFrameworkOpName: "Softmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Softmax" + } +} +mappings { + frameworkName: "onnx" + opName: "leakyrelu" + inputFrameworkOpName: "LeakyRelu" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "LeakyRelu" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "alpha" + outputDoubleName: "alpha" + inputToOutput { + key: "alpha" + value: "alpha" + } + ruleType: "attribute" + inputFrameworkOpName: "LeakyRelu" + } +} +mappings { + frameworkName: "onnx" + opName: "erf" + inputFrameworkOpName: "Erf" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Erf" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Erf" + } +} +mappings { + frameworkName: "onnx" + opName: "pow_pairwise" + inputFrameworkOpName: "Pow" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + inputTensorName: "Y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "X" + } + inputToOutput { + key: "y" + value: "Y" + } + ruleType: "tensor" + inputFrameworkOpName: "Pow" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Pow" + } +} +mappings { + frameworkName: "onnx" + opName: "acos" + inputFrameworkOpName: "Acos" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Acos" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Acos" + } +} +mappings { + frameworkName: "onnx" + opName: "sin" + inputFrameworkOpName: "Sin" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Sin" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Sin" + } +} +mappings { + frameworkName: "onnx" + opName: "bitwise_xor" + inputFrameworkOpName: "Xor" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "Xor" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Xor" + } +} +mappings { + frameworkName: "onnx" + opName: "ceil" + inputFrameworkOpName: "Ceil" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Ceil" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Ceil" + } +} +mappings { + frameworkName: "onnx" + opName: "relu" + inputFrameworkOpName: "Relu" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Relu" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Relu" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "cutoff" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "cutoff" + argType: DOUBLE + } + } + inputFrameworkOpName: "Relu" + } +} +mappings { + frameworkName: "onnx" + opName: "split" + inputFrameworkOpName: "Split" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "a" + inputToOutput { + key: "a" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Split" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "axis" + outputIntName: "dimensions" + inputToOutput { + key: "dimensions" + value: "axis" + } + ruleType: "attribute" + inputFrameworkOpName: "Split" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "numSplit" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "numSplit" + argType: INT64 + } + } + inputFrameworkOpName: "Split" + } + rule { + ruleName: "listnumbertondarray" + functionName: "listnumbertondarray" + inputToOutput { + key: "b" + value: "split" + } + ruleType: "attribute" + inputFrameworkOpName: "Split" + } +} +mappings { + frameworkName: "onnx" + opName: "reduce_logsumexp" + inputFrameworkOpName: "ReduceLogSumExp" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "ReduceLogSumExp" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputIntName: "keepdims" + outputDoubleName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keepdims" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceLogSumExp" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "keepdims" + outputDoubleName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keepdims" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceLogSumExp" + } + rule { + ruleName: "listnumbertolistnumber" + functionName: "listnumbertolistnumber" + inputToOutput { + key: "dimensions" + value: "axes" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceLogSumExp" + } +} +mappings { + frameworkName: "onnx" + opName: "matmul" + inputFrameworkOpName: "Gemm" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "Gemm" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "transA" + inputIntName: "transB" + inputFloatName: "alpha" + inputFloatName: "beta" + outputDoubleName: "alpha" + outputDoubleName: "beta" + outputBooleanName: "transposeX" + outputBooleanName: "transposeY" + inputToOutput { + key: "alpha" + value: "alpha" + } + inputToOutput { + key: "beta" + value: "beta" + } + inputToOutput { + key: "transposeX" + value: "transA" + } + inputToOutput { + key: "transposeY" + value: "transB" + } + ruleType: "attribute" + inputFrameworkOpName: "Gemm" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "transZ" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "transZ" + argType: BOOL + argIndex: 2 + } + } + inputFrameworkOpName: "Gemm" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "transposeZ" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "transposeZ" + argType: BOOL + argIndex: 2 + } + } + inputFrameworkOpName: "Gemm" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputIntName: "transA" + inputIntName: "transB" + outputIntName: "transX" + outputIntName: "transY" + inputToOutput { + key: "transX" + value: "transA" + } + inputToOutput { + key: "transY" + value: "transB" + } + ruleType: "attribute" + inputFrameworkOpName: "Gemm" + } +} +mappings { + frameworkName: "onnx" + opName: "acosh" + inputFrameworkOpName: "Acosh" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Acosh" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Acosh" + } +} +mappings { + frameworkName: "onnx" + opName: "less_equal" + inputFrameworkOpName: "LessOrEqual" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "LessOrEqual" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "LessOrEqual" + } +} +mappings { + frameworkName: "onnx" + opName: "cosh" + inputFrameworkOpName: "Cosh" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Cosh" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Cosh" + } +} +mappings { + frameworkName: "onnx" + opName: "non_max_suppression_v3" + inputFrameworkOpName: "NonMaxSuppression" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "boxes" + inputTensorName: "scores" + inputTensorName: "max_output_boxes_per_class" + inputTensorName: "iou_threshold" + inputTensorName: "score_threshold" + outputTensorName: "boxes" + outputTensorName: "scales" + outputTensorName: "maxOutSize" + outputTensorName: "iouThreshold" + outputTensorName: "scoreThreshold" + inputToOutput { + key: "boxes" + value: "boxes" + } + inputToOutput { + key: "scales" + value: "scores" + } + inputToOutput { + key: "maxOutSize" + value: "max_output_boxes_per_class" + } + inputToOutput { + key: "iouThreshold" + value: "iou_threshold" + } + inputToOutput { + key: "scoreThreshold" + value: "score_threshold" + } + ruleType: "tensor" + inputFrameworkOpName: "NonMaxSuppression" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "maxOutputSize" + inputToOutput { + key: "maxOutputSize" + value: "max_output_boxes_per_class" + } + ruleType: "attribute" + inputFrameworkOpName: "NonMaxSuppression" + } +} +mappings { + frameworkName: "onnx" + opName: "log_softmax" + inputFrameworkOpName: "LogSoftmax" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "LogSoftmax" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "axis" + outputIntName: "dimension" + inputToOutput { + key: "dimension" + value: "axis" + } + ruleType: "attribute" + inputFrameworkOpName: "LogSoftmax" + } +} +mappings { + frameworkName: "onnx" + opName: "shape_of" + inputFrameworkOpName: "Shape" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "Shape" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Shape" + } +} +mappings { + frameworkName: "onnx" + opName: "random_normal" + inputFrameworkOpName: "RandomNormal" + rule { + ruleName: "listnumbertondarray" + functionName: "listnumbertondarray" + inputToOutput { + key: "input" + value: "shape" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomNormal" + } +} +mappings { + frameworkName: "onnx" + opName: "hard_sigmoid" + inputFrameworkOpName: "HardSigmoid" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "HardSigmoid" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "HardSigmoid" + } +} +mappings { + frameworkName: "onnx" + opName: "noop" + inputFrameworkOpName: "Constant" +} +mappings { + frameworkName: "onnx" + opName: "cumsum" + inputFrameworkOpName: "CumSum" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "CumSum" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "exclusive" + inputIntName: "reverse" + outputBooleanName: "exclusive" + outputBooleanName: "reverse" + inputToOutput { + key: "exclusive" + value: "exclusive" + } + inputToOutput { + key: "reverse" + value: "reverse" + } + ruleType: "attribute" + inputFrameworkOpName: "CumSum" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + inputToOutput { + key: "dimensions" + value: "axis" + } + ruleType: "attribute" + inputFrameworkOpName: "CumSum" + } +} +mappings { + frameworkName: "onnx" + opName: "scatter_update" + inputFrameworkOpName: "ScatterElements" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "updates" + outputTensorName: "operand" + outputTensorName: "updates" + inputToOutput { + key: "operand" + value: "data" + } + inputToOutput { + key: "updates" + value: "updates" + } + ruleType: "tensor" + inputFrameworkOpName: "ScatterElements" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "axis" + outputIntName: "dimension" + inputToOutput { + key: "dimension" + value: "axis" + } + ruleType: "attribute" + inputFrameworkOpName: "ScatterElements" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "indices" + inputToOutput { + key: "indices" + value: "indices" + } + ruleType: "attribute" + inputFrameworkOpName: "ScatterElements" + } +} +mappings { + frameworkName: "onnx" + opName: "gruCell" + inputFrameworkOpName: "GRU" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + inputTensorName: "R" + inputTensorName: "W" + inputTensorName: "B" + inputTensorName: "initial_h" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "Wru" + outputTensorName: "Wc" + outputTensorName: "bc" + outputTensorName: "hLast" + outputTensorName: "bru" + inputToOutput { + key: "input" + value: "X" + } + inputToOutput { + key: "Wru" + value: "R" + } + inputToOutput { + key: "Wc" + value: "W" + } + inputToOutput { + key: "bc" + value: "B" + } + inputToOutput { + key: "hLast" + value: "initial_h" + } + inputToOutput { + key: "bru" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "GRU" + } +} +mappings { + frameworkName: "onnx" + opName: "reduce_norm1" + inputFrameworkOpName: "ReduceL1" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "ReduceL1" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputIntName: "keepdims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keepdims" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceL1" + } + rule { + ruleName: "listnumbertolistnumber" + functionName: "listnumbertolistnumber" + inputToOutput { + key: "dimensions" + value: "axes" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceL1" + } +} +mappings { + frameworkName: "onnx" + opName: "abs" + inputFrameworkOpName: "Abs" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Abs" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Abs" + } +} +mappings { + frameworkName: "onnx" + opName: "fill" + inputFrameworkOpName: "ConstantOfShape" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "shapeArray" + inputToOutput { + key: "shapeArray" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "ConstantOfShape" + } + rule { + ruleName: "attributendarraytoscalarattribute" + functionName: "attributendarraytoscalarattribute" + outputDoubleName: "value" + inputTensorName: "value" + inputToOutput { + key: "value" + value: "value" + } + ruleType: "attribute" + inputFrameworkOpName: "ConstantOfShape" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "outputDataType" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "outputDataType" + argType: INT64 + } + } + inputFrameworkOpName: "ConstantOfShape" + } +} +mappings { + frameworkName: "onnx" + opName: "reduce_norm2" + inputFrameworkOpName: "ReduceL2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "ReduceL2" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputIntName: "keepdims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keepdims" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceL2" + } + rule { + ruleName: "listnumbertolistnumber" + functionName: "listnumbertolistnumber" + inputToOutput { + key: "dimensions" + value: "axes" + } + ruleType: "attribute" + inputFrameworkOpName: "ReduceL2" + } +} +mappings { + frameworkName: "onnx" + opName: "round" + inputFrameworkOpName: "Round" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Round" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Round" + } +} +mappings { + frameworkName: "onnx" + opName: "selu" + inputFrameworkOpName: "Selu" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Selu" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Selu" + } +} +mappings { + frameworkName: "onnx" + opName: "argmin" + inputFrameworkOpName: "ArgMin" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "ArgMin" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputIntName: "keepdims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keepdims" + } + ruleType: "attribute" + inputFrameworkOpName: "ArgMin" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "axis" + inputToOutput { + key: "dimensions" + value: "axis" + } + ruleType: "attribute" + inputFrameworkOpName: "ArgMin" + } +} +mappings { + frameworkName: "onnx" + opName: "sigmoid" + inputFrameworkOpName: "Sigmoid" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Sigmoid" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Sigmoid" + } +} +mappings { + frameworkName: "onnx" + opName: "avgpool2d" + inputFrameworkOpName: "AveragePool" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "AveragePool" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "isNCHW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "isNCHW" + int64Value: 1 + argIndex: 10 + } + } + inputFrameworkOpName: "AveragePool" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dH" + argType: INT64 + argIndex: 6 + } + } + inputFrameworkOpName: "AveragePool" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dW" + argType: INT64 + argIndex: 7 + } + } + inputFrameworkOpName: "AveragePool" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "extraParam0" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + } + inputFrameworkOpName: "AveragePool" + } + rule { + ruleName: "stringcontains" + functionName: "stringcontains" + inputStringAttrName: "auto_pad" + outputIntName: "isSameMode" + inputFloatName: "auto_pad" + inputToOutput { + key: "isSameMode" + value: "auto_pad" + } + ruleType: "attribute" + transformerArgs { + key: "isSameMode" + transformerArgs { + name: "auto_pad" + argIndex: 8 + stringValue: "SAME" + } + } + inputFrameworkOpName: "AveragePool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "pH" + inputFloatName: "pads" + inputToOutput { + key: "pH" + value: "pads" + } + ruleType: "attribute" + transformerArgs { + key: "pH" + transformerArgs { + name: "pads" + argIndex: 4 + } + } + inputFrameworkOpName: "AveragePool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "pW" + inputFloatName: "pads" + inputToOutput { + key: "pW" + value: "pads" + } + ruleType: "attribute" + transformerArgs { + key: "pW" + transformerArgs { + name: "pads" + int64Value: 1 + argIndex: 5 + } + } + inputFrameworkOpName: "AveragePool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "sH" + inputFloatName: "strides" + inputToOutput { + key: "sH" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sH" + transformerArgs { + name: "strides" + argIndex: 2 + } + } + inputFrameworkOpName: "AveragePool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "sW" + inputFloatName: "strides" + inputToOutput { + key: "sW" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sW" + transformerArgs { + name: "strides" + int64Value: 1 + argIndex: 3 + } + } + inputFrameworkOpName: "AveragePool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "kW" + inputFloatName: "kernel_shape" + inputToOutput { + key: "kW" + value: "kernel_shape" + } + ruleType: "attribute" + transformerArgs { + key: "kW" + transformerArgs { + name: "kernel_shape" + int64Value: 1 + argIndex: 1 + } + } + inputFrameworkOpName: "AveragePool" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "kH" + inputFloatName: "kernel_shape" + inputToOutput { + key: "kH" + value: "kernel_shape" + } + ruleType: "attribute" + transformerArgs { + key: "kH" + transformerArgs { + name: "kernel_shape" + } + } + inputFrameworkOpName: "AveragePool" + } +} +mappings { + frameworkName: "onnx" + opName: "dropout_inverted" + inputFrameworkOpName: "Dropout" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "Dropout" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputDoubleName: "p" + inputToOutput { + key: "p" + value: "ratio" + } + ruleType: "attribute" + inputFrameworkOpName: "Dropout" + } +} +mappings { + frameworkName: "onnx" + opName: "atan" + inputFrameworkOpName: "Atan" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Atan" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Atan" + } +} +mappings { + frameworkName: "onnx" + opName: "floor" + inputFrameworkOpName: "Floor" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Floor" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Floor" + } +} +mappings { + frameworkName: "onnx" + opName: "prelu" + inputFrameworkOpName: "PRelu" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + inputTensorName: "slope" + outputTensorName: "input" + outputTensorName: "alpha" + inputToOutput { + key: "input" + value: "X" + } + inputToOutput { + key: "alpha" + value: "slope" + } + ruleType: "tensor" + inputFrameworkOpName: "PRelu" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "sharedAxes" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "sharedAxes" + int64Value: -1 + argType: INT64 + } + } + inputFrameworkOpName: "PRelu" + } +} +mappings { + frameworkName: "onnx" + opName: "atanh" + inputFrameworkOpName: "Atanh" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Atanh" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Atanh" + } +} +mappings { + frameworkName: "onnx" + opName: "mod" + inputFrameworkOpName: "Mod" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "Mod" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Mod" + } +} +mappings { + frameworkName: "onnx" + opName: "lstmLayer" + inputFrameworkOpName: "LSTM" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + inputTensorName: "W" + inputTensorName: "R" + inputTensorName: "P" + inputTensorName: "B" + inputTensorName: "sequence_lens" + inputTensorName: "initial_h" + inputTensorName: "initial_c" + outputTensorName: "input" + outputTensorName: "Wx" + outputTensorName: "Wr" + outputTensorName: "Wp" + outputTensorName: "b" + outputTensorName: "seqLen" + outputTensorName: "hI" + outputTensorName: "cI" + inputToOutput { + key: "input" + value: "X" + } + inputToOutput { + key: "Wx" + value: "W" + } + inputToOutput { + key: "Wr" + value: "R" + } + inputToOutput { + key: "Wp" + value: "P" + } + inputToOutput { + key: "b" + value: "B" + } + inputToOutput { + key: "seqLen" + value: "sequence_lens" + } + inputToOutput { + key: "hI" + value: "initial_h" + } + inputToOutput { + key: "cI" + value: "initial_c" + } + ruleType: "tensor" + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "clip" + outputDoubleName: "cellClip" + inputToOutput { + key: "cellClip" + value: "clip" + } + ruleType: "attribute" + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "stringtoindex" + functionName: "stringtoindex" + inputStringAttrName: "direction" + outputIntName: "directionMode" + inputFloatName: "directionMode" + inputFloatName: "directionMode" + inputFloatName: "directionMode" + inputToOutput { + key: "directionMode" + value: "direction" + } + ruleType: "attribute" + transformerArgs { + key: "directionMode" + transformerArgs { + name: "directionMode" + argIndex: 1 + stringValue: "forward" + } + transformerArgs { + name: "directionMode" + argIndex: 1 + stringValue: "reverse" + } + transformerArgs { + name: "directionMode" + argIndex: 1 + stringValue: "bidirectional" + } + } + transformerArgs { + key: "directionMode" + transformerArgs { + name: "directionMode" + argIndex: 1 + stringValue: "forward" + } + transformerArgs { + name: "directionMode" + argIndex: 1 + stringValue: "reverse" + } + transformerArgs { + name: "directionMode" + argIndex: 1 + stringValue: "bidirectional" + } + } + transformerArgs { + key: "directionMode" + transformerArgs { + name: "directionMode" + argIndex: 1 + stringValue: "forward" + } + transformerArgs { + name: "directionMode" + argIndex: 1 + stringValue: "reverse" + } + transformerArgs { + name: "directionMode" + argIndex: 1 + stringValue: "bidirectional" + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dataFormat" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dataFormat" + argType: INT64 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "hasBiases" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "hasBiases" + boolValue: true + argType: BOOL + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "hasSeqLen" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "hasSeqLen" + boolValue: true + argType: BOOL + argIndex: 1 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "hasInitH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "hasInitH" + boolValue: true + argType: BOOL + argIndex: 2 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "hasInitC" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "hasInitC" + boolValue: true + argType: BOOL + argIndex: 3 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "hasPH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "hasPH" + boolValue: true + argType: BOOL + argIndex: 4 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "retFullSeq" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "retFullSeq" + boolValue: true + argType: BOOL + argIndex: 5 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "retLastH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "retLastH" + boolValue: true + argType: BOOL + argIndex: 6 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "retLastC" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "retLastC" + boolValue: true + argType: BOOL + argIndex: 7 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputFloatName: "activation_alpha" + outputDoubleName: "gateAlpha" + inputToOutput { + key: "gateAlpha" + value: "activation_alpha" + } + ruleType: "attribute" + transformerArgs { + key: "gateAlpha" + transformerArgs { + name: "activation_alpha" + argIndex: 1 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputFloatName: "activation_alpha" + outputDoubleName: "cellAlpha" + inputToOutput { + key: "cellAlpha" + value: "activation_alpha" + } + ruleType: "attribute" + transformerArgs { + key: "cellAlpha" + transformerArgs { + name: "activation_alpha" + int64Value: 1 + argIndex: 3 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputFloatName: "activation_alpha" + outputDoubleName: "outAlpha" + inputToOutput { + key: "outAlpha" + value: "activation_alpha" + } + ruleType: "attribute" + transformerArgs { + key: "outAlpha" + transformerArgs { + name: "activation_alpha" + int64Value: 2 + argIndex: 5 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputFloatName: "activation_beta" + outputDoubleName: "gateBeta" + inputToOutput { + key: "gateBeta" + value: "activation_beta" + } + ruleType: "attribute" + transformerArgs { + key: "gateBeta" + transformerArgs { + name: "activation_beta" + argIndex: 2 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputFloatName: "activation_beta" + outputDoubleName: "cellBeta" + inputToOutput { + key: "cellBeta" + value: "activation_beta" + } + ruleType: "attribute" + transformerArgs { + key: "cellBeta" + transformerArgs { + name: "activation_beta" + int64Value: 1 + argIndex: 4 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputFloatName: "activation_beta" + outputDoubleName: "outBeta" + inputToOutput { + key: "outBeta" + value: "activation_beta" + } + ruleType: "attribute" + transformerArgs { + key: "outBeta" + transformerArgs { + name: "activation_beta" + int64Value: 2 + argIndex: 6 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "mapstringtoindex" + functionName: "mapstringtoindex" + outputIntName: "gateAct" + inputFloatName: "Relu" + inputFloatName: "Tanh" + inputFloatName: "Sigmoid" + inputFloatName: "Affine" + inputFloatName: "LeakyRelu" + inputFloatName: "ThresholdedRelu" + inputFloatName: "ScaledTanh" + inputFloatName: "HardSigmoid" + inputFloatName: "Elu" + inputFloatName: "Softsign" + inputFloatName: "Softplus" + inputFloatName: "index" + inputToOutput { + key: "gateAct" + value: "activations" + } + ruleType: "attribute" + transformerArgs { + key: "gateAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "Tanh" + argIndex: 2 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 2 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 2 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 2 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 2 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 2 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 2 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 2 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 2 + } + } + transformerArgs { + key: "gateAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "Tanh" + argIndex: 2 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 2 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 2 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 2 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 2 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 2 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 2 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 2 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 2 + } + } + transformerArgs { + key: "gateAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "Tanh" + argIndex: 2 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 2 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 2 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 2 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 2 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 2 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 2 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 2 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 2 + } + } + transformerArgs { + key: "gateAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "Tanh" + argIndex: 2 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 2 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 2 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 2 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 2 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 2 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 2 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 2 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 2 + } + } + transformerArgs { + key: "gateAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "Tanh" + argIndex: 2 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 2 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 2 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 2 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 2 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 2 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 2 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 2 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 2 + } + } + transformerArgs { + key: "gateAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "Tanh" + argIndex: 2 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 2 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 2 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 2 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 2 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 2 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 2 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 2 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 2 + } + } + transformerArgs { + key: "gateAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "Tanh" + argIndex: 2 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 2 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 2 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 2 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 2 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 2 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 2 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 2 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 2 + } + } + transformerArgs { + key: "gateAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "Tanh" + argIndex: 2 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 2 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 2 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 2 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 2 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 2 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 2 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 2 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 2 + } + } + transformerArgs { + key: "gateAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "Tanh" + argIndex: 2 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 2 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 2 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 2 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 2 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 2 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 2 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 2 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 2 + } + } + transformerArgs { + key: "gateAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "Tanh" + argIndex: 2 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 2 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 2 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 2 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 2 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 2 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 2 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 2 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 2 + } + } + transformerArgs { + key: "gateAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "Tanh" + argIndex: 2 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 2 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 2 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 2 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 2 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 2 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 2 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 2 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 2 + } + } + transformerArgs { + key: "index" + transformerArgs { + name: "index" + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "mapstringtoindex" + functionName: "mapstringtoindex" + outputIntName: "cellAct" + inputFloatName: "Relu" + inputFloatName: "Tanh" + inputFloatName: "Sigmoid" + inputFloatName: "Affine" + inputFloatName: "LeakyRelu" + inputFloatName: "ThresholdedRelu" + inputFloatName: "ScaledTanh" + inputFloatName: "HardSigmoid" + inputFloatName: "Elu" + inputFloatName: "Softsign" + inputFloatName: "Softplus" + inputFloatName: "index" + inputToOutput { + key: "cellAct" + value: "activations" + } + ruleType: "attribute" + transformerArgs { + key: "cellAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "Tanh" + argIndex: 3 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 3 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 3 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 3 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 3 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 3 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 3 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 3 + } + } + transformerArgs { + key: "cellAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "Tanh" + argIndex: 3 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 3 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 3 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 3 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 3 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 3 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 3 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 3 + } + } + transformerArgs { + key: "cellAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "Tanh" + argIndex: 3 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 3 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 3 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 3 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 3 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 3 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 3 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 3 + } + } + transformerArgs { + key: "cellAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "Tanh" + argIndex: 3 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 3 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 3 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 3 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 3 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 3 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 3 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 3 + } + } + transformerArgs { + key: "cellAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "Tanh" + argIndex: 3 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 3 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 3 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 3 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 3 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 3 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 3 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 3 + } + } + transformerArgs { + key: "cellAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "Tanh" + argIndex: 3 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 3 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 3 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 3 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 3 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 3 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 3 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 3 + } + } + transformerArgs { + key: "cellAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "Tanh" + argIndex: 3 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 3 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 3 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 3 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 3 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 3 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 3 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 3 + } + } + transformerArgs { + key: "cellAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "Tanh" + argIndex: 3 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 3 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 3 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 3 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 3 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 3 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 3 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 3 + } + } + transformerArgs { + key: "cellAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "Tanh" + argIndex: 3 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 3 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 3 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 3 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 3 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 3 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 3 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 3 + } + } + transformerArgs { + key: "cellAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "Tanh" + argIndex: 3 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 3 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 3 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 3 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 3 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 3 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 3 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 3 + } + } + transformerArgs { + key: "cellAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "Tanh" + argIndex: 3 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 3 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 3 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 3 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 3 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 3 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 3 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 3 + } + } + transformerArgs { + key: "index" + transformerArgs { + name: "index" + int64Value: 1 + } + } + inputFrameworkOpName: "LSTM" + } + rule { + ruleName: "mapstringtoindex" + functionName: "mapstringtoindex" + outputIntName: "outAct" + inputFloatName: "Relu" + inputFloatName: "Tanh" + inputFloatName: "Sigmoid" + inputFloatName: "Affine" + inputFloatName: "LeakyRelu" + inputFloatName: "ThresholdedRelu" + inputFloatName: "ScaledTanh" + inputFloatName: "HardSigmoid" + inputFloatName: "Elu" + inputFloatName: "Softsign" + inputFloatName: "Softplus" + inputFloatName: "index" + inputToOutput { + key: "outAct" + value: "activations" + } + ruleType: "attribute" + transformerArgs { + key: "outAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 4 + } + transformerArgs { + name: "Tanh" + argIndex: 4 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 4 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 4 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 4 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 4 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 4 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 4 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 4 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 4 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 4 + } + } + transformerArgs { + key: "outAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 4 + } + transformerArgs { + name: "Tanh" + argIndex: 4 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 4 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 4 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 4 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 4 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 4 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 4 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 4 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 4 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 4 + } + } + transformerArgs { + key: "outAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 4 + } + transformerArgs { + name: "Tanh" + argIndex: 4 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 4 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 4 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 4 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 4 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 4 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 4 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 4 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 4 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 4 + } + } + transformerArgs { + key: "outAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 4 + } + transformerArgs { + name: "Tanh" + argIndex: 4 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 4 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 4 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 4 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 4 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 4 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 4 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 4 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 4 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 4 + } + } + transformerArgs { + key: "outAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 4 + } + transformerArgs { + name: "Tanh" + argIndex: 4 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 4 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 4 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 4 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 4 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 4 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 4 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 4 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 4 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 4 + } + } + transformerArgs { + key: "outAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 4 + } + transformerArgs { + name: "Tanh" + argIndex: 4 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 4 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 4 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 4 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 4 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 4 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 4 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 4 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 4 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 4 + } + } + transformerArgs { + key: "outAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 4 + } + transformerArgs { + name: "Tanh" + argIndex: 4 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 4 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 4 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 4 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 4 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 4 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 4 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 4 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 4 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 4 + } + } + transformerArgs { + key: "outAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 4 + } + transformerArgs { + name: "Tanh" + argIndex: 4 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 4 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 4 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 4 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 4 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 4 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 4 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 4 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 4 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 4 + } + } + transformerArgs { + key: "outAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 4 + } + transformerArgs { + name: "Tanh" + argIndex: 4 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 4 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 4 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 4 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 4 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 4 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 4 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 4 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 4 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 4 + } + } + transformerArgs { + key: "outAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 4 + } + transformerArgs { + name: "Tanh" + argIndex: 4 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 4 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 4 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 4 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 4 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 4 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 4 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 4 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 4 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 4 + } + } + transformerArgs { + key: "outAct" + transformerArgs { + name: "Relu" + int64Value: 1 + argIndex: 4 + } + transformerArgs { + name: "Tanh" + argIndex: 4 + } + transformerArgs { + name: "Sigmoid" + int64Value: 2 + argIndex: 4 + } + transformerArgs { + name: "Affine" + int64Value: 3 + argIndex: 4 + } + transformerArgs { + name: "LeakyRelu" + int64Value: 4 + argIndex: 4 + } + transformerArgs { + name: "ThresholdedRelu" + int64Value: 5 + argIndex: 4 + } + transformerArgs { + name: "ScaledTanh" + int64Value: 6 + argIndex: 4 + } + transformerArgs { + name: "HardSigmoid" + int64Value: 7 + argIndex: 4 + } + transformerArgs { + name: "Elu" + int64Value: 8 + argIndex: 4 + } + transformerArgs { + name: "Softsign" + int64Value: 9 + argIndex: 4 + } + transformerArgs { + name: "Softplus" + int64Value: 10 + argIndex: 4 + } + } + transformerArgs { + key: "index" + transformerArgs { + name: "index" + int64Value: 2 + } + } + inputFrameworkOpName: "LSTM" + } +} +mappings { + frameworkName: "onnx" + opName: "cos" + inputFrameworkOpName: "Cos" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Cos" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Cos" + } +} +mappings { + frameworkName: "onnx" + opName: "sqrt" + inputFrameworkOpName: "Sqrt" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Sqrt" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Sqrt" + } +} +mappings { + frameworkName: "onnx" + opName: "asin" + inputFrameworkOpName: "Asin" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Asin" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Asin" + } +} +mappings { + frameworkName: "onnx" + opName: "space_to_depth" + inputFrameworkOpName: "SpaceToDepth" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "SpaceToDepth" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "blocksize" + outputIntName: "block_size" + inputToOutput { + key: "block_size" + value: "blocksize" + } + ruleType: "attribute" + inputFrameworkOpName: "SpaceToDepth" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "isNHWC" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "isNHWC" + int64Value: 1 + argType: INT64 + argIndex: 1 + } + } + inputFrameworkOpName: "SpaceToDepth" + } +} +mappings { + frameworkName: "onnx" + opName: "tile" + inputFrameworkOpName: "Tile" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "repeats" + outputTensorName: "input" + outputTensorName: "reps_vector" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "reps_vector" + value: "repeats" + } + ruleType: "tensor" + inputFrameworkOpName: "Tile" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "is_static_reps" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "is_static_reps" + boolValue: true + argType: BOOL + } + } + inputFrameworkOpName: "Tile" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dimensions" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dimensions" + argType: INT64 + } + } + inputFrameworkOpName: "Tile" + } +} +mappings { + frameworkName: "onnx" + opName: "greater_equal" + inputFrameworkOpName: "GreaterOrEqual" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "GreaterOrEqual" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "GreaterOrEqual" + } +} +mappings { + frameworkName: "onnx" + opName: "depth_to_space" + inputFrameworkOpName: "DepthToSpace" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "DepthToSpace" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "blocksize" + outputIntName: "block_size" + inputToOutput { + key: "block_size" + value: "blocksize" + } + ruleType: "attribute" + inputFrameworkOpName: "DepthToSpace" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "isNHWC" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "isNHWC" + int64Value: 1 + argType: INT64 + argIndex: 1 + } + } + inputFrameworkOpName: "DepthToSpace" + } +} +mappings { + frameworkName: "onnx" + opName: "isnan" + inputFrameworkOpName: "IsNaN" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "IsNaN" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "IsNaN" + } +} +mappings { + frameworkName: "onnx" + opName: "divide" + inputFrameworkOpName: "Div" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "Div" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Div" + } +} +mappings { + frameworkName: "onnx" + opName: "neg" + inputFrameworkOpName: "Neg" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Neg" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Neg" + } +} +mappings { + frameworkName: "onnx" + opName: "matrix_determinant" + inputFrameworkOpName: "Det" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "X" + } + ruleType: "tensor" + inputFrameworkOpName: "Det" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Det" + } +} +mappings { + frameworkName: "onnx" + opName: "pad" + inputFrameworkOpName: "Pad" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "pads" + outputTensorName: "input" + outputTensorName: "paddings" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "paddings" + value: "pads" + } + ruleType: "tensor" + inputFrameworkOpName: "Pad" + } + rule { + ruleName: "stringtoindex" + functionName: "stringtoindex" + inputStringAttrName: "mode" + outputIntName: "mode" + inputFloatName: "mode" + inputFloatName: "mode" + inputFloatName: "mode" + inputToOutput { + key: "mode" + value: "mode" + } + ruleType: "attribute" + transformerArgs { + key: "mode" + transformerArgs { + name: "mode" + stringValue: "constant" + } + transformerArgs { + name: "mode" + stringValue: "reflect" + } + transformerArgs { + name: "mode" + stringValue: "edge" + } + } + transformerArgs { + key: "mode" + transformerArgs { + name: "mode" + stringValue: "constant" + } + transformerArgs { + name: "mode" + stringValue: "reflect" + } + transformerArgs { + name: "mode" + stringValue: "edge" + } + } + transformerArgs { + key: "mode" + transformerArgs { + name: "mode" + stringValue: "constant" + } + transformerArgs { + name: "mode" + stringValue: "reflect" + } + transformerArgs { + name: "mode" + stringValue: "edge" + } + } + inputFrameworkOpName: "Pad" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "padValue" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "padValue" + argType: DOUBLE + } + } + inputFrameworkOpName: "Pad" + } +} +mappings { + frameworkName: "onnx" + opName: "conv2d" + inputFrameworkOpName: "Conv" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "X" + inputTensorName: "W" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "weights" + outputTensorName: "bias" + inputToOutput { + key: "input" + value: "X" + } + inputToOutput { + key: "weights" + value: "W" + } + inputToOutput { + key: "bias" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "Conv" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "isNCHW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "isNCHW" + argType: INT64 + argIndex: 9 + } + } + inputFrameworkOpName: "Conv" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "wFormat" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "wFormat" + int64Value: 1 + argType: INT64 + argIndex: 10 + } + } + inputFrameworkOpName: "Conv" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "auto_pad" + outputIntName: "isSameMode" + inputFloatName: "auto_pad" + inputToOutput { + key: "isSameMode" + value: "auto_pad" + } + ruleType: "attribute" + transformerArgs { + key: "isSameMode" + transformerArgs { + name: "auto_pad" + argIndex: 8 + stringValue: "SAME" + } + } + inputFrameworkOpName: "Conv" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "dH" + outputIntName: "dH" + inputFloatName: "dilations" + inputToOutput { + key: "dH" + value: "dilations" + } + ruleType: "attribute" + transformerArgs { + key: "dH" + transformerArgs { + name: "dilations" + argIndex: 6 + } + transformerArgs { + name: "dH" + int64Value: 1 + argType: INT64 + argIndex: 6 + } + } + transformerArgs { + key: "dH" + transformerArgs { + name: "dilations" + argIndex: 6 + } + transformerArgs { + name: "dH" + int64Value: 1 + argType: INT64 + argIndex: 6 + } + } + inputFrameworkOpName: "Conv" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "dW" + outputIntName: "dW" + inputFloatName: "dilations" + inputToOutput { + key: "dW" + value: "dilations" + } + ruleType: "attribute" + transformerArgs { + key: "dW" + transformerArgs { + name: "dilations" + int64Value: 1 + argIndex: 7 + } + transformerArgs { + name: "dW" + int64Value: 1 + argType: INT64 + argIndex: 7 + } + } + transformerArgs { + key: "dW" + transformerArgs { + name: "dilations" + int64Value: 1 + argIndex: 7 + } + transformerArgs { + name: "dW" + int64Value: 1 + argType: INT64 + argIndex: 7 + } + } + inputFrameworkOpName: "Conv" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "pH" + inputFloatName: "pads" + inputToOutput { + key: "pH" + value: "pads" + } + ruleType: "attribute" + transformerArgs { + key: "pH" + transformerArgs { + name: "pads" + argIndex: 4 + } + } + inputFrameworkOpName: "Conv" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "pW" + inputFloatName: "pads" + inputToOutput { + key: "pW" + value: "pads" + } + ruleType: "attribute" + transformerArgs { + key: "pW" + transformerArgs { + name: "pads" + int64Value: 1 + argIndex: 5 + } + } + inputFrameworkOpName: "Conv" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "strides" + outputIntName: "sH" + inputFloatName: "strides" + inputToOutput { + key: "sH" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sH" + transformerArgs { + name: "strides" + argIndex: 2 + } + transformerArgs { + name: "strides" + int64Value: 1 + argType: INT64 + argIndex: 2 + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "strides" + argIndex: 2 + } + transformerArgs { + name: "strides" + int64Value: 1 + argType: INT64 + argIndex: 2 + } + } + inputFrameworkOpName: "Conv" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "strides" + outputIntName: "sW" + inputFloatName: "strides" + inputToOutput { + key: "sW" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sW" + transformerArgs { + name: "strides" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "strides" + int64Value: 1 + argType: INT64 + argIndex: 3 + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "strides" + int64Value: 1 + argIndex: 3 + } + transformerArgs { + name: "strides" + int64Value: 1 + argType: INT64 + argIndex: 3 + } + } + inputFrameworkOpName: "Conv" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "kW" + inputFloatName: "kernel_shape" + inputToOutput { + key: "kW" + value: "kernel_shape" + } + ruleType: "attribute" + transformerArgs { + key: "kW" + transformerArgs { + name: "kernel_shape" + int64Value: 1 + } + } + inputFrameworkOpName: "Conv" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + outputIntName: "kH" + inputFloatName: "kernel_shape" + inputToOutput { + key: "kH" + value: "kernel_shape" + } + ruleType: "attribute" + transformerArgs { + key: "kH" + transformerArgs { + name: "kernel_shape" + argIndex: 1 + } + } + inputFrameworkOpName: "Conv" + } +} +mappings { + frameworkName: "onnx" + opName: "greater" + inputFrameworkOpName: "Greater" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "A" + inputTensorName: "B" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "A" + } + inputToOutput { + key: "y" + value: "B" + } + ruleType: "tensor" + inputFrameworkOpName: "Greater" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Greater" + } +} +mappings { + frameworkName: "onnx" + opName: "sign" + inputFrameworkOpName: "Sign" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Sign" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Sign" + } +} +mappings { + frameworkName: "onnx" + opName: "softsign" + inputFrameworkOpName: "Softsign" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Softsign" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Softsign" + } +} +mappings { + frameworkName: "onnx" + opName: "exp" + inputFrameworkOpName: "Exp" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Exp" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Exp" + } +} diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/resources/onnx-op-def.pbtxt b/nd4j/samediff-import/samediff-import-onnx/src/main/resources/onnx-op-def.pbtxt new file mode 100644 index 000000000..e6c232be4 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/main/resources/onnx-op-def.pbtxt @@ -0,0 +1,6004 @@ +input: "X" +output: "Y" +name: "Abs" +op_type: "Abs" +attribute { + name: "X-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nAbsolute takes one input data (Tensor) and produces one output data\n(Tensor) where the absolute is, y = abs(x), is applied to\nthe tensor elementwise.\n" +-- +input: "input" +output: "output" +name: "Acos" +op_type: "Acos" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the arccosine (inverse of cosine) of the given input tensor, element-wise.\n" +-- +input: "input" +output: "output" +name: "Acosh" +op_type: "Acosh" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the hyperbolic arccosine of the given input tensor element-wise.\n" +-- +input: "R" +input: "T" +input: "inputs" +output: "outputs" +name: "Adagrad" +op_type: "Adagrad" +attribute { + name: "decay_factor" + f: 0.0 + type: FLOAT +} +attribute { + name: "epsilon" + f: 1e-06 + type: FLOAT +} +attribute { + name: "norm_coefficient" + f: 0.0 + type: FLOAT +} +attribute { + name: "R-types" + strings: "double" + strings: "float" + type: STRINGS +} +attribute { + name: "T-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "inputs-types" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Compute one iteration of ADAGRAD, a stochastic gradient based optimization\n algorithm. This operator can conduct the optimization of multiple tensor variables.\n\n Let\'s define the behavior of this operator. As you can imagine, ADAGRAD requires\n some parameters:\n \n - The initial learning-rate \"R\".\n - The update count \"T\". That is, the number of training iterations conducted.\n - A L2-norm regularization coefficient \"norm_coefficient\".\n - A learning-rate decay factor \"decay_factor\".\n - A small constant \"epsilon\" to avoid dividing-by-zero. \n\n At each ADAGRAD iteration, the optimized tensors are moved along a direction\n computed based on their estimated gradient and accumulated squared gradient. Assume\n that only a single tensor \"X\" is updated by this operator. We need the value of \"X\",\n its gradient \"G\", and its accumulated squared gradient \"H\". Therefore, variables in\n this operator\'s input list are sequentially \"R\", \"T\", \"X\", \"G\", and \"H\". Other\n parameters are given as attributes because they are usually constants. Also, the\n corresponding output tensors are the new value of \"X\" (called \"X_new\"), and then\n the new accumulated squared gradient (called \"H_new\"). Those outputs are computed\n from the given inputs following the pseudo code below.\n\n Let \"+\", \"-\", \"*\", and \"/\" are all element-wise arithmetic operations with\n numpy-style broadcasting support. The pseudo code to compute those outputs is:\n\n // Compute a scalar learning-rate factor. At the first update of X, T is generally\n // 0 (0-based update index) or 1 (1-based update index).\n r = R / (1 + T * decay_factor);\n\n // Add gradient of 0.5 * norm_coefficient * ||X||_2^2, where ||X||_2 is the 2-norm.\n G_regularized = norm_coefficient * X + G;\n\n // Compute new accumulated squared gradient.\n H_new = H + G_regularized * G_regularized;\n\n // Compute the adaptive part of per-coordinate learning rate. Note that Sqrt(...)\n // computes element-wise square-root.\n H_adaptive = Sqrt(H_new) + epsilon\n\n // Compute the new value of \"X\".\n X_new = X - r * G_regularized / H_adaptive;\n\n If one assign this operators to optimize multiple inputs, for example, \"X_1\" and \"X_2\", the same\n pseudo code may be extended to handle all tensors jointly. More specifically, we can view \"X\" as a\n concatenation of \"X_1\" and \"X_2\" (of course, their gradient and accumulate gradient should\n be concatenated too) and then just reuse the entire pseudo code.\n\n Note that ADAGRAD was first proposed in http://jmlr.org/papers/volume12/duchi11a/duchi11a.pdf.\n In that reference paper, this operator is a special case of the Figure 1\'s composite mirror\n descent update.\n" +-- +input: "R" +input: "T" +input: "inputs" +output: "outputs" +name: "Adam" +op_type: "Adam" +attribute { + name: "alpha" + f: 0.9 + type: FLOAT +} +attribute { + name: "beta" + f: 0.999 + type: FLOAT +} +attribute { + name: "epsilon" + f: 1e-06 + type: FLOAT +} +attribute { + name: "norm_coefficient" + f: 0.0 + type: FLOAT +} +attribute { + name: "norm_coefficient_post" + f: 0.0 + type: FLOAT +} +attribute { + name: "R-types" + strings: "double" + strings: "float" + type: STRINGS +} +attribute { + name: "T-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "inputs-types" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Compute one iteration of Adam, a stochastic gradient based optimization\n algorithm. This operator can conduct the optimization of multiple tensor variables.\n\n Let\'s define the behavior of this operator. First of all, Adam requires\n some parameters:\n \n - The learning-rate \"R\".\n - The update count \"T\". That is, the number of training iterations conducted.\n - A L2-norm regularization coefficient \"norm_coefficient\".\n - A small constant \"epsilon\" to avoid dividing-by-zero. \n - Two coefficients, \"alpha\" and \"beta\".\n\n At each Adam iteration, the optimized tensors are moved along a direction\n computed based on their exponentially-averaged historical gradient and\n exponentially-averaged historical squared gradient. Assume that only a tensor\n \"X\" is being optimized. The rest of required information is\n \n - the value of \"X\",\n - \"X\"\'s gradient (denoted by \"G\"),\n - \"X\"\'s exponentially-averaged historical gradient (denoted by \"V\"), and\n - \"X\"\'s exponentially-averaged historical squared gradient (denoted by \"H\").\n\n Some of those parameters are passed into this operator as input tensors and others\n are stored as this operator\'s attributes. Specifically, this operator\'s input tensor\n list is [\"R\", \"T\", \"X\", \"G\", \"V\", \"H\"]. That is, \"R\" is the first input, \"T\" is\n the second input, and so on. Other parameters are given as attributes because they\n are constants. Moreover, the corresponding output tensors are \n \n - the new value of \"X\" (called \"X_new\"),\n - the new exponentially-averaged historical gradient (denoted by \"V_new\"), and\n - the new exponentially-averaged historical squared gradient (denoted by \"H_new\").\n\n Those outputs are computed following the pseudo code below.\n\n Let \"+\", \"-\", \"*\", and \"/\" are all element-wise arithmetic operations with\n numpy-style broadcasting support. The pseudo code to compute those outputs is:\n\n // Add gradient of 0.5 * norm_coefficient * ||X||_2^2, where ||X||_2 is the 2-norm.\n G_regularized = norm_coefficient * X + G\n\n // Update exponentially-averaged historical gradient.\n V_new = alpha * V + (1 - alpha) * G_regularized\n\n // Update exponentially-averaged historical squared gradient.\n H_new = beta * H + (1 - beta) * G_regularized * G_regularized\n\n // Compute the element-wise square-root of H_new. V_new will be element-wisely\n // divided by H_sqrt for a better update direction.\n H_sqrt = Sqrt(H_new) + epsilon\n\n // Compute learning-rate. Note that \"alpha**T\"/\"beta**T\" is alpha\'s/beta\'s T-th power.\n R_adjusted = T > 0 ? R * Sqrt(1 - beta**T) / (1 - alpha**T) : R\n\n // Compute new value of \"X\".\n X_new = X - R_adjusted * V_new / H_sqrt\n\n // Post-update regularization.\n X_final = (1 - norm_coefficient_post) * X_new \n\n If there are multiple inputs to be optimized, the pseudo code will be applied\n independently to each of them.\n" +-- +input: "A" +input: "B" +output: "C" +name: "Add" +op_type: "Add" +attribute { + name: "A-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +attribute { + name: "B-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nPerforms element-wise binary addition (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "A" +input: "B" +output: "C" +name: "And" +op_type: "And" +attribute { + name: "A-types" + strings: "bool" + type: STRINGS +} +attribute { + name: "B-types" + strings: "bool" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `and` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "data" +output: "reduced" +name: "ArgMax" +op_type: "ArgMax" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "select_last_index" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nComputes the indices of the max elements of the input tensor\'s element along the \nprovided axis. The resulting tensor has the same rank as the input if keepdims equal 1. \nIf keepdims equal 0, then the resulting tensor have the reduced dimension pruned. \nIf select_last_index is True (default False), the index of the last occurrence of the max \nis selected if the max appears more than once in the input. Otherwise the index of the \nfirst occurrence is selected.\nThe type of the output tensor is integer." +-- +input: "data" +output: "reduced" +name: "ArgMin" +op_type: "ArgMin" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "select_last_index" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nComputes the indices of the min elements of the input tensor\'s element along the \nprovided axis. The resulting tensor has the same rank as the input if keepdims equal 1. \nIf keepdims equal 0, then the resulting tensor have the reduced dimension pruned. \nIf select_last_index is True (default False), the index of the last occurrence of the min \nis selected if the min appears more than once in the input. Otherwise the index of the \nfirst occurrence is selected.\nThe type of the output tensor is integer." +-- +input: "X" +input: "Y" +output: "Z" +name: "ArrayFeatureExtractor" +op_type: "ArrayFeatureExtractor" +attribute { + name: "X-types" + strings: "int64" + strings: "string" + strings: "double" + strings: "float" + strings: "int32" + type: STRINGS +} +attribute { + name: "Y-types" + strings: "int64" + type: STRINGS +} +doc_string: "\n Select elements of the input tensor based on the indices passed.
        \n The indices are applied to the last axes of the tensor.\n" +-- +input: "input" +output: "output" +name: "Asin" +op_type: "Asin" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the arcsine (inverse of sine) of the given input tensor, element-wise.\n" +-- +input: "input" +output: "output" +name: "Asinh" +op_type: "Asinh" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the hyperbolic arcsine of the given input tensor element-wise.\n" +-- +input: "input" +output: "output" +name: "Atan" +op_type: "Atan" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the arctangent (inverse of tangent) of the given input tensor, element-wise.\n" +-- +input: "input" +output: "output" +name: "Atanh" +op_type: "Atanh" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the hyperbolic arctangent of the given input tensor element-wise.\n" +-- +input: "X" +output: "Y" +name: "AveragePool" +op_type: "AveragePool" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "ceil_mode" + i: 0 + type: INT +} +attribute { + name: "count_include_pad" + i: 0 + type: INT +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\n AveragePool consumes an input tensor X and applies average pooling across\n the tensor according to kernel sizes, stride sizes, and pad lengths.\n average pooling consisting of computing the average on all values of a\n subset of the input tensor according to the kernel size and downsampling the\n data into the output tensor Y for further processing. The output spatial shape will be following:\n ```\n output_spatial_shape[i] = floor((input_spatial_shape[i] + pad_shape[i] - kernel_spatial_shape[i]) / strides_spatial_shape[i] + 1)\n ```\n or\n ```\n output_spatial_shape[i] = ceil((input_spatial_shape[i] + pad_shape[i] - kernel_spatial_shape[i]) / strides_spatial_shape[i] + 1)\n ```\n if ceil_mode is enabled\n\n ```\n * pad_shape[i] is sum of pads along axis i\n ```\n\n `auto_pad` is a DEPRECATED attribute. If you are using them currently, the output spatial shape will be following:\n ```\n VALID: output_spatial_shape[i] = ceil((input_spatial_shape[i] - kernel_spatial_shape[i] + 1) / strides_spatial_shape[i])\n SAME_UPPER or SAME_LOWER: output_spatial_shape[i] = ceil(input_spatial_shape[i] / strides_spatial_shape[i])\n ```\n And pad shape will be following if `SAME_UPPER` or `SAME_LOWER`:\n ```\n pad_shape[i] = (output_spatial_shape[i] - 1) * strides_spatial_shape[i] + kernel_spatial_shape[i] - input_spatial_shape[i]\n ```\n The output of each pooling window is divided by the number of elements (exclude pad when attribute count_include_pad is zero).\n " +-- +input: "X" +input: "scale" +input: "B" +input: "mean" +input: "var" +output: "Y" +output: "mean" +output: "var" +output: "saved_mean" +output: "saved_var" +name: "BatchNormalization" +op_type: "BatchNormalization" +attribute { + name: "epsilon" + f: 1e-05 + type: FLOAT +} +attribute { + name: "momentum" + f: 0.9 + type: FLOAT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "scale-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "mean-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "var-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCarries out batch normalization as described in the paper\nhttps://arxiv.org/abs/1502.03167. Depending on the mode it is being run,\nthere are multiple cases for the number of outputs, which we list below:\n\nOutput case #1: Y, mean, var, saved_mean, saved_var (training mode)\nOutput case #2: Y (test mode)\n\nFor previous (depreciated) non-spatial cases, implementors are suggested\nto flatten the input shape to (N x C*D1*D2 ..*Dn) before a BatchNormalization Op.\nThis operator has **optional** inputs/outputs. See [the doc](IR.md) for more details about the representation of optional arguments. An empty string may be used in the place of an actual argument\'s name to indicate a missing argument. Trailing optional arguments (those not followed by an argument that is present) may also be simply omitted.\n" +-- +input: "X" +output: "Y" +name: "Binarizer" +op_type: "Binarizer" +attribute { + name: "threshold" + f: 0.0 + type: FLOAT +} +attribute { + name: "X-types" + strings: "int32" + strings: "int64" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Maps the values of the input tensor to either 0 or 1, element-wise, based on the outcome of a comparison against a threshold value.\n" +-- +input: "X" +input: "Y" +output: "Z" +name: "BitShift" +op_type: "BitShift" +attribute { + name: "direction" + s: "" + type: STRING +} +attribute { + name: "X-types" + strings: "uint16" + strings: "uint32" + strings: "uint64" + strings: "uint8" + type: STRINGS +} +attribute { + name: "Y-types" + strings: "uint16" + strings: "uint32" + strings: "uint64" + strings: "uint8" + type: STRINGS +} +doc_string: "\nBitwise shift operator performs element-wise operation. For each input element, if the\n attribute \"direction\" is \"RIGHT\", this operator moves its binary representation toward\n the right side so that the input value is effectively decreased. If the attribute \"direction\"\n is \"LEFT\", bits of binary representation moves toward the left side, which results the\n increase of its actual value. The input X is the tensor to be shifted and another input\n Y specifies the amounts of shifting. For example, if \"direction\" is \"Right\", X is [1, 4],\n and S is [1, 1], the corresponding output Z would be [0, 2]. If \"direction\" is \"LEFT\" with\n X=[1, 2] and S=[1, 2], the corresponding output Y would be [2, 8].\n \n Because this operator supports Numpy-style broadcasting, X\'s and Y\'s shapes are\n not necessarily identical.\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md)." +-- +input: "input" +output: "output" +name: "Cast" +op_type: "Cast" +attribute { + name: "to" + s: "" + type: INT +} +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "double" + strings: "uint32" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nThe operator casts the elements of a given input tensor to a data type\nspecified by the \'to\' argument and returns an output tensor of the same size in\nthe converted type. The \'to\' argument must be one of the data types specified\nin the \'DataType\' enum field in the TensorProto message.\n\nCasting from string tensor in plain (e.g., \"3.14\" and \"1000\") and scientific numeric representations\n(e.g., \"1e-5\" and \"1E8\") to float types is supported. For example, converting string \"100.5\" to an integer may\nresult 100. There are some string literals reserved for special floating-point values;\n\"+INF\" (and \"INF\"), \"-INF\", and \"NaN\" are positive infinity, negative infinity, and not-a-number, respectively.\nAny string which can exactly match \"+INF\" in a case-insensitive way would be mapped to positive infinite. Similarly,\nthis case-insensitive rule is applied to \"INF\" and \"NaN\". When casting from numeric tensors\nto string tensors, plain floating-point representation (such as \"314.15926\") would be used. \nConverting non-numerical-literal string such as \"Hello World!\" is an undefined behavior. Cases \nof converting string representing floating-point arithmetic value, such as \"2.718\", to INT is an undefined behavior.\n\nConversion from a numerical type to any numerical type is always allowed.\nUser must be aware of precision loss and value change caused by range difference between two types.\nFor example, a 64-bit float 3.1415926459 may be round to a 32-bit float 3.141592. Similarly, converting\nan integer 36 to Boolean may produce 1 because we truncate bits which can\'t be stored in the targeted type.\n" +-- +input: "X" +output: "Y" +name: "CastMap" +op_type: "CastMap" +attribute { + name: "cast_to" + s: "TO_FLOAT" + type: STRING +} +attribute { + name: "map_form" + s: "DENSE" + type: STRING +} +attribute { + name: "max_map" + i: 1 + type: INT +} +attribute { + name: "X-types" + strings: "map(int64,float" + strings: "map(int64,string" + type: STRINGS +} +doc_string: "\n Converts a map to a tensor.
        The map key must be an int64 and the values will be ordered\n in ascending order based on this key.
        The operator supports dense packing or sparse packing.\n If using sparse packing, the key cannot exceed the max_map-1 value.\n" +-- +input: "X" +output: "Y" +name: "CategoryMapper" +op_type: "CategoryMapper" +attribute { + name: "cats_int64s" + s: "" + type: INTS +} +attribute { + name: "cats_strings" + s: "" + type: STRINGS +} +attribute { + name: "default_int64" + i: -1 + type: INT +} +attribute { + name: "default_string" + s: "_Unused" + type: STRING +} +attribute { + name: "X-types" + strings: "int64" + strings: "string" + type: STRINGS +} +doc_string: "\n Converts strings to integers and vice versa.
        \n Two sequences of equal length are used to map between integers and strings,\n with strings and integers at the same index detailing the mapping.
        \n Each operator converts either integers to strings or strings to integers, depending \n on which default value attribute is provided. Only one default value attribute\n should be defined.
        \n If the string default value is set, it will convert integers to strings.\n If the int default value is set, it will convert strings to integers.\n" +-- +input: "X" +output: "Y" +name: "Ceil" +op_type: "Ceil" +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCeil takes one input data (Tensor) and produces one output data\n(Tensor) where the ceil is, y = ceil(x), is applied to\nthe tensor elementwise.\n" +-- +input: "X" +output: "Y" +name: "Celu" +op_type: "Celu" +attribute { + name: "alpha" + f: 1.0 + type: FLOAT +} +attribute { + name: "X-types" + strings: "float" + type: STRINGS +} +doc_string: "\nContinuously Differentiable Exponential Linear Units:\nPerform the linear unit element-wise on the input tensor X\nusing formula: \n\n```\nmax(0,x) + min(0,alpha*(exp(x/alpha)-1))\n```\n" +-- +input: "input" +input: "min" +input: "max" +output: "output" +name: "Clip" +op_type: "Clip" +attribute { + name: "input-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "min-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "max-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nClip operator limits the given input within an interval. The interval is\nspecified by the inputs \'min\' and \'max\'. They default to\nnumeric_limits::lowest() and numeric_limits::max(), respectively.\n" +-- +input: "input" +input: "condition" +output: "output" +name: "Compress" +op_type: "Compress" +attribute { + name: "axis" + s: "" + type: INT +} +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "condition-types" + strings: "bool" + type: STRINGS +} +doc_string: "\n Selects slices from an input tensor along a given axis where condition evaluates to True for each axis index.\n In case axis is not provided, input is flattened before elements are selected.\n Compress behaves like numpy.compress: https://docs.scipy.org/doc/numpy/reference/generated/numpy.compress.html\n " +-- +input: "inputs" +output: "concat_result" +name: "Concat" +op_type: "Concat" +attribute { + name: "axis" + s: "" + type: INT +} +attribute { + name: "inputs-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "Concatenate a list of tensors into a single tensor. All input tensors must have the same shape, except for the dimension size of the axis to concatenate on." +-- +input: "input_sequence" +output: "concat_result" +name: "ConcatFromSequence" +op_type: "ConcatFromSequence" +attribute { + name: "axis" + s: "" + type: INT +} +attribute { + name: "new_axis" + i: 0 + type: INT +} +attribute { + name: "input_sequence-types" + strings: "seq(float" + strings: "seq(uint32" + strings: "seq(string" + strings: "seq(int64" + strings: "seq(double" + strings: "seq(int8" + strings: "seq(float16" + strings: "seq(bool" + strings: "seq(complex128" + strings: "seq(uint64" + strings: "seq(int16" + strings: "seq(int32" + strings: "seq(uint16" + strings: "seq(complex64" + strings: "seq(uint8" + type: STRINGS +} +doc_string: "\nConcatenate a sequence of tensors into a single tensor.\nAll input tensors must have the same shape, except for the dimension size of the axis to concatenate on.\nBy default \'new_axis\' is 0, the behavior is similar to numpy.concatenate.\nWhen \'new_axis\' is 1, the behavior is similar to numpy.stack.\n" +-- +output: "output" +name: "Constant" +op_type: "Constant" +attribute { + name: "sparse_value" + s: "" + type: SPARSE_TENSOR +} +attribute { + name: "value" + s: "" + type: TENSOR +} +attribute { + name: "value_float" + s: "" + type: FLOAT +} +attribute { + name: "value_floats" + s: "" + type: FLOATS +} +attribute { + name: "value_int" + s: "" + type: INT +} +attribute { + name: "value_ints" + s: "" + type: INTS +} +attribute { + name: "value_string" + s: "" + type: STRING +} +attribute { + name: "value_strings" + s: "" + type: STRINGS +} +doc_string: "\nThis operator produces a constant tensor. Exactly one of the provided attributes, either value, sparse_value,\nor value_* must be specified.\n" +-- +input: "input" +output: "output" +name: "ConstantOfShape" +op_type: "ConstantOfShape" +attribute { + name: "value" + s: "" + type: TENSOR +} +attribute { + name: "input-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nGenerate a tensor with given value and shape.\n" +-- +input: "X" +input: "W" +input: "B" +output: "Y" +name: "Conv" +op_type: "Conv" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "dilations" + s: "" + type: INTS +} +attribute { + name: "group" + i: 1 + type: INT +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "W-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nThe convolution operator consumes an input tensor and a filter, and\ncomputes the output." +-- +input: "x" +input: "w" +input: "x_zero_point" +input: "w_zero_point" +output: "y" +name: "ConvInteger" +op_type: "ConvInteger" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "dilations" + s: "" + type: INTS +} +attribute { + name: "group" + i: 1 + type: INT +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "x-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "w-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "x_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "w_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nThe integer convolution operator consumes an input tensor, its zero-point, a filter, and its zero-point,\nand computes the output. The production MUST never overflow. The accumulation may overflow if and only if in 32 bits.\n" +-- +input: "X" +input: "W" +input: "B" +output: "Y" +name: "ConvTranspose" +op_type: "ConvTranspose" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "dilations" + s: "" + type: INTS +} +attribute { + name: "group" + i: 1 + type: INT +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "output_padding" + s: "" + type: INTS +} +attribute { + name: "output_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "W-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nThe convolution transpose operator consumes an input tensor and a filter,\nand computes the output.\n\nIf the pads parameter is provided the shape of the output is calculated via the following equation:\n\n output_shape[i] = stride[i] * (input_size[i] - 1) + output_padding[i] + ((kernel_shape[i] - 1) * dilations[i] + 1) - pads[start_i] - pads[end_i]\n\noutput_shape can also be explicitly specified in which case pads values are auto generated using these equations:\n\n total_padding[i] = stride[i] * (input_size[i] - 1) + output_padding[i] + ((kernel_shape[i] - 1) * dilations[i] + 1) - output_shape[i]\n If (auto_pads != SAME_UPPER): pads[start_i] = total_padding[i]/2; pads[end_i] = total_padding[i] - (total_padding[i]/2)\n Else: pads[start_i] = total_padding[i] - (total_padding[i]/2); pads[end_i] = (total_padding[i]/2).\n\n " +-- +input: "input" +output: "output" +name: "Cos" +op_type: "Cos" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the cosine of the given input tensor, element-wise.\n" +-- +input: "input" +output: "output" +name: "Cosh" +op_type: "Cosh" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the hyperbolic cosine of the given input tensor element-wise.\n" +-- +input: "x" +input: "axis" +output: "y" +name: "CumSum" +op_type: "CumSum" +attribute { + name: "exclusive" + i: 0 + type: INT +} +attribute { + name: "reverse" + i: 0 + type: INT +} +attribute { + name: "x-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "int32" + type: STRINGS +} +attribute { + name: "axis-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nPerforms cumulative sum of the input elements along the given axis.\nBy default, it will do the sum inclusively meaning the first element is copied as is.\nThrough an `exclusive` attribute, this behavior can change to exclude the first element.\nIt can also perform summation in the opposite direction of the axis. For that, set `reverse` attribute to 1.\n\nExample:\n```\ninput_x = [1, 2, 3]\naxis=0\noutput = [1, 3, 6]\nexclusive=1\noutput = [0, 1, 3]\nexclusive=0\nreverse=1\noutput = [6, 5, 3]\nexclusive=1\nreverse=1\noutput = [5, 3, 0]\n```\n " +-- +input: "input" +output: "output" +name: "DepthToSpace" +op_type: "DepthToSpace" +attribute { + name: "blocksize" + s: "" + type: INT +} +attribute { + name: "mode" + s: "DCR" + type: STRING +} +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "DepthToSpace rearranges (permutes) data from depth into blocks of spatial data.\nThis is the reverse transformation of SpaceToDepth. More specifically, this op outputs a copy of\nthe input tensor where values from the depth dimension are moved in spatial blocks to the height\nand width dimensions. By default, `mode` = `DCR`.\nIn the DCR mode, elements along the depth dimension from the input tensor are rearranged in the\nfollowing order: depth, column, and then row. The output y is computed from the input x as below:\n\nb, c, h, w = x.shape\n\ntmp = np.reshape(x, [b, blocksize, blocksize, c // (blocksize**2), h, w])\n\ntmp = np.transpose(tmp, [0, 3, 4, 1, 5, 2])\n\ny = np.reshape(tmp, [b, c // (blocksize**2), h * blocksize, w * blocksize])\n\n\nIn the CRD mode, elements along the depth dimension from the input tensor are rearranged in the\nfollowing order: column, row, and the depth. The output y is computed from the input x as below:\n\nb, c, h, w = x.shape\n\ntmp = np.reshape(x, [b, c // (blocksize ** 2), blocksize, blocksize, h, w])\n\ntmp = np.transpose(tmp, [0, 1, 4, 2, 5, 3])\n\ny = np.reshape(tmp, [b, c // (blocksize ** 2), h * blocksize, w * blocksize])\n\n" +-- +input: "x" +input: "x_scale" +input: "x_zero_point" +output: "y" +name: "DequantizeLinear" +op_type: "DequantizeLinear" +attribute { + name: "x-types" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "x_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "x_zero_point-types" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nThe linear dequantization operator. It consumes a quantized tensor, a scale, a zero point to compute the full precision tensor.\nThe dequantization formula is y = (x - x_zero_point) * x_scale. \'x_scale\' and \'x_zero_point\' must have same shape.\n\'x_zero_point\' and \'x\' must have same type. \'x\' and \'y\' must have same shape. In the case of dequantizing int32,\nthere\'s no zero point (zero point is supposed to be 0).\n" +-- +input: "X" +output: "Y" +name: "Det" +op_type: "Det" +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nDet calculates determinant of a square matrix or batches of square matrices.\nDet takes one input tensor of shape `[*, M, M]`, where `*` is zero or more batch dimensions,\nand the inner-most 2 dimensions form square matrices.\nThe output is a tensor of shape `[*]`, containing the determinants of all input submatrices.\ne.g., When the input is 2-D, the output is a scalar(shape is empty: `[]`).\n" +-- +input: "X" +output: "Y" +name: "DictVectorizer" +op_type: "DictVectorizer" +attribute { + name: "int64_vocabulary" + s: "" + type: INTS +} +attribute { + name: "string_vocabulary" + s: "" + type: STRINGS +} +attribute { + name: "X-types" + strings: "map(string,double" + strings: "map(int64,double" + strings: "map(string,float" + strings: "map(int64,float" + strings: "map(int64,string" + strings: "map(string,int64" + type: STRINGS +} +doc_string: "\n Uses an index mapping to convert a dictionary to an array.
        \n Given a dictionary, each key is looked up in the vocabulary attribute corresponding to\n the key type. The index into the vocabulary array at which the key is found is then\n used to index the output 1-D tensor \'Y\' and insert into it the value found in the dictionary \'X\'.
        \n The key type of the input map must correspond to the element type of the defined vocabulary attribute.\n Therefore, the output array will be equal in length to the index mapping vector parameter.\n All keys in the input dictionary must be present in the index mapping vector.\n For each item in the input dictionary, insert its value in the output array.\n Any keys not present in the input dictionary, will be zero in the output array.
        \n For example: if the ``string_vocabulary`` parameter is set to ``[\"a\", \"c\", \"b\", \"z\"]``,\n then an input of ``{\"a\": 4, \"c\": 8}`` will produce an output of ``[4, 8, 0, 0]``.\n " +-- +input: "A" +input: "B" +output: "C" +name: "Div" +op_type: "Div" +attribute { + name: "A-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +attribute { + name: "B-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nPerforms element-wise binary division (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "data" +input: "ratio" +input: "training_mode" +output: "output" +output: "mask" +name: "Dropout" +op_type: "Dropout" +attribute { + name: "seed" + s: "" + type: INT +} +attribute { + name: "data-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "ratio-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "training_mode-types" + strings: "bool" + type: STRINGS +} +doc_string: "\nDropout takes an input floating-point tensor, an optional input ratio (floating-point scalar) and an optional input training_mode (boolean scalar). It produces two tensor outputs,\noutput (floating-point tensor) and mask (optional `Tensor`). If `training_mode` is true then the output Y will be a random dropout;\nNote that this Dropout scales the masked input data by the following equation, so to convert the trained model into inference mode,\nthe user can simply not pass `training_mode` input or set it to false.\n```\noutput = scale * data * mask,\n```\nwhere\n```\nscale = 1. / (1. - ratio).\n```\nThis operator has **optional** inputs/outputs. See [the doc](IR.md) for more details about the representation of optional arguments. An empty string may be used in the place of an actual argument\'s name to indicate a missing argument. Trailing optional arguments (those not followed by an argument that is present) may also be simply omitted.\n" +-- +input: "x" +output: "y" +output: "y_scale" +output: "y_zero_point" +name: "DynamicQuantizeLinear" +op_type: "DynamicQuantizeLinear" +attribute { + name: "x-types" + strings: "float" + type: STRINGS +} +doc_string: "\nA Function to fuse calculation for Scale, Zero Point and FP32->8Bit convertion of FP32 Input data.\nOutputs Scale, ZeroPoint and Quantized Input for a given FP32 Input.\nScale is calculated as:\n```\n y_scale = (max(x) - min(x))/(qmax - qmin)\n * where qmax and qmin are max and min values for quantization range .i.e [0, 255] in case of uint8\n * data range is adjusted to include 0.\n```\nZero point is calculated as:\n```\nintermediate_zero_point = qmin - min(x)/y_scale\ny_zero_point = cast(round(saturate(itermediate_zero_point)))\n* where qmax and qmin are max and min values for quantization range .i.e [0, 255] in case of uint8\n* for saturation, it saturates to [0, 255] if it\'s uint8, or [-127, 127] if it\'s int8. Right now only uint8 is supported.\n* rounding to nearest ties to even.\n```\nData quantization formula is:\n```\ny = saturate (round (x / y_scale) + y_zero_point)\n* for saturation, it saturates to [0, 255] if it\'s uint8, or [-127, 127] if it\'s int8. Right now only uint8 is supported.\n* rounding to nearest ties to even.\n```\n" +-- +input: "Inputs" +output: "Output" +name: "Einsum" +op_type: "Einsum" +attribute { + name: "equation" + s: "" + type: STRING +} +attribute { + name: "Inputs-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nAn einsum of the form ```term1, term2 -> output-term``` produces an output tensor using the following equation\n\n```output[output-term] = reduce-sum( input1[term1] * input2[term] )```\n\nwhere the reduce-sum performs a summation over all the indices occurring in in the input terms (term1, term2)\nthat do not occur in the output-term.\n\nThe Einsum operator evaluates algebraic tensor operations on a sequence of tensors, using the Einstein summation\nconvention. The equation string contains a comma-separated sequence of lower case letters. Each term corresponds to\nan operand tensor, and the characters within the terms correspond to operands dimensions.\n\nThis sequence may be followed by \"->\" to separate the left and right hand side of the equation.\nIf the equation contains \"->\" followed by the right-hand side, the explicit (not classical) form of the Einstein\nsummation is performed, and the right-hand side indices indicate output tensor dimensions. In other cases,\noutput indices are (implicitly) set to the alphabetically sorted sequence of indices appearing exactly once in the\nequation.\n\nWhen a dimension character is repeated in the left-hand side, it represents summation along the dimension.\n\nThe equation may contain ellipsis (\"...\") to enable broadcasting. Ellipsis must indicate a fixed number of dimensions.\nSpecifically, every occurrence of ellipsis in the equation must represent the same number of dimensions.\nThe right-hand side may contain exactly one ellipsis. In implicit mode, the ellipsis dimensions are set to the\nbeginning of the output. The equation string may contain space (U+0020) character.\n" +-- +input: "X" +output: "Y" +name: "Elu" +op_type: "Elu" +attribute { + name: "alpha" + f: 1.0 + type: FLOAT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nElu takes one input data (Tensor) and produces one output data\n(Tensor) where the function `f(x) = alpha * (exp(x) - 1.) for x <\n0`, `f(x) = x for x >= 0`., is applied to the tensor elementwise.\n\n" +-- +input: "A" +input: "B" +output: "C" +name: "Equal" +op_type: "Equal" +attribute { + name: "A-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "B-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `equal` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "input" +output: "output" +name: "Erf" +op_type: "Erf" +attribute { + name: "input-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nComputes the error function of the given input tensor element-wise.\n" +-- +input: "input" +output: "output" +name: "Exp" +op_type: "Exp" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the exponential of the given input tensor, element-wise.\n" +-- +input: "input" +input: "shape" +output: "output" +name: "Expand" +op_type: "Expand" +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "shape-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nBroadcast the input tensor following the given shape and the broadcast rule.\nThe broadcast rule is similar to numpy.array(input) * numpy.ones(shape):\nDimensions are right alignment;\nTwo corresponding dimension must have the same value, or one of them is equal to 1.\nAlso, this operator is similar to numpy.broadcast_to(input, shape),\nbut the major difference is numpy.broadcast_to() does not allow shape to be smaller than input.size().\nIt is possible that the output.shape is not equal to shape, when some dimensions in shape is equal to 1,\nor the shape.ndim < input.shape.ndim.\n" +-- +input: "input" +output: "output" +name: "EyeLike" +op_type: "EyeLike" +attribute { + name: "dtype" + s: "" + type: INT +} +attribute { + name: "k" + i: 0 + type: INT +} +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "double" + strings: "uint32" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nGenerate a 2D tensor (matrix) with ones on the diagonal and zeros everywhere else. Only 2D\ntensors are supported, i.e. input T1 must be of rank 2. The shape of the output tensor is the\nsame as the input tensor. The data type can be specified by the \'dtype\' argument. If\n\'dtype\' is not specified, then the type of input tensor is used. By default, the main diagonal\nis populated with ones, but attribute \'k\' can be used to populate upper or lower diagonals.\nThe \'dtype\' argument must be one of the data types specified in the \'DataType\' enum field in the\nTensorProto message and be valid as an output type.\n" +-- +input: "X" +output: "Y" +name: "FeatureVectorizer" +op_type: "FeatureVectorizer" +attribute { + name: "inputdimensions" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "int32" + strings: "int64" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Concatenates input tensors into one continuous output.
        \n All input shapes are 2-D and are concatenated along the second dimention. 1-D tensors are treated as [1,C].\n Inputs are copied to the output maintaining the order of the input arguments.
        \n All inputs must be integers or floats, while the output will be all floating point values.\n" +-- +input: "input" +output: "output" +name: "Flatten" +op_type: "Flatten" +attribute { + name: "axis" + i: 1 + type: INT +} +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nFlattens the input tensor into a 2D matrix. If input tensor has shape\n(d_0, d_1, ... d_n) then the output will have shape\n(d_0 X d_1 ... d_(axis-1), d_axis X d_(axis+1) ... X dn).\n" +-- +input: "X" +output: "Y" +name: "Floor" +op_type: "Floor" +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nFloor takes one input data (Tensor) and produces one output data\n(Tensor) where the floor is, y = floor(x), is applied to\nthe tensor elementwise.\n" +-- +input: "X" +input: "W" +input: "R" +input: "B" +input: "sequence_lens" +input: "initial_h" +output: "Y" +output: "Y_h" +name: "GRU" +op_type: "GRU" +attribute { + name: "activation_alpha" + s: "" + type: FLOATS +} +attribute { + name: "activation_beta" + s: "" + type: FLOATS +} +attribute { + name: "activations" + s: "" + type: STRINGS +} +attribute { + name: "clip" + s: "" + type: FLOAT +} +attribute { + name: "direction" + s: "forward" + type: STRING +} +attribute { + name: "hidden_size" + s: "" + type: INT +} +attribute { + name: "linear_before_reset" + i: 0 + type: INT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "W-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "R-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "sequence_lens-types" + strings: "int32" + type: STRINGS +} +attribute { + name: "initial_h-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nComputes an one-layer GRU. This operator is usually supported via some custom\nimplementation such as CuDNN.\n\nNotations:\n\n`X` - input tensor\n\n`z` - update gate\n\n`r` - reset gate\n\n`h` - hidden gate\n\n`t` - time step (t-1 means previous time step)\n\n`W[zrh]` - W parameter weight matrix for update, reset, and hidden gates\n\n`R[zrh]` - R recurrence weight matrix for update, reset, and hidden gates\n\n`Wb[zrh]` - W bias vectors for update, reset, and hidden gates\n\n`Rb[zrh]` - R bias vectors for update, reset, and hidden gates\n\n`WB[zrh]` - W parameter weight matrix for backward update, reset, and hidden gates\n\n`RB[zrh]` - R recurrence weight matrix for backward update, reset, and hidden gates\n\n`WBb[zrh]` - W bias vectors for backward update, reset, and hidden gates\n\n`RBb[zrh]` - R bias vectors for backward update, reset, and hidden gates\n\n`H` - Hidden state\n\n`num_directions` - 2 if direction == bidirectional else 1\n\nActivation functions:\n\n Relu(x) - max(0, x)\n\n Tanh(x) - (1 - e^{-2x})/(1 + e^{-2x})\n\n Sigmoid(x) - 1/(1 + e^{-x})\n\n (NOTE: Below are optional)\n\n Affine(x) - alpha*x + beta\n\n LeakyRelu(x) - x if x >= 0 else alpha * x\n\n ThresholdedRelu(x) - x if x >= alpha else 0\n\n ScaledTanh(x) - alpha*Tanh(beta*x)\n\n HardSigmoid(x) - min(max(alpha*x + beta, 0), 1)\n\n Elu(x) - x if x >= 0 else alpha*(e^x - 1)\n\n Softsign(x) - x/(1 + |x|)\n\n Softplus(x) - log(1 + e^x)\n\nEquations (Default: f=Sigmoid, g=Tanh):\n\n - zt = f(Xt*(Wz^T) + Ht-1*(Rz^T) + Wbz + Rbz)\n\n - rt = f(Xt*(Wr^T) + Ht-1*(Rr^T) + Wbr + Rbr)\n\n - ht = g(Xt*(Wh^T) + (rt (.) Ht-1)*(Rh^T) + Rbh + Wbh) # default, when linear_before_reset = 0\n\n - ht = g(Xt*(Wh^T) + (rt (.) (Ht-1*(Rh^T) + Rbh)) + Wbh) # when linear_before_reset != 0\n\n - Ht = (1 - zt) (.) ht + zt (.) Ht-1\nThis operator has **optional** inputs/outputs. See [the doc](IR.md) for more details about the representation of optional arguments. An empty string may be used in the place of an actual argument\'s name to indicate a missing argument. Trailing optional arguments (those not followed by an argument that is present) may also be simply omitted.\n" +-- +input: "data" +input: "indices" +output: "output" +name: "Gather" +op_type: "Gather" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "indices-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nGiven `data` tensor of rank r >= 1, and `indices` tensor of rank q, gather\nentries of the axis dimension of `data` (by default outer-most one as axis=0) indexed by `indices`, and concatenates\nthem in an output tensor of rank q + (r - 1).\n\naxis = 0 :\n\nLet\nk = indices[i_{0}, ..., i_{q-1}]\nThen\noutput[i_{0}, ..., i_{q-1}, j_{0}, ..., j_{r-2}] = input[k , j_{0}, ..., j_{r-2}]\n\n```\n data = [\n [1.0, 1.2],\n [2.3, 3.4],\n [4.5, 5.7],\n ]\n indices = [\n [0, 1],\n [1, 2],\n ]\n output = [\n [\n [1.0, 1.2],\n [2.3, 3.4],\n ],\n [\n [2.3, 3.4],\n [4.5, 5.7],\n ],\n ]\n```\naxis = 1 :\n\nLet\nk = indices[i_{0}, ..., i_{q-1}]\nThen\noutput[i_{0}, ..., i_{q-1}, j_{0}, ..., j_{r-2}] = input[j_{0}, k, j_{1}, ..., j_{r-2}]\n\n```\n data = [\n [1.0, 1.2, 1.9],\n [2.3, 3.4, 3.9],\n [4.5, 5.7, 5.9],\n ]\n indices = [\n [0, 2],\n ]\n axis = 1,\n output = [\n [\n [1.0, 1.9],\n [2.3, 3.9],\n [4.5, 5.9],\n ],\n ]\n```\n" +-- +input: "data" +input: "indices" +output: "output" +name: "GatherElements" +op_type: "GatherElements" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "indices-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\n\nGatherElements takes two inputs `data` and `indices` of the same rank r >= 1\nand an optional attribute `axis` that identifies an axis of `data`\n(by default, the outer-most axis, that is axis 0). It is an indexing operation\nthat produces its output by indexing into the input data tensor at index\npositions determined by elements of the `indices` tensor.\nIts output shape is the same as the shape of `indices` and consists of one value\n(gathered from the `data`) for each element in `indices`.\n\nFor instance, in the 3-D case (r = 3), the output produced is determined\nby the following equations: \n```\n out[i][j][k] = input[index[i][j][k]][j][k] if axis = 0,\n out[i][j][k] = input[i][index[i][j][k]][k] if axis = 1,\n out[i][j][k] = input[i][j][index[i][j][k]] if axis = 2,\n```\n\nThis operator is also the inverse of ScatterElements. It is similar to Torch\'s gather operation.\n\nExample 1:\n```\n data = [\n [1, 2],\n [3, 4],\n ]\n indices = [\n [0, 0],\n [1, 0],\n ]\n axis = 1\n output = [\n [\n [1, 1],\n [4, 3],\n ],\n ]\n```\nExample 2:\n```\n data = [\n [1, 2, 3],\n [4, 5, 6],\n [7, 8, 9],\n ]\n indices = [\n [1, 2, 0],\n [2, 0, 0],\n ]\n axis = 0\n output = [\n [\n [4, 8, 3],\n [7, 2, 3],\n ],\n ]\n```\n" +-- +input: "data" +input: "indices" +output: "output" +name: "GatherND" +op_type: "GatherND" +attribute { + name: "batch_dims" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "indices-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nGiven `data` tensor of rank `r` >= 1, `indices` tensor of rank `q` >= 1, and `batch_dims` integer `b`, this operator gathers \nslices of `data` into an output tensor of rank `q + r - indices_shape[-1] - 1 - b`.\n\n`indices` is an q-dimensional integer tensor, best thought of as a `(q-1)`-dimensional tensor of index-tuples into `data`, \nwhere each element defines a slice of `data`\n\n`batch_dims` (denoted as `b`) is an integer indicating the number of batch dimensions, i.e the leading `b` number of dimensions of \n`data` tensor and `indices` are representing the batches, and the gather starts from the `b+1` dimension. \n\nSome salient points about the inputs\' rank and shape:\n \n1) r >= 1 and q >= 1 are to be honored. There is no dependency condition to be met between ranks `r` and `q`\n\n2) The first `b` dimensions of the shape of `indices` tensor and `data` tensor must be equal.\n\n3) b < min(q, r) is to be honored.\n\n4) The `indices_shape[-1]` should have a value between 1 (inclusive) and rank `r-b` (inclusive) \n\n5) All values in `indices` are expected to be within bounds [-s, s-1] along axis of size `s` (i.e.) `-data_shape[i] <= indices[...,i] <= data_shape[i] - 1`.\n It is an error if any of the index values are out of bounds.\n\nThe output is computed as follows:\n\nThe output tensor is obtained by mapping each index-tuple in the `indices` tensor to the corresponding slice of the input `data`.\n \n1) If `indices_shape[-1] > r-b` => error condition\n\n2) If `indices_shape[-1] == r-b`, since the rank of `indices` is `q`, `indices` can be thought of as `N` `(q-b-1)`-dimensional tensors\n containing 1-D tensors of dimension `r-b`, where `N` is an integer equals to the product of 1 and all the elements in the batch dimensions \n of the indices_shape. Let us think of each such `r-b` ranked tensor as `indices_slice`. Each *scalar value* corresponding to `data[0:b-1,indices_slice]` \n is filled into the corresponding location of the `(q-b-1)`-dimensional tensor to form the `output` tensor (Example 1 below)\n\n3) If `indices_shape[-1] < r-b`, since the rank of `indices` is `q`, `indices` can be thought of as `N` `(q-b-1)`-dimensional tensor\n containing 1-D tensors of dimension `< r-b`. Let us think of each such tensors as `indices_slice`. Each *tensor slice* corresponding \n to `data[0:b-1, indices_slice , :]` is filled into the corresponding location of the `(q-b-1)`-dimensional tensor \n to form the `output` tensor (Examples 2, 3, 4 and 5 below)\n\nThis operator is the inverse of `ScatterND`.\n\n`Example 1`\n\n batch_dims = 0\n\n data = [[0,1],[2,3]] # data_shape = [2, 2]\n\n indices = [[0,0],[1,1]] # indices_shape = [2, 2]\n\n output = [0,3] # output_shape = [2]\n\n`Example 2`\n\n batch_dims = 0\n\n data = [[0,1],[2,3]] # data_shape = [2, 2]\n\n indices = [[1],[0]] # indices_shape = [2, 1]\n\n output = [[2,3],[0,1]] # output_shape = [2, 2]\n\n`Example 3`\n\n batch_dims = 0\n\n data = [[[0,1],[2,3]],[[4,5],[6,7]]] # data_shape = [2, 2, 2]\n\n indices = [[0,1],[1,0]] # indices_shape = [2, 2]\n\n output = [[2,3],[4,5]] # output_shape = [2, 2] \n\n`Example 4`\n\n batch_dims = 0\n\n data = [[[0,1],[2,3]],[[4,5],[6,7]]] # data_shape = [2, 2, 2]\n\n indices = [[[0,1]],[[1,0]]] # indices_shape = [2, 1, 2]\n\n output = [[[2,3]],[[4,5]]] # output_shape = [2, 1, 2] \n\n`Example 5`\n\n batch_dims = 1\n\n data = [[[0,1],[2,3]],[[4,5],[6,7]]] # data_shape = [2, 2, 2]\n\n indices = [[1],[0]] # indices_shape = [2, 1]\n\n output = [[2,3],[4,5]] # output_shape = [2, 2] \n\n\n" +-- +input: "A" +input: "B" +input: "C" +output: "Y" +name: "Gemm" +op_type: "Gemm" +attribute { + name: "alpha" + f: 1.0 + type: FLOAT +} +attribute { + name: "beta" + f: 1.0 + type: FLOAT +} +attribute { + name: "transA" + i: 0 + type: INT +} +attribute { + name: "transB" + i: 0 + type: INT +} +attribute { + name: "A-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +attribute { + name: "B-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +attribute { + name: "C-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "General Matrix multiplication:\nhttps://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms#Level_3\n\nA\' = transpose(A) if transA else A\n\nB\' = transpose(B) if transB else B\n\nCompute Y = alpha * A\' * B\' + beta * C, where input tensor A has shape (M, K) or (K, M),\ninput tensor B has shape (K, N) or (N, K), input tensor C is broadcastable to shape (M, N),\nand output tensor Y has shape (M, N). A will be transposed before doing the\ncomputation if attribute transA is non-zero, same for B and transB.\nThis operator supports **unidirectional broadcasting** (tensor C should be unidirectional broadcastable to tensor A * B); for more details please check [the doc](Broadcasting.md).\nThis operator has **optional** inputs/outputs. See [the doc](IR.md) for more details about the representation of optional arguments. An empty string may be used in the place of an actual argument\'s name to indicate a missing argument. Trailing optional arguments (those not followed by an argument that is present) may also be simply omitted.\n" +-- +input: "X" +output: "Y" +name: "GlobalAveragePool" +op_type: "GlobalAveragePool" +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\n GlobalAveragePool consumes an input tensor X and applies average pooling across\n the values in the same channel. This is equivalent to AveragePool with kernel size\n equal to the spatial dimension of input tensor." +-- +input: "X" +output: "Y" +name: "GlobalLpPool" +op_type: "GlobalLpPool" +attribute { + name: "p" + i: 2 + type: INT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\n GlobalLpPool consumes an input tensor X and applies lp pool pooling across\n the values in the same channel. This is equivalent to LpPool with kernel size\n equal to the spatial dimension of input tensor." +-- +input: "X" +output: "Y" +name: "GlobalMaxPool" +op_type: "GlobalMaxPool" +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\n GlobalMaxPool consumes an input tensor X and applies max pooling across\n the values in the same channel. This is equivalent to MaxPool with kernel size\n equal to the spatial dimension of input tensor." +-- +input: "Inputs" +output: "Outputs" +name: "Gradient" +op_type: "Gradient" +attribute { + name: "xs" + s: "" + type: STRINGS +} +attribute { + name: "y" + s: "" + type: STRING +} +attribute { + name: "zs" + s: "" + type: STRINGS +} +attribute { + name: "Inputs-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nGradient operator computes the partial derivatives of a specific tensor w.r.t.\nsome other tensors. This operator is widely used in gradient-based training\nalgorithms. To illustrate its use, let\'s consider a computation graph,\n\n```\nX -----.\n |\n v\nW --> Conv --> H --> Gemm --> Y\n ^\n |\n Z\n```\n\n, where W and Z are trainable tensors. Note that operators\' attributes are\nomitted for the sake of simplicity. Let dY/dW (dY/dZ) be the gradient of\nY with respect to W (Z). The user can compute gradient by inserting Gradient\noperator to form another graph shown below.\n\n```\nW --> Conv --> H --> Gemm --> Y\n| ^ ^\n| | |\n| X Z\n| | |\n| | .----------\'\n| | | (W/Z/X is the 1st/2nd/3rd input of Gradient as shown in\n| | | \"xs\" followed by \"zs\")\n| v v\n\'---> Gradient(xs=[\"W\", \"Z\"], zs=[\"X\"], y=\"Y\")\n | |\n | \'-----------------------------------> dY/dW (1st output of Gradient)\n |\n \'---------------------------------------> dY/dZ (2nd output of Gradient)\n```\n\nBy definition, the tensor \"y\" is a function of independent variables in \"xs\"\nand \"zs\". Since we only compute the gradient of \"y\" w.r.t. the differentiable\nvariables in \"xs\", this Gradient only outputs dY/dW and dY/dZ. Note that \"H\"\ncannot appear in \"xs\" and \"zs\". The reason is that \"H\" can be determined by\ntensors \"W\" and \"X\" and therefore \"H\" is not an independent variable.\n\nAll outputs are optional. If needed, for example, user can assign an empty\nstring to the 1st output name of that Gradient to skip the generation of dY/dW.\nNote that the concept of optional outputs can also be found in ONNX\'s RNN, GRU,\nand LSTM.\n\nGradient operator can compute derivative against intermediate tensors. For\nexample, the gradient of Y with respect to H can be done via\n\n```\nW --> Conv --> H --> Gemm --> Y\n ^ | ^\n | | |\n X | Z\n .-------\' |\n | .----------\'\n | | (H/Z is the 1st/2nd input of Gradient as shown in \"xs\")\n v v\n Gradient(xs=[\"H\", \"Z\"], y=\"Y\")\n | |\n | \'-----------------------------------> dY/dH (1st output of Gradient)\n |\n \'---------------------------------------> dY/dZ (2nd output of Gradient)\n```\n\nIt is possible to represent high-order differentiation using Gradient operators.\nFor example, given the following linear model:\n\n```\nW --> Gemm --> Y --> Loss --> O\n ^ ^\n | |\n X L\n```\n\nTo compute the 2nd order derivative of O with respect to W (denoted by\nd^2O/dW^2), one can do\n\n```\nW --> Gemm --> Y --> Loss --> O\n| ^ ^\n| | |\n| X .------------L\n| | | |\n| | | v\n+------+-+> Gradient(xs=[\"X\", \"W\"], zs=[\"L\"], y=\"O\") ---> dO/dX (1st output of Gradient)\n| | | |\n| | | \'---> dO/dW (2nd output of Gradient)\n| v v\n\'---> Gradient(xs=[\"X\", \"W\"], zs=[\"L\"], y=\"dO/dW\") ---> d(dO/dW)dX (1st output of\n | Gradient)\n |\n |\n \'---> d^2O/dW^2 (2nd output of Gradient)\n```\n\nThe tensors named in attributes \"xs\", \"zs\", and \"y\" define the differentiated\ncomputation graph, and the inputs to Gradient node define the values at\nwhich the gradient is computed. We can feed different tensors to the identified\ngraph. For example, one can compute the gradient of Y with respect to H at \na specific value of H, H_1, by providing that value as an input to the Gradient\nnode.\n\n```\nW --> Conv --> H --> Gemm --> Y\n ^ ^\n | |\n X Z\n\n Z_1 (2nd input of Gradient)\n |\n v\nH_1 --> Gradient(xs=[\"H\", \"Z\"], y=\"Y\") ---> dY/dH when H = H_1 and Y = Y_1.\n |\n \'------------------------------> dY/dZ (2nd output of Gradient)\n```\n\nWhen the inputs of Gradient are the tensors named in \"xs\" and \"zs\", the\ncomputation can be optimized. More specifically, intermediate variables in\nforward pass can be reused if the gradient is computed via reverse-mode\nauto-differentiation.\n\n" +-- +input: "Inputs" +output: "Outputs" +name: "GraphCall" +op_type: "GraphCall" +attribute { + name: "graph_name" + s: "" + type: STRING +} +attribute { + name: "Inputs-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nThe GraphCall operator invokes a graph inside TrainingInfoProto\'s\nalgorithm field. The GraphCall inputs and outputs are bound to those of\ninvoked graph by position. If a graph input has an initializer, that input\nis considered optional. All graph outputs are optional.\n\nBelow Python syntax is used for describing dictionary and list.\n\nAssume that ModelProto\'s graph field has\n- name: \"MyInferenceGraph\"\n- input: [\"X\", \"W\", \"Z\"]\n- initializer: [W]\n- output: [\"Y\"]\n\nas visualized below for inference.\n\n```\nX -----.\n |\n v\nW --> Conv --> H --> Gemm --> Y\n ^\n |\n Z\n```\n\nAssume that the training algorithm contains\n\n- inputs: [\"X_1\", \"Z_1\", \"C\"]\n- initializer: [T]\n- outputs: [\"W_new\"]\n\nwith a dictionary\n\n- update_binding: {\"W\": \"W_new\", \"T\": \"T_new\"}\n\nInside the training algorithm graph, one can invoke the inference\ngraph via adding a GraphCall node with\n\n- inputs: [\"X_1\", \"W\", Z_1\"]\n- outputs: [\"Y_1\"]\n- an attribute graph_name=\"MyInferenceGraph\",\n\nThe initializers, \"W\" and \"T\" in this case, in update_binding\nare considered globally-visible and mutable variables, which\ncan be used as inputs of operators in the training graph.\n\nAn example training algorithm graph may look like\n\n```\n.-------- W (a global and mutable variable from\n| | the inference graph)\n| |\n| .-----\'-----------.\n| | |\n| | v\n| | .-- X_1 --> GraphCall(graph_name=\"MyInferenceGraph\")\n| | | | |\n| | | | |\n| | | Z_1 -----\' |\n| | | | V\n| | | | Y_1 ---> Loss ---> O\n| | | | ^\n| | | | |\n| | `--. | C\n| | | | |\n| | | | .----------------\'\n| | | | |\n| | v v v\n| `--> Gradient(xs=[\"W\"], zs=[\"X_1\", \"Z_1\", \"C\"], y=\"O\")\n| |\n| v\n| dO_dW (gradient of W) 1 (a scalar one)\n| | |\n| V v\n| Div <--- T ------------> Add ---> T_new\n| | (T is the number of training iterations.\n| | T is also globally visible and mutable.)\n| v\n`-----> Sub ----> W_new\n```\n\nwhere Loss is a dummy node which computes the minimized objective function.\n\nThe variable \"W\" is an optional input in the called graph.\nIf the user omits it, the input list of GraphCall becomes [\"X_1\", \"\", \"Z_1\"].\nIn this case, from the view of computation graph, the Conv operator invoked by\nGraphCall\'s may be still connected the global \"W\" variable and therefore the\nstructure of the computation graph is unchanged.\n" +-- +input: "A" +input: "B" +output: "C" +name: "Greater" +op_type: "Greater" +attribute { + name: "A-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "B-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `greater` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "A" +input: "B" +output: "C" +name: "GreaterOrEqual" +op_type: "GreaterOrEqual" +attribute { + name: "A-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "B-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `greater_equal` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "X" +output: "Y" +name: "HardSigmoid" +op_type: "HardSigmoid" +attribute { + name: "alpha" + f: 0.2 + type: FLOAT +} +attribute { + name: "beta" + f: 0.5 + type: FLOAT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nHardSigmoid takes one input data (Tensor) and produces one output data\n(Tensor) where the HardSigmoid function, y = max(0, min(1, alpha * x + beta)),\nis applied to the tensor elementwise.\n" +-- +input: "input" +output: "output" +name: "Hardmax" +op_type: "Hardmax" +attribute { + name: "axis" + i: 1 + type: INT +} +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nThe operator computes the hardmax (1 for the first maximum value, and 0 for all others) values for each layer in the batch\n of the given input.\n\nThe input does not need to explicitly be a 2D vector; rather, it will be\ncoerced into one. For an arbitrary n-dimensional tensor\ninput \\in [a_0, a_1, ..., a_{k-1}, a_k, ..., a_{n-1}] and k is\nthe axis provided, then input will be coerced into a 2-dimensional tensor with\ndimensions [a_0 * ... * a_{k-1}, a_k * ... * a_{n-1}]. For the default\ncase where axis=1, this means the input tensor will be coerced into a 2D tensor\nof dimensions [a_0, a_1 * ... * a_{n-1}], where a_0 is often the batch size.\nIn this situation, we must have a_0 = N and a_1 * ... * a_{n-1} = D.\nEach of these dimensions must be matched correctly, or else the operator\nwill throw errors. The output tensor has the same shape\nand contains the hardmax values of the corresponding input.\n" +-- +input: "input" +output: "output" +name: "Identity" +op_type: "Identity" +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "Identity operator" +-- +input: "cond" +output: "outputs" +name: "If" +op_type: "If" +attribute { + name: "else_branch" + s: "" + type: GRAPH +} +attribute { + name: "then_branch" + s: "" + type: GRAPH +} +attribute { + name: "cond-types" + strings: "bool" + type: STRINGS +} +doc_string: "If conditional" +-- +input: "X" +output: "Y" +name: "Imputer" +op_type: "Imputer" +attribute { + name: "imputed_value_floats" + s: "" + type: FLOATS +} +attribute { + name: "imputed_value_int64s" + s: "" + type: INTS +} +attribute { + name: "replaced_value_float" + f: 0.0 + type: FLOAT +} +attribute { + name: "replaced_value_int64" + i: 0 + type: INT +} +attribute { + name: "X-types" + strings: "int32" + strings: "int64" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Replaces inputs that equal one value with another, leaving all other elements alone.
        \n This operator is typically used to replace missing values in situations where they have a canonical\n representation, such as -1, 0, NaN, or some extreme value.
        \n One and only one of imputed_value_floats or imputed_value_int64s should be defined -- floats if the input tensor\n holds floats, integers if the input tensor holds integers. The imputed values must all fit within the\n width of the tensor element type. One and only one of the replaced_value_float or replaced_value_int64 should be defined,\n which one depends on whether floats or integers are being processed.
        \n The imputed_value attribute length can be 1 element, or it can have one element per input feature.
        In other words, if the input tensor has the shape [*,F], then the length of the attribute array may be 1 or F. If it is 1, then it is broadcast along the last dimension and applied to each feature.\n" +-- +input: "input" +input: "scale" +input: "B" +output: "output" +name: "InstanceNormalization" +op_type: "InstanceNormalization" +attribute { + name: "epsilon" + f: 1e-05 + type: FLOAT +} +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "scale-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCarries out instance normalization as described in the paper\nhttps://arxiv.org/abs/1607.08022.\n\ny = scale * (x - mean) / sqrt(variance + epsilon) + B,\nwhere mean and variance are computed per instance per channel.\n\n" +-- +input: "X" +output: "Y" +name: "IsInf" +op_type: "IsInf" +attribute { + name: "detect_negative" + i: 1 + type: INT +} +attribute { + name: "detect_positive" + i: 1 + type: INT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "Map infinity to true and other values to false." +-- +input: "X" +output: "Y" +name: "IsNaN" +op_type: "IsNaN" +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "Returns which elements of the input are NaN." +-- +input: "X" +output: "Y" +name: "LRN" +op_type: "LRN" +attribute { + name: "alpha" + f: 0.0001 + type: FLOAT +} +attribute { + name: "beta" + f: 0.75 + type: FLOAT +} +attribute { + name: "bias" + f: 1.0 + type: FLOAT +} +attribute { + name: "size" + s: "" + type: INT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nLocal Response Normalization proposed in the [AlexNet paper](https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf).\nIt normalizes over local input regions.\nThe local region is defined across the channels. For an element X[n, c, d1, ..., dk] in a tensor\nof shape (N x C x D1 x D2, ..., Dk), its region is\n{X[n, i, d1, ..., dk] | max(0, c - floor((size - 1) / 2)) <= i <= min(C - 1, c + ceil((size - 1) / 2))}.\n\nsquare_sum[n, c, d1, ..., dk] = sum(X[n, i, d1, ..., dk] ^ 2),\nwhere max(0, c - floor((size - 1) / 2)) <= i <= min(C - 1, c + ceil((size - 1) / 2)).\n\nY[n, c, d1, ..., dk] = X[n, c, d1, ..., dk] / (bias + alpha / size * square_sum[n, c, d1, ..., dk] ) ^ beta\n" +-- +input: "X" +input: "W" +input: "R" +input: "B" +input: "sequence_lens" +input: "initial_h" +input: "initial_c" +input: "P" +output: "Y" +output: "Y_h" +output: "Y_c" +name: "LSTM" +op_type: "LSTM" +attribute { + name: "activation_alpha" + s: "" + type: FLOATS +} +attribute { + name: "activation_beta" + s: "" + type: FLOATS +} +attribute { + name: "activations" + s: "" + type: STRINGS +} +attribute { + name: "clip" + s: "" + type: FLOAT +} +attribute { + name: "direction" + s: "forward" + type: STRING +} +attribute { + name: "hidden_size" + s: "" + type: INT +} +attribute { + name: "input_forget" + i: 0 + type: INT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "W-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "R-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "sequence_lens-types" + strings: "int32" + type: STRINGS +} +attribute { + name: "initial_h-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "initial_c-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "P-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nComputes an one-layer LSTM. This operator is usually supported via some\ncustom implementation such as CuDNN.\n\nNotations:\n\n`X` - input tensor\n\n`i` - input gate\n\n`o` - output gate\n\n`f` - forget gate\n\n`c` - cell gate\n\n`t` - time step (t-1 means previous time step)\n\n`W[iofc]` - W parameter weight matrix for input, output, forget, and cell gates\n\n`R[iofc]` - R recurrence weight matrix for input, output, forget, and cell gates\n\n`Wb[iofc]` - W bias vectors for input, output, forget, and cell gates\n\n`Rb[iofc]` - R bias vectors for input, output, forget, and cell gates\n\n`P[iof]` - P peephole weight vector for input, output, and forget gates\n\n`WB[iofc]` - W parameter weight matrix for backward input, output, forget, and cell gates\n\n`RB[iofc]` - R recurrence weight matrix for backward input, output, forget, and cell gates\n\n`WBb[iofc]` - W bias vectors for backward input, output, forget, and cell gates\n\n`RBb[iofc]` - R bias vectors for backward input, output, forget, and cell gates\n\n`PB[iof]` - P peephole weight vector for backward input, output, and forget gates\n\n`H` - Hidden state\n\n`num_directions` - 2 if direction == bidirectional else 1\n\nActivation functions:\n\n Relu(x) - max(0, x)\n\n Tanh(x) - (1 - e^{-2x})/(1 + e^{-2x})\n\n Sigmoid(x) - 1/(1 + e^{-x})\n\n (NOTE: Below are optional)\n\n Affine(x) - alpha*x + beta\n\n LeakyRelu(x) - x if x >= 0 else alpha * x\n\n ThresholdedRelu(x) - x if x >= alpha else 0\n\n ScaledTanh(x) - alpha*Tanh(beta*x)\n\n HardSigmoid(x) - min(max(alpha*x + beta, 0), 1)\n\n Elu(x) - x if x >= 0 else alpha*(e^x - 1)\n\n Softsign(x) - x/(1 + |x|)\n\n Softplus(x) - log(1 + e^x)\n\nEquations (Default: f=Sigmoid, g=Tanh, h=Tanh):\n\n - it = f(Xt*(Wi^T) + Ht-1*(Ri^T) + Pi (.) Ct-1 + Wbi + Rbi)\n\n - ft = f(Xt*(Wf^T) + Ht-1*(Rf^T) + Pf (.) Ct-1 + Wbf + Rbf)\n\n - ct = g(Xt*(Wc^T) + Ht-1*(Rc^T) + Wbc + Rbc)\n\n - Ct = ft (.) Ct-1 + it (.) ct\n\n - ot = f(Xt*(Wo^T) + Ht-1*(Ro^T) + Po (.) Ct + Wbo + Rbo)\n\n - Ht = ot (.) h(Ct)\nThis operator has **optional** inputs/outputs. See [the doc](IR.md) for more details about the representation of optional arguments. An empty string may be used in the place of an actual argument\'s name to indicate a missing argument. Trailing optional arguments (those not followed by an argument that is present) may also be simply omitted.\n" +-- +input: "X" +output: "Y" +name: "LabelEncoder" +op_type: "LabelEncoder" +attribute { + name: "default_float" + f: -0.0 + type: FLOAT +} +attribute { + name: "default_int64" + i: -1 + type: INT +} +attribute { + name: "default_string" + s: "_Unused" + type: STRING +} +attribute { + name: "keys_floats" + s: "" + type: FLOATS +} +attribute { + name: "keys_int64s" + s: "" + type: INTS +} +attribute { + name: "keys_strings" + s: "" + type: STRINGS +} +attribute { + name: "values_floats" + s: "" + type: FLOATS +} +attribute { + name: "values_int64s" + s: "" + type: INTS +} +attribute { + name: "values_strings" + s: "" + type: STRINGS +} +attribute { + name: "X-types" + strings: "int64" + strings: "string" + strings: "float" + type: STRINGS +} +doc_string: "\n Maps each element in the input tensor to another value.
        \n The mapping is determined by the two parallel attributes, \'keys_*\' and\n \'values_*\' attribute. The i-th value in the specified \'keys_*\' attribute\n would be mapped to the i-th value in the specified \'values_*\' attribute. It\n implies that input\'s element type and the element type of the specified\n \'keys_*\' should be identical while the output type is identical to the\n specified \'values_*\' attribute. If an input element can not be found in the\n specified \'keys_*\' attribute, the \'default_*\' that matches the specified\n \'values_*\' attribute may be used as its output value.
        \n Let\'s consider an example which maps a string tensor to an integer tensor.\n Assume and \'keys_strings\' is [\"Amy\", \"Sally\"], \'values_int64s\' is [5, 6],\n and \'default_int64\' is \'-1\'. The input [\"Dori\", \"Amy\", \"Amy\", \"Sally\",\n \"Sally\"] would be mapped to [-1, 5, 5, 6, 6].
        \n Since this operator is an one-to-one mapping, its input and output shapes\n are the same. Notice that only one of \'keys_*\'/\'values_*\' can be set.
        \n For key look-up, bit-wise comparison is used so even a float NaN can be\n mapped to a value in \'values_*\' attribute.
        \n" +-- +input: "X" +output: "Y" +name: "LeakyRelu" +op_type: "LeakyRelu" +attribute { + name: "alpha" + f: 0.01 + type: FLOAT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nLeakyRelu takes input data (Tensor) and an argument alpha, and produces one\noutput data (Tensor) where the function `f(x) = alpha * x for x < 0`,\n`f(x) = x for x >= 0`, is applied to the data tensor elementwise.\n" +-- +input: "A" +input: "B" +output: "C" +name: "Less" +op_type: "Less" +attribute { + name: "A-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "B-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `less` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "A" +input: "B" +output: "C" +name: "LessOrEqual" +op_type: "LessOrEqual" +attribute { + name: "A-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "B-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `less_equal` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "X" +output: "Y" +output: "Z" +name: "LinearClassifier" +op_type: "LinearClassifier" +attribute { + name: "classlabels_ints" + s: "" + type: INTS +} +attribute { + name: "classlabels_strings" + s: "" + type: STRINGS +} +attribute { + name: "coefficients" + s: "" + type: FLOATS +} +attribute { + name: "intercepts" + s: "" + type: FLOATS +} +attribute { + name: "multi_class" + i: 0 + type: INT +} +attribute { + name: "post_transform" + s: "NONE" + type: STRING +} +attribute { + name: "X-types" + strings: "int32" + strings: "int64" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Linear classifier\n" +-- +input: "X" +output: "Y" +name: "LinearRegressor" +op_type: "LinearRegressor" +attribute { + name: "coefficients" + s: "" + type: FLOATS +} +attribute { + name: "intercepts" + s: "" + type: FLOATS +} +attribute { + name: "post_transform" + s: "NONE" + type: STRING +} +attribute { + name: "targets" + i: 1 + type: INT +} +attribute { + name: "X-types" + strings: "int32" + strings: "int64" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Generalized linear regression evaluation.
        \n If targets is set to 1 (default) then univariate regression is performed.
        \n If targets is set to M then M sets of coefficients must be passed in as a sequence\n and M results will be output for each input n in N.
        \n The coefficients array is of length n, and the coefficients for each target are contiguous.\n Intercepts are optional but if provided must match the number of targets.\n" +-- +input: "input" +output: "output" +name: "Log" +op_type: "Log" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the natural log of the given input tensor, element-wise.\n" +-- +input: "input" +output: "output" +name: "LogSoftmax" +op_type: "LogSoftmax" +attribute { + name: "axis" + i: 1 + type: INT +} +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nThe operator computes the logsoftmax (log of softmax) values for each layer in the batch\n of the given input.\n\nThe input does not need to explicitly be a 2D vector; rather, it will be\ncoerced into one. For an arbitrary n-dimensional tensor\ninput \\in [a_0, a_1, ..., a_{k-1}, a_k, ..., a_{n-1}] and k is\nthe axis provided, then input will be coerced into a 2-dimensional tensor with\ndimensions [a_0 * ... * a_{k-1}, a_k * ... * a_{n-1}]. For the default\ncase where axis=1, this means the input tensor will be coerced into a 2D tensor\nof dimensions [a_0, a_1 * ... * a_{n-1}], where a_0 is often the batch size.\nIn this situation, we must have a_0 = N and a_1 * ... * a_{n-1} = D.\nEach of these dimensions must be matched correctly, or else the operator\nwill throw errors. The output tensor has the same shape\nand contains the logsoftmax values of the corresponding input.\n" +-- +input: "M" +input: "cond" +input: "v_initial" +output: "v_final_and_scan_outputs" +name: "Loop" +op_type: "Loop" +attribute { + name: "body" + s: "" + type: GRAPH +} +attribute { + name: "M-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "cond-types" + strings: "bool" + type: STRINGS +} +attribute { + name: "v_initial-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nGeneric Looping construct. This loop has multiple termination conditions:\n\n1) Trip count. Iteration count specified at runtime. Set by\n specifying the input M. Optional. Set to empty string to omit.\n Note that a static trip count (specified at graph construction time) can be\n specified by passing in a constant node for input M.\n2) Loop termination condition. This is an input to the op that determines\n whether to run the first iteration and also a loop-carried dependency for\n the body graph. The body graph must yield a value for the condition variable,\n whether this input is provided or not.\n\nThis table summarizes the operating modes of this operator with equivalent\nC-style code:\n\n Operator inputs defined as (max_trip_count, condition_var).\n\n input (\"\", \"\"):\n for (int i=0; ; ++i) {\n cond = ... // Note this value is ignored, but is required in the body\n }\n\n input (\"\", cond) // Note this is analogous to a while loop\n bool cond = ...;\n for (int i=0; cond; ++i) {\n cond = ...;\n }\n\n input (\"\", 1) // Note this is analogous to a do-while loop\n bool cond = true\n for (int i=0; cond; ++i) {\n cond = ...;\n }\n\n input (trip_count, \"\") // Note this is analogous to a for loop\n int trip_count = ...\n for (int i=0; i < trip_count; ++i) {\n cond = ...; // ignored\n }\n\n input (trip_count, cond)\n int trip_count = ...;\n bool cond = ...;\n for (int i=0; i < trip_count && cond; ++i) {\n cond = ...;\n }\n\n\n*Sample usage - cond as well as trip count*\n\n graph predict-net {\n %a = Constant[value = ]()\n %b = Constant[value = ]()\n %keepgoing = Constant[value = ]()\n %max_trip_count = Constant[value = ]()\n %keepgoing_out, %b_out, %user_defined_vals = Loop[body = ](%max_trip_count, %keepgoing, %b)\n return\n }\n\n graph body-net (\n %i[INT32, scalar] // iteration number\n %keepgoing_in[BOOL, scalar] // incoming loop-termination-condition; not used\n %b_in[INT32, scalar] // incoming value of loop-carried-dependency b\n ) {\n %my_local = Add(%a, %b_in)\n %b_out = Sub(%a, %b_in) // outgoing value of loop-carried-dependency b\n %keepgoing_out = Greater(%my_local, %b_out) // outgoing loop-termination-condition\n %user_defined_val = Add(%b_in, %b_in) // scan-output value to be accumulated\n return %keepgoing_out, %b_out, %user_defined_val\n }\n\n*Sample equivalent C code*\n\n {\n /* User-defined code (enclosing scope) */\n int a = 3, b = 6;\n bool keepgoing = true; // Analogous to input cond\n /* End user-defined code */\n\n /* Implicitly-defined code */\n const int max_trip_count = 10; // Analogous to input M\n int user_defined_vals[]; // Imagine this is resizable\n /* End implicitly-defined code */\n /* initialize loop-carried variables and scan-output variables */\n bool keepgoing_out = keepgoing\n int b_out = b\n\n for (int i=0; i < max_trip_count && keepgoing_out; ++i) {\n /* Implicitly-defined code: bind actual parameter values\n to formal parameter variables of loop-body */\n bool keepgoing_in = keepgoing_out; \n bool b_in = b_out;\n\n /* User-defined code (loop body) */\n int my_local = a + b_in; // Reading value \"a\" from the enclosing scope is fine\n b_out = a - b_in;\n keepgoing_out = my_local > b_out; \n user_defined_val = b_in + b_in; // b_in and b_out are different variables\n /* End user-defined code */\n\n /* Implicitly defined-code */\n user_defined_vals[i] = user_defined_val // accumulate scan-output values\n }\n // int t = my_local; // Can\'t do this. my_local is not accessible here.\n\n // The values below are bound to the output variables of the loop and therefore accessible\n // b_out; user_defined_vals; keepgoing_out;\n }\n\nThere are several things of note in this code snippet:\n\n1) Values from the enclosing scope (i.e. variable \"a\" here) are in scope and can\n be referenced in the inputs of the loop.\n2) Any values computed in the loop body that needs to be used in a subsequent\n iteration or after the loop are modelled using a pair of variables in the loop-body,\n consisting of an input variable (eg., b_in) and an output variable (eg., b_out).\n These are referred to as loop-carried dependences. The loop operation node\n supplies the input value of the input variable for the first iteration, and\n returns the output value of the output variable produced by the final\n iteration.\n3) Scan_output variables are used to implicitly concatenate values computed across\n all the iterations. In the above example, the value of user_defined_val computed\n over all iterations are concatenated and returned as the value of user_defined_vals\n after the loop.\n4) Values created in the body cannot be accessed in the enclosing scope,\n except using the mechanism described above.\n\nNote that the semantics of this op support \"diagonal\" or \"wavefront\" execution.\n(See Step 3 here for an example:\nhttps://devblogs.nvidia.com/optimizing-recurrent-neural-networks-cudnn-5/).\nFrontends should emit multi-layer RNNs as a series of While operators (with\ntime being the inner looping dimension), with each successive layer consuming\nthe scan_outputs from the previous layer, possibly going through several\npoint-wise operators (e.g. dropout, residual connections, linear layer).\n" +-- +input: "input" +output: "output" +name: "LpNormalization" +op_type: "LpNormalization" +attribute { + name: "axis" + i: -1 + type: INT +} +attribute { + name: "p" + i: 2 + type: INT +} +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nGiven a matrix, apply Lp-normalization along the provided axis.\n" +-- +input: "X" +output: "Y" +name: "LpPool" +op_type: "LpPool" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "p" + i: 2 + type: INT +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\n LpPool consumes an input tensor X and applies Lp pooling across\n the tensor according to kernel sizes, stride sizes, and pad lengths.\n Lp pooling consisting of computing the Lp norm on all values of a subset\n of the input tensor according to the kernel size and downsampling the\n data into the output tensor Y for further processing." +-- +input: "A" +input: "B" +output: "Y" +name: "MatMul" +op_type: "MatMul" +attribute { + name: "A-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +attribute { + name: "B-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nMatrix product that behaves like numpy.matmul: https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.matmul.html\n" +-- +input: "A" +input: "B" +input: "a_zero_point" +input: "b_zero_point" +output: "Y" +name: "MatMulInteger" +op_type: "MatMulInteger" +attribute { + name: "A-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "B-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "a_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "b_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nMatrix product that behaves like numpy.matmul: https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.matmul.html.\nThe production MUST never overflow. The accumulation may overflow if and only if in 32 bits.\n" +-- +input: "data_0" +output: "max" +name: "Max" +op_type: "Max" +attribute { + name: "data_0-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nElement-wise max of each of the input tensors (with Numpy-style broadcasting support).\nAll inputs and outputs must have the same data type.\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "X" +output: "Y" +output: "Indices" +name: "MaxPool" +op_type: "MaxPool" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "ceil_mode" + i: 0 + type: INT +} +attribute { + name: "dilations" + s: "" + type: INTS +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "storage_order" + i: 0 + type: INT +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\n MaxPool consumes an input tensor X and applies max pooling across\n the tensor according to kernel sizes, stride sizes, and pad lengths.\n max pooling consisting of computing the max on all values of a\n subset of the input tensor according to the kernel size and downsampling the\n data into the output tensor Y for further processing. The output spatial shape will be following:\n ```\n output_spatial_shape[i] = floor((input_spatial_shape[i] + pad_shape[i] - ((kernel_spatial_shape[i] - 1) * dilations[i] + 1)) / strides_spatial_shape[i] + 1)\n ```\n or\n ```\n output_spatial_shape[i] = ceil((input_spatial_shape[i] + pad_shape[i] - ((kernel_spatial_shape[i] - 1) * dilations[i] + 1)) / strides_spatial_shape[i] + 1)\n ```\n if ceil_mode is enabled\n\n ```\n * pad_shape[i] is sum of pads along axis i\n ```\n\n `auto_pad` is a DEPRECATED attribute. If you are using them currently, the output spatial shape will be following:\n ```\n VALID: output_spatial_shape[i] = ceil((input_spatial_shape[i] - ((kernel_spatial_shape[i] - 1) * dilations[i] + 1) + 1) / strides_spatial_shape[i])\n SAME_UPPER or SAME_LOWER: output_spatial_shape[i] = ceil(input_spatial_shape[i] / strides_spatial_shape[i])\n ```\n And pad shape will be following if `SAME_UPPER` or `SAME_LOWER`:\n ```\n pad_shape[i] = (output_spatial_shape[i] - 1) * strides_spatial_shape[i] + ((kernel_spatial_shape[i] - 1) * dilations[i] + 1) - input_spatial_shape[i]\n ```\n The output of each pooling window is maximum number of elements exclude pad. \n " +-- +input: "X" +input: "rois" +output: "Y" +name: "MaxRoiPool" +op_type: "MaxRoiPool" +attribute { + name: "pooled_shape" + s: "" + type: INTS +} +attribute { + name: "spatial_scale" + f: 1.0 + type: FLOAT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "rois-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\n ROI max pool consumes an input tensor X and region of interests (RoIs) to\n apply max pooling across each RoI, to produce output 4-D tensor of shape\n (num_rois, channels, pooled_shape[0], pooled_shape[1])." +-- +input: "X" +input: "I" +input: "output_shape" +output: "output" +name: "MaxUnpool" +op_type: "MaxUnpool" +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "I-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "output_shape-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nMaxUnpool essentially computes the partial inverse of the MaxPool op.\n The input information to this op is typically the the output information from a MaxPool op. The first\n input tensor X is the tensor that needs to be unpooled, which is typically the pooled tensor (first output)\n from MaxPool. The second input tensor, I, contains the indices to the (locally maximal) elements corrsponding\n to the elements in the first input tensor X. Input tensor I is typically the second output of the MaxPool op.\n The third (optional) input is a tensor that specifies the output size of the unpooling operation.\n\nMaxUnpool is intended to do \'partial\' inverse of the MaxPool op. \'Partial\' because all the non-maximal\n values from the original input to MaxPool are set to zero in the output of the MaxUnpool op. Pooling\n the result of an unpooling operation should give back the original input to the unpooling op.\n\nMaxUnpool can produce the same output size for several input sizes, which makes unpooling op ambiguous.\n The third input argument, output_size, is meant to disambiguate the op and produce output tensor of\n known/predictable size.\n\nIn addition to the inputs, MaxUnpool takes three attributes, namely kernel_shape, strides, and pads,\n which define the exact unpooling op. The attributes typically have the same values as the corrsponding\n pooling op that the unpooling op is trying to invert.\n" +-- +input: "data_0" +output: "mean" +name: "Mean" +op_type: "Mean" +attribute { + name: "data_0-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nElement-wise mean of each of the input tensors (with Numpy-style broadcasting support).\nAll inputs and outputs must have the same data type.\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "X" +output: "Y" +name: "MeanVarianceNormalization" +op_type: "MeanVarianceNormalization" +attribute { + name: "axes" + ints: 0 + ints: 2 + ints: 3 + type: INTS +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\n A MeanVarianceNormalization Function: Perform mean variance normalization\n on the input tensor X using formula:
        ``` (X-EX)/sqrt(E(X-EX)^2) ```\n" +-- +input: "data_0" +output: "min" +name: "Min" +op_type: "Min" +attribute { + name: "data_0-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nElement-wise min of each of the input tensors (with Numpy-style broadcasting support).\nAll inputs and outputs must have the same data type.\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "A" +input: "B" +output: "C" +name: "Mod" +op_type: "Mod" +attribute { + name: "fmod" + i: 0 + type: INT +} +attribute { + name: "A-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "B-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\n Performs element-wise binary modulus (with Numpy-style broadcasting support). \n The sign of the remainder is the same as that of the Divisor.\n \n Mod operator can also behave like C fmod() or numpy.fmod. In this case, the sign of the remainder however, will be the same as the Dividend \n (in contrast to integer mod). To force a behavior like numpy.fmod() an \'fmod\' Attribute is provided.\n This attribute is set to 0 by default causing the behavior to be like integer mod. \n Setting this attribute to 1 causes the remainder to be calculated similar to that of numpy.fmod().\n\n If the input type is floating point, then `fmod` attribute must be set to 1.\n \n In case of dividend being zero, the results will be platform dependent.\n\n This operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "R" +input: "T" +input: "inputs" +output: "outputs" +name: "Momentum" +op_type: "Momentum" +attribute { + name: "alpha" + s: "" + type: FLOAT +} +attribute { + name: "beta" + s: "" + type: FLOAT +} +attribute { + name: "mode" + s: "" + type: STRING +} +attribute { + name: "norm_coefficient" + s: "" + type: FLOAT +} +attribute { + name: "R-types" + strings: "double" + strings: "float" + type: STRINGS +} +attribute { + name: "T-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "inputs-types" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Compute one iteration of stochastic gradient update with momentum.\n This operator can conduct the optimization of multiple tensor variables.\n\n Let\'s define the behavior of this operator. As you can imagine, SG with momentum requires\n several parameters:\n \n - The learning-rate \"R\".\n - The update count \"T\". That is, the number of conducted training iterations. It should\n be zero in the first training iteration.\n - A L2-norm regularization coefficient \"norm_coefficient\".\n - A decay coefficient of previous accumulated gradient (i.e., momentum) \"alpha\".\n - The scaling coefficient of current gradient \"beta\".\n - An attribute to choose either standard momentum or Nesterov\'s momentum \"mode\" should\n be used.\n\n For the sake of simplicity, assume that there is only one tensor (called \"X\") to be optimized.\n Other necessary inputs are \"X\"\'s gradient (called \"G\") and \"X\"\'s momentum (called \"V\"). This\n Momentum operator maps all these inputs to the new value of \"X\" (called \"X_new\") and its new\n momentum (called \"V_new\").\n \n This operator supports two different momentum algorithms. Set the attribute \"mode\" to\n \"nesterov\" if Nesterov\'s momentum is desired. Otherwise, set the attribute \"model\" to\n \"standard\" to use standard momentum. Computation details are described subsequently.\n\n Let \"+\", \"-\", \"*\", and \"/\" are all element-wise operations with numpy-style broadcasting.\n\n Pseudo code for SG with standard momentum:\n\n // Add gradient of 0.5 * norm_coefficient * ||X||^2, where ||X|| is the sum of squared\n // values of all elements in X.\n G_regularized = norm_coefficient * X + G\n\n // In the first training iteration, beta should always be 1.\n beta_adjusted = T > 0 ? beta : 1\n\n // Compute the current momentum based on previous momentum and the current gradient.\n V_new = alpha * V + beta_adjusted * G_regularized\n\n // Update X.\n X_new = X - R * V_new\n\n Pseudo code for SG with Nesterov\'s momentum:\n\n // Add gradient of 0.5 * norm_coefficient * ||X||^2, where ||X|| is the sum of squared\n // values of all elements in X.\n G_regularized = norm_coefficient * X + G;\n\n // In the first training iteration, beta should always be 1.\n beta_adjusted = T > 0 ? beta : 1\n\n // Compute the current momentum based on previous momentum and the current gradient.\n V_new = alpha * V + beta_adjusted * G_regularized;\n\n // Compute final update direction and then update X.\n X_new = X - R * (G_regularized + alpha * V_new)\n\n If one assign this operators to optimize multiple inputs, for example, \"X_1\" and \"X_2\". The same\n pseudo code would be extended to handle all tensors jointly. More specifically, we can view \"X\" as a\n concatenation of \"X_1\" and \"X_2\" (of course, their gradient and accumulate gradient should\n be concatenated too) and then our pseudo code becomes applicable.\n" +-- +input: "A" +input: "B" +output: "C" +name: "Mul" +op_type: "Mul" +attribute { + name: "A-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +attribute { + name: "B-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nPerforms element-wise binary multiplication (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "input" +output: "output" +name: "Multinomial" +op_type: "Multinomial" +attribute { + name: "dtype" + i: 6 + type: INT +} +attribute { + name: "sample_size" + i: 1 + type: INT +} +attribute { + name: "seed" + s: "" + type: FLOAT +} +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nGenerate a tensor of samples from a multinomial distribution according to the probabilities\nof each of the possible outcomes.\n" +-- +input: "X" +output: "Y" +name: "Neg" +op_type: "Neg" +attribute { + name: "X-types" + strings: "int64" + strings: "float" + strings: "double" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + type: STRINGS +} +doc_string: "\nNeg takes one input data (Tensor) and produces one output data\n(Tensor) where each element flipped sign, y = -x, is applied to\nthe tensor elementwise.\n" +-- +input: "input" +input: "target" +input: "weight" +output: "loss" +name: "NegativeLogLikelihoodLoss" +op_type: "NegativeLogLikelihoodLoss" +attribute { + name: "ignore_index" + s: "" + type: INT +} +attribute { + name: "reduction" + s: "mean" + type: STRING +} +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "target-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "weight-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nA NegativeLogLikelihoodLoss operator computes (weighted) negative log likelihood loss.\nIts \"input\" tensor has the shape of (N, C, d1, d2, ..., dk) where k >= 0.\nThe \"input\" tensor contains log-probabilities for input[n, :, d_1, d_2,..., d_k] being in a class of [0, C).\nThe operator\'s \"target\" input tensor has the shape of (N, d1, d2, ..., dk). It encodes class labels (one of C classes)\nor it may contain a special value (indicated by an attribute ignore_index) for N x d1 x d2 x ... x dk samples.\nThe loss value for input[n, :, d_1, d_2,...d_k] being classified as class c = target[n][d_1][d_2]...[d_k] is computed as:\n\n loss[n][d_1][d_2]...[d_k] = -input[n][c][d_1][d_2]...[d_k].\n\nWhen an optional \"weight\" is provided, the sample loss is calculated as:\n\n loss[n][d_1][d_2]...[d_k] = -input[n][c][d_1][d_2]...[d_k] * weight[c].\n\nloss is zero for the case when target-value equals ignore_index.\n \n loss[n][d_1][d_2]...[d_k] = 0, when target[n][d_1][d_2]...[d_k] = ignore_index\n\nIf \"reduction\" attribute is set to \"none\", the operator\'s output will be the above loss with shape (N, d1, d2, ..., dk).\nIf \"reduction\" attribute is set to \"mean\" (the default attribute value), the output loss is (weight) averaged:\n\n mean(loss), if \"weight\" is not provided,\n\nor if weight is provided,\n\n sum(loss) / sum(weight[target[n][d_1][d_2]...[d_k]]]), for all samples.\n\nIf \"reduction\" attribute is set to \"sum\", the output is a scalar:\n sum(loss).\n\nSee also https://pytorch.org/docs/stable/nn.html#torch.nn.NLLLoss.\n\nExample 1:\n\n // negative log likelihood loss, \"none\" reduction\n N, C, d1 = 2, 3, 2\n input = [[[1.0, 2.0], [2.0, 2.0], [3.0, 2.0]],\n [[0.0, 1.0], [2.0, 2.0], [1.0, 2]]]\n target = [[2, 1], [0, 2]]\n\n loss = np.zeros((N, d1))\n for n in range(N):\n for d_1 in range(d1):\n c = target[n][d_1]\n loss[n][d_1] = -input[n][c][d_1]\n\n // print(loss)\n // [[-3. -2.]\n // [-0. -2.]]\n\nExample 2:\n\n // weighted negative log likelihood loss, sum reduction\n N, C, d1 = 2, 3, 2\n input = [[[1.0, 2.0], [2.0, 2.0], [3.0, 2.0]],\n [[0.0, 1.0], [2.0, 2.0], [1.0, 2]]]\n target = [[2, 1], [0, 2]]\n weight = [0.2, 0.3, 0.1]\n loss = np.zeros((N, d1))\n for n in range(N):\n for d_1 in range(d1):\n c = target[n][d_1]\n loss[n][d_1] = -input[n][c][d_1] * weight[c]\n\n loss = np.sum(loss)\n // print(loss)\n // -1.1\n\nExample 3:\n\n // weighted negative log likelihood loss, mean reduction\n N, C, d1 = 2, 3, 2\n input = [[[1.0, 2.0], [2.0, 2.0], [3.0, 2.0]],\n [[0.0, 1.0], [2.0, 2.0], [1.0, 2]]]\n target = [[2, 1], [0, 2]]\n weight = [0.2, 0.3, 0.1]\n loss = np.zeros((N, d1))\n weight_total = 0\n for n in range(N):\n for d_1 in range(d1):\n c = target[n][d_1]\n loss[n][d_1] = -input[n][c][d_1] * weight[c]\n weight_total = weight_total + weight[c]\n\n loss = np.sum(loss) / weight_total\n // print(loss)\n // -1.57\n" +-- +input: "boxes" +input: "scores" +input: "max_output_boxes_per_class" +input: "iou_threshold" +input: "score_threshold" +output: "selected_indices" +name: "NonMaxSuppression" +op_type: "NonMaxSuppression" +attribute { + name: "center_point_box" + i: 0 + type: INT +} +attribute { + name: "boxes-types" + strings: "float" + type: STRINGS +} +attribute { + name: "scores-types" + strings: "float" + type: STRINGS +} +attribute { + name: "max_output_boxes_per_class-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "iou_threshold-types" + strings: "float" + type: STRINGS +} +attribute { + name: "score_threshold-types" + strings: "float" + type: STRINGS +} +doc_string: "\nFilter out boxes that have high intersection-over-union (IOU) overlap with previously selected boxes.\nBounding boxes with score less than score_threshold are removed. Bounding box format is indicated by attribute center_point_box.\nNote that this algorithm is agnostic to where the origin is in the coordinate system and more generally is invariant to\northogonal transformations and translations of the coordinate system; thus translating or reflections of the coordinate system\nresult in the same boxes being selected by the algorithm.\nThe selected_indices output is a set of integers indexing into the input collection of bounding boxes representing the selected boxes.\nThe bounding box coordinates corresponding to the selected indices can then be obtained using the Gather or GatherND operation.\n" +-- +input: "X" +output: "Y" +name: "NonZero" +op_type: "NonZero" +attribute { + name: "X-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\n Returns the indices of the elements that are non-zero\n (in row-major order - by dimension).\n NonZero behaves similar to numpy.nonzero:\n https://docs.scipy.org/doc/numpy/reference/generated/numpy.nonzero.html\n" +-- +input: "X" +output: "Y" +name: "Normalizer" +op_type: "Normalizer" +attribute { + name: "norm" + s: "MAX" + type: STRING +} +attribute { + name: "X-types" + strings: "int32" + strings: "int64" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Normalize the input. There are three normalization modes, which have the corresponding formulas,\n defined using element-wise infix operators \'/\' and \'^\' and tensor-wide functions \'max\' and \'sum\':
        \n
        \n Max: Y = X / max(X)
        \n L1: Y = X / sum(X)
        \n L2: Y = sqrt(X^2 / sum(X^2)}
        \n In all modes, if the divisor is zero, Y == X.\n
        \n For batches, that is, [N,C] tensors, normalization is done along the C axis. In other words, each row\n of the batch is normalized independently.\n" +-- +input: "X" +output: "Y" +name: "Not" +op_type: "Not" +attribute { + name: "X-types" + strings: "bool" + type: STRINGS +} +doc_string: "\nReturns the negation of the input tensor element-wise.\n" +-- +input: "indices" +input: "depth" +input: "values" +output: "output" +name: "OneHot" +op_type: "OneHot" +attribute { + name: "axis" + i: -1 + type: INT +} +attribute { + name: "indices-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "depth-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "values-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\n Produces a one-hot tensor based on inputs.\n The locations represented by the index values in the \'indices\' input tensor will have \'on_value\'\n and the other locations will have \'off_value\' in the output tensor, where \'on_value\' and \'off_value\'\n are specified as part of required input argument \'values\', which is a two-element tensor of format\n [off_value, on_value]. The rank of the output tensor will be one greater than the rank of the\n input tensor. The additional dimension is for one-hot representation. The additional dimension will\n be inserted at the position specified by \'axis\'. If \'axis\' is not specified then then additional\n dimension will be inserted as the innermost dimension, i.e. axis=-1. The size of the additional\n dimension is specified by required scalar input \'depth\'. The type of the output tensor is the same\n as the type of the \'values\' input. Any entries in the \'indices\' input tensor with values outside\n the range [-depth, depth-1] will result in one-hot representation with all \'off_value\' values in the\n output tensor.\n\n when axis = 0:\n output[input[i, j, k], i, j, k] = 1 for all i, j, k and 0 otherwise.\n\n when axis = -1:\n output[i, j, k, input[i, j, k]] = 1 for all i, j, k and 0 otherwise.\n\n" +-- +input: "X" +output: "Y" +name: "OneHotEncoder" +op_type: "OneHotEncoder" +attribute { + name: "cats_int64s" + s: "" + type: INTS +} +attribute { + name: "cats_strings" + s: "" + type: STRINGS +} +attribute { + name: "zeros" + i: 1 + type: INT +} +attribute { + name: "X-types" + strings: "int64" + strings: "string" + strings: "double" + strings: "float" + strings: "int32" + type: STRINGS +} +doc_string: "\n Replace each input element with an array of ones and zeros, where a single\n one is placed at the index of the category that was passed in. The total category count \n will determine the size of the extra dimension of the output array Y.
        \n For example, if we pass a tensor with a single value of 4, and a category count of 8, \n the output will be a tensor with ``[0,0,0,0,1,0,0,0]``.
        \n This operator assumes every input feature is from the same set of categories.
        \n If the input is a tensor of float, int32, or double, the data will be cast\n to integers and the cats_int64s category list will be used for the lookups.\n" +-- +input: "A" +input: "B" +output: "C" +name: "Or" +op_type: "Or" +attribute { + name: "A-types" + strings: "bool" + type: STRINGS +} +attribute { + name: "B-types" + strings: "bool" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `or` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "X" +input: "slope" +output: "Y" +name: "PRelu" +op_type: "PRelu" +attribute { + name: "X-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +attribute { + name: "slope-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nPRelu takes input data (Tensor) and slope tensor as input, and produces one\noutput data (Tensor) where the function `f(x) = slope * x for x < 0`,\n`f(x) = x for x >= 0`., is applied to the data tensor elementwise.\nThis operator supports **unidirectional broadcasting** (tensor slope should be unidirectional broadcastable to input tensor X); for more details please check [the doc](Broadcasting.md)." +-- +input: "data" +input: "pads" +input: "constant_value" +output: "output" +name: "Pad" +op_type: "Pad" +attribute { + name: "mode" + s: "constant" + type: STRING +} +attribute { + name: "data-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "pads-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "constant_value-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nGiven a tensor containing the data to be padded (`data`), a tensor containing the number of start and end pad values for axis (`pads`), (optionally) a `mode`, and (optionally) `constant_value`, \na padded tensor (`output`) is generated.\n\nThe three supported `modes` are (similar to corresponding modes supported by `numpy.pad`):\n\n1) `constant`(default) - pads with a given constant value as specified by `constant_value` (which defaults to 0)\n\n2) `reflect` - pads with the reflection of the vector mirrored on the first and last values of the vector along each axis\n\n3) `edge` - pads with the edge values of array\n\n\nExample 1 (`constant` mode):\n Insert 0 pads to the beginning of the second dimension.\n\n data = \n [\n [1.0, 1.2],\n [2.3, 3.4],\n [4.5, 5.7],\n ] \n\n pads = [0, 2, 0, 0]\n\n mode = \'constant\'\n\n constant_value = 0.0\n\n output = \n [\n [\n [0.0, 0.0, 1.0, 1.2],\n [0.0, 0.0, 2.3, 3.4],\n [0.0, 0.0, 4.5, 5.7],\n ],\n ]\n\n\nExample 2 (`reflect` mode):\n data = \n [\n [1.0, 1.2],\n [2.3, 3.4],\n [4.5, 5.7],\n ] \n\n pads = [0, 2, 0, 0]\n\n mode = \'reflect\'\n\n output = \n [\n [\n [1.0, 1.2, 1.0, 1.2],\n [2.3, 3.4, 2.3, 3.4],\n [4.5, 5.7, 4.5, 5.7],\n ],\n ]\n\n\nExample 3 (`edge` mode):\n data = \n [\n [1.0, 1.2],\n [2.3, 3.4],\n [4.5, 5.7],\n ] \n\n pads = [0, 2, 0, 0]\n\n mode = \'edge\'\n\n output = \n [\n [\n [1.0, 1.0, 1.0, 1.2],\n [2.3, 2.3, 2.3, 3.4],\n [4.5, 4.5, 4.5, 5.7],\n ],\n ]\n\n" +-- +input: "X" +input: "Y" +output: "Z" +name: "Pow" +op_type: "Pow" +attribute { + name: "X-types" + strings: "int64" + strings: "double" + strings: "float" + strings: "float16" + strings: "int32" + type: STRINGS +} +attribute { + name: "Y-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nPow takes input data (Tensor) and exponent Tensor, and\nproduces one output data (Tensor) where the function `f(x) = x^exponent`,\nis applied to the data tensor elementwise.\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md)." +-- +input: "x" +input: "x_scale" +input: "x_zero_point" +input: "w" +input: "w_scale" +input: "w_zero_point" +input: "y_scale" +input: "y_zero_point" +input: "B" +output: "y" +name: "QLinearConv" +op_type: "QLinearConv" +attribute { + name: "auto_pad" + s: "NOTSET" + type: STRING +} +attribute { + name: "dilations" + s: "" + type: INTS +} +attribute { + name: "group" + i: 1 + type: INT +} +attribute { + name: "kernel_shape" + s: "" + type: INTS +} +attribute { + name: "pads" + s: "" + type: INTS +} +attribute { + name: "strides" + s: "" + type: INTS +} +attribute { + name: "x-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "x_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "x_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "w-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "w_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "w_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "y_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "y_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "B-types" + strings: "int32" + type: STRINGS +} +doc_string: "\nThe convolution operator consumes a quantized input tensor, its scale and zero point,\na quantized filter, its scale and zero point, and output\'s scale and zero point,\nand computes the quantized output. Each scale and zero-point pair must have same shape.\nIt means they must be either scalars (per tensor) or 1-D tensors (per output channel).\nEach input or output and its related zero point must have same type.\nWhen bias is present it must be quantized using scale = input scale * weight scale and \nzero point as 0.\n" +-- +input: "a" +input: "a_scale" +input: "a_zero_point" +input: "b" +input: "b_scale" +input: "b_zero_point" +input: "y_scale" +input: "y_zero_point" +output: "y" +name: "QLinearMatMul" +op_type: "QLinearMatMul" +attribute { + name: "a-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "a_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "a_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "b-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "b_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "b_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "y_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "y_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nMatrix product that behaves like numpy.matmul: https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.matmul.html.\nIt consumes two quantized input tensors, their scales and zero points, scale and zero point of output, and computes the quantized output.\nThe quantization formula is y = saturate((x / y_scale) + y_zero_point). For (x / y_scale), it is rounding to nearest ties to even.\nRefer to https://en.wikipedia.org/wiki/Rounding for details. Scale and zero point must have same shape.\nThey must be either scalar (per tensor) or 1-D tensor (per row for \'a\' and per column for \'b\'). If scale and zero point are 1-D tensor,\nthe number of elements of scale and zero point tensor of input \'a\' and output \'y\' should be equal to the number of rows of input \'a\',\nand the number of elements of scale and zero point tensor of input \'b\' should be equal to the number of columns of input \'b\'.\nProduction must never overflow, and accumulation may overflow if and only if in 32 bits.\n" +-- +input: "x" +input: "y_scale" +input: "y_zero_point" +output: "y" +name: "QuantizeLinear" +op_type: "QuantizeLinear" +attribute { + name: "x-types" + strings: "int32" + strings: "float" + type: STRINGS +} +attribute { + name: "y_scale-types" + strings: "float" + type: STRINGS +} +attribute { + name: "y_zero_point-types" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nThe linear per-tensor/layer quantization operator. It consumes a high precision tensor, a scale, a zero point to compute the low precision / quantized tensor.\nThe quantization formula is y = saturate ((x / y_scale) + y_zero_point). For saturation, it saturates to [0, 255] if it\'s uint8, or [-128, 127] if it\'s int8.\nFor (x / y_scale), it\'s rounding to nearest ties to even. Refer to https://en.wikipedia.org/wiki/Rounding for details. \'y_zero_point\' and \'y\' must have same type.\n" +-- +input: "X" +input: "W" +input: "R" +input: "B" +input: "sequence_lens" +input: "initial_h" +output: "Y" +output: "Y_h" +name: "RNN" +op_type: "RNN" +attribute { + name: "activation_alpha" + s: "" + type: FLOATS +} +attribute { + name: "activation_beta" + s: "" + type: FLOATS +} +attribute { + name: "activations" + strings: "Tanh" + strings: "Tanh" + type: STRINGS +} +attribute { + name: "clip" + s: "" + type: FLOAT +} +attribute { + name: "direction" + s: "forward" + type: STRING +} +attribute { + name: "hidden_size" + s: "" + type: INT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "W-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "R-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "B-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "sequence_lens-types" + strings: "int32" + type: STRINGS +} +attribute { + name: "initial_h-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nComputes an one-layer simple RNN. This operator is usually supported\nvia some custom implementation such as CuDNN.\n\nNotations:\n\n`X` - input tensor\n\n`i` - input gate\n\n`t` - time step (t-1 means previous time step)\n\n`Wi` - W parameter weight matrix for input gate\n\n`Ri` - R recurrence weight matrix for input gate\n\n`Wbi` - W parameter bias vector for input gate\n\n`Rbi` - R parameter bias vector for input gate\n\n`WBi` - W parameter weight matrix for backward input gate\n\n`RBi` - R recurrence weight matrix for backward input gate\n\n`WBbi` - WR bias vectors for backward input gate\n\n`RBbi` - RR bias vectors for backward input gate\n\n`H` - Hidden state\n\n`num_directions` - 2 if direction == bidirectional else 1\n\nActivation functions:\n\n Relu(x) - max(0, x)\n\n Tanh(x) - (1 - e^{-2x})/(1 + e^{-2x})\n\n Sigmoid(x) - 1/(1 + e^{-x})\n\n (NOTE: Below are optional)\n\n Affine(x) - alpha*x + beta\n\n LeakyRelu(x) - x if x >= 0 else alpha * x\n\n ThresholdedRelu(x) - x if x >= alpha else 0\n\n ScaledTanh(x) - alpha*Tanh(beta*x)\n\n HardSigmoid(x) - min(max(alpha*x + beta, 0), 1)\n\n Elu(x) - x if x >= 0 else alpha*(e^x - 1)\n\n Softsign(x) - x/(1 + |x|)\n\n Softplus(x) - log(1 + e^x)\n\nEquations (Default: f=Tanh):\n\n - Ht = f(Xt*(Wi^T) + Ht-1*(Ri^T) + Wbi + Rbi)\nThis operator has **optional** inputs/outputs. See [the doc](IR.md) for more details about the representation of optional arguments. An empty string may be used in the place of an actual argument\'s name to indicate a missing argument. Trailing optional arguments (those not followed by an argument that is present) may also be simply omitted.\n" +-- +output: "output" +name: "RandomNormal" +op_type: "RandomNormal" +attribute { + name: "dtype" + i: 1 + type: INT +} +attribute { + name: "mean" + f: 0.0 + type: FLOAT +} +attribute { + name: "scale" + f: 1.0 + type: FLOAT +} +attribute { + name: "seed" + s: "" + type: FLOAT +} +attribute { + name: "shape" + s: "" + type: INTS +} +doc_string: "\nGenerate a tensor with random values drawn from a normal distribution. The shape\nof the tensor is specified by the `shape` argument and the parameter of the normal distribution\nspecified by `mean` and `scale`.\n\nThe data type is specified by the \'dtype\' argument. The \'dtype\' argument must\nbe one of the data types specified in the \'DataType\' enum field in the\nTensorProto message.\n" +-- +input: "input" +output: "output" +name: "RandomNormalLike" +op_type: "RandomNormalLike" +attribute { + name: "dtype" + s: "" + type: INT +} +attribute { + name: "mean" + f: 0.0 + type: FLOAT +} +attribute { + name: "scale" + f: 1.0 + type: FLOAT +} +attribute { + name: "seed" + s: "" + type: FLOAT +} +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nGenerate a tensor with random values drawn from a normal distribution.\nThe shape of the output tensor is copied from the shape of the input tensor,\nand the parameters of the normal distribution are specified by `mean` and `scale`.\n\nThe data type is specified by the \'dtype\' argument, or copied from the input tensor if not provided.\nThe \'dtype\' argument must be one of the data types specified in the \'DataType\' enum field in the\nTensorProto message, and be valid as an output type.\n" +-- +output: "output" +name: "RandomUniform" +op_type: "RandomUniform" +attribute { + name: "dtype" + i: 1 + type: INT +} +attribute { + name: "high" + f: 1.0 + type: FLOAT +} +attribute { + name: "low" + f: 0.0 + type: FLOAT +} +attribute { + name: "seed" + s: "" + type: FLOAT +} +attribute { + name: "shape" + s: "" + type: INTS +} +doc_string: "\nGenerate a tensor with random values drawn from a uniform distribution. The shape\nof the tensor is specified by the `shape` argument and the range by `low` and `high`.\n\nThe data type is specified by the \'dtype\' argument. The \'dtype\' argument must\nbe one of the data types specified in the \'DataType\' enum field in the\nTensorProto message.\n" +-- +input: "input" +output: "output" +name: "RandomUniformLike" +op_type: "RandomUniformLike" +attribute { + name: "dtype" + s: "" + type: INT +} +attribute { + name: "high" + f: 1.0 + type: FLOAT +} +attribute { + name: "low" + f: 0.0 + type: FLOAT +} +attribute { + name: "seed" + s: "" + type: FLOAT +} +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nGenerate a tensor with random values drawn from a uniform distribution.\nThe shape of the output tensor is copied from the shape of the input tensor,\nand the parameters of the uniform distribution are specified by `low` and `high`.\n\nThe data type is specified by the \'dtype\' argument, or copied from the input tensor if not provided.\nThe \'dtype\' argument must be one of the data types specified in the \'DataType\' enum field in the\nTensorProto message and be valid as an output type.\n" +-- +input: "start" +input: "limit" +input: "delta" +output: "output" +name: "Range" +op_type: "Range" +attribute { + name: "start-types" + strings: "int64" + strings: "double" + strings: "float" + strings: "int16" + strings: "int32" + type: STRINGS +} +attribute { + name: "limit-types" + strings: "int64" + strings: "double" + strings: "float" + strings: "int16" + strings: "int32" + type: STRINGS +} +attribute { + name: "delta-types" + strings: "int64" + strings: "double" + strings: "float" + strings: "int16" + strings: "int32" + type: STRINGS +} +doc_string: "\nGenerate a tensor containing a sequence of numbers that begin at `start` and extends by increments of `delta`\nup to `limit` (exclusive).\n\nThe number of elements in the output of range is computed as below-\n\n`number_of_elements = max( ceil( (limit - start) / delta ) , 0 )`\n\nThe pseudocode determining the contents of the output is shown below-\n\n`for(int i=0; i) and produces one output data\n(Tensor) where the reciprocal is, y = 1/x, is applied to\nthe tensor elementwise.\n" +-- +input: "data" +output: "reduced" +name: "ReduceL1" +op_type: "ReduceL1" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nComputes the L1 norm of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +-- +input: "data" +output: "reduced" +name: "ReduceL2" +op_type: "ReduceL2" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nComputes the L2 norm of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +-- +input: "data" +output: "reduced" +name: "ReduceLogSum" +op_type: "ReduceLogSum" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nComputes the log sum of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +-- +input: "data" +output: "reduced" +name: "ReduceLogSumExp" +op_type: "ReduceLogSumExp" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nComputes the log sum exponent of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +-- +input: "data" +output: "reduced" +name: "ReduceMax" +op_type: "ReduceMax" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nComputes the max of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +-- +input: "data" +output: "reduced" +name: "ReduceMean" +op_type: "ReduceMean" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nComputes the mean of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +-- +input: "data" +output: "reduced" +name: "ReduceMin" +op_type: "ReduceMin" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nComputes the min of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +-- +input: "data" +output: "reduced" +name: "ReduceProd" +op_type: "ReduceProd" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nComputes the product of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +-- +input: "data" +output: "reduced" +name: "ReduceSum" +op_type: "ReduceSum" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nComputes the sum of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +-- +input: "data" +output: "reduced" +name: "ReduceSumSquare" +op_type: "ReduceSumSquare" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "data-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nComputes the sum square of the input tensor\'s element along the provided axes. The resulted\ntensor has the same rank as the input if keepdims equal 1. If keepdims equal 0, then\nthe resulted tensor have the reduced dimension pruned.\n\nThe above behavior is similar to numpy, with the exception that numpy default keepdims to\nFalse instead of True." +-- +input: "X" +output: "Y" +name: "Relu" +op_type: "Relu" +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nRelu takes one input data (Tensor) and produces one output data\n(Tensor) where the rectified linear function, y = max(0, x), is applied to\nthe tensor elementwise.\n" +-- +input: "data" +input: "shape" +output: "reshaped" +name: "Reshape" +op_type: "Reshape" +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "shape-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nReshape the input tensor similar to numpy.reshape.\nFirst input is the data tensor, second input is a shape tensor which specifies the output shape. It outputs the reshaped tensor.\nAt most one dimension of the new shape can be -1. In this case, the value is\ninferred from the size of the tensor and the remaining dimensions. A dimension\ncould also be 0, in which case the actual dimension value is unchanged (i.e. taken\nfrom the input tensor)." +-- +input: "X" +input: "roi" +input: "scales" +input: "sizes" +output: "Y" +name: "Resize" +op_type: "Resize" +attribute { + name: "coordinate_transformation_mode" + s: "half_pixel" + type: STRING +} +attribute { + name: "cubic_coeff_a" + f: -0.75 + type: FLOAT +} +attribute { + name: "exclude_outside" + i: 0 + type: INT +} +attribute { + name: "extrapolation_value" + f: 0.0 + type: FLOAT +} +attribute { + name: "mode" + s: "nearest" + type: STRING +} +attribute { + name: "nearest_mode" + s: "round_prefer_floor" + type: STRING +} +attribute { + name: "X-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "roi-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "scales-types" + strings: "float" + type: STRINGS +} +attribute { + name: "sizes-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nResize the input tensor. In general, it calculates every value in the output tensor as a weighted average of neighborhood (a.k.a. sampling locations) in the input tensor.\nEach dimension value of the output tensor is:\n output_dimension = floor(input_dimension * (roi_end - roi_start) * scale) if input \\\"sizes\\\" is not specified.\n" +-- +input: "input" +input: "sequence_lens" +output: "Y" +name: "ReverseSequence" +op_type: "ReverseSequence" +attribute { + name: "batch_axis" + i: 1 + type: INT +} +attribute { + name: "time_axis" + i: 0 + type: INT +} +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "sequence_lens-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nReverse batch of sequences having different lengths specified by `sequence_lens`.\n\nFor each slice i iterating on batch axis, the operator reverses the first sequence_lens[i] elements on time axis,\nand copies elements whose index\'s beyond sequence_lens[i] to the output. So the output slice i contains reversed\nsequences on the first sequence_lens[i] elements, then have original values copied for the other elements.\n\nExample 1:\n input = [[0.0, 4.0, 8.0, 12.0],\n [1.0, 5.0, 9.0, 13.0],\n [2.0, 6.0, 10.0, 14.0],\n [3.0, 7.0, 11.0, 15.0]]\n sequence_lens = [4, 3, 2, 1]\n time_axis = 0\n batch_axis = 1\n\n output = [[3.0, 6.0, 9.0, 12.0],\n [2.0, 5.0, 8.0, 13.0],\n [1.0, 4.0, 10.0, 14.0],\n [0.0, 7.0, 11.0, 15.0]]\n\nExample 2:\n input = [[0.0, 1.0, 2.0, 3.0 ],\n [4.0, 5.0, 6.0, 7.0 ],\n [8.0, 9.0, 10.0, 11.0],\n [12.0, 13.0, 14.0, 15.0]]\n sequence_lens = [1, 2, 3, 4]\n time_axis = 1\n batch_axis = 0\n\n output = [[0.0, 1.0, 2.0, 3.0 ],\n [5.0, 4.0, 6.0, 7.0 ],\n [10.0, 9.0, 8.0, 11.0],\n [15.0, 14.0, 13.0, 12.0]]\n" +-- +input: "X" +input: "rois" +input: "batch_indices" +output: "Y" +name: "RoiAlign" +op_type: "RoiAlign" +attribute { + name: "mode" + s: "avg" + type: STRING +} +attribute { + name: "output_height" + i: 1 + type: INT +} +attribute { + name: "output_width" + i: 1 + type: INT +} +attribute { + name: "sampling_ratio" + i: 0 + type: INT +} +attribute { + name: "spatial_scale" + f: 1.0 + type: FLOAT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "rois-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "batch_indices-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nRegion of Interest (RoI) align operation described in the\n[Mask R-CNN paper](https://arxiv.org/abs/1703.06870).\nRoiAlign consumes an input tensor X and region of interests (rois)\nto apply pooling across each RoI; it produces a 4-D tensor of shape\n(num_rois, C, output_height, output_width).\n\nRoiAlign is proposed to avoid the misalignment by removing\nquantizations while converting from original image into feature\nmap and from feature map into RoI feature; in each ROI bin,\nthe value of the sampled locations are computed directly\nthrough bilinear interpolation.\n" +-- +input: "X" +output: "Y" +name: "Round" +op_type: "Round" +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nRound takes one input Tensor and rounds the values, element-wise, meaning\nit finds the nearest integer for each value.\nIn case of halfs, the rule is to round them to the nearest even integer.\nThe output tensor has the same shape and type as the input.\n\nExamples:\n```\nround([0.9]) = [1.0]\nround([2.5]) = [2.0]\nround([2.3]) = [2.0]\nround([1.5]) = [2.0]\nround([-4.5]) = [-4.0]\n```\n" +-- +input: "X" +output: "Y" +output: "Z" +name: "SVMClassifier" +op_type: "SVMClassifier" +attribute { + name: "classlabels_ints" + s: "" + type: INTS +} +attribute { + name: "classlabels_strings" + s: "" + type: STRINGS +} +attribute { + name: "coefficients" + s: "" + type: FLOATS +} +attribute { + name: "kernel_params" + s: "" + type: FLOATS +} +attribute { + name: "kernel_type" + s: "LINEAR" + type: STRING +} +attribute { + name: "post_transform" + s: "NONE" + type: STRING +} +attribute { + name: "prob_a" + s: "" + type: FLOATS +} +attribute { + name: "prob_b" + s: "" + type: FLOATS +} +attribute { + name: "rho" + s: "" + type: FLOATS +} +attribute { + name: "support_vectors" + s: "" + type: FLOATS +} +attribute { + name: "vectors_per_class" + s: "" + type: INTS +} +attribute { + name: "X-types" + strings: "int32" + strings: "int64" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Support Vector Machine classifier\n" +-- +input: "X" +output: "Y" +name: "SVMRegressor" +op_type: "SVMRegressor" +attribute { + name: "coefficients" + s: "" + type: FLOATS +} +attribute { + name: "kernel_params" + s: "" + type: FLOATS +} +attribute { + name: "kernel_type" + s: "LINEAR" + type: STRING +} +attribute { + name: "n_supports" + i: 0 + type: INT +} +attribute { + name: "one_class" + i: 0 + type: INT +} +attribute { + name: "post_transform" + s: "NONE" + type: STRING +} +attribute { + name: "rho" + s: "" + type: FLOATS +} +attribute { + name: "support_vectors" + s: "" + type: FLOATS +} +attribute { + name: "X-types" + strings: "int32" + strings: "int64" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Support Vector Machine regression prediction and one-class SVM anomaly detection.\n" +-- +input: "X" +output: "Y" +name: "Scaler" +op_type: "Scaler" +attribute { + name: "offset" + s: "" + type: FLOATS +} +attribute { + name: "scale" + s: "" + type: FLOATS +} +attribute { + name: "X-types" + strings: "int32" + strings: "int64" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Rescale input data, for example to standardize features by removing the mean and scaling to unit variance.\n" +-- +input: "initial_state_and_scan_inputs" +output: "final_state_and_scan_outputs" +name: "Scan" +op_type: "Scan" +attribute { + name: "body" + s: "" + type: GRAPH +} +attribute { + name: "num_scan_inputs" + s: "" + type: INT +} +attribute { + name: "scan_input_axes" + s: "" + type: INTS +} +attribute { + name: "scan_input_directions" + s: "" + type: INTS +} +attribute { + name: "scan_output_axes" + s: "" + type: INTS +} +attribute { + name: "scan_output_directions" + s: "" + type: INTS +} +attribute { + name: "initial_state_and_scan_inputs-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nScan can be used to iterate over one or more scan_input tensors,\nconstructing zero or more scan_output tensors. It combines ideas from general recurrences,\nfunctional programming constructs such as scan, fold, map, and zip and is intended to enable\ngeneralizations of RNN-like constructs for sequence-to-sequence processing.\nOther tensors (referred to as state_variables here) can be used to carry a state\nwhen iterating from one element to another (similar to hidden-state in RNNs, also referred\nto as loop-carried dependences in the context of loops).\nMany common usages involve a single scan_input tensor (where functionality\nsimilar to scan, fold and map can be obtained). When more than one scan_input is used,\na behavior similar to zip is obtained.\n\nThe attribute body must be a graph, specifying the computation to be performed in\nevery iteration. It takes as input the current values of the state_variables and\nthe current iterated element of the scan_inputs. It must return the (updated) values\nof the state_variables and zero or more scan_output_element tensors. The values of the\nscan_output_element tensors are concatenated over all the iterations to produce the\nscan_output values of the scan construct (similar to the concatenated intermediate\nhidden-state values of RNN-like constructs). All the output tensors (state_variables as\nwell as scan_output_element tensors) are required to have the same shape in each iteration\nof the loop (a restriction imposed to enable efficient memory allocation).\n\nNote that the iterated element passed to the body subgraph does not have a sequence\naxis. It will have a rank one less than the rank of the corresponding scan_input.\n\nThe scan operation returns the final values of the state_variables as well as the\nscan_outputs.\n\nThe optional attribute scan_input_directions specifies the direction (forward or backward)\nfor each scan input. If this attribute is omitted, all sequences are scanned in the forward\ndirection. A bidirectional scan may be performed by specifying the same tensor input twice\nin the scan_inputs, once with a forward direction, and once with a backward direction.\n\nThe scan_output of the operation is produced by concatenating the scan_output_element\nvalues produced by the body in each iteration. The optional attribute scan_output_directions\nspecifies the direction in which scan_output is constructed (by appending or prepending the\nscan_output_element to scan_output in each iteration) for each scan_output. If this attribute\nis omitted, the scan_output_element is appended to the scan_output in each iteration.\n\nThe optional attribute scan_input_axes specifies the axis to be scanned for each scan_input.\nIf omitted, every scan_input will be scanned in axis 0. For example, if axis 0 is the\nbatch axis and axis 1 is the time axis (to be scanned), specify an axis value of 1.\nNote that scanning a non-zero axis may be less efficient than scanning axis zero.\n\nThe optional attribute scan_output_axes specifies the axis along which the scan_outputs\nare accumulated for each scan_output. For example, if axis 1 is the time axis (to be\nscanned) for both inputs and outputs, specify a scan_input axis and scan_output axis\nvalue of 1.\n\nNote that because of the ONNX restriction that only the last parameter of an operator can\nbe variadic, the initial-states and scan-inputs are listed together as one input parameter.\nSimilarly, the final-states and scan-outputs are listed together as one output parameter.\nThe attribute num_scan_inputs indicates the number M of scan-inputs.\n\nThe behavior of\n\n Scan <\n num_scan_inputs = m,\n body = loop-body,\n scan_input_axes = [axis_1, ..., axis_m]\n > (init_1, ..., init_n, scan_1, ..., scan_m)\n\nis equivalent to the following pseudo-code:\n\n // scan_i.shape[axis_i] denotes the (max) sequence-length of scan_i\n // scan_i.shape[axis_i] is required to be equal to scan_j.shape[axis_j] for all i,j.\n sequence_length = scan_1.shape[axis_1];\n\n // initialize state-variables\n st_1 = init_1; ... st_n = init_n;\n // initialize scan-output variables: [] denotes an empty tensor\n scan_out_1 = []; ...; scan_out_k = [];\n // identify number of iterations:\n\n // execute loop\n for (int t = 0; t < sequence_length; ++t) {\n // generate the scan-input elements: the notation T[t] indicates the sub-tensor\n // of rank one less than T obtained by indexing T at position t along axis k.\n si_1 = scan_1[t];\n ... ;\n si_m = scan_m[t];\n // execute loop-body\n st_1, ..., st_n, so_1, ..., so_k = loop-body(st_1, ..., st_n, si_1, ..., si_m)\n // accumulate the scan-output elements\n scan_out_1 = Concat(scan_out_1, so_1); ... ; scan_out_k = Concat(scan_out_k, so_k);\n }\n\n return st_1, ..., st_n, scan_out_1, ..., scan_out_k;\n\n*Sample usage: Encoding RNN using a Scan*\n\nThe following example shows how a simple RNN over an input tensor %X, with weight tensor %Wi,\nrecurrence weight tensor %Ri, bias tensors %Wbi and %Rbi, and initial hidden-state %H_0 can\nbe encoded as a ScanLoop. Note that the loop-body is a nested graph, and it directly computes\n%Wi, %Ri, %Wbi, and %Rbi (typically constants or initializers in the body graph). If these\nvalues are computed in the outer graph, they need to be passed in as extra state_variables.\n\n graph rnn-encoding {\n %H_0 = ... \n %X = ...\n %Y_h, %Y = Scan[body = , num_scan_inputs=1](%H_0, %X)\n return %Y, %Y_h\n }\n\n graph rnn-cell-1 (\n %H_tminus1[FLOAT, tensor]\n %X_t[FLOAT, tensor]\n ) {\n %Wi = ...\n %Ri = ...\n %Wbi = ...\n %Rbi = ...\n %t1 = X_t * (Wi^T)\n %t2 = H_tminus1*(Ri^T)\n %t3 = Add(%t1, %t2)\n %t4 = Add(%t3, %Wbi)\n %t5 = Add(%t4, %Rbi)\n %Ht = Tanh(%t5)\n %Accumulate = Identity(%Ht)\n return %Ht, %Accumulate\n }\n\n" +-- +input: "data" +input: "indices" +input: "updates" +output: "output" +name: "Scatter" +op_type: "Scatter" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "indices-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "updates-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nThis operator is deprecated. Please use ScatterElements, which provides the same functionality.\n\nScatter takes three inputs `data`, `updates`, and `indices` of the same\nrank r >= 1 and an optional attribute axis that identifies an axis of `data`\n(by default, the outer-most axis, that is axis 0). The output of the operation\nis produced by creating a copy of the input `data`, and then updating its value\nto values specified by `updates` at specific index positions specified by\n`indices`. Its output shape is the same as the shape of `data`.\n\nFor each entry in `updates`, the target index in `data` is obtained by combining\nthe corresponding entry in `indices` with the index of the entry itself: the\nindex-value for dimension = axis is obtained from the value of the corresponding\nentry in `indices` and the index-value for dimension != axis is obtained from the\nindex of the entry itself.\n\nFor instance, in a 2-D tensor case, the update corresponding to the [i][j] entry\nis performed as below:\n```\n output[indices[i][j]][j] = updates[i][j] if axis = 0, \n output[i][indices[i][j]] = updates[i][j] if axis = 1,\n```\n\nThis operator is the inverse of GatherElements. It is similar to Torch\'s Scatter operation.\n\nExample 1:\n```\n data = [\n [0.0, 0.0, 0.0],\n [0.0, 0.0, 0.0],\n [0.0, 0.0, 0.0],\n ]\n indices = [\n [1, 0, 2],\n [0, 2, 1],\n ]\n updates = [\n [1.0, 1.1, 1.2],\n [2.0, 2.1, 2.2],\n ]\n output = [\n [2.0, 1.1, 0.0]\n [1.0, 0.0, 2.2]\n [0.0, 2.1, 1.2]\n ]\n```\nExample 2:\n```\n data = [[1.0, 2.0, 3.0, 4.0, 5.0]]\n indices = [[1, 3]]\n updates = [[1.1, 2.1]]\n axis = 1\n output = [[1.0, 1.1, 3.0, 2.1, 5.0]]\n```\n" +-- +input: "data" +input: "indices" +input: "updates" +output: "output" +name: "ScatterElements" +op_type: "ScatterElements" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "indices-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "updates-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nScatterElements takes three inputs `data`, `updates`, and `indices` of the same\nrank r >= 1 and an optional attribute axis that identifies an axis of `data`\n(by default, the outer-most axis, that is axis 0). The output of the operation\nis produced by creating a copy of the input `data`, and then updating its value\nto values specified by `updates` at specific index positions specified by\n`indices`. Its output shape is the same as the shape of `data`.\n\nFor each entry in `updates`, the target index in `data` is obtained by combining\nthe corresponding entry in `indices` with the index of the entry itself: the\nindex-value for dimension = axis is obtained from the value of the corresponding\nentry in `indices` and the index-value for dimension != axis is obtained from the\nindex of the entry itself.\n\nFor instance, in a 2-D tensor case, the update corresponding to the [i][j] entry\nis performed as below:\n```\n output[indices[i][j]][j] = updates[i][j] if axis = 0, \n output[i][indices[i][j]] = updates[i][j] if axis = 1,\n```\n\nThis operator is the inverse of GatherElements. It is similar to Torch\'s Scatter operation.\n\nExample 1:\n```\n data = [\n [0.0, 0.0, 0.0],\n [0.0, 0.0, 0.0],\n [0.0, 0.0, 0.0],\n ]\n indices = [\n [1, 0, 2],\n [0, 2, 1],\n ]\n updates = [\n [1.0, 1.1, 1.2],\n [2.0, 2.1, 2.2],\n ]\n output = [\n [2.0, 1.1, 0.0]\n [1.0, 0.0, 2.2]\n [0.0, 2.1, 1.2]\n ]\n```\nExample 2:\n```\n data = [[1.0, 2.0, 3.0, 4.0, 5.0]]\n indices = [[1, 3]]\n updates = [[1.1, 2.1]]\n axis = 1\n output = [[1.0, 1.1, 3.0, 2.1, 5.0]]\n```\n" +-- +input: "data" +input: "indices" +input: "updates" +output: "output" +name: "ScatterND" +op_type: "ScatterND" +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "indices-types" + strings: "int64" + type: STRINGS +} +attribute { + name: "updates-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nScatterND takes three inputs `data` tensor of rank r >= 1, `indices` tensor of rank q >= 1,\nand `updates` tensor of rank q + r - indices.shape[-1] - 1. The output of the operation\nis produced by creating a copy of the input `data`, and then updating its value to values\nspecified by `updates` at specific index positions specified by `indices`. Its output shape\nis the same as the shape of `data`. Note that `indices` should not have duplicate entries.\nThat is, two or more `updates` for the same index-location is not supported.\n\n`indices` is an integer tensor. Let k denote indices.shape[-1], the last dimension in the shape of `indices`.\n `indices` is treated as a (q-1)-dimensional tensor of k-tuples, where each k-tuple is a partial-index into `data`.\nHence, k can be a value at most the rank of `data`. When k equals rank(data), each update entry specifies an\nupdate to a single element of the tensor. When k is less than rank(data) each update entry specifies an\nupdate to a slice of the tensor.\n\n`updates` is treated as a (q-1)-dimensional tensor of replacement-slice-values. Thus, the\nfirst (q-1) dimensions of updates.shape must match the first (q-1) dimensions of indices.shape.\nThe remaining dimensions of `updates` correspond to the dimensions of the\nreplacement-slice-values. Each replacement-slice-value is a (r-k) dimensional tensor,\ncorresponding to the trailing (r-k) dimensions of `data`. Thus, the shape of `updates`\nmust equal indices.shape[0:q-1] ++ data.shape[k:r-1], where ++ denotes the concatenation\nof shapes.\n\nThe `output` is calculated via the following equation:\n\n output = np.copy(data)\n update_indices = indices.shape[:-1]\n for idx in np.ndindex(update_indices):\n output[indices[idx]] = updates[idx]\n\nThe order of iteration in the above loop is not specified.\nIn particular, indices should not have duplicate entries: that is, if idx1 != idx2, then indices[idx1] != indices[idx2].\nThis ensures that the output value does not depend on the iteration order.\n\nThis operator is the inverse of GatherND.\n\nExample 1:\n```\n data = [1, 2, 3, 4, 5, 6, 7, 8]\n indices = [[4], [3], [1], [7]]\n updates = [9, 10, 11, 12]\n output = [1, 11, 3, 10, 9, 6, 7, 12]\n```\n\nExample 2:\n```\n data = [[[1, 2, 3, 4], [5, 6, 7, 8], [8, 7, 6, 5], [4, 3, 2, 1]],\n [[1, 2, 3, 4], [5, 6, 7, 8], [8, 7, 6, 5], [4, 3, 2, 1]],\n [[8, 7, 6, 5], [4, 3, 2, 1], [1, 2, 3, 4], [5, 6, 7, 8]],\n [[8, 7, 6, 5], [4, 3, 2, 1], [1, 2, 3, 4], [5, 6, 7, 8]]]\n indices = [[0], [2]]\n updates = [[[5, 5, 5, 5], [6, 6, 6, 6], [7, 7, 7, 7], [8, 8, 8, 8]],\n [[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3], [4, 4, 4, 4]]]\n output = [[[5, 5, 5, 5], [6, 6, 6, 6], [7, 7, 7, 7], [8, 8, 8, 8]],\n [[1, 2, 3, 4], [5, 6, 7, 8], [8, 7, 6, 5], [4, 3, 2, 1]],\n [[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3], [4, 4, 4, 4]],\n [[8, 7, 6, 5], [4, 3, 2, 1], [1, 2, 3, 4], [5, 6, 7, 8]]]\n```\n" +-- +input: "X" +output: "Y" +name: "Selu" +op_type: "Selu" +attribute { + name: "alpha" + f: 1.6732632 + type: FLOAT +} +attribute { + name: "gamma" + f: 1.050701 + type: FLOAT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nSelu takes one input data (Tensor) and produces one output data\n(Tensor) where the scaled exponential linear unit function,\n`y = gamma * (alpha * e^x - alpha) for x <= 0`, `y = gamma * x for x > 0`,\nis applied to the tensor elementwise.\n" +-- +input: "input_sequence" +input: "position" +output: "tensor" +name: "SequenceAt" +op_type: "SequenceAt" +attribute { + name: "input_sequence-types" + strings: "seq(float" + strings: "seq(uint32" + strings: "seq(string" + strings: "seq(int64" + strings: "seq(double" + strings: "seq(int8" + strings: "seq(float16" + strings: "seq(bool" + strings: "seq(complex128" + strings: "seq(uint64" + strings: "seq(int16" + strings: "seq(int32" + strings: "seq(uint16" + strings: "seq(complex64" + strings: "seq(uint8" + type: STRINGS +} +attribute { + name: "position-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nOutputs a tensor copy from the tensor at \'position\' in \'input_sequence\'.\nAccepted range for \'position\' is in `[-n, n - 1]`, where `n` is the number of tensors in \'input_sequence\'.\nNegative value means counting positions from the back.\n" +-- +input: "inputs" +output: "output_sequence" +name: "SequenceConstruct" +op_type: "SequenceConstruct" +attribute { + name: "inputs-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nConstruct a tensor sequence containing \'inputs\' tensors.\nAll tensors in \'inputs\' must have the same data type.\n" +-- +output: "output" +name: "SequenceEmpty" +op_type: "SequenceEmpty" +attribute { + name: "dtype" + s: "" + type: INT +} +doc_string: "\nConstruct an empty tensor sequence, with given data type.\n" +-- +input: "input_sequence" +input: "position" +output: "output_sequence" +name: "SequenceErase" +op_type: "SequenceErase" +attribute { + name: "input_sequence-types" + strings: "seq(float" + strings: "seq(uint32" + strings: "seq(string" + strings: "seq(int64" + strings: "seq(double" + strings: "seq(int8" + strings: "seq(float16" + strings: "seq(bool" + strings: "seq(complex128" + strings: "seq(uint64" + strings: "seq(int16" + strings: "seq(int32" + strings: "seq(uint16" + strings: "seq(complex64" + strings: "seq(uint8" + type: STRINGS +} +attribute { + name: "position-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nOutputs a tensor sequence that removes the tensor at \'position\' from \'input_sequence\'.\nAccepted range for \'position\' is in `[-n, n - 1]`, where `n` is the number of tensors in \'input_sequence\'.\nNegative value means counting positions from the back.\n\'position\' is optional, by default it erases the last tensor from \'input_sequence\'.\n" +-- +input: "input_sequence" +input: "tensor" +input: "position" +output: "output_sequence" +name: "SequenceInsert" +op_type: "SequenceInsert" +attribute { + name: "input_sequence-types" + strings: "seq(float" + strings: "seq(uint32" + strings: "seq(string" + strings: "seq(int64" + strings: "seq(double" + strings: "seq(int8" + strings: "seq(float16" + strings: "seq(bool" + strings: "seq(complex128" + strings: "seq(uint64" + strings: "seq(int16" + strings: "seq(int32" + strings: "seq(uint16" + strings: "seq(complex64" + strings: "seq(uint8" + type: STRINGS +} +attribute { + name: "tensor-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "position-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nOutputs a tensor sequence that inserts \'tensor\' into \'input_sequence\' at \'position\'.\n\'tensor\' must have the same data type as \'input_sequence\'.\nAccepted range for \'position\' is in `[-n, n]`, where `n` is the number of tensors in \'input_sequence\'.\nNegative value means counting positions from the back.\n\'position\' is optional, by default it inserts \'tensor\' to the back of \'input_sequence\'.\n" +-- +input: "input_sequence" +output: "length" +name: "SequenceLength" +op_type: "SequenceLength" +attribute { + name: "input_sequence-types" + strings: "seq(float" + strings: "seq(uint32" + strings: "seq(string" + strings: "seq(int64" + strings: "seq(double" + strings: "seq(int8" + strings: "seq(float16" + strings: "seq(bool" + strings: "seq(complex128" + strings: "seq(uint64" + strings: "seq(int16" + strings: "seq(int32" + strings: "seq(uint16" + strings: "seq(complex64" + strings: "seq(uint8" + type: STRINGS +} +doc_string: "\nProduces a scalar(tensor of empty shape) containing the number of tensors in \'input_sequence\'.\n" +-- +input: "data" +output: "shape" +name: "Shape" +op_type: "Shape" +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nTakes a tensor as input and outputs an 1D int64 tensor containing the shape of the input tensor.\n" +-- +input: "input" +output: "output" +name: "Shrink" +op_type: "Shrink" +attribute { + name: "bias" + f: 0.0 + type: FLOAT +} +attribute { + name: "lambd" + f: 0.5 + type: FLOAT +} +attribute { + name: "input-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nShrink takes one input data (Tensor) and produces one Tensor output,\nhaving same datatype and shape with input. It has two attributes, lambd and\nbias. The formula of this operator is: If x < -lambd, y = x + bias;\nIf x > lambd, y = x - bias; Otherwise, y = 0.\n" +-- +input: "X" +output: "Y" +name: "Sigmoid" +op_type: "Sigmoid" +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nSigmoid takes one input data (Tensor) and produces one output data\n(Tensor) where the sigmoid function, y = 1 / (1 + exp(-x)), is applied to the\ntensor elementwise.\n" +-- +input: "input" +output: "output" +name: "Sign" +op_type: "Sign" +attribute { + name: "input-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nCalculate the sign of the given input tensor element-wise.\nIf input > 0, output 1. if input < 0, output -1. if input == 0, output 0.\n" +-- +input: "input" +output: "output" +name: "Sin" +op_type: "Sin" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the sine of the given input tensor, element-wise.\n" +-- +input: "input" +output: "output" +name: "Sinh" +op_type: "Sinh" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the hyperbolic sine of the given input tensor element-wise.\n" +-- +input: "data" +output: "size" +name: "Size" +op_type: "Size" +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nTakes a tensor as input and outputs a int64 scalar that equals to the total number of elements of the input tensor.\n" +-- +input: "data" +input: "starts" +input: "ends" +input: "axes" +input: "steps" +output: "output" +name: "Slice" +op_type: "Slice" +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "starts-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "ends-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "axes-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "steps-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "\nProduces a slice of the input tensor along multiple axes. Similar to numpy:\nhttps://docs.scipy.org/doc/numpy/reference/arrays.indexing.html\nSlices uses `starts`, `ends`, `axes` and `steps` inputs to specify the start and end\ndimension and step for each axis in the list of axes, it uses this information to\nslice the input `data` tensor. If a negative value is passed for any of the\nstart or end indices, it represents number of elements before the end of that\ndimension. If the value passed to start or end is larger than the `n` (the\nnumber of elements in this dimension), it represents `n`. For slicing to the\nend of a dimension with unknown size, it is recommended to pass in `INT_MAX` \nwhen sclicing forward and \'INT_MIN\' when slicing backward.\nIf a negative value is passed for step, it represents slicing backward. \nHowever step value cannot be 0.\nIf `axes` are omitted, they are set to `[0, ..., ndim-1]`.\nIf `steps` are omitted, they are set to `[1, ..., 1]` of length `len(starts)`\nExample 1:\n data = [\n [1, 2, 3, 4],\n [5, 6, 7, 8],\n ]\n axes = [0, 1]\n starts = [1, 0]\n ends = [2, 3]\n steps = [1, 2]\n result = [\n [5, 7],\n ]\nExample 2:\n data = [\n [1, 2, 3, 4],\n [5, 6, 7, 8],\n ]\n starts = [0, 1]\n ends = [-1, 1000]\n result = [\n [2, 3, 4],\n ]\n" +-- +input: "input" +output: "output" +name: "Softmax" +op_type: "Softmax" +attribute { + name: "axis" + i: 1 + type: INT +} +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nThe operator computes the softmax (normalized exponential) values for each layer in the batch\n of the given input.\n\nThe input does not need to explicitly be a 2D vector; rather, it will be\ncoerced into one. For an arbitrary n-dimensional tensor\ninput \\in [a_0, a_1, ..., a_{k-1}, a_k, ..., a_{n-1}] and k is\nthe axis provided, then input will be coerced into a 2-dimensional tensor with\ndimensions [a_0 * ... * a_{k-1}, a_k * ... * a_{n-1}]. For the default\ncase where axis=1, this means the input tensor will be coerced into a 2D tensor\nof dimensions [a_0, a_1 * ... * a_{n-1}], where a_0 is often the batch size.\nIn this situation, we must have a_0 = N and a_1 * ... * a_{n-1} = D.\nEach of these dimensions must be matched correctly, or else the operator\nwill throw errors. The output tensor has the same shape\nand contains the softmax values of the corresponding input.\n" +-- +input: "scores" +input: "labels" +input: "weights" +output: "output" +output: "log_prob" +name: "SoftmaxCrossEntropyLoss" +op_type: "SoftmaxCrossEntropyLoss" +attribute { + name: "ignore_index" + s: "" + type: INT +} +attribute { + name: "reduction" + s: "mean" + type: STRING +} +attribute { + name: "scores-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +attribute { + name: "labels-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +attribute { + name: "weights-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "Loss function that measures the softmax cross entropy\nbetween \'scores\' and \'labels\'.\nThis operator first computes a loss tensor whose shape is identical to the labels input.\nIf the input is 2-D with shape (N, C), the loss tensor may be a N-element vector L = (l_1, l_2, ..., l_N).\nIf the input is N-D tensor with shape (N, C, D1, D2, ..., Dk),\nthe loss tensor L may have (N, D1, D2, ..., Dk) as its shape and L[i,][j_1][j_2]...[j_k] denotes a scalar element in L.\nAfter L is available, this operator can optionally do a reduction operator.\n\nshape(scores): (N, C) where C is the number of classes, or (N, C, D1, D2,..., Dk),\n with K >= 1 in case of K-dimensional loss.\nshape(labels): (N) where each value is 0 <= labels[i] <= C-1, or (N, D1, D2,..., Dk),\n with K >= 1 in case of K-dimensional loss.\n\nThe loss for one sample, l_i, can caculated as follows:\n l[i][d1][d2]...[dk] = -y[i][c][d1][d2]..[dk], where i is the index of classes.\nor\n l[i][d1][d2]...[dk] = -y[i][c][d1][d2]..[dk] * weights[c], if \'weights\' is provided.\n\nloss is zero for the case when label-value equals ignore_index.\n l[i][d1][d2]...[dk] = 0, when labels[n][d1][d2]...[dk] = ignore_index\n\nwhere:\n p = Softmax(scores)\n y = Log(p)\n c = labels[i][d1][d2]...[dk]\n\nFinally, L is optionally reduced:\nIf reduction = \'none\', the output is L with shape (N, D1, D2, ..., Dk).\nIf reduction = \'sum\', the output is scalar: Sum(L).\nIf reduction = \'mean\', the output is scalar: ReduceMean(L), or if weight is provided: ReduceSum(L) / ReduceSum(W),\nwhere tensor W is of shape (N, D1, D2, ..., Dk) and W[n][d1][d2]...[dk] = weights[labels[i][d1][d2]...[dk]].\n" +-- +input: "X" +output: "Y" +name: "Softplus" +op_type: "Softplus" +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nSoftplus takes one input data (Tensor) and produces one output data\n(Tensor) where the softplus function, y = ln(exp(x) + 1), is applied to\nthe tensor elementwise.\n" +-- +input: "input" +output: "output" +name: "Softsign" +op_type: "Softsign" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the softsign (x/(1+|x|)) of the given input tensor element-wise.\n" +-- +input: "input" +output: "output" +name: "SpaceToDepth" +op_type: "SpaceToDepth" +attribute { + name: "blocksize" + s: "" + type: INT +} +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "SpaceToDepth rearranges blocks of spatial data into depth. More specifically,\nthis op outputs a copy of the input tensor where values from the height and width dimensions\nare moved to the depth dimension.\n" +-- +input: "input" +output: "outputs" +name: "Split" +op_type: "Split" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "split" + s: "" + type: INTS +} +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "Split a tensor into a list of tensors, along the specified\n\'axis\'. Lengths of the parts can be specified using argument \'split\'.\nOtherwise, the tensor is split to equal sized parts.\n" +-- +input: "input" +input: "split" +output: "output_sequence" +name: "SplitToSequence" +op_type: "SplitToSequence" +attribute { + name: "axis" + i: 0 + type: INT +} +attribute { + name: "keepdims" + i: 1 + type: INT +} +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "split-types" + strings: "int32" + strings: "int64" + type: STRINGS +} +doc_string: "Split a tensor into a sequence of tensors, along the specified\n\'axis\'. Lengths of the parts can be specified using argument \'split\'.\n\'split\' must contain only positive numbers.\n\'split\' is either a scalar (tensor of empty shape), or a 1-D tensor.\nIf \'split\' is a scalar, then \'input\' will be split into equally sized chunks(if possible).\nLast chunk will be smaller if the \'input\' size along the given axis \'axis\' is not divisible\nby \'split\'.\nOtherwise, the tensor is split into \'size(split)\' chunks, with lengths of the parts on \'axis\'\nspecified in \'split\'. In this scenario, the sum of entries in \'split\' must be equal to the\ndimension size of input tensor on \'axis\'.\n" +-- +input: "X" +output: "Y" +name: "Sqrt" +op_type: "Sqrt" +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nSquare root takes one input data (Tensor) and produces one output data\n(Tensor) where the square root is, y = x^0.5, is applied to\nthe tensor elementwise. If x is negative, then it will return NaN.\n" +-- +input: "data" +output: "squeezed" +name: "Squeeze" +op_type: "Squeeze" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nRemove single-dimensional entries from the shape of a tensor.\nTakes a parameter `axes` with a list of axes to squeeze.\nIf `axes` is not provided, all the single dimensions will be removed from\nthe shape. If an axis is selected with shape entry not equal to one, an error is raised.\n" +-- +input: "X" +output: "Y" +name: "StringNormalizer" +op_type: "StringNormalizer" +attribute { + name: "case_change_action" + s: "NONE" + type: STRING +} +attribute { + name: "is_case_sensitive" + i: 0 + type: INT +} +attribute { + name: "locale" + s: "" + type: STRING +} +attribute { + name: "stopwords" + s: "" + type: STRINGS +} +attribute { + name: "X-types" + strings: "string" + type: STRINGS +} +doc_string: "\nStringNormalization performs string operations for basic cleaning.\nThis operator has only one input (denoted by X) and only one output\n(denoted by Y). This operator first examines the elements in the X,\nand removes elements specified in \"stopwords\" attribute.\nAfter removing stop words, the intermediate result can be further lowercased,\nuppercased, or just returned depending the \"case_change_action\" attribute.\nThis operator only accepts [C]- and [1, C]-tensor.\nIf all elements in X are dropped, the output will be the empty value of string tensor with shape [1]\nif input shape is [C] and shape [1, 1] if input shape is [1, C].\n" +-- +input: "A" +input: "B" +output: "C" +name: "Sub" +op_type: "Sub" +attribute { + name: "A-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +attribute { + name: "B-types" + strings: "int64" + strings: "double" + strings: "uint32" + strings: "float" + strings: "uint64" + strings: "float16" + strings: "int32" + type: STRINGS +} +doc_string: "\nPerforms element-wise binary subtraction (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "data_0" +output: "sum" +name: "Sum" +op_type: "Sum" +attribute { + name: "data_0-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nElement-wise sum of each of the input tensors (with Numpy-style broadcasting support).\nAll inputs and outputs must have the same data type.\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "input" +output: "output" +name: "Tan" +op_type: "Tan" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the tangent of the given input tensor, element-wise.\n" +-- +input: "input" +output: "output" +name: "Tanh" +op_type: "Tanh" +attribute { + name: "input-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nCalculates the hyperbolic tangent of the given input tensor element-wise.\n" +-- +input: "X" +output: "Y" +name: "TfIdfVectorizer" +op_type: "TfIdfVectorizer" +attribute { + name: "max_gram_length" + s: "" + type: INT +} +attribute { + name: "max_skip_count" + s: "" + type: INT +} +attribute { + name: "min_gram_length" + s: "" + type: INT +} +attribute { + name: "mode" + s: "" + type: STRING +} +attribute { + name: "ngram_counts" + s: "" + type: INTS +} +attribute { + name: "ngram_indexes" + s: "" + type: INTS +} +attribute { + name: "pool_int64s" + s: "" + type: INTS +} +attribute { + name: "pool_strings" + s: "" + type: STRINGS +} +attribute { + name: "weights" + s: "" + type: FLOATS +} +attribute { + name: "X-types" + strings: "int32" + strings: "int64" + strings: "string" + type: STRINGS +} +doc_string: "\nThis transform extracts n-grams from the input sequence and save them as a vector. Input can\nbe either a 1-D or 2-D tensor. For 1-D input, output is the n-gram representation of that input.\nFor 2-D input, the output is also a 2-D tensor whose i-th row is the n-gram representation of the i-th input row.\nMore specifically, if input shape is [C], the corresponding output shape would be [max(ngram_indexes) + 1].\nIf input shape is [N, C], this operator produces a [N, max(ngram_indexes) + 1]-tensor.\n\nIn contrast to standard n-gram extraction, here, the indexes of extracting an n-gram from the original\nsequence are not necessarily consecutive numbers. The discontinuity between indexes are controlled by the number of skips.\nIf the number of skips is 2, we should skip two tokens when scanning through the original sequence.\nLet\'s consider an example. Assume that input sequence is [94, 17, 36, 12, 28] and the number of skips is 2.\nThe associated 2-grams are [94, 12] and [17, 28] respectively indexed by [0, 3] and [1, 4].\nIf the number of skips becomes 0, the 2-grams generated are [94, 17], [17, 36], [36, 12], [12, 28]\nindexed by [0, 1], [1, 2], [2, 3], [3, 4], respectively.\n\nThe output vector (denoted by Y) stores the count of each n-gram;\nY[ngram_indexes[i]] indicates the times that the i-th n-gram is found. The attribute ngram_indexes is used to determine the mapping\nbetween index i and the corresponding n-gram\'s output coordinate. If pool_int64s is [94, 17, 17, 36], ngram_indexes is [1, 0],\nngram_counts=[0, 0], then the Y[0] (first element in Y) and Y[1] (second element in Y) are the counts of [17, 36] and [94, 17],\nrespectively. An n-gram which cannot be found in pool_strings/pool_int64s should be ignored and has no effect on the output.\nNote that we may consider all skips up to S when generating the n-grams.\n\nThe examples used above are true if mode is \"TF\". If mode is \"IDF\", all the counts larger than 1 would be truncated to 1 and\nthe i-th element in weights would be used to scale (by multiplication) the count of the i-th n-gram in pool. If mode is \"TFIDF\",\nthis operator first computes the counts of all n-grams and then scale them by the associated values in the weights attribute.\n\nOnly one of pool_strings and pool_int64s can be set. If pool_int64s is set, the input should be an integer tensor.\nIf pool_strings is set, the input must be a string tensor.\n" +-- +input: "X" +output: "Y" +name: "ThresholdedRelu" +op_type: "ThresholdedRelu" +attribute { + name: "alpha" + f: 1.0 + type: FLOAT +} +attribute { + name: "X-types" + strings: "double" + strings: "float" + strings: "float16" + type: STRINGS +} +doc_string: "\nThresholdedRelu takes one input data (Tensor) and produces one output data\n(Tensor) where the rectified linear function, y = x for x > alpha, y = 0 otherwise,\nis applied to the tensor elementwise.\n" +-- +input: "input" +input: "repeats" +output: "output" +name: "Tile" +op_type: "Tile" +attribute { + name: "input-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "repeats-types" + strings: "int64" + type: STRINGS +} +doc_string: "Constructs a tensor by tiling a given tensor.\nThis is the same as function `tile` in Numpy, but no broadcast.\nFor example A = [[1, 2], [3, 4]], B = [1, 2], tile(A, B) = [[1, 2, 1, 2], [3, 4, 3, 4]]\n" +-- +input: "X" +input: "K" +output: "Values" +output: "Indices" +name: "TopK" +op_type: "TopK" +attribute { + name: "axis" + i: -1 + type: INT +} +attribute { + name: "largest" + i: 1 + type: INT +} +attribute { + name: "sorted" + i: 1 + type: INT +} +attribute { + name: "X-types" + strings: "uint16" + strings: "int64" + strings: "float" + strings: "uint32" + strings: "double" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "K-types" + strings: "int64" + type: STRINGS +} +doc_string: "\nRetrieve the top-K largest or smallest elements along a specified axis. Given an input tensor of\nshape [a_1, a_2, ..., a_n, r] and integer argument k, return two outputs:\n -Value tensor of shape [a_1, a_2, ..., a_{axis-1}, k, a_{axis+1}, ... a_n]\n which contains the values of the top k elements along the specified axis\n -Index tensor of shape [a_1, a_2, ..., a_{axis-1}, k, a_{axis+1}, ... a_n] which\n contains the indices of the top k elements (original indices from the input\n tensor).\n\nIf \"largest\" is 1 (the default value) then the k largest elements are returned.\nIf \"sorted\" is 1 (the default value) then the resulting k elements will be sorted.\nIf \"sorted\" is 0, order of returned \'Values\' and \'Indices\' are undefined.\n\nGiven two equivalent values, this operator uses the indices along the axis as\n a tiebreaker. That is, the element with the lower index will appear first.\n" +-- +input: "data" +output: "transposed" +name: "Transpose" +op_type: "Transpose" +attribute { + name: "perm" + s: "" + type: INTS +} +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nTranspose the input tensor similar to numpy.transpose. For example, when\nperm=(1, 0, 2), given an input tensor of shape (1, 2, 3), the output shape\nwill be (2, 1, 3).\n" +-- +input: "X" +output: "Y" +output: "Z" +name: "TreeEnsembleClassifier" +op_type: "TreeEnsembleClassifier" +attribute { + name: "base_values" + s: "" + type: FLOATS +} +attribute { + name: "class_ids" + s: "" + type: INTS +} +attribute { + name: "class_nodeids" + s: "" + type: INTS +} +attribute { + name: "class_treeids" + s: "" + type: INTS +} +attribute { + name: "class_weights" + s: "" + type: FLOATS +} +attribute { + name: "classlabels_int64s" + s: "" + type: INTS +} +attribute { + name: "classlabels_strings" + s: "" + type: STRINGS +} +attribute { + name: "nodes_falsenodeids" + s: "" + type: INTS +} +attribute { + name: "nodes_featureids" + s: "" + type: INTS +} +attribute { + name: "nodes_hitrates" + s: "" + type: FLOATS +} +attribute { + name: "nodes_missing_value_tracks_true" + s: "" + type: INTS +} +attribute { + name: "nodes_modes" + s: "" + type: STRINGS +} +attribute { + name: "nodes_nodeids" + s: "" + type: INTS +} +attribute { + name: "nodes_treeids" + s: "" + type: INTS +} +attribute { + name: "nodes_truenodeids" + s: "" + type: INTS +} +attribute { + name: "nodes_values" + s: "" + type: FLOATS +} +attribute { + name: "post_transform" + s: "NONE" + type: STRING +} +attribute { + name: "X-types" + strings: "int32" + strings: "int64" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Tree Ensemble classifier. Returns the top class for each of N inputs.
        \n The attributes named \'nodes_X\' form a sequence of tuples, associated by \n index into the sequences, which must all be of equal length. These tuples\n define the nodes.
        \n Similarly, all fields prefixed with \'class_\' are tuples of votes at the leaves.\n A leaf may have multiple votes, where each vote is weighted by\n the associated class_weights index.
        \n One and only one of classlabels_strings or classlabels_int64s\n will be defined. The class_ids are indices into this list.\n" +-- +input: "X" +output: "Y" +name: "TreeEnsembleRegressor" +op_type: "TreeEnsembleRegressor" +attribute { + name: "aggregate_function" + s: "SUM" + type: STRING +} +attribute { + name: "base_values" + s: "" + type: FLOATS +} +attribute { + name: "n_targets" + s: "" + type: INT +} +attribute { + name: "nodes_falsenodeids" + s: "" + type: INTS +} +attribute { + name: "nodes_featureids" + s: "" + type: INTS +} +attribute { + name: "nodes_hitrates" + s: "" + type: FLOATS +} +attribute { + name: "nodes_missing_value_tracks_true" + s: "" + type: INTS +} +attribute { + name: "nodes_modes" + s: "" + type: STRINGS +} +attribute { + name: "nodes_nodeids" + s: "" + type: INTS +} +attribute { + name: "nodes_treeids" + s: "" + type: INTS +} +attribute { + name: "nodes_truenodeids" + s: "" + type: INTS +} +attribute { + name: "nodes_values" + s: "" + type: FLOATS +} +attribute { + name: "post_transform" + s: "NONE" + type: STRING +} +attribute { + name: "target_ids" + s: "" + type: INTS +} +attribute { + name: "target_nodeids" + s: "" + type: INTS +} +attribute { + name: "target_treeids" + s: "" + type: INTS +} +attribute { + name: "target_weights" + s: "" + type: FLOATS +} +attribute { + name: "X-types" + strings: "int32" + strings: "int64" + strings: "double" + strings: "float" + type: STRINGS +} +doc_string: "\n Tree Ensemble regressor. Returns the regressed values for each input in N.
        \n All args with nodes_ are fields of a tuple of tree nodes, and\n it is assumed they are the same length, and an index i will decode the\n tuple across these inputs. Each node id can appear only once\n for each tree id.
        \n All fields prefixed with target_ are tuples of votes at the leaves.
        \n A leaf may have multiple votes, where each vote is weighted by\n the associated target_weights index.
        \n All trees must have their node ids start at 0 and increment by 1.
        \n Mode enum is BRANCH_LEQ, BRANCH_LT, BRANCH_GTE, BRANCH_GT, BRANCH_EQ, BRANCH_NEQ, LEAF\n" +-- +input: "X" +output: "Y" +output: "indices" +output: "inverse_indices" +output: "counts" +name: "Unique" +op_type: "Unique" +attribute { + name: "axis" + s: "" + type: INT +} +attribute { + name: "sorted" + i: 1 + type: INT +} +attribute { + name: "X-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nFind the unique elements of a tensor. When an optional attribute \'axis\' is provided, unique subtensors sliced along the \'axis\' are returned. \nOtherwise the input tensor is flattened and unique values of the flattened tensor are returned. \n\nThis operator returns the unique values or sliced unique subtensors of the input tensor and three optional outputs. \nThe first output tensor \'Y\' contains all unique values or subtensors of the input. \nThe second optional output tensor \'indices\' contains indices of \'Y\' elements\' first occurance in \'X\'.. \nThe third optional output tensor \'inverse_indices\' contains, for elements of \'X\', its corresponding indices in \'Y\'. \". \nThe fourth optional output tensor \'counts\' contains the count of each element of \'Y\' in the input. \n\nOutputs are either sorted in ascending order or optionally in the order of the first occurrence of the values in the input. \n\nhttps://docs.scipy.org/doc/numpy/reference/generated/numpy.unique.html\n\nExample 1:\n input_X = [2, 1, 1, 3, 4, 3]\n attribute_sorted = 0\n attribute_axis = None\n output_Y = [2, 1, 3, 4]\n output_indices = [0, 1, 3, 4]\n output_inverse_indices = [0, 1, 1, 2, 3, 2]\n output_counts = [1, 2, 2, 1]\n\nExample 2:\n input_X = [[1, 3], [2, 3]]\n attribute_sorted = 1\n attribute_axis = None\n output_Y = [1, 2, 3]\n output_indices = [0, 2, 1]\n output_inverse_indices = [0, 2, 1, 2]\n output_counts = [1, 1, 2]\n\nExample 3:\n input_X = [[1, 0, 0], [1, 0, 0], [2, 3, 4]]\n attribute_sorted = 1\n attribute_axis = 0\n output_Y = [[1, 0, 0], [2, 3, 4]]\n output_indices = [0, 2]\n output_inverse_indices = [0, 0, 1]\n output_counts = [2, 1]\n\nExample 4:\n input_x = [[[1., 1.], [0., 1.], [2., 1.], [0., 1.]], \n [[1., 1.], [0., 1.], [2., 1.], [0., 1.]]]\n attribute_sorted = 1\n attribute_axis = 1\n\n intermediate data are presented below for better understanding: \n \n there are 4 subtensors sliced along axis 1 of input_x (shape = (2, 4, 2)):\n A: [[1, 1], [1, 1]], \n [[0, 1], [0, 1]], \n [[2, 1], [2, 1]], \n [[0, 1], [0, 1]].\n \n there are 3 unique subtensors: \n [[1, 1], [1, 1]], \n [[0, 1], [0, 1]], \n [[2, 1], [2, 1]].\n \n sorted unique subtensors:\n B: [[0, 1], [0, 1]], \n [[1, 1], [1, 1]], \n [[2, 1], [2, 1]].\n \n output_Y is constructed from B:\n [[[0. 1.], [1. 1.], [2. 1.]], \n [[0. 1.], [1. 1.], [2. 1.]]]\n\n output_indices is to map from B to A:\n [1, 0, 2]\n \n output_inverse_indices is to map from A to B:\n [1, 0, 2, 0]\n\n output_counts = [2 1 1]\n" +-- +input: "data" +output: "expanded" +name: "Unsqueeze" +op_type: "Unsqueeze" +attribute { + name: "axes" + s: "" + type: INTS +} +attribute { + name: "data-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\nInsert single-dimensional entries to the shape of an input tensor (`data`).\nTakes one required argument `axes` - which contains a list of dimension indices and this operator will insert a dimension of value `1` into the corresponding index of the output tensor (`expanded`).\n\nFor example:\n Given an input tensor (`data`) of shape [3, 4, 5], then\n Unsqueeze(data, axes=[0, 4]) outputs a tensor (`expanded`) containing same data as `data` but with shape [1, 3, 4, 5, 1].\n\nThe attribute `axes` should not contain any duplicate entries. It is an error if it contains duplicates.\nThe rank of the output tensor (`output_rank`) is the rank of the input tensor (`data`) plus the number of values in `axes`.\nEach value in `axes` should be within the (inclusive) range [-output_rank , output_rank - 1]. \nThe order of values in `axes` does not matter and can come in any order. \n\n" +-- +input: "X" +input: "scales" +output: "Y" +name: "Upsample" +op_type: "Upsample" +attribute { + name: "mode" + s: "nearest" + type: STRING +} +attribute { + name: "X-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "scales-types" + strings: "float" + type: STRINGS +} +doc_string: "\nUpsample the input tensor.\nEach dimension value of the output tensor is:\n output_dimension = floor(input_dimension * scale).\n" +-- +input: "condition" +input: "X" +input: "Y" +output: "output" +name: "Where" +op_type: "Where" +attribute { + name: "condition-types" + strings: "bool" + type: STRINGS +} +attribute { + name: "X-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +attribute { + name: "Y-types" + strings: "bool" + strings: "uint16" + strings: "int64" + strings: "string" + strings: "float" + strings: "uint32" + strings: "double" + strings: "complex64" + strings: "complex128" + strings: "uint64" + strings: "int16" + strings: "float16" + strings: "int32" + strings: "int8" + strings: "uint8" + type: STRINGS +} +doc_string: "\n Return elements, either from X or Y, depending on condition\n (with Numpy-style broadcasting support).\n Where behaves like numpy.where with three parameters:\n https://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html\n" +-- +input: "A" +input: "B" +output: "C" +name: "Xor" +op_type: "Xor" +attribute { + name: "A-types" + strings: "bool" + type: STRINGS +} +attribute { + name: "B-types" + strings: "bool" + type: STRINGS +} +doc_string: "\nReturns the tensor resulted from performing the `xor` logical operation\nelementwise on the input tensors `A` and `B` (with Numpy-style broadcasting support).\n\nThis operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [the doc](Broadcasting.md).\n" +-- +input: "X" +output: "Z" +name: "ZipMap" +op_type: "ZipMap" +attribute { + name: "classlabels_int64s" + s: "" + type: INTS +} +attribute { + name: "classlabels_strings" + s: "" + type: STRINGS +} +attribute { + name: "X-types" + strings: "float" + type: STRINGS +} +doc_string: "\n Creates a map from the input and the attributes.
        \n The values are provided by the input tensor, while the keys are specified by the attributes.\n Must provide keys in either classlabels_strings or classlabels_int64s (but not both).
        \n The columns of the tensor correspond one-by-one to the keys specified by the attributes. There must be as many columns as keys.
        \n" +-- diff --git a/nd4j/samediff-import/samediff-import-onnx/src/main/resources/onnx-op-defs.pb b/nd4j/samediff-import/samediff-import-onnx/src/main/resources/onnx-op-defs.pb new file mode 100644 index 000000000..023f31b24 Binary files /dev/null and b/nd4j/samediff-import/samediff-import-onnx/src/main/resources/onnx-op-defs.pb differ diff --git a/nd4j/samediff-import/samediff-import-onnx/src/test/kotlin/org/nd4j/samediff/frameworkimport/onnx/TestOnnxIR.kt b/nd4j/samediff-import/samediff-import-onnx/src/test/kotlin/org/nd4j/samediff/frameworkimport/onnx/TestOnnxIR.kt new file mode 100644 index 000000000..ff5bbad87 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/test/kotlin/org/nd4j/samediff/frameworkimport/onnx/TestOnnxIR.kt @@ -0,0 +1,908 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.samediff.frameworkimport.onnx + +import junit.framework.Assert +import junit.framework.Assert.* +import onnx.Onnx +import org.junit.jupiter.api.Test +import org.nd4j.ir.OpNamespace +import org.nd4j.linalg.api.buffer.DataType +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.linalg.factory.Nd4j +import org.nd4j.samediff.frameworkimport.ImportGraph +import org.nd4j.samediff.frameworkimport.onnx.definitions.OnnxOpDeclarations +import org.nd4j.samediff.frameworkimport.onnx.definitions.registry +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRGraph +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRGraphRunner +import kotlin.test.assertTrue + +data class OnnxGraphInput(val graphDef: Onnx.GraphProto, val inputNames: List, val outputNames: List, + val inputArrays: Map, val dynamicArrays: Map) + + +class TestOnnxIR { + val declarations = OnnxOpDeclarations + + + + @Test + fun testInputOutputNames() { + val onnxOpRegistry = registry() + val onnxOpNames = onnxOpRegistry.inputFrameworkOpNames() + val nd4jOpNames = onnxOpRegistry.nd4jOpNames() + onnxOpRegistry.mappingProcessNames().map { + onnxOpRegistry.lookupOpMappingProcess(it) + }.forEach { + println("Beginning processing of op ${it.inputFrameworkOpName()} and nd4j op ${it.opName()}") + assertTrue(onnxOpNames.contains(it.inputFrameworkOpName())) + assertTrue(nd4jOpNames.contains(it.opName())) + val nd4jOpDef = onnxOpRegistry.lookupNd4jOpDef(it.opName()) + val onnxOpDef = onnxOpRegistry.lookupInputFrameworkOpDef(it.inputFrameworkOpName()) + val inputNameArgDefs = nd4jOpDef.argDescriptorList.filter { + argDef -> argDef.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + }.map { argDef -> argDef.name } + + val inputFrameworkOpDefNames = onnxOpDef.inputList + + val nd4jArgDefNames = nd4jOpDef.argDescriptorList.map { nd4jArgDef -> nd4jArgDef.name } + val onnxAttrNames = onnxOpDef.attributeList.map { onnxAttr -> onnxAttr.name } + it.tensorMappingRules().forEach { tensorRules -> + println("Running tensor mapping rule ${tensorRules.name()} for op ${it.inputFrameworkOpName()} and nd4j op name ${it.opName()}") + run { + tensorRules.mappingNamesToPerform().forEach { tensorRule -> + run { + println("Testing assertion for nd4j name ${tensorRule.key} and input name ${tensorRule.value}") + assertTrue(inputNameArgDefs.contains(tensorRule.key)) ?: error("Failed on inputArgName ${tensorRule.key}") + assertTrue(inputFrameworkOpDefNames.contains(tensorRule.value)) ?: error("Failed on inputArgName ${tensorRule.value}") + } + + } + } + + } + + println("Running attribute mapping rules for ${it.opName()} and input op name ${it.inputFrameworkOpName()}") + it.attributeMappingRules().forEach { attrRule -> + run { + attrRule.mappingNamesToPerform().forEach { attrMapping -> + run { + println("Testing nd4j name ${attrMapping.key} and input framework name ${attrMapping.value}") + assertTrue(nd4jArgDefNames.contains(attrMapping.key) || inputNameArgDefs.contains(attrMapping.key)) + assertTrue(onnxAttrNames.contains(attrMapping.value) || inputFrameworkOpDefNames.contains(attrMapping.value)) + + } + + } + } + } + + } + } + + + + @Test + fun testOpsMapped() { + val onnxOpRegistry = registry() + + val onnxOpNames = onnxOpRegistry.inputFrameworkOpNames().filter { onnxOpRegistry.registeredOps.containsKey(it) } + val nd4jOpNames = onnxOpRegistry.nd4jOpNames() + /** + * TODO: Assert each op is mapped. + * + * Assert all attributes in nd4j are mapped. + * If not, let's document what isn't and why for each op. + * + * Create an op generation tool that allows random generation of test cases + * based on existing mapped ops between nd4j and tensorflow. + */ + onnxOpNames.map { onnxOpName -> onnxOpRegistry.lookupOpMappingProcess(onnxOpName)} + .forEach { + val onnxNamesMapped = HashSet() + val nd4jNamesMapped = HashSet() + //we can ignore dtype for now + nd4jNamesMapped.add("dtype") + val opDef = onnxOpRegistry.lookupNd4jOpDef(it.opName()) + val onnxOpDef = onnxOpRegistry.lookupInputFrameworkOpDef(it.inputFrameworkOpName()) + val onnxAssertionNames = HashSet() + onnxAssertionNames.addAll(onnxOpDef.inputList.map { arg -> arg.toString() }) + onnxAssertionNames.addAll(onnxOpDef.attributeList.map { attr -> attr.name }) + val nd4jOpDefAssertions = HashSet() + nd4jOpDefAssertions.addAll(opDef.argDescriptorList.map { argDescriptor -> argDescriptor.name }) + val numRequiredInputs = onnxOpDef.inputCount + val nd4jInputs = opDef.argDescriptorList.filter { arg -> arg.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR }.count() + /** + * TODO: Grab total collection of mapped nd4j names + * as outputs and mapped onnx names as inputs. + * Compare the mapped names to the op definitions + * in nd4j and tensorflow respectively. + */ + it.tensorMappingRules().forEach { mappingRule -> + mappingRule.mappingNamesToPerform().forEach { mappingName -> + onnxNamesMapped.add(mappingName.value) + nd4jNamesMapped.add(mappingName.key) + } + } + + it.attributeMappingRules().forEach { mappingRule -> + mappingRule.mappingNamesToPerform().forEach { mappingName -> + onnxNamesMapped.add(mappingName.value) + nd4jNamesMapped.add(mappingName.key) + } + + mappingRule.mappingTransformerArgs().forEach {transformerArg -> + run { + transformerArg.value.forEach { argValue -> + nd4jNamesMapped.add(argValue.name) + + } + } + } + + } + + + onnxOpDef.inputList.forEach { inputName -> + Assert.assertTrue(onnxAssertionNames.contains(inputName)) + } + + onnxOpDef.attributeList.map { attrDef -> attrDef.name }.forEach { attrName -> + Assert.assertTrue(onnxAssertionNames.contains(attrName)) + } + + + + opDef.argDescriptorList.forEach { argDef -> + //only require it when the + + when(argDef.argType) { + OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR -> { + /** + * Nd4j typically has many optional inputs that can also double as attributes + * We need to allow for a bit of flexibility in how we handle op definitions. If they're not mapped 1 to 1, + * we just log a warning for unmapped inputs. Otherwise we can do an assertion. + */ + if(numRequiredInputs == nd4jInputs) + assertTrue("Nd4j op name ${opDef.name} with onnx mapping ${onnxOpDef.name} has missing mapping ${argDef.name}", nd4jNamesMapped.contains(argDef.name)) + else if(!nd4jNamesMapped.contains(argDef.name)) { + println("Warning: Nd4j op name ${opDef.name} with onnx mapping ${onnxOpDef.name} has missing mapping ${argDef.name}") + } + } + OpNamespace.ArgDescriptor.ArgType.INT32,OpNamespace.ArgDescriptor.ArgType.INT64 -> { + assertTrue("Nd4j op name ${opDef.name} with onnx mapping ${onnxOpDef.name} has missing mapping ${argDef.name}", nd4jNamesMapped.contains(argDef.name)) + } + OpNamespace.ArgDescriptor.ArgType.DOUBLE, OpNamespace.ArgDescriptor.ArgType.FLOAT -> { + assertTrue("Nd4j op name ${opDef.name} with onnx mapping ${onnxOpDef.name} has missing mapping ${argDef.name}", nd4jNamesMapped.contains(argDef.name)) + } + OpNamespace.ArgDescriptor.ArgType.BOOL -> { + assertTrue("Nd4j op name ${opDef.name} with onnx mapping ${onnxOpDef.name} has missing mapping ${argDef.name}", nd4jNamesMapped.contains(argDef.name)) + } + } + + } + + } + } + + @Test + fun testOpExecution() { + val onnxOpRegistry = registry() + + val scalarInputs = mapOf( + "abs" to -1.0, + "copy" to 1.0, + "erfc" to 1.0, + "exp" to 1.0, + "identity" to 1.0, + "neg" to 1.0, + "ones_as" to 1.0, + "relu6" to 1.0, + "round" to 1.0, + "sign" to 1.0, + "sin" to 1.0, + "square" to 1.0, + "sqrt" to 1.0) + + val scalarFloatOps = mapOf( + "acos" to 1.0f, + "asin" to 1.0f, + "acosh" to 1.0f, + "asinh" to 1.0f, + "atan" to 1.0f, + "atanh" to 0.5f, + "ceil" to 1.0f, + "cosh" to 1.0f, + "cos" to 1.0f, + "erf" to 1.0f, + "hard_sigmoid" to 1.0f, + "floor" to 1.0f, + "log" to 1.0f, + "round" to 1.0f, + "relu" to 1.0f, + "selu" to 1.0f, + "sinh" to 1.0f, + "sigmoid" to 1.0f, + "softplus" to 1.0f, + "softsign" to 1.0f, + "tan" to 1.0f, + "tanh" to 1.0f + ) + + + val singleInputOps = scalarInputs.keys + val singleInputBooleanOps = mapOf( + "not" to false + ) + + val singleOutputBooleanOps = mapOf( + "isfinite" to 1.0f, + "isinf" to 1.0f, + "isnan" to 1.0f, + ) + + val pairWiseBooleanOps = mapOf( + "min" to listOf(1.0,2.0), + "max" to listOf(1.0,2.0), + "equals" to listOf(2.0,2.0), + "greater" to listOf(2.0,1.0), + "greater_equal" to listOf(2.0,1.0), + "less" to listOf(2.0,1.0), + "less_equal" to listOf(2.0,1.0)) + + + val singleInputIntOutput = mapOf( + "size" to Nd4j.linspace(1,4,4).reshape(2,2), + "shape_of" to Nd4j.linspace(1,4,4).reshape(2,2) + ) + + val pairWiseBooleanInputs = mapOf( + "or" to listOf(true,false), + "and" to listOf(false,false), + "xor" to listOf(false,true) + ) + + + val singleReduceOps = mapOf( + "reduce_mean" to Nd4j.linspace(1,4,4).reshape(2,2), + "reduce_max" to Nd4j.linspace(1,4,4).reshape(2,2), + "reduce_sum" to Nd4j.linspace(1,4,4).reshape(2,2), + "reduce_prod" to Nd4j.linspace(1,4,4).reshape(2,2), + "reduce_norm1" to Nd4j.linspace(1,4,4).reshape(2,2), + "reduce_norm2" to Nd4j.linspace(1,4,4).reshape(2,2) + // "reduce_logsumexp" to Nd4j.linspace(1,4,4).reshape(2,2) + ) + + + val pairwise = mapOf( + "add" to listOf(1.0,1.0), + "subtract" to listOf(2.0,1.0), + "multiply" to listOf(2.0,1.0), + "divide" to listOf(2.0,1.0), + "pow" to listOf(2.0,1.0) + ) + + val mappedOps = setOf("elu","transpose","argmin","argmax","leakyrelu","prelu","flatten_2d")//,"top_k") + + /** + * NOTE WHEN WRITING TESTS, IF YOU SEE AN ERROR like: + * java.lang.RuntimeException: Could not find an implementation for the node output:Cos(7) + * + * Check the supported data types for each op here: + * https://github.com/microsoft/onnxruntime/blob/master/docs/OperatorKernels.md + */ + + val importGraph = ImportGraph() + val finishedOps = HashSet() + onnxOpRegistry.mappingProcessNames() + .filter { onnxOpRegistry.hasMappingOpProcess(it) } + .map { onnxOpRegistry.lookupOpMappingProcess(it) }.forEach { mappingProcess -> + val nd4jOpDef = onnxOpRegistry.lookupNd4jOpDef(mappingProcess.opName()) + val onnxOpDef = onnxOpRegistry.lookupInputFrameworkOpDef(mappingProcess.inputFrameworkOpName()) + if(scalarInputs.containsKey(nd4jOpDef.name)) { + print("Running op $nd4jOpDef.name") + val input = Nd4j.scalar(scalarInputs[mappingProcess.opName()]).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(input,"input")) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = onnxOpDef.opType + Input("input") + Output("output") + + }) + + Output(createValueInfoFromTensor(input,"output")) + } + + + val onnxIRGraph = OnnxIRGraph(graphToRun,onnxOpRegistry) + val onnxGraphRunner = OnnxIRGraphRunner(onnxIRGraph,listOf("input"),listOf("output")) + val importedGraph = importGraph.importGraph(onnxIRGraph,null,null,HashMap(),onnxOpRegistry) + val inputs = mapOf("input" to input) + val assertion = onnxGraphRunner.run(inputs) + val result = importedGraph.output(inputs,"output") + assertEquals("Function ${nd4jOpDef.name} failed with input $input",assertion["output"]!!.reshape(1,1),result["output"]!!.reshape(1,1)) + finishedOps.add(nd4jOpDef.name) + + } else if(scalarFloatOps.containsKey(nd4jOpDef.name)) { + print("Running op $nd4jOpDef.name") + val input = Nd4j.scalar(scalarFloatOps[mappingProcess.opName()]).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(input,"input")) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = onnxOpDef.opType + Input("input") + Output("output") + + }) + + Output(createValueInfoFromTensor(input,"output")) + } + + + val onnxIRGraph = OnnxIRGraph(graphToRun,onnxOpRegistry) + val onnxGraphRunner = OnnxIRGraphRunner(onnxIRGraph,listOf("input"),listOf("output")) + val importedGraph = importGraph.importGraph(onnxIRGraph,null,null,HashMap(),onnxOpRegistry) + val inputs = mapOf("input" to input) + val assertion = onnxGraphRunner.run(inputs) + val result = importedGraph.output(inputs,"output") + assertEquals("Function ${nd4jOpDef.name} failed with input $input",assertion["output"]!!.reshape(1,1),result["output"]!!.reshape(1,1)) + finishedOps.add(nd4jOpDef.name) + + } + + else if(singleOutputBooleanOps.containsKey(nd4jOpDef.name)) { + print("Running op $nd4jOpDef.name") + val input = Nd4j.scalar(singleOutputBooleanOps[mappingProcess.opName()]).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + val convertedTensor = convertToOnnxTensor(input,"input") + val convertedOutputTensor = convertToOnnxTensor(input,"output") + + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(input,"input")) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = onnxOpDef.opType + Input("input") + Output("output") + + }) + + Output(createValueInfoFromTensor(Nd4j.create(booleanArrayOf(true)).reshape(),"output")) + } + + + val onnxIRGraph = OnnxIRGraph(graphToRun,onnxOpRegistry) + val onnxGraphRunner = OnnxIRGraphRunner(onnxIRGraph,listOf("input"),listOf("output")) + val importedGraph = importGraph.importGraph(onnxIRGraph,null,null,HashMap(),onnxOpRegistry) + val inputs = mapOf("input" to input) + val assertion = onnxGraphRunner.run(inputs) + val result = importedGraph.output(inputs,"output") + assertEquals("Function ${nd4jOpDef.name} failed with input $input",assertion["output"]!!.reshape(1,1),result["output"]!!.reshape(1,1)) + finishedOps.add(nd4jOpDef.name) + + } + + + else if(pairwise.containsKey(nd4jOpDef.name)) { + print("Running op def $nd4jOpDef.name") + val x = Nd4j.scalar(pairwise[mappingProcess.opName()]!![0]!!).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + val y = Nd4j.scalar(pairwise[mappingProcess.opName()]!![1]!!).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(x,"x")) + Input(createValueInfoFromTensor(y,"y")) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = onnxOpDef.opType + Input("x") + Input("y") + Output("output") + + }) + + Output(createValueInfoFromTensor(x,"output")) + } + + + val onnxIRGraph = OnnxIRGraph(graphToRun,onnxOpRegistry) + val onnxGraphRunner = OnnxIRGraphRunner(onnxIRGraph,listOf("x","y"),listOf("output")) + val importedGraph = importGraph.importGraph(onnxIRGraph,null,null, + hashMapOf("x" to convertToOnnxTensor(x,"x"),"y" to convertToOnnxTensor(y,"y")),onnxOpRegistry) + val inputs = mapOf("x" to x,"y" to y) + val result = importedGraph.output(inputs,"output") + val assertion = onnxGraphRunner.run(inputs) + assertEquals("Function ${nd4jOpDef.name} failed with input $x $y",assertion["output"]!!.getDouble(0),result["output"]!!.getDouble(0)) + finishedOps.add(nd4jOpDef.name) + + } else if(pairWiseBooleanInputs.containsKey(nd4jOpDef.name)) { + print("Running op def $nd4jOpDef.name") + val x = Nd4j.scalar(pairWiseBooleanInputs[mappingProcess.opName()]!![0]!!).castTo(org.nd4j.linalg.api.buffer.DataType.BOOL) + val y = Nd4j.scalar(pairWiseBooleanInputs[mappingProcess.opName()]!![1]!!).castTo(org.nd4j.linalg.api.buffer.DataType.BOOL) + + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(x,"x")) + Input(createValueInfoFromTensor(y,"y")) + Node(NodeProto { + name = "output" + opType = onnxOpDef.opType + Input("x") + Input("y") + Output("output") + + }) + + Output(createValueInfoFromTensor(x,"output")) + } + + + val onnxIRGraph = OnnxIRGraph(graphToRun,onnxOpRegistry) + val onnxGraphRunner = OnnxIRGraphRunner(onnxIRGraph,listOf("x","y"),listOf("output")) + val importedGraph = importGraph.importGraph(onnxIRGraph,null,null, + hashMapOf("x" to convertToOnnxTensor(x,"x"),"y" to convertToOnnxTensor(y,"y")),onnxOpRegistry) + val inputs = mapOf("x" to x,"y" to y) + val assertion = onnxGraphRunner.run(inputs) + val result = importedGraph.output(inputs,"output") + assertEquals("Function ${nd4jOpDef.name} failed with input $x $y",assertion["output"]!!.getDouble(0),result["output"]!!.getDouble(0)) + finishedOps.add(nd4jOpDef.name) + + } else if(pairWiseBooleanOps.containsKey(nd4jOpDef.name)) { + print("Running op def $nd4jOpDef.name") + val x = Nd4j.scalar(pairWiseBooleanOps[mappingProcess.opName()]!![0]!!).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + val y = Nd4j.scalar(pairWiseBooleanOps[mappingProcess.opName()]!![1]!!).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + val output = Nd4j.scalar(pairWiseBooleanOps[mappingProcess.opName()]!![1]!!).castTo(org.nd4j.linalg.api.buffer.DataType.BOOL) + + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(x,"x")) + Input(createValueInfoFromTensor(y,"y")) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = onnxOpDef.opType + Input("x") + Input("y") + Output("output") + + }) + + Output(createValueInfoFromTensor(output,"output")) + } + + + val onnxIRGraph = OnnxIRGraph(graphToRun,onnxOpRegistry) + val onnxGraphRunner = OnnxIRGraphRunner(onnxIRGraph,listOf("x","y"),listOf("output")) + val importedGraph = importGraph.importGraph(onnxIRGraph,null,null, + hashMapOf("x" to convertToOnnxTensor(x,"x"),"y" to convertToOnnxTensor(y,"y")),onnxOpRegistry) + val inputs = mapOf("x" to x,"y" to y) + val assertion = onnxGraphRunner.run(inputs) + val result = importedGraph.output(inputs,"output") + assertEquals("Function ${nd4jOpDef.name} failed with input $x $y",assertion["output"]!!.getDouble(0),result["output"]!!.getDouble(0)) + finishedOps.add(nd4jOpDef.name) + + } + + else if(singleInputBooleanOps.containsKey(nd4jOpDef.name)) { + print("Running op def $nd4jOpDef.name") + val x = Nd4j.create(booleanArrayOf(singleInputBooleanOps[mappingProcess.opName()]!!)).castTo(org.nd4j.linalg.api.buffer.DataType.BOOL) + val output = Nd4j.create(booleanArrayOf(singleInputBooleanOps[mappingProcess.opName()]!!)).castTo(org.nd4j.linalg.api.buffer.DataType.BOOL) + + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(x,"x")) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = onnxOpDef.opType + Input("x") + Output("output") + + }) + + Output(createValueInfoFromTensor(output,"output")) + } + + + val onnxIRGraph = OnnxIRGraph(graphToRun,onnxOpRegistry) + val onnxGraphRunner = OnnxIRGraphRunner(onnxIRGraph,listOf("x"),listOf("output")) + val importedGraph = importGraph.importGraph(onnxIRGraph,null,null,hashMapOf("x" to convertToOnnxTensor(x,"x")),onnxOpRegistry) + val inputs = mapOf("x" to x) + val assertion = onnxGraphRunner.run(inputs) + val result = importedGraph.output(inputs,"output") + finishedOps.add(nd4jOpDef.name) + + //assertEquals("Function ${nd4jOpDef.name} failed with input $x",assertion["output"]!!.reshape(1,1),result["output"]!!.reshape(1,1)) + } + + else if(singleReduceOps.containsKey(nd4jOpDef.name)) { + print("Running op def $nd4jOpDef.name") + val x = singleReduceOps[mappingProcess.opName()]!!.castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + val output = x.mean(0).reshape(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(x,"x")) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = onnxOpDef.opType + Input("x") + Output("output") + Attribute(Onnx.AttributeProto.newBuilder() + .setType(Onnx.AttributeProto.AttributeType.INTS) + .setName("axes").addInts(0).build()) + Attribute(Onnx.AttributeProto.newBuilder() + .setType(Onnx.AttributeProto.AttributeType.INT) + .setI(0) + .setName("keepdims").build()) + + }) + + Output(createValueInfoFromTensor(output,"output")) + } + + + val onnxIRGraph = OnnxIRGraph(graphToRun,onnxOpRegistry) + val inputs = mapOf("x" to x) + val importedGraph = importGraph.importGraph(onnxIRGraph,null,null,hashMapOf("x" to convertToOnnxTensor(x,"x")),onnxOpRegistry) + val result = importedGraph.output(inputs,"output") + val onnxGraphRunner = OnnxIRGraphRunner(onnxIRGraph,listOf("x"),listOf("output")) + val assertion = onnxGraphRunner.run(inputs) + assertEquals("Function ${nd4jOpDef.name} failed with input $x",assertion["output"]!!.reshape(1,2),result["output"]!!.reshape(1,2)) + finishedOps.add(nd4jOpDef.name) + + } else if(mappedOps.contains(nd4jOpDef.name)){ + val graphForOp = graphForOp(nd4jOpDef.name) + graphForOp.forEach { graph -> + val onnxIRGraph = OnnxIRGraph(graph.graphDef,onnxOpRegistry) + val inputs =graph.inputArrays + val convertedArrays = HashMap() + graph.inputArrays.forEach { name, arr -> + convertedArrays[name] = convertToOnnxTensor(arr,name) + } + val importedGraph = importGraph.importGraph(onnxIRGraph,null,null,convertedArrays,onnxOpRegistry) + val onnxGraphRunner = OnnxIRGraphRunner(onnxIRGraph,graph.inputNames,graph.outputNames) + val assertion = onnxGraphRunner.run(inputs) + val result = importedGraph.output(inputs,graph.outputNames) + assertEquals(assertion.keys,result.keys) + result.forEach { name,arr -> + if(arr.length().toInt() == 1) { + assertEquals("Function ${nd4jOpDef.name} failed with input ${graph.inputNames}",assertion[name]!!.getDouble(0),arr.getDouble(0),1e-3) + } + else { + assertEquals("Function ${nd4jOpDef.name} failed with input ${graph.inputNames}",assertion[name],arr) + } + } + + finishedOps.add(nd4jOpDef.name) + + + } + + + } else if(singleInputIntOutput.containsKey(nd4jOpDef.name)) { + print("Running op $nd4jOpDef.name") + val input = singleInputIntOutput[mappingProcess.opName()]!!.castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(input,"input")) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = onnxOpDef.opType + Input("input") + Output("output") + + }) + + Output(createValueInfoFromTensor(input,"output",false )) + } + + + val onnxIRGraph = OnnxIRGraph(graphToRun,onnxOpRegistry) + val onnxGraphRunner = OnnxIRGraphRunner(onnxIRGraph,listOf("input"),listOf("output")) + val importedGraph = importGraph.importGraph(onnxIRGraph,null,null,HashMap(),onnxOpRegistry) + val inputs = mapOf("input" to input) + val assertion = onnxGraphRunner.run(inputs) + val result = importedGraph.output(inputs,"output") + if(assertion["output"]!!.length() == 1L) + assertEquals("Function ${nd4jOpDef.name} failed with input $input",assertion["output"]!!.reshape(1,1),result["output"]!!.reshape(1,1)) + else + assertEquals("Function ${nd4jOpDef.name} failed with input $input",assertion["output"]!!.ravel(),result["output"]!!.ravel()) + finishedOps.add(nd4jOpDef.name) + + } + } + + println("Finished ops totaling ${finishedOps.size} out of ${onnxOpRegistry.mappedNd4jOpNames().size}") + } + + + + fun graphForOp(opName: String): List { + when(opName) { + "non_max_suppression_v3" -> { + /** + * TODO: Add pre and post processing for each node. + * Our NMS requires 2d, but onnx is 3d. Attempt to see + * if generalized pre/post processing node additions as part of a mapping process can work. + * + */ + print("Running op def $opName") + val boxesVal = Nd4j.create(arrayOf( + floatArrayOf(0f,0f,1f,1f), + floatArrayOf(0f,0.1f,1f,1.1f), + floatArrayOf(0f,-0.1f,1f,0.9f), + floatArrayOf(0f,10f,1f,11f) + )).reshape(1,4,4).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val scoresVal = Nd4j.create(listOf(0.9f,0.75f,0.6f,0.95f).toFloatArray()) + .reshape(1,1,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + val maxOutputSize = Nd4j.scalar(4.0).castTo(DataType.INT64) + val iouThreshold = Nd4j.scalar(0.5).castTo(DataType.FLOAT) + val scoreThreshold = Nd4j.scalar(0.0).castTo(DataType.FLOAT) + + val inputs = mapOf("boxes" to boxesVal,"scores" to scoresVal,"max_output_boxes_per_class" to maxOutputSize, + "iou_threshold" to iouThreshold,"score_threshold" to scoreThreshold) + val output = Nd4j.scalar(1) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(boxesVal,"boxes",false)) + Input(createValueInfoFromTensor(scoresVal,"scores",false)) + Input(createValueInfoFromTensor(maxOutputSize,"max_output_boxes_per_class",false)) + Input(createValueInfoFromTensor(iouThreshold,"iou_threshold",false)) + Input(createValueInfoFromTensor(scoreThreshold,"score_threshold",false)) + + //Initializer(convertedTensor) + Node(NodeProto { + Input("boxes") + Input("scores") + Input("max_output_boxes_per_class") + Input("iou_threshold") + Input("score_threshold") + Output("output") + name = "output" + opType = "NonMaxSuppression" + + + + }) + + Output(createValueInfoFromTensor(output,"output",false)) + } + + return listOf(OnnxGraphInput(graphToRun,listOf("boxes","scores","max_output_boxes_per_class","iou_threshold","score_threshold"),listOf("output"),inputs,inputs)) + } + "argmin","argmax" -> { + print("Running op def $opName") + val x = Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + val output = x.mean(0).reshape(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(x,"x")) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = if(opName == "argmin") "ArgMin" else "ArgMax" + Input("x") + Output("output") + Attribute(Onnx.AttributeProto.newBuilder() + .setType(Onnx.AttributeProto.AttributeType.INT) + .setName("axis").setI(0).build()) + Attribute(Onnx.AttributeProto.newBuilder() + .setType(Onnx.AttributeProto.AttributeType.INT) + .setI(0) + .setName("keepdims").build()) + Attribute(Onnx.AttributeProto.newBuilder() + .setType(Onnx.AttributeProto.AttributeType.INT) + .setI(1) + .setName("select_last_index").build()) + + }) + + Output(createValueInfoFromTensor(output,"output",false)) + } + + val inputMap = mapOf("x" to x) + return listOf(OnnxGraphInput(graphToRun,listOf("x"),listOf("output"),inputMap,inputMap)) + } + "top_k" -> { + val input = Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + val k = Nd4j.scalar(2.0).castTo(DataType.INT64).reshape(1) + val output = Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(input,"input")) + Input(createValueInfoFromTensor(k,"k")) + Node(NodeProto { + name = "output" + opType = "TopK" + Input("input") + Input("k") + Output("output") + Output("indices") + Attribute(Onnx.AttributeProto.newBuilder() + .setType(Onnx.AttributeProto.AttributeType.INT) + .setI(0) + .setName("axis").build()) + Attribute(Onnx.AttributeProto.newBuilder() + .setType(Onnx.AttributeProto.AttributeType.INT) + .setI(1) + .setName("sorted").build()) + Attribute(Onnx.AttributeProto.newBuilder() + .setType(Onnx.AttributeProto.AttributeType.INT) + .setI(1) + .setName("largest").build()) + + }) + + + Output(createValueInfoFromTensor(input,"output",false)) + Output(createValueInfoFromTensor(output,"indices",false)) + } + + val inputMap = mapOf("input" to input,"k" to k) + return listOf(OnnxGraphInput(graphToRun,listOf("input","k"),listOf("output","indices"),inputMap,inputMap)) + + } + "transpose" -> { + val input = Nd4j.linspace(1,6,6).reshape(3,2).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + val output = Nd4j.linspace(1,6,6).reshape(2,3).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(input,"input")) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = "Transpose" + Input("input") + Output("output") + Attribute(Onnx.AttributeProto.newBuilder() + .setType(Onnx.AttributeProto.AttributeType.INTS) + .addInts(1).addInts(0) + .setName("perm").build()) + + }) + + Output(createValueInfoFromTensor(output,"output")) + } + + val inputMap = mapOf("input" to input) + return listOf(OnnxGraphInput(graphToRun,listOf("input"),listOf("output"),inputMap,inputMap)) + + } + "prelu" -> { + val input = Nd4j.randn(3,4,5).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + val alpha = Nd4j.zeros(1,1,5).addi(0.1).castTo(DataType.FLOAT) + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(input,"input",false)) + Input(createValueInfoFromTensor(input,"slope",false)) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = "PRelu" + Input("input") + Input("slope") + Output("output") + + }) + + Output(createValueInfoFromTensor(input,"output",false)) + } + + val inputMap = mapOf("input" to input,"slope" to alpha) + return listOf(OnnxGraphInput(graphToRun,listOf("input","slope"),listOf("output"),inputMap,inputMap)) + + } + "elu","leakyrelu" -> { + val input = Nd4j.scalar(1.0f).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(input,"input")) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = if(name == "elu") "Elu" else "LeakyRelu" + Input("input") + Output("output") + Attribute(Onnx.AttributeProto.newBuilder() + .setType(Onnx.AttributeProto.AttributeType.FLOAT) + .setF(1.0f) + .setName("alpha").build()) + + }) + + Output(createValueInfoFromTensor(input,"output")) + } + + val inputMap = mapOf("input" to input) + return listOf(OnnxGraphInput(graphToRun,listOf("input"),listOf("output"),inputMap,inputMap)) + + } + + "flatten_2d" -> { + val x = Nd4j.randn(2,3,4).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(x,"x")) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = "Flatten" + Input("x") + Output("output") + Attribute(Onnx.AttributeProto.newBuilder() + .setType(Onnx.AttributeProto.AttributeType.INT) + .setI(1) + .setName("axis").build()) + }) + + Output(createValueInfoFromTensor(x,"output",false)) + } + + val inputMap = mapOf("x" to x) + return listOf(OnnxGraphInput(graphToRun,listOf("x"),listOf("output"),inputMap,inputMap)) + + + } + + "mod" -> { + val x = Nd4j.scalar(2.0).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + val y = Nd4j.scalar(2.0).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val graphToRun = GraphProto { + Input(createValueInfoFromTensor(x,"x")) + Input(createValueInfoFromTensor(y,"y")) + //Initializer(convertedTensor) + Node(NodeProto { + name = "output" + opType = "Mod" + Input("x") + Input("y") + Output("output") + Attribute(Onnx.AttributeProto.newBuilder() + .setType(Onnx.AttributeProto.AttributeType.INT) + .setI(1) + .setName("fmod").build()) + }) + + Output(createValueInfoFromTensor(x,"output")) + } + + val inputMap = mapOf("x" to x,"y" to y) + return listOf(OnnxGraphInput(graphToRun,listOf("x","y"),listOf("output"),inputMap,inputMap)) + + + } + else -> { + throw IllegalArgumentException("Illegal op name $opName") + } + + } + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/test/kotlin/org/nd4j/samediff/frameworkimport/onnx/importer/TestOnnxFrameworkImporter.kt b/nd4j/samediff-import/samediff-import-onnx/src/test/kotlin/org/nd4j/samediff/frameworkimport/onnx/importer/TestOnnxFrameworkImporter.kt new file mode 100644 index 000000000..ae444bc52 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/test/kotlin/org/nd4j/samediff/frameworkimport/onnx/importer/TestOnnxFrameworkImporter.kt @@ -0,0 +1,35 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.importer + +import junit.framework.Assert.assertNotNull +import org.junit.Test +import org.nd4j.common.io.ClassPathResource + +class TestOnnxFrameworkImporter { + @Test + fun testOnnxImporter() { + val onnxImport = OnnxFrameworkImporter() + val onnxFile = ClassPathResource("lenet.onnx").file + val graph = onnxImport.runImport(onnxFile.absolutePath) + //note this is just a test to make sure everything runs, we test the underlying import elsewhere + assertNotNull(graph) + + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/test/kotlin/org/nd4j/samediff/frameworkimport/onnx/loader/TestOnnxProcessLoader.kt b/nd4j/samediff-import/samediff-import-onnx/src/test/kotlin/org/nd4j/samediff/frameworkimport/onnx/loader/TestOnnxProcessLoader.kt new file mode 100644 index 000000000..212d9f1a1 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/test/kotlin/org/nd4j/samediff/frameworkimport/onnx/loader/TestOnnxProcessLoader.kt @@ -0,0 +1,59 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.samediff.frameworkimport.onnx.loader + +import junit.framework.Assert +import onnx.Onnx +import org.junit.jupiter.api.Test +import org.nd4j.samediff.frameworkimport.onnx.definitions.registry +import org.nd4j.samediff.frameworkimport.onnx.process.OnnxMappingProcessLoader +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.registry.OpMappingRegistry + +class TestOnnxProcessLoader { + + @Test + fun testLoader() { + val onnxOpMappingRegistry = OpMappingRegistry( + "onnx", OpDescriptorLoaderHolder.nd4jOpDescriptor) + + val loader = OnnxMappingProcessLoader(onnxOpMappingRegistry) + println(loader) + registry().inputFrameworkOpNames().forEach { name -> + if(registry().hasMappingOpProcess(name)) { + val process = registry().lookupOpMappingProcess(name) + val serialized = process.serialize() + val created = loader.createProcess(serialized) + Assert.assertEquals( + "Op name $name failed with process tensor rules ${process.tensorMappingRules()} and created tensor rules ${created.tensorMappingRules()} with attributes ${process.attributeMappingRules()} and created attribute rules ${created.attributeMappingRules()}", + process, + created + ) + } + + } + } + + @Test + fun saveTest() { + registry().saveProcessesAndRuleSet() + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/test/kotlin/org/nd4j/samediff/frameworkimport/onnx/modelzoo/TestPretrainedModels.kt b/nd4j/samediff-import/samediff-import-onnx/src/test/kotlin/org/nd4j/samediff/frameworkimport/onnx/modelzoo/TestPretrainedModels.kt new file mode 100644 index 000000000..4e8f52fc3 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/test/kotlin/org/nd4j/samediff/frameworkimport/onnx/modelzoo/TestPretrainedModels.kt @@ -0,0 +1,376 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +/******************************************************************************* + * Copyright (c) 2021 Deeplearning4j Contributors + * + * This program and the accompanying materials are made available under the + * terms of the Apache License, Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * SPDX-License-Identifier: Apache-2.0 + ******************************************************************************/ +package org.nd4j.samediff.frameworkimport.onnx.modelzoo + +import onnx.Onnx +import org.apache.commons.io.FileUtils +import org.junit.Ignore +import org.junit.jupiter.api.Test +import org.nd4j.common.resources.Downloader +import org.nd4j.common.util.ArchiveUtils +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.samediff.frameworkimport.onnx.importer.OnnxFrameworkImporter +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRGraph +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRGraphRunner +import org.nd4j.samediff.frameworkimport.onnx.ir.OnnxIRTensor +import java.io.File +import java.net.URI + +data class InputDataset(val dataSetIndex: Int,val inputPaths: List,val outputPaths: List) +@Ignore +class TestPretrainedModels { + + val modelBaseUrl = "https://media.githubusercontent.com/media/onnx/models/master" + val modelDirectory = File(File(System.getProperty("user.home")),"models/") + val runOnly = emptySet() + val dontRunRegexes = setOf("") + val modelPaths = setOf("vision/body_analysis/age_gender/models/age_googlenet.onnx", + "vision/body_analysis/age_gender/models/gender_googlenet.onnx", + "vision/body_analysis/age_gender/models/vgg_ilsvrc_16_age_chalearn_iccv2015.onnx", + "vision/body_analysis/age_gender/models/vgg_ilsvrc_16_age_imdb_wiki.onnx", + "vision/body_analysis/age_gender/models/vgg_ilsvrc_16_gender_imdb_wiki.onnx", + //"vision/body_analysis/arcface/model/arcfaceresnet100-8.tar.gz", + //"vision/body_analysis/emotion_ferplus/model/emotion-ferplus-2.tar.gz", + //"vision/body_analysis/emotion_ferplus/model/emotion-ferplus-7.tar.gz", + //"vision/body_analysis/emotion_ferplus/model/emotion-ferplus-8.tar.gz", + "vision/body_analysis/ultraface/models/version-RFB-320.onnx", + // "vision/classification/alexnet/model/bvlcalexnet-3.tar.gz", + // "vision/classification/alexnet/model/bvlcalexnet-6.tar.gz", + //"vision/classification/alexnet/model/bvlcalexnet-7.tar.gz", + // "vision/classification/alexnet/model/bvlcalexnet-8.tar.gz", + "vision/classification/alexnet/model/bvlcalexnet-9.tar.gz", + // "vision/classification/caffenet/model/caffenet-3.tar.gz", + // "vision/classification/caffenet/model/caffenet-6.tar.gz", + // "vision/classification/caffenet/model/caffenet-7.tar.gz", + // "vision/classification/caffenet/model/caffenet-8.tar.gz", + "vision/classification/caffenet/model/caffenet-9.tar.gz", + // "vision/classification/densenet-121/model/densenet-3.tar.gz", + //"vision/classification/densenet-121/model/densenet-6.tar.gz", + //"vision/classification/densenet-121/model/densenet-7.tar.gz", + //"vision/classification/densenet-121/model/densenet-8.tar.gz", + "vision/classification/densenet-121/model/densenet-9.tar.gz", + "vision/classification/efficientnet-lite4/model/efficientnet-lite4-11.tar.gz", + // "vision/classification/inception_and_googlenet/googlenet/model/googlenet-3.tar.gz", + // "vision/classification/inception_and_googlenet/googlenet/model/googlenet-6.tar.gz", + // "vision/classification/inception_and_googlenet/googlenet/model/googlenet-7.tar.gz", + // "vision/classification/inception_and_googlenet/googlenet/model/googlenet-8.tar.gz", + "vision/classification/inception_and_googlenet/googlenet/model/googlenet-9.tar.gz", + // "vision/classification/inception_and_googlenet/inception_v1/model/inception-v1-3.tar.gz", + // "vision/classification/inception_and_googlenet/inception_v1/model/inception-v1-6.tar.gz", + // "vision/classification/inception_and_googlenet/inception_v1/model/inception-v1-7.tar.gz", + // "vision/classification/inception_and_googlenet/inception_v1/model/inception-v1-8.tar.gz", + // "vision/classification/inception_and_googlenet/inception_v1/model/inception-v1-9.tar.gz", + // "vision/classification/inception_and_googlenet/inception_v2/model/inception-v2-3.tar.gz", + // "vision/classification/inception_and_googlenet/inception_v2/model/inception-v2-6.tar.gz", + // "vision/classification/inception_and_googlenet/inception_v2/model/inception-v2-7.tar.gz", + // "vision/classification/inception_and_googlenet/inception_v2/model/inception-v2-8.tar.gz", + "vision/classification/inception_and_googlenet/inception_v2/model/inception-v2-9.tar.gz", + //"vision/classification/mnist/model/mnist-1.tar.gz", + //"vision/classification/mnist/model/mnist-7.tar.gz", + "vision/classification/mnist/model/mnist-8.tar.gz", + "vision/classification/mobilenet/model/mobilnetv2-7.tar.gz", + //"vision/classification/rcnn_ilsvrc13/model/rcnn-ilsvrc13-3.tar.gz", + //"vision/classification/rcnn_ilsvrc13/model/rcnn-ilsvrc13-6.tar.gz", + //"vision/classification/rcnn_ilsvrc13/model/rcnn-ilsvrc13-7.tar.gz", + //"vision/classification/rcnn_ilsvrc13/model/rcnn-ilsvrc13-8.tar.gz", + "vision/classification/rcnn_ilsvrc13/model/rcnn-ilsvrc13-9.tar.gz", + "vision/classification/resnet/model/resnet101-v1-7.tar.gz", + "vision/classification/resnet/model/resnet152-v2-7.tar.gz", + "vision/classification/resnet/model/resnet18-v1-7.tar.gz", + "vision/classification/resnet/model/resnet18-v2-7.tar.gz", + "vision/classification/resnet/model/resnet34-v1-7.tar.gz", + "vision/classification/resnet/model/resnet34-v2-7.tar.gz", + //"vision/classification/resnet/model/resnet50-caffe2-v1-3.tar.gz", + //"vision/classification/resnet/model/resnet50-caffe2-v1-6.tar.gz", + //"vision/classification/resnet/model/resnet50-caffe2-v1-7.tar.gz", + //"vision/classification/resnet/model/resnet50-caffe2-v1-8.tar.gz", + //"vision/classification/resnet/model/resnet50-caffe2-v1-9.tar.gz", + //"vision/classification/resnet/model/resnet50-v1-7.tar.gz", + //"vision/classification/resnet/model/resnet50-v2-7.tar.gz", + //"vision/classification/shufflenet/model/shufflenet-3.tar.gz", + //"vision/classification/shufflenet/model/shufflenet-6.tar.gz", + //"vision/classification/shufflenet/model/shufflenet-7.tar.gz", + //"vision/classification/shufflenet/model/shufflenet-8.tar.gz", + "vision/classification/shufflenet/model/shufflenet-9.tar.gz", + "vision/classification/shufflenet/model/shufflenet-v2-10.tar.gz", + //"vision/classification/squeezenet/model/squeezenet1.0-3.tar.gz", + //"vision/classification/squeezenet/model/squeezenet1.0-6.tar.gz", + //"vision/classification/squeezenet/model/squeezenet1.0-7.tar.gz", + //"vision/classification/squeezenet/model/squeezenet1.0-8.tar.gz", + "vision/classification/squeezenet/model/squeezenet1.0-9.tar.gz", + "vision/classification/squeezenet/model/squeezenet1.1-7.tar.gz", + "vision/classification/vgg/model/vgg16-7.tar.gz", + "vision/classification/vgg/model/vgg16-bn-7.tar.gz", + "vision/classification/vgg/model/vgg19-7.tar.gz", + // "vision/classification/vgg/model/vgg19-caffe2-3.tar.gz", + // "vision/classification/vgg/model/vgg19-caffe2-6.tar.gz", + // "vision/classification/vgg/model/vgg19-caffe2-7.tar.gz", + // "vision/classification/vgg/model/vgg19-caffe2-8.tar.gz", + "vision/classification/vgg/model/vgg19-caffe2-9.tar.gz", + // "vision/classification/zfnet-512/model/zfnet512-3.tar.gz", + // "vision/classification/zfnet-512/model/zfnet512-6.tar.gz", + // "vision/classification/zfnet-512/model/zfnet512-7.tar.gz", + // "vision/classification/zfnet-512/model/zfnet512-8.tar.gz", + "vision/classification/zfnet-512/model/zfnet512-9.tar.gz", + "vision/object_detection_segmentation/duc/model/ResNet101-DUC-7.tar.gz", + "vision/object_detection_segmentation/faster-rcnn/model/FasterRCNN-10.tar.gz", + "vision/object_detection_segmentation/fcn/model/fcn-resnet101-11.tar.gz", + "vision/object_detection_segmentation/fcn/model/fcn-resnet50-11.tar.gz", + "vision/object_detection_segmentation/mask-rcnn/model/MaskRCNN-10.tar.gz", + "vision/object_detection_segmentation/retinanet/model/retinanet-9.tar.gz", + "vision/object_detection_segmentation/ssd-mobilenetv1/model/ssd_mobilenet_v1_10.tar.gz", + "vision/object_detection_segmentation/ssd/model/ssd-10.tar.gz", + "vision/object_detection_segmentation/tiny-yolov2/model/tinyyolov2-7.tar.gz", + "vision/object_detection_segmentation/tiny-yolov2/model/tinyyolov2-8.tar.gz", + "vision/object_detection_segmentation/tiny-yolov3/model/tiny-yolov3-11.tar.gz", + "vision/object_detection_segmentation/yolov2-coco/model/yolov2-coco-9.onnx", + "vision/object_detection_segmentation/yolov3/model/yolov3-10.tar.gz", + "vision/object_detection_segmentation/yolov4/model/yolov4.tar.gz", + "vision/style_transfer/fast_neural_style/model/candy-8.tar.gz", + "vision/style_transfer/fast_neural_style/model/candy-9.tar.gz", + "/vision/style_transfer/fast_neural_style/model/mosaic-8.tar.gz", + "vision/style_transfer/fast_neural_style/model/mosaic-9.tar.gz", + "vision/style_transfer/fast_neural_style/model/pointilism-8.tar.gz", + "vision/style_transfer/fast_neural_style/model/pointilism-9.tar.gz", + "vision/style_transfer/fast_neural_style/model/rain-princess-8.tar.gz", + "vision/style_transfer/fast_neural_style/model/rain-princess-9.tar.gz", + "vision/style_transfer/fast_neural_style/model/udnie-8.tar.gz", + "vision/style_transfer/fast_neural_style/model/udnie-9.tar.gz", + "vision/super_resolution/sub_pixel_cnn_2016/model/super-resolution-10.tar.gz", + "text/machine_comprehension/bert-squad/model/bertsquad-10.tar.gz", + "text/machine_comprehension/bert-squad/model/bertsquad-8.tar.gz", + "text/machine_comprehension/bidirectional_attention_flow/model/bidaf-9.tar.gz", + "text/machine_comprehension/gpt-2/model/gpt2-10.tar.gz", + "text/machine_comprehension/gpt-2/model/gpt2-lm-head-10.tar.gz", + "text/machine_comprehension/roberta/model/roberta-base-11.tar.gz", + "text/machine_comprehension/roberta/model/roberta-sequence-classification-9.tar.gz", + "text/machine_comprehension/t5/model/t5-decoder-with-lm-head-12.tar.gz", + "text/machine_comprehension/t5/model/t5-encoder-12.tar.gz" + + ) + + + init { + } + + fun shouldRun(path: String): Boolean { + if(path.contains(".onnx")) + return false + else if(!dontRunRegexes.isEmpty()) { + for(regex in dontRunRegexes) { + if(path.matches(regex.toRegex())) + return false + } + } + + return true + } + + + @Test + fun test() { + modelPaths.forEach { + pullModel(it) + } + + if(!runOnly.isEmpty()) { + runOnly.filter { input -> shouldRun(input) }.forEach { path -> + testModel(path) + } + } + + else + modelPaths.filter { input -> shouldRun(input) }.forEach { path -> + testModel(path) + } + } + + fun testModel(path: String) { + val modelArchive = File(modelDirectory,filenameFromPath(path)) + pullModel(path) + val modelFile = modelFromArchive(path) + val onnxImporter = OnnxFrameworkImporter() + val inputDatasets = modelDatasetsForArchive(path) + val loadedGraph = Onnx.ModelProto.parseFrom(FileUtils.readFileToByteArray(modelFile)) + val separateUpdatedGraph = Onnx.ModelProto.parseFrom(FileUtils.readFileToByteArray(File("C:\\Users\\agibs\\models\\model-12.onnx"))) + val upgradedGraph = OnnxIRGraph(separateUpdatedGraph.graph, onnxImporter.registry) + val onnxIRGraph = OnnxIRGraph(loadedGraph.graph,onnxImporter.registry) + val toPrint = StringBuilder() + loadedGraph.graph.initializerList.forEach { + toPrint.append(it.name) + toPrint.append(it.dimsList.toString()) + toPrint.append("\n") + } + + loadedGraph.graph.inputList.forEach { + println(it) + } + + println("Loaded initializers $toPrint") + println("Running model from model path $path") + inputDatasets.forEach { input -> + val dynamicVariables = HashMap() + val outputAssertions = HashMap() + val listOfInputNames = ArrayList() + val listOfOutputNames = ArrayList() + input.inputPaths.forEachIndexed { index,inputTensorPath -> + val tensorName = "input_tensor_$index.pb" + val inputFile = File(modelDirectory,tensorName) + ArchiveUtils.tarGzExtractSingleFile(modelArchive,inputFile,inputTensorPath) + val bytesForTensor = FileUtils.readFileToByteArray(inputFile) + val tensor = Onnx.TensorProto.parseFrom(bytesForTensor) + val converted = OnnxIRTensor(tensor).toNd4jNDArray() + println("Converted to $converted") + dynamicVariables[onnxIRGraph.inputAt(index)] = converted + listOfInputNames.add(onnxIRGraph.inputAt(index)) + } + + input.outputPaths.forEachIndexed { index,outputTensorPath -> + val tensorName = "output_tensor_$index.pb" + val inputFile = File(modelDirectory,tensorName) + ArchiveUtils.tarGzExtractSingleFile(modelArchive,inputFile,outputTensorPath) + val bytesForTensor = FileUtils.readFileToByteArray(inputFile) + val tensor = Onnx.TensorProto.parseFrom(bytesForTensor) + outputAssertions[onnxIRGraph.outputAt(index)] = OnnxIRTensor(tensor).toNd4jNDArray() + listOfOutputNames.add(onnxIRGraph.outputAt(index)) + } + + val debugOutputNames = listOf("conv2_1","norm2_1","pool2_1","conv1_1","norm1_1","pool1_1") + val onnxGraphRunner = OnnxIRGraphRunner(upgradedGraph,listOfInputNames,debugOutputNames) + val outputs = onnxGraphRunner.run(dynamicVariables) + val debugPrint = StringBuilder() + outputs.forEach { name, array -> + debugPrint.append("$name and shape ${array.shapeInfoToString()}\n") + } + println(debugPrint) + val imported = onnxImporter.runImport(modelFile.absolutePath,dynamicVariables) + println(imported.summary()) + val batchOutput = imported.batchOutput() + batchOutput.placeholders = dynamicVariables + batchOutput.outputs = onnxIRGraph.graphOutputs() + batchOutput.outputSingle() + //assertEquals("Onnx runtime outputs not equal to list of assertions pre provided",outputs,outputAssertions) + // assertEquals("Onnx runtime outputs not equal to nd4j outputs",outputAssertions,nd4jOutputs) + } + + } + + fun filenameFromPath(modelPath: String): String { + return modelPath.split("/").last() + } + + fun modelFromArchive(modelPath: String): File { + val modelArchive = File(modelDirectory,filenameFromPath(modelPath)) + val modelPathInArchive = ArchiveUtils.tarGzListFiles(modelArchive).first { input -> input.contains(".onnx") + && !input.split("/").last().startsWith("._")} + val modelName = modelPathInArchive.split("/").last() + val finalModelPath = File(modelDirectory,modelName) + ArchiveUtils.tarGzExtractSingleFile(modelArchive,finalModelPath,modelPathInArchive) + return finalModelPath + } + + fun modelDatasetsForArchive(modelPath: String): List { + val modelArchive = File(modelDirectory,filenameFromPath(modelPath)) + val listedFiles = ArchiveUtils.tarGzListFiles(modelArchive).filter { input -> input.contains("test_data_set") } + val mapOfInputsDataSets = HashMap>() + val mapOfOutputDataSets = HashMap>() + val numDatasets = numTestDataSets(modelPath) + val ret = ArrayList() + listedFiles.forEach { name -> + if(name.contains("/test_data_set")) { + val index = name.split("/").filter { input -> input.isNotEmpty() && input.matches("test_data_set.*".toRegex())} + .map { input -> + Integer.parseInt(input.replace("test_data_set_","")) }.first() + if(!mapOfInputsDataSets.containsKey(index)) { + val newList = ArrayList() + mapOfInputsDataSets[index] = newList + } + + if(!mapOfOutputDataSets.containsKey(index)) { + val newList = ArrayList() + mapOfOutputDataSets[index] = newList + } + + val finalName = name.split("/").last() + if(finalName.matches("input_\\d+\\.pb".toRegex())) { + mapOfInputsDataSets[index]!!.add(name) + } + + if(finalName.matches("output_\\d+\\.pb".toRegex())) { + mapOfOutputDataSets[index]!!.add(name) + } + } + + } + + for(i in 0 until numDatasets) { + val inputs = mapOfInputsDataSets[i]!! + val outputs = mapOfOutputDataSets[i]!! + val inputDataset = InputDataset(i,inputs,outputs) + ret.add(inputDataset) + } + + return ret + + } + + + fun numTestDataSets(modelPath: String): Int { + val listOfFiles = ArchiveUtils.tarGzListFiles(File(modelDirectory,filenameFromPath(modelPath))) + var currentMax = 0 + listOfFiles.filter { input -> input.contentEquals("test_data_set") }.forEach { name -> + val num = Integer.parseInt(name.replace("test_data_set_","")) + currentMax = num.coerceAtLeast(currentMax) + } + + //0 index based + return (currentMax + 1) + } + + fun pullModel(modelPath: String) { + val modelUrl = URI.create("$modelBaseUrl/$modelPath").toURL() + println("Download model $modelPath from $modelUrl") + val fileName = modelPath.split("/").last() + val modelFileArchive = File(modelDirectory,fileName) + if(modelFileArchive.exists()) { + println("Skipping archive ${modelFileArchive.absolutePath}") + return + } + FileUtils.copyURLToFile( modelUrl,modelFileArchive, Downloader.DEFAULT_CONNECTION_TIMEOUT, Downloader.DEFAULT_CONNECTION_TIMEOUT) + if(modelFileArchive.endsWith(".gz")) + println("Files in archive ${ArchiveUtils.tarGzListFiles(modelFileArchive)}") + } + + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/test/kotlin/org/nd4j/samediff/frameworkimport/onnx/processing/GroupConvPreProcessingRule.kt b/nd4j/samediff-import/samediff-import-onnx/src/test/kotlin/org/nd4j/samediff/frameworkimport/onnx/processing/GroupConvPreProcessingRule.kt new file mode 100644 index 000000000..aacff3de8 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-onnx/src/test/kotlin/org/nd4j/samediff/frameworkimport/onnx/processing/GroupConvPreProcessingRule.kt @@ -0,0 +1,93 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.onnx.processing + +import org.nd4j.autodiff.functions.DifferentialFunction +import org.nd4j.autodiff.samediff.SDVariable +import org.nd4j.autodiff.samediff.SameDiff +import org.nd4j.autodiff.samediff.internal.SameDiffOp +import org.nd4j.enums.DataFormat +import org.nd4j.enums.WeightsFormat +import org.nd4j.linalg.api.ops.DynamicCustomOp +import org.nd4j.linalg.api.ops.impl.layers.convolution.config.Conv2DConfig +import org.nd4j.samediff.frameworkimport.hooks.PreImportHook +import org.nd4j.samediff.frameworkimport.hooks.annotations.HookResult +import org.nd4j.samediff.frameworkimport.hooks.annotations.PreHookRule +import java.lang.IllegalArgumentException + +@PreHookRule(nodeNames = ["conv2_1"],opNames = [],"onnx") +class GroupConvPreProcessingRule: PreImportHook { + override fun preProcess(op: SameDiffOp, sd: SameDiff, attributes: Map): HookResult { + if(op.op.opName() != "conv2d") { + throw IllegalArgumentException("Illegal op being processed of type ${op.op.opName()} with node name ${op.op.ownName}") + } + + val numSizeSplits = attributes.getOrDefault("group",1) as Long + if(numSizeSplits.toInt() == 1) { + //no need to split, just perform 1 convolution op + return HookResult() + } + + val conv2d = op.op as DynamicCustomOp + val config = Conv2DConfig.builder() + .sH(conv2d.getIArgument(2)) + .sW(conv2d.getIArgument(3)) + .kH(conv2d.getIArgument(0)) + .kW(conv2d.getIArgument(1)) + .pH(conv2d.getIArgument(4)) + .pW(conv2d.getIArgument(5)) + .dH(conv2d.getIArgument(6)) + .dW(conv2d.getIArgument(7)) + .isSameMode(conv2d.getIArgument(8) > 0) + .weightsFormat(WeightsFormat.values()[conv2d.getIArgument(10).toInt()]) + .dataFormat(DataFormat.values()[conv2d.getIArgument(9).toInt()].name) + .build() + + val listOfFunctions = ArrayList() + val weights = sd.getVariable(op.inputsToOp[1]) + //for onnx, this is the number of ops + val split = sd.split(op.name + "_split",weights,numSizeSplits.toInt(),1) + val resultMap = HashMap>() + /** + * NOTE: Need to look in to how to wire up inputs and outputs properly. + * May need HookResult to return an indicator of variables and ops to remove. + */ + val outputVars = ArrayList() + split.forEachIndexed { index,input -> + val varName = "${op.name}_split/$index" + if(sd.hasVariable(varName)) + sd.variables.remove(varName) + val outputVariable = sd.cnn().conv2d(varName,input,weights,config) + resultMap[outputVariable.name()] = listOf(outputVariable) + outputVars.add(outputVariable) + } + + sd.ops.remove(op.name) + sd.variables.remove(op.name) + + /** + * TODO: Fix output names and potentially look for other inputs + * in graph where we need to redirect the input/output names + */ + val toTypedArray = outputVars.toTypedArray() + val concat = sd.concat(op.name,0,*toTypedArray) + resultMap[op.name] = listOf(concat) + + return HookResult(outputVariables = resultMap,listOfFunctions) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-onnx/src/test/resources/lenet.onnx b/nd4j/samediff-import/samediff-import-onnx/src/test/resources/lenet.onnx new file mode 100644 index 000000000..c858b347d Binary files /dev/null and b/nd4j/samediff-import/samediff-import-onnx/src/test/resources/lenet.onnx differ diff --git a/nd4j/samediff-import/samediff-import-tensorflow/ops-added-new.txt b/nd4j/samediff-import/samediff-import-tensorflow/ops-added-new.txt new file mode 100644 index 000000000..d10911138 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/ops-added-new.txt @@ -0,0 +1,40 @@ +Const,in_0 +Const,in_1 +Const,in_2 +Const,softmax_cross_entropy_loss/xentropy/Rank +Const,softmax_cross_entropy_loss/xentropy/Shape +Const,softmax_cross_entropy_loss/xentropy/Rank_1 +Const,softmax_cross_entropy_loss/xentropy/Shape_1 +Const,softmax_cross_entropy_loss/xentropy/Sub/y +Const,softmax_cross_entropy_loss/xentropy/Slice/size +Const,softmax_cross_entropy_loss/xentropy/concat/values_0 +Const,softmax_cross_entropy_loss/xentropy/concat/axis +Const,softmax_cross_entropy_loss/xentropy/Rank_2 +Const,softmax_cross_entropy_loss/xentropy/Shape_2 +Const,softmax_cross_entropy_loss/xentropy/Sub_1/y +Const,softmax_cross_entropy_loss/xentropy/Slice_1/size +Const,softmax_cross_entropy_loss/xentropy/concat_1/values_0 +Const,softmax_cross_entropy_loss/xentropy/concat_1/axis +Const,softmax_cross_entropy_loss/xentropy/Sub_2/y +Const,softmax_cross_entropy_loss/xentropy/Slice_2/begin +NoOp,softmax_cross_entropy_loss/assert_broadcastable/static_dims_check_success +Identity,in_0/read +Identity,in_1/read +Identity,in_2/read +Sub,softmax_cross_entropy_loss/xentropy/Sub +Sub,softmax_cross_entropy_loss/xentropy/Sub_1 +Sub,softmax_cross_entropy_loss/xentropy/Sub_2 +StopGradient,softmax_cross_entropy_loss/labels_stop_gradient +Pack,softmax_cross_entropy_loss/xentropy/Slice/begin +Pack,softmax_cross_entropy_loss/xentropy/Slice_1/begin +Pack,softmax_cross_entropy_loss/xentropy/Slice_2/size +Slice,softmax_cross_entropy_loss/xentropy/Slice +Slice,softmax_cross_entropy_loss/xentropy/Slice_1 +Slice,softmax_cross_entropy_loss/xentropy/Slice_2 +ConcatV2,softmax_cross_entropy_loss/xentropy/concat +ConcatV2,softmax_cross_entropy_loss/xentropy/concat_1 +Reshape,softmax_cross_entropy_loss/xentropy/Reshape +Reshape,softmax_cross_entropy_loss/xentropy/Reshape_1 +SoftmaxCrossEntropyWithLogits,softmax_cross_entropy_loss/xentropy +Reshape,softmax_cross_entropy_loss/xentropy/Reshape_2 +Mul,softmax_cross_entropy_loss/Mul diff --git a/nd4j/samediff-import/samediff-import-tensorflow/ops-added-old.txt b/nd4j/samediff-import/samediff-import-tensorflow/ops-added-old.txt new file mode 100644 index 000000000..d10911138 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/ops-added-old.txt @@ -0,0 +1,40 @@ +Const,in_0 +Const,in_1 +Const,in_2 +Const,softmax_cross_entropy_loss/xentropy/Rank +Const,softmax_cross_entropy_loss/xentropy/Shape +Const,softmax_cross_entropy_loss/xentropy/Rank_1 +Const,softmax_cross_entropy_loss/xentropy/Shape_1 +Const,softmax_cross_entropy_loss/xentropy/Sub/y +Const,softmax_cross_entropy_loss/xentropy/Slice/size +Const,softmax_cross_entropy_loss/xentropy/concat/values_0 +Const,softmax_cross_entropy_loss/xentropy/concat/axis +Const,softmax_cross_entropy_loss/xentropy/Rank_2 +Const,softmax_cross_entropy_loss/xentropy/Shape_2 +Const,softmax_cross_entropy_loss/xentropy/Sub_1/y +Const,softmax_cross_entropy_loss/xentropy/Slice_1/size +Const,softmax_cross_entropy_loss/xentropy/concat_1/values_0 +Const,softmax_cross_entropy_loss/xentropy/concat_1/axis +Const,softmax_cross_entropy_loss/xentropy/Sub_2/y +Const,softmax_cross_entropy_loss/xentropy/Slice_2/begin +NoOp,softmax_cross_entropy_loss/assert_broadcastable/static_dims_check_success +Identity,in_0/read +Identity,in_1/read +Identity,in_2/read +Sub,softmax_cross_entropy_loss/xentropy/Sub +Sub,softmax_cross_entropy_loss/xentropy/Sub_1 +Sub,softmax_cross_entropy_loss/xentropy/Sub_2 +StopGradient,softmax_cross_entropy_loss/labels_stop_gradient +Pack,softmax_cross_entropy_loss/xentropy/Slice/begin +Pack,softmax_cross_entropy_loss/xentropy/Slice_1/begin +Pack,softmax_cross_entropy_loss/xentropy/Slice_2/size +Slice,softmax_cross_entropy_loss/xentropy/Slice +Slice,softmax_cross_entropy_loss/xentropy/Slice_1 +Slice,softmax_cross_entropy_loss/xentropy/Slice_2 +ConcatV2,softmax_cross_entropy_loss/xentropy/concat +ConcatV2,softmax_cross_entropy_loss/xentropy/concat_1 +Reshape,softmax_cross_entropy_loss/xentropy/Reshape +Reshape,softmax_cross_entropy_loss/xentropy/Reshape_1 +SoftmaxCrossEntropyWithLogits,softmax_cross_entropy_loss/xentropy +Reshape,softmax_cross_entropy_loss/xentropy/Reshape_2 +Mul,softmax_cross_entropy_loss/Mul diff --git a/nd4j/samediff-import/samediff-import-tensorflow/ops-imported-new.txt b/nd4j/samediff-import/samediff-import-tensorflow/ops-imported-new.txt new file mode 100644 index 000000000..4bfa46ff6 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/ops-imported-new.txt @@ -0,0 +1,21 @@ +NoOp,softmax_cross_entropy_loss/assert_broadcastable/static_dims_check_success +Identity,in_0/read +Identity,in_1/read +Identity,in_2/read +Sub,softmax_cross_entropy_loss/xentropy/Sub +Sub,softmax_cross_entropy_loss/xentropy/Sub_1 +Sub,softmax_cross_entropy_loss/xentropy/Sub_2 +StopGradient,softmax_cross_entropy_loss/labels_stop_gradient +Pack,softmax_cross_entropy_loss/xentropy/Slice/begin +Pack,softmax_cross_entropy_loss/xentropy/Slice_1/begin +Pack,softmax_cross_entropy_loss/xentropy/Slice_2/size +Slice,softmax_cross_entropy_loss/xentropy/Slice +Slice,softmax_cross_entropy_loss/xentropy/Slice_1 +Slice,softmax_cross_entropy_loss/xentropy/Slice_2 +ConcatV2,softmax_cross_entropy_loss/xentropy/concat +ConcatV2,softmax_cross_entropy_loss/xentropy/concat_1 +Reshape,softmax_cross_entropy_loss/xentropy/Reshape +Reshape,softmax_cross_entropy_loss/xentropy/Reshape_1 +SoftmaxCrossEntropyWithLogits,softmax_cross_entropy_loss/xentropy +Reshape,softmax_cross_entropy_loss/xentropy/Reshape_2 +Mul,softmax_cross_entropy_loss/Mul diff --git a/nd4j/samediff-import/samediff-import-tensorflow/ops-imported-old.txt b/nd4j/samediff-import/samediff-import-tensorflow/ops-imported-old.txt new file mode 100644 index 000000000..4bfa46ff6 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/ops-imported-old.txt @@ -0,0 +1,21 @@ +NoOp,softmax_cross_entropy_loss/assert_broadcastable/static_dims_check_success +Identity,in_0/read +Identity,in_1/read +Identity,in_2/read +Sub,softmax_cross_entropy_loss/xentropy/Sub +Sub,softmax_cross_entropy_loss/xentropy/Sub_1 +Sub,softmax_cross_entropy_loss/xentropy/Sub_2 +StopGradient,softmax_cross_entropy_loss/labels_stop_gradient +Pack,softmax_cross_entropy_loss/xentropy/Slice/begin +Pack,softmax_cross_entropy_loss/xentropy/Slice_1/begin +Pack,softmax_cross_entropy_loss/xentropy/Slice_2/size +Slice,softmax_cross_entropy_loss/xentropy/Slice +Slice,softmax_cross_entropy_loss/xentropy/Slice_1 +Slice,softmax_cross_entropy_loss/xentropy/Slice_2 +ConcatV2,softmax_cross_entropy_loss/xentropy/concat +ConcatV2,softmax_cross_entropy_loss/xentropy/concat_1 +Reshape,softmax_cross_entropy_loss/xentropy/Reshape +Reshape,softmax_cross_entropy_loss/xentropy/Reshape_1 +SoftmaxCrossEntropyWithLogits,softmax_cross_entropy_loss/xentropy +Reshape,softmax_cross_entropy_loss/xentropy/Reshape_2 +Mul,softmax_cross_entropy_loss/Mul diff --git a/nd4j/samediff-import/samediff-import-tensorflow/ops-removed-new.txt b/nd4j/samediff-import/samediff-import-tensorflow/ops-removed-new.txt new file mode 100644 index 000000000..1d7b459e9 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/ops-removed-new.txt @@ -0,0 +1,6 @@ +in_0 +in_1 +concat/axis +in_0/read +in_1/read +concat diff --git a/nd4j/samediff-import/samediff-import-tensorflow/ops-removed-old.txt b/nd4j/samediff-import/samediff-import-tensorflow/ops-removed-old.txt new file mode 100644 index 000000000..d6dabb6b5 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/ops-removed-old.txt @@ -0,0 +1,40 @@ +in_0 +in_1 +in_2 +softmax_cross_entropy_loss/xentropy/Rank +softmax_cross_entropy_loss/xentropy/Shape +softmax_cross_entropy_loss/xentropy/Rank_1 +softmax_cross_entropy_loss/xentropy/Shape_1 +softmax_cross_entropy_loss/xentropy/Sub/y +softmax_cross_entropy_loss/xentropy/Slice/size +softmax_cross_entropy_loss/xentropy/concat/values_0 +softmax_cross_entropy_loss/xentropy/concat/axis +softmax_cross_entropy_loss/xentropy/Rank_2 +softmax_cross_entropy_loss/xentropy/Shape_2 +softmax_cross_entropy_loss/xentropy/Sub_1/y +softmax_cross_entropy_loss/xentropy/Slice_1/size +softmax_cross_entropy_loss/xentropy/concat_1/values_0 +softmax_cross_entropy_loss/xentropy/concat_1/axis +softmax_cross_entropy_loss/xentropy/Sub_2/y +softmax_cross_entropy_loss/xentropy/Slice_2/begin +softmax_cross_entropy_loss/assert_broadcastable/static_dims_check_success +in_0/read +in_1/read +in_2/read +softmax_cross_entropy_loss/xentropy/Sub +softmax_cross_entropy_loss/xentropy/Sub_1 +softmax_cross_entropy_loss/xentropy/Sub_2 +softmax_cross_entropy_loss/labels_stop_gradient +softmax_cross_entropy_loss/xentropy/Slice/begin +softmax_cross_entropy_loss/xentropy/Slice_1/begin +softmax_cross_entropy_loss/xentropy/Slice_2/size +softmax_cross_entropy_loss/xentropy/Slice +softmax_cross_entropy_loss/xentropy/Slice_1 +softmax_cross_entropy_loss/xentropy/Slice_2 +softmax_cross_entropy_loss/xentropy/concat +softmax_cross_entropy_loss/xentropy/concat_1 +softmax_cross_entropy_loss/xentropy/Reshape +softmax_cross_entropy_loss/xentropy/Reshape_1 +softmax_cross_entropy_loss/xentropy +softmax_cross_entropy_loss/xentropy/Reshape_2 +softmax_cross_entropy_loss/Mul diff --git a/nd4j/samediff-import/samediff-import-tensorflow/pom.xml b/nd4j/samediff-import/samediff-import-tensorflow/pom.xml new file mode 100644 index 000000000..701cdac8b --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/pom.xml @@ -0,0 +1,48 @@ + + + + + + 4.0.0 + + samediff-import-tensorflow + + + org.nd4j + samediff-import + 1.0.0-SNAPSHOT + + + samediff-import-tensorflow + + + UTF-8 + + + + + org.nd4j + samediff-import-api + ${project.version} + + + + + diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/TensorflowImportGraph.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/TensorflowImportGraph.kt new file mode 100644 index 000000000..8054bf71a --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/TensorflowImportGraph.kt @@ -0,0 +1,24 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow + +import org.nd4j.samediff.frameworkimport.ImportGraph +import org.tensorflow.framework.* + +class TensorflowImportGraph: ImportGraph() { +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/TensorflowImportGraphHolder.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/TensorflowImportGraphHolder.kt new file mode 100644 index 000000000..ea72d14b7 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/TensorflowImportGraphHolder.kt @@ -0,0 +1,34 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow + +import org.nd4j.samediff.frameworkimport.ImportGraph +import org.nd4j.samediff.frameworkimport.ImportGraphHolder +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum + +class TensorflowImportGraphHolder: ImportGraphHolder { + override fun frameworkName(): String { + return "tensorflow" + } + + override fun createImportGraph( + ): ImportGraph { + return TensorflowImportGraph() as ImportGraph + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/TensorflowProtobufExtensions.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/TensorflowProtobufExtensions.kt new file mode 100644 index 000000000..5f6ee8a57 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/TensorflowProtobufExtensions.kt @@ -0,0 +1,375 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.registry.OpMappingRegistry +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeMappingRule +import org.nd4j.samediff.frameworkimport.tensorflow.process.TensorflowMappingProcess +import org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute.TensorflowArgDescriptorConstant +import org.nd4j.samediff.frameworkimport.tensorflow.rule.tensor.NDArrayMappingRule +import org.nd4j.samediff.frameworkimport.tensorflow.rule.tensor.TensorflowMultiInputIndexMappingRule +import org.nd4j.shade.protobuf.ByteString +import org.tensorflow.framework.* +import java.nio.charset.Charset + +fun GraphDef.nodeByName(name: String): NodeDef { + val nodeNames = nodeList.map { node -> node.name } + return nodeList.first { it.name == name }!! +} + +fun ListAttrValue(vararg i: Long): AttrValue.ListValue = + AttrValue.ListValue.newBuilder().apply { + i.forEach { addI(it) } + }.build() + +fun TensorProto(block: TensorProto.Builder.() -> Unit): TensorProto { + return TensorProto.newBuilder().apply(block).build() +} + +fun TensorProto.Builder.RawData(byteArray: ByteArray) { + this.tensorContent = ByteString.copyFrom(byteArray) +} + +fun TensorProto.Builder.Shape(shape: List) { + this.tensorShape = TensorShapeProto { + Dims(shape) + } +} + +fun TensorProto.Builder.DataType(value: DataType) { + this.dtype = value +} + +fun TensorProto.Builder.String(value: String) { + this.addStringVal(ByteString.copyFrom(value.toByteArray(Charset.defaultCharset()))) +} + +fun TensorProto.Builder.StringData(value: List) { + this.addAllStringVal(value.map { value -> ByteString.copyFrom(value.toByteArray(Charset.defaultCharset())) }) +} + +fun TensorProto.Builder.Boolean(value: Boolean) { + this.addBoolVal(value) +} + +fun TensorProto.Builder.BooleanData(value: List) { + this.addAllBoolVal(value) +} + +fun TensorProto.Builder.Double(value: Double) { + this.addDoubleVal(value) +} + +fun TensorProto.Builder.Int64Data(value: List) { + this.addAllInt64Val(value) +} + + +fun TensorProto.Builder.Int32Data(value: List) { + this.addAllIntVal(value) +} + +fun TensorProto.Builder.DoubleData(value: List) { + this.addAllDoubleVal(value) +} + +fun TensorProto.Builder.Float(value: Float) { + this.addFloatVal(value) +} + +fun TensorProto.Builder.FloatData(value: List) { + this.addAllFloatVal(value) +} + +fun TensorShapeProto.Builder.Dim(name: String, size: Long) { + this.addDim(TensorShapeProto.Dim.newBuilder().setName(name).setSize(size).build()) +} + +fun Dim(block: TensorShapeProto.Dim.Builder.() -> Unit): TensorShapeProto.Dim { + return TensorShapeProto.Dim.newBuilder().apply(block).build() +} + +fun TensorShapeProto.Builder.Dims(shape: List) { + shape.forEachIndexed { index, value -> this.addDim( + Dim { + name = index.toString() + size = value + }) + } +} + +fun TensorShapeProto(block: TensorShapeProto.Builder.() -> Unit): TensorShapeProto { + return TensorShapeProto.newBuilder().apply(block).build() +} + +fun AttrValue(block: AttrValue.Builder.() -> Unit): AttrValue { + return AttrValue.newBuilder().apply(block).build() +} + + + +fun AttrValue.Builder.ListDataType(listDataTypes: List) { + this.listBuilder.addAllType(listDataTypes) +} + +fun AttrValue.Builder.ListInts(listInts: List) { + this.listBuilder.addAllI(listInts) +} + +fun AttrValue.Builder.LongVal(intVal: Long) { + this.i = intVal +} + +fun AttrValue.Builder.ListFloats(listFloats: List) { + this.listBuilder.addAllF(listFloats) +} + + + +fun GraphDef(block: GraphDef.Builder.() -> Unit): GraphDef { + return GraphDef.newBuilder().apply(block).build() +} + +fun GraphDef.Builder.Node(inputNode: NodeDef) { + this.addNode(inputNode) +} + +fun String.toByteString() = ByteString.copyFrom(this, Charset.defaultCharset()) + +fun OpDef(block: OpDef.Builder.() -> Unit): OpDef { + return OpDef.newBuilder().apply(block).build() +} + +fun NodeDef(block: NodeDef.Builder.() -> Unit): NodeDef { + return NodeDef.newBuilder().apply(block).build() +} + +fun ListValue(block: AttrValue.ListValue.Builder.() -> Unit): AttrValue.ListValue { + return AttrValue.ListValue.newBuilder().apply(block).build() +} + +fun AttrValue.ListValue.Builder.LongItems(value: List) { + this.addAllI(value) +} + +fun AttrValue.ListValue.Builder.IntItems(value: List) { + this.addAllI(value.map { it.toLong() }) +} + +fun AttrValue.ListValue.Builder.IntItem(value: Long) { + this.addI(value) +} + +fun NodeDef.Builder.Input(name: String) { + this.addInput(name) +} + +fun NodeDef.Builder.Attribute(name: String, value: AttrValue) { + this.putAttr(name, value) +} + +fun OpList.findOp(name: String): OpDef { + if(!this.opList.map { input -> input.name }.contains(name)) { + throw IllegalArgumentException("Op $name not found!") + } + return this.opList.first { it.name == name }!! +} + + +fun mappingListNDArrays(inputs: MutableMap) : TensorflowMultiInputIndexMappingRule { + return TensorflowMultiInputIndexMappingRule( + mappingNamesToPerform = inputs + ) +} + +fun booleanConstant(inputName: String, constantValue: Boolean,argumentIndex: Int): List { + return listOf(argDescriptorConstant(listOf( + ArgDescriptor { + name = inputName + boolValue = constantValue + argType = OpNamespace.ArgDescriptor.ArgType.BOOL + argIndex = argumentIndex + } + ))) +} + +fun doubleConstant(inputName: String, constantValue: Double, argumentIndex: Int): List { + return listOf(argDescriptorConstant(listOf( + ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + name = inputName + doubleValue = constantValue + argIndex = argumentIndex + } + ))) +} + +fun intConstant(inputName: String, constantValue: Int, argumentIndex: Int): List { + return listOf(argDescriptorConstant(listOf( + ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + name = inputName + int64Value = constantValue.toLong() + argIndex = argumentIndex + } + ))) +} + +fun mappingNDArrayInputs(inputs: MutableMap) : NDArrayMappingRule { + return NDArrayMappingRule( + mappingNamesToPerform = inputs + ) +} + +fun mapSameName(names: List): List { + return listOf(mappingNDArrayInputs(names.map { name -> Pair(name, name) }.toMap().toMutableMap())) +} + +fun mapTensorNamesWithOp(inputFrameworkOpName: String, + opName: String, + tensorflowOpRegistry: OpMappingRegistry, + tensorNames: MutableMap, + attributeMappingRules: List> = emptyList()): TensorflowMappingProcess { + return TensorflowMappingProcess( + opName = opName, + inputFrameworkOpName = inputFrameworkOpName, + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(tensorNames)), + attributeMappingRules = attributeMappingRules.toMutableList() + ) + +} + +fun multipleNameMapping(inputFrameworkOpNames: List, + tensorflowOpRegistry: OpMappingRegistry, + opName: String, tensorNames: MutableMap, + attributeMappingRules: List> = emptyList()): + List { + return inputFrameworkOpNames.map { + val attrCopy = attributeMappingRules.toMutableList() + attrCopy.forEach { attr -> + attr.modifyInputFrameworkOpName(it) + } + mapTensorNamesWithOp( + inputFrameworkOpName = it, + opName = opName, + tensorNames = tensorNames, + attributeMappingRules = attrCopy, + tensorflowOpRegistry = tensorflowOpRegistry + ) + } +} + +fun defineBiasAdd(names :List = listOf("BiasAdd"), + tensorflowOpRegistry: OpMappingRegistry) { + names.forEach { + TensorflowMappingProcess( + opName = "biasadd", + inputFrameworkOpName = it, + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "value", "bias" to "bias"))), + attributeMappingRules = listOf( + stringEqualsRule("nchw" + ,inputFrameworkAttributeName = "data_format",valueToTest = "NCHW",argumentIndex = 0) + )) + + } +} + +fun defineTensorflowSingleTransform(inputOpName: String, + inputFrameworkOpName: String, + tensorflowOpRegistry: OpMappingRegistry +): TensorflowMappingProcess { + return TensorflowMappingProcess( + opName = inputOpName, + inputFrameworkOpName = inputFrameworkOpName, tensorMappingRules = listOf( + NDArrayMappingRule( + mappingNamesToPerform = mutableMapOf("input" to "x") + ) + ), + attributeMappingRules = listOf( + valueMapping(mutableMapOf("dataType" to "T")), + argDescriptorConstant( + listOf( + ArgDescriptor { + name = "inPlace" + boolValue = false + argType = OpNamespace.ArgDescriptor.ArgType.BOOL + argIndex = 0 + } + ) + )), + opMappingRegistry = tensorflowOpRegistry) + +} + +fun defineSingularReduce(inputFrameworkOpName: String, + inputOpName: String, + tensorflowOpRegistry: OpMappingRegistry +): TensorflowMappingProcess { + return mapTensorNamesWithOp( + inputFrameworkOpName = inputFrameworkOpName, + opName = inputOpName, + attributeMappingRules = listOf( + valueMapping(mutableMapOf("keepDims" to "keep_dims")), + ndarrayToIntList(mutableMapOf("dimensions" to "reduction_indices")) + ), + tensorNames = mutableMapOf("input" to "input"), + tensorflowOpRegistry = tensorflowOpRegistry + ) +} + +fun definePairWiseReduce(inputFrameworkOpName: String, inputOpName: String,tensorflowOpRegistry: OpMappingRegistry): TensorflowMappingProcess { + return mapTensorNamesWithOp( + inputFrameworkOpName = inputFrameworkOpName, + opName = inputOpName, + attributeMappingRules = listOf( + valueMapping(mutableMapOf("keepDims" to "keep_dims")), + ndarrayToIntList(mutableMapOf("dimensions" to "reduction_indices")) + ), + tensorNames = mutableMapOf("input" to "input"), + tensorflowOpRegistry = tensorflowOpRegistry + ) +} + +fun defineTensorflowPairwiseTransforms(opName: String, inputFrameworkOpName: String, + tensorflowOpRegistry: OpMappingRegistry, + firstOutputName: String = "input", + secondOutputName: String = "y", + firstInput: String = "x", secondInput: String = "y") : TensorflowMappingProcess { + return TensorflowMappingProcess( + opName = opName, + tensorMappingRules = listOf( + NDArrayMappingRule( + mappingNamesToPerform = mutableMapOf( + firstOutputName to firstInput, + secondOutputName to secondInput + ) + ) + ), + inputFrameworkOpName = inputFrameworkOpName, + inputFramework = "tensorflow", + attributeMappingRules = listOf(booleanConstant(inputName = "inPlace", constantValue = false, argumentIndex = 0)[0] + ,valueMapping(mutableMapOf("dataType" to "T"))), + opMappingRegistry = tensorflowOpRegistry + ) +} diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/TensorflowRuleDeclarations.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/TensorflowRuleDeclarations.kt new file mode 100644 index 000000000..a5e33dc01 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/TensorflowRuleDeclarations.kt @@ -0,0 +1,347 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow + +import org.nd4j.common.util.ArrayUtil +import org.nd4j.ir.OpNamespace +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute.* +import org.tensorflow.framework.DataType +import org.tensorflow.framework.TensorProto + + +fun convertNDArrayToTensorflowTensor(arrayToConvert: INDArray): TensorProto { + if(arrayToConvert.data() == null) + return TensorProto.getDefaultInstance() + when(arrayToConvert.dataType()) { + org.nd4j.linalg.api.buffer.DataType.FLOAT -> { + return TensorProto { + FloatData(arrayToConvert.data().asFloat().toList()) + Shape(arrayToConvert.shape().toList()) + dtype = DataType.DT_FLOAT + } + } + org.nd4j.linalg.api.buffer.DataType.INT32 -> { + return TensorProto { + Int32Data(arrayToConvert.data().asInt().toList()) + Shape(arrayToConvert.shape().toList()) + dtype = DataType.DT_INT32 + } + } + org.nd4j.linalg.api.buffer.DataType.INT64 -> { + return TensorProto { + Int64Data(arrayToConvert.data().asLong().toList()) + Shape(arrayToConvert.shape().toList()) + dtype = DataType.DT_INT64 + } + } + org.nd4j.linalg.api.buffer.DataType.DOUBLE -> { + return TensorProto { + DoubleData(arrayToConvert.data().asDouble().toList()) + Shape(arrayToConvert.shape().toList()) + dtype = DataType.DT_DOUBLE + } + } + org.nd4j.linalg.api.buffer.DataType.UTF8 -> { + return TensorProto { + val totalLength = ArrayUtil.prod(*arrayToConvert.shape()) + val stringList = ArrayList() + for(i in 0 until totalLength) { + val currString = arrayToConvert.getString(i.toLong()) + stringList.add(currString) + } + + StringData(stringList) + Shape(arrayToConvert.shape().toList()) + dtype = DataType.DT_STRING + } + } + + else -> { + return TensorProto { + dtype = convertNd4jDataTypeToTensorflow(arrayToConvert.dataType()) + RawData(arrayToConvert.data().asBytes()) + Shape(arrayToConvert.shape().toList()) + + } + } + + } +} + +fun convertNd4jDataTypeToTensorflow(dataType: org.nd4j.linalg.api.buffer.DataType) : DataType { + when(dataType) { + org.nd4j.linalg.api.buffer.DataType.DOUBLE -> return DataType.DT_DOUBLE + org.nd4j.linalg.api.buffer.DataType.FLOAT16 -> return DataType.DT_HALF + org.nd4j.linalg.api.buffer.DataType.FLOAT -> return DataType.DT_FLOAT + org.nd4j.linalg.api.buffer.DataType.INT32 -> return DataType.DT_INT32 + org.nd4j.linalg.api.buffer.DataType.UINT32 -> return DataType.DT_UINT32 + org.nd4j.linalg.api.buffer.DataType.INT64 -> return DataType.DT_INT64 + org.nd4j.linalg.api.buffer.DataType.UINT64 -> return DataType.DT_UINT64 + org.nd4j.linalg.api.buffer.DataType.BOOL -> return DataType.DT_BOOL + org.nd4j.linalg.api.buffer.DataType.INT8 -> return DataType.DT_INT8 + org.nd4j.linalg.api.buffer.DataType.INT16 -> return DataType.DT_INT16 + org.nd4j.linalg.api.buffer.DataType.BFLOAT16 -> return DataType.DT_BFLOAT16 + org.nd4j.linalg.api.buffer.DataType.UTF8 -> return DataType.DT_STRING + else -> { + return DataType.UNRECOGNIZED + } + } +} + +fun conditionalFieldValueIntIndexNDArrayRule(outputAttribute: String, + inputFrameworkStringNameToTest: String, + targetValue: String, + trueIndex: Int, + falseIndex: Int, + attributeNameOfListAttribute: String, + argumentIndex: Int): TensorflowConditionalFieldValueIntIndexNDArrayRule { + return TensorflowConditionalFieldValueIntIndexNDArrayRule( + mappingNamesToPerform = mapOf(outputAttribute to inputFrameworkStringNameToTest), + transformerArgs = mapOf(outputAttribute to listOf( + ArgDescriptor { + name = "targetValue" + stringValue = targetValue + argIndex = argumentIndex + }, + ArgDescriptor { + name = "trueIndex" + int64Value = trueIndex.toLong() + argIndex = argumentIndex + }, + ArgDescriptor { + name = "falseIndex" + int64Value = falseIndex.toLong() + argIndex = argumentIndex + }, + ArgDescriptor { + name = "attributeNameOfListAttribute" + stringValue = attributeNameOfListAttribute + argIndex = argumentIndex + })) + ) +} + + +fun conditionalFieldValueIntIndexArrayRule(outputAttribute: String, + inputFrameworkStringNameToTest: String, + targetValue: String, + trueIndex: Int, + falseIndex: Int, + attributeNameOfListAttribute: String, + argumentIndex: Int): TensorflowConditionalFieldValueIntIndexArrayRule { + return TensorflowConditionalFieldValueIntIndexArrayRule( + mappingNamesToPerform = mapOf(outputAttribute to inputFrameworkStringNameToTest), + transformerArgs = mapOf(outputAttribute to listOf( + ArgDescriptor { + name = "targetValue" + stringValue = targetValue + argIndex = argIndex + }, + ArgDescriptor { + name = "trueIndex" + int64Value = trueIndex.toLong() + argIndex = argumentIndex + }, + ArgDescriptor { + name = "falseIndex" + int64Value = falseIndex.toLong() + argIndex = argumentIndex + }, + ArgDescriptor { + name = "attributeNameOfListAttribute" + stringValue = attributeNameOfListAttribute + argIndex = argumentIndex + })) + ) +} + +fun sizeAtRule(dimensionIndex: Int, + outputAttributeName: String, + inputFrameworkAttributeName: String, + argumentIndex: Int): TensorflowNDArraySizeAt { + return TensorflowNDArraySizeAt( + mappingNamesToPerform = mapOf(outputAttributeName to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttributeName to listOf(OpNamespace.ArgDescriptor.newBuilder().apply { + name = inputFrameworkAttributeName + int64Value = dimensionIndex.toLong() + argIndex = argumentIndex + }.build())) + ) +} + +fun ndarrayExtractScalarValue(outputAttribute: String, + inputFrameworkAttributeName: String, + argumentIndex: Int, + scalarIndex: Int): TensorflowNDArrayExtractScalarValue { + return TensorflowNDArrayExtractScalarValue( + mappingNamesToPerform = mapOf(outputAttribute to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttribute to listOf( + ArgDescriptor { + name = outputAttribute + int64Value = scalarIndex.toLong() + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + argIndex = argumentIndex + }))) +} + + +fun stringEqualsRule(outputAttribute: String, + inputFrameworkAttributeName: String, + valueToTest: String, + argumentIndex: Int): TensorflowStringEqualsAdapterRule { + return TensorflowStringEqualsAdapterRule( + mappingNamesToPerform = mapOf(outputAttribute to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttribute to listOf( + ArgDescriptor { + name = inputFrameworkAttributeName + stringValue = valueToTest + argType = OpNamespace.ArgDescriptor.ArgType.STRING + argIndex = argumentIndex + }))) +} + + +fun stringNotEqualsRule(outputAttribute: String, inputFrameworkAttributeName: String, valueToTest: String,argumentIndex: Int): TensorflowStringNotEqualsAdapterRule { + return TensorflowStringNotEqualsAdapterRule( + mappingNamesToPerform = mapOf(outputAttribute to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttribute to listOf(OpNamespace.ArgDescriptor.newBuilder().apply { + name = inputFrameworkAttributeName + stringValue = valueToTest + argIndex = argumentIndex + }.build()))) +} + + +fun stringContainsRule(outputAttribute: String, inputFrameworkAttributeName: String, valueToTest: String): TensorflowStringContainsAdapterRule { + return TensorflowStringContainsAdapterRule( + mappingNamesToPerform = mapOf(outputAttribute to inputFrameworkAttributeName), + transformerArgs = mapOf(outputAttribute to listOf(OpNamespace.ArgDescriptor.newBuilder().apply { + name = inputFrameworkAttributeName + stringValue = valueToTest + }.build()))) +} + + +fun attributeScalarToNDArrayInput(outputAttribute: String, inputFrameworkAttributeName: String): TensorflowAttributeScalarNDArrayAttribute { + return TensorflowAttributeScalarNDArrayAttribute( + mappingNamesToPerform = mapOf(outputAttribute to inputFrameworkAttributeName)) +} + + +fun valueMapping(mappings: Map): TensorflowValueMappingRule { + return TensorflowValueMappingRule(mappingNamesToPerform = mappings,transformerArgs = emptyMap()) +} + +fun invertBooleanNumber(mappings: Map): TensorflowInvertBooleanNumber { + return TensorflowInvertBooleanNumber(mappingNamesToPerform = mappings,transformerArgs = emptyMap()) +} + + +fun ndarrayToIntList(ndarrayNameToAttributeName: MutableMap): TensorflowNDArrayToIntAttributeValue { + return TensorflowNDArrayToIntAttributeValue(mappingNamesToPerform = ndarrayNameToAttributeName) +} + +fun ndarrayStringToIndex(outputAttributeValue: String,inputAttributeValue: String, listOfValues: List,argumentIndex: Int): TensorflowNdArrayToStringIndex { + return TensorflowNdArrayToStringIndex(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = mapOf(outputAttributeValue to listOfValues.map { + valueName -> ArgDescriptor { + name = valueName + stringValue = valueName + argIndex = argumentIndex + } + })) +} + + +fun mapStringToInt(outputAttributeValue: String, inputAttributeValue: String, mapOfValuesToInts: Map,argumentIndex: Int,lookupIndex:Int): TensorflowMapStringToInt { + return TensorflowMapStringToInt(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = + mapOf(outputAttributeValue to mapOfValuesToInts.map { + entry -> ArgDescriptor { + name = entry.key + int64Value = entry.value.toLong() + argIndex = argumentIndex + } + },"index" to listOf(ArgDescriptor { + name = "index" + int64Value = lookupIndex.toLong() + }))) +} + + +fun listNumberToListNumber(outputAttributeValue: String, inputAttributeValue: String): TensorflowListNumberToListNumber { + return TensorflowListNumberToListNumber(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = emptyMap()) +} + +fun convertStringToInputNDArray(mappings: Map): TensorflowStringAttributeToNDArray { + return TensorflowStringAttributeToNDArray(mappingNamesToPerform = mappings,transformerArgs = emptyMap()) +} + + +fun convertNumberListToInputNDArray(outputAttributeValue: String, inputAttributeValue: String): TensorflowAttributeNumberListNDArray { + return TensorflowAttributeNumberListNDArray(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue),transformerArgs = emptyMap()) +} + + +fun listAttributeValueLookupToIndex(outputAttributeValue: String, inputAttributeValue: String, idx: Int,argumentIndex: Int,defaultValueIfNotFound: OpNamespace.ArgDescriptor? = null): TensorflowListAttributeValueLookupToIndex { + if(defaultValueIfNotFound != null) + return TensorflowListAttributeValueLookupToIndex(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue), + transformerArgs = mapOf(outputAttributeValue to listOf(ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + int64Value = idx.toLong() + name = "index" + argIndex = argumentIndex + },defaultValueIfNotFound!!))) + else + return TensorflowListAttributeValueLookupToIndex(mappingNamesToPerform = mapOf(outputAttributeValue to inputAttributeValue), + transformerArgs = mapOf(outputAttributeValue to listOf(ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + int64Value = idx.toLong() + name = "index" + argIndex = argumentIndex + }))) +} + + +fun dataTypeToInt(mutableMap: MutableMap): TensorflowDataTypeToInt { + return TensorflowDataTypeToInt(mappingNamesToPerform = mutableMap,transformerArgs = emptyMap()) +} + + +fun convertNDArrayInputToNumericalAttr(mutableMap: MutableMap): TensorflowNDArrayInputToNumericalAttribute { + return TensorflowNDArrayInputToNumericalAttribute(mappingNamesToPerform = mutableMap,transformerArgs = emptyMap()) +} + +fun listNumberToNDarray(mutableMap: MutableMap): TensorflowListNumberToNDArray { + return TensorflowListNumberToNDArray(mappingNamesToPerform = mutableMap,transformerArgs = emptyMap()) +} + + +fun ndArrayAttributeToNDarrayInput(mutableMap: MutableMap): TensorflowNDArrayAttributeToNDArrayInput { + return TensorflowNDArrayAttributeToNDArrayInput(mappingNamesToPerform = mutableMap,transformerArgs = emptyMap()) +} + + +fun argDescriptorConstant(argDescriptorConstants: List): TensorflowArgDescriptorConstant { + return TensorflowArgDescriptorConstant(mappingNamesToPerform = emptyMap(),transformerArgs = mapOf("value" to argDescriptorConstants)) +} + + +fun ndarrayAttributeToScalarAttribute(argDescriptorConstants: List): TensorflowAttributeNDArrayToScalarAttribute { + return TensorflowAttributeNDArrayToScalarAttribute(mappingNamesToPerform = emptyMap(),transformerArgs = mapOf("value" to argDescriptorConstants)) +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/context/TensorflowMappingContext.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/context/TensorflowMappingContext.kt new file mode 100644 index 000000000..889c93ff6 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/context/TensorflowMappingContext.kt @@ -0,0 +1,135 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.context + +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.samediff.frameworkimport.context.AbstractMappingContext +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.ir.IRGraph +import org.nd4j.samediff.frameworkimport.ir.IRNode +import org.nd4j.samediff.frameworkimport.ir.IRTensor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.tensorflow.* +import org.nd4j.samediff.frameworkimport.tensorflow.ir.* +import org.tensorflow.framework.* +import kotlin.math.min + +class TensorflowMappingContext(opDef: OpDef, node: NodeDef, graph: IRGraph, dynamicVariables: MutableMap) : + AbstractMappingContext(opDef, node, graph,dynamicVariables) { + + override fun attrDef(name: String): OpDef.AttrDef { + if(opDef().attrCount < 1) { + throw IllegalArgumentException("No attributes found for op def with name ${opDef.name}") + } + + val ret = opDef().attrList.firstOrNull { it.name == name } ?: error("No attribute found with name $name") + return ret!! + } + + override fun irAttributeValueForNode(valueName: String): IRAttribute { + val attrDef = attrDef(valueName) + val attrValue = node.getAttrOrDefault(valueName, attrDef.defaultValue) + return TensorflowIRAttr(inputAttributeDef = attrDef, inputAttributeValue = attrValue) + + } + + override fun tensorInputFor(name: String): IRTensor { + var foundIndex = -1 + /** + * Use op definition name as 1 unified reference name in rules for static purposes, but + * look up via index for specific node mappings. + * + * This is equivalent to the tf input position attribute value in the previous tensorflow import. + */ + var baseIndexOffset: Int = 0 + opDef.inputArgList.forEachIndexed { index, argDef -> + if(argDef.numberAttr.isNotEmpty()) { + var totalNum = node.getAttrOrDefault(argDef.numberAttr, AttrValue { + i = 0 + }) + + baseIndexOffset += totalNum.i.toInt() + } + + if(argDef.name == name) + foundIndex = min(index + baseIndexOffset, node.inputCount - 1) + } + + + if(foundIndex < 0) { + throw IllegalArgumentException("Node with name ${nodeName()} for opdef with name ${opDef.name} did not contain a tensor with name ${name}") + } + + var graphNode = node.getInput(foundIndex) + if(graphNode.endsWith("/read")) + graphNode = graphNode.replace("/read","") + return tensorInputFromInputFrameworkName(graphNode) + } + + override fun opName(): String { + return node.op + } + + override fun nodeName(): String { + return node.name + } + + override fun nd4jDataTypeFor(input: IRTensor): org.nd4j.linalg.api.buffer.DataType { + return input.dataType().nd4jDataType() + } + + override fun createIRTensorFromNDArray(ndarray: INDArray): IRTensor { + val tensorProto = TensorProto { + RawData(ndarray.data().asBytes()) + Shape(ndarray.shape().toList()) + DataType(convertToDataType(ndarray.dataType())) + } + + return TensorflowIRTensor(tensorProto) + } + + override fun tensorAttributeFor(name: String): IRTensor { + return TensorflowIRTensor(node.getAttrOrThrow(name).tensor) + } + + override fun irNode(): IRNode { + return TensorflowIRNode(node, OpDescriptorLoaderHolder.listForFramework("tensorflow").values.first { input -> + input.name == node.op + },graph.opMappingRegistry()) + } + + override fun tensorInputFromInputFrameworkName(name: String): IRTensor { + val searchedNode = graph.nodeByName(stripVarSuffix(name)) + //no value to be found on placeholder, return default instance + //if no value exists it's an output from another node + if("Placeholder" in searchedNode.op || !searchedNode.containsAttr("value")) { + println("Value for node $name is not a constant! This method only works for constants. Consider replacing the Placeholder node with a Constant node. This will return an empty tensor.") + if(!dynamicVariables.containsKey(name)) + return TensorflowIRTensor(TensorProto.getDefaultInstance()) + else { + val toConvert = dynamicVariables[name]!! + return TensorflowIRTensor(toConvert) + } + } + + //value nodes are the values of attributes that are input nodes in a frozen graph + return TensorflowIRTensor(searchedNode.getAttrOrThrow("value").tensor) + } + + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/definitions/TensorflowOpDeclarations.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/definitions/TensorflowOpDeclarations.kt new file mode 100644 index 000000000..248207381 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/definitions/TensorflowOpDeclarations.kt @@ -0,0 +1,2408 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.definitions + + +import org.nd4j.ir.OpNamespace +import org.nd4j.linalg.factory.Nd4j +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.nameSpaceTensorFromNDarray +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.registry.OpMappingRegistry +import org.nd4j.samediff.frameworkimport.registry.OpRegistryHolder +import org.nd4j.samediff.frameworkimport.tensorflow.* +import org.nd4j.samediff.frameworkimport.tensorflow.process.TensorflowMappingProcess +import org.tensorflow.framework.* + +val tensorflowOpRegistry = OpMappingRegistry( + "tensorflow",OpDescriptorLoaderHolder.nd4jOpDescriptor) + +fun registry(): OpMappingRegistry { + return tensorflowOpRegistry +} + +val singleTransformArgs = mapOf( + "Abs" to "abs", + "Acos" to "acos", + "Acosh" to "acosh", + "Asin" to "asin", + "Asinh" to "asinh", + "Atan" to "atan", + "Atanh" to "atanh", + "Ceil" to "ceil", + "Cos" to "cos", + "Cosh" to "cosh", + "Erf" to "erf", + "Erfc" to "erfc", + "Exp" to "exp", + "Expm1" to "expm1", + "Floor" to "floor", + "Log" to "log", + "Log1p" to "log1p", + "Neg" to "neg", + "Rint" to "rint", + "Round" to "round", + "Rsqrt" to "rsqrt", + "Sigmoid" to "sigmoid", + "Sign" to "sign", + "Sin" to "sin", + "Sinh" to "sinh", + "Square" to "square", + "Sqrt" to "sqrt", + "Tan" to "tan", + "Tanh" to "tanh" +) + +val elementWiseTransformOps = mapOf( + "Add" to "add", + "AddV2" to "add", + "Div" to "divide", + "Greater" to "greater", + "GreaterEqual" to "greater_equal", + "Less" to "less", + "LessEqual" to "less_equal", + "Mul" to "multiply", + "Sub" to "subtract", + "Maximum" to "maximum", + "FloorDiv" to "floordiv", + "Mod" to "mod", + "FloorMod" to "floormod", + "SquaredDifference" to "squaredsubtract", + "NotEqual" to "not_equals", + "RealDiv" to "realdiv", + "RightShift" to "rshift_bits", + "Atan2" to "tf_atan2", + "TruncateDiv" to "truncatediv" +) + + +val reduceOps = mapOf( + "All" to "all", + "Any" to "any", + "Mean" to "reduce_mean", + "Prod" to "reduce_prod", + "Sum" to "reduce_sum", + "Min" to "reduce_min", + "Max" to "reduce_max", + + ) + + +val pairwiseReduceOps = mapOf( + "EuclideanNorm" to "euclidean" +) + + +val addN = TensorflowMappingProcess( + inputFrameworkOpName = "AddN", + opName = "mergesum", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "inputs"))), + opMappingRegistry = tensorflowOpRegistry +) + + +val assert = mapTensorNamesWithOp(inputFrameworkOpName = "Assert",opName = "Assert", + tensorNames = mutableMapOf("input" to "condition"), + tensorflowOpRegistry = tensorflowOpRegistry) + + +/** + * + * Note that angle only supports complex inputs and outputs. + * We don't support complex in nd4j so we just output zeros. + */ +/*val angleRule = TensorflowMappingProcess( + inputFrameworkOpName = "Angle", + opName = "zeros_like", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + opMappingRegistry = tensorflowOpRegistry +)*/ + +/* +val approxEqualRule = TensorflowMappingProcess( + inputFrameworkOpName = "Equal", + opName = "equals_with_eps", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x","y" to "y"))), + attributeMappingRules = listOf(valueMapping(mapOf("eps" to "tolerance")), + //TODO: note dimensions isn't on the TF op, need to investigate if there is a better default here + intConstant(inputName = "dimensions",constantValue = 0 ,argumentIndex = 0)[0], + booleanConstant(inputName = "keepDims",constantValue = false,argumentIndex = 0)[0])) +*/ + + +val argMaxRule = TensorflowMappingProcess( + inputFrameworkOpName = "ArgMax", + opName = "argmax", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf( + booleanConstant(inputName = "keepDims",constantValue = false,argumentIndex = 0)[0]) + +) + +val argMinRule = TensorflowMappingProcess( + inputFrameworkOpName = "ArgMin", + opName = "argmin", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf( + booleanConstant(inputName = "keepDims",constantValue = false,argumentIndex = 0)[0]) + +) +/* +val reduceLogSumExp = TensorflowMappingProcess( + inputFrameworkOpName = "CumulativeLogsumexp", + opName = "reduce_logsumexp", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x"))), + attributeMappingRules = listOf( + ndarrayToIntList(mutableMapOf("dimensions" to "axis")), + booleanConstant(inputName = "keepDims",constantValue = true,argumentIndex = 0)[0]) + +)*/ + +/** + * Note: Assign uses variables, not tensors. We will not test this. + */ +val assignOp = TensorflowMappingProcess( + inputFrameworkOpName = "Assign", + opName = "assign", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "ref","y" to "value"))) +) + +val adjustHue = TensorflowMappingProcess( + inputFrameworkOpName = "AdjustHue", + opName = "adjust_hue", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "images","delta" to "delta"))), + attributeMappingRules = listOf( + intConstant(inputName= "dimC",constantValue = -1 ,argumentIndex = 0)[0]) +) + +val adjustSaturation = TensorflowMappingProcess( + inputFrameworkOpName = "AdjustSaturation", + opName = "adjust_saturation", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "images","factor" to "scale"))), + attributeMappingRules = listOf( + intConstant(inputName= "dimC",constantValue = -1 ,argumentIndex = 0)[0]) +) + +val adjustContrast = TensorflowMappingProcess( + inputFrameworkOpName = "AdjustContrastv2", + opName = "adjust_contrast_v2", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "images","factor" to "contrast_factor"))), + attributeMappingRules = listOf() +) + +val stopGradient = TensorflowMappingProcess( + inputFrameworkOpName = "StopGradient", + opName = "stop_gradient", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf(booleanConstant(inputName = "inPlace",argumentIndex = 0,constantValue = false)[0]) +) + +val polygamma = TensorflowMappingProcess( + inputFrameworkOpName = "Polygamma", + opName = "polygamma", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("n" to "a","input" to "x"))), + attributeMappingRules = listOf() +) + + +val avgPool = TensorflowMappingProcess( + inputFrameworkOpName = "AvgPool", + opName = "avgpool2d", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "value"))), + attributeMappingRules = listOf( + stringNotEqualsRule(outputAttribute = "isNCHW",inputFrameworkAttributeName = "data_format",valueToTest = "NCHW",argumentIndex = 10), + stringEqualsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "padding",valueToTest = "SAME",argumentIndex = 8), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sH", attributeNameOfListAttribute = "strides", targetValue = "NCHW", trueIndex = 2, + falseIndex = 1,inputFrameworkStringNameToTest = "data_format",argumentIndex = 2), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sW", attributeNameOfListAttribute = "strides", targetValue = "NCHW", trueIndex = 3, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 3), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "kH", attributeNameOfListAttribute = "ksize", targetValue = "NCHW", trueIndex = 2, + falseIndex = 1,inputFrameworkStringNameToTest = "data_format",argumentIndex = 0), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "kW", attributeNameOfListAttribute = "ksize", targetValue = "NCHW", trueIndex = 3, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 1), + argDescriptorConstant(listOf( + ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + name = "pH" + int64Value = 0 + argIndex = 4 + }, + ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + name = "pW" + int64Value = 0 + argIndex = 5 + }, + ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + name = "dW" + int64Value = 1 + argIndex = 6 + }, + ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + name = "dH" + int64Value = 1 + argIndex = 7 + }, + ArgDescriptor { + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + name = "extraParam0" + int64Value = 0 + argIndex = 9 + } + )) + ) +) + +val avgPool3d = TensorflowMappingProcess( + inputFrameworkOpName = "AvgPool3D", + opName = "avgpool3dnew", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf( + intConstant(inputName = "extraParam0",constantValue = 0 ,argumentIndex = 13)[0], + intConstant(inputName = "pD",constantValue = 0 ,argumentIndex = 6)[0], + intConstant(inputName = "pH",constantValue = 0 ,argumentIndex = 7)[0], + intConstant(inputName = "pW",constantValue = 0 ,argumentIndex = 8)[0], + intConstant(inputName = "dD",constantValue = 1 ,argumentIndex = 9)[0], + intConstant(inputName = "dH",constantValue = 1 ,argumentIndex = 10)[0], + intConstant(inputName = "dW",constantValue = 1 ,argumentIndex = 11)[0], + stringEqualsRule(outputAttribute = "isNCDHW",inputFrameworkAttributeName = "data_format",valueToTest = "NDHWC",argumentIndex = 14), + stringEqualsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "padding",valueToTest = "SAME",argumentIndex = 12), + listAttributeValueLookupToIndex(outputAttributeValue = "kH",inputAttributeValue = "ksize",idx = 3,argumentIndex = 2), + listAttributeValueLookupToIndex(outputAttributeValue = "kW",inputAttributeValue = "ksize",idx = 2,argumentIndex = 1), + listAttributeValueLookupToIndex(outputAttributeValue = "kD",inputAttributeValue = "ksize",idx = 1,argumentIndex = 0), + listAttributeValueLookupToIndex(outputAttributeValue = "sH",inputAttributeValue = "strides",idx = 3,argumentIndex = 5), + listAttributeValueLookupToIndex(outputAttributeValue = "sW",inputAttributeValue = "strides",idx = 2,argumentIndex = 4), + listAttributeValueLookupToIndex(outputAttributeValue = "sD",inputAttributeValue = "strides",idx = 1,argumentIndex = 3), + ) +) + +val batchToSpace = TensorflowMappingProcess( + opName = "batch_to_space", + inputFrameworkOpName = "BatchToSpace", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf(valueMapping(mapOf("blockSize" to "block_size"))), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input","crop" to "crops"))) +) + +val batchToSpaceND = TensorflowMappingProcess( + opName = "batch_to_space_nd", + inputFrameworkOpName = "BatchToSpaceND", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf(ndarrayToIntList(mutableMapOf("blocks" to "block_shape")), + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0]), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input","crop" to "crops","blockShape" to "block_shape"))) +) + +val betaInc = TensorflowMappingProcess( + opName = "betainc", + inputFrameworkOpName = "Betainc", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("a" to "a","b" to "b","input" to "x"))), + attributeMappingRules = emptyList() +) + +val biasAddResult = defineBiasAdd(tensorflowOpRegistry = tensorflowOpRegistry) + +val binCount = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + opName = "bincount", + inputFrameworkOpName = "Bincount", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("weights" to "weights","values" to "arr"))), + attributeMappingRules = listOf( + argDescriptorConstant(listOf( + ArgDescriptor { + name = "minLength" + argIndex = 0 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + int64Value = 0 + } + )), + convertNDArrayInputToNumericalAttr(mutableMapOf("maxLength" to "size")), + valueMapping(mutableMapOf("outputType" to "T"))), + inputIndexOverrides = mapOf(1 to 2,2 to 1)) + + +val bitCast = TensorflowMappingProcess( + opName = "bitcast", + opMappingRegistry = tensorflowOpRegistry, + inputFrameworkOpName = "Bitcast", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf(dataTypeToInt(mutableMapOf("newType" to "type")), valueMapping(mutableMapOf("dataType" to "type"))) +) + +val bitwiseAnd = TensorflowMappingProcess( + opName = "bitwise_and", + opMappingRegistry = tensorflowOpRegistry, + inputFrameworkOpName = "BitwiseAnd", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x","y" to "y"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0) +) + +val bitwiseOr = TensorflowMappingProcess( + opName = "bitwise_or", + opMappingRegistry = tensorflowOpRegistry, + inputFrameworkOpName = "BitwiseOr", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x","y" to "y"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0) +) + + + +val bitwiseXOr = TensorflowMappingProcess( + opName = "bitwise_xor", + opMappingRegistry = tensorflowOpRegistry, + inputFrameworkOpName = "BitwiseXor", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x","y" to "y"))), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0) +) + +val broadcastDynamicShape = TensorflowMappingProcess( + opName = "broadcast_dynamic_shape", + opMappingRegistry = tensorflowOpRegistry, + inputFrameworkOpName = "BroadcastArgs", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "s0","y" to "s1"))) +) + +//TODO: not implemented yet + +/*val broadcastCatGradientArgs = TensorflowMappingProcess( + opName = "broadcastgradientargs", + inputFrameworkOpName = "BroadcastGradientArgs", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf(booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0], + intConstant(inputName = "dimension",constantValue = 0 ,argumentIndex = 0)[0]), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "s0","y" to "s1"))) +)*/ + +val broadcastTo = TensorflowMappingProcess( + opName = "broadcast_to", + inputFrameworkOpName = "BroadcastTo", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input","shape" to "shape"))) +) + + +val copy2 = multipleNameMapping( + inputFrameworkOpNames = listOf("Copy"), + opName = "copy", + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + tensorNames = mutableMapOf("input" to "input") + ,tensorflowOpRegistry = tensorflowOpRegistry +) + +val checkNumerics = TensorflowMappingProcess( + opName = "check_numerics", + inputFrameworkOpName = "CheckNumerics", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf(convertStringToInputNDArray(mutableMapOf("message" to "message"))), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "tensor"))) +) + +//only exists in tf2, tf-java can't run it + +val checkNumericsV2 = TensorflowMappingProcess( + opName = "check_numerics", + inputFrameworkOpName = "CheckNumericsV2", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf(convertStringToInputNDArray(mutableMapOf("message" to "message"))), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "tensor"))) +) + + +val variable = mapTensorNamesWithOp(inputFrameworkOpName = "Variable", + opName = "identity", + tensorNames = mutableMapOf(), + attributeMappingRules = listOf( + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0], + valueMapping(mutableMapOf("dataType" to "dtype"))) + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val variableV2 = mapTensorNamesWithOp(inputFrameworkOpName = "VariableV2", + opName = "identity", + tensorNames = mutableMapOf(), + attributeMappingRules = listOf( + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0], + valueMapping(mutableMapOf("dataType" to "dtype"))) + ,tensorflowOpRegistry = tensorflowOpRegistry) + + + +val identity2 = mapTensorNamesWithOp(inputFrameworkOpName = "Identity", + opName = "identity", + tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = listOf( + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0], + valueMapping(mutableMapOf("dataType" to "T"))) + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val const = mapTensorNamesWithOp(inputFrameworkOpName = "Const", + opName = "identity", + tensorNames = mutableMapOf(), + attributeMappingRules = listOf(ndArrayAttributeToNDarrayInput(mutableMapOf("input" to "value")), + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0] + ,valueMapping(mutableMapOf("dataType" to "dtype"))) + ,tensorflowOpRegistry = tensorflowOpRegistry) + + +val cholesky = TensorflowMappingProcess( + opName = "cholesky", + inputFrameworkOpName = "Cholesky", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = mapSameName(listOf("input")) +) + + +val clipByValue = TensorflowMappingProcess( + opName = "ClipByValue", + opMappingRegistry = tensorflowOpRegistry, + inputFrameworkOpName = "ClipByValue", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "t"))), + attributeMappingRules = listOf( + convertNDArrayInputToNumericalAttr(mutableMapOf("clipValueMin" to "clip_value_min","clipValueMax" to "clip_value_max")), + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0]) +) + + +//TODO: our compare and bit pack operation seems to do something different than TFs? +/* +val compareAndBitPack = TensorflowMappingProcess( + opName = "compare_and_bitpack", + opMappingRegistry = tensorflowOpRegistry, + inputFrameworkOpName = "CompareAndBitpack", + attributeMappingRules = listOf(convertNDArrayInputToNumericalAttr(mutableMapOf("threshold" to "threshold"))), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input","y" to "threshold"))) +) +*/ + + +val concat = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + opName = "concat", + inputFrameworkOpName = "Concat", + tensorMappingRules = listOf(mappingListNDArrays(mutableMapOf("input" to "values","concatDimension" to "concat_dim"))), + attributeMappingRules = listOf(convertNDArrayInputToNumericalAttr(mutableMapOf("concatDimension" to "concat_dim")), + booleanConstant(inputName = "isDynamicAxis",constantValue = true,argumentIndex = 0)[0],valueMapping(mutableMapOf("dtype" to "T"))) +) + +val parallelConcat = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + opName = "concat", + inputFrameworkOpName = "ParallelConcat", + tensorMappingRules = listOf(mappingListNDArrays(mutableMapOf("input" to "values"))), + attributeMappingRules = listOf( + booleanConstant(inputName = "isDynamicAxis",constantValue = false,argumentIndex = 0)[0] + ,valueMapping(mutableMapOf("dtype" to "T")), + intConstant(inputName = "concatDimension",constantValue = 0,argumentIndex = 0)[0]) +) + +val tensorArrayV3 = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + opName = "tensorarrayv3", + inputFrameworkOpName = "TensorArrayV3", + tensorMappingRules = listOf(), + attributeMappingRules = listOf(dataTypeToInt(mutableMapOf("dataType" to "dtype"))) +) + + +val mergeadd = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + opName = "mergeadd", + inputFrameworkOpName = "AccumulateNV2", + tensorMappingRules = listOf(mappingListNDArrays(mutableMapOf("inArrs" to "inputs"))), + attributeMappingRules = listOf( booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0])) + +/** + * Note that dynamic axis being true here is important. + * The concat op in tensorflow may find constant nodes + * that have an axis specified. When that's the case, + * if dynamic axis is false, it will cause a serialization issue + * where an input in to a concat op that may appear in the serialization + * may not appear when reloaded. This breaks a ton of tests. + * This is related to any getInputsForOp() call on any given variable. + * + */ +val mergeAdd = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + opName = "concat", + inputFrameworkOpName = "ConcatV2", + tensorMappingRules = listOf(mappingListNDArrays(mutableMapOf("input" to "values","concatDimension" to "axis"))), + attributeMappingRules = listOf(convertNDArrayInputToNumericalAttr(mutableMapOf("concatDimension" to "axis")), + booleanConstant(inputName = "isDynamicAxis",constantValue = true,argumentIndex = 0)[0])) + + +/*val parallelConcat = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + opName = "concat", + inputFrameworkOpName = "ParallelConcat", + tensorMappingRules = listOf(mappingListNDArrays(mutableMapOf("input" to "values"))), + attributeMappingRules = listOf( + intConstant(inputName = "concatDimension",constantValue = 0 ,argumentIndex = 0)[0], + booleanConstant(inputName = "isDynamicAxis",constantValue = true,argumentIndex = 0)[0]) +)*/ + +//TODO Reference ImportClassMapping.java +//TODO: ParallelDynamicStitch, map to dynamic stitch +//TODO: PollyGamma, map to pairwise transforms +//TODO: map QR + +val cropAndResize = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + opName = "crop_and_resize", + inputFrameworkOpName = "CropAndResize", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf( + "image" to "image", + "boxes" to "boxes", + "boxIndexes" to "box_ind", + "newImageSize" to "crop_size"))), + attributeMappingRules = listOf( + ndarrayStringToIndex(outputAttributeValue = "method",inputAttributeValue = "method",listOfValues = listOf("bilinear","nearest"),argumentIndex = 0), + valueMapping(mapOf("extrapolationVal" to "extrapolation_value"))) +) + +val cumProd = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + opName = "cumprod", + inputFrameworkOpName = "Cumprod", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x","dimensions" to "axis"))), + attributeMappingRules = listOf(invertBooleanNumber(mutableMapOf("exclusive" to "exclusive","reverse" to "reverse")))) + + + + +val cumSum = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + opName = "cumsum", + inputFrameworkOpName = "Cumsum", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x","dimensions" to "axis"))), + attributeMappingRules = listOf( + invertBooleanNumber(mutableMapOf("exclusive" to "exclusive", + "reverse" to "reverse")))) + + + + +val cross = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + opName = "cross", + inputFrameworkOpName = "Cross", + tensorMappingRules = mapSameName(listOf("a","b")) +) + +val depthToSpace = TensorflowMappingProcess( + opName = "depth_to_space", + inputFrameworkOpName = "DepthToSpace", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf(valueMapping(mapOf("block_size" to "block_size")), + stringEqualsRule("isNHWC" + ,inputFrameworkAttributeName = "data_format",valueToTest = "NHWC",argumentIndex = 1)), + opMappingRegistry = tensorflowOpRegistry +) + +/** + * depth_conv + */ +val depthWiseConv2d = TensorflowMappingProcess( + opName = "depthwise_conv2d", + inputFrameworkOpName = "DepthwiseConv2dNative", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf( + "input" to "input","weights" to "filter"))), + attributeMappingRules = listOf( + stringNotEqualsRule(outputAttribute = "isNCHW",inputFrameworkAttributeName = "data_format",valueToTest = "NCHW",argumentIndex = 9), + stringEqualsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "padding",valueToTest = "SAME",argumentIndex = 8), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sH", attributeNameOfListAttribute = "strides", targetValue = "NCHW", trueIndex = 2, + falseIndex = 1,inputFrameworkStringNameToTest = "data_format",argumentIndex = 2), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sW", attributeNameOfListAttribute = "strides", targetValue = "NCHW", trueIndex = 3, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 3), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "dH", attributeNameOfListAttribute = "dilations", targetValue = "NCHW", trueIndex = 2, + falseIndex = 1,inputFrameworkStringNameToTest = "data_format",argumentIndex = 6), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "dW", attributeNameOfListAttribute = "dilations", targetValue = "NCHW", trueIndex = 3, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 7), + //NOTE: This is a dynamically resolved attribute at runtime. + sizeAtRule(outputAttributeName = "kH",dimensionIndex = 0,inputFrameworkAttributeName = "filter",argumentIndex = 0), + sizeAtRule(outputAttributeName = "kW",dimensionIndex = 1,inputFrameworkAttributeName = "filter",argumentIndex = 1), + argDescriptorConstant(listOf( + ArgDescriptor { + name = "pH" + int64Value = 0 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + argIndex = 4 + }, + ArgDescriptor { + name = "pW" + int64Value = 0 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + argIndex = 5 + }, + ArgDescriptor { + name = "wFormat" + int64Value = 0 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + argIndex = 10 + } + ))) +) + + +val diag = TensorflowMappingProcess( + inputFrameworkOpName = "Diag", + opName = "diag", + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "diagonal"))), + opMappingRegistry = tensorflowOpRegistry +) + + +val diagPart = TensorflowMappingProcess( + inputFrameworkOpName = "DiagPart", + opName = "diag_part", + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + opMappingRegistry = tensorflowOpRegistry +) + +val lGamma = TensorflowMappingProcess( + inputFrameworkOpName = "Lgamma", + opName = "lgamma", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x"))), + opMappingRegistry = tensorflowOpRegistry +) + + +val diGamma = TensorflowMappingProcess( + inputFrameworkOpName = "Digamma", + opName = "digamma", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x"))), + opMappingRegistry = tensorflowOpRegistry +) + +val iGamma = TensorflowMappingProcess( + inputFrameworkOpName = "Igamma", + opName = "igamma", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "a","y" to "x"))), + opMappingRegistry = tensorflowOpRegistry +) + + + +val iGammaC = TensorflowMappingProcess( + inputFrameworkOpName = "Igammac", + opName = "igammac", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "a","y" to "x"))), + opMappingRegistry = tensorflowOpRegistry +) + +val dilation2D = TensorflowMappingProcess( + opName = "dilation2d", + inputFrameworkOpName = "Dilation2D", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf( + "input" to "input","weights" to "filter"))), + attributeMappingRules = listOf( + stringEqualsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "padding",valueToTest = "SAME",argumentIndex = 0), + listNumberToListNumber(outputAttributeValue = "rates",inputAttributeValue = "rates"), + listNumberToListNumber(outputAttributeValue = "strides", + inputAttributeValue = "strides")) +) + +val drawBoundingBoxes = TensorflowMappingProcess( + inputFrameworkOpName = "DrawBoundingBoxesV2", + inputFramework = "tensorflow", + opName = "draw_bounding_boxes", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("images" to "images","boxes" to "boxes","colors" to "colors"))) +) + + +/** + * Note: -1 means dynamically resolved. + */ +val conv2d = TensorflowMappingProcess( + inputFrameworkOpName = "Conv2D", + opName = "conv2d", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf( + "input" to "input","weights" to "filter"))), + attributeMappingRules = listOf( + intConstant(inputName = "pH",constantValue = 0 ,argumentIndex = 4)[0], + intConstant(inputName = "pW",constantValue = 0 ,argumentIndex = 5)[0], + intConstant(inputName = "wFormat",constantValue = 0 ,argumentIndex = 10)[0], + stringNotEqualsRule(outputAttribute = "isNCHW",inputFrameworkAttributeName = "data_format",valueToTest = "NCHW",argumentIndex = 9), + stringEqualsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "padding",valueToTest = "SAME",argumentIndex = 8), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sH", attributeNameOfListAttribute = "strides", targetValue = "NCHW", trueIndex = 2, + falseIndex = 1,inputFrameworkStringNameToTest = "data_format",argumentIndex = 2), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sW", attributeNameOfListAttribute = "strides", targetValue = "NCHW", trueIndex = 3, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 3), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "dH", attributeNameOfListAttribute = "dilations", targetValue = "NCHW", trueIndex = 2, + falseIndex = 1,inputFrameworkStringNameToTest = "data_format",argumentIndex = 6), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "dW", attributeNameOfListAttribute = "dilations", targetValue = "NCHW", trueIndex = 3, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 7), + //NOTE: This is a dynamically resolved attribute at runtime. + intConstant(inputName = "kH",constantValue = -1,argumentIndex = 0)[0], + intConstant(inputName = "kW",constantValue = -1,argumentIndex = 1)[0] + ),opMappingRegistry = tensorflowOpRegistry) + +/** + * Note: -1 means dynamically resolved. + */ +val deconv2d = TensorflowMappingProcess( + inputFrameworkOpName = "Conv2DBackpropInput", + opName = "deconv2d_tf", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf( + "gradIShape" to "input_sizes","weights" to "filter"))), + attributeMappingRules = listOf( + intConstant(inputName = "pH",constantValue = 0 ,argumentIndex = 4)[0], + intConstant(inputName = "pW",constantValue = 0 ,argumentIndex = 5)[0], + intConstant(inputName = "wFormat",constantValue = 0 ,argumentIndex = 10)[0], + stringNotEqualsRule(outputAttribute = "isNCHW",inputFrameworkAttributeName = "data_format",valueToTest = "NCHW",argumentIndex = 9), + stringEqualsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "padding",valueToTest = "SAME",argumentIndex = 8), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sH", attributeNameOfListAttribute = "strides", targetValue = "NCHW", trueIndex = 2, + falseIndex = 1,inputFrameworkStringNameToTest = "data_format",argumentIndex = 2), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sW", attributeNameOfListAttribute = "strides", targetValue = "NCHW", trueIndex = 3, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 3), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "dH", attributeNameOfListAttribute = "dilations", targetValue = "NCHW", trueIndex = 2, + falseIndex = 1,inputFrameworkStringNameToTest = "data_format",argumentIndex = 6), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "dW", attributeNameOfListAttribute = "dilations", targetValue = "NCHW", trueIndex = 3, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 7), + //NOTE: This is a dynamically resolved attribute at runtime. + intConstant(inputName = "kH",constantValue = -1,argumentIndex = 0)[0], + intConstant(inputName = "kW",constantValue = -1,argumentIndex = 1)[0] + ),opMappingRegistry = tensorflowOpRegistry) + + +/** + * Note: -1 means dynamically resolved. + */ +val conv3d = TensorflowMappingProcess( + inputFrameworkOpName = "Conv3D", + opName = "conv3dnew", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf( + "input" to "input","weights" to "filter"))), + attributeMappingRules = listOf( + stringEqualsRule(outputAttribute = "isNCDHW",inputFrameworkAttributeName = "data_format",valueToTest = "NDHWC",argumentIndex = 13), + stringEqualsRule(outputAttribute = "paddingMode",inputFrameworkAttributeName = "padding",valueToTest = "SAME",argumentIndex = 12), + sizeAtRule(dimensionIndex = 0,"kD",inputFrameworkAttributeName = "filter",argumentIndex = 0), + sizeAtRule(dimensionIndex = 1,"kH",inputFrameworkAttributeName = "filter",argumentIndex = 1), + sizeAtRule(dimensionIndex = 2,"kW",inputFrameworkAttributeName = "filter",argumentIndex = 2), + listAttributeValueLookupToIndex(outputAttributeValue = "sD",inputAttributeValue = "strides",idx = 1,argumentIndex = 3), + listAttributeValueLookupToIndex(outputAttributeValue = "sH",inputAttributeValue = "strides",idx = 2,argumentIndex = 4), + listAttributeValueLookupToIndex(outputAttributeValue = "sW",inputAttributeValue = "strides",idx = 3,argumentIndex = 5), + intConstant(inputName = "pH",constantValue = 0 ,argumentIndex = 7)[0], + intConstant(inputName = "pW",constantValue = 0 ,argumentIndex = 8)[0], + intConstant(inputName = "pW",constantValue = 0 ,argumentIndex = 6)[0], + listAttributeValueLookupToIndex(outputAttributeValue = "dH",inputAttributeValue = "dilations",idx = 3,argumentIndex = 11), + listAttributeValueLookupToIndex(outputAttributeValue = "dW",inputAttributeValue = "dilations",idx = 2,argumentIndex = 10), + listAttributeValueLookupToIndex(outputAttributeValue = "dD",inputAttributeValue = "dilations",idx = 1,argumentIndex = 9), + ),opMappingRegistry = tensorflowOpRegistry) + + + + +val divideNoNan = TensorflowMappingProcess( + opName = "divide_no_nan", + inputFrameworkOpName = "DivNoNan", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x","y" to "y"))), + opMappingRegistry = tensorflowOpRegistry +) + +val dynamicPartition = TensorflowMappingProcess( + opName = "dynamic_partition", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data","indices" to "partitions"))), + inputFrameworkOpName = "DynamicPartition", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf(valueMapping(mapOf("numPartitions" to "num_partitions"))) +) + + + +val dynamicStitch = TensorflowMappingProcess( + opName = "dynamic_stitch", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("index" to "data","input" to "indices"))), + attributeMappingRules = listOf(valueMapping(mutableMapOf("numPartitions" to "N"))), + inputFrameworkOpName = "DynamicStitch", + opMappingRegistry = tensorflowOpRegistry +) +//ParallelDynamicStitch +val parallelDynamicStitch = TensorflowMappingProcess( + opName = "dynamic_stitch", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("index" to "data","input" to "indices"))), + attributeMappingRules = listOf(valueMapping(mutableMapOf("numPartitions" to "N"))), + inputFrameworkOpName = "ParallelDynamicStitch", + opMappingRegistry = tensorflowOpRegistry +) + +val empty = TensorflowMappingProcess( + opName = "create", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "shape"))), + inputFrameworkOpName = "Empty", + attributeMappingRules = listOf(valueMapping(mapOf("init" to "init","outputType" to "dtype")), + dataTypeToInt(mutableMapOf("outputType" to "dtype")), + intConstant(inputName = "order",constantValue = 'c'.toInt() ,argumentIndex = 0)[0]), + opMappingRegistry = tensorflowOpRegistry +) + +val cast = TensorflowMappingProcess( + opName = "cast", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x"))), + inputFrameworkOpName = "Cast", + attributeMappingRules = listOf( + valueMapping(mutableMapOf("dtype" to "DstT")), + dataTypeToInt(mutableMapOf("dst" to "DstT"))), + opMappingRegistry = tensorflowOpRegistry +) + + +val elu = mapTensorNamesWithOp(inputFrameworkOpName = "Elu",opName = "elu",tensorNames = mutableMapOf("input" to "features"), + attributeMappingRules = listOf(argDescriptorConstant( + listOf( + ArgDescriptor { + name = "alpha" + doubleValue = 1.0 + argType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + argIndex = 0 + } + ) + )) + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val enter = TensorflowMappingProcess( + opName = "enter", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + inputFrameworkOpName = "Enter", + attributeMappingRules = listOf(valueMapping(mapOf("isConstant" to "is_constant","frameName" to "frame_name"))), + opMappingRegistry = tensorflowOpRegistry +) + +val equal = TensorflowMappingProcess( + opName = "equals", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x","y" to "y"))), + inputFrameworkOpName = "Equal", + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + opMappingRegistry = tensorflowOpRegistry +) + +val approxEqual = TensorflowMappingProcess( + opName = "equals", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x","y" to "y"))), + inputFrameworkOpName = "ApproximateEqual", + attributeMappingRules = listOf(booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0]), + opMappingRegistry = tensorflowOpRegistry +) + +val exit = TensorflowMappingProcess( + opName = "exit", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data"))), + inputFrameworkOpName = "Exit", + opMappingRegistry = tensorflowOpRegistry +) + +val expandDims = TensorflowMappingProcess( + opName = "expand_dims", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + inputFrameworkOpName = "ExpandDims", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf(ndarrayToIntList(ndarrayNameToAttributeName = mutableMapOf("dimensions" to "dim")) + )) + +val extractImagesPatches = TensorflowMappingProcess( + opName = "extract_image_patches", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "images"))), + inputFrameworkOpName = "ExtractImagePatches", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf( + listAttributeValueLookupToIndex(outputAttributeValue = "ksizeRows",inputAttributeValue = "ksizes",idx = 1,argumentIndex = 0), + listAttributeValueLookupToIndex(outputAttributeValue = "ksizeCols",inputAttributeValue = "ksizes",idx = 2,argumentIndex = 1), + listAttributeValueLookupToIndex(outputAttributeValue = "kstrideRows",inputAttributeValue = "strides",idx = 1,argumentIndex = 2), + listAttributeValueLookupToIndex(outputAttributeValue = "kstrideCols",inputAttributeValue = "strides",idx = 2,argumentIndex = 3), + listAttributeValueLookupToIndex(outputAttributeValue = "krateRows",inputAttributeValue = "rates",idx = 1,argumentIndex = 4), + listAttributeValueLookupToIndex(outputAttributeValue = "krateCols",inputAttributeValue = "rates",idx = 2,argumentIndex = 5), + stringEqualsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "padding",valueToTest = "SAME",argumentIndex = 0), + valueMapping(mutableMapOf("dtype" to "T"))) +) + + + +val fusedBatchnormV1 = TensorflowMappingProcess( + opName = "fused_batch_norm", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x","scale" to "scale", + "offset" to "offset","mean" to "mean","variance" to "variance"))), + inputFrameworkOpName = "FusedBatchNorm", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf(valueMapping(mutableMapOf("epsilon" to "epsilon")), + invertBooleanNumber(mutableMapOf("isTraining" to "is_training")), + stringEqualsRule(outputAttribute = "dataFormat",inputFrameworkAttributeName = "data_format",valueToTest = "NCHW",argumentIndex = 0)) +) + + + +val fusedBatchnormV2 = TensorflowMappingProcess( + opName = "fused_batch_norm", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x","scale" to "scale", + "offset" to "offset","mean" to "mean","variance" to "variance"))), + inputFrameworkOpName = "FusedBatchNormV2", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf(valueMapping(mutableMapOf("epsilon" to "epsilon")), + invertBooleanNumber(mutableMapOf("isTraining" to "is_training")), + stringEqualsRule(outputAttribute = "dataFormat",inputFrameworkAttributeName = "data_format",valueToTest = "NCHW",argumentIndex = 0)) +) + +//tf2 op +val fusedBatchnormV3 = TensorflowMappingProcess( + opName = "fused_batch_norm", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x","scale" to "scale", + "offset" to "offset","mean" to "mean","variance" to "variance"))), + inputFrameworkOpName = "FusedBatchNormV3", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf(valueMapping(mutableMapOf("epsilon" to "epsilon")), + invertBooleanNumber(mutableMapOf("isTraining" to "is_training")), + stringEqualsRule(outputAttribute = "dataFormat",inputFrameworkAttributeName = "data_format",valueToTest = "NCHW",argumentIndex = 0)) +) + + + +val gather = TensorflowMappingProcess( + opName = "gather", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "params","indices" to "indices"))), + attributeMappingRules = listOf(ndarrayToIntList(mutableMapOf()), + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0], + intConstant(inputName = "dimensions",constantValue = 0 ,argumentIndex = 0)[0]), + inputFrameworkOpName = "Gather", + opMappingRegistry = tensorflowOpRegistry +) + +val gatherV2 = TensorflowMappingProcess( + opName = "gather", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "params","indices" to "indices"))), + attributeMappingRules = listOf( + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0], + ndarrayToIntList(mutableMapOf("dimensions" to "axis"))), + inputFrameworkOpName = "GatherV2", + opMappingRegistry = tensorflowOpRegistry +) + +val gatherNd = TensorflowMappingProcess( + opName = "gather_nd", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "params","indices" to "indices"))), + attributeMappingRules = listOf(ndarrayToIntList(mutableMapOf()), + booleanConstant(inputName = "checkIndices",constantValue = false,argumentIndex = 0)[0]), + inputFrameworkOpName = "GatherNd", + opMappingRegistry = tensorflowOpRegistry +) + +val histogramFixedWidth = TensorflowMappingProcess( + opName = "histogram_fixed_width", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "values","range" to "value_range","numBins" to "nbins"))), + inputFrameworkOpName = "HistogramFixedWidth", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf(ndarrayToIntList(mutableMapOf("nbins" to "nbins"))) +) + +val identity = multipleNameMapping( + opName = "identity", + inputFrameworkOpNames = listOf("DeepCopy"), + tensorNames = mutableMapOf("input" to "x"), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0) + ,tensorflowOpRegistry = tensorflowOpRegistry) + + +val identityCopyToHost = multipleNameMapping( + opName = "identity", + inputFrameworkOpNames = listOf("CopyHost"), + tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + tensorflowOpRegistry = tensorflowOpRegistry) + +val identityN = TensorflowMappingProcess( + opName = "identity_n", + inputFrameworkOpName = "IdentityN", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))) +) + +val ifOp = TensorflowMappingProcess( + opName = "switch", + inputFrameworkOpName = "If", + attributeMappingRules = listOf(), + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input","predicate" to "cond"))) +) + +val switchOp = TensorflowMappingProcess( + opName = "switch", + inputFrameworkOpName = "Switch", + attributeMappingRules = listOf(), + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "data","predicate" to "pred"))) +) + +val fill = TensorflowMappingProcess( + opName = "fill", + inputFrameworkOpName = "Fill", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf(convertNDArrayInputToNumericalAttr(mutableMapOf("value" to "value")), + dataTypeToInt(mutableMapOf("dtype" to "T")), + valueMapping(mutableMapOf("dtype" to "T"))), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("shapeArray" to "dims"))) +) + + +val reciprocal = TensorflowMappingProcess( + opName = "Reciprocal", + inputFrameworkOpName = "Inv", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x"))) +) + +val reciprocal2 = TensorflowMappingProcess( + opName = "Reciprocal", + inputFrameworkOpName = "Reciprocal", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "x"))) +) + + +val inTopKResults = multipleNameMapping(inputFrameworkOpNames = listOf("InTopK"), + opName = "in_top_k", + tensorNames = mutableMapOf("target" to "targets","predictions" to "predictions"), + attributeMappingRules = listOf(valueMapping(mutableMapOf("k" to "k")), + booleanConstant(inputName = "sorted",constantValue = true,argumentIndex = 0)[0]) + ,tensorflowOpRegistry = tensorflowOpRegistry) + + +val inTopKResults2 = multipleNameMapping(inputFrameworkOpNames = listOf("InTopKV2"), + opName = "in_top_k", + tensorNames = mutableMapOf("target" to "targets","predictions" to "predictions"), + attributeMappingRules = listOf(ndarrayToIntList(mutableMapOf("k" to "k")), + booleanConstant(inputName = "sorted",constantValue = true,argumentIndex = 0)[0]) + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val invert = mapTensorNamesWithOp(inputFrameworkOpName = "Invert",opName = "toggle_bits" + ,tensorNames = mutableMapOf("input" to "x") + ,tensorflowOpRegistry = tensorflowOpRegistry) +val invertPermutation = mapTensorNamesWithOp(inputFrameworkOpName = "InvertPermutation", + opName = "invert_permutation",tensorNames = mutableMapOf("input" to "x"), + attributeMappingRules = listOf(booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0], + valueMapping(mutableMapOf("dataType" to "T"))) + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val isFinite = mapTensorNamesWithOp(inputFrameworkOpName = "IsFinite",opName = "isfinite" + ,tensorNames = mutableMapOf("input" to "x"), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0) + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val isInf = mapTensorNamesWithOp(inputFrameworkOpName = "IsInf",opName = "isinf", + tensorNames = mutableMapOf("input" to "x"), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0) + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val isNan = mapTensorNamesWithOp(inputFrameworkOpName = "IsNan",opName = "isnan", + tensorNames = mutableMapOf("input" to "x"),attributeMappingRules = booleanConstant(inputName = "inPlace" + ,constantValue = false,argumentIndex = 0) + ,tensorflowOpRegistry = tensorflowOpRegistry) + +//TODO: weird parameter values with config.getBias( and other similar names +val lrn = mapTensorNamesWithOp(inputFrameworkOpName = "LRN",opName = "lrn", + tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = listOf(valueMapping(mutableMapOf("depth" to "depth_radius","alpha" to "alpha", + "bias" to "bias","beta" to "beta")), + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0]) + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val leakyRelu = mapTensorNamesWithOp(inputFrameworkOpName = "LeakyRelu",opName = "leakyrelu", + attributeMappingRules = listOf(valueMapping(mappings = mutableMapOf("alpha" to "alpha"))), + tensorNames = mutableMapOf("input" to "features"),tensorflowOpRegistry = tensorflowOpRegistry) +//TODO: no input values found +val leftShift = mapTensorNamesWithOp(inputFrameworkOpName = "LeftShift",opName = "shift_bits", + tensorNames = mutableMapOf("input" to "x","y" to "y"), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0) + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val linspace = mapTensorNamesWithOp(inputFrameworkOpName = "LinSpace",opName = "lin_space", + tensorNames = mutableMapOf("start" to "start","finish" to "stop","numOfElements" to "num"), + attributeMappingRules = listOf( + convertNDArrayInputToNumericalAttr(mutableMapOf( + "start" to "start", + "stop" to "stop")), + valueMapping(mutableMapOf("dataType" to "T")) + ),tensorflowOpRegistry = tensorflowOpRegistry) + +//0=tanh, 1=relu, 2=sigmoid, 3=affine, 4=leaky relu, 5= thresholded relu, 6=scaled tanh, 7=hard sigmoid, 8=ELU, 9=softsign, 10=softplus + +val lstmActivationMap = mapOf( + "Relu" to 1, + "Tanh" to 0, + "Sigmoid" to 2, + "Affine" to 3, + "LeakyRelu" to 4, + "ThresholdedRelu" to 5, + "ScaledTanh" to 6, + "HardSigmoid" to 7, + "Elu" to 8, + "Softsign" to 9, + "Softplus" to 10 +) + +val lstmBlock = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + inputFrameworkOpName = "BlockLSTM", + opName = "lstmBlock", + tensorMappingRules = listOf( + mappingNDArrayInputs(mutableMapOf( + "maxTSLength" to "seq_len_max", + "input" to "x", + "cLast" to "cs_prev", + "yLast" to "h_prev", + "W" to "w", + "Wci" to "wci", + "Wcf" to "wcf", + "Wco" to "wco", + "b" to "b")) + ), + attributeMappingRules = listOf( + valueMapping(mutableMapOf("forgetBias" to "forget_bias","clippingCellValue" to "cell_clip")), + invertBooleanNumber(mutableMapOf("peephole" to "use_peephole")), + intConstant(inputName = "dataFormat",constantValue = 0 ,argumentIndex = 0)[0]) +) + +val lstmBlockV2 = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + inputFrameworkOpName = "BlockLSTMV2", + opName = "lstmBlock", + tensorMappingRules = listOf( + mappingNDArrayInputs(mutableMapOf( + "maxTSLength" to "seq_len_max", + "input" to "x", + "cLast" to "cs_prev", + "yLast" to "h_prev", + "W" to "w", + "Wci" to "wci", + "Wcf" to "wcf", + "Wco" to "wco", + "b" to "b")) + ), + attributeMappingRules = listOf( + valueMapping(mutableMapOf("clippingCellValue" to "cell_clip")), + invertBooleanNumber(mutableMapOf("peephole" to "use_peephole")), + doubleConstant(inputName = "forgetBias",constantValue = 3.0,argumentIndex = 0)[0], + intConstant(inputName = "dataFormat",constantValue = 0 ,argumentIndex = 0)[0]) +) + +val lstmBlockCell = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + inputFrameworkOpName = "LSTMBlockCell", + opName = "lstmBlockCell", + tensorMappingRules = listOf( + mappingNDArrayInputs(mutableMapOf( + "xt" to "x", + "cLast" to "cs_prev", + "yLast" to "h_prev", + "W" to "w", + "Wci" to "wci", + "Wcf" to "wcf", + "Wco" to "wco", + "b" to "b")) + ), + attributeMappingRules = listOf( + valueMapping(mutableMapOf("forgetBias" to "forget_bias","clippingCellValue" to "cell_clip")), + invertBooleanNumber(mutableMapOf("peephole" to "use_peephole"))) +) + +val gruCell = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + inputFrameworkOpName = "GRUBlockCell", + opName = "gruCell", + tensorMappingRules = listOf( + mappingNDArrayInputs(mutableMapOf( + "input" to "x", + "hLast" to "h_prev", + "Wru" to "w_ru", + "Wc" to "w_c", + "bru" to "b_ru", + "bc" to "b_c")) + ) +) + +val listDiff = mapTensorNamesWithOp(inputFrameworkOpName = "ListDiff", + opName = "listdiff", + tensorNames = mutableMapOf("values" to "x","keep" to "y") + ,tensorflowOpRegistry = tensorflowOpRegistry) +val logMatrixDeterminant = mapTensorNamesWithOp( + inputFrameworkOpName = "LogMatrixDeterminant", + opName = "log_matrix_determinant", + tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0) + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val logicalAnd = mapTensorNamesWithOp(inputFrameworkOpName = "LogicalAnd",opName = "boolean_and",tensorNames = mutableMapOf("input" to "x","y" to "y") + ,tensorflowOpRegistry = tensorflowOpRegistry) +val logicalNot = mapTensorNamesWithOp(inputFrameworkOpName = "LogicalNot",opName = "boolean_not",tensorNames = mutableMapOf("input" to "x") + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val lu = mapTensorNamesWithOp(inputFrameworkOpName = "Lu",opName = "lu",tensorNames = mutableMapOf("input" to "input") + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val gemm = multipleNameMapping(inputFrameworkOpNames = listOf("MatMul"),opName = "matmul", + tensorNames = mutableMapOf("input" to "a","y" to "b"), + attributeMappingRules = + listOf(doubleConstant(inputName = "alpha",constantValue = 1.0,argumentIndex = 0)[0], + doubleConstant(inputName = "beta",constantValue = 0.0,argumentIndex = 1)[0], + invertBooleanNumber(mutableMapOf("transX" to "transpose_a","transY" to "transpose_b")), + intConstant(inputName = "transZ",constantValue = 0 ,argumentIndex = 2)[0]) + ,tensorflowOpRegistry = tensorflowOpRegistry +) + +val batchMatMul = multipleNameMapping(inputFrameworkOpNames = listOf("BatchMatMul"),opName = "matmul", + tensorNames = mutableMapOf("input" to "x","y" to "y"), + attributeMappingRules = + listOf(doubleConstant(inputName = "alpha",constantValue = 1.0,argumentIndex = 0)[0], + doubleConstant(inputName = "beta",constantValue = 1.0,argumentIndex = 1)[0], + invertBooleanNumber(mutableMapOf("transX" to "adj_x","transY" to "adj_y")), + intConstant(inputName = "transZ",constantValue = 0 ,argumentIndex = 2)[0]) + ,tensorflowOpRegistry = tensorflowOpRegistry +) + +val batchMatMulV2 = multipleNameMapping(inputFrameworkOpNames = listOf("BatchMatMulV2"),opName = "matmul", + tensorNames = mutableMapOf("input" to "x","y" to "y"), + attributeMappingRules = + listOf(doubleConstant(inputName = "alpha",constantValue = 1.0,argumentIndex = 0)[0], + doubleConstant(inputName = "beta",constantValue = 1.0,argumentIndex = 1)[0], + invertBooleanNumber(mutableMapOf("transX" to "adj_x","transY" to "adj_y")), + intConstant(inputName = "transZ",constantValue = 0 ,argumentIndex = 2)[0]) + ,tensorflowOpRegistry = tensorflowOpRegistry +) + +val matrixSetDiag = multipleNameMapping(inputFrameworkOpNames = listOf("MatrixSetDiag","BatchMatrixSetDiag"), + opName = "matrix_set_diag", + tensorNames = mutableMapOf("input" to "input","diagonal" to "diagonal"), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0) + ,tensorflowOpRegistry = tensorflowOpRegistry) +val matrixSetDiagPart = multipleNameMapping(inputFrameworkOpNames = listOf("MatrixDiagPart"), + opName = "matrix_diag_part", + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + tensorNames = mutableMapOf("input" to "input"),tensorflowOpRegistry = tensorflowOpRegistry) + + +val matrixDiag = multipleNameMapping(inputFrameworkOpNames = listOf("MatrixDiag"), + opName = "matrix_diag", + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + tensorNames = mutableMapOf("diagonal" to "diagonal"),tensorflowOpRegistry = tensorflowOpRegistry) + + +val matrixSolve = mapTensorNamesWithOp(inputFrameworkOpName = "MatrixSolve",opName = "solve" + ,tensorNames = mutableMapOf("a" to "matrix","b" to "rhs"), + attributeMappingRules = listOf(valueMapping(mapOf("useAdjoint" to "adjoint"))) + ,tensorflowOpRegistry = tensorflowOpRegistry) +val matrixTriangularSolve = mapTensorNamesWithOp(inputFrameworkOpName = "MatrixTriangularSolve" + ,opName = "triangular_solve",tensorNames = + mutableMapOf("a" to "matrix","b" to "rhs"), + attributeMappingRules = listOf(valueMapping(mapOf("useAdjoint" to "adjoint","isLower" to "lower"))), + tensorflowOpRegistry = tensorflowOpRegistry) + + +val matrixDeterminant = multipleNameMapping(inputFrameworkOpNames = listOf("BatchMatrixDeterminant","MatrixDeterminant") + ,opName = "matrix_determinant", + tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0) + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val minPairWise = mapTensorNamesWithOp(inputFrameworkOpName = "Minimum", + opName = "minimum", + tensorNames = mutableMapOf("input" to "x","y" to "y") + ,tensorflowOpRegistry = tensorflowOpRegistry) + + +val maxPool = multipleNameMapping( + inputFrameworkOpNames = listOf("MaxPool"), + opName = "maxpool2d", + tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = listOf( + intConstant(inputName = "pH",constantValue = 0 ,argumentIndex = 4)[0], + intConstant(inputName = "pW",constantValue = 0 ,argumentIndex = 5)[0], + intConstant(inputName = "dW",constantValue = 1 ,argumentIndex = 6)[0], + intConstant(inputName = "dH",constantValue = 1 ,argumentIndex = 7)[0], + intConstant(inputName = "extraParam0",constantValue = 1 ,argumentIndex = 9)[0], + stringNotEqualsRule(outputAttribute = "isNCHW",inputFrameworkAttributeName = "data_format",valueToTest = "NCHW",argumentIndex = 10), + stringEqualsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "padding",valueToTest = "SAME",argumentIndex = 8), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sH", attributeNameOfListAttribute = "strides", targetValue = "NCHW", trueIndex = 2, + falseIndex = 1,inputFrameworkStringNameToTest = "data_format",argumentIndex = 2), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "sW", attributeNameOfListAttribute = "strides", targetValue = "NCHW", trueIndex = 3, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 3), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "kH", attributeNameOfListAttribute = "ksize", targetValue = "NCHW", trueIndex = 2, + falseIndex = 1,inputFrameworkStringNameToTest = "data_format",argumentIndex = 0), + conditionalFieldValueIntIndexArrayRule(outputAttribute = "kW", attributeNameOfListAttribute = "ksize", targetValue = "NCHW", trueIndex = 3, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 1) + ) + ,tensorflowOpRegistry = tensorflowOpRegistry +) + +val maxPoolArgmax = multipleNameMapping( + inputFrameworkOpNames = listOf("MaxPoolWithArgmax"), + opName = "max_pool_with_argmax", + tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = listOf( + intConstant(inputName = "kH",constantValue = 1 ,argumentIndex = 0)[0], + intConstant(inputName = "kW",constantValue = 1 ,argumentIndex = 1)[0], + intConstant(inputName = "sH",constantValue = 1 ,argumentIndex = 2)[0], + intConstant(inputName = "sW",constantValue = 1 ,argumentIndex = 3)[0], + intConstant(inputName = "pH",constantValue = 1 ,argumentIndex = 4)[0], + intConstant(inputName = "pW",constantValue = 1 ,argumentIndex = 5)[0], + intConstant(inputName = "dH",constantValue = 1 ,argumentIndex = 6)[0], + intConstant(inputName = "dW",constantValue = 1 ,argumentIndex = 7)[0], + intConstant(inputName = "extraParam0",constantValue = 0 ,argumentIndex = 9)[0], + intConstant(inputName = "isNHWC",argumentIndex = 10,constantValue = 1 )[0], + intConstant(inputName = "sameMode",argumentIndex = 8,constantValue = 8 )[0], + ) + ,tensorflowOpRegistry = tensorflowOpRegistry +) + +val maxPoolV2 = multipleNameMapping( + inputFrameworkOpNames = listOf("MaxPoolV2"), + opName = "maxpool2d", + tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = listOf( + intConstant(inputName = "extraParam0",constantValue = 0 ,argumentIndex = 9)[0], + intConstant(inputName = "pH",constantValue = 0 ,argumentIndex = 4)[0], + intConstant(inputName = "pW",constantValue = 0 ,argumentIndex = 5)[0], + intConstant(inputName = "dW",constantValue = 1 ,argumentIndex = 6)[0], + intConstant(inputName = "dH",constantValue = 1 ,argumentIndex = 7)[0], + stringNotEqualsRule(outputAttribute = "isNCHW",inputFrameworkAttributeName = "data_format",valueToTest = "NCHW",argumentIndex = 10), + stringEqualsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "padding",valueToTest = "SAME",argumentIndex = 8), + conditionalFieldValueIntIndexNDArrayRule(outputAttribute = "sH", attributeNameOfListAttribute = "strides", targetValue = "NCHW", trueIndex = 2, + falseIndex = 1,inputFrameworkStringNameToTest = "data_format",argumentIndex = 2), + conditionalFieldValueIntIndexNDArrayRule(outputAttribute = "sW", attributeNameOfListAttribute = "strides", targetValue = "NCHW", trueIndex = 3, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 3), + conditionalFieldValueIntIndexNDArrayRule(outputAttribute = "kH", attributeNameOfListAttribute = "ksize", targetValue = "NCHW", trueIndex = 2, + falseIndex = 1,inputFrameworkStringNameToTest = "data_format",argumentIndex = 0), + conditionalFieldValueIntIndexNDArrayRule(outputAttribute = "kW", attributeNameOfListAttribute = "ksize", targetValue = "NCHW", trueIndex = 3, + falseIndex = 2,inputFrameworkStringNameToTest = "data_format",argumentIndex = 1) + ) + ,tensorflowOpRegistry = tensorflowOpRegistry +) + +val maxPool3d = TensorflowMappingProcess( + inputFrameworkOpName = "MaxPool3D", + opName = "maxpool3dnew", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf( + intConstant(inputName = "extraParam0",constantValue = 0 ,argumentIndex = 13)[0], + intConstant(inputName = "pD",constantValue = 0 ,argumentIndex = 6)[0], + intConstant(inputName = "pH",constantValue = 0 ,argumentIndex = 7)[0], + intConstant(inputName = "pW",constantValue = 0 ,argumentIndex = 8)[0], + intConstant(inputName = "dD",constantValue = 1 ,argumentIndex = 9)[0], + intConstant(inputName = "dH",constantValue = 1 ,argumentIndex = 10)[0], + intConstant(inputName = "dW",constantValue = 1 ,argumentIndex = 11)[0], + stringEqualsRule(outputAttribute = "isNCDHW",inputFrameworkAttributeName = "data_format",valueToTest = "NDHWC",argumentIndex = 14), + stringEqualsRule(outputAttribute = "isSameMode",inputFrameworkAttributeName = "padding",valueToTest = "SAME",argumentIndex = 12), + listAttributeValueLookupToIndex(outputAttributeValue = "kH",inputAttributeValue = "ksize",idx = 3,argumentIndex = 2), + listAttributeValueLookupToIndex(outputAttributeValue = "kW",inputAttributeValue = "ksize",idx = 2,argumentIndex = 1), + listAttributeValueLookupToIndex(outputAttributeValue = "kD",inputAttributeValue = "ksize",idx = 1,argumentIndex = 0), + listAttributeValueLookupToIndex(outputAttributeValue = "sH",inputAttributeValue = "strides",idx = 3,argumentIndex = 5), + listAttributeValueLookupToIndex(outputAttributeValue = "sW",inputAttributeValue = "strides",idx = 2,argumentIndex = 4), + listAttributeValueLookupToIndex(outputAttributeValue = "sD",inputAttributeValue = "strides",idx = 1,argumentIndex = 3), + ) +) + + +//TODO: Not likely correct. Need to figure out true mapping. Likely an implicit control flow op? +val loopCond = mapTensorNamesWithOp(inputFrameworkOpName = "LoopCond",opName = "loop_cond",tensorNames = mutableMapOf() + ,tensorflowOpRegistry = tensorflowOpRegistry) +val merge = mapTensorNamesWithOp(inputFrameworkOpName = "Merge",opName = "merge", + attributeMappingRules = listOf(), + + tensorNames = mutableMapOf("input" to "inputs") + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val mirrorPadding = mapTensorNamesWithOp(inputFrameworkOpName = "MirrorPad",opName = "mirror_pad", + tensorNames = mutableMapOf("input" to "input","paddings" to "paddings"), + attributeMappingRules = listOf(stringNotEqualsRule(outputAttribute = "mode", + inputFrameworkAttributeName = "mode",valueToTest = "REFLECT",argumentIndex = 0), + booleanConstant(inputName = "isSymmetric",constantValue = true,argumentIndex = 0)[0]) + ,tensorflowOpRegistry = tensorflowOpRegistry) + +/** + * TODO: Need to add a constant mapping or something for NonMaxSuppression + * v1 and 2 which do not have a scoreThreshold to map. V3 does. + */ + +val nonMaxSuppressionV1 = multipleNameMapping(inputFrameworkOpNames = listOf("NonMaxSuppression"), + opName = "non_max_suppression", + tensorNames = mutableMapOf("boxes" to "boxes","scales" to "scores", + "maxOutputSize" to "max_output_size"), + attributeMappingRules = listOf( + argDescriptorConstant(listOf( + ArgDescriptor { + doubleValue = 0.5 + name = "scoreThreshold" + argType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + argIndex = 1 + } + )), + valueMapping(mutableMapOf("iouThreshold" to "iou_threshold")), + convertNDArrayInputToNumericalAttr(mutableMapOf("maxOutputSize" to "max_output_size"))) + ,tensorflowOpRegistry = tensorflowOpRegistry) + + + +val nonMaxSuppressionV2 = multipleNameMapping(inputFrameworkOpNames = listOf("NonMaxSuppressionV2"), + opName = "non_max_suppression", + tensorNames = mutableMapOf("boxes" to "boxes","scales" to "scores", + "iouThreshold" to "iou_threshold","maxOutputSize" to "max_output_size"), + attributeMappingRules = listOf( + argDescriptorConstant(listOf( + ArgDescriptor { + doubleValue = 0.5 + name = "scoreThreshold" + argType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + argIndex = 1 + } + )), + convertNDArrayInputToNumericalAttr(mutableMapOf( + "maxOutputSize" to "max_output_size" + ))) + ,tensorflowOpRegistry = tensorflowOpRegistry) + + +val nonMaxSuppressionV3 = multipleNameMapping(inputFrameworkOpNames = listOf("NonMaxSuppressionV3"), + opName = "non_max_suppression_v3", + tensorNames = mutableMapOf("boxes" to "boxes","scales" to "scores", + "maxOutSize" to "max_output_size", "iouThreshold" to "iou_threshold", "scoreThreshold" to "score_threshold"), + attributeMappingRules = listOf( + convertNDArrayInputToNumericalAttr(mutableMapOf( + "maxOutputSize" to "max_output_size" + ))) + ,tensorflowOpRegistry = tensorflowOpRegistry) + + +val nonMaxSuppressionV4 = multipleNameMapping(inputFrameworkOpNames = listOf("NonMaxSuppressionV4"), + opName = "non_max_suppression_v3", + tensorNames = mutableMapOf("boxes" to "boxes","scales" to "scores", + "maxOutSize" to "max_output_size", "iouThreshold" to "iou_threshold", "scoreThreshold" to "score_threshold"), + attributeMappingRules = listOf( + convertNDArrayInputToNumericalAttr(mutableMapOf( + "maxOutputSize" to "max_output_size" + ))) + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val matrixInverse = multipleNameMapping(inputFrameworkOpNames = listOf("MatrixInverse","BatchMatrixInverse"),opName = "matrix_inverse", + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = true,argumentIndex = 0), + tensorNames = mutableMapOf("input" to "input") + ,tensorflowOpRegistry = tensorflowOpRegistry) + +//TODO: There might be a subtle difference in the way max threshold is interpreted. +//Tensorflow gives exact number back, whereas we may give back less. +//See the non_max_suppression_overlaps test case in TestTensorflowIR +val nonMaxSuppressionOverlaps = multipleNameMapping(inputFrameworkOpNames = listOf("NonMaxSuppressionWithOverlaps"), + opName = "non_max_suppression_overlaps", + tensorNames = mutableMapOf("scales" to "scores","boxes" to "overlaps"), + attributeMappingRules = listOf( + convertNDArrayInputToNumericalAttr(mutableMapOf( + "maxOutputSize" to "max_output_size", + "overlapThreshold" to "overlap_threshold", + "scoreThreshold" to "score_threshold"))) + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val nthElement = mapTensorNamesWithOp(inputFrameworkOpName = "NthElement",opName = "nth_element", + tensorNames = mutableMapOf("n" to "n","input" to "input"), + attributeMappingRules = listOf(invertBooleanNumber(mapOf("reverse" to "reverse"))),tensorflowOpRegistry = tensorflowOpRegistry) + +val oneHot = mapTensorNamesWithOp(inputFrameworkOpName = "OneHot",opName = "onehot", + tensorNames = mutableMapOf("input" to "indices"), + attributeMappingRules = listOf( + convertNDArrayInputToNumericalAttr(mutableMapOf("on" to "on_value","off" to "off_value" + ,"depth" to "depth")), + valueMapping(mutableMapOf("dimensions" to "axis","dataType" to "T"))) + ,tensorflowOpRegistry = tensorflowOpRegistry) + + +val or = mapTensorNamesWithOp(inputFrameworkOpName = "LogicalOr",opName = "boolean_or", + tensorNames = mutableMapOf("input" to "x","y" to "y"),tensorflowOpRegistry = tensorflowOpRegistry) + +val onesLike = mapTensorNamesWithOp(inputFrameworkOpName = "OnesLike", + opName = "ones_as", + attributeMappingRules = listOf(valueMapping(mutableMapOf("dataType" to "T"))), + tensorNames = mutableMapOf("input" to "x"),tensorflowOpRegistry = tensorflowOpRegistry) + + + +val pow = mapTensorNamesWithOp(inputFrameworkOpName = "Pow",opName = "Pow", + attributeMappingRules = listOf(), + tensorNames = mutableMapOf("input" to "x","y" to "y"),tensorflowOpRegistry = tensorflowOpRegistry +) + +val rank = mapTensorNamesWithOp(inputFrameworkOpName = "Rank", opName = "rank",tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = listOf(argDescriptorConstant(listOf(ArgDescriptor { + name = "inPlace" + boolValue = false + argType = OpNamespace.ArgDescriptor.ArgType.BOOL + argIndex = 0 + + }))),tensorflowOpRegistry = tensorflowOpRegistry) + +val relu6 = multipleNameMapping(inputFrameworkOpNames = listOf("Relu6"),opName = "relu6", + attributeMappingRules = listOf( + valueMapping(mutableMapOf("dtype" to "T")), + argDescriptorConstant( + listOf(ArgDescriptor { + name = "inPlace" + boolValue = false + argType = OpNamespace.ArgDescriptor.ArgType.BOOL + argIndex = 0 + }, + ArgDescriptor { + name = "cutoff" + doubleValue = 0.0 + argType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + argIndex = 0 + }) + )), + tensorNames = mutableMapOf("input" to "features") + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val stack = multipleNameMapping(inputFrameworkOpNames = listOf("Pack"),opName = "stack", + attributeMappingRules = listOf(valueMapping(mutableMapOf("dimensions" to "axis","dtype" to "T"))), + tensorNames = mutableMapOf("input" to "values") + ,tensorflowOpRegistry = tensorflowOpRegistry) + +/** + * // in case of REFLECT and SYMMETRIC modes paddings must obey additional shape requirements +if (INT_ARG(0) == 0) { // CONSTANT mode +if(block.width() > 2) { +REQUIRE_TRUE(input->dataType() == INPUT_VARIABLE(2)->dataType(), 0, "PAD op: data types of input and padValue arrays should be the same but got %i and %i correspondingly !", input->dataType(), INPUT_VARIABLE(2)->dataType()); +padValue.assign(INPUT_VARIABLE(2)->e(0)); +} +else if (!block.getTArguments()->empty()) +padValue = T_ARG(0); +} +else if(INT_ARG(0) == 1) { // REFLECT mode +for(int dim=0; dim < rank; ++dim) +REQUIRE_TRUE(paddings->e(dim,0) <= (input->shapeOf()[dim]-1) && paddings->e(dim,1) <= (input->shapeOf()[dim]-1), 0, "PAD op: wrong content of paddings array for REFLECT mode !"); +} +if(INT_ARG(0) == 2) { // SYMMETRIC mode +for(int dim=0; dim < rank; ++dim) +REQUIRE_TRUE(paddings->e(dim,0) <= input->shapeOf()[dim] && paddings->e(dim,1) <= input->shapeOf()[dim], 0, "PAD op: wrong content of paddings array for SYMMETRIC mode !"); +} + */ +val pad = multipleNameMapping(inputFrameworkOpNames = listOf("Pad"), + opName = "pad",tensorNames = mutableMapOf("input" to "input","paddings" to "paddings"),attributeMappingRules = + listOf(argDescriptorConstant(listOf( + ArgDescriptor { + //note: tensorflow only supports constant mode + name = "mode" + int64Value = 0 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + argIndex = 0 + }, + ArgDescriptor { + name = "padValue" + doubleValue = 0.0 + argIndex = 0 + argType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + argIndex = 0 + } + ))) + ,tensorflowOpRegistry = tensorflowOpRegistry) + + +val padV2 = multipleNameMapping(inputFrameworkOpNames = listOf("PadV2"), + opName = "pad",tensorNames = mutableMapOf("input" to "input","paddings" to "paddings"), + attributeMappingRules = + listOf(convertNDArrayInputToNumericalAttr(mutableMapOf("padValue" to "constant_values")), + argDescriptorConstant(listOf( + ArgDescriptor { + //note: tensorflow only supports constant mode + name = "mode" + int64Value = 0 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + argIndex = 0 + } + ))) + ,tensorflowOpRegistry = tensorflowOpRegistry) + + +val randomCrop = mapTensorNamesWithOp(inputFrameworkOpName = "RandomCrop",opName = "random_crop",tensorNames = mutableMapOf("input" to "image","shape" to "size"), + attributeMappingRules = listOf(valueMapping(mutableMapOf("seed" to "seed"))) + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val placeHolder = mapTensorNamesWithOp(inputFrameworkOpName = "Placeholder",opName = "placeholder",tensorNames = mutableMapOf() + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val randomGamma = mapTensorNamesWithOp(inputFrameworkOpName = "RandomGamma",opName = "random_gamma",tensorNames = mutableMapOf("shape" to "shape","alpha" to "alpha"), + attributeMappingRules = listOf(valueMapping(mutableMapOf("seed" to "seed"))),tensorflowOpRegistry = tensorflowOpRegistry) + + +val rgbToHsv = mapTensorNamesWithOp(inputFrameworkOpName = "RGBToHSV",opName = "rgb_to_hsv",tensorNames = mutableMapOf("input" to "images"), + attributeMappingRules = listOf() + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val hsvToRgb = mapTensorNamesWithOp(inputFrameworkOpName = "HSVToRGB",opName = "hsv_to_rgb",tensorNames = mutableMapOf("input" to "images"), + attributeMappingRules = listOf() + ,tensorflowOpRegistry = tensorflowOpRegistry) + + +val randomPoisson = multipleNameMapping(inputFrameworkOpNames = listOf("RandomPoisson"),opName = "random_poisson", + attributeMappingRules = listOf(valueMapping(mutableMapOf("seed" to "seed","dtype" to "dtype"))), + tensorNames = mutableMapOf("shape" to "shape","lambda" to "rate") + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val randomPoissonv2 = multipleNameMapping(inputFrameworkOpNames = listOf("RandomPoissonV2"),opName = "random_poisson", + attributeMappingRules = listOf(valueMapping(mutableMapOf("seed" to "seed","dtype" to "dtype"))), + tensorNames = mutableMapOf("shape" to "shape","lambda" to "rate") + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val randomShuffle = mapTensorNamesWithOp(inputFrameworkOpName = "RandomShuffle",opName = "random_shuffle", + tensorNames = mutableMapOf("input" to "value"), + attributeMappingRules = listOf(valueMapping(mutableMapOf("seeds" to "seed"))),tensorflowOpRegistry = tensorflowOpRegistry) + +//TODO: Look at extra arguments generated like T_ARG(1)); +val randomStandardNormal = multipleNameMapping(inputFrameworkOpNames = listOf("RandomStandardNormal"),opName = "random_normal", + tensorNames = mutableMapOf("input" to "shape"), + attributeMappingRules = listOf(valueMapping(mutableMapOf("dtype" to "dtype"))) + ,tensorflowOpRegistry = tensorflowOpRegistry) + +//note: tensorflow hard codes the value at 0 to 1 while we allow customization here + +val randomUniform = multipleNameMapping( + inputFrameworkOpNames = listOf("RandomUniform"), + opName = "randomuniform", + tensorNames = mutableMapOf("shape" to "shape"), + attributeMappingRules = listOf( + dataTypeToInt(mutableMapOf("dtype" to "dtype")), + valueMapping(mutableMapOf("dataType" to "dtype")), + argDescriptorConstant(listOf( + ArgDescriptor { + name = "min" + doubleValue = 0.0 + argType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + argIndex = 0 + }, + ArgDescriptor { + name = "max" + doubleValue = 1.0 + argType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + argIndex = 1 + }, + ArgDescriptor { + name = "min" + argIndex = 1 + inputValue = nameSpaceTensorFromNDarray(Nd4j.scalar(1.0)) + argType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + }, + ArgDescriptor { + name = "max" + argIndex = 2 + inputValue = nameSpaceTensorFromNDarray(Nd4j.scalar(1.0)) + argType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + } + ))) + ,tensorflowOpRegistry = tensorflowOpRegistry +) + + +val statelessRandomUniform = multipleNameMapping( + inputFrameworkOpNames = listOf("StatelessRandomUniform"), + opName = "randomuniform", + tensorNames = mutableMapOf("shape" to "shape"), + attributeMappingRules = listOf( + dataTypeToInt(mutableMapOf("dtype" to "dtype")), + valueMapping(mutableMapOf("dataType" to "dtype")), + argDescriptorConstant(listOf( + ArgDescriptor { + name = "min" + doubleValue = 0.0 + argType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + argIndex = 0 + }, + ArgDescriptor { + name = "max" + doubleValue = 1.0 + argType = OpNamespace.ArgDescriptor.ArgType.DOUBLE + argIndex = 1 + }, + ArgDescriptor { + name = "min" + argIndex = 1 + inputValue = nameSpaceTensorFromNDarray(Nd4j.scalar(1.0)) + argType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + }, + ArgDescriptor { + name = "max" + argIndex = 2 + inputValue = nameSpaceTensorFromNDarray(Nd4j.scalar(1.0)) + argType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + } + ))) + ,tensorflowOpRegistry = tensorflowOpRegistry +) + + +val randomUniformInt = TensorflowMappingProcess( + inputFrameworkOpName = "RandomUniformInt", + opName = "randomuniform", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("shape" to "shape","min" to "minval","max" to "maxval"))), + attributeMappingRules = listOf( + convertNDArrayInputToNumericalAttr(mutableMapOf("min" to "minval","max" to "maxval")), + dataTypeToInt(mutableMapOf("dtype" to "Tout")),valueMapping(mutableMapOf("dataType" to "Tout")) + ), + opMappingRegistry = tensorflowOpRegistry +) + + +val range = multipleNameMapping(inputFrameworkOpNames = listOf("Range"),opName = "range", + attributeMappingRules = listOf( + convertNDArrayInputToNumericalAttr(mutableMapOf("from" to "start", + "to" to "limit","step" to "delta")), + valueMapping(mutableMapOf("dtype" to "Tidx"))), + tensorNames = mutableMapOf("from" to "start","to" to "limit","step" to "delta"),tensorflowOpRegistry = tensorflowOpRegistry) + +val relu = mapTensorNamesWithOp(inputFrameworkOpName = "Relu",opName = "relu",tensorNames = mutableMapOf("input" to "features"), + attributeMappingRules = listOf(doubleConstant(inputName = "cutoff",constantValue = 0.0,argumentIndex = 0)[0], + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0]) + ,tensorflowOpRegistry = tensorflowOpRegistry) + + +val reshape = multipleNameMapping(inputFrameworkOpNames = listOf("Reshape"),opName = "reshape", + tensorNames = mutableMapOf("input" to "tensor","shape" to "shape"), + attributeMappingRules = listOf(),tensorflowOpRegistry = tensorflowOpRegistry) + +val resizeArea = multipleNameMapping(inputFrameworkOpNames = listOf("ResizeArea"),opName = "resize_area", + attributeMappingRules = listOf(valueMapping(mutableMapOf("alignCorners" to "align_corners"))), + tensorNames = mutableMapOf("image" to "images","size" to "size"),tensorflowOpRegistry = tensorflowOpRegistry) + +val resizeBiCubic = multipleNameMapping(inputFrameworkOpNames = listOf("ResizeBicubic"),opName = "resize_bicubic", + attributeMappingRules = listOf(valueMapping(mutableMapOf("alignCorners" to "align_corners","alignPixelCenters" to "half_pixel_centers"))), + tensorNames = mutableMapOf("image" to "images","size" to "size"),tensorflowOpRegistry = tensorflowOpRegistry) + +val resizeBiLinear = multipleNameMapping(inputFrameworkOpNames = listOf("ResizeBilinear"),opName = "resize_bilinear", + attributeMappingRules = listOf(valueMapping(mutableMapOf("alignCorners" to "align_corners","halfPixelCenter" to "half_pixel_centers"))), + tensorNames = mutableMapOf("image" to "images","newImageSize" to "size"),tensorflowOpRegistry = tensorflowOpRegistry) + +val resizeNearestNeighbor = multipleNameMapping(inputFrameworkOpNames = listOf("ResizeNearestNeighbor"),opName = "resize_nearest_neighbor", + attributeMappingRules = listOf(valueMapping(mutableMapOf("alignCorners" to "align_corners","halfPixelCenter" to "half_pixel_centers"))), + tensorNames = mutableMapOf("image" to "images","newImageSize" to "size") + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val reverse = multipleNameMapping(inputFrameworkOpNames = listOf("ReverseV2"),opName = "reverse", + attributeMappingRules = listOf(ndarrayToIntList(mutableMapOf("dimensions" to "axis"))), + tensorNames = mutableMapOf("input" to "tensor"),tensorflowOpRegistry = tensorflowOpRegistry) + +val reverseSequence = multipleNameMapping(inputFrameworkOpNames = listOf("ReverseSequence"),opName = "reverse_sequence", + attributeMappingRules = listOf(valueMapping(mutableMapOf("batchDim" to "batch_dim","seqDim" to "seq_dim"))), + tensorNames = mutableMapOf("input" to "input","seqLengths" to "seq_lengths") + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val roll = multipleNameMapping(inputFrameworkOpNames = listOf("Roll"),opName = "roll", + attributeMappingRules = listOf(ndarrayToIntList(mutableMapOf("shift" to "shift"))), + tensorNames = mutableMapOf("input" to "input","dimensions" to "axis","shiftsI" to "shift") + ,tensorflowOpRegistry = tensorflowOpRegistry) + +//TODO: verify usingLocking property, it's not showing up in descriptors +val tesnorScatterAdd = multipleNameMapping(inputFrameworkOpNames = listOf("TensorScatterAdd"),opName = "scatter_add", + tensorNames = mutableMapOf("input" to "tensor","indices" to "indices","updates" to "updates"), + attributeMappingRules = + listOf(booleanConstant(inputName = "lock",constantValue = false,0)[0], + booleanConstant(inputName = "checkIndices",constantValue = false,argumentIndex = 1)[0]) + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val scatterAdd = multipleNameMapping(inputFrameworkOpNames = listOf("ScatterAdd"),opName = "scatter_add", + tensorNames = mutableMapOf("input" to "ref","indices" to "indices","updates" to "updates"), + attributeMappingRules = + listOf(booleanConstant(inputName = "lock",constantValue = false,0)[0], + booleanConstant(inputName = "checkIndices",constantValue = false,argumentIndex = 1)[0]) + ,tensorflowOpRegistry = tensorflowOpRegistry) + + +val scatterDiv = multipleNameMapping(inputFrameworkOpNames = listOf("ScatterDiv"),opName = "scatter_div", + tensorNames = mutableMapOf("input" to "ref","indices" to "indices","updates" to "updates"),tensorflowOpRegistry = tensorflowOpRegistry) + +val scatterMax = multipleNameMapping(inputFrameworkOpNames = listOf("ScatterMax"),opName = "scatter_max", + tensorNames = mutableMapOf("input" to "ref","indices" to "indices","updates" to "updates"),tensorflowOpRegistry = tensorflowOpRegistry) + +val tensorScatterMax = multipleNameMapping(inputFrameworkOpNames = listOf("TensorScatterMax"),opName = "scatter_max", + tensorNames = mutableMapOf("input" to "tensor","indices" to "indices","updates" to "updates"),tensorflowOpRegistry = tensorflowOpRegistry) + + +val tensorScatterMin = multipleNameMapping(inputFrameworkOpNames = listOf("TensorScatterMin"),opName = "scatter_min", + tensorNames = mutableMapOf("input" to "tensor","indices" to "indices","updates" to "updates"),tensorflowOpRegistry = tensorflowOpRegistry) + +val scatterMin = multipleNameMapping(inputFrameworkOpNames = listOf("ScatterMin"),opName = "scatter_min", + tensorNames = mutableMapOf("input" to "ref","indices" to "indices","updates" to "updates"),tensorflowOpRegistry = tensorflowOpRegistry) + +val scatterMul = multipleNameMapping(inputFrameworkOpNames = listOf("ScatterMul"),opName = "scatter_mul", + tensorNames = mutableMapOf("indices" to "indices","updates" to "updates","input" to "ref"),tensorflowOpRegistry = tensorflowOpRegistry) + +val scatterNd = multipleNameMapping(inputFrameworkOpNames = listOf("ScatterNd"),opName = "scatter_nd", + tensorNames = mutableMapOf("indices" to "indices","updates" to "updates","shape" to "shape"), + attributeMappingRules = listOf( + booleanConstant(inputName = "lock",constantValue = false,argumentIndex = 0)[0], + booleanConstant(inputName = "checkIndices",constantValue = false,argumentIndex = 1)[0]) + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val scatterNdAdd = multipleNameMapping(inputFrameworkOpNames = listOf("ScatterNdAdd"),opName = "scatter_nd_add", + tensorNames = mutableMapOf("indices" to "indices","updates" to "updates","input" to "ref"),tensorflowOpRegistry = tensorflowOpRegistry) + +val scatterNdSub = multipleNameMapping(inputFrameworkOpNames = listOf("ScatterNdSub"),opName = "scatter_nd_sub", + tensorNames = mutableMapOf("indices" to "indices","updates" to "updates","input" to "ref"),tensorflowOpRegistry = tensorflowOpRegistry) + +val scatterNdUpdate = multipleNameMapping(inputFrameworkOpNames = listOf("ScatterNdUpdate"),opName = "scatter_nd_update", + tensorNames = mutableMapOf("indices" to "indices","updates" to "updates","input" to "ref"),tensorflowOpRegistry = tensorflowOpRegistry) + + +val tensorScatterSub = multipleNameMapping(inputFrameworkOpNames = listOf("TensorScatterSub"), + opName = "scatter_sub", + tensorNames = mutableMapOf("indices" to "indices", + "updates" to "updates","input" to "tensor"), + attributeMappingRules = listOf( + booleanConstant(inputName = "lock",constantValue = false, + argumentIndex = 0)[0], + booleanConstant(inputName = "checkIndices",constantValue = false, + argumentIndex = 1)[0]) + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val scatterSub = multipleNameMapping(inputFrameworkOpNames = listOf("ScatterSub"), + opName = "scatter_sub", + tensorNames = mutableMapOf("indices" to "indices", + "updates" to "updates","input" to "ref"), + attributeMappingRules = listOf( + booleanConstant(inputName = "lock",constantValue = false, + argumentIndex = 0)[0], + booleanConstant(inputName = "checkIndices",constantValue = false, + argumentIndex = 1)[0]) + ,tensorflowOpRegistry = tensorflowOpRegistry) + +//TODO: note: TF expects indices, we don't support them? +val scatterUpdate = multipleNameMapping(inputFrameworkOpNames = listOf("ScatterUpdate"),opName = "scatter_upd", + attributeMappingRules = listOf(), + tensorNames = mutableMapOf("input" to "ref","updates" to "updates","indices" to "indices"),tensorflowOpRegistry = tensorflowOpRegistry) + +val tensorScatterUpdate = multipleNameMapping(inputFrameworkOpNames = listOf("TensorScatterUpdate"),opName = "scatter_upd", + attributeMappingRules = listOf(), + tensorNames = mutableMapOf("input" to "tensor","updates" to "updates","indices" to "indices"),tensorflowOpRegistry = tensorflowOpRegistry) +//L2Loss +val l2Loss = multipleNameMapping(inputFrameworkOpNames = listOf("L2Loss"),opName = "l2_loss", + attributeMappingRules = listOf(valueMapping(mutableMapOf("dtype" to "T"))), + tensorNames = mutableMapOf("input" to "t") + ,tensorflowOpRegistry = tensorflowOpRegistry) + + +val select = mapTensorNamesWithOp(inputFrameworkOpName = "Select",opName = "select",tensorNames = mutableMapOf("cond" to "condition","input" to "t","y" to "e") + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val segmentMean = multipleNameMapping(inputFrameworkOpNames = listOf("SegmentMean"),opName = "segment_mean", + tensorNames = mutableMapOf("input" to "data","idxSegments" to "segment_ids"),tensorflowOpRegistry = tensorflowOpRegistry) + +val segmentMin = multipleNameMapping(inputFrameworkOpNames = listOf("SegmentMin"),opName = "segment_min", + tensorNames = mutableMapOf("input" to "data","idxSegments" to "segment_ids"),tensorflowOpRegistry = tensorflowOpRegistry) + + +val segmentMax = multipleNameMapping(inputFrameworkOpNames = listOf("SegmentMax"),opName = "segment_max", + tensorNames = mutableMapOf("input" to "data","idxSegments" to "segment_ids") + ,tensorflowOpRegistry = tensorflowOpRegistry) + + +val segmentProd = multipleNameMapping(inputFrameworkOpNames = listOf("SegmentProd"),opName = "segment_prod", + tensorNames = mutableMapOf("input" to "data","idxSegments" to "segment_ids"),tensorflowOpRegistry = tensorflowOpRegistry) + +val segmentSum = multipleNameMapping(inputFrameworkOpNames = listOf("SegmentSum"),opName = "segment_sum", + tensorNames = mutableMapOf("input" to "data","idxSegments" to "segment_ids"),tensorflowOpRegistry = tensorflowOpRegistry) + +val size = TensorflowMappingProcess( + opMappingRegistry = tensorflowOpRegistry, + inputFrameworkOpName = "Size", + opName = "size", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))) +) + +val slice = mapTensorNamesWithOp(inputFrameworkOpName = "Slice",opName = "slice", + tensorNames = mutableMapOf("input" to "input","b" to "begin","e" to "size"), + attributeMappingRules = listOf(ndarrayToIntList(mutableMapOf("size" to "size"))),tensorflowOpRegistry = tensorflowOpRegistry) + +val selu = mapTensorNamesWithOp(inputFrameworkOpName = "Selu",opName = "selu",tensorNames = mutableMapOf("input" to "features"), + attributeMappingRules = + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0),tensorflowOpRegistry = tensorflowOpRegistry) + +val shapeOf = mapTensorNamesWithOp(inputFrameworkOpName = "Shape", + opName = "shape_of", + tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = listOf( + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0], + valueMapping(mutableMapOf("dtype" to "out_type"))),tensorflowOpRegistry = tensorflowOpRegistry) + +val softPlus = mapTensorNamesWithOp(inputFrameworkOpName = "Softplus",opName = "softplus",tensorNames = mutableMapOf("input" to "features"), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0),tensorflowOpRegistry = tensorflowOpRegistry) +val softSign = mapTensorNamesWithOp(inputFrameworkOpName = "Softsign",opName = "softsign",tensorNames = mutableMapOf("input" to "features"), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0),tensorflowOpRegistry = tensorflowOpRegistry) + +val shapeN = mapTensorNamesWithOp(inputFrameworkOpName = "ShapeN",opName = "shapes_of",tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0),tensorflowOpRegistry = tensorflowOpRegistry) + +val softMax = mapTensorNamesWithOp(inputFrameworkOpName = "Softmax",opName = "softmax",tensorNames = mutableMapOf("input" to "logits"),attributeMappingRules = +listOf(argDescriptorConstant( + listOf( + ArgDescriptor { + name = "dimension" + int64Value = 1 + argType = OpNamespace.ArgDescriptor.ArgType.INT64 + argIndex = 0 + }, + ArgDescriptor { + name = "inPlace" + boolValue = false + argType = OpNamespace.ArgDescriptor.ArgType.BOOL + argIndex = 0 + } + ) +)),tensorflowOpRegistry = tensorflowOpRegistry) + +val logSoftmax = mapTensorNamesWithOp(inputFrameworkOpName = "LogSoftmax",opName = "log_softmax",tensorNames = mutableMapOf("input" to "logits"),attributeMappingRules = +listOf(argDescriptorConstant( + listOf() +)),tensorflowOpRegistry = tensorflowOpRegistry) + +//FakeQuantWithMinMaxVars +//FakeQuantWithMinMaxVarsPerChannel +val fakeQuantWithMinMaxVars = TensorflowMappingProcess( + opName = "fake_quant_with_min_max_vars", + inputFrameworkOpName = "FakeQuantWithMinMaxVars", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf( + valueMapping(mapOf("numBits" to "num_bits","narrowed" to "narrow_range"))), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "inputs","min" to "min","max" to "max"))) +) + +val fakeQuantWithMinMaxVarsPerChannel = TensorflowMappingProcess( + opName = "fake_quant_with_min_max_vars_per_channel", + inputFrameworkOpName = "FakeQuantWithMinMaxVarsPerChannel", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf( + valueMapping(mapOf("numBits" to "num_bits","narrowed" to "narrow_range"))), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "inputs","min" to "min","max" to "max"))) +) + +val fakeQuantWithMinArgs = TensorflowMappingProcess( + opName = "fake_quant_with_min_max_args", + inputFrameworkOpName = "FakeQuantWithMinMaxArgs", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf( + valueMapping(mapOf("min" to "min","max" to "max","numBits" to "num_bits","narrowRange" to "narrow_range"))), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "inputs"))) +) + +val sparseSoftmax = TensorflowMappingProcess( + opName = "sparse_softmax_cross_entropy_loss_with_logits", + inputFrameworkOpName = "SparseSoftmaxCrossEntropyWithLogits", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf( + valueMapping(mapOf("dtype" to "T"))), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("labels" to "labels","logits" to "features"))), + inputIndexOverrides = mapOf(1 to 0,0 to 1) +) + +//SoftmaxCrossEntropyWithLogits +val softmaxCrossEntryopyWithLogits = TensorflowMappingProcess( + opName = "softmax_cross_entropy_loss_with_logits", + inputFrameworkOpName = "SoftmaxCrossEntropyWithLogits", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf( + valueMapping(mapOf("dtype" to "T"))), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("labels" to "labels","logits" to "features"))) + +) + + +val spaceToBatch = TensorflowMappingProcess( + opName = "space_to_batch", + inputFrameworkOpName = "SpaceToBatch", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf( + valueMapping(mapOf("blockSize" to "block_size"))), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input","padding" to "paddings"))) +) + +val spaceToBatchNd = TensorflowMappingProcess( + opName = "space_to_batch_nd", + inputFrameworkOpName = "SpaceToBatchND", + opMappingRegistry = tensorflowOpRegistry, + attributeMappingRules = listOf( + ndarrayToIntList(mutableMapOf("blocks" to "block_shape")), + argDescriptorConstant(listOf( + ArgDescriptor { + name = "inPlace" + boolValue = false + argType = OpNamespace.ArgDescriptor.ArgType.BOOL + argIndex = 0 + + } + ))), + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input","blockShape" to "block_shape","padding" to "paddings"))) +) + +val spaceToDepth = TensorflowMappingProcess( + opName = "space_to_depth", + inputFrameworkOpName = "SpaceToDepth", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf(valueMapping(mapOf("block_size" to "block_size")), + stringEqualsRule("isNHWC",inputFrameworkAttributeName = "data_format",valueToTest = "NHWC",argumentIndex = 1)), + opMappingRegistry = tensorflowOpRegistry +) + +val split = TensorflowMappingProcess( + opName = "split", + inputFrameworkOpName = "Split", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("a" to "split_dim","b" to "value"))), + attributeMappingRules = listOf(valueMapping(mapOf("numSplit" to "num_split")) + , ndarrayToIntList(mutableMapOf("dimensions" to "split_dim"))), + opMappingRegistry = tensorflowOpRegistry +) + + +val splitV = TensorflowMappingProcess( + opName = "split_v", + inputFrameworkOpName = "SplitV", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf( + "input" to "value", + "sizes" to "size_splits", + "_a" to "split_dim"))), + attributeMappingRules = listOf( + valueMapping(mutableMapOf("numSplit" to "num_split")), + convertNDArrayInputToNumericalAttr(mutableMapOf("dimensions" to "split_dim")), + ndarrayToIntList(mutableMapOf("dimensions" to "split_dim"))), + opMappingRegistry = tensorflowOpRegistry +) + +val squeeze = TensorflowMappingProcess( + opName = "squeeze", + inputFrameworkOpName = "Squeeze", + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf( + listNumberToNDarray(mutableMapOf("a" to "squeeze_dims")), + listNumberToListNumber(outputAttributeValue = "_a",inputAttributeValue = "squeeze_dims")), + opMappingRegistry = tensorflowOpRegistry +) + +val stridedSlice = TensorflowMappingProcess( + opName = "strided_slice", + inputFrameworkOpName = "StridedSlice", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input", + "v_begin" to "begin", + "v_end" to "end", + "v_stride" to "strides"))), + attributeMappingRules = listOf( + valueMapping(mutableMapOf("begin_mask" to "begin_mask","end_mask" to "end_mask", + "ellipsis_mask" to "ellipsis_mask","new_axis_mask" to "new_axis_mask", + "shrink_axis_mask" to "shrink_axis_mask","dtype" to "T"))) +) + + +val svd = TensorflowMappingProcess( + opName = "svd", + inputFrameworkOpName = "Svd", + opMappingRegistry = tensorflowOpRegistry, + tensorMappingRules = listOf(mappingNDArrayInputs(mutableMapOf("input" to "input"))), + attributeMappingRules = listOf(valueMapping(mutableMapOf("computeUv" to "compute_uv","fullUV" to "full_matrices")), + invertBooleanNumber(mutableMapOf("calcUV" to "compute_uv","fullUV" to "full_matrices")), + intConstant(inputName = "switchNum",constantValue = 16,argumentIndex = 2)[0]) +) + + + +//TODO: revisit this, not sure why the ops are off +val tensorArrayConcat = multipleNameMapping(inputFrameworkOpNames = +listOf("TensorArrayConcat"), + opName = "stack_list", + tensorNames = mutableMapOf("list" to "flow_in"),tensorflowOpRegistry = tensorflowOpRegistry) + + +val tensorArrayConcatV2 = multipleNameMapping(inputFrameworkOpNames = +listOf("TensorArrayConcatV2"), + opName = "stack_list", + tensorNames = mutableMapOf("list" to "flow_in"),tensorflowOpRegistry = tensorflowOpRegistry) + +val tensorArrayConcatV3 = multipleNameMapping(inputFrameworkOpNames = +listOf("TensorArrayConcatV3"), + opName = "stack_list", + tensorNames = mutableMapOf("list" to "flow_in"),tensorflowOpRegistry = tensorflowOpRegistry) + +val tensorArrayWriteV3 = multipleNameMapping(inputFrameworkOpNames = +listOf("TensorArrayWriteV3"), + opName = "tensorarraywritev3", + tensorNames = mutableMapOf("input" to "handle"),tensorflowOpRegistry = tensorflowOpRegistry) + + +//TODO: revisit this, not sure why the ops are off +val tensorArrayGather = multipleNameMapping(inputFrameworkOpNames = listOf("TensorArrayGather"), + opName = "gather_list", + attributeMappingRules = listOf(valueMapping(mutableMapOf("dtype" to "dtype"))), + tensorNames = mutableMapOf("indices" to "indices","list" to "flow_in"),tensorflowOpRegistry = tensorflowOpRegistry) + +val tensorArrayGatherv2 = multipleNameMapping(inputFrameworkOpNames = listOf("TensorArrayGatherV2"), + opName = "gather_list", + attributeMappingRules = listOf(valueMapping(mutableMapOf("dtype" to "dtype"))), + tensorNames = mutableMapOf("indices" to "indices","list" to "flow_in"),tensorflowOpRegistry = tensorflowOpRegistry) + +val tensorArrayGatherv3 = multipleNameMapping(inputFrameworkOpNames = listOf( "TensorArrayGatherV3"), + opName = "gather_list", + attributeMappingRules = listOf(valueMapping(mutableMapOf("dtype" to "dtype"))), + tensorNames = mutableMapOf("indices" to "indices","list" to "flow_in"),tensorflowOpRegistry = tensorflowOpRegistry) + + +//TODO: revisit this, not sure why the ops are off +/*val tensorArrayPack = multipleNameMapping(inputFrameworkOpNames = listOf("TensorArrayPack", "TensorArrayPackV2", "TensorArrayPackV3"), + opName = "tensorarraypackv3", + tensorNames = mutableMapOf("indices" to "indices"))*/ +//TODO: revisit this, not sure why the ops are off + +val tensorArrayRead = multipleNameMapping(inputFrameworkOpNames = listOf("TensorArrayRead"), + opName = "read_list", + attributeMappingRules = listOf(valueMapping(mutableMapOf("importDataType" to "dtype"))), + tensorNames = mutableMapOf("list" to "handle"),tensorflowOpRegistry = tensorflowOpRegistry) + +val tensorArrayReadV2 = multipleNameMapping(inputFrameworkOpNames = listOf("TensorArrayReadV2"), + opName = "read_list", + attributeMappingRules = listOf(valueMapping(mutableMapOf("importDataType" to "dtype"))), + tensorNames = mutableMapOf("list" to "handle"),tensorflowOpRegistry = tensorflowOpRegistry) + +val tensorArrayReadV3 = multipleNameMapping(inputFrameworkOpNames = listOf("TensorArrayReadV3"), + opName = "read_list", + attributeMappingRules = listOf(valueMapping(mutableMapOf("importDataType" to "dtype"))), + tensorNames = mutableMapOf("list" to "handle"),tensorflowOpRegistry = tensorflowOpRegistry) +// +// +// TODO: revisit this, not sure why the ops are off + +val tensorArrayScatter = multipleNameMapping(inputFrameworkOpNames = listOf("TensorArrayScatter"), + opName = "scatter_list", + attributeMappingRules = listOf(valueMapping(mutableMapOf("dtype" to "T"))), + tensorNames = mutableMapOf("array" to "value","sizes" to "indices","list" to "flow_in") + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val tensorArrayScatterV2 = multipleNameMapping(inputFrameworkOpNames = listOf("TensorArrayScatterV2"), + opName = "scatter_list", + attributeMappingRules = listOf(valueMapping(mutableMapOf("dtype" to "T"))), + tensorNames = mutableMapOf("array" to "value","sizes" to "indices","list" to "flow_in") + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val tensorArrayScatterV3 = multipleNameMapping(inputFrameworkOpNames = listOf("TensorArrayScatterV3"), + opName = "scatter_list", + attributeMappingRules = listOf(valueMapping(mutableMapOf("dtype" to "T"))), + tensorNames = mutableMapOf("array" to "value","sizes" to "indices","list" to "flow_in") + ,tensorflowOpRegistry = tensorflowOpRegistry) + +//TODO: revisit this, not sure why the ops are off + +val tensorArraySize = multipleNameMapping(inputFrameworkOpNames = listOf("TensorArraySize"), + opName = "size_list", + tensorNames = mutableMapOf("list" to "handle","list" to "flow_in") + ,tensorflowOpRegistry = tensorflowOpRegistry) + + +val tensorArraySizeV2 = multipleNameMapping(inputFrameworkOpNames = listOf("TensorArraySizeV2"), + opName = "size_list", + tensorNames = mutableMapOf("list" to "handle","list" to "flow_in") + ,tensorflowOpRegistry = tensorflowOpRegistry) + + +val tensorArraySizeV3 = multipleNameMapping(inputFrameworkOpNames = listOf("TensorArraySizeV3"), + opName = "size_list", + tensorNames = mutableMapOf("list" to "handle","list" to "flow_in") + ,tensorflowOpRegistry = tensorflowOpRegistry) +//TODO: revisit this, not sure why the ops are off + +val tensorArraySplit = multipleNameMapping(inputFrameworkOpNames = listOf("TensorArraySplit"), + opName = "split_list", + attributeMappingRules = listOf(valueMapping(mutableMapOf("dtype" to "T"))), + tensorNames = mutableMapOf("sizes" to "lengths","list" to "value","array" to "value") + ,tensorflowOpRegistry = tensorflowOpRegistry) + + +val tensorArraySplitV2 = multipleNameMapping(inputFrameworkOpNames = listOf("TensorArraySplitV2"), + opName = "split_list", + attributeMappingRules = listOf(valueMapping(mutableMapOf("dtype" to "T"))), + tensorNames = mutableMapOf("sizes" to "lengths","list" to "value","array" to "value") + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val tensorArraySplitV3 = multipleNameMapping(inputFrameworkOpNames = listOf("TensorArraySplitV3"), + opName = "split_list", + attributeMappingRules = listOf(valueMapping(mutableMapOf("dtype" to "T"))), + tensorNames = mutableMapOf("sizes" to "lengths","list" to "value","array" to "value") + ,tensorflowOpRegistry = tensorflowOpRegistry) + + +val tile = mapTensorNamesWithOp(inputFrameworkOpName = "Tile",opName = "tile", + attributeMappingRules = listOf(intConstant(inputName = "dimensions",constantValue = 0 ,argumentIndex = 0)[0], + booleanConstant(inputName = "is_static_reps",constantValue = true,argumentIndex = 0)[0]), + tensorNames = mutableMapOf("input" to "input","reps_vector" to "multiples") + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val topk = multipleNameMapping(inputFrameworkOpNames = listOf("TopK"),opName = "top_k", + tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = listOf(valueMapping(mutableMapOf("needSort" to "sorted","k" to "k"))),tensorflowOpRegistry = tensorflowOpRegistry) + +val topkV2 = multipleNameMapping(inputFrameworkOpNames = listOf("TopKV2"),opName = "top_k", + tensorNames = mutableMapOf("input" to "input"), + attributeMappingRules = listOf(valueMapping(mutableMapOf("needSort" to "sorted")), + convertNDArrayInputToNumericalAttr(mutableMapOf("k" to "k"))),tensorflowOpRegistry = tensorflowOpRegistry) + +val transpose = mapTensorNamesWithOp( + inputFrameworkOpName = "Transpose", + opName = "transpose", + tensorNames = mutableMapOf("input" to "x","permutationVector" to "perm"), + attributeMappingRules = listOf(valueMapping(mutableMapOf("dtype" to "T")), ndarrayToIntList(mutableMapOf("permuteDims" to "perm"))) + ,tensorflowOpRegistry = tensorflowOpRegistry) + + +//note we don't allow unique with an axis argument +val unique = multipleNameMapping( + inputFrameworkOpNames = listOf("Unique","UniqueV2"), + opName = "unique", + tensorNames = mutableMapOf("input" to "x") + ,tensorflowOpRegistry = tensorflowOpRegistry +) + + +/** + * NOTE: Ours only supports vectors, not 2d. + */ +val uniqueWithCounts = multipleNameMapping( + inputFrameworkOpNames = listOf("UniqueWithCounts","UniqueWithCountsV2"), + opName = "unique_with_counts", + tensorNames = mutableMapOf("input" to "x") + ,tensorflowOpRegistry = tensorflowOpRegistry +) + +val unpack = multipleNameMapping(inputFrameworkOpNames = listOf("Unpack"), + opName = "unstack", + tensorNames = mutableMapOf("input" to "value"), + attributeMappingRules = listOf(valueMapping(mutableMapOf("dimensions" to "axis","num" to "num"))) + ,tensorflowOpRegistry = tensorflowOpRegistry) + + +val unsortedSegmentMax = mapTensorNamesWithOp(inputFrameworkOpName = "UnsortedSegmentMax", + opName = "unsorted_segment_max", + attributeMappingRules = listOf( + convertNDArrayInputToNumericalAttr(mutableMapOf("numSegments" to "num_segments","numSegments" to "num_segments"))), + tensorNames = mutableMapOf("input" to "data","idxSegments" to "segment_ids") + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val unsortedSegmentMin = mapTensorNamesWithOp(inputFrameworkOpName = "UnsortedSegmentMin", + opName = "unsorted_segment_min", + attributeMappingRules = listOf(convertNDArrayInputToNumericalAttr(mutableMapOf("numSegments" to "num_segments"))), + tensorNames = mutableMapOf("input" to "data","idxSegments" to "segment_ids") + ,tensorflowOpRegistry = tensorflowOpRegistry) + +val unsortedSegmentProd = mapTensorNamesWithOp(inputFrameworkOpName = "UnsortedSegmentProd", + opName = "unsorted_segment_prod", + attributeMappingRules = listOf( + convertNDArrayInputToNumericalAttr(mutableMapOf("numSegments" to "num_segments"))), + tensorNames = mutableMapOf("input" to "data","idxSegments" to "segment_ids"),tensorflowOpRegistry = tensorflowOpRegistry) + + +val unsortedSegmentSum = mapTensorNamesWithOp(inputFrameworkOpName = "UnsortedSegmentSum", + opName = "unsorted_segment_sum", + attributeMappingRules = listOf(convertNDArrayInputToNumericalAttr(mutableMapOf("numSegments" to "num_segments"))), + tensorNames = mutableMapOf("input" to "data","idxSegments" to "segment_ids") + ,tensorflowOpRegistry = tensorflowOpRegistry) + +//TODO: Figure out if need to map +val nextIteration = mapTensorNamesWithOp(inputFrameworkOpName = "NextIteration",opName = "next_iteration", + tensorNames = mutableMapOf("input" to "data"), tensorflowOpRegistry = tensorflowOpRegistry) + +val noOp = mapTensorNamesWithOp(inputFrameworkOpName = "NoOp",opName = "noop",tensorNames = mutableMapOf() + , tensorflowOpRegistry = tensorflowOpRegistry) + +val where = mapTensorNamesWithOp(inputFrameworkOpName = "Where",opName = "Where", + tensorNames = mutableMapOf("condition" to "input") + , tensorflowOpRegistry = tensorflowOpRegistry +) + +val whileOp = mapTensorNamesWithOp(inputFrameworkOpName = "While",opName = "While", + tensorNames = mutableMapOf("condition" to "input"), + attributeMappingRules = listOf(booleanConstant(inputName = "isConstant",constantValue = false,argumentIndex = 0)[0]) + , tensorflowOpRegistry = tensorflowOpRegistry +) + +val zerosLike = mapTensorNamesWithOp(inputFrameworkOpName = "ZerosLike",opName = "zeroslike", + tensorNames = mutableMapOf("input" to "x"), + attributeMappingRules = listOf( + booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0)[0], + valueMapping(mutableMapOf("dataType" to "T")) + ),tensorflowOpRegistry = tensorflowOpRegistry) + +val zeta = mapTensorNamesWithOp(inputFrameworkOpName = "Zeta",opName = "zeta", + tensorNames = mutableMapOf("input" to "x","q" to "q"), + attributeMappingRules = booleanConstant(inputName = "inPlace",constantValue = false,argumentIndex = 0), + tensorflowOpRegistry = tensorflowOpRegistry) + + +object TensorflowOpDeclarations { + init { + val tensorflowOps = OpDescriptorLoaderHolder.listForFramework("tensorflow") + val groupedOps = tensorflowOps.values.groupBy { input -> input.name } + val singleGroupedOps = HashMap() + groupedOps.forEach { name, node -> + singleGroupedOps[name] = node[0] + } + + OpRegistryHolder.registerOpList("tensorflow", singleGroupedOps) + tensorflowOps.values.forEach { + tensorflowOpRegistry.registerInputFrameworkOpDef(it.name,it) + } + + OpDescriptorLoaderHolder.nd4jOpDescriptor.opListList.forEach { + tensorflowOpRegistry.registerNd4jOpDef(it.name,it) + } + + reduceOps.forEach { tensorflowOpName, nd4jOpName -> + defineSingularReduce(inputFrameworkOpName = tensorflowOpName,inputOpName = nd4jOpName, + tensorflowOpRegistry = tensorflowOpRegistry) + } + + + singleTransformArgs.forEach { + defineTensorflowSingleTransform(inputFrameworkOpName = it.key,inputOpName = it.value + ,tensorflowOpRegistry = tensorflowOpRegistry) + } + + elementWiseTransformOps.forEach { + defineTensorflowPairwiseTransforms(opName = it.value,inputFrameworkOpName = it.key, + tensorflowOpRegistry) + } + + OpRegistryHolder.registerOpMappingRegistry("tensorflow", tensorflowOpRegistry) + + } +} + + + +val declarations = TensorflowOpDeclarations + diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/importer/TensorflowFrameworkImporter.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/importer/TensorflowFrameworkImporter.kt new file mode 100644 index 000000000..ce371ad6f --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/importer/TensorflowFrameworkImporter.kt @@ -0,0 +1,64 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.importer + +import org.nd4j.autodiff.samediff.SameDiff +import org.nd4j.imports.graphmapper.tf.TFGraphMapper +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.samediff.frameworkimport.FrameworkImporter +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.tensorflow.TensorflowImportGraph +import org.nd4j.samediff.frameworkimport.tensorflow.convertNDArrayToTensorflowTensor +import org.nd4j.samediff.frameworkimport.tensorflow.definitions.gruCell +import org.nd4j.samediff.frameworkimport.tensorflow.definitions.tensorflowOpRegistry +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRGraph +import org.nd4j.samediff.frameworkimport.tensorflow.opdefs.TensorflowOpDescriptorLoader +import org.tensorflow.framework.* +import java.io.File +import java.nio.file.Files + +class TensorflowFrameworkImporter: FrameworkImporter { + + val tfImporter = TensorflowImportGraph() + val loader = OpDescriptorLoaderHolder.listForFramework("tensorflow") + val tfOpDescriptorLoader = TensorflowOpDescriptorLoader() + val opDefListBuilder = OpList.newBuilder() + val opDefList = opDefListBuilder.build() + val registry = + tfOpDescriptorLoader.createOpMappingRegistry() + + init { + loader.values.forEach { opDef -> opDefListBuilder.addOp(opDef) } + + } + + fun importFromGraph(graphDef: GraphDef, dynamicVariables: Map): SameDiff { + val dynamicVariablesConverted = HashMap() + dynamicVariables.forEach { name, array -> + dynamicVariablesConverted[name] = convertNDArrayToTensorflowTensor(array) + } + val irGraph = TensorflowIRGraph(graphDef, opDefList, registry) + return tfImporter.importGraph(irGraph, null, null, dynamicVariablesConverted, tensorflowOpRegistry) + + } + + override fun runImport(fileName: String, dynamicVariables: Map): SameDiff { + val loadGraph = GraphDef.parseFrom(Files.readAllBytes(File(fileName).toPath())) + return importFromGraph(graphDef = loadGraph, dynamicVariables = dynamicVariables) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIR.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIR.kt new file mode 100644 index 000000000..14d6b3d59 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIR.kt @@ -0,0 +1,222 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.samediff.frameworkimport.tensorflow.ir + +import org.apache.commons.io.IOUtils +import org.nd4j.common.io.ClassPathResource +import org.nd4j.imports.graphmapper.tf.tensors.TFTensorMappers +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.shade.protobuf.TextFormat +import org.tensorflow.framework.* +import org.tensorflow.framework.OpDef.AttrDef +import java.nio.charset.Charset + +fun loadTensorflowOps(): OpList { + val string = IOUtils.toString(ClassPathResource("ops.proto").inputStream, Charset.defaultCharset()) + val tfListBuilder = OpList.newBuilder() + TextFormat.merge(string, tfListBuilder) + return tfListBuilder.build() +} + + + +fun attrDefaultValue(): IRAttribute { + return TensorflowIRAttr(AttrDef.getDefaultInstance(), AttrValue.getDefaultInstance()) +} + + +fun convertToDataType(dataType: org.nd4j.linalg.api.buffer.DataType): DataType { + return when (dataType) { + org.nd4j.linalg.api.buffer.DataType.UINT16 -> DataType.DT_UINT16 + org.nd4j.linalg.api.buffer.DataType.UINT32 -> DataType.DT_UINT32 + org.nd4j.linalg.api.buffer.DataType.UINT64 -> DataType.DT_UINT64 + org.nd4j.linalg.api.buffer.DataType.BOOL -> DataType.DT_BOOL + org.nd4j.linalg.api.buffer.DataType.BFLOAT16 -> DataType.DT_BFLOAT16 + org.nd4j.linalg.api.buffer.DataType.FLOAT -> DataType.DT_FLOAT + org.nd4j.linalg.api.buffer.DataType.INT -> DataType.DT_INT32 + org.nd4j.linalg.api.buffer.DataType.LONG -> DataType.DT_INT64 + org.nd4j.linalg.api.buffer.DataType.BYTE -> DataType.DT_INT8 + org.nd4j.linalg.api.buffer.DataType.SHORT -> DataType.DT_INT16 + org.nd4j.linalg.api.buffer.DataType.DOUBLE -> DataType.DT_DOUBLE + org.nd4j.linalg.api.buffer.DataType.UBYTE -> DataType.DT_UINT8 + org.nd4j.linalg.api.buffer.DataType.HALF -> DataType.DT_HALF + org.nd4j.linalg.api.buffer.DataType.UTF8 -> DataType.DT_STRING + else -> throw UnsupportedOperationException("Unknown TF data type: [" + dataType.name + "]") + } +} + + +fun tensorflowAttributeValueTypeFor(attributeName: String, opDef: OpDef): AttributeValueType { + val names = opDef.attrList.map { attrDef -> attrDef.name } + if(!names.contains(attributeName) && !isTensorflowTensorName(attributeName,opDef)) { + throw java.lang.IllegalArgumentException("Tensorflow op ${opDef.name} does not have attribute name $attributeName") + } else if(isTensorflowTensorName(attributeName,opDef)) { + //note we allows tensors here since sometimes input tensors in tensorflow become attributes in nd4j + return AttributeValueType.TENSOR + } + val attrDef = opDef.attrList.first { attrDef -> attrDef.name == attributeName } + return TensorflowIRAttr(attrDef, AttrValue.getDefaultInstance()).attributeValueType() +} + + + +fun isTensorflowTensorName(name: String, opDef: OpDef): Boolean { + return opDef.inputArgList.map {inputDef -> inputDef.name }.contains(name) +} + + +fun isTensorflowAttributeName(name: String, opDef: OpDef): Boolean { + return opDef.attrList.map { attrDef -> attrDef.name }.contains(name) +} + +/** + * fun initAttributes( +df: DifferentialFunction, +applied: Pair, OpNamespace.OpDescriptor>, +mappingContext: MappingContext, +sd: SameDiff +) + */ +//fun initAttributesTensorflow() + + + + + + + +/** + * Get the shape from a TensorShapeProto + * + * @param tensorShapeProto Shape + * @return Shape as long[] + */ +private fun shapeFromShapeProto(tensorShapeProto: TensorShapeProto): LongArray? { + val shape = LongArray(tensorShapeProto.dimList.size) + for (i in shape.indices) { + shape[i] = tensorShapeProto.getDim(i).size + } + return shape +} + +/** + * Convert from TF proto datatype to ND4J datatype + * + * @param tfType TF datatype + * @return ND4J datatype + */ +fun convertType(tfType: DataType?): org.nd4j.linalg.api.buffer.DataType { + return when (tfType) { + DataType.DT_DOUBLE -> org.nd4j.linalg.api.buffer.DataType.DOUBLE + DataType.DT_FLOAT -> org.nd4j.linalg.api.buffer.DataType.FLOAT + DataType.DT_HALF -> org.nd4j.linalg.api.buffer.DataType.HALF + DataType.DT_BFLOAT16 -> org.nd4j.linalg.api.buffer.DataType.BFLOAT16 + DataType.DT_INT8 -> org.nd4j.linalg.api.buffer.DataType.BYTE + DataType.DT_INT16 -> org.nd4j.linalg.api.buffer.DataType.SHORT + DataType.DT_INT32 -> org.nd4j.linalg.api.buffer.DataType.INT + DataType.DT_INT64 -> org.nd4j.linalg.api.buffer.DataType.LONG + DataType.DT_UINT8 -> org.nd4j.linalg.api.buffer.DataType.UBYTE + DataType.DT_STRING -> org.nd4j.linalg.api.buffer.DataType.UTF8 + DataType.DT_BOOL -> org.nd4j.linalg.api.buffer.DataType.BOOL + else -> org.nd4j.linalg.api.buffer.DataType.UNKNOWN + } +} + +/** + * @return True if the specified name represents a control dependency (starts with "^") + */ +fun isControlDep(name: String): Boolean { + return name.startsWith("^") +} + +/** + * @return The specified name without the leading "^" character (if any) that appears for control dependencies + */ +fun stripControl(name: String): String { + return if (name.startsWith("^")) { + name.substring(1) + } else name +} + +/** + * Remove the ":1" etc suffix for a variable name to get the op name + * + * @param varName Variable name + * @return Variable name without any number suffix + */ +fun stripVarSuffix(varName: String): String { + if (varName.matches(regex = Regex(".*:\\d+"))) { + val idx = varName.lastIndexOf(':') + return varName.substring(0, idx) + } + return varName +} + +/** + * Convert the tensor to an NDArray (if possible and if array is available) + * + * @param node Node to get NDArray from + * @return NDArray + */ +fun getNDArrayFromTensor(node: NodeDef): INDArray? { + //placeholder of some kind + if (!node.attrMap.containsKey("value")) { + return null + } + val tfTensor = node.getAttrOrThrow("value").tensor + return mapTensorProto(tfTensor) +} + +/** + * Convert a TensorProto to an INDArray + * + * @param tfTensor Tensor proto + * @return INDArray + */ +fun mapTensorProto(tfTensor: TensorProto): INDArray { + val m = TFTensorMappers.newMapper(tfTensor) ?: throw RuntimeException("Not implemented datatype: " + tfTensor.dtype) + return m.toNDArray() +} + +fun attributeValueTypeForTensorflowAttribute(attributeDef: AttrDef): AttributeValueType { + when(attributeDef.type) { + "list(bool)" -> return AttributeValueType.LIST_BOOL + "bool" -> return AttributeValueType.BOOL + "string" -> return AttributeValueType.STRING + "list(string)" -> return AttributeValueType.LIST_STRING + "int" -> return AttributeValueType.INT + "list(int)" -> return AttributeValueType.LIST_INT + "float" -> return AttributeValueType.FLOAT + "list(float)" -> return AttributeValueType.LIST_FLOAT + "tensor" -> return AttributeValueType.TENSOR + "list(tensor)" -> return AttributeValueType.LIST_TENSOR + "type" -> return AttributeValueType.DATA_TYPE + } + + return AttributeValueType.INVALID +} + + diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIRArgDef.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIRArgDef.kt new file mode 100644 index 000000000..37369331b --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIRArgDef.kt @@ -0,0 +1,48 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.ir + +import org.nd4j.samediff.frameworkimport.ir.IRArgDef +import org.nd4j.samediff.frameworkimport.ir.IRDataType +import org.tensorflow.framework.DataType +import org.tensorflow.framework.OpDef + +class TensorflowIRArgDef(input: OpDef.ArgDef): IRArgDef { + private val argDefValue = input + + override fun dataType(): IRDataType { + return TensorflowIRArgDef(argDefValue).dataType() + } + + override fun name(): String { + return argDefValue.name + } + + override fun description(): String { + return argDefValue.description + } + + override fun internalValue(): OpDef.ArgDef { + return argDefValue + } + + override fun indexOf(): Integer { + TODO("Not yet implemented") + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIRAttr.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIRAttr.kt new file mode 100644 index 000000000..80a9902d1 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIRAttr.kt @@ -0,0 +1,114 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.ir + +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.ir.IRDataType +import org.nd4j.samediff.frameworkimport.ir.IRTensor +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.tensorflow.framework.AttrValue +import org.tensorflow.framework.DataType +import org.tensorflow.framework.OpDef +import org.tensorflow.framework.TensorProto + +class TensorflowIRAttr(inputAttributeDef: OpDef.AttrDef, inputAttributeValue: AttrValue): + IRAttribute { + + private val attributeDef = inputAttributeDef + private val attributeValue = inputAttributeValue + + override fun name(): String { + return attributeDef.name + } + + override fun floatValue(): Float { + return attributeValue.f + } + + override fun listFloatValue(): List { + return attributeValue.list.fList + } + + + override fun intValue(): Long { + return attributeValue.i + } + + override fun listIntValue(): List { + return attributeValue.list.iList + } + + override fun boolValue(): Boolean { + return attributeValue.b + } + + override fun listBoolValue(): List { + return attributeValue.list.bList + } + + override fun attributeValueType(): AttributeValueType { + when(attributeDef.type) { + "list(bool)" -> return AttributeValueType.LIST_BOOL + "bool" -> return AttributeValueType.BOOL + "string" -> return AttributeValueType.STRING + "list(string)" -> return AttributeValueType.LIST_STRING + "int" -> return AttributeValueType.INT + "list(int)" -> return AttributeValueType.LIST_INT + "float" -> return AttributeValueType.FLOAT + "list(float)" -> return AttributeValueType.LIST_FLOAT + "tensor" -> return AttributeValueType.TENSOR + "list(tensor)" -> return AttributeValueType.LIST_TENSOR + "type" -> return AttributeValueType.DATA_TYPE + } + + return AttributeValueType.INVALID + } + + + + override fun internalAttributeDef(): OpDef.AttrDef { + return attributeDef + } + + override fun internalAttributeValue(): AttrValue { + return attributeValue + } + + override fun listTensorValue(): List> { + return attributeValue.list.tensorList.map { input -> + TensorflowIRTensor(input) + } + } + + override fun tensorValue(): IRTensor { + return TensorflowIRTensor(attributeValue.tensor) + } + + override fun stringValue(): String { + return attributeValue.s.toStringUtf8() + } + + override fun listStringValue(): List { + return attributeValue.list.sList.map { it.toStringUtf8() } + } + + override fun dataTataTypeValue(): IRDataType { + return TensorflowIRDataType(attributeValue.type) + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIRDataType.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIRDataType.kt new file mode 100644 index 000000000..83f001304 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIRDataType.kt @@ -0,0 +1,103 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.ir + +import org.nd4j.ir.TensorNamespace +import org.nd4j.samediff.frameworkimport.ir.IRDataType +import org.nd4j.samediff.frameworkimport.ir.IRDataTypeValue +import org.tensorflow.framework.DataType + +class TensorflowIRDataType(inputDataType: DataType): IRDataType { + val dataType = inputDataType + + override fun convertToDataType(input: DataType): IRDataTypeValue { + when(input) { + DataType.DT_BOOL, DataType.DT_BOOL_REF -> return IRDataTypeValue.DT_BOOL + DataType.DT_BFLOAT16, DataType.DT_BFLOAT16_REF -> return IRDataTypeValue.DT_BFLOAT16 + DataType.DT_COMPLEX128, DataType.DT_COMPLEX128_REF -> return IRDataTypeValue.DT_COMPLEX128 + DataType.DT_COMPLEX64, DataType.DT_COMPLEX64_REF -> return IRDataTypeValue.DT_COMPLEX64 + DataType.DT_DOUBLE, DataType.DT_DOUBLE_REF -> return IRDataTypeValue.DT_DOUBLE + DataType.DT_FLOAT, DataType.DT_FLOAT_REF -> return IRDataTypeValue.DT_FLOAT + DataType.DT_HALF, DataType.DT_HALF_REF -> return IRDataTypeValue.DT_HALF + DataType.DT_INT16, DataType.DT_INT16_REF -> return IRDataTypeValue.DT_INT16 + DataType.DT_INT32, DataType.DT_INT32_REF -> return IRDataTypeValue.DT_INT32 + DataType.DT_INT64, DataType.DT_INT64_REF -> return IRDataTypeValue.DT_INT64 + DataType.DT_QINT8, DataType.DT_QINT8_REF -> return IRDataTypeValue.DT_QINT8 + DataType.DT_QINT16, DataType.DT_QINT16_REF -> return IRDataTypeValue.DT_QINT16 + DataType.DT_QINT32, DataType.DT_QINT32_REF -> return IRDataTypeValue.DT_QINT32 + DataType.DT_STRING, DataType.DT_STRING_REF -> return IRDataTypeValue.DT_STRING + DataType.DT_UINT16, DataType.DT_UINT16_REF -> return IRDataTypeValue.DT_UINT16 + DataType.DT_UINT32, DataType.DT_UINT32_REF -> return IRDataTypeValue.DT_UINT32 + DataType.DT_UINT64, DataType.DT_UINT64_REF -> return IRDataTypeValue.DT_UINT64 + + } + + return IRDataTypeValue.DT_INVALID + } + + + + override fun dataType(): IRDataTypeValue { + return convertToDataType(this.dataType) + } + + override fun internalValue(): DataType { + return this.dataType + } + + override fun nd4jDataType(): org.nd4j.linalg.api.buffer.DataType { + when(this.dataType) { + DataType.DT_BOOL, DataType.DT_BOOL_REF -> return org.nd4j.linalg.api.buffer.DataType.BOOL + DataType.DT_FLOAT, DataType.DT_FLOAT_REF -> return org.nd4j.linalg.api.buffer.DataType.FLOAT + DataType.DT_STRING, DataType.DT_STRING_REF -> return org.nd4j.linalg.api.buffer.DataType.UTF8 + DataType.DT_BFLOAT16, DataType.DT_BFLOAT16_REF -> return org.nd4j.linalg.api.buffer.DataType.BFLOAT16 + DataType.DT_INT64, DataType.DT_INT64_REF -> return org.nd4j.linalg.api.buffer.DataType.INT64 + DataType.DT_HALF, DataType.DT_HALF_REF -> return org.nd4j.linalg.api.buffer.DataType.FLOAT16 + DataType.DT_INT16, DataType.DT_INT16_REF -> return org.nd4j.linalg.api.buffer.DataType.INT16 + DataType.DT_INT32, DataType.DT_INT32_REF -> return org.nd4j.linalg.api.buffer.DataType.INT32 + DataType.DT_DOUBLE, DataType.DT_DOUBLE_REF -> return org.nd4j.linalg.api.buffer.DataType.DOUBLE + DataType.DT_UINT16, DataType.DT_UINT16_REF -> return org.nd4j.linalg.api.buffer.DataType.UINT16 + DataType.DT_UINT32, DataType.DT_UINT32_REF -> return org.nd4j.linalg.api.buffer.DataType.UINT32 + DataType.DT_UINT64, DataType.DT_UINT64_REF -> return org.nd4j.linalg.api.buffer.DataType.UINT64 + } + + return org.nd4j.linalg.api.buffer.DataType.UNKNOWN + } + + override fun nameSpaceDataType(): TensorNamespace.DataType { + when(this.dataType) { + DataType.DT_BOOL, DataType.DT_BOOL_REF -> return TensorNamespace.DataType.BOOL + DataType.DT_FLOAT, DataType.DT_FLOAT_REF -> return TensorNamespace.DataType.FLOAT + DataType.DT_STRING, DataType.DT_STRING_REF -> return TensorNamespace.DataType.STRING + DataType.DT_BFLOAT16, DataType.DT_BFLOAT16_REF -> return TensorNamespace.DataType.BFLOAT16 + DataType.DT_INT64, DataType.DT_INT64_REF -> return TensorNamespace.DataType.INT64 + DataType.DT_HALF, DataType.DT_HALF_REF -> return TensorNamespace.DataType.FLOAT16 + DataType.DT_INT16, DataType.DT_INT16_REF -> return TensorNamespace.DataType.INT16 + DataType.DT_INT32, DataType.DT_INT32_REF -> return TensorNamespace.DataType.INT32 + DataType.DT_INT8,DataType.DT_INT8_REF -> return TensorNamespace.DataType.INT8 + DataType.DT_UINT8,DataType.DT_UINT8_REF -> return TensorNamespace.DataType.UINT8 + DataType.DT_DOUBLE, DataType.DT_DOUBLE_REF -> return TensorNamespace.DataType.DOUBLE + DataType.DT_UINT16, DataType.DT_UINT16_REF -> return TensorNamespace.DataType.UINT16 + DataType.DT_UINT32, DataType.DT_UINT32_REF -> return TensorNamespace.DataType.UINT32 + DataType.DT_UINT64, DataType.DT_UINT64_REF -> return TensorNamespace.DataType.UINT64 + } + + return TensorNamespace.DataType.UNDEFINED + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIRGraph.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIRGraph.kt new file mode 100644 index 000000000..288df1932 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIRGraph.kt @@ -0,0 +1,227 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.ir + +import org.nd4j.common.primitives.Counter +import org.nd4j.ir.OpNamespace +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.samediff.frameworkimport.context.MappingContext +import org.nd4j.samediff.frameworkimport.ir.IRDataType +import org.nd4j.samediff.frameworkimport.ir.IRGraph +import org.nd4j.samediff.frameworkimport.ir.IRNode +import org.nd4j.samediff.frameworkimport.ir.importInfoForEachNodeInGraph +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.registry.OpMappingRegistry +import org.nd4j.samediff.frameworkimport.tensorflow.* +import org.nd4j.samediff.frameworkimport.tensorflow.context.TensorflowMappingContext +import org.tensorflow.framework.* + +class TensorflowIRGraph(graphDef: GraphDef, opDef: OpList + ,tensorflowOpMappingRegistry: OpMappingRegistry): IRGraph< + GraphDef, + NodeDef, + OpDef, + TensorProto, + OpDef.AttrDef, + AttrValue, + DataType> { + + var graphDef = graphDef + val opDef = opDef + val tensorflowOpRegistry = tensorflowOpMappingRegistry + var inputs = ArrayList() + var outputs = ArrayList() + + + init { + val graphInputTo = Counter() + graphDef.nodeList.forEach { + it.inputList.forEach { inputName -> graphInputTo.incrementCount(inputName,1.0) } + //all placeholders are considered inputs + if(it.op.contains("Placeholder")) + inputs.add(it.name) + } + + graphDef.nodeList.forEach { + //node not input in to anything + if(graphInputTo.getCount(it.name) < 1) { + outputs.add(it.name) + } + } + } + + override fun nodeByName(input: String): NodeDef { + return graphDef.nodeByName(input) + } + + + override fun nodeList(): List> { + return graphDef.nodeList.map { + inputNode -> + TensorflowIRNode(inputNode, OpDescriptorLoaderHolder.listForFramework("tensorflow").values.first { input -> + input.name == inputNode.op + },tensorflowOpRegistry) + } + } + + override fun internalValue(): GraphDef { + return graphDef + } + + + + override fun createMappingContext( + opDef: OpDef, + node: NodeDef, + dynamicVariables: MutableMap + ): MappingContext { + return TensorflowMappingContext(opDef = opDef, graph = this, node = node, dynamicVariables = dynamicVariables) + } + + override fun frameworkName(): String { + return "tensorflow" + } + + override fun nd4jNameForInternalOpName(name: String): String { + return tensorflowOpRegistry.lookupOpMappingProcess(name).opName() + } + + override fun isConstantOpName(name: String): Boolean { + return name == "Const" || name == "Placeholder" + } + + override fun isConstant(opName: String): Boolean { + return opName == "Const" + } + + override fun isPlaceHolder(opName: String): Boolean { + return opName == "Placeholder" || opName == "PlaceholderWithDefault" + } + + override fun shapeOfInput(varName: String): LongArray? { + val attrMap = nodeByName(varName).attrMap + val shapeAvailable = attrMap.containsKey("shape") + var shape: LongArray? + shape = if (shapeAvailable) { + attrMap["shape"]!!.list.iList.toLongArray() + + } else { + //Some placeholders don't have any shape restrictions - i.e., accept anything... + null + } + + return shape + } + + override fun dataTypeForVariable(varName: String): IRDataType { + val node = nodeByName(varName) + val attrMap = node.attrMap + if(!attrMap.containsKey("dtype")) { + + val retSet = attrMap.values.filter { attrValue -> attrValue.type != DataType.DT_INVALID } + if(retSet.isEmpty()) { + return TensorflowIRDataType(DataType.DT_INVALID) + } else { + return TensorflowIRDataType(attrMap.values.filter { attrValue -> attrValue.type != DataType.DT_INVALID } + .first().type) + } + } else if(attrMap.containsKey("dtype")) { + return TensorflowIRDataType(attrMap["dtype"]!!.type) + } + + return TensorflowIRDataType(DataType.DT_INVALID) + } + + override fun importInfoForEachNode(dynamicVariables: MutableMap): Map, OpNamespace.OpDescriptor>> { + return importInfoForEachNodeInGraph(graph = this,dynamicVariables = dynamicVariables) + } + + override fun nodeIsPlaceHolder(nodeName: String): Boolean { + return isPlaceHolder(nodeByName(nodeName).op) + } + + override fun opMappingRegistry(): OpMappingRegistry { + return tensorflowOpRegistry + } + + override fun addConstantNode(nodeName: String, value: INDArray) { + val graphBuilder = graphDef.toBuilder() + val convertedTensor = convertNDArrayToTensorflowTensor(value) + val constant = NodeDef { + name = nodeName + op = "Const" + Attribute("value", org.nd4j.samediff.frameworkimport.tensorflow.AttrValue { + tensor = convertedTensor + }) + } + + graphBuilder.addNode(constant) + this.graphDef = graphBuilder.build() + } + + override fun updateNode(node: IRNode) { + val nodeByName = nodeByName(node.nodeName()) + val internalGraphDefBuilder = graphDef.toBuilder() + val indexOfNode = internalGraphDefBuilder.nodeList.indexOf(nodeByName) + internalGraphDefBuilder.setNode(indexOfNode,node.internalValue()) + this.graphDef = internalGraphDefBuilder.build() + } + + override fun graphOutputs(): List { + return outputs + } + + override fun outputAt(index: Int): String { + return outputs[index] + } + + override fun graphInputs(): List { + return inputs + } + + override fun setOutputs(outputs: List) { + this.outputs = outputs as ArrayList + } + + override fun inputAt(index: Int): String { + return inputs[index] + } + + override fun setInputs(inputs: List) { + this.inputs = inputs as ArrayList + } + + override fun isVariable(nodeName: String): Boolean { + return isVariableOpName(nodeByName(nodeName).op) + } + + override fun isVariableOpName(name: String): Boolean { + return name == "Variable" || name == "VariableV2" + } + + override fun getConstantArrayForName(name: String): INDArray { + val node = nodeByName(name) + if(!node.op.contains("Const")) { + throw IllegalArgumentException("Illegal op found ${node.op} for name $name") + } + + return TensorflowIRTensor(node.getAttrOrThrow("value").tensor).toNd4jNDArray() + } + + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIRGraphRunner.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIRGraphRunner.kt new file mode 100644 index 000000000..09dd4754f --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIRGraphRunner.kt @@ -0,0 +1,48 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.ir + +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.samediff.frameworkimport.ir.IRGraph +import org.nd4j.samediff.frameworkimport.runner.IRGraphRunner +import org.nd4j.tensorflow.conversion.graphrunner.GraphRunner +import org.tensorflow.framework.* + +class TensorflowIRGraphRunner(irGraph: TensorflowIRGraph, inputNames: List, outputNames: List): + IRGraphRunner { + + val irGraph = irGraph + val graphRunner: GraphRunner + init { + graphRunner = GraphRunner.builder() + .graphBytes(irGraph.graphDef.toByteArray()) + .inputNames(inputNames) + .outputNames(outputNames) + .build() + } + + + override fun graph(): IRGraph { + return irGraph + } + + override fun run(inputs: Map): Map { + return graphRunner.run(inputs) + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIRNode.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIRNode.kt new file mode 100644 index 000000000..eccc613c5 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIRNode.kt @@ -0,0 +1,211 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.ir + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.ir.IRNode +import org.nd4j.samediff.frameworkimport.ir.IRTensor +import org.nd4j.samediff.frameworkimport.lookupIndexForArgDescriptor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.registry.OpMappingRegistry +import org.nd4j.samediff.frameworkimport.tensorflow.AttrValue +import org.nd4j.samediff.frameworkimport.tensorflow.LongVal +import org.tensorflow.framework.* + +class TensorflowIRNode(inputNode: NodeDef, inputOpDef: OpDef,tensorflowOpMappingRegistry: OpMappingRegistry): + IRNode { + + private var nodeDef = inputNode + private val opDef = inputOpDef + private val attrDefsMap = attrDefsByName(inputOpDef.attrList) + private val attrMap: Map> = initAttrMapFromNode(inputNode) + private val opDescriptor: OpNamespace.OpDescriptor + private val tensorflowOpRegistry = tensorflowOpMappingRegistry + private val mappingProcess: MappingProcess = tensorflowOpRegistry.lookupOpMappingProcess(inputNode.op) + //private val inputs: List + //private val outputs: List + + init { + opDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + // inputs = opDescriptor.argDescriptorList.filter { argDescriptor -> argDescriptor.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR } + // outputs = opDescriptor.argDescriptorList.filter { argDescriptor -> argDescriptor.argType == OpNamespace.ArgDescriptor.ArgType.OUTPUT_TENSOR } + + } + + private fun attrDefsByName(input: List): Map { + val ret = HashMap() + input.forEach { + ret[it.name] = it + } + return ret + } + + private fun initAttrMapFromNode(input: NodeDef): Map> { + val ret = HashMap>() + input.attrMap.forEach { (key, value) -> + ret[key] = TensorflowIRAttr(attrDefsMap.getOrDefault(key, OpDef.AttrDef.getDefaultInstance()), value) + } + + return ret + } + + override fun opName(): String { + return nodeDef.op + } + + override fun nodeName(): String { + return nodeDef.name + } + + override fun inputAt(index: Int): String { + if(mappingProcess.indexOverrides().containsKey(index)) + return nodeDef.getInput(mappingProcess.indexOverrides()[index]!!) + return nodeDef.getInput(index) + } + + override fun outputAt(index: Int): String { + return opDef.outputArgList[index].name + } + + + + override fun hasAttribute(inputName: String): Boolean { + return nodeDef.containsAttr(inputName) + } + + override fun attributeMap(): Map> { + return attrMap + } + + override fun createInputsFrom(inputData: List): List> { + return inputData.map { TensorflowIRTensor(it) } + } + + override fun createOutputsFrom(inputValues: List): List> { + return inputValues.map { TensorflowIRTensor(it) } + } + + override fun getAttribute(inputName: String): IRAttribute { + return attrMap.getOrDefault(inputName, attrDefaultValue()) + } + + override fun internalValue(): NodeDef { + return nodeDef + } + + override fun numInputs(): Int { + return nodeDef.inputCount + } + + override fun numOutputs(): Int { + return opDef.outputArgCount + } + + override fun inputs(): List { + return nodeDef.inputList + } + + override fun outputs(): List { + return opDef.outputArgList.map { input -> input.name } + } + + /** + * Get the list of tensors given an OpDef name (note: this is no tthe name of the input, but instead the op name, we use this to look up + * the number attribute value and thus the number of inputs for a particular definition name.) + * Tensorflow also allows multiple sets of lists of tensors as inputs, so we need to make sure to disambiguate which list of inputs we are looking up. + */ + override fun numInputsForListOfTensors(name: String): Int { + return nodeDef.getAttrOrThrow(opDef.inputArgList.first { input -> input.name == name }.numberAttr).i.toInt() + } + + override fun inputNamesForListOfInputValues(inputListName: String): List { + val inputArgNames = opDef.inputArgList.map { argDef -> argDef.name } + val indexOfDef = inputArgNames.indexOf(inputListName) + if(indexOfDef < 0) + return emptyList() + var totalAmount: Long = 0 + for(i in 0 .. indexOfDef) { + if(opDef.getInputArg(i).numberAttr.isNotEmpty()) { + val numToAdd = nodeDef.getAttrOrDefault(opDef.getInputArg(i).numberAttr, AttrValue { + LongVal(1) + }).i + totalAmount += numToAdd + } + else + totalAmount++ + } + //note: this is inclusive + return nodeDef.inputList.subList(indexOfDef,totalAmount.toInt()) + } + + override fun computeAdjustedOffsetForInput( + nd4jName: String, + inputFrameworkName: String, + tensorInputMappings: Map + ): Int { + val baseIndex = lookupIndexForArgDescriptor( + argDescriptorName = nd4jName, + opDescriptorName = this.opDescriptor.name, + argDescriptorType = OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + ) + + val inputs = opDescriptor.argDescriptorList.filter { input -> input.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR } + var totalAmount: Long = 0 + for(i in 0 until baseIndex) { + val nd4jNameAtIndex = inputs.first {descriptor -> descriptor.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR && descriptor.argIndex == i}.name + if(!tensorInputMappings.containsKey(nd4jNameAtIndex)) { + throw IllegalArgumentException("Tensor input mapping with key $nd4jNameAtIndex not found! Keys were ${tensorInputMappings.keys}") + } + val inputFrameworkName = tensorInputMappings[nd4jNameAtIndex]!! + val totalNames = inputNamesForListOfInputValues(inputFrameworkName).size + totalAmount += totalNames + } + + if(totalAmount < 1) + return baseIndex + return (baseIndex + totalAmount.toInt()) - 1 + } + + override fun nd4jInputs(tensorMappings: Map): List { + val ret = ArrayList() + val indicesToNames = HashMap>() + tensorMappings.forEach { (nd4jName,inputFrameworkName) -> + val idx = computeAdjustedOffsetForInput(nd4jName,inputFrameworkName,tensorMappings) + val inputNamesForCurrInput = inputNamesForListOfInputValues(inputFrameworkName) + indicesToNames[idx] = inputNamesForCurrInput + } + + indicesToNames.toSortedMap().forEach { idx, names -> + ret.addAll(names.filter {!ret.contains(it)}) + } + + return ret + } + + override fun addInput(inputName: String) { + val newNode = nodeDef.toBuilder() + newNode.addInput(inputName) + this.nodeDef = newNode.build() + + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIROp.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIROp.kt new file mode 100644 index 000000000..b087f4957 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIROp.kt @@ -0,0 +1,56 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.ir + +import org.nd4j.samediff.frameworkimport.ir.IRArgDef +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.ir.IROpDef +import org.tensorflow.framework.* + +class TensorflowIROp(input: OpDef): + IROpDef { + + val opDef = input + + override fun attributes(): List> { + return opDef.attrList.map { + TensorflowIRAttr(it, AttrValue.getDefaultInstance()) + } + } + + override fun opName(): String { + return opDef.name + } + + override fun internalValue(): OpDef { + return opDef + } + + override fun inputArgs(): List> { + return opDef.inputArgList.map { + TensorflowIRArgDef(it) + } + } + + override fun outputArgs(): List> { + return opDef.outputArgList.map { + TensorflowIRArgDef(it) + } + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIRTensor.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIRTensor.kt new file mode 100644 index 000000000..5b5c32bb0 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/ir/TensorflowIRTensor.kt @@ -0,0 +1,127 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.ir + +import org.nd4j.ir.TensorNamespace +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.linalg.factory.Nd4j +import org.nd4j.samediff.frameworkimport.ir.IRDataType +import org.nd4j.samediff.frameworkimport.ir.IRTensor +import org.nd4j.samediff.frameworkimport.ndarrayFromNameSpaceTensor +import org.tensorflow.framework.DataType +import org.tensorflow.framework.TensorProto + +class TensorflowIRTensor(input: TensorProto): IRTensor { + + val tensor = input + + + override fun shape(): List { + return tensor.tensorShape.dimList.map { it.size } + + } + + override fun stride(): List { + return Nd4j.getStrides(shape().toTypedArray().toLongArray(), 'c').asList() + } + + override fun dataType(): IRDataType { + return TensorflowIRDataType(tensor.dtype) + } + + override fun toArgTensor(): TensorNamespace.TensorProto { + val builder = TensorNamespace.TensorProto.newBuilder() + .setDataLocation(TensorNamespace.TensorProto.DataLocation.DEFAULT) + + for(i in 0 until tensor.tensorShape.dimCount) { + builder.addDims(tensor.tensorShape.getDim(i).size) + } + + when(tensor.dtype) { + DataType.DT_UINT8 -> builder.dataType = TensorNamespace.DataType.UINT8.ordinal + DataType.DT_UINT16 -> builder.dataType = TensorNamespace.DataType.UINT16.ordinal + DataType.DT_INT8 -> builder.dataType = TensorNamespace.DataType.INT8.ordinal + DataType.DT_UINT64 -> builder.dataType = TensorNamespace.DataType.UINT64.ordinal + DataType.DT_UINT32 -> builder.dataType = TensorNamespace.DataType.UINT32.ordinal + DataType.DT_UINT16 -> builder.dataType = TensorNamespace.DataType.UINT16.ordinal + DataType.DT_HALF -> builder.dataType = TensorNamespace.DataType.FLOAT16.ordinal + DataType.DT_STRING -> builder.dataType = TensorNamespace.DataType.STRING.ordinal + DataType.DT_FLOAT -> builder.dataType = TensorNamespace.DataType.FLOAT.ordinal + DataType.DT_DOUBLE -> builder.dataType = TensorNamespace.DataType.DOUBLE.ordinal + DataType.DT_BOOL -> builder.dataType = TensorNamespace.DataType.BOOL.ordinal + DataType.DT_INT64 -> builder.dataType = TensorNamespace.DataType.INT64.ordinal + DataType.DT_INT32 -> builder.dataType = TensorNamespace.DataType.INT32.ordinal + DataType.DT_INT16 -> builder.dataType = TensorNamespace.DataType.INT16.ordinal + DataType.DT_BFLOAT16 -> builder.dataType = TensorNamespace.DataType.BFLOAT16.ordinal + DataType.DT_COMPLEX64 -> builder.dataType = TensorNamespace.DataType.COMPLEX64.ordinal + DataType.DT_COMPLEX128 -> builder.dataType = TensorNamespace.DataType.COMPLEX128.ordinal + DataType.UNRECOGNIZED -> builder.dataType = TensorNamespace.DataType.UNRECOGNIZED.ordinal + + } + + + if(tensor.doubleValList != null && tensor.doubleValCount > 0) { + builder.addAllDoubleData(tensor.doubleValList) + } + + if(tensor.stringValList != null && tensor.stringValCount > 0) { + builder.addAllStringData(tensor.stringValList) + } + + if(tensor.floatValList != null && tensor.floatValCount > 0) { + builder.addAllFloatData(tensor.floatValList) + } + + if(tensor.intValList != null && tensor.intValCount > 0) { + builder.addAllInt32Data(tensor.intValList) + } + + if(tensor.uint64ValList != null && tensor.uint64ValCount > 0) { + builder.addAllInt64Data(tensor.uint64ValList) + } + + if(tensor.int64ValList != null && tensor.int64ValCount > 0) { + builder.addAllInt64Data(tensor.int64ValList) + } + + if(tensor.halfValList != null && tensor.halfValCount > 0) { + builder.addAllHalfVal(tensor.halfValList) + } + + if(tensor.boolValList != null && tensor.boolValCount > 0) { + builder.addAllBoolVal(tensor.boolValList) + } + + if(tensor.tensorContent != null) { + builder.rawData = tensor.tensorContent + } + + + return builder.build() + } + + override fun rawValue(): TensorProto { + return tensor + } + + override fun toNd4jNDArray(): INDArray { + if(tensor.dtype == DataType.UNRECOGNIZED || tensor.dtype == DataType.DT_INVALID) + return Nd4j.empty() + return ndarrayFromNameSpaceTensor(toArgTensor()) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/opdefs/TensorflowOpDescriptorLoader.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/opdefs/TensorflowOpDescriptorLoader.kt new file mode 100644 index 000000000..66348ec35 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/opdefs/TensorflowOpDescriptorLoader.kt @@ -0,0 +1,99 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.opdefs + +import org.apache.commons.io.IOUtils +import org.nd4j.common.io.ClassPathResource +import org.nd4j.ir.MapperNamespace +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoader +import org.nd4j.samediff.frameworkimport.opdefs.nd4jFileNameTextDefault +import org.nd4j.samediff.frameworkimport.opdefs.nd4jFileSpecifierProperty +import org.nd4j.samediff.frameworkimport.registry.OpMappingRegistry +import org.nd4j.samediff.frameworkimport.tensorflow.process.TensorflowMappingProcessLoader +import org.nd4j.shade.protobuf.GeneratedMessageV3 +import org.nd4j.shade.protobuf.ProtocolMessageEnum +import org.nd4j.shade.protobuf.TextFormat +import org.tensorflow.framework.* +import java.nio.charset.Charset + +class TensorflowOpDescriptorLoader: OpDescriptorLoader { + + val tensorflowFileNameTextDefault = "tensorflow-op-def.pbtxt" + val tensorflowFileSpecifierProperty = "samediff.import.tensorflowdescriptors" + + val tensorflowMappingRulSetDefaultFile = "tensorflow-mapping-ruleset.pbtxt" + val tensorflowRulesetSpecifierProperty = "samediff.import.tensorflowmappingrules" + val nd4jOpDescriptors = nd4jOpList() + var mapperDefSet: MapperNamespace.MappingDefinitionSet? = mappingProcessDefinitionSet() + var cachedOpList: Map? = inputFrameworkOpDescriptorList() + override fun frameworkName(): String { + return "tensorflow" + } + + override fun nd4jOpList(): OpNamespace.OpDescriptorList { + val fileName = System.getProperty(nd4jFileSpecifierProperty, nd4jFileNameTextDefault) + val nd4jOpDescriptorResourceStream = ClassPathResource(fileName).inputStream + val resourceString = IOUtils.toString(nd4jOpDescriptorResourceStream, Charset.defaultCharset()) + val descriptorListBuilder = OpNamespace.OpDescriptorList.newBuilder() + TextFormat.merge(resourceString,descriptorListBuilder) + val ret = descriptorListBuilder.build() + val mutableList = ArrayList(ret.opListList) + mutableList.sortBy { it.name } + + val newResultBuilder = OpNamespace.OpDescriptorList.newBuilder() + newResultBuilder.addAllOpList(mutableList) + return newResultBuilder.build() + } + + override fun inputFrameworkOpDescriptorList(): Map { + if(cachedOpList != null) { + return cachedOpList!! + } + val fileName = System.getProperty(tensorflowFileSpecifierProperty, tensorflowFileNameTextDefault) + val string = IOUtils.toString(ClassPathResource(fileName).inputStream, Charset.defaultCharset()) + val tfListBuilder = OpList.newBuilder() + TextFormat.merge(string, tfListBuilder) + val ret = HashMap() + tfListBuilder.build().opList.forEach { opDef -> + ret[opDef.name] = opDef + } + + return ret + } + + + + override fun mappingProcessDefinitionSet(): MapperNamespace.MappingDefinitionSet { + if(mapperDefSet != null) + return mapperDefSet!! + val fileName = System.getProperty(tensorflowRulesetSpecifierProperty, tensorflowMappingRulSetDefaultFile) + val string = IOUtils.toString(ClassPathResource(fileName).inputStream, Charset.defaultCharset()) + val declarationBuilder = MapperNamespace.MappingDefinitionSet.newBuilder() + TextFormat.merge(string,declarationBuilder) + return declarationBuilder.build() + } + + override fun createOpMappingRegistry(): OpMappingRegistry { + val tensorflowOpMappingRegistry = OpMappingRegistry("tensorflow",nd4jOpDescriptors) + val loader = TensorflowMappingProcessLoader(tensorflowOpMappingRegistry) + val mappingProcessDefs = mappingProcessDefinitionSet() + tensorflowOpMappingRegistry.loadFromDefinitions(mappingProcessDefs,loader) + return tensorflowOpMappingRegistry as OpMappingRegistry + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/process/TensorflowMappingProcess.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/process/TensorflowMappingProcess.kt new file mode 100644 index 000000000..823ef13bb --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/process/TensorflowMappingProcess.kt @@ -0,0 +1,71 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.process + + +import org.nd4j.common.base.Preconditions +import org.nd4j.samediff.frameworkimport.process.AbstractMappingProcess +import org.nd4j.samediff.frameworkimport.registry.OpMappingRegistry +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeMappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.tensor.TensorMappingRule +import org.nd4j.samediff.frameworkimport.tensorflow.ir.attributeValueTypeForTensorflowAttribute +import org.tensorflow.framework.* + +open class TensorflowMappingProcess(inputFramework: String = "tensorflow", + frameworkVersion: String = "2.3", + inputFrameworkOpName: String, + opName: String, + opMappingRegistry: OpMappingRegistry, + tensorMappingRules: List> = emptyList(), + attributeMappingRules: List> = emptyList(), + inputIndexOverrides: Map = emptyMap()) + : AbstractMappingProcess( + inputFramework, + frameworkVersion, + inputFrameworkOpName, + inputIndexOverrides, + opName, + opMappingRegistry, + tensorMappingRules, + attributeMappingRules) { + override fun inputOpDefValueTypes(): Map { + Preconditions.checkNotNull(inputFrameworkOpName,"No input framework op def name found!") + val opDef = opMappingRegistry.lookupInputFrameworkOpDef(inputFrameworkOpName) + val retMap = HashMap() + opDef.attrList.forEach { attrDef -> + retMap[attrDef.name] = attributeValueTypeForTensorflowAttribute(attrDef) + } + + return retMap + + } + +} + + diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/process/TensorflowMappingProcessLoader.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/process/TensorflowMappingProcessLoader.kt new file mode 100644 index 000000000..417102395 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/process/TensorflowMappingProcessLoader.kt @@ -0,0 +1,52 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.process + +import org.nd4j.samediff.frameworkimport.process.AbstractMappingProcessLoader +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.registry.OpMappingRegistry +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeMappingRule +import org.nd4j.samediff.frameworkimport.rule.tensor.TensorMappingRule +import org.tensorflow.framework.* + +class TensorflowMappingProcessLoader(opMappingRegistry: OpMappingRegistry): + AbstractMappingProcessLoader(opMappingRegistry) { + + + override fun frameworkName(): String { + return "tensorflow" + } + + override fun instantiateMappingProcess( + inputFrameworkOpName: String, + opName: String, + attributeMappingRules: List>, + tensorMappingRules: List>, + opMappingRegistry: OpMappingRegistry, + indexOverrides: Map + ): MappingProcess { + return TensorflowMappingProcess( + inputFrameworkOpName = inputFrameworkOpName, + opName = opName, + attributeMappingRules = attributeMappingRules, + tensorMappingRules = tensorMappingRules, + opMappingRegistry = opMappingRegistry, + inputIndexOverrides = indexOverrides) + + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowArgDescriptorConstant.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowArgDescriptorConstant.kt new file mode 100644 index 000000000..e0b246c0d --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowArgDescriptorConstant.kt @@ -0,0 +1,80 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.ArgDescriptorConstant +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRAttr +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowAttributeName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowTensorName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.tensorflowAttributeValueTypeFor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","argdescriptorconstant","attribute") +class TensorflowArgDescriptorConstant(mappingNamesToPerform: Map, transformerArgs: Map>) + : ArgDescriptorConstant(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(inputAttributeValue = attributeValueType, inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowTensorName(name, opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowAttributeName(name, opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return tensorflowAttributeValueTypeFor(attributeName = name, opDef = opDef) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowAttributeNDArrayToScalarAttribute.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowAttributeNDArrayToScalarAttribute.kt new file mode 100644 index 000000000..0f23cf04c --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowAttributeNDArrayToScalarAttribute.kt @@ -0,0 +1,80 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeNDArrayToScalarAttribute +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRAttr +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowAttributeName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowTensorName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.tensorflowAttributeValueTypeFor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","attributendarraytoscalarattribute","attribute") +class TensorflowAttributeNDArrayToScalarAttribute(mappingNamesToPerform: Map, transformerArgs: Map>) + : AttributeNDArrayToScalarAttribute(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(inputAttributeValue = attributeValueType, inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowTensorName(name, opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowAttributeName(name, opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return tensorflowAttributeValueTypeFor(attributeName = name, opDef = opDef) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowAttributeNumberListNDArray.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowAttributeNumberListNDArray.kt new file mode 100644 index 000000000..37acc1a75 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowAttributeNumberListNDArray.kt @@ -0,0 +1,79 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeNumberListNDArray +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRAttr +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowAttributeName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowTensorName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.tensorflowAttributeValueTypeFor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","convertinputnumberlisttondarray","attribute") +class TensorflowAttributeNumberListNDArray(mappingNamesToPerform: Map, transformerArgs: Map>) : AttributeNumberListNDArray(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(inputAttributeValue = attributeValueType, inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowTensorName(name, opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowAttributeName(name, opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return tensorflowAttributeValueTypeFor(attributeName = name, opDef = opDef) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowAttributeScalarNDArrayAttribute.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowAttributeScalarNDArrayAttribute.kt new file mode 100644 index 000000000..1ebb58a61 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowAttributeScalarNDArrayAttribute.kt @@ -0,0 +1,82 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeScalarNDArrayAttribute +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRAttr +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowAttributeName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowTensorName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.tensorflowAttributeValueTypeFor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","attributescalarndarrayattribute","attribute") +class TensorflowAttributeScalarNDArrayAttribute(mappingNamesToPerform: Map = emptyMap(), + transformerArgs: Map> = emptyMap()) : + AttributeScalarNDArrayAttribute + ( mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowTensorName(name, opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowAttributeName(name, opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return tensorflowAttributeValueTypeFor(attributeName = name, opDef = opDef) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowConditionalFieldValueIntIndexArrayRule.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowConditionalFieldValueIntIndexArrayRule.kt new file mode 100644 index 000000000..de8d2aa1a --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowConditionalFieldValueIntIndexArrayRule.kt @@ -0,0 +1,87 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.ConditionalFieldValueIntIndexArrayRule +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRAttr +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowAttributeName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowTensorName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.tensorflowAttributeValueTypeFor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","conditionalfieldvalueintindex","attribute") +class TensorflowConditionalFieldValueIntIndexArrayRule + (mappingNamesToPerform: Map, transformerArgs: Map>) : + ConditionalFieldValueIntIndexArrayRule + (mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowTensorName(name, opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess< + GraphDef, OpDef, NodeDef, TensorProto, OpDef.AttrDef, AttrValue, DataType> + ): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowAttributeName(name, opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return tensorflowAttributeValueTypeFor(attributeName = name, opDef = opDef) + } + + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowConditionalFieldValueIntIndexNDArrayRule.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowConditionalFieldValueIntIndexNDArrayRule.kt new file mode 100644 index 000000000..5549b9bf0 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowConditionalFieldValueIntIndexNDArrayRule.kt @@ -0,0 +1,86 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.ConditionalFieldValueIntIndexNDArrayRule +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRAttr +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowAttributeName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowTensorName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.tensorflowAttributeValueTypeFor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","conditionalfieldvalueintindexndarray","attribute") +class TensorflowConditionalFieldValueIntIndexNDArrayRule + (mappingNamesToPerform: Map, transformerArgs: Map>) : + ConditionalFieldValueIntIndexNDArrayRule + (mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowTensorName(name, opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess< + GraphDef, OpDef, NodeDef, TensorProto, OpDef.AttrDef, AttrValue, DataType>): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowAttributeName(name, opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return tensorflowAttributeValueTypeFor(attributeName = name, opDef = opDef) + } + + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowDataTypeToInt.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowDataTypeToInt.kt new file mode 100644 index 000000000..c381ba0a8 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowDataTypeToInt.kt @@ -0,0 +1,78 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.DataTypeToInt +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRAttr +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowAttributeName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowTensorName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.tensorflowAttributeValueTypeFor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","datatypetoint","attribute") +class TensorflowDataTypeToInt(mappingNamesToPerform: Map, transformerArgs: Map>) : + DataTypeToInt(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(inputAttributeValue = attributeValueType, inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + return isTensorflowTensorName(name, opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + return isTensorflowAttributeName(name, opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return tensorflowAttributeValueTypeFor(attributeName = name, opDef = opDef) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowFlattenDims.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowFlattenDims.kt new file mode 100644 index 000000000..9831fff6c --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowFlattenDims.kt @@ -0,0 +1,81 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.ArgDescriptorConstant +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.FlattenDims +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRAttr +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowAttributeName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowTensorName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.tensorflowAttributeValueTypeFor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","flattendims","attribute") +class TensorflowFlattenDims(mappingNamesToPerform: Map, transformerArgs: Map>) + : FlattenDims(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(inputAttributeValue = attributeValueType, inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowTensorName(name, opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowAttributeName(name, opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return tensorflowAttributeValueTypeFor(attributeName = name, opDef = opDef) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowInvertBooleanNumber.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowInvertBooleanNumber.kt new file mode 100644 index 000000000..340e79e75 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowInvertBooleanNumber.kt @@ -0,0 +1,80 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.InvertBooleanNumber +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRAttr +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowAttributeName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowTensorName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.tensorflowAttributeValueTypeFor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","invertbooleannumber","attribute") +class TensorflowInvertBooleanNumber(mappingNamesToPerform: Map, transformerArgs: Map>) : + InvertBooleanNumber(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowTensorName(name, opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowAttributeName(name, opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return tensorflowAttributeValueTypeFor(attributeName = name, opDef = opDef) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowListAttributeValueLookupToIndex.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowListAttributeValueLookupToIndex.kt new file mode 100644 index 000000000..588f4369b --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowListAttributeValueLookupToIndex.kt @@ -0,0 +1,76 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.ListAttributeValueLookupToIndex +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRAttr +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowAttributeName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowTensorName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.tensorflowAttributeValueTypeFor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","listattributevaluelookuptoindex","attribute") +class TensorflowListAttributeValueLookupToIndex(mappingNamesToPerform: Map, transformerArgs: Map>) : ListAttributeValueLookupToIndex(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(inputAttributeValue = attributeValueType, inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + return isTensorflowTensorName(name, opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + return isTensorflowAttributeName(name, opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + return tensorflowAttributeValueTypeFor(attributeName = name, opDef = opDef) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowListNumberToListNumber.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowListNumberToListNumber.kt new file mode 100644 index 000000000..1790caee0 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowListNumberToListNumber.kt @@ -0,0 +1,76 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.ListNumberToListNumber +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRAttr +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowAttributeName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowTensorName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.tensorflowAttributeValueTypeFor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","listnumbertolistnumber","attribute") +class TensorflowListNumberToListNumber(mappingNamesToPerform: Map, transformerArgs: Map>) : ListNumberToListNumber(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(inputAttributeValue = attributeValueType, inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + return isTensorflowTensorName(name, opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + return isTensorflowAttributeName(name, opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + return tensorflowAttributeValueTypeFor(attributeName = name, opDef = opDef) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowListNumberToNDArray.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowListNumberToNDArray.kt new file mode 100644 index 000000000..8e413c43b --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowListNumberToNDArray.kt @@ -0,0 +1,81 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.ListNumberToNDArray +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRAttr +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowAttributeName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowTensorName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.tensorflowAttributeValueTypeFor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","listnumbertondarray","attribute") +class TensorflowListNumberToNDArray(mappingNamesToPerform: Map, transformerArgs: Map>) : + ListNumberToNDArray(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(inputAttributeValue = attributeValueType, inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow").values.first { input -> + input.name == mappingProcess.inputFrameworkOpName() + } + return isTensorflowTensorName(name, opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + return isTensorflowAttributeName(name, opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow").values.first { input -> + input.name == mappingProcess.inputFrameworkOpName() + } + return tensorflowAttributeValueTypeFor(attributeName = name, opDef = opDef) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowMapStringToInt.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowMapStringToInt.kt new file mode 100644 index 000000000..7a3cb857e --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowMapStringToInt.kt @@ -0,0 +1,79 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.MapStringToInt +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRAttr +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowAttributeName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowTensorName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.tensorflowAttributeValueTypeFor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","mapstringtoindex","attribute") +class TensorflowMapStringToInt(mappingNamesToPerform: Map, transformerArgs: Map>) : MapStringToInt(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(inputAttributeValue = attributeValueType, inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowTensorName(name, opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowAttributeName(name, opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return tensorflowAttributeValueTypeFor(attributeName = name, opDef = opDef) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowNDArrayAttributeToNDArrayInput.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowNDArrayAttributeToNDArrayInput.kt new file mode 100644 index 000000000..eba468ed5 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowNDArrayAttributeToNDArrayInput.kt @@ -0,0 +1,80 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.NDArrayAttributeToNDArrayInput +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRAttr +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowAttributeName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowTensorName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.tensorflowAttributeValueTypeFor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","ndarrayinputtondarray","attribute") +class TensorflowNDArrayAttributeToNDArrayInput(mappingNamesToPerform: Map, transformerArgs: Map>) : + NDArrayAttributeToNDArrayInput(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(inputAttributeValue = attributeValueType, inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowTensorName(name, opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowAttributeName(name, opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return tensorflowAttributeValueTypeFor(attributeName = name, opDef = opDef) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowNDArrayExtractScalarValue.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowNDArrayExtractScalarValue.kt new file mode 100644 index 000000000..0dc8164ff --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowNDArrayExtractScalarValue.kt @@ -0,0 +1,82 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.NDArrayExtractScalarValue +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRAttr +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowAttributeName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowTensorName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.tensorflowAttributeValueTypeFor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","ndarrayextractscalarvalue","attribute") +class TensorflowNDArrayExtractScalarValue(mappingNamesToPerform: Map = emptyMap(), + transformerArgs: Map> = emptyMap()) : + NDArrayExtractScalarValue + ( mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowTensorName(name, opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowAttributeName(name, opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return tensorflowAttributeValueTypeFor(attributeName = name, opDef = opDef) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowNDArrayInputToNumericalAttribute.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowNDArrayInputToNumericalAttribute.kt new file mode 100644 index 000000000..6993b0dd9 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowNDArrayInputToNumericalAttribute.kt @@ -0,0 +1,80 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.NDArrayInputToNumericalAttribute +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRAttr +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowAttributeName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowTensorName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.tensorflowAttributeValueTypeFor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","ndarrayinputtonumericalattribute","attribute") +class TensorflowNDArrayInputToNumericalAttribute(mappingNamesToPerform: Map, transformerArgs: Map>) : + NDArrayInputToNumericalAttribute(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(inputAttributeValue = attributeValueType, inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowTensorName(name, opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowAttributeName(name, opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return tensorflowAttributeValueTypeFor(attributeName = name, opDef = opDef) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowNDArraySizeAt.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowNDArraySizeAt.kt new file mode 100644 index 000000000..0b709a6f2 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowNDArraySizeAt.kt @@ -0,0 +1,80 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.NDArraySizeAtRule +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRAttr +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowAttributeName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowTensorName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.tensorflowAttributeValueTypeFor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","ndarraysizeat","attribute") +class TensorflowNDArraySizeAt(mappingNamesToPerform: Map, transformerArgs: Map>): + NDArraySizeAtRule(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowTensorName(name, opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowAttributeName(name, opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return tensorflowAttributeValueTypeFor(attributeName = name, opDef = opDef) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowNDArrayToIntAttributeValue.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowNDArrayToIntAttributeValue.kt new file mode 100644 index 000000000..d3022c421 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowNDArrayToIntAttributeValue.kt @@ -0,0 +1,79 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.NDArrayToIntAttributeValue +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRAttr +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowAttributeName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowTensorName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.tensorflowAttributeValueTypeFor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","ndarraytointattributevalue","attribute") +class TensorflowNDArrayToIntAttributeValue(mappingNamesToPerform: Map) : NDArrayToIntAttributeValue(mappingNamesToPerform = mappingNamesToPerform,transformerArgs = emptyMap()) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowTensorName(name, opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowAttributeName(name, opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return tensorflowAttributeValueTypeFor(attributeName = name, opDef = opDef) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowNdArrayToStringIndex.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowNdArrayToStringIndex.kt new file mode 100644 index 000000000..e39b90c28 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowNdArrayToStringIndex.kt @@ -0,0 +1,79 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.StringToInt +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRAttr +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowAttributeName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowTensorName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.tensorflowAttributeValueTypeFor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","stringtoindex","attribute") +class TensorflowNdArrayToStringIndex(mappingNamesToPerform: Map, transformerArgs: Map>) : StringToInt(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(inputAttributeValue = attributeValueType, inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowTensorName(name, opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowAttributeName(name, opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return tensorflowAttributeValueTypeFor(attributeName = name, opDef = opDef) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowStringAttributeToNDArray.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowStringAttributeToNDArray.kt new file mode 100644 index 000000000..19f151ea8 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowStringAttributeToNDArray.kt @@ -0,0 +1,79 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.StringAttributeToNDArray +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRAttr +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowAttributeName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowTensorName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.tensorflowAttributeValueTypeFor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","convertinputstringtondarray","attribute") +class TensorflowStringAttributeToNDArray(mappingNamesToPerform: Map, transformerArgs: Map>) : StringAttributeToNDArray(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(inputAttributeValue = attributeValueType, inputAttributeDef = attrDef) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowTensorName(name, opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowAttributeName(name, opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return tensorflowAttributeValueTypeFor(attributeName = name, opDef = opDef) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowStringContainsAdapterRule.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowStringContainsAdapterRule.kt new file mode 100644 index 000000000..d72e981ae --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowStringContainsAdapterRule.kt @@ -0,0 +1,82 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.StringContainsAdapterRule +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRAttr +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowAttributeName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowTensorName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.tensorflowAttributeValueTypeFor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","stringcontains","attribute") +class TensorflowStringContainsAdapterRule(mappingNamesToPerform: Map = emptyMap(), + transformerArgs: Map> = emptyMap()) : + StringContainsAdapterRule + ( mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowTensorName(name, opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowAttributeName(name, opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return tensorflowAttributeValueTypeFor(attributeName = name, opDef = opDef) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowStringEqualsAdapterRule.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowStringEqualsAdapterRule.kt new file mode 100644 index 000000000..c2c986f92 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowStringEqualsAdapterRule.kt @@ -0,0 +1,83 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.StringEqualsAdapterRule +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRAttr +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowAttributeName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowTensorName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.tensorflowAttributeValueTypeFor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","stringequals","attribute") +class TensorflowStringEqualsAdapterRule(mappingNamesToPerform: Map = emptyMap(), + transformerArgs: Map> = emptyMap()) : + StringEqualsAdapterRule + ( mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowTensorName(name, opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowAttributeName(name, opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return tensorflowAttributeValueTypeFor(attributeName = name, opDef = opDef) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowStringNotEqualsAdapterRule.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowStringNotEqualsAdapterRule.kt new file mode 100644 index 000000000..ef3680934 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowStringNotEqualsAdapterRule.kt @@ -0,0 +1,89 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.StringNotEqualsAdapterRule +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRAttr +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowAttributeName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowTensorName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.tensorflowAttributeValueTypeFor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","stringnotequalsadapterrule","attribute") +class TensorflowStringNotEqualsAdapterRule(mappingNamesToPerform: Map = emptyMap(), + transformerArgs: Map> = emptyMap()) : + StringNotEqualsAdapterRule + ( mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowTensorName(name, opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, + mappingProcess: MappingProcess + ): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowAttributeName(name, opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, + mappingProcess: + MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + + return tensorflowAttributeValueTypeFor(attributeName = name, opDef = opDef) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowValueMappingRule.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowValueMappingRule.kt new file mode 100644 index 000000000..681218b11 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/attribute/TensorflowValueMappingRule.kt @@ -0,0 +1,80 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.rule.attribute + +import org.nd4j.ir.OpNamespace +import org.nd4j.samediff.frameworkimport.argDescriptorType +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.ir.IRAttribute +import org.nd4j.samediff.frameworkimport.isNd4jTensorName +import org.nd4j.samediff.frameworkimport.isOutputFrameworkAttributeName +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.process.MappingProcess +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.attribute.AttributeValueType +import org.nd4j.samediff.frameworkimport.rule.attribute.ValueMapping +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRAttr +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowAttributeName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.isTensorflowTensorName +import org.nd4j.samediff.frameworkimport.tensorflow.ir.tensorflowAttributeValueTypeFor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","valuemapping","attribute") +class TensorflowValueMappingRule(mappingNamesToPerform: Map, transformerArgs: Map>) : + ValueMapping(mappingNamesToPerform, transformerArgs) { + + override fun createIRAttribute(name: String, attrDef: OpDef.AttrDef, attributeValueType: AttrValue): IRAttribute { + return TensorflowIRAttr(attrDef, attributeValueType) + } + + override fun convertAttributesReverse(allInputArguments: List, inputArgumentsToProcess: List): List> { + TODO("Not yet implemented") + } + override fun isInputFrameworkTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowTensorName(name, opDef) + } + + override fun isNd4jTensorName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isNd4jTensorName(name,nd4jOpDescriptor) + } + + override fun isInputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return isTensorflowAttributeName(name, opDef) + } + + override fun isOutputFrameworkAttributeName(name: String, mappingProcess: MappingProcess): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return isOutputFrameworkAttributeName(name,nd4jOpDescriptor) + } + + override fun argDescriptorType(name: String, mappingProcess: MappingProcess): OpNamespace.ArgDescriptor.ArgType { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess.opName()) + return argDescriptorType(name,nd4jOpDescriptor) + } + + override fun attributeValueTypeFor(name: String, mappingProcess: MappingProcess): AttributeValueType { + val opDef = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess.inputFrameworkOpName()]!! + + return tensorflowAttributeValueTypeFor(attributeName = name, opDef = opDef) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/tensor/NDArrayMappingRule.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/tensor/NDArrayMappingRule.kt new file mode 100644 index 000000000..e05205458 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/tensor/NDArrayMappingRule.kt @@ -0,0 +1,56 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.rule.tensor + +import org.nd4j.ir.OpNamespace +import org.nd4j.ir.TensorNamespace +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.tensor.BaseNDArrayMappingRule +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRTensor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","ndarraymapping","tensor") +class NDArrayMappingRule(mappingNamesToPerform: MutableMap, + transformerArgs: Map> = emptyMap()): + BaseNDArrayMappingRule(mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) { + + + + override fun createTensorProto(input: TensorProto): TensorNamespace.TensorProto { + return TensorflowIRTensor(input).toArgTensor() + } + + + override fun isInputTensorName(inputName: String): Boolean { + if(mappingProcess == null) + throw IllegalArgumentException("No mapping process found for rule!") + if(!OpDescriptorLoaderHolder.listForFramework("tensorflow").containsKey(mappingProcess!!.inputFrameworkOpName())) + throw java.lang.IllegalArgumentException("No op definition found for op name ${mappingProcess!!.inputFrameworkOpName()}") + val tfOp = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess!!.inputFrameworkOpName()]!! + + return tfOp.inputArgList.map { input -> input.name }.contains(inputName) + } + + override fun isOutputTensorName(outputName: String): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess!!.opName()) + return nd4jOpDescriptor.argDescriptorList.filter { inputDescriptor -> inputDescriptor.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR } + .map {inputDescriptor -> inputDescriptor.name }.contains(outputName) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/tensor/TensorflowMultiInputIndexMappingRule.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/tensor/TensorflowMultiInputIndexMappingRule.kt new file mode 100644 index 000000000..942f81e29 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/rule/tensor/TensorflowMultiInputIndexMappingRule.kt @@ -0,0 +1,52 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.rule.tensor + +import org.nd4j.ir.OpNamespace +import org.nd4j.ir.TensorNamespace +import org.nd4j.samediff.frameworkimport.findOp +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.rule.MappingRule +import org.nd4j.samediff.frameworkimport.rule.tensor.MultiInputIndexMappingRule +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRTensor +import org.tensorflow.framework.* + +@MappingRule("tensorflow","multiinputindex","tensor") +class TensorflowMultiInputIndexMappingRule(mappingNamesToPerform: MutableMap, + transformerArgs: Map> = emptyMap()): + MultiInputIndexMappingRule(mappingNamesToPerform = mappingNamesToPerform, transformerArgs = transformerArgs) { + + + + override fun createTensorProto(input: TensorProto): TensorNamespace.TensorProto { + return TensorflowIRTensor(input).toArgTensor() + } + + + override fun isInputTensorName(inputName: String): Boolean { + val tfOp = OpDescriptorLoaderHolder.listForFramework("tensorflow")[mappingProcess!!.inputFrameworkOpName()]!! + + return tfOp.inputArgList.map { input -> input.name }.contains(inputName) + } + + override fun isOutputTensorName(outputName: String): Boolean { + val nd4jOpDescriptor = OpDescriptorLoaderHolder.nd4jOpDescriptor.findOp(mappingProcess!!.opName()) + return nd4jOpDescriptor.argDescriptorList.filter { inputDescriptor -> inputDescriptor.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR } + .map {inputDescriptor -> inputDescriptor.name }.contains(outputName) + } +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/resources/META-INF/services/org.nd4j.samediff.frameworkimport.ImportGraphHolder b/nd4j/samediff-import/samediff-import-tensorflow/src/main/resources/META-INF/services/org.nd4j.samediff.frameworkimport.ImportGraphHolder new file mode 100644 index 000000000..2db766f25 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/resources/META-INF/services/org.nd4j.samediff.frameworkimport.ImportGraphHolder @@ -0,0 +1,37 @@ +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +# +# /* ****************************************************************************** +# * Copyright (c) 2021 Deeplearning4j Contributors +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +org.nd4j.samediff.frameworkimport.tensorflow.TensorflowImportGraph \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/resources/META-INF/services/org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoader b/nd4j/samediff-import/samediff-import-tensorflow/src/main/resources/META-INF/services/org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoader new file mode 100644 index 000000000..c62d759a6 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/resources/META-INF/services/org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoader @@ -0,0 +1,37 @@ +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +# +# /* ****************************************************************************** +# * Copyright (c) 2021 Deeplearning4j Contributors +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +org.nd4j.samediff.frameworkimport.tensorflow.opdefs.TensorflowOpDescriptorLoader \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/resources/tensorflow-mapping-ruleset.pbtxt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/resources/tensorflow-mapping-ruleset.pbtxt new file mode 100644 index 000000000..7f68d7c90 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/resources/tensorflow-mapping-ruleset.pbtxt @@ -0,0 +1,16099 @@ +mappings { + frameworkName: "tensorflow" + opName: "unique" + inputFrameworkOpName: "UniqueV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "UniqueV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "conv2d" + inputFrameworkOpName: "Conv2D" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "filter" + outputTensorName: "input" + outputTensorName: "weights" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "weights" + value: "filter" + } + ruleType: "tensor" + inputFrameworkOpName: "Conv2D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 4 + } + } + inputFrameworkOpName: "Conv2D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 5 + } + } + inputFrameworkOpName: "Conv2D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "wFormat" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "wFormat" + argType: INT64 + argIndex: 10 + } + } + inputFrameworkOpName: "Conv2D" + } + rule { + ruleName: "stringnotequalsadapterrule" + functionName: "stringnotequalsadapterrule" + inputStringAttrName: "data_format" + outputIntName: "isNCHW" + inputFloatName: "data_format" + inputToOutput { + key: "isNCHW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "isNCHW" + transformerArgs { + name: "data_format" + argIndex: 9 + stringValue: "NCHW" + } + } + inputFrameworkOpName: "Conv2D" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "padding" + inputStringAttrName: "padding" + outputIntName: "isSameMode" + inputToOutput { + key: "isSameMode" + value: "padding" + } + ruleType: "attribute" + transformerArgs { + key: "isSameMode" + transformerArgs { + name: "padding" + argType: STRING + argIndex: 8 + stringValue: "SAME" + } + } + inputFrameworkOpName: "Conv2D" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "sH" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "sH" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + inputFrameworkOpName: "Conv2D" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "sW" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "sW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + inputFrameworkOpName: "Conv2D" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "dH" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "dH" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "dH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 6 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 6 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 6 + stringValue: "dilations" + } + } + transformerArgs { + key: "dH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 6 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 6 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 6 + stringValue: "dilations" + } + } + transformerArgs { + key: "dH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 6 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 6 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 6 + stringValue: "dilations" + } + } + transformerArgs { + key: "dH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 6 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 6 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 6 + stringValue: "dilations" + } + } + inputFrameworkOpName: "Conv2D" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "dW" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "dW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "dW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 7 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 7 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 7 + stringValue: "dilations" + } + } + transformerArgs { + key: "dW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 7 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 7 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 7 + stringValue: "dilations" + } + } + transformerArgs { + key: "dW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 7 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 7 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 7 + stringValue: "dilations" + } + } + transformerArgs { + key: "dW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 7 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 7 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 7 + stringValue: "dilations" + } + } + inputFrameworkOpName: "Conv2D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "kH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "kH" + int64Value: -1 + argType: INT64 + } + } + inputFrameworkOpName: "Conv2D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "kW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "kW" + int64Value: -1 + argType: INT64 + argIndex: 1 + } + } + inputFrameworkOpName: "Conv2D" + } +} +mappings { + frameworkName: "tensorflow" + opName: "random_poisson" + inputFrameworkOpName: "RandomPoisson" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "shape" + inputTensorName: "rate" + outputTensorName: "shape" + outputTensorName: "lambda" + inputToOutput { + key: "shape" + value: "shape" + } + inputToOutput { + key: "lambda" + value: "rate" + } + ruleType: "tensor" + inputFrameworkOpName: "RandomPoisson" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "seed" + outputIntName: "seed" + inputDataTypeName: "dtype" + outputDataTypeName: "dtype" + inputToOutput { + key: "seed" + value: "seed" + } + inputToOutput { + key: "dtype" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomPoisson" + } +} +mappings { + frameworkName: "tensorflow" + opName: "maxpool2d" + inputFrameworkOpName: "MaxPool" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 4 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 5 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dW" + int64Value: 1 + argType: INT64 + argIndex: 6 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dH" + int64Value: 1 + argType: INT64 + argIndex: 7 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "extraParam0" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "extraParam0" + int64Value: 1 + argType: INT64 + argIndex: 9 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "stringnotequalsadapterrule" + functionName: "stringnotequalsadapterrule" + inputStringAttrName: "data_format" + outputIntName: "isNCHW" + inputFloatName: "data_format" + inputToOutput { + key: "isNCHW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "isNCHW" + transformerArgs { + name: "data_format" + argIndex: 10 + stringValue: "NCHW" + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "padding" + inputStringAttrName: "padding" + outputIntName: "isSameMode" + inputToOutput { + key: "isSameMode" + value: "padding" + } + ruleType: "attribute" + transformerArgs { + key: "isSameMode" + transformerArgs { + name: "padding" + argType: STRING + argIndex: 8 + stringValue: "SAME" + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "sH" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "sH" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "sW" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "sW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "kH" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "kH" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "kH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + stringValue: "ksize" + } + } + transformerArgs { + key: "kH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + stringValue: "ksize" + } + } + transformerArgs { + key: "kH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + stringValue: "ksize" + } + } + transformerArgs { + key: "kH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + stringValue: "ksize" + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "kW" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "kW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "kW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 1 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 1 + stringValue: "ksize" + } + } + transformerArgs { + key: "kW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 1 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 1 + stringValue: "ksize" + } + } + transformerArgs { + key: "kW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 1 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 1 + stringValue: "ksize" + } + } + transformerArgs { + key: "kW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 1 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 1 + stringValue: "ksize" + } + } + inputFrameworkOpName: "MaxPool" + } +} +mappings { + frameworkName: "tensorflow" + opName: "size" + inputFrameworkOpName: "Size" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Size" + } +} +mappings { + frameworkName: "tensorflow" + opName: "squaredsubtract" + inputFrameworkOpName: "SquaredDifference" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "SquaredDifference" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "SquaredDifference" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "SquaredDifference" + } +} +mappings { + frameworkName: "tensorflow" + opName: "randomuniform" + inputFrameworkOpName: "StatelessRandomUniform" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "shape" + outputTensorName: "shape" + inputToOutput { + key: "shape" + value: "shape" + } + ruleType: "tensor" + inputFrameworkOpName: "StatelessRandomUniform" + } + rule { + ruleName: "datatypetoint" + functionName: "datatypetoint" + outputIntName: "dtype" + inputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "StatelessRandomUniform" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "dtype" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "StatelessRandomUniform" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "min" + inputFloatName: "max" + inputTensorName: "min" + inputTensorName: "max" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "min" + argType: DOUBLE + } + transformerArgs { + name: "max" + doubleValue: 1.0 + argType: DOUBLE + argIndex: 1 + } + transformerArgs { + name: "min" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 1 + } + transformerArgs { + name: "max" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 2 + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "min" + argType: DOUBLE + } + transformerArgs { + name: "max" + doubleValue: 1.0 + argType: DOUBLE + argIndex: 1 + } + transformerArgs { + name: "min" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 1 + } + transformerArgs { + name: "max" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 2 + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "min" + argType: DOUBLE + } + transformerArgs { + name: "max" + doubleValue: 1.0 + argType: DOUBLE + argIndex: 1 + } + transformerArgs { + name: "min" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 1 + } + transformerArgs { + name: "max" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 2 + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "min" + argType: DOUBLE + } + transformerArgs { + name: "max" + doubleValue: 1.0 + argType: DOUBLE + argIndex: 1 + } + transformerArgs { + name: "min" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 1 + } + transformerArgs { + name: "max" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 2 + } + } + inputFrameworkOpName: "StatelessRandomUniform" + } +} +mappings { + frameworkName: "tensorflow" + opName: "shift_bits" + inputFrameworkOpName: "LeftShift" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "LeftShift" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "LeftShift" + } +} +mappings { + frameworkName: "tensorflow" + opName: "isinf" + inputFrameworkOpName: "IsInf" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "IsInf" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "IsInf" + } +} +mappings { + frameworkName: "tensorflow" + opName: "digamma" + inputFrameworkOpName: "Digamma" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Digamma" + } +} +mappings { + frameworkName: "tensorflow" + opName: "random_shuffle" + inputFrameworkOpName: "RandomShuffle" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "value" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "value" + } + ruleType: "tensor" + inputFrameworkOpName: "RandomShuffle" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "seed" + outputIntName: "seeds" + inputToOutput { + key: "seeds" + value: "seed" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomShuffle" + } +} +mappings { + frameworkName: "tensorflow" + opName: "adjust_hue" + inputFrameworkOpName: "AdjustHue" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "images" + inputTensorName: "delta" + outputTensorName: "input" + outputTensorName: "delta" + inputToOutput { + key: "input" + value: "images" + } + inputToOutput { + key: "delta" + value: "delta" + } + ruleType: "tensor" + inputFrameworkOpName: "AdjustHue" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dimC" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dimC" + int64Value: -1 + argType: INT64 + } + } + inputFrameworkOpName: "AdjustHue" + } +} +mappings { + frameworkName: "tensorflow" + opName: "Assert" + inputFrameworkOpName: "Assert" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "condition" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "condition" + } + ruleType: "tensor" + inputFrameworkOpName: "Assert" + } +} +mappings { + frameworkName: "tensorflow" + opName: "matrix_determinant" + inputFrameworkOpName: "MatrixDeterminant" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "MatrixDeterminant" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "MatrixDeterminant" + } +} +mappings { + frameworkName: "tensorflow" + opName: "adjust_saturation" + inputFrameworkOpName: "AdjustSaturation" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "images" + inputTensorName: "scale" + outputTensorName: "input" + outputTensorName: "factor" + inputToOutput { + key: "input" + value: "images" + } + inputToOutput { + key: "factor" + value: "scale" + } + ruleType: "tensor" + inputFrameworkOpName: "AdjustSaturation" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dimC" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dimC" + int64Value: -1 + argType: INT64 + } + } + inputFrameworkOpName: "AdjustSaturation" + } +} +mappings { + frameworkName: "tensorflow" + opName: "ones_as" + inputFrameworkOpName: "OnesLike" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "OnesLike" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + outputIntName: "dataType" + inputDataTypeName: "T" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "OnesLike" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_min" + inputFrameworkOpName: "TensorScatterMin" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "tensor" + inputTensorName: "indices" + inputTensorName: "updates" + outputTensorName: "input" + outputTensorName: "indices" + outputTensorName: "updates" + inputToOutput { + key: "input" + value: "tensor" + } + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorScatterMin" + } +} +mappings { + frameworkName: "tensorflow" + opName: "squeeze" + inputFrameworkOpName: "Squeeze" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Squeeze" + } + rule { + ruleName: "listnumbertondarray" + functionName: "listnumbertondarray" + inputToOutput { + key: "a" + value: "squeeze_dims" + } + ruleType: "attribute" + inputFrameworkOpName: "Squeeze" + } + rule { + ruleName: "listnumbertolistnumber" + functionName: "listnumbertolistnumber" + outputIntName: "_a" + inputToOutput { + key: "_a" + value: "squeeze_dims" + } + ruleType: "attribute" + inputFrameworkOpName: "Squeeze" + } +} +mappings { + frameworkName: "tensorflow" + opName: "stack" + inputFrameworkOpName: "Pack" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "values" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "values" + } + ruleType: "tensor" + inputFrameworkOpName: "Pack" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "axis" + outputIntName: "dimensions" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dimensions" + value: "axis" + } + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Pack" + } +} +mappings { + frameworkName: "tensorflow" + opName: "unsorted_segment_prod" + inputFrameworkOpName: "UnsortedSegmentProd" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "segment_ids" + outputTensorName: "input" + outputTensorName: "idxSegments" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "idxSegments" + value: "segment_ids" + } + ruleType: "tensor" + inputFrameworkOpName: "UnsortedSegmentProd" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputIntName: "numSegments" + inputToOutput { + key: "numSegments" + value: "num_segments" + } + ruleType: "attribute" + inputFrameworkOpName: "UnsortedSegmentProd" + } +} +mappings { + frameworkName: "tensorflow" + opName: "subtract" + inputFrameworkOpName: "Sub" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "Sub" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Sub" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Sub" + } +} +mappings { + frameworkName: "tensorflow" + opName: "not_equals" + inputFrameworkOpName: "NotEqual" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "NotEqual" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "NotEqual" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "NotEqual" + } +} +mappings { + frameworkName: "tensorflow" + opName: "expm1" + inputFrameworkOpName: "Expm1" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Expm1" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Expm1" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Expm1" + } +} +mappings { + frameworkName: "tensorflow" + opName: "relu6" + inputFrameworkOpName: "Relu6" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "features" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "features" + } + ruleType: "tensor" + inputFrameworkOpName: "Relu6" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Relu6" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "cutoff" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + transformerArgs { + name: "cutoff" + argType: DOUBLE + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + transformerArgs { + name: "cutoff" + argType: DOUBLE + } + } + inputFrameworkOpName: "Relu6" + } +} +mappings { + frameworkName: "tensorflow" + opName: "reduce_sum" + inputFrameworkOpName: "Sum" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Sum" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "keep_dims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keep_dims" + } + ruleType: "attribute" + inputFrameworkOpName: "Sum" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + inputToOutput { + key: "dimensions" + value: "reduction_indices" + } + ruleType: "attribute" + inputFrameworkOpName: "Sum" + } +} +mappings { + frameworkName: "tensorflow" + opName: "dynamic_stitch" + inputFrameworkOpName: "DynamicStitch" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "indices" + outputTensorName: "index" + outputTensorName: "input" + inputToOutput { + key: "index" + value: "data" + } + inputToOutput { + key: "input" + value: "indices" + } + ruleType: "tensor" + inputFrameworkOpName: "DynamicStitch" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "N" + outputIntName: "numPartitions" + inputToOutput { + key: "numPartitions" + value: "N" + } + ruleType: "attribute" + inputFrameworkOpName: "DynamicStitch" + } +} +mappings { + frameworkName: "tensorflow" + opName: "argmax" + inputFrameworkOpName: "ArgMax" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "ArgMax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "keepDims" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "keepDims" + argType: BOOL + } + } + inputFrameworkOpName: "ArgMax" + } +} +mappings { + frameworkName: "tensorflow" + opName: "expand_dims" + inputFrameworkOpName: "ExpandDims" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "ExpandDims" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "dimensions" + inputToOutput { + key: "dimensions" + value: "dim" + } + ruleType: "attribute" + inputFrameworkOpName: "ExpandDims" + } +} +mappings { + frameworkName: "tensorflow" + opName: "reduce_min" + inputFrameworkOpName: "Min" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Min" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "keep_dims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keep_dims" + } + ruleType: "attribute" + inputFrameworkOpName: "Min" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + inputToOutput { + key: "dimensions" + value: "reduction_indices" + } + ruleType: "attribute" + inputFrameworkOpName: "Min" + } +} +mappings { + frameworkName: "tensorflow" + opName: "space_to_batch" + inputFrameworkOpName: "SpaceToBatch" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "paddings" + outputTensorName: "input" + outputTensorName: "padding" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "padding" + value: "paddings" + } + ruleType: "tensor" + inputFrameworkOpName: "SpaceToBatch" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "block_size" + outputIntName: "blockSize" + inputToOutput { + key: "blockSize" + value: "block_size" + } + ruleType: "attribute" + inputFrameworkOpName: "SpaceToBatch" + } +} +mappings { + frameworkName: "tensorflow" + opName: "bitwise_xor" + inputFrameworkOpName: "BitwiseXor" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "BitwiseXor" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "BitwiseXor" + } +} +mappings { + frameworkName: "tensorflow" + opName: "concat" + inputFrameworkOpName: "ParallelConcat" + rule { + ruleName: "multiinputindex" + functionName: "multiinputindex" + inputTensorName: "values" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "values" + } + ruleType: "tensor" + inputFrameworkOpName: "ParallelConcat" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "isDynamicAxis" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "isDynamicAxis" + argType: BOOL + } + } + inputFrameworkOpName: "ParallelConcat" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "ParallelConcat" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "concatDimension" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "concatDimension" + argType: INT64 + } + } + inputFrameworkOpName: "ParallelConcat" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_list" + inputFrameworkOpName: "TensorArrayScatterV3" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "value" + inputTensorName: "indices" + inputTensorName: "flow_in" + outputTensorName: "array" + outputTensorName: "sizes" + outputTensorName: "list" + inputToOutput { + key: "array" + value: "value" + } + inputToOutput { + key: "sizes" + value: "indices" + } + inputToOutput { + key: "list" + value: "flow_in" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayScatterV3" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArrayScatterV3" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_list" + inputFrameworkOpName: "TensorArrayScatterV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "value" + inputTensorName: "indices" + inputTensorName: "flow_in" + outputTensorName: "array" + outputTensorName: "sizes" + outputTensorName: "list" + inputToOutput { + key: "array" + value: "value" + } + inputToOutput { + key: "sizes" + value: "indices" + } + inputToOutput { + key: "list" + value: "flow_in" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayScatterV2" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArrayScatterV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "Pow" + inputFrameworkOpName: "Pow" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "Pow" + } +} +mappings { + frameworkName: "tensorflow" + opName: "split" + inputFrameworkOpName: "Split" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "split_dim" + inputTensorName: "value" + outputTensorName: "a" + outputTensorName: "b" + inputToOutput { + key: "a" + value: "split_dim" + } + inputToOutput { + key: "b" + value: "value" + } + ruleType: "tensor" + inputFrameworkOpName: "Split" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "num_split" + outputIntName: "numSplit" + inputToOutput { + key: "numSplit" + value: "num_split" + } + ruleType: "attribute" + inputFrameworkOpName: "Split" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "dimensions" + inputToOutput { + key: "dimensions" + value: "split_dim" + } + ruleType: "attribute" + inputFrameworkOpName: "Split" + } +} +mappings { + frameworkName: "tensorflow" + opName: "Where" + inputFrameworkOpName: "Where" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "condition" + inputToOutput { + key: "condition" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Where" + } +} +mappings { + frameworkName: "tensorflow" + opName: "svd" + inputFrameworkOpName: "Svd" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Svd" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "compute_uv" + inputBooleanName: "full_matrices" + outputBooleanName: "computeUv" + outputBooleanName: "fullUV" + inputToOutput { + key: "computeUv" + value: "compute_uv" + } + inputToOutput { + key: "fullUV" + value: "full_matrices" + } + ruleType: "attribute" + inputFrameworkOpName: "Svd" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + outputIntName: "calcUV" + inputBooleanName: "compute_uv" + inputBooleanName: "full_matrices" + outputBooleanName: "fullUV" + inputToOutput { + key: "calcUV" + value: "compute_uv" + } + inputToOutput { + key: "fullUV" + value: "full_matrices" + } + ruleType: "attribute" + inputFrameworkOpName: "Svd" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "switchNum" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "switchNum" + int64Value: 16 + argType: INT64 + argIndex: 2 + } + } + inputFrameworkOpName: "Svd" + } +} +mappings { + frameworkName: "tensorflow" + opName: "acosh" + inputFrameworkOpName: "Acosh" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Acosh" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Acosh" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Acosh" + } +} +mappings { + frameworkName: "tensorflow" + opName: "placeholder" + inputFrameworkOpName: "Placeholder" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + ruleType: "tensor" + inputFrameworkOpName: "Placeholder" + } +} +mappings { + frameworkName: "tensorflow" + opName: "polygamma" + inputFrameworkOpName: "Polygamma" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "a" + inputTensorName: "x" + outputTensorName: "n" + outputTensorName: "input" + inputToOutput { + key: "n" + value: "a" + } + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Polygamma" + } +} +mappings { + frameworkName: "tensorflow" + opName: "equals" + inputFrameworkOpName: "ApproximateEqual" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "ApproximateEqual" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "ApproximateEqual" + } +} +mappings { + frameworkName: "tensorflow" + opName: "stop_gradient" + inputFrameworkOpName: "StopGradient" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "StopGradient" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "StopGradient" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_add" + inputFrameworkOpName: "TensorScatterAdd" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "tensor" + inputTensorName: "indices" + inputTensorName: "updates" + outputTensorName: "input" + outputTensorName: "indices" + outputTensorName: "updates" + inputToOutput { + key: "input" + value: "tensor" + } + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorScatterAdd" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "lock" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "lock" + argType: BOOL + } + } + inputFrameworkOpName: "TensorScatterAdd" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "checkIndices" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + } + inputFrameworkOpName: "TensorScatterAdd" + } +} +mappings { + frameworkName: "tensorflow" + opName: "avgpool2d" + inputFrameworkOpName: "AvgPool" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "value" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "value" + } + ruleType: "tensor" + inputFrameworkOpName: "AvgPool" + } + rule { + ruleName: "stringnotequalsadapterrule" + functionName: "stringnotequalsadapterrule" + inputStringAttrName: "data_format" + outputIntName: "isNCHW" + inputFloatName: "data_format" + inputToOutput { + key: "isNCHW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "isNCHW" + transformerArgs { + name: "data_format" + argIndex: 10 + stringValue: "NCHW" + } + } + inputFrameworkOpName: "AvgPool" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "padding" + inputStringAttrName: "padding" + outputIntName: "isSameMode" + inputToOutput { + key: "isSameMode" + value: "padding" + } + ruleType: "attribute" + transformerArgs { + key: "isSameMode" + transformerArgs { + name: "padding" + argType: STRING + argIndex: 8 + stringValue: "SAME" + } + } + inputFrameworkOpName: "AvgPool" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "sH" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "sH" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + inputFrameworkOpName: "AvgPool" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "sW" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "sW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + inputFrameworkOpName: "AvgPool" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "kH" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "kH" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "kH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + stringValue: "ksize" + } + } + transformerArgs { + key: "kH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + stringValue: "ksize" + } + } + transformerArgs { + key: "kH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + stringValue: "ksize" + } + } + transformerArgs { + key: "kH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + stringValue: "ksize" + } + } + inputFrameworkOpName: "AvgPool" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "kW" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "kW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "kW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 1 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 1 + stringValue: "ksize" + } + } + transformerArgs { + key: "kW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 1 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 1 + stringValue: "ksize" + } + } + transformerArgs { + key: "kW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 1 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 1 + stringValue: "ksize" + } + } + transformerArgs { + key: "kW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 1 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 1 + stringValue: "ksize" + } + } + inputFrameworkOpName: "AvgPool" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pH" + inputIntName: "pW" + inputIntName: "dW" + inputIntName: "dH" + inputIntName: "extraParam0" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 4 + } + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 5 + } + transformerArgs { + name: "dW" + int64Value: 1 + argType: INT64 + argIndex: 6 + } + transformerArgs { + name: "dH" + int64Value: 1 + argType: INT64 + argIndex: 7 + } + transformerArgs { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 4 + } + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 5 + } + transformerArgs { + name: "dW" + int64Value: 1 + argType: INT64 + argIndex: 6 + } + transformerArgs { + name: "dH" + int64Value: 1 + argType: INT64 + argIndex: 7 + } + transformerArgs { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 4 + } + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 5 + } + transformerArgs { + name: "dW" + int64Value: 1 + argType: INT64 + argIndex: 6 + } + transformerArgs { + name: "dH" + int64Value: 1 + argType: INT64 + argIndex: 7 + } + transformerArgs { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 4 + } + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 5 + } + transformerArgs { + name: "dW" + int64Value: 1 + argType: INT64 + argIndex: 6 + } + transformerArgs { + name: "dH" + int64Value: 1 + argType: INT64 + argIndex: 7 + } + transformerArgs { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 4 + } + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 5 + } + transformerArgs { + name: "dW" + int64Value: 1 + argType: INT64 + argIndex: 6 + } + transformerArgs { + name: "dH" + int64Value: 1 + argType: INT64 + argIndex: 7 + } + transformerArgs { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + } + inputFrameworkOpName: "AvgPool" + } +} +mappings { + frameworkName: "tensorflow" + opName: "unique_with_counts" + inputFrameworkOpName: "UniqueWithCountsV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "UniqueWithCountsV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "depthwise_conv2d" + inputFrameworkOpName: "DepthwiseConv2dNative" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "filter" + outputTensorName: "input" + outputTensorName: "weights" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "weights" + value: "filter" + } + ruleType: "tensor" + inputFrameworkOpName: "DepthwiseConv2dNative" + } + rule { + ruleName: "stringnotequalsadapterrule" + functionName: "stringnotequalsadapterrule" + inputStringAttrName: "data_format" + outputIntName: "isNCHW" + inputFloatName: "data_format" + inputToOutput { + key: "isNCHW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "isNCHW" + transformerArgs { + name: "data_format" + argIndex: 9 + stringValue: "NCHW" + } + } + inputFrameworkOpName: "DepthwiseConv2dNative" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "padding" + inputStringAttrName: "padding" + outputIntName: "isSameMode" + inputToOutput { + key: "isSameMode" + value: "padding" + } + ruleType: "attribute" + transformerArgs { + key: "isSameMode" + transformerArgs { + name: "padding" + argType: STRING + argIndex: 8 + stringValue: "SAME" + } + } + inputFrameworkOpName: "DepthwiseConv2dNative" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "sH" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "sH" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + inputFrameworkOpName: "DepthwiseConv2dNative" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "sW" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "sW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + inputFrameworkOpName: "DepthwiseConv2dNative" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "dH" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "dH" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "dH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 6 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 6 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 6 + stringValue: "dilations" + } + } + transformerArgs { + key: "dH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 6 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 6 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 6 + stringValue: "dilations" + } + } + transformerArgs { + key: "dH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 6 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 6 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 6 + stringValue: "dilations" + } + } + transformerArgs { + key: "dH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 6 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 6 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 6 + stringValue: "dilations" + } + } + inputFrameworkOpName: "DepthwiseConv2dNative" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "dW" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "dW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "dW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 7 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 7 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 7 + stringValue: "dilations" + } + } + transformerArgs { + key: "dW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 7 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 7 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 7 + stringValue: "dilations" + } + } + transformerArgs { + key: "dW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 7 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 7 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 7 + stringValue: "dilations" + } + } + transformerArgs { + key: "dW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 7 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 7 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 7 + stringValue: "dilations" + } + } + inputFrameworkOpName: "DepthwiseConv2dNative" + } + rule { + ruleName: "ndarraysizeat" + functionName: "ndarraysizeat" + outputIntName: "kH" + inputFloatName: "filter" + inputToOutput { + key: "kH" + value: "filter" + } + ruleType: "attribute" + transformerArgs { + key: "kH" + transformerArgs { + name: "filter" + } + } + inputFrameworkOpName: "DepthwiseConv2dNative" + } + rule { + ruleName: "ndarraysizeat" + functionName: "ndarraysizeat" + outputIntName: "kW" + inputFloatName: "filter" + inputToOutput { + key: "kW" + value: "filter" + } + ruleType: "attribute" + transformerArgs { + key: "kW" + transformerArgs { + name: "filter" + int64Value: 1 + argIndex: 1 + } + } + inputFrameworkOpName: "DepthwiseConv2dNative" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pH" + inputIntName: "pW" + inputIntName: "wFormat" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 4 + } + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 5 + } + transformerArgs { + name: "wFormat" + argType: INT64 + argIndex: 10 + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 4 + } + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 5 + } + transformerArgs { + name: "wFormat" + argType: INT64 + argIndex: 10 + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 4 + } + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 5 + } + transformerArgs { + name: "wFormat" + argType: INT64 + argIndex: 10 + } + } + inputFrameworkOpName: "DepthwiseConv2dNative" + } +} +mappings { + frameworkName: "tensorflow" + opName: "log_matrix_determinant" + inputFrameworkOpName: "LogMatrixDeterminant" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "LogMatrixDeterminant" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "LogMatrixDeterminant" + } +} +mappings { + frameworkName: "tensorflow" + opName: "realdiv" + inputFrameworkOpName: "RealDiv" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "RealDiv" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "RealDiv" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "RealDiv" + } +} +mappings { + frameworkName: "tensorflow" + opName: "abs" + inputFrameworkOpName: "Abs" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Abs" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Abs" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Abs" + } +} +mappings { + frameworkName: "tensorflow" + opName: "identity" + inputFrameworkOpName: "VariableV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + ruleType: "tensor" + inputFrameworkOpName: "VariableV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "VariableV2" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "dtype" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "VariableV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "matrix_determinant" + inputFrameworkOpName: "BatchMatrixDeterminant" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "BatchMatrixDeterminant" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "MatrixDeterminant" + } +} +mappings { + frameworkName: "tensorflow" + opName: "maxpool3dnew" + inputFrameworkOpName: "MaxPool3D" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "extraParam0" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "extraParam0" + argType: INT64 + argIndex: 13 + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pD" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pD" + argType: INT64 + argIndex: 6 + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 7 + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 8 + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dD" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dD" + int64Value: 1 + argType: INT64 + argIndex: 9 + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dH" + int64Value: 1 + argType: INT64 + argIndex: 10 + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dW" + int64Value: 1 + argType: INT64 + argIndex: 11 + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "data_format" + inputStringAttrName: "data_format" + outputIntName: "isNCDHW" + inputToOutput { + key: "isNCDHW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "isNCDHW" + transformerArgs { + name: "data_format" + argType: STRING + argIndex: 14 + stringValue: "NDHWC" + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "padding" + inputStringAttrName: "padding" + outputIntName: "isSameMode" + inputToOutput { + key: "isSameMode" + value: "padding" + } + ruleType: "attribute" + transformerArgs { + key: "isSameMode" + transformerArgs { + name: "padding" + argType: STRING + argIndex: 12 + stringValue: "SAME" + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "kH" + inputToOutput { + key: "kH" + value: "ksize" + } + ruleType: "attribute" + transformerArgs { + key: "kH" + transformerArgs { + name: "index" + int64Value: 3 + argType: INT64 + argIndex: 2 + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "kW" + inputToOutput { + key: "kW" + value: "ksize" + } + ruleType: "attribute" + transformerArgs { + key: "kW" + transformerArgs { + name: "index" + int64Value: 2 + argType: INT64 + argIndex: 1 + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "kD" + inputToOutput { + key: "kD" + value: "ksize" + } + ruleType: "attribute" + transformerArgs { + key: "kD" + transformerArgs { + name: "index" + int64Value: 1 + argType: INT64 + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "sH" + inputToOutput { + key: "sH" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sH" + transformerArgs { + name: "index" + int64Value: 3 + argType: INT64 + argIndex: 5 + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "sW" + inputToOutput { + key: "sW" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sW" + transformerArgs { + name: "index" + int64Value: 2 + argType: INT64 + argIndex: 4 + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "sD" + inputToOutput { + key: "sD" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sD" + transformerArgs { + name: "index" + int64Value: 1 + argType: INT64 + argIndex: 3 + } + } + inputFrameworkOpName: "MaxPool3D" + } +} +mappings { + frameworkName: "tensorflow" + opName: "tensorarraywritev3" + inputFrameworkOpName: "TensorArrayWriteV3" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "handle" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "handle" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayWriteV3" + } +} +mappings { + frameworkName: "tensorflow" + opName: "softmax_cross_entropy_loss_with_logits" + inputFrameworkOpName: "SoftmaxCrossEntropyWithLogits" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "labels" + inputTensorName: "features" + outputTensorName: "labels" + outputTensorName: "logits" + inputToOutput { + key: "labels" + value: "labels" + } + inputToOutput { + key: "logits" + value: "features" + } + ruleType: "tensor" + inputFrameworkOpName: "SoftmaxCrossEntropyWithLogits" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "SoftmaxCrossEntropyWithLogits" + } +} +mappings { + frameworkName: "tensorflow" + opName: "segment_max" + inputFrameworkOpName: "SegmentMax" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "segment_ids" + outputTensorName: "input" + outputTensorName: "idxSegments" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "idxSegments" + value: "segment_ids" + } + ruleType: "tensor" + inputFrameworkOpName: "SegmentMax" + } +} +mappings { + frameworkName: "tensorflow" + opName: "conv3dnew" + inputFrameworkOpName: "Conv3D" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "filter" + outputTensorName: "input" + outputTensorName: "weights" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "weights" + value: "filter" + } + ruleType: "tensor" + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "data_format" + inputStringAttrName: "data_format" + outputIntName: "isNCDHW" + inputToOutput { + key: "isNCDHW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "isNCDHW" + transformerArgs { + name: "data_format" + argType: STRING + argIndex: 13 + stringValue: "NDHWC" + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "padding" + inputStringAttrName: "padding" + outputIntName: "paddingMode" + inputToOutput { + key: "paddingMode" + value: "padding" + } + ruleType: "attribute" + transformerArgs { + key: "paddingMode" + transformerArgs { + name: "padding" + argType: STRING + argIndex: 12 + stringValue: "SAME" + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "ndarraysizeat" + functionName: "ndarraysizeat" + outputIntName: "kD" + inputFloatName: "filter" + inputToOutput { + key: "kD" + value: "filter" + } + ruleType: "attribute" + transformerArgs { + key: "kD" + transformerArgs { + name: "filter" + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "ndarraysizeat" + functionName: "ndarraysizeat" + outputIntName: "kH" + inputFloatName: "filter" + inputToOutput { + key: "kH" + value: "filter" + } + ruleType: "attribute" + transformerArgs { + key: "kH" + transformerArgs { + name: "filter" + int64Value: 1 + argIndex: 1 + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "ndarraysizeat" + functionName: "ndarraysizeat" + outputIntName: "kW" + inputFloatName: "filter" + inputToOutput { + key: "kW" + value: "filter" + } + ruleType: "attribute" + transformerArgs { + key: "kW" + transformerArgs { + name: "filter" + int64Value: 2 + argIndex: 2 + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "sD" + inputToOutput { + key: "sD" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sD" + transformerArgs { + name: "index" + int64Value: 1 + argType: INT64 + argIndex: 3 + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "sH" + inputToOutput { + key: "sH" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sH" + transformerArgs { + name: "index" + int64Value: 2 + argType: INT64 + argIndex: 4 + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "sW" + inputToOutput { + key: "sW" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sW" + transformerArgs { + name: "index" + int64Value: 3 + argType: INT64 + argIndex: 5 + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 7 + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 8 + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 6 + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "dH" + inputToOutput { + key: "dH" + value: "dilations" + } + ruleType: "attribute" + transformerArgs { + key: "dH" + transformerArgs { + name: "index" + int64Value: 3 + argType: INT64 + argIndex: 11 + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "dW" + inputToOutput { + key: "dW" + value: "dilations" + } + ruleType: "attribute" + transformerArgs { + key: "dW" + transformerArgs { + name: "index" + int64Value: 2 + argType: INT64 + argIndex: 10 + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "dD" + inputToOutput { + key: "dD" + value: "dilations" + } + ruleType: "attribute" + transformerArgs { + key: "dD" + transformerArgs { + name: "index" + int64Value: 1 + argType: INT64 + argIndex: 9 + } + } + inputFrameworkOpName: "Conv3D" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_sub" + inputFrameworkOpName: "ScatterSub" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + inputTensorName: "updates" + inputTensorName: "ref" + outputTensorName: "indices" + outputTensorName: "updates" + outputTensorName: "input" + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + inputToOutput { + key: "input" + value: "ref" + } + ruleType: "tensor" + inputFrameworkOpName: "ScatterSub" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "lock" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "lock" + argType: BOOL + } + } + inputFrameworkOpName: "ScatterSub" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "checkIndices" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + } + inputFrameworkOpName: "ScatterSub" + } +} +mappings { + frameworkName: "tensorflow" + opName: "loop_cond" + inputFrameworkOpName: "LoopCond" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + ruleType: "tensor" + inputFrameworkOpName: "LoopCond" + } +} +mappings { + frameworkName: "tensorflow" + opName: "reverse" + inputFrameworkOpName: "ReverseV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "tensor" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "tensor" + } + ruleType: "tensor" + inputFrameworkOpName: "ReverseV2" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + inputToOutput { + key: "dimensions" + value: "axis" + } + ruleType: "attribute" + inputFrameworkOpName: "ReverseV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "rank" + inputFrameworkOpName: "Rank" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Rank" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Rank" + } +} +mappings { + frameworkName: "tensorflow" + opName: "erfc" + inputFrameworkOpName: "Erfc" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Erfc" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Erfc" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Erfc" + } +} +mappings { + frameworkName: "tensorflow" + opName: "divide" + inputFrameworkOpName: "Div" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "Div" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Div" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Div" + } +} +mappings { + frameworkName: "tensorflow" + opName: "pad" + inputFrameworkOpName: "Pad" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "paddings" + outputTensorName: "input" + outputTensorName: "paddings" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "paddings" + value: "paddings" + } + ruleType: "tensor" + inputFrameworkOpName: "Pad" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "mode" + inputFloatName: "padValue" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "mode" + argType: INT64 + } + transformerArgs { + name: "padValue" + argType: DOUBLE + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "mode" + argType: INT64 + } + transformerArgs { + name: "padValue" + argType: DOUBLE + } + } + inputFrameworkOpName: "Pad" + } +} +mappings { + frameworkName: "tensorflow" + opName: "sparse_softmax_cross_entropy_loss_with_logits" + inputFrameworkOpName: "SparseSoftmaxCrossEntropyWithLogits" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "labels" + inputTensorName: "features" + outputTensorName: "labels" + outputTensorName: "logits" + inputToOutput { + key: "labels" + value: "labels" + } + inputToOutput { + key: "logits" + value: "features" + } + ruleType: "tensor" + inputFrameworkOpName: "SparseSoftmaxCrossEntropyWithLogits" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "SparseSoftmaxCrossEntropyWithLogits" + } + indexOverrides { + key: 1 + value: 0 + } + indexOverrides { + key: 0 + value: 1 + } +} +mappings { + frameworkName: "tensorflow" + opName: "merge" + inputFrameworkOpName: "Merge" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "inputs" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "inputs" + } + ruleType: "tensor" + inputFrameworkOpName: "Merge" + } +} +mappings { + frameworkName: "tensorflow" + opName: "resize_nearest_neighbor" + inputFrameworkOpName: "ResizeNearestNeighbor" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "images" + inputTensorName: "size" + outputTensorName: "image" + outputTensorName: "newImageSize" + inputToOutput { + key: "image" + value: "images" + } + inputToOutput { + key: "newImageSize" + value: "size" + } + ruleType: "tensor" + inputFrameworkOpName: "ResizeNearestNeighbor" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "align_corners" + inputBooleanName: "half_pixel_centers" + outputBooleanName: "alignCorners" + outputBooleanName: "halfPixelCenter" + inputToOutput { + key: "alignCorners" + value: "align_corners" + } + inputToOutput { + key: "halfPixelCenter" + value: "half_pixel_centers" + } + ruleType: "attribute" + inputFrameworkOpName: "ResizeNearestNeighbor" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_min" + inputFrameworkOpName: "ScatterMin" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "ref" + inputTensorName: "indices" + inputTensorName: "updates" + outputTensorName: "input" + outputTensorName: "indices" + outputTensorName: "updates" + inputToOutput { + key: "input" + value: "ref" + } + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + ruleType: "tensor" + inputFrameworkOpName: "ScatterMin" + } +} +mappings { + frameworkName: "tensorflow" + opName: "check_numerics" + inputFrameworkOpName: "CheckNumericsV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "tensor" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "tensor" + } + ruleType: "tensor" + inputFrameworkOpName: "CheckNumericsV2" + } + rule { + ruleName: "convertinputstringtondarray" + functionName: "convertinputstringtondarray" + inputStringAttrName: "message" + inputToOutput { + key: "message" + value: "message" + } + ruleType: "attribute" + inputFrameworkOpName: "CheckNumericsV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "select" + inputFrameworkOpName: "Select" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "condition" + inputTensorName: "t" + inputTensorName: "e" + outputTensorName: "cond" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "cond" + value: "condition" + } + inputToOutput { + key: "input" + value: "t" + } + inputToOutput { + key: "y" + value: "e" + } + ruleType: "tensor" + inputFrameworkOpName: "Select" + } +} +mappings { + frameworkName: "tensorflow" + opName: "assign" + inputFrameworkOpName: "Assign" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "ref" + inputTensorName: "value" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "ref" + } + inputToOutput { + key: "y" + value: "value" + } + ruleType: "tensor" + inputFrameworkOpName: "Assign" + } +} +mappings { + frameworkName: "tensorflow" + opName: "size_list" + inputFrameworkOpName: "TensorArraySize" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "flow_in" + outputTensorName: "list" + inputToOutput { + key: "list" + value: "flow_in" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArraySize" + } +} +mappings { + frameworkName: "tensorflow" + opName: "rint" + inputFrameworkOpName: "Rint" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Rint" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Rint" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Rint" + } +} +mappings { + frameworkName: "tensorflow" + opName: "dilation2d" + inputFrameworkOpName: "Dilation2D" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "filter" + outputTensorName: "input" + outputTensorName: "weights" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "weights" + value: "filter" + } + ruleType: "tensor" + inputFrameworkOpName: "Dilation2D" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "padding" + inputStringAttrName: "padding" + outputBooleanName: "isSameMode" + inputToOutput { + key: "isSameMode" + value: "padding" + } + ruleType: "attribute" + transformerArgs { + key: "isSameMode" + transformerArgs { + name: "padding" + argType: STRING + stringValue: "SAME" + } + } + inputFrameworkOpName: "Dilation2D" + } + rule { + ruleName: "listnumbertolistnumber" + functionName: "listnumbertolistnumber" + outputIntName: "rates" + inputToOutput { + key: "rates" + value: "rates" + } + ruleType: "attribute" + inputFrameworkOpName: "Dilation2D" + } + rule { + ruleName: "listnumbertolistnumber" + functionName: "listnumbertolistnumber" + outputIntName: "strides" + inputToOutput { + key: "strides" + value: "strides" + } + ruleType: "attribute" + inputFrameworkOpName: "Dilation2D" + } +} +mappings { + frameworkName: "tensorflow" + opName: "avgpool3dnew" + inputFrameworkOpName: "AvgPool3D" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "extraParam0" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "extraParam0" + argType: INT64 + argIndex: 13 + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pD" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pD" + argType: INT64 + argIndex: 6 + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 7 + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 8 + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dD" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dD" + int64Value: 1 + argType: INT64 + argIndex: 9 + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dH" + int64Value: 1 + argType: INT64 + argIndex: 10 + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dW" + int64Value: 1 + argType: INT64 + argIndex: 11 + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "data_format" + inputStringAttrName: "data_format" + outputIntName: "isNCDHW" + inputToOutput { + key: "isNCDHW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "isNCDHW" + transformerArgs { + name: "data_format" + argType: STRING + argIndex: 14 + stringValue: "NDHWC" + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "padding" + inputStringAttrName: "padding" + outputIntName: "isSameMode" + inputToOutput { + key: "isSameMode" + value: "padding" + } + ruleType: "attribute" + transformerArgs { + key: "isSameMode" + transformerArgs { + name: "padding" + argType: STRING + argIndex: 12 + stringValue: "SAME" + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "kH" + inputToOutput { + key: "kH" + value: "ksize" + } + ruleType: "attribute" + transformerArgs { + key: "kH" + transformerArgs { + name: "index" + int64Value: 3 + argType: INT64 + argIndex: 2 + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "kW" + inputToOutput { + key: "kW" + value: "ksize" + } + ruleType: "attribute" + transformerArgs { + key: "kW" + transformerArgs { + name: "index" + int64Value: 2 + argType: INT64 + argIndex: 1 + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "kD" + inputToOutput { + key: "kD" + value: "ksize" + } + ruleType: "attribute" + transformerArgs { + key: "kD" + transformerArgs { + name: "index" + int64Value: 1 + argType: INT64 + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "sH" + inputToOutput { + key: "sH" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sH" + transformerArgs { + name: "index" + int64Value: 3 + argType: INT64 + argIndex: 5 + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "sW" + inputToOutput { + key: "sW" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sW" + transformerArgs { + name: "index" + int64Value: 2 + argType: INT64 + argIndex: 4 + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "sD" + inputToOutput { + key: "sD" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sD" + transformerArgs { + name: "index" + int64Value: 1 + argType: INT64 + argIndex: 3 + } + } + inputFrameworkOpName: "AvgPool3D" + } +} +mappings { + frameworkName: "tensorflow" + opName: "add" + inputFrameworkOpName: "Add" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "Add" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Add" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Add" + } +} +mappings { + frameworkName: "tensorflow" + opName: "isfinite" + inputFrameworkOpName: "IsFinite" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "IsFinite" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "IsFinite" + } +} +mappings { + frameworkName: "tensorflow" + opName: "matrix_inverse" + inputFrameworkOpName: "BatchMatrixInverse" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "BatchMatrixInverse" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + boolValue: true + argType: BOOL + } + } + inputFrameworkOpName: "BatchMatrixInverse" + } +} +mappings { + frameworkName: "tensorflow" + opName: "rshift_bits" + inputFrameworkOpName: "RightShift" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "RightShift" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "RightShift" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "RightShift" + } +} +mappings { + frameworkName: "tensorflow" + opName: "elu" + inputFrameworkOpName: "Elu" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "features" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "features" + } + ruleType: "tensor" + inputFrameworkOpName: "Elu" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "alpha" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "alpha" + doubleValue: 1.0 + argType: DOUBLE + } + } + inputFrameworkOpName: "Elu" + } +} +mappings { + frameworkName: "tensorflow" + opName: "matrix_diag" + inputFrameworkOpName: "MatrixDiag" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "diagonal" + outputTensorName: "diagonal" + inputToOutput { + key: "diagonal" + value: "diagonal" + } + ruleType: "tensor" + inputFrameworkOpName: "MatrixDiag" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "MatrixDiag" + } +} +mappings { + frameworkName: "tensorflow" + opName: "draw_bounding_boxes" + inputFrameworkOpName: "DrawBoundingBoxesV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "images" + inputTensorName: "boxes" + inputTensorName: "colors" + outputTensorName: "images" + outputTensorName: "boxes" + outputTensorName: "colors" + inputToOutput { + key: "images" + value: "images" + } + inputToOutput { + key: "boxes" + value: "boxes" + } + inputToOutput { + key: "colors" + value: "colors" + } + ruleType: "tensor" + inputFrameworkOpName: "DrawBoundingBoxesV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "igamma" + inputFrameworkOpName: "Igamma" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "a" + inputTensorName: "x" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "a" + } + inputToOutput { + key: "y" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Igamma" + } +} +mappings { + frameworkName: "tensorflow" + opName: "matmul" + inputFrameworkOpName: "MatMul" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "a" + inputTensorName: "b" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "a" + } + inputToOutput { + key: "y" + value: "b" + } + ruleType: "tensor" + inputFrameworkOpName: "MatMul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "alpha" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "alpha" + doubleValue: 1.0 + argType: DOUBLE + } + } + inputFrameworkOpName: "MatMul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "beta" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "beta" + argType: DOUBLE + argIndex: 1 + } + } + inputFrameworkOpName: "MatMul" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + outputIntName: "transX" + outputIntName: "transY" + inputBooleanName: "transpose_a" + inputBooleanName: "transpose_b" + inputToOutput { + key: "transX" + value: "transpose_a" + } + inputToOutput { + key: "transY" + value: "transpose_b" + } + ruleType: "attribute" + inputFrameworkOpName: "MatMul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "transZ" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "transZ" + argType: INT64 + argIndex: 2 + } + } + inputFrameworkOpName: "MatMul" + } +} +mappings { + frameworkName: "tensorflow" + opName: "sinh" + inputFrameworkOpName: "Sinh" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Sinh" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Sinh" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Sinh" + } +} +mappings { + frameworkName: "tensorflow" + opName: "softplus" + inputFrameworkOpName: "Softplus" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "features" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "features" + } + ruleType: "tensor" + inputFrameworkOpName: "Softplus" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Softplus" + } +} +mappings { + frameworkName: "tensorflow" + opName: "identity" + inputFrameworkOpName: "Const" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + ruleType: "tensor" + inputFrameworkOpName: "Const" + } + rule { + ruleName: "ndarrayinputtondarray" + functionName: "ndarrayinputtondarray" + inputTensorName: "value" + inputToOutput { + key: "input" + value: "value" + } + ruleType: "attribute" + inputFrameworkOpName: "Const" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Const" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "dtype" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "Const" + } +} +mappings { + frameworkName: "tensorflow" + opName: "cumsum" + inputFrameworkOpName: "Cumsum" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "axis" + outputTensorName: "input" + outputTensorName: "dimensions" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "dimensions" + value: "axis" + } + ruleType: "tensor" + inputFrameworkOpName: "Cumsum" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputBooleanName: "exclusive" + inputBooleanName: "reverse" + outputBooleanName: "exclusive" + outputBooleanName: "reverse" + inputToOutput { + key: "exclusive" + value: "exclusive" + } + inputToOutput { + key: "reverse" + value: "reverse" + } + ruleType: "attribute" + inputFrameworkOpName: "Cumsum" + } +} +mappings { + frameworkName: "tensorflow" + opName: "zeroslike" + inputFrameworkOpName: "ZerosLike" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "ZerosLike" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "ZerosLike" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + outputIntName: "dataType" + inputDataTypeName: "T" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "ZerosLike" + } +} +mappings { + frameworkName: "tensorflow" + opName: "gather" + inputFrameworkOpName: "Gather" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "params" + inputTensorName: "indices" + outputTensorName: "input" + outputTensorName: "indices" + inputToOutput { + key: "input" + value: "params" + } + inputToOutput { + key: "indices" + value: "indices" + } + ruleType: "tensor" + inputFrameworkOpName: "Gather" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + ruleType: "attribute" + inputFrameworkOpName: "Gather" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Gather" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dimensions" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dimensions" + argType: INT64 + } + } + inputFrameworkOpName: "Gather" + } +} +mappings { + frameworkName: "tensorflow" + opName: "stack_list" + inputFrameworkOpName: "TensorArrayConcat" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "flow_in" + outputTensorName: "list" + inputToOutput { + key: "list" + value: "flow_in" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayConcat" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_nd_add" + inputFrameworkOpName: "ScatterNdAdd" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + inputTensorName: "updates" + inputTensorName: "ref" + outputTensorName: "indices" + outputTensorName: "updates" + outputTensorName: "input" + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + inputToOutput { + key: "input" + value: "ref" + } + ruleType: "tensor" + inputFrameworkOpName: "ScatterNdAdd" + } +} +mappings { + frameworkName: "tensorflow" + opName: "bitcast" + inputFrameworkOpName: "Bitcast" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Bitcast" + } + rule { + ruleName: "datatypetoint" + functionName: "datatypetoint" + outputIntName: "newType" + inputDataTypeName: "type" + inputToOutput { + key: "newType" + value: "type" + } + ruleType: "attribute" + inputFrameworkOpName: "Bitcast" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "type" + inputToOutput { + key: "dataType" + value: "type" + } + ruleType: "attribute" + inputFrameworkOpName: "Bitcast" + } +} +mappings { + frameworkName: "tensorflow" + opName: "bitwise_or" + inputFrameworkOpName: "BitwiseOr" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "BitwiseOr" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "BitwiseOr" + } +} +mappings { + frameworkName: "tensorflow" + opName: "gruCell" + inputFrameworkOpName: "GRUBlockCell" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "h_prev" + inputTensorName: "w_ru" + inputTensorName: "w_c" + inputTensorName: "b_ru" + inputTensorName: "b_c" + outputTensorName: "input" + outputTensorName: "hLast" + outputTensorName: "Wru" + outputTensorName: "Wc" + outputTensorName: "bru" + outputTensorName: "bc" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "hLast" + value: "h_prev" + } + inputToOutput { + key: "Wru" + value: "w_ru" + } + inputToOutput { + key: "Wc" + value: "w_c" + } + inputToOutput { + key: "bru" + value: "b_ru" + } + inputToOutput { + key: "bc" + value: "b_c" + } + ruleType: "tensor" + inputFrameworkOpName: "GRUBlockCell" + } +} +mappings { + frameworkName: "tensorflow" + opName: "randomuniform" + inputFrameworkOpName: "RandomUniform" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "shape" + outputTensorName: "shape" + inputToOutput { + key: "shape" + value: "shape" + } + ruleType: "tensor" + inputFrameworkOpName: "RandomUniform" + } + rule { + ruleName: "datatypetoint" + functionName: "datatypetoint" + outputIntName: "dtype" + inputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomUniform" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "dtype" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomUniform" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "min" + inputFloatName: "max" + inputTensorName: "min" + inputTensorName: "max" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "min" + argType: DOUBLE + } + transformerArgs { + name: "max" + doubleValue: 1.0 + argType: DOUBLE + argIndex: 1 + } + transformerArgs { + name: "min" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 1 + } + transformerArgs { + name: "max" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 2 + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "min" + argType: DOUBLE + } + transformerArgs { + name: "max" + doubleValue: 1.0 + argType: DOUBLE + argIndex: 1 + } + transformerArgs { + name: "min" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 1 + } + transformerArgs { + name: "max" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 2 + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "min" + argType: DOUBLE + } + transformerArgs { + name: "max" + doubleValue: 1.0 + argType: DOUBLE + argIndex: 1 + } + transformerArgs { + name: "min" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 1 + } + transformerArgs { + name: "max" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 2 + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "min" + argType: DOUBLE + } + transformerArgs { + name: "max" + doubleValue: 1.0 + argType: DOUBLE + argIndex: 1 + } + transformerArgs { + name: "min" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 1 + } + transformerArgs { + name: "max" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 2 + } + } + inputFrameworkOpName: "RandomUniform" + } +} +mappings { + frameworkName: "tensorflow" + opName: "bitwise_and" + inputFrameworkOpName: "BitwiseAnd" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "BitwiseAnd" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "BitwiseAnd" + } +} +mappings { + frameworkName: "tensorflow" + opName: "enter" + inputFrameworkOpName: "Enter" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "Enter" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputStringAttrName: "frame_name" + outputStringAttrName: "frameName" + inputBooleanName: "is_constant" + outputBooleanName: "isConstant" + inputToOutput { + key: "isConstant" + value: "is_constant" + } + inputToOutput { + key: "frameName" + value: "frame_name" + } + ruleType: "attribute" + inputFrameworkOpName: "Enter" + } +} +mappings { + frameworkName: "tensorflow" + opName: "sin" + inputFrameworkOpName: "Sin" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Sin" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Sin" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Sin" + } +} +mappings { + frameworkName: "tensorflow" + opName: "unique" + inputFrameworkOpName: "Unique" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Unique" + } +} +mappings { + frameworkName: "tensorflow" + opName: "roll" + inputFrameworkOpName: "Roll" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "axis" + inputTensorName: "shift" + outputTensorName: "input" + outputTensorName: "dimensions" + outputTensorName: "shiftsI" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "dimensions" + value: "axis" + } + inputToOutput { + key: "shiftsI" + value: "shift" + } + ruleType: "tensor" + inputFrameworkOpName: "Roll" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "shift" + inputToOutput { + key: "shift" + value: "shift" + } + ruleType: "attribute" + inputFrameworkOpName: "Roll" + } +} +mappings { + frameworkName: "tensorflow" + opName: "in_top_k" + inputFrameworkOpName: "InTopK" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "targets" + inputTensorName: "predictions" + outputTensorName: "target" + outputTensorName: "predictions" + inputToOutput { + key: "target" + value: "targets" + } + inputToOutput { + key: "predictions" + value: "predictions" + } + ruleType: "tensor" + inputFrameworkOpName: "InTopK" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "k" + outputIntName: "k" + inputToOutput { + key: "k" + value: "k" + } + ruleType: "attribute" + inputFrameworkOpName: "InTopK" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "sorted" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "sorted" + boolValue: true + argType: BOOL + } + } + inputFrameworkOpName: "InTopK" + } +} +mappings { + frameworkName: "tensorflow" + opName: "reverse_sequence" + inputFrameworkOpName: "ReverseSequence" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "seq_lengths" + outputTensorName: "input" + outputTensorName: "seqLengths" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "seqLengths" + value: "seq_lengths" + } + ruleType: "tensor" + inputFrameworkOpName: "ReverseSequence" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "batch_dim" + inputIntName: "seq_dim" + outputIntName: "batchDim" + outputIntName: "seqDim" + inputToOutput { + key: "batchDim" + value: "batch_dim" + } + inputToOutput { + key: "seqDim" + value: "seq_dim" + } + ruleType: "attribute" + inputFrameworkOpName: "ReverseSequence" + } +} +mappings { + frameworkName: "tensorflow" + opName: "unsorted_segment_min" + inputFrameworkOpName: "UnsortedSegmentMin" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "segment_ids" + outputTensorName: "input" + outputTensorName: "idxSegments" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "idxSegments" + value: "segment_ids" + } + ruleType: "tensor" + inputFrameworkOpName: "UnsortedSegmentMin" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputIntName: "numSegments" + inputToOutput { + key: "numSegments" + value: "num_segments" + } + ruleType: "attribute" + inputFrameworkOpName: "UnsortedSegmentMin" + } +} +mappings { + frameworkName: "tensorflow" + opName: "rsqrt" + inputFrameworkOpName: "Rsqrt" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Rsqrt" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Rsqrt" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Rsqrt" + } +} +mappings { + frameworkName: "tensorflow" + opName: "split_list" + inputFrameworkOpName: "TensorArraySplit" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "lengths" + inputTensorName: "value" + inputTensorName: "value" + outputTensorName: "sizes" + outputTensorName: "list" + outputTensorName: "array" + inputToOutput { + key: "sizes" + value: "lengths" + } + inputToOutput { + key: "list" + value: "value" + } + inputToOutput { + key: "array" + value: "value" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArraySplit" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArraySplit" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_nd_update" + inputFrameworkOpName: "ScatterNdUpdate" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + inputTensorName: "updates" + inputTensorName: "ref" + outputTensorName: "indices" + outputTensorName: "updates" + outputTensorName: "input" + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + inputToOutput { + key: "input" + value: "ref" + } + ruleType: "tensor" + inputFrameworkOpName: "ScatterNdUpdate" + } +} +mappings { + frameworkName: "tensorflow" + opName: "rgb_to_hsv" + inputFrameworkOpName: "RGBToHSV" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "images" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "images" + } + ruleType: "tensor" + inputFrameworkOpName: "RGBToHSV" + } +} +mappings { + frameworkName: "tensorflow" + opName: "create" + inputFrameworkOpName: "Empty" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "shape" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "shape" + } + ruleType: "tensor" + inputFrameworkOpName: "Empty" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "init" + outputBooleanName: "init" + inputDataTypeName: "dtype" + outputDataTypeName: "outputType" + inputToOutput { + key: "init" + value: "init" + } + inputToOutput { + key: "outputType" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "Empty" + } + rule { + ruleName: "datatypetoint" + functionName: "datatypetoint" + inputDataTypeName: "dtype" + outputDataTypeName: "outputType" + inputToOutput { + key: "outputType" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "Empty" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "order" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "order" + int64Value: 99 + argType: INT64 + } + } + inputFrameworkOpName: "Empty" + } +} +mappings { + frameworkName: "tensorflow" + opName: "zeta" + inputFrameworkOpName: "Zeta" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "q" + outputTensorName: "input" + outputTensorName: "q" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "q" + value: "q" + } + ruleType: "tensor" + inputFrameworkOpName: "Zeta" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Zeta" + } +} +mappings { + frameworkName: "tensorflow" + opName: "lin_space" + inputFrameworkOpName: "LinSpace" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "start" + inputTensorName: "stop" + inputTensorName: "num" + outputTensorName: "start" + outputTensorName: "finish" + outputTensorName: "numOfElements" + inputToOutput { + key: "start" + value: "start" + } + inputToOutput { + key: "finish" + value: "stop" + } + inputToOutput { + key: "numOfElements" + value: "num" + } + ruleType: "tensor" + inputFrameworkOpName: "LinSpace" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputDoubleName: "stop" + inputToOutput { + key: "start" + value: "start" + } + inputToOutput { + key: "stop" + value: "stop" + } + ruleType: "attribute" + inputFrameworkOpName: "LinSpace" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "LinSpace" + } +} +mappings { + frameworkName: "tensorflow" + opName: "boolean_and" + inputFrameworkOpName: "LogicalAnd" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "LogicalAnd" + } +} +mappings { + frameworkName: "tensorflow" + opName: "random_gamma" + inputFrameworkOpName: "RandomGamma" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "shape" + inputTensorName: "alpha" + outputTensorName: "shape" + outputTensorName: "alpha" + inputToOutput { + key: "shape" + value: "shape" + } + inputToOutput { + key: "alpha" + value: "alpha" + } + ruleType: "tensor" + inputFrameworkOpName: "RandomGamma" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "seed" + outputIntName: "seed" + inputToOutput { + key: "seed" + value: "seed" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomGamma" + } +} +mappings { + frameworkName: "tensorflow" + opName: "pad" + inputFrameworkOpName: "PadV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "paddings" + outputTensorName: "input" + outputTensorName: "paddings" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "paddings" + value: "paddings" + } + ruleType: "tensor" + inputFrameworkOpName: "PadV2" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputDoubleName: "padValue" + inputToOutput { + key: "padValue" + value: "constant_values" + } + ruleType: "attribute" + inputFrameworkOpName: "PadV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "mode" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "mode" + argType: INT64 + } + } + inputFrameworkOpName: "PadV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "unsorted_segment_sum" + inputFrameworkOpName: "UnsortedSegmentSum" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "segment_ids" + outputTensorName: "input" + outputTensorName: "idxSegments" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "idxSegments" + value: "segment_ids" + } + ruleType: "tensor" + inputFrameworkOpName: "UnsortedSegmentSum" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputIntName: "numSegments" + inputToOutput { + key: "numSegments" + value: "num_segments" + } + ruleType: "attribute" + inputFrameworkOpName: "UnsortedSegmentSum" + } +} +mappings { + frameworkName: "tensorflow" + opName: "log1p" + inputFrameworkOpName: "Log1p" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Log1p" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Log1p" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Log1p" + } +} +mappings { + frameworkName: "tensorflow" + opName: "matrix_set_diag" + inputFrameworkOpName: "MatrixSetDiag" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "diagonal" + outputTensorName: "input" + outputTensorName: "diagonal" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "diagonal" + value: "diagonal" + } + ruleType: "tensor" + inputFrameworkOpName: "MatrixSetDiag" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "BatchMatrixSetDiag" + } +} +mappings { + frameworkName: "tensorflow" + opName: "dynamic_partition" + inputFrameworkOpName: "DynamicPartition" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "partitions" + outputTensorName: "input" + outputTensorName: "indices" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "indices" + value: "partitions" + } + ruleType: "tensor" + inputFrameworkOpName: "DynamicPartition" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "num_partitions" + outputIntName: "numPartitions" + inputToOutput { + key: "numPartitions" + value: "num_partitions" + } + ruleType: "attribute" + inputFrameworkOpName: "DynamicPartition" + } +} +mappings { + frameworkName: "tensorflow" + opName: "mod" + inputFrameworkOpName: "Mod" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "Mod" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Mod" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Mod" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_mul" + inputFrameworkOpName: "ScatterMul" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + inputTensorName: "updates" + inputTensorName: "ref" + outputTensorName: "indices" + outputTensorName: "updates" + outputTensorName: "input" + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + inputToOutput { + key: "input" + value: "ref" + } + ruleType: "tensor" + inputFrameworkOpName: "ScatterMul" + } +} +mappings { + frameworkName: "tensorflow" + opName: "broadcast_to" + inputFrameworkOpName: "BroadcastTo" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "shape" + outputTensorName: "input" + outputTensorName: "shape" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "shape" + value: "shape" + } + ruleType: "tensor" + inputFrameworkOpName: "BroadcastTo" + } +} +mappings { + frameworkName: "tensorflow" + opName: "random_poisson" + inputFrameworkOpName: "RandomPoissonV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "shape" + inputTensorName: "rate" + outputTensorName: "shape" + outputTensorName: "lambda" + inputToOutput { + key: "shape" + value: "shape" + } + inputToOutput { + key: "lambda" + value: "rate" + } + ruleType: "tensor" + inputFrameworkOpName: "RandomPoissonV2" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "seed" + outputIntName: "seed" + inputDataTypeName: "dtype" + outputDataTypeName: "dtype" + inputToOutput { + key: "seed" + value: "seed" + } + inputToOutput { + key: "dtype" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomPoissonV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "asin" + inputFrameworkOpName: "Asin" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Asin" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Asin" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Asin" + } +} +mappings { + frameworkName: "tensorflow" + opName: "space_to_depth" + inputFrameworkOpName: "SpaceToDepth" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "SpaceToDepth" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "block_size" + outputIntName: "block_size" + inputToOutput { + key: "block_size" + value: "block_size" + } + ruleType: "attribute" + inputFrameworkOpName: "SpaceToDepth" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "data_format" + inputStringAttrName: "data_format" + outputIntName: "isNHWC" + inputToOutput { + key: "isNHWC" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "isNHWC" + transformerArgs { + name: "data_format" + argType: STRING + argIndex: 1 + stringValue: "NHWC" + } + } + inputFrameworkOpName: "SpaceToDepth" + } +} +mappings { + frameworkName: "tensorflow" + opName: "tile" + inputFrameworkOpName: "Tile" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "multiples" + outputTensorName: "input" + outputTensorName: "reps_vector" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "reps_vector" + value: "multiples" + } + ruleType: "tensor" + inputFrameworkOpName: "Tile" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dimensions" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dimensions" + argType: INT64 + } + } + inputFrameworkOpName: "Tile" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "is_static_reps" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "is_static_reps" + boolValue: true + argType: BOOL + } + } + inputFrameworkOpName: "Tile" + } +} +mappings { + frameworkName: "tensorflow" + opName: "depth_to_space" + inputFrameworkOpName: "DepthToSpace" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "DepthToSpace" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "block_size" + outputIntName: "block_size" + inputToOutput { + key: "block_size" + value: "block_size" + } + ruleType: "attribute" + inputFrameworkOpName: "DepthToSpace" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "data_format" + inputStringAttrName: "data_format" + outputIntName: "isNHWC" + inputToOutput { + key: "isNHWC" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "isNHWC" + transformerArgs { + name: "data_format" + argType: STRING + argIndex: 1 + stringValue: "NHWC" + } + } + inputFrameworkOpName: "DepthToSpace" + } +} +mappings { + frameworkName: "tensorflow" + opName: "invert_permutation" + inputFrameworkOpName: "InvertPermutation" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "InvertPermutation" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "InvertPermutation" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "InvertPermutation" + } +} +mappings { + frameworkName: "tensorflow" + opName: "crop_and_resize" + inputFrameworkOpName: "CropAndResize" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "image" + inputTensorName: "boxes" + inputTensorName: "box_ind" + inputTensorName: "crop_size" + outputTensorName: "image" + outputTensorName: "boxes" + outputTensorName: "boxIndexes" + outputTensorName: "newImageSize" + inputToOutput { + key: "image" + value: "image" + } + inputToOutput { + key: "boxes" + value: "boxes" + } + inputToOutput { + key: "boxIndexes" + value: "box_ind" + } + inputToOutput { + key: "newImageSize" + value: "crop_size" + } + ruleType: "tensor" + inputFrameworkOpName: "CropAndResize" + } + rule { + ruleName: "stringtoindex" + functionName: "stringtoindex" + inputStringAttrName: "method" + outputIntName: "method" + inputFloatName: "bilinear" + inputFloatName: "nearest" + inputToOutput { + key: "method" + value: "method" + } + ruleType: "attribute" + transformerArgs { + key: "method" + transformerArgs { + name: "bilinear" + stringValue: "bilinear" + } + transformerArgs { + name: "nearest" + stringValue: "nearest" + } + } + transformerArgs { + key: "method" + transformerArgs { + name: "bilinear" + stringValue: "bilinear" + } + transformerArgs { + name: "nearest" + stringValue: "nearest" + } + } + inputFrameworkOpName: "CropAndResize" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "extrapolation_value" + outputDoubleName: "extrapolationVal" + inputToOutput { + key: "extrapolationVal" + value: "extrapolation_value" + } + ruleType: "attribute" + inputFrameworkOpName: "CropAndResize" + } +} +mappings { + frameworkName: "tensorflow" + opName: "read_list" + inputFrameworkOpName: "TensorArrayRead" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "handle" + outputTensorName: "list" + inputToOutput { + key: "list" + value: "handle" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayRead" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "dtype" + outputDataTypeName: "importDataType" + inputToOutput { + key: "importDataType" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArrayRead" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_nd" + inputFrameworkOpName: "ScatterNd" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + inputTensorName: "updates" + inputTensorName: "shape" + outputTensorName: "indices" + outputTensorName: "updates" + outputTensorName: "shape" + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + inputToOutput { + key: "shape" + value: "shape" + } + ruleType: "tensor" + inputFrameworkOpName: "ScatterNd" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "lock" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "lock" + argType: BOOL + } + } + inputFrameworkOpName: "ScatterNd" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "checkIndices" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + } + inputFrameworkOpName: "ScatterNd" + } +} +mappings { + frameworkName: "tensorflow" + opName: "strided_slice" + inputFrameworkOpName: "StridedSlice" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "begin" + inputTensorName: "end" + inputTensorName: "strides" + outputTensorName: "input" + outputTensorName: "v_begin" + outputTensorName: "v_end" + outputTensorName: "v_stride" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "v_begin" + value: "begin" + } + inputToOutput { + key: "v_end" + value: "end" + } + inputToOutput { + key: "v_stride" + value: "strides" + } + ruleType: "tensor" + inputFrameworkOpName: "StridedSlice" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "begin_mask" + inputIntName: "end_mask" + inputIntName: "ellipsis_mask" + inputIntName: "new_axis_mask" + inputIntName: "shrink_axis_mask" + outputIntName: "begin_mask" + outputIntName: "end_mask" + outputIntName: "ellipsis_mask" + outputIntName: "new_axis_mask" + outputIntName: "shrink_axis_mask" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "begin_mask" + value: "begin_mask" + } + inputToOutput { + key: "end_mask" + value: "end_mask" + } + inputToOutput { + key: "ellipsis_mask" + value: "ellipsis_mask" + } + inputToOutput { + key: "new_axis_mask" + value: "new_axis_mask" + } + inputToOutput { + key: "shrink_axis_mask" + value: "shrink_axis_mask" + } + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "StridedSlice" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_list" + inputFrameworkOpName: "TensorArrayScatter" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "value" + inputTensorName: "indices" + inputTensorName: "flow_in" + outputTensorName: "array" + outputTensorName: "sizes" + outputTensorName: "list" + inputToOutput { + key: "array" + value: "value" + } + inputToOutput { + key: "sizes" + value: "indices" + } + inputToOutput { + key: "list" + value: "flow_in" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayScatter" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArrayScatter" + } +} +mappings { + frameworkName: "tensorflow" + opName: "size_list" + inputFrameworkOpName: "TensorArraySizeV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "flow_in" + outputTensorName: "list" + inputToOutput { + key: "list" + value: "flow_in" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArraySizeV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "size_list" + inputFrameworkOpName: "TensorArraySizeV3" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "flow_in" + outputTensorName: "list" + inputToOutput { + key: "list" + value: "flow_in" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArraySizeV3" + } +} +mappings { + frameworkName: "tensorflow" + opName: "next_iteration" + inputFrameworkOpName: "NextIteration" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "NextIteration" + } +} +mappings { + frameworkName: "tensorflow" + opName: "solve" + inputFrameworkOpName: "MatrixSolve" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "matrix" + inputTensorName: "rhs" + outputTensorName: "a" + outputTensorName: "b" + inputToOutput { + key: "a" + value: "matrix" + } + inputToOutput { + key: "b" + value: "rhs" + } + ruleType: "tensor" + inputFrameworkOpName: "MatrixSolve" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "adjoint" + outputBooleanName: "useAdjoint" + inputToOutput { + key: "useAdjoint" + value: "adjoint" + } + ruleType: "attribute" + inputFrameworkOpName: "MatrixSolve" + } +} +mappings { + frameworkName: "tensorflow" + opName: "fused_batch_norm" + inputFrameworkOpName: "FusedBatchNorm" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "scale" + inputTensorName: "offset" + inputTensorName: "mean" + inputTensorName: "variance" + outputTensorName: "input" + outputTensorName: "scale" + outputTensorName: "offset" + outputTensorName: "mean" + outputTensorName: "variance" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "scale" + value: "scale" + } + inputToOutput { + key: "offset" + value: "offset" + } + inputToOutput { + key: "mean" + value: "mean" + } + inputToOutput { + key: "variance" + value: "variance" + } + ruleType: "tensor" + inputFrameworkOpName: "FusedBatchNorm" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "epsilon" + outputDoubleName: "epsilon" + inputToOutput { + key: "epsilon" + value: "epsilon" + } + ruleType: "attribute" + inputFrameworkOpName: "FusedBatchNorm" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + outputIntName: "isTraining" + inputBooleanName: "is_training" + inputToOutput { + key: "isTraining" + value: "is_training" + } + ruleType: "attribute" + inputFrameworkOpName: "FusedBatchNorm" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "data_format" + inputStringAttrName: "data_format" + outputIntName: "dataFormat" + inputToOutput { + key: "dataFormat" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "dataFormat" + transformerArgs { + name: "data_format" + argType: STRING + stringValue: "NCHW" + } + } + inputFrameworkOpName: "FusedBatchNorm" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_max" + inputFrameworkOpName: "TensorScatterMax" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "tensor" + inputTensorName: "indices" + inputTensorName: "updates" + outputTensorName: "input" + outputTensorName: "indices" + outputTensorName: "updates" + inputToOutput { + key: "input" + value: "tensor" + } + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorScatterMax" + } +} +mappings { + frameworkName: "tensorflow" + opName: "greater_equal" + inputFrameworkOpName: "GreaterEqual" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "GreaterEqual" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "GreaterEqual" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "GreaterEqual" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_nd_sub" + inputFrameworkOpName: "ScatterNdSub" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + inputTensorName: "updates" + inputTensorName: "ref" + outputTensorName: "indices" + outputTensorName: "updates" + outputTensorName: "input" + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + inputToOutput { + key: "input" + value: "ref" + } + ruleType: "tensor" + inputFrameworkOpName: "ScatterNdSub" + } +} +mappings { + frameworkName: "tensorflow" + opName: "equals" + inputFrameworkOpName: "Equal" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "Equal" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Equal" + } +} +mappings { + frameworkName: "tensorflow" + opName: "read_list" + inputFrameworkOpName: "TensorArrayReadV3" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "handle" + outputTensorName: "list" + inputToOutput { + key: "list" + value: "handle" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayReadV3" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "dtype" + outputDataTypeName: "importDataType" + inputToOutput { + key: "importDataType" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArrayReadV3" + } +} +mappings { + frameworkName: "tensorflow" + opName: "floormod" + inputFrameworkOpName: "FloorMod" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "FloorMod" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "FloorMod" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "FloorMod" + } +} +mappings { + frameworkName: "tensorflow" + opName: "read_list" + inputFrameworkOpName: "TensorArrayReadV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "handle" + outputTensorName: "list" + inputToOutput { + key: "list" + value: "handle" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayReadV2" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "dtype" + outputDataTypeName: "importDataType" + inputToOutput { + key: "importDataType" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArrayReadV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "biasadd" + inputFrameworkOpName: "BiasAdd" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "value" + inputTensorName: "bias" + outputTensorName: "input" + outputTensorName: "bias" + inputToOutput { + key: "input" + value: "value" + } + inputToOutput { + key: "bias" + value: "bias" + } + ruleType: "tensor" + inputFrameworkOpName: "BiasAdd" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "data_format" + inputStringAttrName: "data_format" + outputBooleanName: "nchw" + inputToOutput { + key: "nchw" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "nchw" + transformerArgs { + name: "data_format" + argType: STRING + stringValue: "NCHW" + } + } + inputFrameworkOpName: "BiasAdd" + } +} +mappings { + frameworkName: "tensorflow" + opName: "identity" + inputFrameworkOpName: "Identity" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Identity" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Identity" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Identity" + } +} +mappings { + frameworkName: "tensorflow" + opName: "unstack" + inputFrameworkOpName: "Unpack" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "value" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "value" + } + ruleType: "tensor" + inputFrameworkOpName: "Unpack" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "axis" + inputIntName: "num" + outputIntName: "dimensions" + outputIntName: "num" + inputToOutput { + key: "dimensions" + value: "axis" + } + inputToOutput { + key: "num" + value: "num" + } + ruleType: "attribute" + inputFrameworkOpName: "Unpack" + } +} +mappings { + frameworkName: "tensorflow" + opName: "exit" + inputFrameworkOpName: "Exit" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "Exit" + } +} +mappings { + frameworkName: "tensorflow" + opName: "add" + inputFrameworkOpName: "AddV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "AddV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "AddV2" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "AddV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "tanh" + inputFrameworkOpName: "Tanh" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Tanh" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Tanh" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Tanh" + } +} +mappings { + frameworkName: "tensorflow" + opName: "toggle_bits" + inputFrameworkOpName: "Invert" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Invert" + } +} +mappings { + frameworkName: "tensorflow" + opName: "lstmBlockCell" + inputFrameworkOpName: "LSTMBlockCell" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "cs_prev" + inputTensorName: "h_prev" + inputTensorName: "w" + inputTensorName: "wci" + inputTensorName: "wcf" + inputTensorName: "wco" + inputTensorName: "b" + outputTensorName: "xt" + outputTensorName: "cLast" + outputTensorName: "yLast" + outputTensorName: "W" + outputTensorName: "Wci" + outputTensorName: "Wcf" + outputTensorName: "Wco" + outputTensorName: "b" + inputToOutput { + key: "xt" + value: "x" + } + inputToOutput { + key: "cLast" + value: "cs_prev" + } + inputToOutput { + key: "yLast" + value: "h_prev" + } + inputToOutput { + key: "W" + value: "w" + } + inputToOutput { + key: "Wci" + value: "wci" + } + inputToOutput { + key: "Wcf" + value: "wcf" + } + inputToOutput { + key: "Wco" + value: "wco" + } + inputToOutput { + key: "b" + value: "b" + } + ruleType: "tensor" + inputFrameworkOpName: "LSTMBlockCell" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "forget_bias" + inputFloatName: "cell_clip" + outputDoubleName: "forgetBias" + outputDoubleName: "clippingCellValue" + inputToOutput { + key: "forgetBias" + value: "forget_bias" + } + inputToOutput { + key: "clippingCellValue" + value: "cell_clip" + } + ruleType: "attribute" + inputFrameworkOpName: "LSTMBlockCell" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + outputIntName: "peephole" + inputBooleanName: "use_peephole" + inputToOutput { + key: "peephole" + value: "use_peephole" + } + ruleType: "attribute" + inputFrameworkOpName: "LSTMBlockCell" + } +} +mappings { + frameworkName: "tensorflow" + opName: "log" + inputFrameworkOpName: "Log" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Log" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Log" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Log" + } +} +mappings { + frameworkName: "tensorflow" + opName: "non_max_suppression_v3" + inputFrameworkOpName: "NonMaxSuppressionV4" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "boxes" + inputTensorName: "scores" + inputTensorName: "max_output_size" + inputTensorName: "iou_threshold" + inputTensorName: "score_threshold" + outputTensorName: "boxes" + outputTensorName: "scales" + outputTensorName: "maxOutSize" + outputTensorName: "iouThreshold" + outputTensorName: "scoreThreshold" + inputToOutput { + key: "boxes" + value: "boxes" + } + inputToOutput { + key: "scales" + value: "scores" + } + inputToOutput { + key: "maxOutSize" + value: "max_output_size" + } + inputToOutput { + key: "iouThreshold" + value: "iou_threshold" + } + inputToOutput { + key: "scoreThreshold" + value: "score_threshold" + } + ruleType: "tensor" + inputFrameworkOpName: "NonMaxSuppressionV4" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputIntName: "maxOutputSize" + inputToOutput { + key: "maxOutputSize" + value: "max_output_size" + } + ruleType: "attribute" + inputFrameworkOpName: "NonMaxSuppressionV4" + } +} +mappings { + frameworkName: "tensorflow" + opName: "less_equal" + inputFrameworkOpName: "LessEqual" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "LessEqual" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "LessEqual" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "LessEqual" + } +} +mappings { + frameworkName: "tensorflow" + opName: "non_max_suppression" + inputFrameworkOpName: "NonMaxSuppressionV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "boxes" + inputTensorName: "scores" + inputTensorName: "iou_threshold" + inputTensorName: "max_output_size" + outputTensorName: "boxes" + outputTensorName: "scales" + outputTensorName: "iouThreshold" + outputTensorName: "maxOutputSize" + inputToOutput { + key: "boxes" + value: "boxes" + } + inputToOutput { + key: "scales" + value: "scores" + } + inputToOutput { + key: "iouThreshold" + value: "iou_threshold" + } + inputToOutput { + key: "maxOutputSize" + value: "max_output_size" + } + ruleType: "tensor" + inputFrameworkOpName: "NonMaxSuppressionV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "scoreThreshold" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "scoreThreshold" + doubleValue: 0.5 + argType: DOUBLE + argIndex: 1 + } + } + inputFrameworkOpName: "NonMaxSuppressionV2" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + inputToOutput { + key: "maxOutputSize" + value: "max_output_size" + } + ruleType: "attribute" + inputFrameworkOpName: "NonMaxSuppressionV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "non_max_suppression_v3" + inputFrameworkOpName: "NonMaxSuppressionV3" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "boxes" + inputTensorName: "scores" + inputTensorName: "max_output_size" + inputTensorName: "iou_threshold" + inputTensorName: "score_threshold" + outputTensorName: "boxes" + outputTensorName: "scales" + outputTensorName: "maxOutSize" + outputTensorName: "iouThreshold" + outputTensorName: "scoreThreshold" + inputToOutput { + key: "boxes" + value: "boxes" + } + inputToOutput { + key: "scales" + value: "scores" + } + inputToOutput { + key: "maxOutSize" + value: "max_output_size" + } + inputToOutput { + key: "iouThreshold" + value: "iou_threshold" + } + inputToOutput { + key: "scoreThreshold" + value: "score_threshold" + } + ruleType: "tensor" + inputFrameworkOpName: "NonMaxSuppressionV3" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputIntName: "maxOutputSize" + inputToOutput { + key: "maxOutputSize" + value: "max_output_size" + } + ruleType: "attribute" + inputFrameworkOpName: "NonMaxSuppressionV3" + } +} +mappings { + frameworkName: "tensorflow" + opName: "onehot" + inputFrameworkOpName: "OneHot" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "indices" + } + ruleType: "tensor" + inputFrameworkOpName: "OneHot" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + inputToOutput { + key: "on" + value: "on_value" + } + inputToOutput { + key: "off" + value: "off_value" + } + inputToOutput { + key: "depth" + value: "depth" + } + ruleType: "attribute" + inputFrameworkOpName: "OneHot" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "axis" + outputIntName: "dimensions" + outputIntName: "dataType" + inputDataTypeName: "T" + inputToOutput { + key: "dimensions" + value: "axis" + } + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "OneHot" + } +} +mappings { + frameworkName: "tensorflow" + opName: "transpose" + inputFrameworkOpName: "Transpose" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "perm" + outputTensorName: "input" + outputTensorName: "permutationVector" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "permutationVector" + value: "perm" + } + ruleType: "tensor" + inputFrameworkOpName: "Transpose" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Transpose" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "permuteDims" + inputToOutput { + key: "permuteDims" + value: "perm" + } + ruleType: "attribute" + inputFrameworkOpName: "Transpose" + } +} +mappings { + frameworkName: "tensorflow" + opName: "square" + inputFrameworkOpName: "Square" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Square" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Square" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Square" + } +} +mappings { + frameworkName: "tensorflow" + opName: "segment_min" + inputFrameworkOpName: "SegmentMin" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "segment_ids" + outputTensorName: "input" + outputTensorName: "idxSegments" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "idxSegments" + value: "segment_ids" + } + ruleType: "tensor" + inputFrameworkOpName: "SegmentMin" + } +} +mappings { + frameworkName: "tensorflow" + opName: "switch" + inputFrameworkOpName: "Switch" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "pred" + outputTensorName: "input" + outputTensorName: "predicate" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "predicate" + value: "pred" + } + ruleType: "tensor" + inputFrameworkOpName: "Switch" + } +} +mappings { + frameworkName: "tensorflow" + opName: "unsorted_segment_max" + inputFrameworkOpName: "UnsortedSegmentMax" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "segment_ids" + outputTensorName: "input" + outputTensorName: "idxSegments" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "idxSegments" + value: "segment_ids" + } + ruleType: "tensor" + inputFrameworkOpName: "UnsortedSegmentMax" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputIntName: "numSegments" + inputToOutput { + key: "numSegments" + value: "num_segments" + } + ruleType: "attribute" + inputFrameworkOpName: "UnsortedSegmentMax" + } +} +mappings { + frameworkName: "tensorflow" + opName: "segment_sum" + inputFrameworkOpName: "SegmentSum" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "segment_ids" + outputTensorName: "input" + outputTensorName: "idxSegments" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "idxSegments" + value: "segment_ids" + } + ruleType: "tensor" + inputFrameworkOpName: "SegmentSum" + } +} +mappings { + frameworkName: "tensorflow" + opName: "resize_bilinear" + inputFrameworkOpName: "ResizeBilinear" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "images" + inputTensorName: "size" + outputTensorName: "image" + outputTensorName: "newImageSize" + inputToOutput { + key: "image" + value: "images" + } + inputToOutput { + key: "newImageSize" + value: "size" + } + ruleType: "tensor" + inputFrameworkOpName: "ResizeBilinear" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "align_corners" + inputBooleanName: "half_pixel_centers" + outputBooleanName: "alignCorners" + outputBooleanName: "halfPixelCenter" + inputToOutput { + key: "alignCorners" + value: "align_corners" + } + inputToOutput { + key: "halfPixelCenter" + value: "half_pixel_centers" + } + ruleType: "attribute" + inputFrameworkOpName: "ResizeBilinear" + } +} +mappings { + frameworkName: "tensorflow" + opName: "softmax" + inputFrameworkOpName: "Softmax" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "logits" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "logits" + } + ruleType: "tensor" + inputFrameworkOpName: "Softmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dimension" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dimension" + int64Value: 1 + argType: INT64 + } + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "dimension" + int64Value: 1 + argType: INT64 + } + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Softmax" + } +} +mappings { + frameworkName: "tensorflow" + opName: "split_list" + inputFrameworkOpName: "TensorArraySplitV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "lengths" + inputTensorName: "value" + inputTensorName: "value" + outputTensorName: "sizes" + outputTensorName: "list" + outputTensorName: "array" + inputToOutput { + key: "sizes" + value: "lengths" + } + inputToOutput { + key: "list" + value: "value" + } + inputToOutput { + key: "array" + value: "value" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArraySplitV2" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArraySplitV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "erf" + inputFrameworkOpName: "Erf" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Erf" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Erf" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Erf" + } +} +mappings { + frameworkName: "tensorflow" + opName: "split_list" + inputFrameworkOpName: "TensorArraySplitV3" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "lengths" + inputTensorName: "value" + inputTensorName: "value" + outputTensorName: "sizes" + outputTensorName: "list" + outputTensorName: "array" + inputToOutput { + key: "sizes" + value: "lengths" + } + inputToOutput { + key: "list" + value: "value" + } + inputToOutput { + key: "array" + value: "value" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArraySplitV3" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArraySplitV3" + } +} +mappings { + frameworkName: "tensorflow" + opName: "relu" + inputFrameworkOpName: "Relu" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "features" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "features" + } + ruleType: "tensor" + inputFrameworkOpName: "Relu" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "cutoff" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "cutoff" + argType: DOUBLE + } + } + inputFrameworkOpName: "Relu" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Relu" + } +} +mappings { + frameworkName: "tensorflow" + opName: "ceil" + inputFrameworkOpName: "Ceil" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Ceil" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Ceil" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Ceil" + } +} +mappings { + frameworkName: "tensorflow" + opName: "l2_loss" + inputFrameworkOpName: "L2Loss" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "t" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "t" + } + ruleType: "tensor" + inputFrameworkOpName: "L2Loss" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "L2Loss" + } +} +mappings { + frameworkName: "tensorflow" + opName: "switch" + inputFrameworkOpName: "If" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "cond" + outputTensorName: "input" + outputTensorName: "predicate" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "predicate" + value: "cond" + } + ruleType: "tensor" + inputFrameworkOpName: "If" + } +} +mappings { + frameworkName: "tensorflow" + opName: "cast" + inputFrameworkOpName: "Cast" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Cast" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "DstT" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "DstT" + } + ruleType: "attribute" + inputFrameworkOpName: "Cast" + } + rule { + ruleName: "datatypetoint" + functionName: "datatypetoint" + outputIntName: "dst" + inputDataTypeName: "DstT" + inputToOutput { + key: "dst" + value: "DstT" + } + ruleType: "attribute" + inputFrameworkOpName: "Cast" + } +} +mappings { + frameworkName: "tensorflow" + opName: "minimum" + inputFrameworkOpName: "Minimum" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "Minimum" + } +} +mappings { + frameworkName: "tensorflow" + opName: "non_max_suppression" + inputFrameworkOpName: "NonMaxSuppression" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "boxes" + inputTensorName: "scores" + inputTensorName: "max_output_size" + outputTensorName: "boxes" + outputTensorName: "scales" + outputTensorName: "maxOutputSize" + inputToOutput { + key: "boxes" + value: "boxes" + } + inputToOutput { + key: "scales" + value: "scores" + } + inputToOutput { + key: "maxOutputSize" + value: "max_output_size" + } + ruleType: "tensor" + inputFrameworkOpName: "NonMaxSuppression" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "scoreThreshold" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "scoreThreshold" + doubleValue: 0.5 + argType: DOUBLE + argIndex: 1 + } + } + inputFrameworkOpName: "NonMaxSuppression" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "iou_threshold" + inputToOutput { + key: "iouThreshold" + value: "iou_threshold" + } + ruleType: "attribute" + inputFrameworkOpName: "NonMaxSuppression" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + inputToOutput { + key: "maxOutputSize" + value: "max_output_size" + } + ruleType: "attribute" + inputFrameworkOpName: "NonMaxSuppression" + } +} +mappings { + frameworkName: "tensorflow" + opName: "lstmBlock" + inputFrameworkOpName: "BlockLSTM" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "seq_len_max" + inputTensorName: "x" + inputTensorName: "cs_prev" + inputTensorName: "h_prev" + inputTensorName: "w" + inputTensorName: "wci" + inputTensorName: "wcf" + inputTensorName: "wco" + inputTensorName: "b" + outputTensorName: "maxTSLength" + outputTensorName: "input" + outputTensorName: "cLast" + outputTensorName: "yLast" + outputTensorName: "W" + outputTensorName: "Wci" + outputTensorName: "Wcf" + outputTensorName: "Wco" + outputTensorName: "b" + inputToOutput { + key: "maxTSLength" + value: "seq_len_max" + } + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "cLast" + value: "cs_prev" + } + inputToOutput { + key: "yLast" + value: "h_prev" + } + inputToOutput { + key: "W" + value: "w" + } + inputToOutput { + key: "Wci" + value: "wci" + } + inputToOutput { + key: "Wcf" + value: "wcf" + } + inputToOutput { + key: "Wco" + value: "wco" + } + inputToOutput { + key: "b" + value: "b" + } + ruleType: "tensor" + inputFrameworkOpName: "BlockLSTM" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "forget_bias" + inputFloatName: "cell_clip" + outputDoubleName: "forgetBias" + outputDoubleName: "clippingCellValue" + inputToOutput { + key: "forgetBias" + value: "forget_bias" + } + inputToOutput { + key: "clippingCellValue" + value: "cell_clip" + } + ruleType: "attribute" + inputFrameworkOpName: "BlockLSTM" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + outputIntName: "peephole" + inputBooleanName: "use_peephole" + inputToOutput { + key: "peephole" + value: "use_peephole" + } + ruleType: "attribute" + inputFrameworkOpName: "BlockLSTM" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dataFormat" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dataFormat" + argType: INT64 + } + } + inputFrameworkOpName: "BlockLSTM" + } +} +mappings { + frameworkName: "tensorflow" + opName: "shape_of" + inputFrameworkOpName: "Shape" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Shape" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Shape" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "out_type" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "out_type" + } + ruleType: "attribute" + inputFrameworkOpName: "Shape" + } +} +mappings { + frameworkName: "tensorflow" + opName: "check_numerics" + inputFrameworkOpName: "CheckNumerics" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "tensor" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "tensor" + } + ruleType: "tensor" + inputFrameworkOpName: "CheckNumerics" + } + rule { + ruleName: "convertinputstringtondarray" + functionName: "convertinputstringtondarray" + inputStringAttrName: "message" + inputToOutput { + key: "message" + value: "message" + } + ruleType: "attribute" + inputFrameworkOpName: "CheckNumerics" + } +} +mappings { + frameworkName: "tensorflow" + opName: "reduce_max" + inputFrameworkOpName: "Max" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Max" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "keep_dims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keep_dims" + } + ruleType: "attribute" + inputFrameworkOpName: "Max" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + inputToOutput { + key: "dimensions" + value: "reduction_indices" + } + ruleType: "attribute" + inputFrameworkOpName: "Max" + } +} +mappings { + frameworkName: "tensorflow" + opName: "tensorarrayv3" + inputFrameworkOpName: "TensorArrayV3" + rule { + ruleName: "datatypetoint" + functionName: "datatypetoint" + outputIntName: "dataType" + inputDataTypeName: "dtype" + inputToOutput { + key: "dataType" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArrayV3" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_max" + inputFrameworkOpName: "ScatterMax" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "ref" + inputTensorName: "indices" + inputTensorName: "updates" + outputTensorName: "input" + outputTensorName: "indices" + outputTensorName: "updates" + inputToOutput { + key: "input" + value: "ref" + } + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + ruleType: "tensor" + inputFrameworkOpName: "ScatterMax" + } +} +mappings { + frameworkName: "tensorflow" + opName: "isnan" + inputFrameworkOpName: "IsNan" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "IsNan" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "IsNan" + } +} +mappings { + frameworkName: "tensorflow" + opName: "gather_list" + inputFrameworkOpName: "TensorArrayGather" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + inputTensorName: "flow_in" + outputTensorName: "indices" + outputTensorName: "list" + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "list" + value: "flow_in" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayGather" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "dtype" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArrayGather" + } +} +mappings { + frameworkName: "tensorflow" + opName: "bincount" + inputFrameworkOpName: "Bincount" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "weights" + inputTensorName: "arr" + outputTensorName: "weights" + outputTensorName: "values" + inputToOutput { + key: "weights" + value: "weights" + } + inputToOutput { + key: "values" + value: "arr" + } + ruleType: "tensor" + inputFrameworkOpName: "Bincount" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "minLength" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "minLength" + argType: INT64 + } + } + inputFrameworkOpName: "Bincount" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputIntName: "maxLength" + inputToOutput { + key: "maxLength" + value: "size" + } + ruleType: "attribute" + inputFrameworkOpName: "Bincount" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "outputType" + inputToOutput { + key: "outputType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Bincount" + } + indexOverrides { + key: 1 + value: 2 + } + indexOverrides { + key: 2 + value: 1 + } +} +mappings { + frameworkName: "tensorflow" + opName: "space_to_batch_nd" + inputFrameworkOpName: "SpaceToBatchND" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "block_shape" + inputTensorName: "paddings" + outputTensorName: "input" + outputTensorName: "blockShape" + outputTensorName: "padding" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "blockShape" + value: "block_shape" + } + inputToOutput { + key: "padding" + value: "paddings" + } + ruleType: "tensor" + inputFrameworkOpName: "SpaceToBatchND" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "blocks" + inputToOutput { + key: "blocks" + value: "block_shape" + } + ruleType: "attribute" + inputFrameworkOpName: "SpaceToBatchND" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "SpaceToBatchND" + } +} +mappings { + frameworkName: "tensorflow" + opName: "reduce_prod" + inputFrameworkOpName: "Prod" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Prod" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "keep_dims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keep_dims" + } + ruleType: "attribute" + inputFrameworkOpName: "Prod" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + inputToOutput { + key: "dimensions" + value: "reduction_indices" + } + ruleType: "attribute" + inputFrameworkOpName: "Prod" + } +} +mappings { + frameworkName: "tensorflow" + opName: "lgamma" + inputFrameworkOpName: "Lgamma" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Lgamma" + } +} +mappings { + frameworkName: "tensorflow" + opName: "matmul" + inputFrameworkOpName: "BatchMatMulV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "BatchMatMulV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "alpha" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "alpha" + doubleValue: 1.0 + argType: DOUBLE + } + } + inputFrameworkOpName: "BatchMatMulV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "beta" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "beta" + doubleValue: 1.0 + argType: DOUBLE + argIndex: 1 + } + } + inputFrameworkOpName: "BatchMatMulV2" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + outputIntName: "transX" + outputIntName: "transY" + inputBooleanName: "adj_x" + inputBooleanName: "adj_y" + inputToOutput { + key: "transX" + value: "adj_x" + } + inputToOutput { + key: "transY" + value: "adj_y" + } + ruleType: "attribute" + inputFrameworkOpName: "BatchMatMulV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "transZ" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "transZ" + argType: INT64 + argIndex: 2 + } + } + inputFrameworkOpName: "BatchMatMulV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "unique_with_counts" + inputFrameworkOpName: "UniqueWithCounts" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "UniqueWithCounts" + } +} +mappings { + frameworkName: "tensorflow" + opName: "randomuniform" + inputFrameworkOpName: "RandomUniformInt" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "shape" + inputTensorName: "minval" + inputTensorName: "maxval" + outputTensorName: "shape" + outputTensorName: "min" + outputTensorName: "max" + inputToOutput { + key: "shape" + value: "shape" + } + inputToOutput { + key: "min" + value: "minval" + } + inputToOutput { + key: "max" + value: "maxval" + } + ruleType: "tensor" + inputFrameworkOpName: "RandomUniformInt" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + inputToOutput { + key: "min" + value: "minval" + } + inputToOutput { + key: "max" + value: "maxval" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomUniformInt" + } + rule { + ruleName: "datatypetoint" + functionName: "datatypetoint" + outputIntName: "dtype" + inputDataTypeName: "Tout" + inputToOutput { + key: "dtype" + value: "Tout" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomUniformInt" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "Tout" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "Tout" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomUniformInt" + } +} +mappings { + frameworkName: "tensorflow" + opName: "selu" + inputFrameworkOpName: "Selu" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "features" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "features" + } + ruleType: "tensor" + inputFrameworkOpName: "Selu" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Selu" + } +} +mappings { + frameworkName: "tensorflow" + opName: "argmin" + inputFrameworkOpName: "ArgMin" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "ArgMin" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "keepDims" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "keepDims" + argType: BOOL + } + } + inputFrameworkOpName: "ArgMin" + } +} +mappings { + frameworkName: "tensorflow" + opName: "resize_bicubic" + inputFrameworkOpName: "ResizeBicubic" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "images" + inputTensorName: "size" + outputTensorName: "image" + outputTensorName: "size" + inputToOutput { + key: "image" + value: "images" + } + inputToOutput { + key: "size" + value: "size" + } + ruleType: "tensor" + inputFrameworkOpName: "ResizeBicubic" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "align_corners" + inputBooleanName: "half_pixel_centers" + outputBooleanName: "alignCorners" + outputBooleanName: "alignPixelCenters" + inputToOutput { + key: "alignCorners" + value: "align_corners" + } + inputToOutput { + key: "alignPixelCenters" + value: "half_pixel_centers" + } + ruleType: "attribute" + inputFrameworkOpName: "ResizeBicubic" + } +} +mappings { + frameworkName: "tensorflow" + opName: "atanh" + inputFrameworkOpName: "Atanh" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Atanh" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Atanh" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Atanh" + } +} +mappings { + frameworkName: "tensorflow" + opName: "split_v" + inputFrameworkOpName: "SplitV" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "value" + inputTensorName: "size_splits" + inputTensorName: "split_dim" + outputTensorName: "input" + outputTensorName: "sizes" + outputTensorName: "_a" + inputToOutput { + key: "input" + value: "value" + } + inputToOutput { + key: "sizes" + value: "size_splits" + } + inputToOutput { + key: "_a" + value: "split_dim" + } + ruleType: "tensor" + inputFrameworkOpName: "SplitV" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "num_split" + outputIntName: "numSplit" + inputToOutput { + key: "numSplit" + value: "num_split" + } + ruleType: "attribute" + inputFrameworkOpName: "SplitV" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputIntName: "dimensions" + inputToOutput { + key: "dimensions" + value: "split_dim" + } + ruleType: "attribute" + inputFrameworkOpName: "SplitV" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "dimensions" + inputToOutput { + key: "dimensions" + value: "split_dim" + } + ruleType: "attribute" + inputFrameworkOpName: "SplitV" + } +} +mappings { + frameworkName: "tensorflow" + opName: "mirror_pad" + inputFrameworkOpName: "MirrorPad" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "paddings" + outputTensorName: "input" + outputTensorName: "paddings" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "paddings" + value: "paddings" + } + ruleType: "tensor" + inputFrameworkOpName: "MirrorPad" + } + rule { + ruleName: "stringnotequalsadapterrule" + functionName: "stringnotequalsadapterrule" + inputStringAttrName: "mode" + outputIntName: "mode" + inputFloatName: "mode" + inputToOutput { + key: "mode" + value: "mode" + } + ruleType: "attribute" + transformerArgs { + key: "mode" + transformerArgs { + name: "mode" + stringValue: "REFLECT" + } + } + inputFrameworkOpName: "MirrorPad" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "isSymmetric" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "isSymmetric" + boolValue: true + argType: BOOL + } + } + inputFrameworkOpName: "MirrorPad" + } +} +mappings { + frameworkName: "tensorflow" + opName: "shapes_of" + inputFrameworkOpName: "ShapeN" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "ShapeN" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "ShapeN" + } +} +mappings { + frameworkName: "tensorflow" + opName: "cos" + inputFrameworkOpName: "Cos" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Cos" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Cos" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Cos" + } +} +mappings { + frameworkName: "tensorflow" + opName: "sqrt" + inputFrameworkOpName: "Sqrt" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Sqrt" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Sqrt" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Sqrt" + } +} +mappings { + frameworkName: "tensorflow" + opName: "deconv2d_tf" + inputFrameworkOpName: "Conv2DBackpropInput" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input_sizes" + inputTensorName: "filter" + outputTensorName: "gradIShape" + outputTensorName: "weights" + inputToOutput { + key: "gradIShape" + value: "input_sizes" + } + inputToOutput { + key: "weights" + value: "filter" + } + ruleType: "tensor" + inputFrameworkOpName: "Conv2DBackpropInput" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 4 + } + } + inputFrameworkOpName: "Conv2DBackpropInput" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 5 + } + } + inputFrameworkOpName: "Conv2DBackpropInput" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "wFormat" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "wFormat" + argType: INT64 + argIndex: 10 + } + } + inputFrameworkOpName: "Conv2DBackpropInput" + } + rule { + ruleName: "stringnotequalsadapterrule" + functionName: "stringnotequalsadapterrule" + inputStringAttrName: "data_format" + outputIntName: "isNCHW" + inputFloatName: "data_format" + inputToOutput { + key: "isNCHW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "isNCHW" + transformerArgs { + name: "data_format" + argIndex: 9 + stringValue: "NCHW" + } + } + inputFrameworkOpName: "Conv2DBackpropInput" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "padding" + inputStringAttrName: "padding" + outputIntName: "isSameMode" + inputToOutput { + key: "isSameMode" + value: "padding" + } + ruleType: "attribute" + transformerArgs { + key: "isSameMode" + transformerArgs { + name: "padding" + argType: STRING + argIndex: 8 + stringValue: "SAME" + } + } + inputFrameworkOpName: "Conv2DBackpropInput" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "sH" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "sH" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + inputFrameworkOpName: "Conv2DBackpropInput" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "sW" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "sW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + inputFrameworkOpName: "Conv2DBackpropInput" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "dH" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "dH" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "dH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 6 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 6 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 6 + stringValue: "dilations" + } + } + transformerArgs { + key: "dH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 6 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 6 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 6 + stringValue: "dilations" + } + } + transformerArgs { + key: "dH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 6 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 6 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 6 + stringValue: "dilations" + } + } + transformerArgs { + key: "dH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 6 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 6 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 6 + stringValue: "dilations" + } + } + inputFrameworkOpName: "Conv2DBackpropInput" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "dW" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "dW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "dW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 7 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 7 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 7 + stringValue: "dilations" + } + } + transformerArgs { + key: "dW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 7 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 7 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 7 + stringValue: "dilations" + } + } + transformerArgs { + key: "dW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 7 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 7 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 7 + stringValue: "dilations" + } + } + transformerArgs { + key: "dW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 7 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 7 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 7 + stringValue: "dilations" + } + } + inputFrameworkOpName: "Conv2DBackpropInput" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "kH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "kH" + int64Value: -1 + argType: INT64 + } + } + inputFrameworkOpName: "Conv2DBackpropInput" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "kW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "kW" + int64Value: -1 + argType: INT64 + argIndex: 1 + } + } + inputFrameworkOpName: "Conv2DBackpropInput" + } +} +mappings { + frameworkName: "tensorflow" + opName: "floordiv" + inputFrameworkOpName: "FloorDiv" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "FloorDiv" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "FloorDiv" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "FloorDiv" + } +} +mappings { + frameworkName: "tensorflow" + opName: "stack_list" + inputFrameworkOpName: "TensorArrayConcatV3" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "flow_in" + outputTensorName: "list" + inputToOutput { + key: "list" + value: "flow_in" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayConcatV3" + } +} +mappings { + frameworkName: "tensorflow" + opName: "stack_list" + inputFrameworkOpName: "TensorArrayConcatV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "flow_in" + outputTensorName: "list" + inputToOutput { + key: "list" + value: "flow_in" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayConcatV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "identity" + inputFrameworkOpName: "CopyHost" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "CopyHost" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "CopyHost" + } +} +mappings { + frameworkName: "tensorflow" + opName: "neg" + inputFrameworkOpName: "Neg" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Neg" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Neg" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Neg" + } +} +mappings { + frameworkName: "tensorflow" + opName: "top_k" + inputFrameworkOpName: "TopKV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "TopKV2" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "sorted" + outputBooleanName: "needSort" + inputToOutput { + key: "needSort" + value: "sorted" + } + ruleType: "attribute" + inputFrameworkOpName: "TopKV2" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputIntName: "k" + inputToOutput { + key: "k" + value: "k" + } + ruleType: "attribute" + inputFrameworkOpName: "TopKV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "resize_area" + inputFrameworkOpName: "ResizeArea" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "images" + inputTensorName: "size" + outputTensorName: "image" + outputTensorName: "size" + inputToOutput { + key: "image" + value: "images" + } + inputToOutput { + key: "size" + value: "size" + } + ruleType: "tensor" + inputFrameworkOpName: "ResizeArea" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "align_corners" + outputBooleanName: "alignCorners" + inputToOutput { + key: "alignCorners" + value: "align_corners" + } + ruleType: "attribute" + inputFrameworkOpName: "ResizeArea" + } +} +mappings { + frameworkName: "tensorflow" + opName: "triangular_solve" + inputFrameworkOpName: "MatrixTriangularSolve" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "matrix" + inputTensorName: "rhs" + outputTensorName: "a" + outputTensorName: "b" + inputToOutput { + key: "a" + value: "matrix" + } + inputToOutput { + key: "b" + value: "rhs" + } + ruleType: "tensor" + inputFrameworkOpName: "MatrixTriangularSolve" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "adjoint" + inputBooleanName: "lower" + outputBooleanName: "useAdjoint" + outputBooleanName: "isLower" + inputToOutput { + key: "useAdjoint" + value: "adjoint" + } + inputToOutput { + key: "isLower" + value: "lower" + } + ruleType: "attribute" + inputFrameworkOpName: "MatrixTriangularSolve" + } +} +mappings { + frameworkName: "tensorflow" + opName: "softsign" + inputFrameworkOpName: "Softsign" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "features" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "features" + } + ruleType: "tensor" + inputFrameworkOpName: "Softsign" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Softsign" + } +} +mappings { + frameworkName: "tensorflow" + opName: "gather" + inputFrameworkOpName: "GatherV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "params" + inputTensorName: "indices" + outputTensorName: "input" + outputTensorName: "indices" + inputToOutput { + key: "input" + value: "params" + } + inputToOutput { + key: "indices" + value: "indices" + } + ruleType: "tensor" + inputFrameworkOpName: "GatherV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "GatherV2" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "dimensions" + inputToOutput { + key: "dimensions" + value: "axis" + } + ruleType: "attribute" + inputFrameworkOpName: "GatherV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "fake_quant_with_min_max_args" + inputFrameworkOpName: "FakeQuantWithMinMaxArgs" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "inputs" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "inputs" + } + ruleType: "tensor" + inputFrameworkOpName: "FakeQuantWithMinMaxArgs" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "num_bits" + outputIntName: "numBits" + inputFloatName: "min" + inputFloatName: "max" + outputDoubleName: "min" + outputDoubleName: "max" + inputBooleanName: "narrow_range" + outputBooleanName: "narrowRange" + inputToOutput { + key: "min" + value: "min" + } + inputToOutput { + key: "max" + value: "max" + } + inputToOutput { + key: "numBits" + value: "num_bits" + } + inputToOutput { + key: "narrowRange" + value: "narrow_range" + } + ruleType: "attribute" + inputFrameworkOpName: "FakeQuantWithMinMaxArgs" + } +} +mappings { + frameworkName: "tensorflow" + opName: "all" + inputFrameworkOpName: "All" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "All" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "keep_dims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keep_dims" + } + ruleType: "attribute" + inputFrameworkOpName: "All" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "dimensions" + inputToOutput { + key: "dimensions" + value: "reduction_indices" + } + ruleType: "attribute" + inputFrameworkOpName: "All" + } +} +mappings { + frameworkName: "tensorflow" + opName: "tan" + inputFrameworkOpName: "Tan" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Tan" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Tan" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Tan" + } +} +mappings { + frameworkName: "tensorflow" + opName: "fill" + inputFrameworkOpName: "Fill" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "dims" + outputTensorName: "shapeArray" + inputToOutput { + key: "shapeArray" + value: "dims" + } + ruleType: "tensor" + inputFrameworkOpName: "Fill" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputDoubleName: "value" + inputToOutput { + key: "value" + value: "value" + } + ruleType: "attribute" + inputFrameworkOpName: "Fill" + } + rule { + ruleName: "datatypetoint" + functionName: "datatypetoint" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Fill" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Fill" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_add" + inputFrameworkOpName: "ScatterAdd" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "ref" + inputTensorName: "indices" + inputTensorName: "updates" + outputTensorName: "input" + outputTensorName: "indices" + outputTensorName: "updates" + inputToOutput { + key: "input" + value: "ref" + } + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + ruleType: "tensor" + inputFrameworkOpName: "ScatterAdd" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "lock" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "lock" + argType: BOOL + } + } + inputFrameworkOpName: "ScatterAdd" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "checkIndices" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + } + inputFrameworkOpName: "ScatterAdd" + } +} +mappings { + frameworkName: "tensorflow" + opName: "max_pool_with_argmax" + inputFrameworkOpName: "MaxPoolWithArgmax" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "MaxPoolWithArgmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "kH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "kH" + int64Value: 1 + argType: INT64 + } + } + inputFrameworkOpName: "MaxPoolWithArgmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "kW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "kW" + int64Value: 1 + argType: INT64 + argIndex: 1 + } + } + inputFrameworkOpName: "MaxPoolWithArgmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "sH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "sH" + int64Value: 1 + argType: INT64 + argIndex: 2 + } + } + inputFrameworkOpName: "MaxPoolWithArgmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "sW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "sW" + int64Value: 1 + argType: INT64 + argIndex: 3 + } + } + inputFrameworkOpName: "MaxPoolWithArgmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + int64Value: 1 + argType: INT64 + argIndex: 4 + } + } + inputFrameworkOpName: "MaxPoolWithArgmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pW" + int64Value: 1 + argType: INT64 + argIndex: 5 + } + } + inputFrameworkOpName: "MaxPoolWithArgmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dH" + int64Value: 1 + argType: INT64 + argIndex: 6 + } + } + inputFrameworkOpName: "MaxPoolWithArgmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dW" + int64Value: 1 + argType: INT64 + argIndex: 7 + } + } + inputFrameworkOpName: "MaxPoolWithArgmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "extraParam0" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + } + inputFrameworkOpName: "MaxPoolWithArgmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "isNHWC" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "isNHWC" + int64Value: 1 + argType: INT64 + argIndex: 10 + } + } + inputFrameworkOpName: "MaxPoolWithArgmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "sameMode" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "sameMode" + int64Value: 8 + argType: INT64 + argIndex: 8 + } + } + inputFrameworkOpName: "MaxPoolWithArgmax" + } +} +mappings { + frameworkName: "tensorflow" + opName: "matrix_diag_part" + inputFrameworkOpName: "MatrixDiagPart" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "MatrixDiagPart" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "MatrixDiagPart" + } +} +mappings { + frameworkName: "tensorflow" + opName: "fused_batch_norm" + inputFrameworkOpName: "FusedBatchNormV3" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "scale" + inputTensorName: "offset" + inputTensorName: "mean" + inputTensorName: "variance" + outputTensorName: "input" + outputTensorName: "scale" + outputTensorName: "offset" + outputTensorName: "mean" + outputTensorName: "variance" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "scale" + value: "scale" + } + inputToOutput { + key: "offset" + value: "offset" + } + inputToOutput { + key: "mean" + value: "mean" + } + inputToOutput { + key: "variance" + value: "variance" + } + ruleType: "tensor" + inputFrameworkOpName: "FusedBatchNormV3" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "epsilon" + outputDoubleName: "epsilon" + inputToOutput { + key: "epsilon" + value: "epsilon" + } + ruleType: "attribute" + inputFrameworkOpName: "FusedBatchNormV3" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + outputIntName: "isTraining" + inputBooleanName: "is_training" + inputToOutput { + key: "isTraining" + value: "is_training" + } + ruleType: "attribute" + inputFrameworkOpName: "FusedBatchNormV3" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "data_format" + inputStringAttrName: "data_format" + outputIntName: "dataFormat" + inputToOutput { + key: "dataFormat" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "dataFormat" + transformerArgs { + name: "data_format" + argType: STRING + stringValue: "NCHW" + } + } + inputFrameworkOpName: "FusedBatchNormV3" + } +} +mappings { + frameworkName: "tensorflow" + opName: "gather_list" + inputFrameworkOpName: "TensorArrayGatherV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + inputTensorName: "flow_in" + outputTensorName: "indices" + outputTensorName: "list" + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "list" + value: "flow_in" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayGatherV2" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "dtype" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArrayGatherV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "noop" + inputFrameworkOpName: "NoOp" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + ruleType: "tensor" + inputFrameworkOpName: "NoOp" + } +} +mappings { + frameworkName: "tensorflow" + opName: "gather_list" + inputFrameworkOpName: "TensorArrayGatherV3" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + inputTensorName: "flow_in" + outputTensorName: "indices" + outputTensorName: "list" + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "list" + value: "flow_in" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayGatherV3" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "dtype" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArrayGatherV3" + } +} +mappings { + frameworkName: "tensorflow" + opName: "lrn" + inputFrameworkOpName: "LRN" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "LRN" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "depth_radius" + outputIntName: "depth" + inputFloatName: "alpha" + inputFloatName: "bias" + inputFloatName: "beta" + outputDoubleName: "alpha" + outputDoubleName: "bias" + outputDoubleName: "beta" + inputToOutput { + key: "depth" + value: "depth_radius" + } + inputToOutput { + key: "alpha" + value: "alpha" + } + inputToOutput { + key: "bias" + value: "bias" + } + inputToOutput { + key: "beta" + value: "beta" + } + ruleType: "attribute" + inputFrameworkOpName: "LRN" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "LRN" + } +} +mappings { + frameworkName: "tensorflow" + opName: "betainc" + inputFrameworkOpName: "Betainc" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "a" + inputTensorName: "b" + inputTensorName: "x" + outputTensorName: "a" + outputTensorName: "b" + outputTensorName: "input" + inputToOutput { + key: "a" + value: "a" + } + inputToOutput { + key: "b" + value: "b" + } + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Betainc" + } +} +mappings { + frameworkName: "tensorflow" + opName: "diag_part" + inputFrameworkOpName: "DiagPart" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "DiagPart" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "DiagPart" + } +} +mappings { + frameworkName: "tensorflow" + opName: "concat" + inputFrameworkOpName: "Concat" + rule { + ruleName: "multiinputindex" + functionName: "multiinputindex" + inputTensorName: "values" + inputTensorName: "concat_dim" + outputTensorName: "input" + outputTensorName: "concatDimension" + inputToOutput { + key: "input" + value: "values" + } + inputToOutput { + key: "concatDimension" + value: "concat_dim" + } + ruleType: "tensor" + inputFrameworkOpName: "Concat" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + inputToOutput { + key: "concatDimension" + value: "concat_dim" + } + ruleType: "attribute" + inputFrameworkOpName: "Concat" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "isDynamicAxis" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "isDynamicAxis" + boolValue: true + argType: BOOL + } + } + inputFrameworkOpName: "Concat" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Concat" + } +} +mappings { + frameworkName: "tensorflow" + opName: "segment_prod" + inputFrameworkOpName: "SegmentProd" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "segment_ids" + outputTensorName: "input" + outputTensorName: "idxSegments" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "idxSegments" + value: "segment_ids" + } + ruleType: "tensor" + inputFrameworkOpName: "SegmentProd" + } +} +mappings { + frameworkName: "tensorflow" + opName: "top_k" + inputFrameworkOpName: "TopK" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "TopK" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "k" + outputIntName: "k" + inputBooleanName: "sorted" + outputBooleanName: "needSort" + inputToOutput { + key: "needSort" + value: "sorted" + } + inputToOutput { + key: "k" + value: "k" + } + ruleType: "attribute" + inputFrameworkOpName: "TopK" + } +} +mappings { + frameworkName: "tensorflow" + opName: "fake_quant_with_min_max_vars_per_channel" + inputFrameworkOpName: "FakeQuantWithMinMaxVarsPerChannel" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "inputs" + inputTensorName: "min" + inputTensorName: "max" + outputTensorName: "input" + outputTensorName: "min" + outputTensorName: "max" + inputToOutput { + key: "input" + value: "inputs" + } + inputToOutput { + key: "min" + value: "min" + } + inputToOutput { + key: "max" + value: "max" + } + ruleType: "tensor" + inputFrameworkOpName: "FakeQuantWithMinMaxVarsPerChannel" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "num_bits" + outputIntName: "numBits" + inputBooleanName: "narrow_range" + outputBooleanName: "narrowed" + inputToOutput { + key: "numBits" + value: "num_bits" + } + inputToOutput { + key: "narrowed" + value: "narrow_range" + } + ruleType: "attribute" + inputFrameworkOpName: "FakeQuantWithMinMaxVarsPerChannel" + } +} +mappings { + frameworkName: "tensorflow" + opName: "maximum" + inputFrameworkOpName: "Maximum" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "Maximum" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Maximum" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Maximum" + } +} +mappings { + frameworkName: "tensorflow" + opName: "mergeadd" + inputFrameworkOpName: "AccumulateNV2" + rule { + ruleName: "multiinputindex" + functionName: "multiinputindex" + inputTensorName: "inputs" + outputTensorName: "inArrs" + inputToOutput { + key: "inArrs" + value: "inputs" + } + ruleType: "tensor" + inputFrameworkOpName: "AccumulateNV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "AccumulateNV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "asinh" + inputFrameworkOpName: "Asinh" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Asinh" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Asinh" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Asinh" + } +} +mappings { + frameworkName: "tensorflow" + opName: "fused_batch_norm" + inputFrameworkOpName: "FusedBatchNormV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "scale" + inputTensorName: "offset" + inputTensorName: "mean" + inputTensorName: "variance" + outputTensorName: "input" + outputTensorName: "scale" + outputTensorName: "offset" + outputTensorName: "mean" + outputTensorName: "variance" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "scale" + value: "scale" + } + inputToOutput { + key: "offset" + value: "offset" + } + inputToOutput { + key: "mean" + value: "mean" + } + inputToOutput { + key: "variance" + value: "variance" + } + ruleType: "tensor" + inputFrameworkOpName: "FusedBatchNormV2" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "epsilon" + outputDoubleName: "epsilon" + inputToOutput { + key: "epsilon" + value: "epsilon" + } + ruleType: "attribute" + inputFrameworkOpName: "FusedBatchNormV2" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + outputIntName: "isTraining" + inputBooleanName: "is_training" + inputToOutput { + key: "isTraining" + value: "is_training" + } + ruleType: "attribute" + inputFrameworkOpName: "FusedBatchNormV2" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "data_format" + inputStringAttrName: "data_format" + outputIntName: "dataFormat" + inputToOutput { + key: "dataFormat" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "dataFormat" + transformerArgs { + name: "data_format" + argType: STRING + stringValue: "NCHW" + } + } + inputFrameworkOpName: "FusedBatchNormV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "Reciprocal" + inputFrameworkOpName: "Reciprocal" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Reciprocal" + } +} +mappings { + frameworkName: "tensorflow" + opName: "in_top_k" + inputFrameworkOpName: "InTopKV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "targets" + inputTensorName: "predictions" + outputTensorName: "target" + outputTensorName: "predictions" + inputToOutput { + key: "target" + value: "targets" + } + inputToOutput { + key: "predictions" + value: "predictions" + } + ruleType: "tensor" + inputFrameworkOpName: "InTopKV2" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "k" + inputToOutput { + key: "k" + value: "k" + } + ruleType: "attribute" + inputFrameworkOpName: "InTopKV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "sorted" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "sorted" + boolValue: true + argType: BOOL + } + } + inputFrameworkOpName: "InTopKV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "less" + inputFrameworkOpName: "Less" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "Less" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Less" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Less" + } +} +mappings { + frameworkName: "tensorflow" + opName: "nth_element" + inputFrameworkOpName: "NthElement" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "n" + inputTensorName: "input" + outputTensorName: "n" + outputTensorName: "input" + inputToOutput { + key: "n" + value: "n" + } + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "NthElement" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputBooleanName: "reverse" + outputBooleanName: "reverse" + inputToOutput { + key: "reverse" + value: "reverse" + } + ruleType: "attribute" + inputFrameworkOpName: "NthElement" + } +} +mappings { + frameworkName: "tensorflow" + opName: "matmul" + inputFrameworkOpName: "BatchMatMul" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "BatchMatMul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "alpha" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "alpha" + doubleValue: 1.0 + argType: DOUBLE + } + } + inputFrameworkOpName: "BatchMatMul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "beta" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "beta" + doubleValue: 1.0 + argType: DOUBLE + argIndex: 1 + } + } + inputFrameworkOpName: "BatchMatMul" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + outputIntName: "transX" + outputIntName: "transY" + inputBooleanName: "adj_x" + inputBooleanName: "adj_y" + inputToOutput { + key: "transX" + value: "adj_x" + } + inputToOutput { + key: "transY" + value: "adj_y" + } + ruleType: "attribute" + inputFrameworkOpName: "BatchMatMul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "transZ" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "transZ" + argType: INT64 + argIndex: 2 + } + } + inputFrameworkOpName: "BatchMatMul" + } +} +mappings { + frameworkName: "tensorflow" + opName: "multiply" + inputFrameworkOpName: "Mul" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "Mul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Mul" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Mul" + } +} +mappings { + frameworkName: "tensorflow" + opName: "identity_n" + inputFrameworkOpName: "IdentityN" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "IdentityN" + } +} +mappings { + frameworkName: "tensorflow" + opName: "lu" + inputFrameworkOpName: "Lu" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Lu" + } +} +mappings { + frameworkName: "tensorflow" + opName: "diag" + inputFrameworkOpName: "Diag" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "diagonal" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "diagonal" + } + ruleType: "tensor" + inputFrameworkOpName: "Diag" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Diag" + } +} +mappings { + frameworkName: "tensorflow" + opName: "range" + inputFrameworkOpName: "Range" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "start" + inputTensorName: "limit" + inputTensorName: "delta" + outputTensorName: "from" + outputTensorName: "to" + outputTensorName: "step" + inputToOutput { + key: "from" + value: "start" + } + inputToOutput { + key: "to" + value: "limit" + } + inputToOutput { + key: "step" + value: "delta" + } + ruleType: "tensor" + inputFrameworkOpName: "Range" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + inputToOutput { + key: "from" + value: "start" + } + inputToOutput { + key: "to" + value: "limit" + } + inputToOutput { + key: "step" + value: "delta" + } + ruleType: "attribute" + inputFrameworkOpName: "Range" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "Tidx" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "Tidx" + } + ruleType: "attribute" + inputFrameworkOpName: "Range" + } +} +mappings { + frameworkName: "tensorflow" + opName: "histogram_fixed_width" + inputFrameworkOpName: "HistogramFixedWidth" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "values" + inputTensorName: "value_range" + inputTensorName: "nbins" + outputTensorName: "input" + outputTensorName: "range" + outputTensorName: "numBins" + inputToOutput { + key: "input" + value: "values" + } + inputToOutput { + key: "range" + value: "value_range" + } + inputToOutput { + key: "numBins" + value: "nbins" + } + ruleType: "tensor" + inputFrameworkOpName: "HistogramFixedWidth" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "nbins" + inputToOutput { + key: "nbins" + value: "nbins" + } + ruleType: "attribute" + inputFrameworkOpName: "HistogramFixedWidth" + } +} +mappings { + frameworkName: "tensorflow" + opName: "divide_no_nan" + inputFrameworkOpName: "DivNoNan" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "DivNoNan" + } +} +mappings { + frameworkName: "tensorflow" + opName: "broadcast_dynamic_shape" + inputFrameworkOpName: "BroadcastArgs" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "s0" + inputTensorName: "s1" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "s0" + } + inputToOutput { + key: "y" + value: "s1" + } + ruleType: "tensor" + inputFrameworkOpName: "BroadcastArgs" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_div" + inputFrameworkOpName: "ScatterDiv" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "ref" + inputTensorName: "indices" + inputTensorName: "updates" + outputTensorName: "input" + outputTensorName: "indices" + outputTensorName: "updates" + inputToOutput { + key: "input" + value: "ref" + } + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + ruleType: "tensor" + inputFrameworkOpName: "ScatterDiv" + } +} +mappings { + frameworkName: "tensorflow" + opName: "reshape" + inputFrameworkOpName: "Reshape" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "tensor" + inputTensorName: "shape" + outputTensorName: "input" + outputTensorName: "shape" + inputToOutput { + key: "input" + value: "tensor" + } + inputToOutput { + key: "shape" + value: "shape" + } + ruleType: "tensor" + inputFrameworkOpName: "Reshape" + } +} +mappings { + frameworkName: "tensorflow" + opName: "copy" + inputFrameworkOpName: "Copy" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Copy" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Copy" + } +} +mappings { + frameworkName: "tensorflow" + opName: "slice" + inputFrameworkOpName: "Slice" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "begin" + inputTensorName: "size" + outputTensorName: "input" + outputTensorName: "b" + outputTensorName: "e" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "b" + value: "begin" + } + inputToOutput { + key: "e" + value: "size" + } + ruleType: "tensor" + inputFrameworkOpName: "Slice" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "size" + inputToOutput { + key: "size" + value: "size" + } + ruleType: "attribute" + inputFrameworkOpName: "Slice" + } +} +mappings { + frameworkName: "tensorflow" + opName: "leakyrelu" + inputFrameworkOpName: "LeakyRelu" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "features" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "features" + } + ruleType: "tensor" + inputFrameworkOpName: "LeakyRelu" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "alpha" + outputDoubleName: "alpha" + inputToOutput { + key: "alpha" + value: "alpha" + } + ruleType: "attribute" + inputFrameworkOpName: "LeakyRelu" + } +} +mappings { + frameworkName: "tensorflow" + opName: "matrix_inverse" + inputFrameworkOpName: "MatrixInverse" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "MatrixInverse" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + boolValue: true + argType: BOOL + } + } + inputFrameworkOpName: "BatchMatrixInverse" + } +} +mappings { + frameworkName: "tensorflow" + opName: "tf_atan2" + inputFrameworkOpName: "Atan2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "Atan2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Atan2" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Atan2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "batch_to_space" + inputFrameworkOpName: "BatchToSpace" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "crops" + outputTensorName: "input" + outputTensorName: "crop" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "crop" + value: "crops" + } + ruleType: "tensor" + inputFrameworkOpName: "BatchToSpace" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "block_size" + outputIntName: "blockSize" + inputToOutput { + key: "blockSize" + value: "block_size" + } + ruleType: "attribute" + inputFrameworkOpName: "BatchToSpace" + } +} +mappings { + frameworkName: "tensorflow" + opName: "acos" + inputFrameworkOpName: "Acos" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Acos" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Acos" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Acos" + } +} +mappings { + frameworkName: "tensorflow" + opName: "gather_nd" + inputFrameworkOpName: "GatherNd" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "params" + inputTensorName: "indices" + outputTensorName: "input" + outputTensorName: "indices" + inputToOutput { + key: "input" + value: "params" + } + inputToOutput { + key: "indices" + value: "indices" + } + ruleType: "tensor" + inputFrameworkOpName: "GatherNd" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + ruleType: "attribute" + inputFrameworkOpName: "GatherNd" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "checkIndices" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "checkIndices" + argType: BOOL + } + } + inputFrameworkOpName: "GatherNd" + } +} +mappings { + frameworkName: "tensorflow" + opName: "maxpool2d" + inputFrameworkOpName: "MaxPoolV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "MaxPoolV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "extraParam0" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + } + inputFrameworkOpName: "MaxPoolV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 4 + } + } + inputFrameworkOpName: "MaxPoolV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 5 + } + } + inputFrameworkOpName: "MaxPoolV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dW" + int64Value: 1 + argType: INT64 + argIndex: 6 + } + } + inputFrameworkOpName: "MaxPoolV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dH" + int64Value: 1 + argType: INT64 + argIndex: 7 + } + } + inputFrameworkOpName: "MaxPoolV2" + } + rule { + ruleName: "stringnotequalsadapterrule" + functionName: "stringnotequalsadapterrule" + inputStringAttrName: "data_format" + outputIntName: "isNCHW" + inputFloatName: "data_format" + inputToOutput { + key: "isNCHW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "isNCHW" + transformerArgs { + name: "data_format" + argIndex: 10 + stringValue: "NCHW" + } + } + inputFrameworkOpName: "MaxPoolV2" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "padding" + inputStringAttrName: "padding" + outputIntName: "isSameMode" + inputToOutput { + key: "isSameMode" + value: "padding" + } + ruleType: "attribute" + transformerArgs { + key: "isSameMode" + transformerArgs { + name: "padding" + argType: STRING + argIndex: 8 + stringValue: "SAME" + } + } + inputFrameworkOpName: "MaxPoolV2" + } + rule { + ruleName: "conditionalfieldvalueintindexndarray" + functionName: "conditionalfieldvalueintindexndarray" + inputStringAttrName: "data_format" + outputIntName: "sH" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "sH" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + argIndex: 2 + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + argIndex: 2 + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + argIndex: 2 + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + argIndex: 2 + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + inputFrameworkOpName: "MaxPoolV2" + } + rule { + ruleName: "conditionalfieldvalueintindexndarray" + functionName: "conditionalfieldvalueintindexndarray" + inputStringAttrName: "data_format" + outputIntName: "sW" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "sW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + argIndex: 3 + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + argIndex: 3 + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + argIndex: 3 + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + argIndex: 3 + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + inputFrameworkOpName: "MaxPoolV2" + } + rule { + ruleName: "conditionalfieldvalueintindexndarray" + functionName: "conditionalfieldvalueintindexndarray" + inputStringAttrName: "data_format" + outputIntName: "kH" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "kH" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "kH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + stringValue: "ksize" + } + } + transformerArgs { + key: "kH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + stringValue: "ksize" + } + } + transformerArgs { + key: "kH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + stringValue: "ksize" + } + } + transformerArgs { + key: "kH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + stringValue: "ksize" + } + } + inputFrameworkOpName: "MaxPoolV2" + } + rule { + ruleName: "conditionalfieldvalueintindexndarray" + functionName: "conditionalfieldvalueintindexndarray" + inputStringAttrName: "data_format" + outputIntName: "kW" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "kW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "kW" + transformerArgs { + name: "targetValue" + argIndex: 1 + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 1 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 1 + stringValue: "ksize" + } + } + transformerArgs { + key: "kW" + transformerArgs { + name: "targetValue" + argIndex: 1 + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 1 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 1 + stringValue: "ksize" + } + } + transformerArgs { + key: "kW" + transformerArgs { + name: "targetValue" + argIndex: 1 + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 1 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 1 + stringValue: "ksize" + } + } + transformerArgs { + key: "kW" + transformerArgs { + name: "targetValue" + argIndex: 1 + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 1 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 1 + stringValue: "ksize" + } + } + inputFrameworkOpName: "MaxPoolV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "cholesky" + inputFrameworkOpName: "Cholesky" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Cholesky" + } +} +mappings { + frameworkName: "tensorflow" + opName: "random_crop" + inputFrameworkOpName: "RandomCrop" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "image" + inputTensorName: "size" + outputTensorName: "input" + outputTensorName: "shape" + inputToOutput { + key: "input" + value: "image" + } + inputToOutput { + key: "shape" + value: "size" + } + ruleType: "tensor" + inputFrameworkOpName: "RandomCrop" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "seed" + outputIntName: "seed" + inputToOutput { + key: "seed" + value: "seed" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomCrop" + } +} +mappings { + frameworkName: "tensorflow" + opName: "batch_to_space_nd" + inputFrameworkOpName: "BatchToSpaceND" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "crops" + inputTensorName: "block_shape" + outputTensorName: "input" + outputTensorName: "crop" + outputTensorName: "blockShape" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "crop" + value: "crops" + } + inputToOutput { + key: "blockShape" + value: "block_shape" + } + ruleType: "tensor" + inputFrameworkOpName: "BatchToSpaceND" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "blocks" + inputToOutput { + key: "blocks" + value: "block_shape" + } + ruleType: "attribute" + inputFrameworkOpName: "BatchToSpaceND" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "BatchToSpaceND" + } +} +mappings { + frameworkName: "tensorflow" + opName: "reduce_mean" + inputFrameworkOpName: "Mean" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Mean" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "keep_dims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keep_dims" + } + ruleType: "attribute" + inputFrameworkOpName: "Mean" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + inputToOutput { + key: "dimensions" + value: "reduction_indices" + } + ruleType: "attribute" + inputFrameworkOpName: "Mean" + } +} +mappings { + frameworkName: "tensorflow" + opName: "cosh" + inputFrameworkOpName: "Cosh" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Cosh" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Cosh" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Cosh" + } +} +mappings { + frameworkName: "tensorflow" + opName: "identity" + inputFrameworkOpName: "Variable" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + ruleType: "tensor" + inputFrameworkOpName: "Variable" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Variable" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "dtype" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "Variable" + } +} +mappings { + frameworkName: "tensorflow" + opName: "log_softmax" + inputFrameworkOpName: "LogSoftmax" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "logits" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "logits" + } + ruleType: "tensor" + inputFrameworkOpName: "LogSoftmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + ruleType: "attribute" + inputFrameworkOpName: "LogSoftmax" + } +} +mappings { + frameworkName: "tensorflow" + opName: "cross" + inputFrameworkOpName: "Cross" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "a" + inputTensorName: "b" + outputTensorName: "a" + outputTensorName: "b" + inputToOutput { + key: "a" + value: "a" + } + inputToOutput { + key: "b" + value: "b" + } + ruleType: "tensor" + inputFrameworkOpName: "Cross" + } +} +mappings { + frameworkName: "tensorflow" + opName: "matrix_set_diag" + inputFrameworkOpName: "BatchMatrixSetDiag" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "diagonal" + outputTensorName: "input" + outputTensorName: "diagonal" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "diagonal" + value: "diagonal" + } + ruleType: "tensor" + inputFrameworkOpName: "BatchMatrixSetDiag" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "BatchMatrixSetDiag" + } +} +mappings { + frameworkName: "tensorflow" + opName: "non_max_suppression_overlaps" + inputFrameworkOpName: "NonMaxSuppressionWithOverlaps" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "scores" + inputTensorName: "overlaps" + outputTensorName: "scales" + outputTensorName: "boxes" + inputToOutput { + key: "scales" + value: "scores" + } + inputToOutput { + key: "boxes" + value: "overlaps" + } + ruleType: "tensor" + inputFrameworkOpName: "NonMaxSuppressionWithOverlaps" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputIntName: "maxOutputSize" + outputDoubleName: "overlapThreshold" + inputToOutput { + key: "maxOutputSize" + value: "max_output_size" + } + inputToOutput { + key: "overlapThreshold" + value: "overlap_threshold" + } + inputToOutput { + key: "scoreThreshold" + value: "score_threshold" + } + ruleType: "attribute" + inputFrameworkOpName: "NonMaxSuppressionWithOverlaps" + } +} +mappings { + frameworkName: "tensorflow" + opName: "concat" + inputFrameworkOpName: "ConcatV2" + rule { + ruleName: "multiinputindex" + functionName: "multiinputindex" + inputTensorName: "values" + inputTensorName: "axis" + outputTensorName: "input" + outputTensorName: "concatDimension" + inputToOutput { + key: "input" + value: "values" + } + inputToOutput { + key: "concatDimension" + value: "axis" + } + ruleType: "tensor" + inputFrameworkOpName: "ConcatV2" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + inputToOutput { + key: "concatDimension" + value: "axis" + } + ruleType: "attribute" + inputFrameworkOpName: "ConcatV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "isDynamicAxis" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "isDynamicAxis" + boolValue: true + argType: BOOL + } + } + inputFrameworkOpName: "ConcatV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "truncatediv" + inputFrameworkOpName: "TruncateDiv" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "TruncateDiv" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "TruncateDiv" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "TruncateDiv" + } +} +mappings { + frameworkName: "tensorflow" + opName: "any" + inputFrameworkOpName: "Any" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Any" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "keep_dims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keep_dims" + } + ruleType: "attribute" + inputFrameworkOpName: "Any" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "dimensions" + inputToOutput { + key: "dimensions" + value: "reduction_indices" + } + ruleType: "attribute" + inputFrameworkOpName: "Any" + } +} +mappings { + frameworkName: "tensorflow" + opName: "boolean_or" + inputFrameworkOpName: "LogicalOr" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "LogicalOr" + } +} +mappings { + frameworkName: "tensorflow" + opName: "Reciprocal" + inputFrameworkOpName: "Inv" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Inv" + } +} +mappings { + frameworkName: "tensorflow" + opName: "boolean_not" + inputFrameworkOpName: "LogicalNot" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "LogicalNot" + } +} +mappings { + frameworkName: "tensorflow" + opName: "igammac" + inputFrameworkOpName: "Igammac" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "a" + inputTensorName: "x" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "a" + } + inputToOutput { + key: "y" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Igammac" + } +} +mappings { + frameworkName: "tensorflow" + opName: "extract_image_patches" + inputFrameworkOpName: "ExtractImagePatches" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "images" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "images" + } + ruleType: "tensor" + inputFrameworkOpName: "ExtractImagePatches" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "ksizeRows" + inputToOutput { + key: "ksizeRows" + value: "ksizes" + } + ruleType: "attribute" + transformerArgs { + key: "ksizeRows" + transformerArgs { + name: "index" + int64Value: 1 + argType: INT64 + } + } + inputFrameworkOpName: "ExtractImagePatches" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "ksizeCols" + inputToOutput { + key: "ksizeCols" + value: "ksizes" + } + ruleType: "attribute" + transformerArgs { + key: "ksizeCols" + transformerArgs { + name: "index" + int64Value: 2 + argType: INT64 + argIndex: 1 + } + } + inputFrameworkOpName: "ExtractImagePatches" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "kstrideRows" + inputToOutput { + key: "kstrideRows" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "kstrideRows" + transformerArgs { + name: "index" + int64Value: 1 + argType: INT64 + argIndex: 2 + } + } + inputFrameworkOpName: "ExtractImagePatches" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "kstrideCols" + inputToOutput { + key: "kstrideCols" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "kstrideCols" + transformerArgs { + name: "index" + int64Value: 2 + argType: INT64 + argIndex: 3 + } + } + inputFrameworkOpName: "ExtractImagePatches" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "krateRows" + inputToOutput { + key: "krateRows" + value: "rates" + } + ruleType: "attribute" + transformerArgs { + key: "krateRows" + transformerArgs { + name: "index" + int64Value: 1 + argType: INT64 + argIndex: 4 + } + } + inputFrameworkOpName: "ExtractImagePatches" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "krateCols" + inputToOutput { + key: "krateCols" + value: "rates" + } + ruleType: "attribute" + transformerArgs { + key: "krateCols" + transformerArgs { + name: "index" + int64Value: 2 + argType: INT64 + argIndex: 5 + } + } + inputFrameworkOpName: "ExtractImagePatches" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "padding" + inputStringAttrName: "padding" + outputBooleanName: "isSameMode" + inputToOutput { + key: "isSameMode" + value: "padding" + } + ruleType: "attribute" + transformerArgs { + key: "isSameMode" + transformerArgs { + name: "padding" + argType: STRING + stringValue: "SAME" + } + } + inputFrameworkOpName: "ExtractImagePatches" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "ExtractImagePatches" + } +} +mappings { + frameworkName: "tensorflow" + opName: "fake_quant_with_min_max_vars" + inputFrameworkOpName: "FakeQuantWithMinMaxVars" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "inputs" + inputTensorName: "min" + inputTensorName: "max" + outputTensorName: "input" + outputTensorName: "min" + outputTensorName: "max" + inputToOutput { + key: "input" + value: "inputs" + } + inputToOutput { + key: "min" + value: "min" + } + inputToOutput { + key: "max" + value: "max" + } + ruleType: "tensor" + inputFrameworkOpName: "FakeQuantWithMinMaxVars" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "num_bits" + outputIntName: "numBits" + inputBooleanName: "narrow_range" + outputBooleanName: "narrowed" + inputToOutput { + key: "numBits" + value: "num_bits" + } + inputToOutput { + key: "narrowed" + value: "narrow_range" + } + ruleType: "attribute" + inputFrameworkOpName: "FakeQuantWithMinMaxVars" + } +} +mappings { + frameworkName: "tensorflow" + opName: "round" + inputFrameworkOpName: "Round" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Round" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Round" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Round" + } +} +mappings { + frameworkName: "tensorflow" + opName: "dynamic_stitch" + inputFrameworkOpName: "ParallelDynamicStitch" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "indices" + outputTensorName: "index" + outputTensorName: "input" + inputToOutput { + key: "index" + value: "data" + } + inputToOutput { + key: "input" + value: "indices" + } + ruleType: "tensor" + inputFrameworkOpName: "ParallelDynamicStitch" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "N" + outputIntName: "numPartitions" + inputToOutput { + key: "numPartitions" + value: "N" + } + ruleType: "attribute" + inputFrameworkOpName: "ParallelDynamicStitch" + } +} +mappings { + frameworkName: "tensorflow" + opName: "sigmoid" + inputFrameworkOpName: "Sigmoid" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Sigmoid" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Sigmoid" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Sigmoid" + } +} +mappings { + frameworkName: "tensorflow" + opName: "lstmBlock" + inputFrameworkOpName: "BlockLSTMV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "seq_len_max" + inputTensorName: "x" + inputTensorName: "cs_prev" + inputTensorName: "h_prev" + inputTensorName: "w" + inputTensorName: "wci" + inputTensorName: "wcf" + inputTensorName: "wco" + inputTensorName: "b" + outputTensorName: "maxTSLength" + outputTensorName: "input" + outputTensorName: "cLast" + outputTensorName: "yLast" + outputTensorName: "W" + outputTensorName: "Wci" + outputTensorName: "Wcf" + outputTensorName: "Wco" + outputTensorName: "b" + inputToOutput { + key: "maxTSLength" + value: "seq_len_max" + } + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "cLast" + value: "cs_prev" + } + inputToOutput { + key: "yLast" + value: "h_prev" + } + inputToOutput { + key: "W" + value: "w" + } + inputToOutput { + key: "Wci" + value: "wci" + } + inputToOutput { + key: "Wcf" + value: "wcf" + } + inputToOutput { + key: "Wco" + value: "wco" + } + inputToOutput { + key: "b" + value: "b" + } + ruleType: "tensor" + inputFrameworkOpName: "BlockLSTMV2" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "cell_clip" + outputDoubleName: "clippingCellValue" + inputToOutput { + key: "clippingCellValue" + value: "cell_clip" + } + ruleType: "attribute" + inputFrameworkOpName: "BlockLSTMV2" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + outputIntName: "peephole" + inputBooleanName: "use_peephole" + inputToOutput { + key: "peephole" + value: "use_peephole" + } + ruleType: "attribute" + inputFrameworkOpName: "BlockLSTMV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "forgetBias" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "forgetBias" + doubleValue: 3.0 + argType: DOUBLE + } + } + inputFrameworkOpName: "BlockLSTMV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dataFormat" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dataFormat" + argType: INT64 + } + } + inputFrameworkOpName: "BlockLSTMV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "atan" + inputFrameworkOpName: "Atan" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Atan" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Atan" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Atan" + } +} +mappings { + frameworkName: "tensorflow" + opName: "ClipByValue" + inputFrameworkOpName: "ClipByValue" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "t" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "t" + } + ruleType: "tensor" + inputFrameworkOpName: "ClipByValue" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputDoubleName: "clipValueMin" + outputDoubleName: "clipValueMax" + inputToOutput { + key: "clipValueMin" + value: "clip_value_min" + } + inputToOutput { + key: "clipValueMax" + value: "clip_value_max" + } + ruleType: "attribute" + inputFrameworkOpName: "ClipByValue" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "ClipByValue" + } +} +mappings { + frameworkName: "tensorflow" + opName: "segment_mean" + inputFrameworkOpName: "SegmentMean" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "segment_ids" + outputTensorName: "input" + outputTensorName: "idxSegments" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "idxSegments" + value: "segment_ids" + } + ruleType: "tensor" + inputFrameworkOpName: "SegmentMean" + } +} +mappings { + frameworkName: "tensorflow" + opName: "floor" + inputFrameworkOpName: "Floor" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Floor" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Floor" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Floor" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_upd" + inputFrameworkOpName: "ScatterUpdate" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "ref" + inputTensorName: "updates" + inputTensorName: "indices" + outputTensorName: "input" + outputTensorName: "updates" + outputTensorName: "indices" + inputToOutput { + key: "input" + value: "ref" + } + inputToOutput { + key: "updates" + value: "updates" + } + inputToOutput { + key: "indices" + value: "indices" + } + ruleType: "tensor" + inputFrameworkOpName: "ScatterUpdate" + } +} +mappings { + frameworkName: "tensorflow" + opName: "identity" + inputFrameworkOpName: "DeepCopy" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "DeepCopy" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "DeepCopy" + } +} +mappings { + frameworkName: "tensorflow" + opName: "hsv_to_rgb" + inputFrameworkOpName: "HSVToRGB" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "images" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "images" + } + ruleType: "tensor" + inputFrameworkOpName: "HSVToRGB" + } +} +mappings { + frameworkName: "tensorflow" + opName: "listdiff" + inputFrameworkOpName: "ListDiff" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "values" + outputTensorName: "keep" + inputToOutput { + key: "values" + value: "x" + } + inputToOutput { + key: "keep" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "ListDiff" + } +} +mappings { + frameworkName: "tensorflow" + opName: "While" + inputFrameworkOpName: "While" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "condition" + inputToOutput { + key: "condition" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "While" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "isConstant" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "isConstant" + argType: BOOL + } + } + inputFrameworkOpName: "While" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_upd" + inputFrameworkOpName: "TensorScatterUpdate" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "tensor" + inputTensorName: "updates" + inputTensorName: "indices" + outputTensorName: "input" + outputTensorName: "updates" + outputTensorName: "indices" + inputToOutput { + key: "input" + value: "tensor" + } + inputToOutput { + key: "updates" + value: "updates" + } + inputToOutput { + key: "indices" + value: "indices" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorScatterUpdate" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_sub" + inputFrameworkOpName: "TensorScatterSub" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + inputTensorName: "updates" + inputTensorName: "tensor" + outputTensorName: "indices" + outputTensorName: "updates" + outputTensorName: "input" + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + inputToOutput { + key: "input" + value: "tensor" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorScatterSub" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "lock" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "lock" + argType: BOOL + } + } + inputFrameworkOpName: "TensorScatterSub" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "checkIndices" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + } + inputFrameworkOpName: "TensorScatterSub" + } +} +mappings { + frameworkName: "tensorflow" + opName: "cumprod" + inputFrameworkOpName: "Cumprod" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "axis" + outputTensorName: "input" + outputTensorName: "dimensions" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "dimensions" + value: "axis" + } + ruleType: "tensor" + inputFrameworkOpName: "Cumprod" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputBooleanName: "exclusive" + inputBooleanName: "reverse" + outputBooleanName: "exclusive" + outputBooleanName: "reverse" + inputToOutput { + key: "exclusive" + value: "exclusive" + } + inputToOutput { + key: "reverse" + value: "reverse" + } + ruleType: "attribute" + inputFrameworkOpName: "Cumprod" + } +} +mappings { + frameworkName: "tensorflow" + opName: "mergesum" + inputFrameworkOpName: "AddN" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "inputs" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "inputs" + } + ruleType: "tensor" + inputFrameworkOpName: "AddN" + } +} +mappings { + frameworkName: "tensorflow" + opName: "random_normal" + inputFrameworkOpName: "RandomStandardNormal" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "shape" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "shape" + } + ruleType: "tensor" + inputFrameworkOpName: "RandomStandardNormal" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "dtype" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomStandardNormal" + } +} +mappings { + frameworkName: "tensorflow" + opName: "sign" + inputFrameworkOpName: "Sign" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Sign" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Sign" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Sign" + } +} +mappings { + frameworkName: "tensorflow" + opName: "greater" + inputFrameworkOpName: "Greater" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "Greater" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Greater" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Greater" + } +} +mappings { + frameworkName: "tensorflow" + opName: "exp" + inputFrameworkOpName: "Exp" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Exp" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Exp" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Exp" + } +} +mappings { + frameworkName: "tensorflow" + opName: "adjust_contrast_v2" + inputFrameworkOpName: "AdjustContrastv2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "images" + inputTensorName: "contrast_factor" + outputTensorName: "input" + outputTensorName: "factor" + inputToOutput { + key: "input" + value: "images" + } + inputToOutput { + key: "factor" + value: "contrast_factor" + } + ruleType: "tensor" + inputFrameworkOpName: "AdjustContrastv2" + } +} diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/main/resources/tensorflow-op-def.pbtxt b/nd4j/samediff-import/samediff-import-tensorflow/src/main/resources/tensorflow-op-def.pbtxt new file mode 100644 index 000000000..5f449903a --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/main/resources/tensorflow-op-def.pbtxt @@ -0,0 +1,58323 @@ +op { + name: "Abort" + attr { + name: "error_msg" + type: "string" + default_value { + s: "" + } + } + attr { + name: "exit_without_error" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "Abs" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "AccumulateNV2" + input_arg { + name: "inputs" + type_attr: "T" + number_attr: "N" + } + output_arg { + name: "sum" + type_attr: "T" + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "shape" + type: "shape" + } + is_aggregate: true + is_commutative: true +} +op { + name: "AccumulatorApplyGradient" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "local_step" + type: DT_INT64 + } + input_arg { + name: "gradient" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "AccumulatorNumAccumulated" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + output_arg { + name: "num_accumulated" + type: DT_INT32 + } +} +op { + name: "AccumulatorSetGlobalStep" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "new_global_step" + type: DT_INT64 + } +} +op { + name: "AccumulatorTakeGradient" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "num_required" + type: DT_INT32 + } + output_arg { + name: "average" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "Acos" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "Acosh" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "Add" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_UINT8 + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + type: DT_STRING + } + } + } +} +op { + name: "AddManySparseToTensorsMap" + input_arg { + name: "sparse_indices" + type: DT_INT64 + } + input_arg { + name: "sparse_values" + type_attr: "T" + } + input_arg { + name: "sparse_shape" + type: DT_INT64 + } + output_arg { + name: "sparse_handles" + type: DT_INT64 + } + attr { + name: "T" + type: "type" + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "AddN" + input_arg { + name: "inputs" + type_attr: "T" + number_attr: "N" + } + output_arg { + name: "sum" + type_attr: "T" + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + type: DT_VARIANT + } + } + } + is_aggregate: true + is_commutative: true +} +op { + name: "AddSparseToTensorsMap" + input_arg { + name: "sparse_indices" + type: DT_INT64 + } + input_arg { + name: "sparse_values" + type_attr: "T" + } + input_arg { + name: "sparse_shape" + type: DT_INT64 + } + output_arg { + name: "sparse_handle" + type: DT_INT64 + } + attr { + name: "T" + type: "type" + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "AddV2" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_UINT8 + type: DT_INT8 + type: DT_INT16 + type: DT_UINT32 + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } + is_aggregate: true + is_commutative: true +} +op { + name: "AdjustContrast" + input_arg { + name: "images" + type_attr: "T" + } + input_arg { + name: "contrast_factor" + type: DT_FLOAT + } + input_arg { + name: "min_value" + type: DT_FLOAT + } + input_arg { + name: "max_value" + type: DT_FLOAT + } + output_arg { + name: "output" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_UINT8 + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + deprecation { + version: 2 + explanation: "Use AdjustContrastv2 instead" + } +} +op { + name: "AdjustContrastv2" + input_arg { + name: "images" + type_attr: "T" + } + input_arg { + name: "contrast_factor" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } +} +op { + name: "AdjustHue" + input_arg { + name: "images" + type_attr: "T" + } + input_arg { + name: "delta" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } +} +op { + name: "AdjustSaturation" + input_arg { + name: "images" + type_attr: "T" + } + input_arg { + name: "scale" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } +} +op { + name: "All" + input_arg { + name: "input" + type: DT_BOOL + } + input_arg { + name: "reduction_indices" + type_attr: "Tidx" + } + output_arg { + name: "output" + type: DT_BOOL + } + attr { + name: "keep_dims" + type: "bool" + default_value { + b: false + } + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "AllCandidateSampler" + input_arg { + name: "true_classes" + type: DT_INT64 + } + output_arg { + name: "sampled_candidates" + type: DT_INT64 + } + output_arg { + name: "true_expected_count" + type: DT_FLOAT + } + output_arg { + name: "sampled_expected_count" + type: DT_FLOAT + } + attr { + name: "num_true" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "num_sampled" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "unique" + type: "bool" + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + is_stateful: true +} +op { + name: "AllToAll" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "group_assignment" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + type: DT_BOOL + } + } + } + attr { + name: "concat_dimension" + type: "int" + } + attr { + name: "split_dimension" + type: "int" + } + attr { + name: "split_count" + type: "int" + } +} +op { + name: "Angle" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "Tout" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } + attr { + name: "Tout" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "AnonymousIterator" + output_arg { + name: "handle" + type: DT_RESOURCE + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "AnonymousIteratorV2" + output_arg { + name: "handle" + type: DT_RESOURCE + } + output_arg { + name: "deleter" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "AnonymousMemoryCache" + output_arg { + name: "handle" + type: DT_RESOURCE + } + output_arg { + name: "deleter" + type: DT_VARIANT + } + is_stateful: true +} +op { + name: "AnonymousMultiDeviceIterator" + output_arg { + name: "handle" + type: DT_RESOURCE + } + output_arg { + name: "deleter" + type: DT_VARIANT + } + attr { + name: "devices" + type: "list(string)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "AnonymousRandomSeedGenerator" + input_arg { + name: "seed" + type: DT_INT64 + } + input_arg { + name: "seed2" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_RESOURCE + } + output_arg { + name: "deleter" + type: DT_VARIANT + } + is_stateful: true +} +op { + name: "AnonymousSeedGenerator" + input_arg { + name: "seed" + type: DT_INT64 + } + input_arg { + name: "seed2" + type: DT_INT64 + } + input_arg { + name: "reshuffle" + type: DT_BOOL + } + output_arg { + name: "handle" + type: DT_RESOURCE + } + output_arg { + name: "deleter" + type: DT_VARIANT + } + is_stateful: true +} +op { + name: "Any" + input_arg { + name: "input" + type: DT_BOOL + } + input_arg { + name: "reduction_indices" + type_attr: "Tidx" + } + output_arg { + name: "output" + type: DT_BOOL + } + attr { + name: "keep_dims" + type: "bool" + default_value { + b: false + } + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "ApplyAdaMax" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "m" + type_attr: "T" + is_ref: true + } + input_arg { + name: "v" + type_attr: "T" + is_ref: true + } + input_arg { + name: "beta1_power" + type_attr: "T" + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "beta1" + type_attr: "T" + } + input_arg { + name: "beta2" + type_attr: "T" + } + input_arg { + name: "epsilon" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ApplyAdadelta" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "accum" + type_attr: "T" + is_ref: true + } + input_arg { + name: "accum_update" + type_attr: "T" + is_ref: true + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "rho" + type_attr: "T" + } + input_arg { + name: "epsilon" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ApplyAdagrad" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "accum" + type_attr: "T" + is_ref: true + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "update_slots" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "ApplyAdagradDA" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "gradient_accumulator" + type_attr: "T" + is_ref: true + } + input_arg { + name: "gradient_squared_accumulator" + type_attr: "T" + is_ref: true + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "l1" + type_attr: "T" + } + input_arg { + name: "l2" + type_attr: "T" + } + input_arg { + name: "global_step" + type: DT_INT64 + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ApplyAdagradV2" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "accum" + type_attr: "T" + is_ref: true + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "epsilon" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "update_slots" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "ApplyAdam" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "m" + type_attr: "T" + is_ref: true + } + input_arg { + name: "v" + type_attr: "T" + is_ref: true + } + input_arg { + name: "beta1_power" + type_attr: "T" + } + input_arg { + name: "beta2_power" + type_attr: "T" + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "beta1" + type_attr: "T" + } + input_arg { + name: "beta2" + type_attr: "T" + } + input_arg { + name: "epsilon" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "use_nesterov" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ApplyAddSign" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "m" + type_attr: "T" + is_ref: true + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "alpha" + type_attr: "T" + } + input_arg { + name: "sign_decay" + type_attr: "T" + } + input_arg { + name: "beta" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ApplyCenteredRMSProp" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "mg" + type_attr: "T" + is_ref: true + } + input_arg { + name: "ms" + type_attr: "T" + is_ref: true + } + input_arg { + name: "mom" + type_attr: "T" + is_ref: true + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "rho" + type_attr: "T" + } + input_arg { + name: "momentum" + type_attr: "T" + } + input_arg { + name: "epsilon" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ApplyFtrl" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "accum" + type_attr: "T" + is_ref: true + } + input_arg { + name: "linear" + type_attr: "T" + is_ref: true + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "l1" + type_attr: "T" + } + input_arg { + name: "l2" + type_attr: "T" + } + input_arg { + name: "lr_power" + type_attr: "T" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "multiply_linear_by_lr" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ApplyFtrlV2" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "accum" + type_attr: "T" + is_ref: true + } + input_arg { + name: "linear" + type_attr: "T" + is_ref: true + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "l1" + type_attr: "T" + } + input_arg { + name: "l2" + type_attr: "T" + } + input_arg { + name: "l2_shrinkage" + type_attr: "T" + } + input_arg { + name: "lr_power" + type_attr: "T" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "multiply_linear_by_lr" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ApplyGradientDescent" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "alpha" + type_attr: "T" + } + input_arg { + name: "delta" + type_attr: "T" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ApplyMomentum" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "accum" + type_attr: "T" + is_ref: true + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "momentum" + type_attr: "T" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "use_nesterov" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ApplyPowerSign" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "m" + type_attr: "T" + is_ref: true + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "logbase" + type_attr: "T" + } + input_arg { + name: "sign_decay" + type_attr: "T" + } + input_arg { + name: "beta" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ApplyProximalAdagrad" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "accum" + type_attr: "T" + is_ref: true + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "l1" + type_attr: "T" + } + input_arg { + name: "l2" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ApplyProximalGradientDescent" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "alpha" + type_attr: "T" + } + input_arg { + name: "l1" + type_attr: "T" + } + input_arg { + name: "l2" + type_attr: "T" + } + input_arg { + name: "delta" + type_attr: "T" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ApplyRMSProp" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "ms" + type_attr: "T" + is_ref: true + } + input_arg { + name: "mom" + type_attr: "T" + is_ref: true + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "rho" + type_attr: "T" + } + input_arg { + name: "momentum" + type_attr: "T" + } + input_arg { + name: "epsilon" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ApproximateEqual" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type: DT_BOOL + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "tolerance" + type: "float" + default_value { + f: 1e-05 + } + } + is_commutative: true +} +op { + name: "ArgMax" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "dimension" + type_attr: "Tidx" + } + output_arg { + name: "output" + type_attr: "output_type" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + type: DT_BOOL + } + } + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "output_type" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "ArgMin" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "dimension" + type_attr: "Tidx" + } + output_arg { + name: "output" + type_attr: "output_type" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + type: DT_BOOL + } + } + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "output_type" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "AsString" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type: DT_STRING + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + type: DT_FLOAT + type: DT_DOUBLE + type: DT_BOOL + type: DT_VARIANT + } + } + } + attr { + name: "precision" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "scientific" + type: "bool" + default_value { + b: false + } + } + attr { + name: "shortest" + type: "bool" + default_value { + b: false + } + } + attr { + name: "width" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "fill" + type: "string" + default_value { + s: "" + } + } +} +op { + name: "Asin" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "Asinh" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "Assert" + input_arg { + name: "condition" + type: DT_BOOL + } + input_arg { + name: "data" + type_list_attr: "T" + } + attr { + name: "T" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "summarize" + type: "int" + default_value { + i: 3 + } + } + is_stateful: true +} +op { + name: "AssertCardinalityDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "cardinality" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "AssertNextDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "transformations" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "Assign" + input_arg { + name: "ref" + type_attr: "T" + is_ref: true + } + input_arg { + name: "value" + type_attr: "T" + } + output_arg { + name: "output_ref" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + } + attr { + name: "validate_shape" + type: "bool" + default_value { + b: true + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: true + } + } + allows_uninitialized_input: true +} +op { + name: "AssignAdd" + input_arg { + name: "ref" + type_attr: "T" + is_ref: true + } + input_arg { + name: "value" + type_attr: "T" + } + output_arg { + name: "output_ref" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "AssignAddVariableOp" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "value" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + is_stateful: true +} +op { + name: "AssignSub" + input_arg { + name: "ref" + type_attr: "T" + is_ref: true + } + input_arg { + name: "value" + type_attr: "T" + } + output_arg { + name: "output_ref" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "AssignSubVariableOp" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "value" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + is_stateful: true +} +op { + name: "AssignVariableOp" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "value" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + is_stateful: true +} +op { + name: "Atan" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "Atan2" + input_arg { + name: "y" + type_attr: "T" + } + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "Atanh" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "AudioSpectrogram" + input_arg { + name: "input" + type: DT_FLOAT + } + output_arg { + name: "spectrogram" + type: DT_FLOAT + } + attr { + name: "window_size" + type: "int" + } + attr { + name: "stride" + type: "int" + } + attr { + name: "magnitude_squared" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "AudioSummary" + input_arg { + name: "tag" + type: DT_STRING + } + input_arg { + name: "tensor" + type: DT_FLOAT + } + output_arg { + name: "summary" + type: DT_STRING + } + attr { + name: "sample_rate" + type: "float" + } + attr { + name: "max_outputs" + type: "int" + default_value { + i: 3 + } + has_minimum: true + minimum: 1 + } + deprecation { + version: 15 + explanation: "Use AudioSummaryV2." + } +} +op { + name: "AudioSummaryV2" + input_arg { + name: "tag" + type: DT_STRING + } + input_arg { + name: "tensor" + type: DT_FLOAT + } + input_arg { + name: "sample_rate" + type: DT_FLOAT + } + output_arg { + name: "summary" + type: DT_STRING + } + attr { + name: "max_outputs" + type: "int" + default_value { + i: 3 + } + has_minimum: true + minimum: 1 + } +} +op { + name: "AutoShardDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "num_workers" + type: DT_INT64 + } + input_arg { + name: "index" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "auto_shard_policy" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "num_replicas" + type: "int" + default_value { + i: 0 + } + } +} +op { + name: "AvgPool" + input_arg { + name: "value" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "ksize" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "strides" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "AvgPool3D" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "ksize" + type: "list(int)" + has_minimum: true + minimum: 5 + } + attr { + name: "strides" + type: "list(int)" + has_minimum: true + minimum: 5 + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NDHWC" + } + allowed_values { + list { + s: "NDHWC" + s: "NCDHW" + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "AvgPool3DGrad" + input_arg { + name: "orig_input_shape" + type: DT_INT32 + } + input_arg { + name: "grad" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "ksize" + type: "list(int)" + has_minimum: true + minimum: 5 + } + attr { + name: "strides" + type: "list(int)" + has_minimum: true + minimum: 5 + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NDHWC" + } + allowed_values { + list { + s: "NDHWC" + s: "NCDHW" + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "AvgPoolGrad" + input_arg { + name: "orig_input_shape" + type: DT_INT32 + } + input_arg { + name: "grad" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "ksize" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "strides" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "BandedTriangularSolve" + input_arg { + name: "matrix" + type_attr: "T" + } + input_arg { + name: "rhs" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "lower" + type: "bool" + default_value { + b: true + } + } + attr { + name: "adjoint" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + type: DT_HALF + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "Barrier" + output_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + attr { + name: "component_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "shapes" + type: "list(shape)" + default_value { + list { + } + } + has_minimum: true + } + attr { + name: "capacity" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "BarrierClose" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + attr { + name: "cancel_pending_enqueues" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "BarrierIncompleteSize" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + output_arg { + name: "size" + type: DT_INT32 + } +} +op { + name: "BarrierInsertMany" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "keys" + type: DT_STRING + } + input_arg { + name: "values" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "component_index" + type: "int" + } +} +op { + name: "BarrierReadySize" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + output_arg { + name: "size" + type: DT_INT32 + } +} +op { + name: "BarrierTakeMany" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "num_elements" + type: DT_INT32 + } + output_arg { + name: "indices" + type: DT_INT64 + } + output_arg { + name: "keys" + type: DT_STRING + } + output_arg { + name: "values" + type_list_attr: "component_types" + } + attr { + name: "component_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "allow_small_batch" + type: "bool" + default_value { + b: false + } + } + attr { + name: "wait_for_incomplete" + type: "bool" + default_value { + b: false + } + } + attr { + name: "timeout_ms" + type: "int" + default_value { + i: -1 + } + } +} +op { + name: "Batch" + input_arg { + name: "in_tensors" + type_list_attr: "T" + } + output_arg { + name: "batched_tensors" + type_list_attr: "T" + } + output_arg { + name: "batch_index" + type: DT_INT64 + } + output_arg { + name: "id" + type: DT_INT64 + } + attr { + name: "num_batch_threads" + type: "int" + } + attr { + name: "max_batch_size" + type: "int" + } + attr { + name: "max_enqueued_batches" + type: "int" + default_value { + i: 10 + } + } + attr { + name: "batch_timeout_micros" + type: "int" + } + attr { + name: "allowed_batch_sizes" + type: "list(int)" + default_value { + list { + } + } + } + attr { + name: "grad_timeout_micros" + type: "int" + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "batching_queue" + type: "string" + default_value { + s: "" + } + } + attr { + name: "T" + type: "list(type)" + has_minimum: true + minimum: 1 + } +} +op { + name: "BatchCholesky" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + } + } + } + deprecation { + version: 13 + explanation: "Use Cholesky instead." + } +} +op { + name: "BatchCholeskyGrad" + input_arg { + name: "l" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + deprecation { + version: 13 + explanation: "Use CholeskyGrad instead." + } +} +op { + name: "BatchDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "batch_size" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "BatchDatasetV2" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "batch_size" + type: DT_INT64 + } + input_arg { + name: "drop_remainder" + type: DT_BOOL + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "parallel_copy" + type: "bool" + default_value { + b: false + } + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "BatchFFT" + input_arg { + name: "input" + type: DT_COMPLEX64 + } + output_arg { + name: "output" + type: DT_COMPLEX64 + } + deprecation { + version: 15 + explanation: "Use FFT" + } +} +op { + name: "BatchFFT2D" + input_arg { + name: "input" + type: DT_COMPLEX64 + } + output_arg { + name: "output" + type: DT_COMPLEX64 + } + deprecation { + version: 15 + explanation: "Use FFT2D" + } +} +op { + name: "BatchFFT3D" + input_arg { + name: "input" + type: DT_COMPLEX64 + } + output_arg { + name: "output" + type: DT_COMPLEX64 + } + deprecation { + version: 15 + explanation: "Use FFT3D" + } +} +op { + name: "BatchFunction" + input_arg { + name: "in_tensors" + type_list_attr: "Tin" + } + input_arg { + name: "captured_tensors" + type_list_attr: "Tcaptured" + } + output_arg { + name: "out_tensors" + type_list_attr: "Tout" + } + attr { + name: "f" + type: "func" + } + attr { + name: "num_batch_threads" + type: "int" + } + attr { + name: "max_batch_size" + type: "int" + } + attr { + name: "batch_timeout_micros" + type: "int" + } + attr { + name: "max_enqueued_batches" + type: "int" + default_value { + i: 10 + } + } + attr { + name: "allowed_batch_sizes" + type: "list(int)" + default_value { + list { + } + } + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "batching_queue" + type: "string" + default_value { + s: "" + } + } + attr { + name: "Tin" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "Tcaptured" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tout" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "enable_large_batch_splitting" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "BatchIFFT" + input_arg { + name: "input" + type: DT_COMPLEX64 + } + output_arg { + name: "output" + type: DT_COMPLEX64 + } + deprecation { + version: 15 + explanation: "Use IFFT" + } +} +op { + name: "BatchIFFT2D" + input_arg { + name: "input" + type: DT_COMPLEX64 + } + output_arg { + name: "output" + type: DT_COMPLEX64 + } + deprecation { + version: 15 + explanation: "Use IFFT2D" + } +} +op { + name: "BatchIFFT3D" + input_arg { + name: "input" + type: DT_COMPLEX64 + } + output_arg { + name: "output" + type: DT_COMPLEX64 + } + deprecation { + version: 15 + explanation: "Use IFFT3D" + } +} +op { + name: "BatchMatMul" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } + attr { + name: "adj_x" + type: "bool" + default_value { + b: false + } + } + attr { + name: "adj_y" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "BatchMatMulV2" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } + attr { + name: "adj_x" + type: "bool" + default_value { + b: false + } + } + attr { + name: "adj_y" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "BatchMatrixBandPart" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "num_lower" + type: DT_INT64 + } + input_arg { + name: "num_upper" + type: DT_INT64 + } + output_arg { + name: "band" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + deprecation { + version: 14 + explanation: "Use MatrixBandPart" + } +} +op { + name: "BatchMatrixDeterminant" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } + deprecation { + version: 13 + explanation: "Use MatrixDeterminant instead." + } +} +op { + name: "BatchMatrixDiag" + input_arg { + name: "diagonal" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + deprecation { + version: 14 + explanation: "Use MatrixDiag" + } +} +op { + name: "BatchMatrixDiagPart" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "diagonal" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + deprecation { + version: 14 + explanation: "Use MatrixDiagPart" + } +} +op { + name: "BatchMatrixInverse" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "adjoint" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + } + } + } + deprecation { + version: 13 + explanation: "Use MatrixInverse instead." + } +} +op { + name: "BatchMatrixSetDiag" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "diagonal" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + deprecation { + version: 14 + explanation: "Use MatrixSetDiag" + } +} +op { + name: "BatchMatrixSolve" + input_arg { + name: "matrix" + type_attr: "T" + } + input_arg { + name: "rhs" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "adjoint" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + } + } + } + deprecation { + version: 13 + explanation: "Use MatrixSolve instead." + } +} +op { + name: "BatchMatrixSolveLs" + input_arg { + name: "matrix" + type_attr: "T" + } + input_arg { + name: "rhs" + type_attr: "T" + } + input_arg { + name: "l2_regularizer" + type: DT_DOUBLE + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + } + } + } + attr { + name: "fast" + type: "bool" + default_value { + b: true + } + } + deprecation { + version: 13 + explanation: "Use MatrixSolveLs instead." + } +} +op { + name: "BatchMatrixTriangularSolve" + input_arg { + name: "matrix" + type_attr: "T" + } + input_arg { + name: "rhs" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "lower" + type: "bool" + default_value { + b: true + } + } + attr { + name: "adjoint" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + } + } + } + deprecation { + version: 13 + explanation: "Use MatrixTriangularSolve instead." + } +} +op { + name: "BatchNormWithGlobalNormalization" + input_arg { + name: "t" + type_attr: "T" + } + input_arg { + name: "m" + type_attr: "T" + } + input_arg { + name: "v" + type_attr: "T" + } + input_arg { + name: "beta" + type_attr: "T" + } + input_arg { + name: "gamma" + type_attr: "T" + } + output_arg { + name: "result" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "variance_epsilon" + type: "float" + } + attr { + name: "scale_after_normalization" + type: "bool" + } + deprecation { + version: 9 + explanation: "Use tf.nn.batch_normalization()" + } +} +op { + name: "BatchNormWithGlobalNormalizationGrad" + input_arg { + name: "t" + type_attr: "T" + } + input_arg { + name: "m" + type_attr: "T" + } + input_arg { + name: "v" + type_attr: "T" + } + input_arg { + name: "gamma" + type_attr: "T" + } + input_arg { + name: "backprop" + type_attr: "T" + } + output_arg { + name: "dx" + type_attr: "T" + } + output_arg { + name: "dm" + type_attr: "T" + } + output_arg { + name: "dv" + type_attr: "T" + } + output_arg { + name: "db" + type_attr: "T" + } + output_arg { + name: "dg" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "variance_epsilon" + type: "float" + } + attr { + name: "scale_after_normalization" + type: "bool" + } + deprecation { + version: 9 + explanation: "Use tf.nn.batch_normalization()" + } +} +op { + name: "BatchSelfAdjointEig" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + } + } + } + deprecation { + version: 11 + explanation: "Use SelfAdjointEigV2 instead." + } +} +op { + name: "BatchSelfAdjointEigV2" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "e" + type_attr: "T" + } + output_arg { + name: "v" + type_attr: "T" + } + attr { + name: "compute_v" + type: "bool" + default_value { + b: true + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + } + } + } + deprecation { + version: 13 + explanation: "Use SelfAdjointEigV2 instead." + } +} +op { + name: "BatchSvd" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "s" + type_attr: "T" + } + output_arg { + name: "u" + type_attr: "T" + } + output_arg { + name: "v" + type_attr: "T" + } + attr { + name: "compute_uv" + type: "bool" + default_value { + b: true + } + } + attr { + name: "full_matrices" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } + deprecation { + version: 13 + explanation: "Use Svd instead." + } +} +op { + name: "BatchToSpace" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "crops" + type_attr: "Tidx" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "block_size" + type: "int" + has_minimum: true + minimum: 2 + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "BatchToSpaceND" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "block_shape" + type_attr: "Tblock_shape" + } + input_arg { + name: "crops" + type_attr: "Tcrops" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tblock_shape" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tcrops" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "BesselI0" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "BesselI0e" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "BesselI1" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "BesselI1e" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "BesselJ0" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "BesselJ1" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "BesselK0" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "BesselK0e" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "BesselK1" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "BesselK1e" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "BesselY0" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "BesselY1" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "Betainc" + input_arg { + name: "a" + type_attr: "T" + } + input_arg { + name: "b" + type_attr: "T" + } + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "BiasAdd" + input_arg { + name: "value" + type_attr: "T" + } + input_arg { + name: "bias" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + } + } + } +} +op { + name: "BiasAddGrad" + input_arg { + name: "out_backprop" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + } + } + } +} +op { + name: "BiasAddV1" + input_arg { + name: "value" + type_attr: "T" + } + input_arg { + name: "bias" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "Bincount" + input_arg { + name: "arr" + type: DT_INT32 + } + input_arg { + name: "size" + type: DT_INT32 + } + input_arg { + name: "weights" + type_attr: "T" + } + output_arg { + name: "bins" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "Bitcast" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "type" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT64 + type: DT_INT32 + type: DT_UINT8 + type: DT_UINT16 + type: DT_UINT32 + type: DT_UINT64 + type: DT_INT8 + type: DT_INT16 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT16 + type: DT_QUINT16 + type: DT_QINT32 + } + } + } + attr { + name: "type" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT64 + type: DT_INT32 + type: DT_UINT8 + type: DT_UINT16 + type: DT_UINT32 + type: DT_UINT64 + type: DT_INT8 + type: DT_INT16 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT16 + type: DT_QUINT16 + type: DT_QINT32 + } + } + } +} +op { + name: "BitwiseAnd" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_UINT8 + type: DT_UINT16 + type: DT_UINT32 + type: DT_UINT64 + } + } + } + is_commutative: true +} +op { + name: "BitwiseOr" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_UINT8 + type: DT_UINT16 + type: DT_UINT32 + type: DT_UINT64 + } + } + } + is_commutative: true +} +op { + name: "BitwiseXor" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_UINT8 + type: DT_UINT16 + type: DT_UINT32 + type: DT_UINT64 + } + } + } + is_commutative: true +} +op { + name: "BlockLSTM" + input_arg { + name: "seq_len_max" + type: DT_INT64 + } + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "cs_prev" + type_attr: "T" + } + input_arg { + name: "h_prev" + type_attr: "T" + } + input_arg { + name: "w" + type_attr: "T" + } + input_arg { + name: "wci" + type_attr: "T" + } + input_arg { + name: "wcf" + type_attr: "T" + } + input_arg { + name: "wco" + type_attr: "T" + } + input_arg { + name: "b" + type_attr: "T" + } + output_arg { + name: "i" + type_attr: "T" + } + output_arg { + name: "cs" + type_attr: "T" + } + output_arg { + name: "f" + type_attr: "T" + } + output_arg { + name: "o" + type_attr: "T" + } + output_arg { + name: "ci" + type_attr: "T" + } + output_arg { + name: "co" + type_attr: "T" + } + output_arg { + name: "h" + type_attr: "T" + } + attr { + name: "forget_bias" + type: "float" + default_value { + f: 1 + } + } + attr { + name: "cell_clip" + type: "float" + default_value { + f: 3 + } + } + attr { + name: "use_peephole" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } +} +op { + name: "BlockLSTMGrad" + input_arg { + name: "seq_len_max" + type: DT_INT64 + } + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "cs_prev" + type_attr: "T" + } + input_arg { + name: "h_prev" + type_attr: "T" + } + input_arg { + name: "w" + type_attr: "T" + } + input_arg { + name: "wci" + type_attr: "T" + } + input_arg { + name: "wcf" + type_attr: "T" + } + input_arg { + name: "wco" + type_attr: "T" + } + input_arg { + name: "b" + type_attr: "T" + } + input_arg { + name: "i" + type_attr: "T" + } + input_arg { + name: "cs" + type_attr: "T" + } + input_arg { + name: "f" + type_attr: "T" + } + input_arg { + name: "o" + type_attr: "T" + } + input_arg { + name: "ci" + type_attr: "T" + } + input_arg { + name: "co" + type_attr: "T" + } + input_arg { + name: "h" + type_attr: "T" + } + input_arg { + name: "cs_grad" + type_attr: "T" + } + input_arg { + name: "h_grad" + type_attr: "T" + } + output_arg { + name: "x_grad" + type_attr: "T" + } + output_arg { + name: "cs_prev_grad" + type_attr: "T" + } + output_arg { + name: "h_prev_grad" + type_attr: "T" + } + output_arg { + name: "w_grad" + type_attr: "T" + } + output_arg { + name: "wci_grad" + type_attr: "T" + } + output_arg { + name: "wcf_grad" + type_attr: "T" + } + output_arg { + name: "wco_grad" + type_attr: "T" + } + output_arg { + name: "b_grad" + type_attr: "T" + } + attr { + name: "use_peephole" + type: "bool" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } +} +op { + name: "BlockLSTMGradV2" + input_arg { + name: "seq_len_max" + type: DT_INT64 + } + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "cs_prev" + type_attr: "T" + } + input_arg { + name: "h_prev" + type_attr: "T" + } + input_arg { + name: "w" + type_attr: "T" + } + input_arg { + name: "wci" + type_attr: "T" + } + input_arg { + name: "wcf" + type_attr: "T" + } + input_arg { + name: "wco" + type_attr: "T" + } + input_arg { + name: "b" + type_attr: "T" + } + input_arg { + name: "i" + type_attr: "T" + } + input_arg { + name: "cs" + type_attr: "T" + } + input_arg { + name: "f" + type_attr: "T" + } + input_arg { + name: "o" + type_attr: "T" + } + input_arg { + name: "ci" + type_attr: "T" + } + input_arg { + name: "co" + type_attr: "T" + } + input_arg { + name: "h" + type_attr: "T" + } + input_arg { + name: "cs_grad" + type_attr: "T" + } + input_arg { + name: "h_grad" + type_attr: "T" + } + output_arg { + name: "x_grad" + type_attr: "T" + } + output_arg { + name: "cs_prev_grad" + type_attr: "T" + } + output_arg { + name: "h_prev_grad" + type_attr: "T" + } + output_arg { + name: "w_grad" + type_attr: "T" + } + output_arg { + name: "wci_grad" + type_attr: "T" + } + output_arg { + name: "wcf_grad" + type_attr: "T" + } + output_arg { + name: "wco_grad" + type_attr: "T" + } + output_arg { + name: "b_grad" + type_attr: "T" + } + attr { + name: "use_peephole" + type: "bool" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } +} +op { + name: "BlockLSTMV2" + input_arg { + name: "seq_len_max" + type: DT_INT64 + } + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "cs_prev" + type_attr: "T" + } + input_arg { + name: "h_prev" + type_attr: "T" + } + input_arg { + name: "w" + type_attr: "T" + } + input_arg { + name: "wci" + type_attr: "T" + } + input_arg { + name: "wcf" + type_attr: "T" + } + input_arg { + name: "wco" + type_attr: "T" + } + input_arg { + name: "b" + type_attr: "T" + } + output_arg { + name: "i" + type_attr: "T" + } + output_arg { + name: "cs" + type_attr: "T" + } + output_arg { + name: "f" + type_attr: "T" + } + output_arg { + name: "o" + type_attr: "T" + } + output_arg { + name: "ci" + type_attr: "T" + } + output_arg { + name: "co" + type_attr: "T" + } + output_arg { + name: "h" + type_attr: "T" + } + attr { + name: "cell_clip" + type: "float" + default_value { + f: 0 + } + } + attr { + name: "use_peephole" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } +} +op { + name: "BoostedTreesAggregateStats" + input_arg { + name: "node_ids" + type: DT_INT32 + } + input_arg { + name: "gradients" + type: DT_FLOAT + } + input_arg { + name: "hessians" + type: DT_FLOAT + } + input_arg { + name: "feature" + type: DT_INT32 + } + output_arg { + name: "stats_summary" + type: DT_FLOAT + } + attr { + name: "max_splits" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "num_buckets" + type: "int" + has_minimum: true + minimum: 1 + } +} +op { + name: "BoostedTreesBucketize" + input_arg { + name: "float_values" + type: DT_FLOAT + number_attr: "num_features" + } + input_arg { + name: "bucket_boundaries" + type: DT_FLOAT + number_attr: "num_features" + } + output_arg { + name: "buckets" + type: DT_INT32 + number_attr: "num_features" + } + attr { + name: "num_features" + type: "int" + has_minimum: true + } +} +op { + name: "BoostedTreesCalculateBestFeatureSplit" + input_arg { + name: "node_id_range" + type: DT_INT32 + } + input_arg { + name: "stats_summary" + type: DT_FLOAT + } + input_arg { + name: "l1" + type: DT_FLOAT + } + input_arg { + name: "l2" + type: DT_FLOAT + } + input_arg { + name: "tree_complexity" + type: DT_FLOAT + } + input_arg { + name: "min_node_weight" + type: DT_FLOAT + } + output_arg { + name: "node_ids" + type: DT_INT32 + } + output_arg { + name: "gains" + type: DT_FLOAT + } + output_arg { + name: "feature_dimensions" + type: DT_INT32 + } + output_arg { + name: "thresholds" + type: DT_INT32 + } + output_arg { + name: "left_node_contribs" + type: DT_FLOAT + } + output_arg { + name: "right_node_contribs" + type: DT_FLOAT + } + output_arg { + name: "split_with_default_directions" + type: DT_STRING + } + attr { + name: "logits_dimension" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "split_type" + type: "string" + default_value { + s: "inequality" + } + allowed_values { + list { + s: "inequality" + s: "equality" + } + } + } +} +op { + name: "BoostedTreesCalculateBestFeatureSplitV2" + input_arg { + name: "node_id_range" + type: DT_INT32 + } + input_arg { + name: "stats_summaries_list" + type: DT_FLOAT + number_attr: "num_features" + } + input_arg { + name: "split_types" + type: DT_STRING + } + input_arg { + name: "candidate_feature_ids" + type: DT_INT32 + } + input_arg { + name: "l1" + type: DT_FLOAT + } + input_arg { + name: "l2" + type: DT_FLOAT + } + input_arg { + name: "tree_complexity" + type: DT_FLOAT + } + input_arg { + name: "min_node_weight" + type: DT_FLOAT + } + output_arg { + name: "node_ids" + type: DT_INT32 + } + output_arg { + name: "gains" + type: DT_FLOAT + } + output_arg { + name: "feature_ids" + type: DT_INT32 + } + output_arg { + name: "feature_dimensions" + type: DT_INT32 + } + output_arg { + name: "thresholds" + type: DT_INT32 + } + output_arg { + name: "left_node_contribs" + type: DT_FLOAT + } + output_arg { + name: "right_node_contribs" + type: DT_FLOAT + } + output_arg { + name: "split_with_default_directions" + type: DT_STRING + } + attr { + name: "num_features" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "logits_dimension" + type: "int" + has_minimum: true + minimum: 1 + } +} +op { + name: "BoostedTreesCalculateBestGainsPerFeature" + input_arg { + name: "node_id_range" + type: DT_INT32 + } + input_arg { + name: "stats_summary_list" + type: DT_FLOAT + number_attr: "num_features" + } + input_arg { + name: "l1" + type: DT_FLOAT + } + input_arg { + name: "l2" + type: DT_FLOAT + } + input_arg { + name: "tree_complexity" + type: DT_FLOAT + } + input_arg { + name: "min_node_weight" + type: DT_FLOAT + } + output_arg { + name: "node_ids_list" + type: DT_INT32 + number_attr: "num_features" + } + output_arg { + name: "gains_list" + type: DT_FLOAT + number_attr: "num_features" + } + output_arg { + name: "thresholds_list" + type: DT_INT32 + number_attr: "num_features" + } + output_arg { + name: "left_node_contribs_list" + type: DT_FLOAT + number_attr: "num_features" + } + output_arg { + name: "right_node_contribs_list" + type: DT_FLOAT + number_attr: "num_features" + } + attr { + name: "max_splits" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "num_features" + type: "int" + has_minimum: true + minimum: 1 + } +} +op { + name: "BoostedTreesCenterBias" + input_arg { + name: "tree_ensemble_handle" + type: DT_RESOURCE + } + input_arg { + name: "mean_gradients" + type: DT_FLOAT + } + input_arg { + name: "mean_hessians" + type: DT_FLOAT + } + input_arg { + name: "l1" + type: DT_FLOAT + } + input_arg { + name: "l2" + type: DT_FLOAT + } + output_arg { + name: "continue_centering" + type: DT_BOOL + } + is_stateful: true +} +op { + name: "BoostedTreesCreateEnsemble" + input_arg { + name: "tree_ensemble_handle" + type: DT_RESOURCE + } + input_arg { + name: "stamp_token" + type: DT_INT64 + } + input_arg { + name: "tree_ensemble_serialized" + type: DT_STRING + } + is_stateful: true +} +op { + name: "BoostedTreesCreateQuantileStreamResource" + input_arg { + name: "quantile_stream_resource_handle" + type: DT_RESOURCE + } + input_arg { + name: "epsilon" + type: DT_FLOAT + } + input_arg { + name: "num_streams" + type: DT_INT64 + } + attr { + name: "max_elements" + type: "int" + default_value { + i: 1099511627776 + } + } + is_stateful: true +} +op { + name: "BoostedTreesDeserializeEnsemble" + input_arg { + name: "tree_ensemble_handle" + type: DT_RESOURCE + } + input_arg { + name: "stamp_token" + type: DT_INT64 + } + input_arg { + name: "tree_ensemble_serialized" + type: DT_STRING + } + is_stateful: true +} +op { + name: "BoostedTreesEnsembleResourceHandleOp" + output_arg { + name: "resource" + type: DT_RESOURCE + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "BoostedTreesExampleDebugOutputs" + input_arg { + name: "tree_ensemble_handle" + type: DT_RESOURCE + } + input_arg { + name: "bucketized_features" + type: DT_INT32 + number_attr: "num_bucketized_features" + } + output_arg { + name: "examples_debug_outputs_serialized" + type: DT_STRING + } + attr { + name: "num_bucketized_features" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "logits_dimension" + type: "int" + } + is_stateful: true +} +op { + name: "BoostedTreesFlushQuantileSummaries" + input_arg { + name: "quantile_stream_resource_handle" + type: DT_RESOURCE + } + output_arg { + name: "summaries" + type: DT_FLOAT + number_attr: "num_features" + } + attr { + name: "num_features" + type: "int" + has_minimum: true + } + is_stateful: true +} +op { + name: "BoostedTreesGetEnsembleStates" + input_arg { + name: "tree_ensemble_handle" + type: DT_RESOURCE + } + output_arg { + name: "stamp_token" + type: DT_INT64 + } + output_arg { + name: "num_trees" + type: DT_INT32 + } + output_arg { + name: "num_finalized_trees" + type: DT_INT32 + } + output_arg { + name: "num_attempted_layers" + type: DT_INT32 + } + output_arg { + name: "last_layer_nodes_range" + type: DT_INT32 + } + is_stateful: true +} +op { + name: "BoostedTreesMakeQuantileSummaries" + input_arg { + name: "float_values" + type: DT_FLOAT + number_attr: "num_features" + } + input_arg { + name: "example_weights" + type: DT_FLOAT + } + input_arg { + name: "epsilon" + type: DT_FLOAT + } + output_arg { + name: "summaries" + type: DT_FLOAT + number_attr: "num_features" + } + attr { + name: "num_features" + type: "int" + has_minimum: true + } +} +op { + name: "BoostedTreesMakeStatsSummary" + input_arg { + name: "node_ids" + type: DT_INT32 + } + input_arg { + name: "gradients" + type: DT_FLOAT + } + input_arg { + name: "hessians" + type: DT_FLOAT + } + input_arg { + name: "bucketized_features_list" + type: DT_INT32 + number_attr: "num_features" + } + output_arg { + name: "stats_summary" + type: DT_FLOAT + } + attr { + name: "max_splits" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "num_buckets" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "num_features" + type: "int" + has_minimum: true + minimum: 1 + } +} +op { + name: "BoostedTreesPredict" + input_arg { + name: "tree_ensemble_handle" + type: DT_RESOURCE + } + input_arg { + name: "bucketized_features" + type: DT_INT32 + number_attr: "num_bucketized_features" + } + output_arg { + name: "logits" + type: DT_FLOAT + } + attr { + name: "num_bucketized_features" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "logits_dimension" + type: "int" + } + is_stateful: true +} +op { + name: "BoostedTreesQuantileStreamResourceAddSummaries" + input_arg { + name: "quantile_stream_resource_handle" + type: DT_RESOURCE + } + input_arg { + name: "summaries" + type: DT_FLOAT + number_attr: "num_features" + } + attr { + name: "num_features" + type: "int" + has_minimum: true + } + is_stateful: true +} +op { + name: "BoostedTreesQuantileStreamResourceDeserialize" + input_arg { + name: "quantile_stream_resource_handle" + type: DT_RESOURCE + } + input_arg { + name: "bucket_boundaries" + type: DT_FLOAT + number_attr: "num_streams" + } + attr { + name: "num_streams" + type: "int" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "BoostedTreesQuantileStreamResourceFlush" + input_arg { + name: "quantile_stream_resource_handle" + type: DT_RESOURCE + } + input_arg { + name: "num_buckets" + type: DT_INT64 + } + attr { + name: "generate_quantiles" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "BoostedTreesQuantileStreamResourceGetBucketBoundaries" + input_arg { + name: "quantile_stream_resource_handle" + type: DT_RESOURCE + } + output_arg { + name: "bucket_boundaries" + type: DT_FLOAT + number_attr: "num_features" + } + attr { + name: "num_features" + type: "int" + has_minimum: true + } + is_stateful: true +} +op { + name: "BoostedTreesQuantileStreamResourceHandleOp" + output_arg { + name: "resource" + type: DT_RESOURCE + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "BoostedTreesSerializeEnsemble" + input_arg { + name: "tree_ensemble_handle" + type: DT_RESOURCE + } + output_arg { + name: "stamp_token" + type: DT_INT64 + } + output_arg { + name: "tree_ensemble_serialized" + type: DT_STRING + } + is_stateful: true +} +op { + name: "BoostedTreesSparseAggregateStats" + input_arg { + name: "node_ids" + type: DT_INT32 + } + input_arg { + name: "gradients" + type: DT_FLOAT + } + input_arg { + name: "hessians" + type: DT_FLOAT + } + input_arg { + name: "feature_indices" + type: DT_INT32 + } + input_arg { + name: "feature_values" + type: DT_INT32 + } + input_arg { + name: "feature_shape" + type: DT_INT32 + } + output_arg { + name: "stats_summary_indices" + type: DT_INT32 + } + output_arg { + name: "stats_summary_values" + type: DT_FLOAT + } + output_arg { + name: "stats_summary_shape" + type: DT_INT32 + } + attr { + name: "max_splits" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "num_buckets" + type: "int" + has_minimum: true + minimum: 1 + } +} +op { + name: "BoostedTreesSparseCalculateBestFeatureSplit" + input_arg { + name: "node_id_range" + type: DT_INT32 + } + input_arg { + name: "stats_summary_indices" + type: DT_INT32 + } + input_arg { + name: "stats_summary_values" + type: DT_FLOAT + } + input_arg { + name: "stats_summary_shape" + type: DT_INT32 + } + input_arg { + name: "l1" + type: DT_FLOAT + } + input_arg { + name: "l2" + type: DT_FLOAT + } + input_arg { + name: "tree_complexity" + type: DT_FLOAT + } + input_arg { + name: "min_node_weight" + type: DT_FLOAT + } + output_arg { + name: "node_ids" + type: DT_INT32 + } + output_arg { + name: "gains" + type: DT_FLOAT + } + output_arg { + name: "feature_dimensions" + type: DT_INT32 + } + output_arg { + name: "thresholds" + type: DT_INT32 + } + output_arg { + name: "left_node_contribs" + type: DT_FLOAT + } + output_arg { + name: "right_node_contribs" + type: DT_FLOAT + } + output_arg { + name: "split_with_default_directions" + type: DT_STRING + } + attr { + name: "logits_dimension" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "split_type" + type: "string" + default_value { + s: "inequality" + } + allowed_values { + list { + s: "inequality" + } + } + } +} +op { + name: "BoostedTreesTrainingPredict" + input_arg { + name: "tree_ensemble_handle" + type: DT_RESOURCE + } + input_arg { + name: "cached_tree_ids" + type: DT_INT32 + } + input_arg { + name: "cached_node_ids" + type: DT_INT32 + } + input_arg { + name: "bucketized_features" + type: DT_INT32 + number_attr: "num_bucketized_features" + } + output_arg { + name: "partial_logits" + type: DT_FLOAT + } + output_arg { + name: "tree_ids" + type: DT_INT32 + } + output_arg { + name: "node_ids" + type: DT_INT32 + } + attr { + name: "num_bucketized_features" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "logits_dimension" + type: "int" + } + is_stateful: true +} +op { + name: "BoostedTreesUpdateEnsemble" + input_arg { + name: "tree_ensemble_handle" + type: DT_RESOURCE + } + input_arg { + name: "feature_ids" + type: DT_INT32 + } + input_arg { + name: "node_ids" + type: DT_INT32 + number_attr: "num_features" + } + input_arg { + name: "gains" + type: DT_FLOAT + number_attr: "num_features" + } + input_arg { + name: "thresholds" + type: DT_INT32 + number_attr: "num_features" + } + input_arg { + name: "left_node_contribs" + type: DT_FLOAT + number_attr: "num_features" + } + input_arg { + name: "right_node_contribs" + type: DT_FLOAT + number_attr: "num_features" + } + input_arg { + name: "max_depth" + type: DT_INT32 + } + input_arg { + name: "learning_rate" + type: DT_FLOAT + } + attr { + name: "pruning_mode" + type: "int" + has_minimum: true + } + attr { + name: "num_features" + type: "int" + has_minimum: true + } + is_stateful: true +} +op { + name: "BoostedTreesUpdateEnsembleV2" + input_arg { + name: "tree_ensemble_handle" + type: DT_RESOURCE + } + input_arg { + name: "feature_ids" + type: DT_INT32 + number_attr: "num_groups" + } + input_arg { + name: "dimension_ids" + type: DT_INT32 + number_attr: "num_features" + } + input_arg { + name: "node_ids" + type: DT_INT32 + number_attr: "num_features" + } + input_arg { + name: "gains" + type: DT_FLOAT + number_attr: "num_features" + } + input_arg { + name: "thresholds" + type: DT_INT32 + number_attr: "num_features" + } + input_arg { + name: "left_node_contribs" + type: DT_FLOAT + number_attr: "num_features" + } + input_arg { + name: "right_node_contribs" + type: DT_FLOAT + number_attr: "num_features" + } + input_arg { + name: "split_types" + type: DT_STRING + number_attr: "num_features" + } + input_arg { + name: "max_depth" + type: DT_INT32 + } + input_arg { + name: "learning_rate" + type: DT_FLOAT + } + input_arg { + name: "pruning_mode" + type: DT_INT32 + } + attr { + name: "num_features" + type: "int" + has_minimum: true + } + attr { + name: "logits_dimension" + type: "int" + default_value { + i: 1 + } + } + attr { + name: "num_groups" + type: "int" + default_value { + i: 1 + } + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "BroadcastArgs" + input_arg { + name: "s0" + type_attr: "T" + } + input_arg { + name: "s1" + type_attr: "T" + } + output_arg { + name: "r0" + type_attr: "T" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "BroadcastGradientArgs" + input_arg { + name: "s0" + type_attr: "T" + } + input_arg { + name: "s1" + type_attr: "T" + } + output_arg { + name: "r0" + type_attr: "T" + } + output_arg { + name: "r1" + type_attr: "T" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "BroadcastTo" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "shape" + type_attr: "Tidx" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "Bucketize" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type: DT_INT32 + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "boundaries" + type: "list(float)" + } +} +op { + name: "BytesProducedStatsDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "tag" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "CSRSparseMatrixComponents" + input_arg { + name: "csr_sparse_matrix" + type: DT_VARIANT + } + input_arg { + name: "index" + type: DT_INT32 + } + output_arg { + name: "row_ptrs" + type: DT_INT32 + } + output_arg { + name: "col_inds" + type: DT_INT32 + } + output_arg { + name: "values" + type_attr: "type" + } + attr { + name: "type" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "CSRSparseMatrixToDense" + input_arg { + name: "sparse_input" + type: DT_VARIANT + } + output_arg { + name: "dense_output" + type_attr: "type" + } + attr { + name: "type" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "CSRSparseMatrixToSparseTensor" + input_arg { + name: "sparse_matrix" + type: DT_VARIANT + } + output_arg { + name: "indices" + type: DT_INT64 + } + output_arg { + name: "values" + type_attr: "type" + } + output_arg { + name: "dense_shape" + type: DT_INT64 + } + attr { + name: "type" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "CSVDataset" + input_arg { + name: "filenames" + type: DT_STRING + } + input_arg { + name: "compression_type" + type: DT_STRING + } + input_arg { + name: "buffer_size" + type: DT_INT64 + } + input_arg { + name: "header" + type: DT_BOOL + } + input_arg { + name: "field_delim" + type: DT_STRING + } + input_arg { + name: "use_quote_delim" + type: DT_BOOL + } + input_arg { + name: "na_value" + type: DT_STRING + } + input_arg { + name: "select_cols" + type: DT_INT64 + } + input_arg { + name: "record_defaults" + type_list_attr: "output_types" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "CSVDatasetV2" + input_arg { + name: "filenames" + type: DT_STRING + } + input_arg { + name: "compression_type" + type: DT_STRING + } + input_arg { + name: "buffer_size" + type: DT_INT64 + } + input_arg { + name: "header" + type: DT_BOOL + } + input_arg { + name: "field_delim" + type: DT_STRING + } + input_arg { + name: "use_quote_delim" + type: DT_BOOL + } + input_arg { + name: "na_value" + type: DT_STRING + } + input_arg { + name: "select_cols" + type: DT_INT64 + } + input_arg { + name: "record_defaults" + type_list_attr: "output_types" + } + input_arg { + name: "exclude_cols" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "CTCBeamSearchDecoder" + input_arg { + name: "inputs" + type_attr: "T" + } + input_arg { + name: "sequence_length" + type: DT_INT32 + } + output_arg { + name: "decoded_indices" + type: DT_INT64 + number_attr: "top_paths" + } + output_arg { + name: "decoded_values" + type: DT_INT64 + number_attr: "top_paths" + } + output_arg { + name: "decoded_shape" + type: DT_INT64 + number_attr: "top_paths" + } + output_arg { + name: "log_probability" + type_attr: "T" + } + attr { + name: "beam_width" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "top_paths" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "merge_repeated" + type: "bool" + default_value { + b: true + } + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "CTCGreedyDecoder" + input_arg { + name: "inputs" + type_attr: "T" + } + input_arg { + name: "sequence_length" + type: DT_INT32 + } + output_arg { + name: "decoded_indices" + type: DT_INT64 + } + output_arg { + name: "decoded_values" + type: DT_INT64 + } + output_arg { + name: "decoded_shape" + type: DT_INT64 + } + output_arg { + name: "log_probability" + type_attr: "T" + } + attr { + name: "merge_repeated" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "CTCLoss" + input_arg { + name: "inputs" + type_attr: "T" + } + input_arg { + name: "labels_indices" + type: DT_INT64 + } + input_arg { + name: "labels_values" + type: DT_INT32 + } + input_arg { + name: "sequence_length" + type: DT_INT32 + } + output_arg { + name: "loss" + type_attr: "T" + } + output_arg { + name: "gradient" + type_attr: "T" + } + attr { + name: "preprocess_collapse_repeated" + type: "bool" + default_value { + b: false + } + } + attr { + name: "ctc_merge_repeated" + type: "bool" + default_value { + b: true + } + } + attr { + name: "ignore_longer_outputs_than_inputs" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "CTCLossV2" + input_arg { + name: "inputs" + type: DT_FLOAT + } + input_arg { + name: "labels_indices" + type: DT_INT64 + } + input_arg { + name: "labels_values" + type: DT_INT32 + } + input_arg { + name: "sequence_length" + type: DT_INT32 + } + output_arg { + name: "loss" + type: DT_FLOAT + } + output_arg { + name: "gradient" + type: DT_FLOAT + } + attr { + name: "preprocess_collapse_repeated" + type: "bool" + default_value { + b: false + } + } + attr { + name: "ctc_merge_repeated" + type: "bool" + default_value { + b: true + } + } + attr { + name: "ignore_longer_outputs_than_inputs" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "CacheDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "filename" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "CacheDatasetV2" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "filename" + type: DT_STRING + } + input_arg { + name: "cache" + type: DT_RESOURCE + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "Case" + input_arg { + name: "branch_index" + type: DT_INT32 + } + input_arg { + name: "input" + type_list_attr: "Tin" + } + output_arg { + name: "output" + type_list_attr: "Tout" + } + attr { + name: "Tin" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tout" + type: "list(type)" + has_minimum: true + } + attr { + name: "branches" + type: "list(func)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + default_value { + list { + } + } + } + is_stateful: true +} +op { + name: "Cast" + input_arg { + name: "x" + type_attr: "SrcT" + } + output_arg { + name: "y" + type_attr: "DstT" + } + attr { + name: "SrcT" + type: "type" + } + attr { + name: "DstT" + type: "type" + } + attr { + name: "Truncate" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "Ceil" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "CheckNumerics" + input_arg { + name: "tensor" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "message" + type: "string" + } + is_stateful: true +} +op { + name: "CheckNumericsV2" + input_arg { + name: "tensor" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "message" + type: "string" + } + is_stateful: true +} +op { + name: "Cholesky" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + type: DT_HALF + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "CholeskyGrad" + input_arg { + name: "l" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "ChooseFastestBranchDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "ratio_numerator" + type: DT_INT64 + } + input_arg { + name: "ratio_denominator" + type: DT_INT64 + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "num_elements_per_branch" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "branches" + type: "list(func)" + has_minimum: true + minimum: 1 + } + attr { + name: "other_arguments_lengths" + type: "list(int)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ChooseFastestDataset" + input_arg { + name: "input_datasets" + type: DT_VARIANT + number_attr: "N" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 2 + } + attr { + name: "num_experiments" + type: "int" + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ClipByValue" + input_arg { + name: "t" + type_attr: "T" + } + input_arg { + name: "clip_value_min" + type_attr: "T" + } + input_arg { + name: "clip_value_max" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "CloseSummaryWriter" + input_arg { + name: "writer" + type: DT_RESOURCE + } + is_stateful: true +} +op { + name: "CollectiveBcastRecv" + output_arg { + name: "data" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BOOL + type: DT_FLOAT + type: DT_HALF + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "group_size" + type: "int" + } + attr { + name: "group_key" + type: "int" + } + attr { + name: "instance_key" + type: "int" + } + attr { + name: "shape" + type: "shape" + } + attr { + name: "communication_hint" + type: "string" + default_value { + s: "auto" + } + } + attr { + name: "timeout_seconds" + type: "float" + default_value { + f: 0 + } + } + is_stateful: true +} +op { + name: "CollectiveBcastRecvV2" + input_arg { + name: "group_size" + type: DT_INT32 + } + input_arg { + name: "group_key" + type: DT_INT32 + } + input_arg { + name: "instance_key" + type: DT_INT32 + } + input_arg { + name: "shape" + type_attr: "Tshape" + } + output_arg { + name: "data" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BOOL + type: DT_FLOAT + type: DT_HALF + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tshape" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "communication_hint" + type: "string" + default_value { + s: "auto" + } + } + attr { + name: "timeout_seconds" + type: "float" + default_value { + f: 0 + } + } + is_stateful: true +} +op { + name: "CollectiveBcastSend" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "data" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BOOL + type: DT_FLOAT + type: DT_HALF + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "group_size" + type: "int" + } + attr { + name: "group_key" + type: "int" + } + attr { + name: "instance_key" + type: "int" + } + attr { + name: "shape" + type: "shape" + } + attr { + name: "communication_hint" + type: "string" + default_value { + s: "auto" + } + } + attr { + name: "timeout_seconds" + type: "float" + default_value { + f: 0 + } + } + is_stateful: true +} +op { + name: "CollectiveBcastSendV2" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "group_size" + type: DT_INT32 + } + input_arg { + name: "group_key" + type: DT_INT32 + } + input_arg { + name: "instance_key" + type: DT_INT32 + } + output_arg { + name: "data" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BOOL + type: DT_FLOAT + type: DT_HALF + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "communication_hint" + type: "string" + default_value { + s: "auto" + } + } + attr { + name: "timeout_seconds" + type: "float" + default_value { + f: 0 + } + } + is_stateful: true +} +op { + name: "CollectiveGather" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "data" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_HALF + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "group_size" + type: "int" + } + attr { + name: "group_key" + type: "int" + } + attr { + name: "instance_key" + type: "int" + } + attr { + name: "shape" + type: "shape" + } + attr { + name: "communication_hint" + type: "string" + default_value { + s: "auto" + } + } + attr { + name: "timeout_seconds" + type: "float" + default_value { + f: 0 + } + } + is_stateful: true +} +op { + name: "CollectiveGatherV2" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "group_size" + type: DT_INT32 + } + input_arg { + name: "group_key" + type: DT_INT32 + } + input_arg { + name: "instance_key" + type: DT_INT32 + } + input_arg { + name: "ordering_token" + type: DT_RESOURCE + number_attr: "Nordering_token" + } + output_arg { + name: "data" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_HALF + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "communication_hint" + type: "string" + default_value { + s: "auto" + } + } + attr { + name: "timeout_seconds" + type: "float" + default_value { + f: 0 + } + } + attr { + name: "Nordering_token" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + is_stateful: true +} +op { + name: "CollectivePermute" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "source_target_pairs" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "CollectiveReduce" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "data" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_HALF + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "group_size" + type: "int" + } + attr { + name: "group_key" + type: "int" + } + attr { + name: "instance_key" + type: "int" + } + attr { + name: "merge_op" + type: "string" + allowed_values { + list { + s: "Min" + s: "Max" + s: "Mul" + s: "Add" + } + } + } + attr { + name: "final_op" + type: "string" + allowed_values { + list { + s: "Id" + s: "Div" + } + } + } + attr { + name: "subdiv_offsets" + type: "list(int)" + } + attr { + name: "wait_for" + type: "list(int)" + default_value { + list { + } + } + } + attr { + name: "communication_hint" + type: "string" + default_value { + s: "auto" + } + } + attr { + name: "timeout_seconds" + type: "float" + default_value { + f: 0 + } + } + is_stateful: true +} +op { + name: "CollectiveReduceV2" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "group_size" + type: DT_INT32 + } + input_arg { + name: "group_key" + type: DT_INT32 + } + input_arg { + name: "instance_key" + type: DT_INT32 + } + input_arg { + name: "ordering_token" + type: DT_RESOURCE + number_attr: "Nordering_token" + } + output_arg { + name: "data" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_HALF + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "merge_op" + type: "string" + allowed_values { + list { + s: "Min" + s: "Max" + s: "Mul" + s: "Add" + } + } + } + attr { + name: "final_op" + type: "string" + allowed_values { + list { + s: "Id" + s: "Div" + } + } + } + attr { + name: "communication_hint" + type: "string" + default_value { + s: "auto" + } + } + attr { + name: "timeout_seconds" + type: "float" + default_value { + f: 0 + } + } + attr { + name: "Nordering_token" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + is_stateful: true +} +op { + name: "CombinedNonMaxSuppression" + input_arg { + name: "boxes" + type: DT_FLOAT + } + input_arg { + name: "scores" + type: DT_FLOAT + } + input_arg { + name: "max_output_size_per_class" + type: DT_INT32 + } + input_arg { + name: "max_total_size" + type: DT_INT32 + } + input_arg { + name: "iou_threshold" + type: DT_FLOAT + } + input_arg { + name: "score_threshold" + type: DT_FLOAT + } + output_arg { + name: "nmsed_boxes" + type: DT_FLOAT + } + output_arg { + name: "nmsed_scores" + type: DT_FLOAT + } + output_arg { + name: "nmsed_classes" + type: DT_FLOAT + } + output_arg { + name: "valid_detections" + type: DT_INT32 + } + attr { + name: "pad_per_class" + type: "bool" + default_value { + b: false + } + } + attr { + name: "clip_boxes" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "CompareAndBitpack" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "threshold" + type_attr: "T" + } + output_arg { + name: "output" + type: DT_UINT8 + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BOOL + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "Complex" + input_arg { + name: "real" + type_attr: "T" + } + input_arg { + name: "imag" + type_attr: "T" + } + output_arg { + name: "out" + type_attr: "Tout" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tout" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "ComplexAbs" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "Tout" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } + attr { + name: "Tout" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "CompressElement" + input_arg { + name: "components" + type_list_attr: "input_types" + } + output_arg { + name: "compressed" + type: DT_VARIANT + } + attr { + name: "input_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ComputeAccidentalHits" + input_arg { + name: "true_classes" + type: DT_INT64 + } + input_arg { + name: "sampled_candidates" + type: DT_INT64 + } + output_arg { + name: "indices" + type: DT_INT32 + } + output_arg { + name: "ids" + type: DT_INT64 + } + output_arg { + name: "weights" + type: DT_FLOAT + } + attr { + name: "num_true" + type: "int" + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } +} +op { + name: "ComputeBatchSize" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + output_arg { + name: "batch_size" + type: DT_INT64 + } +} +op { + name: "Concat" + input_arg { + name: "concat_dim" + type: DT_INT32 + } + input_arg { + name: "values" + type_attr: "T" + number_attr: "N" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 2 + } + attr { + name: "T" + type: "type" + } +} +op { + name: "ConcatOffset" + input_arg { + name: "concat_dim" + type: DT_INT32 + } + input_arg { + name: "shape" + type: DT_INT32 + number_attr: "N" + } + output_arg { + name: "offset" + type: DT_INT32 + number_attr: "N" + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 2 + } +} +op { + name: "ConcatV2" + input_arg { + name: "values" + type_attr: "T" + number_attr: "N" + } + input_arg { + name: "axis" + type_attr: "Tidx" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 2 + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "ConcatenateDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "another_dataset" + type: DT_VARIANT + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ConditionalAccumulator" + output_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "shape" + type: "shape" + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "reduction_type" + type: "string" + default_value { + s: "MEAN" + } + allowed_values { + list { + s: "MEAN" + s: "SUM" + } + } + } + is_stateful: true +} +op { + name: "ConfigureDistributedTPU" + output_arg { + name: "topology" + type: DT_STRING + } + attr { + name: "embedding_config" + type: "string" + default_value { + s: "" + } + } + attr { + name: "tpu_embedding_config" + type: "string" + default_value { + s: "" + } + } + attr { + name: "is_global_init" + type: "bool" + default_value { + b: false + } + } + attr { + name: "enable_whole_mesh_compilations" + type: "bool" + default_value { + b: false + } + } + attr { + name: "compilation_failure_closes_chips" + type: "bool" + default_value { + b: true + } + } + is_stateful: true +} +op { + name: "ConfigureTPUEmbedding" + attr { + name: "config" + type: "string" + } + is_stateful: true +} +op { + name: "Conj" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + type: DT_VARIANT + } + } + } +} +op { + name: "ConjugateTranspose" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "perm" + type_attr: "Tperm" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tperm" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "Const" + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "value" + type: "tensor" + } + attr { + name: "dtype" + type: "type" + } +} +op { + name: "ConsumeMutexLock" + input_arg { + name: "mutex_lock" + type: DT_VARIANT + } + is_stateful: true +} +op { + name: "ControlTrigger" +} +op { + name: "Conv2D" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "filter" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "use_cudnn_on_gpu" + type: "bool" + default_value { + b: true + } + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + s: "EXPLICIT" + } + } + } + attr { + name: "explicit_paddings" + type: "list(int)" + default_value { + list { + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +op { + name: "Conv2DBackpropFilter" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "filter_sizes" + type: DT_INT32 + } + input_arg { + name: "out_backprop" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "use_cudnn_on_gpu" + type: "bool" + default_value { + b: true + } + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + s: "EXPLICIT" + } + } + } + attr { + name: "explicit_paddings" + type: "list(int)" + default_value { + list { + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +op { + name: "Conv2DBackpropInput" + input_arg { + name: "input_sizes" + type: DT_INT32 + } + input_arg { + name: "filter" + type_attr: "T" + } + input_arg { + name: "out_backprop" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "use_cudnn_on_gpu" + type: "bool" + default_value { + b: true + } + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + s: "EXPLICIT" + } + } + } + attr { + name: "explicit_paddings" + type: "list(int)" + default_value { + list { + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +op { + name: "Conv3D" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "filter" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "strides" + type: "list(int)" + has_minimum: true + minimum: 5 + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NDHWC" + } + allowed_values { + list { + s: "NDHWC" + s: "NCDHW" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +op { + name: "Conv3DBackpropFilter" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "filter" + type_attr: "T" + } + input_arg { + name: "out_backprop" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "strides" + type: "list(int)" + has_minimum: true + minimum: 5 + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + deprecation { + version: 10 + explanation: "Use Conv3DBackpropFilterV2" + } +} +op { + name: "Conv3DBackpropFilterV2" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "filter_sizes" + type: DT_INT32 + } + input_arg { + name: "out_backprop" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "strides" + type: "list(int)" + has_minimum: true + minimum: 5 + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NDHWC" + } + allowed_values { + list { + s: "NDHWC" + s: "NCDHW" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +op { + name: "Conv3DBackpropInput" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "filter" + type_attr: "T" + } + input_arg { + name: "out_backprop" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "strides" + type: "list(int)" + has_minimum: true + minimum: 5 + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + deprecation { + version: 10 + explanation: "Use Conv3DBackpropInputV2" + } +} +op { + name: "Conv3DBackpropInputV2" + input_arg { + name: "input_sizes" + type_attr: "Tshape" + } + input_arg { + name: "filter" + type_attr: "T" + } + input_arg { + name: "out_backprop" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "strides" + type: "list(int)" + has_minimum: true + minimum: 5 + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NDHWC" + } + allowed_values { + list { + s: "NDHWC" + s: "NCDHW" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + name: "Tshape" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "Copy" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "tensor_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "debug_ops_spec" + type: "list(string)" + default_value { + list { + } + } + } + allows_uninitialized_input: true +} +op { + name: "CopyHost" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "tensor_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "debug_ops_spec" + type: "list(string)" + default_value { + list { + } + } + } + allows_uninitialized_input: true +} +op { + name: "Cos" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "Cosh" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "CountUpTo" + input_arg { + name: "ref" + type_attr: "T" + is_ref: true + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "limit" + type: "int" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "CreateSummaryDbWriter" + input_arg { + name: "writer" + type: DT_RESOURCE + } + input_arg { + name: "db_uri" + type: DT_STRING + } + input_arg { + name: "experiment_name" + type: DT_STRING + } + input_arg { + name: "run_name" + type: DT_STRING + } + input_arg { + name: "user_name" + type: DT_STRING + } + is_stateful: true +} +op { + name: "CreateSummaryFileWriter" + input_arg { + name: "writer" + type: DT_RESOURCE + } + input_arg { + name: "logdir" + type: DT_STRING + } + input_arg { + name: "max_queue" + type: DT_INT32 + } + input_arg { + name: "flush_millis" + type: DT_INT32 + } + input_arg { + name: "filename_suffix" + type: DT_STRING + } + is_stateful: true +} +op { + name: "CropAndResize" + input_arg { + name: "image" + type_attr: "T" + } + input_arg { + name: "boxes" + type: DT_FLOAT + } + input_arg { + name: "box_ind" + type: DT_INT32 + } + input_arg { + name: "crop_size" + type: DT_INT32 + } + output_arg { + name: "crops" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_UINT8 + type: DT_UINT16 + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "method" + type: "string" + default_value { + s: "bilinear" + } + allowed_values { + list { + s: "bilinear" + s: "nearest" + } + } + } + attr { + name: "extrapolation_value" + type: "float" + default_value { + f: 0 + } + } +} +op { + name: "CropAndResizeGradBoxes" + input_arg { + name: "grads" + type: DT_FLOAT + } + input_arg { + name: "image" + type_attr: "T" + } + input_arg { + name: "boxes" + type: DT_FLOAT + } + input_arg { + name: "box_ind" + type: DT_INT32 + } + output_arg { + name: "output" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_UINT8 + type: DT_UINT16 + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "method" + type: "string" + default_value { + s: "bilinear" + } + allowed_values { + list { + s: "bilinear" + } + } + } +} +op { + name: "CropAndResizeGradImage" + input_arg { + name: "grads" + type: DT_FLOAT + } + input_arg { + name: "boxes" + type: DT_FLOAT + } + input_arg { + name: "box_ind" + type: DT_INT32 + } + input_arg { + name: "image_size" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_HALF + type: DT_DOUBLE + } + } + } + attr { + name: "method" + type: "string" + default_value { + s: "bilinear" + } + allowed_values { + list { + s: "bilinear" + s: "nearest" + } + } + } +} +op { + name: "Cross" + input_arg { + name: "a" + type_attr: "T" + } + input_arg { + name: "b" + type_attr: "T" + } + output_arg { + name: "product" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "CrossReplicaSum" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "group_assignment" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_INT32 + type: DT_UINT32 + } + } + } +} +op { + name: "CudnnRNN" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "input_h" + type_attr: "T" + } + input_arg { + name: "input_c" + type_attr: "T" + } + input_arg { + name: "params" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + output_arg { + name: "output_h" + type_attr: "T" + } + output_arg { + name: "output_c" + type_attr: "T" + } + output_arg { + name: "reserve_space" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "rnn_mode" + type: "string" + default_value { + s: "lstm" + } + allowed_values { + list { + s: "rnn_relu" + s: "rnn_tanh" + s: "lstm" + s: "gru" + } + } + } + attr { + name: "input_mode" + type: "string" + default_value { + s: "linear_input" + } + allowed_values { + list { + s: "linear_input" + s: "skip_input" + s: "auto_select" + } + } + } + attr { + name: "direction" + type: "string" + default_value { + s: "unidirectional" + } + allowed_values { + list { + s: "unidirectional" + s: "bidirectional" + } + } + } + attr { + name: "dropout" + type: "float" + default_value { + f: 0 + } + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "is_training" + type: "bool" + default_value { + b: true + } + } + is_stateful: true +} +op { + name: "CudnnRNNBackprop" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "input_h" + type_attr: "T" + } + input_arg { + name: "input_c" + type_attr: "T" + } + input_arg { + name: "params" + type_attr: "T" + } + input_arg { + name: "output" + type_attr: "T" + } + input_arg { + name: "output_h" + type_attr: "T" + } + input_arg { + name: "output_c" + type_attr: "T" + } + input_arg { + name: "output_backprop" + type_attr: "T" + } + input_arg { + name: "output_h_backprop" + type_attr: "T" + } + input_arg { + name: "output_c_backprop" + type_attr: "T" + } + input_arg { + name: "reserve_space" + type_attr: "T" + } + output_arg { + name: "input_backprop" + type_attr: "T" + } + output_arg { + name: "input_h_backprop" + type_attr: "T" + } + output_arg { + name: "input_c_backprop" + type_attr: "T" + } + output_arg { + name: "params_backprop" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "rnn_mode" + type: "string" + default_value { + s: "lstm" + } + allowed_values { + list { + s: "rnn_relu" + s: "rnn_tanh" + s: "lstm" + s: "gru" + } + } + } + attr { + name: "input_mode" + type: "string" + default_value { + s: "linear_input" + } + allowed_values { + list { + s: "linear_input" + s: "skip_input" + s: "auto_select" + } + } + } + attr { + name: "direction" + type: "string" + default_value { + s: "unidirectional" + } + allowed_values { + list { + s: "unidirectional" + s: "bidirectional" + } + } + } + attr { + name: "dropout" + type: "float" + default_value { + f: 0 + } + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + is_stateful: true +} +op { + name: "CudnnRNNBackpropV2" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "input_h" + type_attr: "T" + } + input_arg { + name: "input_c" + type_attr: "T" + } + input_arg { + name: "params" + type_attr: "T" + } + input_arg { + name: "output" + type_attr: "T" + } + input_arg { + name: "output_h" + type_attr: "T" + } + input_arg { + name: "output_c" + type_attr: "T" + } + input_arg { + name: "output_backprop" + type_attr: "T" + } + input_arg { + name: "output_h_backprop" + type_attr: "T" + } + input_arg { + name: "output_c_backprop" + type_attr: "T" + } + input_arg { + name: "reserve_space" + type_attr: "T" + } + input_arg { + name: "host_reserved" + type: DT_INT8 + } + output_arg { + name: "input_backprop" + type_attr: "T" + } + output_arg { + name: "input_h_backprop" + type_attr: "T" + } + output_arg { + name: "input_c_backprop" + type_attr: "T" + } + output_arg { + name: "params_backprop" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "rnn_mode" + type: "string" + default_value { + s: "lstm" + } + allowed_values { + list { + s: "rnn_relu" + s: "rnn_tanh" + s: "lstm" + s: "gru" + } + } + } + attr { + name: "input_mode" + type: "string" + default_value { + s: "linear_input" + } + allowed_values { + list { + s: "linear_input" + s: "skip_input" + s: "auto_select" + } + } + } + attr { + name: "direction" + type: "string" + default_value { + s: "unidirectional" + } + allowed_values { + list { + s: "unidirectional" + s: "bidirectional" + } + } + } + attr { + name: "dropout" + type: "float" + default_value { + f: 0 + } + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + is_stateful: true +} +op { + name: "CudnnRNNBackpropV3" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "input_h" + type_attr: "T" + } + input_arg { + name: "input_c" + type_attr: "T" + } + input_arg { + name: "params" + type_attr: "T" + } + input_arg { + name: "sequence_lengths" + type: DT_INT32 + } + input_arg { + name: "output" + type_attr: "T" + } + input_arg { + name: "output_h" + type_attr: "T" + } + input_arg { + name: "output_c" + type_attr: "T" + } + input_arg { + name: "output_backprop" + type_attr: "T" + } + input_arg { + name: "output_h_backprop" + type_attr: "T" + } + input_arg { + name: "output_c_backprop" + type_attr: "T" + } + input_arg { + name: "reserve_space" + type_attr: "T" + } + input_arg { + name: "host_reserved" + type: DT_INT8 + } + output_arg { + name: "input_backprop" + type_attr: "T" + } + output_arg { + name: "input_h_backprop" + type_attr: "T" + } + output_arg { + name: "input_c_backprop" + type_attr: "T" + } + output_arg { + name: "params_backprop" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "rnn_mode" + type: "string" + default_value { + s: "lstm" + } + allowed_values { + list { + s: "rnn_relu" + s: "rnn_tanh" + s: "lstm" + s: "gru" + } + } + } + attr { + name: "input_mode" + type: "string" + default_value { + s: "linear_input" + } + allowed_values { + list { + s: "linear_input" + s: "skip_input" + s: "auto_select" + } + } + } + attr { + name: "direction" + type: "string" + default_value { + s: "unidirectional" + } + allowed_values { + list { + s: "unidirectional" + s: "bidirectional" + } + } + } + attr { + name: "dropout" + type: "float" + default_value { + f: 0 + } + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "num_proj" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "time_major" + type: "bool" + default_value { + b: true + } + } + is_stateful: true +} +op { + name: "CudnnRNNCanonicalToParams" + input_arg { + name: "num_layers" + type: DT_INT32 + } + input_arg { + name: "num_units" + type: DT_INT32 + } + input_arg { + name: "input_size" + type: DT_INT32 + } + input_arg { + name: "weights" + type_attr: "T" + number_attr: "num_params" + } + input_arg { + name: "biases" + type_attr: "T" + number_attr: "num_params" + } + output_arg { + name: "params" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "num_params" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "rnn_mode" + type: "string" + default_value { + s: "lstm" + } + allowed_values { + list { + s: "rnn_relu" + s: "rnn_tanh" + s: "lstm" + s: "gru" + } + } + } + attr { + name: "input_mode" + type: "string" + default_value { + s: "linear_input" + } + allowed_values { + list { + s: "linear_input" + s: "skip_input" + s: "auto_select" + } + } + } + attr { + name: "direction" + type: "string" + default_value { + s: "unidirectional" + } + allowed_values { + list { + s: "unidirectional" + s: "bidirectional" + } + } + } + attr { + name: "dropout" + type: "float" + default_value { + f: 0 + } + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } +} +op { + name: "CudnnRNNCanonicalToParamsV2" + input_arg { + name: "num_layers" + type: DT_INT32 + } + input_arg { + name: "num_units" + type: DT_INT32 + } + input_arg { + name: "input_size" + type: DT_INT32 + } + input_arg { + name: "weights" + type_attr: "T" + number_attr: "num_params_weights" + } + input_arg { + name: "biases" + type_attr: "T" + number_attr: "num_params_biases" + } + output_arg { + name: "params" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "num_params_weights" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "num_params_biases" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "rnn_mode" + type: "string" + default_value { + s: "lstm" + } + allowed_values { + list { + s: "rnn_relu" + s: "rnn_tanh" + s: "lstm" + s: "gru" + } + } + } + attr { + name: "input_mode" + type: "string" + default_value { + s: "linear_input" + } + allowed_values { + list { + s: "linear_input" + s: "skip_input" + s: "auto_select" + } + } + } + attr { + name: "direction" + type: "string" + default_value { + s: "unidirectional" + } + allowed_values { + list { + s: "unidirectional" + s: "bidirectional" + } + } + } + attr { + name: "dropout" + type: "float" + default_value { + f: 0 + } + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "num_proj" + type: "int" + default_value { + i: 0 + } + } +} +op { + name: "CudnnRNNParamsSize" + input_arg { + name: "num_layers" + type: DT_INT32 + } + input_arg { + name: "num_units" + type: DT_INT32 + } + input_arg { + name: "input_size" + type: DT_INT32 + } + output_arg { + name: "params_size" + type_attr: "S" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "S" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "rnn_mode" + type: "string" + default_value { + s: "lstm" + } + allowed_values { + list { + s: "rnn_relu" + s: "rnn_tanh" + s: "lstm" + s: "gru" + } + } + } + attr { + name: "input_mode" + type: "string" + default_value { + s: "linear_input" + } + allowed_values { + list { + s: "linear_input" + s: "skip_input" + s: "auto_select" + } + } + } + attr { + name: "direction" + type: "string" + default_value { + s: "unidirectional" + } + allowed_values { + list { + s: "unidirectional" + s: "bidirectional" + } + } + } + attr { + name: "dropout" + type: "float" + default_value { + f: 0 + } + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "num_proj" + type: "int" + default_value { + i: 0 + } + } +} +op { + name: "CudnnRNNParamsToCanonical" + input_arg { + name: "num_layers" + type: DT_INT32 + } + input_arg { + name: "num_units" + type: DT_INT32 + } + input_arg { + name: "input_size" + type: DT_INT32 + } + input_arg { + name: "params" + type_attr: "T" + } + output_arg { + name: "weights" + type_attr: "T" + number_attr: "num_params" + } + output_arg { + name: "biases" + type_attr: "T" + number_attr: "num_params" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "num_params" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "rnn_mode" + type: "string" + default_value { + s: "lstm" + } + allowed_values { + list { + s: "rnn_relu" + s: "rnn_tanh" + s: "lstm" + s: "gru" + } + } + } + attr { + name: "input_mode" + type: "string" + default_value { + s: "linear_input" + } + allowed_values { + list { + s: "linear_input" + s: "skip_input" + s: "auto_select" + } + } + } + attr { + name: "direction" + type: "string" + default_value { + s: "unidirectional" + } + allowed_values { + list { + s: "unidirectional" + s: "bidirectional" + } + } + } + attr { + name: "dropout" + type: "float" + default_value { + f: 0 + } + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } +} +op { + name: "CudnnRNNParamsToCanonicalV2" + input_arg { + name: "num_layers" + type: DT_INT32 + } + input_arg { + name: "num_units" + type: DT_INT32 + } + input_arg { + name: "input_size" + type: DT_INT32 + } + input_arg { + name: "params" + type_attr: "T" + } + output_arg { + name: "weights" + type_attr: "T" + number_attr: "num_params_weights" + } + output_arg { + name: "biases" + type_attr: "T" + number_attr: "num_params_biases" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "num_params_weights" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "num_params_biases" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "rnn_mode" + type: "string" + default_value { + s: "lstm" + } + allowed_values { + list { + s: "rnn_relu" + s: "rnn_tanh" + s: "lstm" + s: "gru" + } + } + } + attr { + name: "input_mode" + type: "string" + default_value { + s: "linear_input" + } + allowed_values { + list { + s: "linear_input" + s: "skip_input" + s: "auto_select" + } + } + } + attr { + name: "direction" + type: "string" + default_value { + s: "unidirectional" + } + allowed_values { + list { + s: "unidirectional" + s: "bidirectional" + } + } + } + attr { + name: "dropout" + type: "float" + default_value { + f: 0 + } + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "num_proj" + type: "int" + default_value { + i: 0 + } + } +} +op { + name: "CudnnRNNV2" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "input_h" + type_attr: "T" + } + input_arg { + name: "input_c" + type_attr: "T" + } + input_arg { + name: "params" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + output_arg { + name: "output_h" + type_attr: "T" + } + output_arg { + name: "output_c" + type_attr: "T" + } + output_arg { + name: "reserve_space" + type_attr: "T" + } + output_arg { + name: "host_reserved" + type: DT_INT8 + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "rnn_mode" + type: "string" + default_value { + s: "lstm" + } + allowed_values { + list { + s: "rnn_relu" + s: "rnn_tanh" + s: "lstm" + s: "gru" + } + } + } + attr { + name: "input_mode" + type: "string" + default_value { + s: "linear_input" + } + allowed_values { + list { + s: "linear_input" + s: "skip_input" + s: "auto_select" + } + } + } + attr { + name: "direction" + type: "string" + default_value { + s: "unidirectional" + } + allowed_values { + list { + s: "unidirectional" + s: "bidirectional" + } + } + } + attr { + name: "dropout" + type: "float" + default_value { + f: 0 + } + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "is_training" + type: "bool" + default_value { + b: true + } + } + is_stateful: true +} +op { + name: "CudnnRNNV3" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "input_h" + type_attr: "T" + } + input_arg { + name: "input_c" + type_attr: "T" + } + input_arg { + name: "params" + type_attr: "T" + } + input_arg { + name: "sequence_lengths" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "T" + } + output_arg { + name: "output_h" + type_attr: "T" + } + output_arg { + name: "output_c" + type_attr: "T" + } + output_arg { + name: "reserve_space" + type_attr: "T" + } + output_arg { + name: "host_reserved" + type: DT_INT8 + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "rnn_mode" + type: "string" + default_value { + s: "lstm" + } + allowed_values { + list { + s: "rnn_relu" + s: "rnn_tanh" + s: "lstm" + s: "gru" + } + } + } + attr { + name: "input_mode" + type: "string" + default_value { + s: "linear_input" + } + allowed_values { + list { + s: "linear_input" + s: "skip_input" + s: "auto_select" + } + } + } + attr { + name: "direction" + type: "string" + default_value { + s: "unidirectional" + } + allowed_values { + list { + s: "unidirectional" + s: "bidirectional" + } + } + } + attr { + name: "dropout" + type: "float" + default_value { + f: 0 + } + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "num_proj" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "is_training" + type: "bool" + default_value { + b: true + } + } + attr { + name: "time_major" + type: "bool" + default_value { + b: true + } + } + is_stateful: true +} +op { + name: "Cumprod" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "axis" + type_attr: "Tidx" + } + output_arg { + name: "out" + type_attr: "T" + } + attr { + name: "exclusive" + type: "bool" + default_value { + b: false + } + } + attr { + name: "reverse" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "Cumsum" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "axis" + type_attr: "Tidx" + } + output_arg { + name: "out" + type_attr: "T" + } + attr { + name: "exclusive" + type: "bool" + default_value { + b: false + } + } + attr { + name: "reverse" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "CumulativeLogsumexp" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "axis" + type_attr: "Tidx" + } + output_arg { + name: "out" + type_attr: "T" + } + attr { + name: "exclusive" + type: "bool" + default_value { + b: false + } + } + attr { + name: "reverse" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "DataFormatDimMap" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "src_format" + type: "string" + default_value { + s: "NHWC" + } + } + attr { + name: "dst_format" + type: "string" + default_value { + s: "NCHW" + } + } +} +op { + name: "DataFormatVecPermute" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "src_format" + type: "string" + default_value { + s: "NHWC" + } + } + attr { + name: "dst_format" + type: "string" + default_value { + s: "NCHW" + } + } +} +op { + name: "DataServiceDataset" + input_arg { + name: "dataset_id" + type: DT_INT64 + } + input_arg { + name: "processing_mode" + type: DT_STRING + } + input_arg { + name: "address" + type: DT_STRING + } + input_arg { + name: "protocol" + type: DT_STRING + } + input_arg { + name: "job_name" + type: DT_STRING + } + input_arg { + name: "max_outstanding_requests" + type: DT_INT64 + } + input_arg { + name: "iteration_counter" + type: DT_RESOURCE + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "task_refresh_interval_hint_ms" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "DatasetCardinality" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + output_arg { + name: "cardinality" + type: DT_INT64 + } +} +op { + name: "DatasetFromGraph" + input_arg { + name: "graph_def" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } +} +op { + name: "DatasetToGraph" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + output_arg { + name: "graph" + type: DT_STRING + } + attr { + name: "stateful_whitelist" + type: "list(string)" + default_value { + list { + } + } + has_minimum: true + } + attr { + name: "allow_stateful" + type: "bool" + default_value { + b: false + } + } + attr { + name: "strip_device_assignment" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "DatasetToGraphV2" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + output_arg { + name: "graph" + type: DT_STRING + } + attr { + name: "external_state_policy" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "strip_device_assignment" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "DatasetToSingleElement" + input_arg { + name: "dataset" + type: DT_VARIANT + } + output_arg { + name: "components" + type_list_attr: "output_types" + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "DatasetToTFRecord" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "filename" + type: DT_STRING + } + input_arg { + name: "compression_type" + type: DT_STRING + } + is_stateful: true +} +op { + name: "Dawsn" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "DebugGradientIdentity" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + allows_uninitialized_input: true +} +op { + name: "DebugGradientRefIdentity" + input_arg { + name: "input" + type_attr: "T" + is_ref: true + } + output_arg { + name: "output" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + } + allows_uninitialized_input: true +} +op { + name: "DebugIdentity" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "device_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "tensor_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "debug_urls" + type: "list(string)" + default_value { + list { + } + } + } + attr { + name: "gated_grpc" + type: "bool" + default_value { + b: false + } + } + allows_uninitialized_input: true +} +op { + name: "DebugIdentityV2" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "tfdbg_context_id" + type: "string" + default_value { + s: "" + } + } + attr { + name: "op_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "output_slot" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "tensor_debug_mode" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "debug_urls" + type: "list(string)" + default_value { + list { + } + } + } + attr { + name: "circular_buffer_size" + type: "int" + default_value { + i: 1000 + } + } + attr { + name: "tfdbg_run_id" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "DebugNanCount" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type: DT_INT64 + } + attr { + name: "T" + type: "type" + } + attr { + name: "device_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "tensor_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "debug_urls" + type: "list(string)" + default_value { + list { + } + } + } + attr { + name: "gated_grpc" + type: "bool" + default_value { + b: false + } + } + allows_uninitialized_input: true +} +op { + name: "DebugNumericSummary" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type: DT_DOUBLE + } + attr { + name: "T" + type: "type" + } + attr { + name: "device_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "tensor_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "debug_urls" + type: "list(string)" + default_value { + list { + } + } + } + attr { + name: "lower_bound" + type: "float" + default_value { + f: -inf + } + } + attr { + name: "upper_bound" + type: "float" + default_value { + f: inf + } + } + attr { + name: "mute_if_healthy" + type: "bool" + default_value { + b: false + } + } + attr { + name: "gated_grpc" + type: "bool" + default_value { + b: false + } + } + allows_uninitialized_input: true +} +op { + name: "DebugNumericSummaryV2" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "output_dtype" + } + attr { + name: "output_dtype" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "T" + type: "type" + } + attr { + name: "tensor_debug_mode" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "tensor_id" + type: "int" + default_value { + i: -1 + } + } +} +op { + name: "DecodeAndCropJpeg" + input_arg { + name: "contents" + type: DT_STRING + } + input_arg { + name: "crop_window" + type: DT_INT32 + } + output_arg { + name: "image" + type: DT_UINT8 + } + attr { + name: "channels" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "ratio" + type: "int" + default_value { + i: 1 + } + } + attr { + name: "fancy_upscaling" + type: "bool" + default_value { + b: true + } + } + attr { + name: "try_recover_truncated" + type: "bool" + default_value { + b: false + } + } + attr { + name: "acceptable_fraction" + type: "float" + default_value { + f: 1 + } + } + attr { + name: "dct_method" + type: "string" + default_value { + s: "" + } + } +} +op { + name: "DecodeBase64" + input_arg { + name: "input" + type: DT_STRING + } + output_arg { + name: "output" + type: DT_STRING + } +} +op { + name: "DecodeBmp" + input_arg { + name: "contents" + type: DT_STRING + } + output_arg { + name: "image" + type: DT_UINT8 + } + attr { + name: "channels" + type: "int" + default_value { + i: 0 + } + } +} +op { + name: "DecodeCSV" + input_arg { + name: "records" + type: DT_STRING + } + input_arg { + name: "record_defaults" + type_list_attr: "OUT_TYPE" + } + output_arg { + name: "output" + type_list_attr: "OUT_TYPE" + } + attr { + name: "OUT_TYPE" + type: "list(type)" + has_minimum: true + minimum: 1 + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "field_delim" + type: "string" + default_value { + s: "," + } + } + attr { + name: "use_quote_delim" + type: "bool" + default_value { + b: true + } + } + attr { + name: "na_value" + type: "string" + default_value { + s: "" + } + } + attr { + name: "select_cols" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "DecodeCompressed" + input_arg { + name: "bytes" + type: DT_STRING + } + output_arg { + name: "output" + type: DT_STRING + } + attr { + name: "compression_type" + type: "string" + default_value { + s: "" + } + } +} +op { + name: "DecodeGif" + input_arg { + name: "contents" + type: DT_STRING + } + output_arg { + name: "image" + type: DT_UINT8 + } +} +op { + name: "DecodeImage" + input_arg { + name: "contents" + type: DT_STRING + } + output_arg { + name: "image" + type_attr: "dtype" + } + attr { + name: "channels" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_UINT8 + } + allowed_values { + list { + type: DT_UINT8 + type: DT_UINT16 + type: DT_FLOAT + } + } + } + attr { + name: "expand_animations" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "DecodeJSONExample" + input_arg { + name: "json_examples" + type: DT_STRING + } + output_arg { + name: "binary_examples" + type: DT_STRING + } +} +op { + name: "DecodeJpeg" + input_arg { + name: "contents" + type: DT_STRING + } + output_arg { + name: "image" + type: DT_UINT8 + } + attr { + name: "channels" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "ratio" + type: "int" + default_value { + i: 1 + } + } + attr { + name: "fancy_upscaling" + type: "bool" + default_value { + b: true + } + } + attr { + name: "try_recover_truncated" + type: "bool" + default_value { + b: false + } + } + attr { + name: "acceptable_fraction" + type: "float" + default_value { + f: 1 + } + } + attr { + name: "dct_method" + type: "string" + default_value { + s: "" + } + } +} +op { + name: "DecodePaddedRaw" + input_arg { + name: "input_bytes" + type: DT_STRING + } + input_arg { + name: "fixed_length" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "out_type" + } + attr { + name: "out_type" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT16 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + } + } + } + attr { + name: "little_endian" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "DecodePng" + input_arg { + name: "contents" + type: DT_STRING + } + output_arg { + name: "image" + type_attr: "dtype" + } + attr { + name: "channels" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_UINT8 + } + allowed_values { + list { + type: DT_UINT8 + type: DT_UINT16 + } + } + } +} +op { + name: "DecodeProtoV2" + input_arg { + name: "bytes" + type: DT_STRING + } + output_arg { + name: "sizes" + type: DT_INT32 + } + output_arg { + name: "values" + type_list_attr: "output_types" + } + attr { + name: "message_type" + type: "string" + } + attr { + name: "field_names" + type: "list(string)" + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + } + attr { + name: "descriptor_source" + type: "string" + default_value { + s: "local://" + } + } + attr { + name: "message_format" + type: "string" + default_value { + s: "binary" + } + } + attr { + name: "sanitize" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "DecodeRaw" + input_arg { + name: "bytes" + type: DT_STRING + } + output_arg { + name: "output" + type_attr: "out_type" + } + attr { + name: "out_type" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT16 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + type: DT_BOOL + } + } + } + attr { + name: "little_endian" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "DecodeWav" + input_arg { + name: "contents" + type: DT_STRING + } + output_arg { + name: "audio" + type: DT_FLOAT + } + output_arg { + name: "sample_rate" + type: DT_INT32 + } + attr { + name: "desired_channels" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "desired_samples" + type: "int" + default_value { + i: -1 + } + } +} +op { + name: "DeepCopy" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + is_stateful: true +} +op { + name: "DeleteIterator" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "deleter" + type: DT_VARIANT + } + is_stateful: true +} +op { + name: "DeleteMemoryCache" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "deleter" + type: DT_VARIANT + } + is_stateful: true +} +op { + name: "DeleteMultiDeviceIterator" + input_arg { + name: "multi_device_iterator" + type: DT_RESOURCE + } + input_arg { + name: "iterators" + type: DT_RESOURCE + number_attr: "N" + } + input_arg { + name: "deleter" + type: DT_VARIANT + } + attr { + name: "N" + type: "int" + has_minimum: true + } + is_stateful: true +} +op { + name: "DeleteRandomSeedGenerator" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "deleter" + type: DT_VARIANT + } + is_stateful: true +} +op { + name: "DeleteSeedGenerator" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "deleter" + type: DT_VARIANT + } + is_stateful: true +} +op { + name: "DeleteSessionTensor" + input_arg { + name: "handle" + type: DT_STRING + } + is_stateful: true +} +op { + name: "DenseBincount" + input_arg { + name: "input" + type_attr: "Tidx" + } + input_arg { + name: "size" + type_attr: "Tidx" + } + input_arg { + name: "weights" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "Tidx" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "binary_output" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "DenseCountSparseOutput" + input_arg { + name: "values" + type_attr: "T" + } + input_arg { + name: "weights" + type_attr: "output_type" + } + output_arg { + name: "output_indices" + type: DT_INT64 + } + output_arg { + name: "output_values" + type_attr: "output_type" + } + output_arg { + name: "output_dense_shape" + type: DT_INT64 + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "minlength" + type: "int" + default_value { + i: -1 + } + has_minimum: true + minimum: -1 + } + attr { + name: "maxlength" + type: "int" + default_value { + i: -1 + } + has_minimum: true + minimum: -1 + } + attr { + name: "binary_output" + type: "bool" + } + attr { + name: "output_type" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "DenseToCSRSparseMatrix" + input_arg { + name: "dense_input" + type_attr: "T" + } + input_arg { + name: "indices" + type: DT_INT64 + } + output_arg { + name: "sparse_output" + type: DT_VARIANT + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "DenseToDenseSetOperation" + input_arg { + name: "set1" + type_attr: "T" + } + input_arg { + name: "set2" + type_attr: "T" + } + output_arg { + name: "result_indices" + type: DT_INT64 + } + output_arg { + name: "result_values" + type_attr: "T" + } + output_arg { + name: "result_shape" + type: DT_INT64 + } + attr { + name: "set_operation" + type: "string" + } + attr { + name: "validate_indices" + type: "bool" + default_value { + b: true + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_UINT8 + type: DT_UINT16 + type: DT_STRING + } + } + } +} +op { + name: "DenseToSparseBatchDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "batch_size" + type: DT_INT64 + } + input_arg { + name: "row_shape" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "DenseToSparseSetOperation" + input_arg { + name: "set1" + type_attr: "T" + } + input_arg { + name: "set2_indices" + type: DT_INT64 + } + input_arg { + name: "set2_values" + type_attr: "T" + } + input_arg { + name: "set2_shape" + type: DT_INT64 + } + output_arg { + name: "result_indices" + type: DT_INT64 + } + output_arg { + name: "result_values" + type_attr: "T" + } + output_arg { + name: "result_shape" + type: DT_INT64 + } + attr { + name: "set_operation" + type: "string" + } + attr { + name: "validate_indices" + type: "bool" + default_value { + b: true + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_UINT8 + type: DT_UINT16 + type: DT_STRING + } + } + } +} +op { + name: "DepthToSpace" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "block_size" + type: "int" + has_minimum: true + minimum: 2 + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + s: "NCHW_VECT_C" + } + } + } +} +op { + name: "DepthwiseConv2dNative" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "filter" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + s: "EXPLICIT" + } + } + } + attr { + name: "explicit_paddings" + type: "list(int)" + default_value { + list { + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +op { + name: "DepthwiseConv2dNativeBackpropFilter" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "filter_sizes" + type: DT_INT32 + } + input_arg { + name: "out_backprop" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + s: "EXPLICIT" + } + } + } + attr { + name: "explicit_paddings" + type: "list(int)" + default_value { + list { + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +op { + name: "DepthwiseConv2dNativeBackpropInput" + input_arg { + name: "input_sizes" + type: DT_INT32 + } + input_arg { + name: "filter" + type_attr: "T" + } + input_arg { + name: "out_backprop" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + s: "EXPLICIT" + } + } + } + attr { + name: "explicit_paddings" + type: "list(int)" + default_value { + list { + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +op { + name: "Dequantize" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "min_range" + type: DT_FLOAT + } + input_arg { + name: "max_range" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "mode" + type: "string" + default_value { + s: "MIN_COMBINED" + } + allowed_values { + list { + s: "MIN_COMBINED" + s: "MIN_FIRST" + s: "SCALED" + } + } + } + attr { + name: "narrow_range" + type: "bool" + default_value { + b: false + } + } + attr { + name: "axis" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_FLOAT + } + } + } +} +op { + name: "DeserializeIterator" + input_arg { + name: "resource_handle" + type: DT_RESOURCE + } + input_arg { + name: "serialized" + type: DT_VARIANT + } + is_stateful: true +} +op { + name: "DeserializeManySparse" + input_arg { + name: "serialized_sparse" + type: DT_STRING + } + output_arg { + name: "sparse_indices" + type: DT_INT64 + } + output_arg { + name: "sparse_values" + type_attr: "dtype" + } + output_arg { + name: "sparse_shape" + type: DT_INT64 + } + attr { + name: "dtype" + type: "type" + } +} +op { + name: "DeserializeSparse" + input_arg { + name: "serialized_sparse" + type_attr: "Tserialized" + } + output_arg { + name: "sparse_indices" + type: DT_INT64 + } + output_arg { + name: "sparse_values" + type_attr: "dtype" + } + output_arg { + name: "sparse_shape" + type: DT_INT64 + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "Tserialized" + type: "type" + default_value { + type: DT_STRING + } + allowed_values { + list { + type: DT_STRING + type: DT_VARIANT + } + } + } +} +op { + name: "DestroyResourceOp" + input_arg { + name: "resource" + type: DT_RESOURCE + } + attr { + name: "ignore_lookup_error" + type: "bool" + default_value { + b: true + } + } + is_stateful: true +} +op { + name: "DestroyTemporaryVariable" + input_arg { + name: "ref" + type_attr: "T" + is_ref: true + } + output_arg { + name: "value" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "var_name" + type: "string" + } +} +op { + name: "DeviceIndex" + output_arg { + name: "index" + type: DT_INT32 + } + attr { + name: "device_names" + type: "list(string)" + } +} +op { + name: "Diag" + input_arg { + name: "diagonal" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "DiagPart" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "diagonal" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "Digamma" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "Dilation2D" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "filter" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "strides" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "rates" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } +} +op { + name: "Dilation2DBackpropFilter" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "filter" + type_attr: "T" + } + input_arg { + name: "out_backprop" + type_attr: "T" + } + output_arg { + name: "filter_backprop" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "strides" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "rates" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } +} +op { + name: "Dilation2DBackpropInput" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "filter" + type_attr: "T" + } + input_arg { + name: "out_backprop" + type_attr: "T" + } + output_arg { + name: "in_backprop" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "strides" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "rates" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } +} +op { + name: "DirectedInterleaveDataset" + input_arg { + name: "selector_input_dataset" + type: DT_VARIANT + } + input_arg { + name: "data_input_datasets" + type: DT_VARIANT + number_attr: "N" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } +} +op { + name: "Div" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_UINT8 + type: DT_INT8 + type: DT_UINT16 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "DivNoNan" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "DrawBoundingBoxes" + input_arg { + name: "images" + type_attr: "T" + } + input_arg { + name: "boxes" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_HALF + } + } + } +} +op { + name: "DrawBoundingBoxesV2" + input_arg { + name: "images" + type_attr: "T" + } + input_arg { + name: "boxes" + type: DT_FLOAT + } + input_arg { + name: "colors" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_HALF + } + } + } +} +op { + name: "DummyIterationCounter" + output_arg { + name: "handle" + type: DT_RESOURCE + } + is_stateful: true +} +op { + name: "DummyMemoryCache" + output_arg { + name: "handle" + type: DT_RESOURCE + } + is_stateful: true +} +op { + name: "DummySeedGenerator" + output_arg { + name: "handle" + type: DT_RESOURCE + } + is_stateful: true +} +op { + name: "DynamicPartition" + input_arg { + name: "data" + type_attr: "T" + } + input_arg { + name: "partitions" + type: DT_INT32 + } + output_arg { + name: "outputs" + type_attr: "T" + number_attr: "num_partitions" + } + attr { + name: "num_partitions" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "T" + type: "type" + } +} +op { + name: "DynamicStitch" + input_arg { + name: "indices" + type: DT_INT32 + number_attr: "N" + } + input_arg { + name: "data" + type_attr: "T" + number_attr: "N" + } + output_arg { + name: "merged" + type_attr: "T" + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "T" + type: "type" + } +} +op { + name: "EagerPyFunc" + input_arg { + name: "input" + type_list_attr: "Tin" + } + output_arg { + name: "output" + type_list_attr: "Tout" + } + attr { + name: "token" + type: "string" + } + attr { + name: "is_async" + type: "bool" + default_value { + b: false + } + } + attr { + name: "Tin" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tout" + type: "list(type)" + has_minimum: true + } + is_stateful: true +} +op { + name: "EditDistance" + input_arg { + name: "hypothesis_indices" + type: DT_INT64 + } + input_arg { + name: "hypothesis_values" + type_attr: "T" + } + input_arg { + name: "hypothesis_shape" + type: DT_INT64 + } + input_arg { + name: "truth_indices" + type: DT_INT64 + } + input_arg { + name: "truth_values" + type_attr: "T" + } + input_arg { + name: "truth_shape" + type: DT_INT64 + } + output_arg { + name: "output" + type: DT_FLOAT + } + attr { + name: "normalize" + type: "bool" + default_value { + b: true + } + } + attr { + name: "T" + type: "type" + } +} +op { + name: "Eig" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "e" + type_attr: "Tout" + } + output_arg { + name: "v" + type_attr: "Tout" + } + attr { + name: "compute_v" + type: "bool" + default_value { + b: true + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } + attr { + name: "Tout" + type: "type" + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "Einsum" + input_arg { + name: "inputs" + type_attr: "T" + number_attr: "N" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "equation" + type: "string" + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "T" + type: "type" + } +} +op { + name: "Elu" + input_arg { + name: "features" + type_attr: "T" + } + output_arg { + name: "activations" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "EluGrad" + input_arg { + name: "gradients" + type_attr: "T" + } + input_arg { + name: "outputs" + type_attr: "T" + } + output_arg { + name: "backprops" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "Empty" + input_arg { + name: "shape" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "init" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "EmptyTensorList" + input_arg { + name: "element_shape" + type_attr: "shape_type" + } + input_arg { + name: "max_num_elements" + type: DT_INT32 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "element_dtype" + type: "type" + } + attr { + name: "shape_type" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "EmptyTensorMap" + output_arg { + name: "handle" + type: DT_VARIANT + } +} +op { + name: "EncodeBase64" + input_arg { + name: "input" + type: DT_STRING + } + output_arg { + name: "output" + type: DT_STRING + } + attr { + name: "pad" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "EncodeJpeg" + input_arg { + name: "image" + type: DT_UINT8 + } + output_arg { + name: "contents" + type: DT_STRING + } + attr { + name: "format" + type: "string" + default_value { + s: "" + } + allowed_values { + list { + s: "" + s: "grayscale" + s: "rgb" + } + } + } + attr { + name: "quality" + type: "int" + default_value { + i: 95 + } + } + attr { + name: "progressive" + type: "bool" + default_value { + b: false + } + } + attr { + name: "optimize_size" + type: "bool" + default_value { + b: false + } + } + attr { + name: "chroma_downsampling" + type: "bool" + default_value { + b: true + } + } + attr { + name: "density_unit" + type: "string" + default_value { + s: "in" + } + allowed_values { + list { + s: "in" + s: "cm" + } + } + } + attr { + name: "x_density" + type: "int" + default_value { + i: 300 + } + } + attr { + name: "y_density" + type: "int" + default_value { + i: 300 + } + } + attr { + name: "xmp_metadata" + type: "string" + default_value { + s: "" + } + } +} +op { + name: "EncodeJpegVariableQuality" + input_arg { + name: "images" + type: DT_UINT8 + } + input_arg { + name: "quality" + type: DT_INT32 + } + output_arg { + name: "contents" + type: DT_STRING + } +} +op { + name: "EncodePng" + input_arg { + name: "image" + type_attr: "T" + } + output_arg { + name: "contents" + type: DT_STRING + } + attr { + name: "compression" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "T" + type: "type" + default_value { + type: DT_UINT8 + } + allowed_values { + list { + type: DT_UINT8 + type: DT_UINT16 + } + } + } +} +op { + name: "EncodeProto" + input_arg { + name: "sizes" + type: DT_INT32 + } + input_arg { + name: "values" + type_list_attr: "Tinput_types" + } + output_arg { + name: "bytes" + type: DT_STRING + } + attr { + name: "field_names" + type: "list(string)" + } + attr { + name: "message_type" + type: "string" + } + attr { + name: "descriptor_source" + type: "string" + default_value { + s: "local://" + } + } + attr { + name: "Tinput_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } +} +op { + name: "EncodeWav" + input_arg { + name: "audio" + type: DT_FLOAT + } + input_arg { + name: "sample_rate" + type: DT_INT32 + } + output_arg { + name: "contents" + type: DT_STRING + } +} +op { + name: "EnqueueTPUEmbeddingIntegerBatch" + input_arg { + name: "batch" + type: DT_INT32 + number_attr: "N" + } + input_arg { + name: "mode_override" + type: DT_STRING + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "device_ordinal" + type: "int" + default_value { + i: -1 + } + } + is_stateful: true +} +op { + name: "EnqueueTPUEmbeddingRaggedTensorBatch" + input_arg { + name: "sample_splits" + type_attr: "T1" + number_attr: "N" + } + input_arg { + name: "embedding_indices" + type_attr: "T2" + number_attr: "N" + } + input_arg { + name: "aggregation_weights" + type_attr: "T3" + number_attr: "N" + } + input_arg { + name: "mode_override" + type: DT_STRING + } + attr { + name: "T1" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T2" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T3" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "device_ordinal" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "combiners" + type: "list(string)" + default_value { + list { + } + } + } + attr { + name: "table_ids" + type: "list(int)" + } + attr { + name: "max_sequence_lengths" + type: "list(int)" + default_value { + list { + } + } + } + is_stateful: true +} +op { + name: "EnqueueTPUEmbeddingSparseBatch" + input_arg { + name: "sample_indices" + type_attr: "T1" + number_attr: "N" + } + input_arg { + name: "embedding_indices" + type_attr: "T2" + number_attr: "N" + } + input_arg { + name: "aggregation_weights" + type_attr: "T3" + number_attr: "N" + } + input_arg { + name: "mode_override" + type: DT_STRING + } + attr { + name: "T1" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T2" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T3" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "device_ordinal" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "combiners" + type: "list(string)" + default_value { + list { + } + } + } + is_stateful: true +} +op { + name: "EnqueueTPUEmbeddingSparseTensorBatch" + input_arg { + name: "sample_indices" + type_attr: "T1" + number_attr: "N" + } + input_arg { + name: "embedding_indices" + type_attr: "T2" + number_attr: "N" + } + input_arg { + name: "aggregation_weights" + type_attr: "T3" + number_attr: "N" + } + input_arg { + name: "mode_override" + type: DT_STRING + } + attr { + name: "T1" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T2" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T3" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "device_ordinal" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "combiners" + type: "list(string)" + default_value { + list { + } + } + } + attr { + name: "table_ids" + type: "list(int)" + } + attr { + name: "max_sequence_lengths" + type: "list(int)" + default_value { + list { + } + } + } + is_stateful: true +} +op { + name: "EnsureShape" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "shape" + type: "shape" + } + attr { + name: "T" + type: "type" + } +} +op { + name: "Enter" + input_arg { + name: "data" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "frame_name" + type: "string" + } + attr { + name: "is_constant" + type: "bool" + default_value { + b: false + } + } + attr { + name: "parallel_iterations" + type: "int" + default_value { + i: 10 + } + } +} +op { + name: "Equal" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type: DT_BOOL + } + attr { + name: "T" + type: "type" + } + attr { + name: "incompatible_shape_error" + type: "bool" + default_value { + b: true + } + } + is_commutative: true +} +op { + name: "Erf" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "Erfc" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "Erfinv" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "EuclideanNorm" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "reduction_indices" + type_attr: "Tidx" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "keep_dims" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "Exit" + input_arg { + name: "data" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } +} +op { + name: "Exp" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "ExpandDims" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "dim" + type_attr: "Tdim" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tdim" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "ExperimentalAssertNextDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "transformations" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ExperimentalAutoShardDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "num_workers" + type: DT_INT64 + } + input_arg { + name: "index" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "auto_shard_policy" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ExperimentalBytesProducedStatsDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "tag" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ExperimentalCSVDataset" + input_arg { + name: "filenames" + type: DT_STRING + } + input_arg { + name: "compression_type" + type: DT_STRING + } + input_arg { + name: "buffer_size" + type: DT_INT64 + } + input_arg { + name: "header" + type: DT_BOOL + } + input_arg { + name: "field_delim" + type: DT_STRING + } + input_arg { + name: "use_quote_delim" + type: DT_BOOL + } + input_arg { + name: "na_value" + type: DT_STRING + } + input_arg { + name: "select_cols" + type: DT_INT64 + } + input_arg { + name: "record_defaults" + type_list_attr: "output_types" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "ExperimentalChooseFastestDataset" + input_arg { + name: "input_datasets" + type: DT_VARIANT + number_attr: "N" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 2 + } + attr { + name: "num_experiments" + type: "int" + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ExperimentalDatasetCardinality" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + output_arg { + name: "cardinality" + type: DT_INT64 + } +} +op { + name: "ExperimentalDatasetToTFRecord" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "filename" + type: DT_STRING + } + input_arg { + name: "compression_type" + type: DT_STRING + } + is_stateful: true +} +op { + name: "ExperimentalDenseToSparseBatchDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "batch_size" + type: DT_INT64 + } + input_arg { + name: "row_shape" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ExperimentalDirectedInterleaveDataset" + input_arg { + name: "selector_input_dataset" + type: DT_VARIANT + } + input_arg { + name: "data_input_datasets" + type: DT_VARIANT + number_attr: "N" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } +} +op { + name: "ExperimentalGroupByReducerDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "key_func_other_arguments" + type_list_attr: "Tkey_func_other_arguments" + } + input_arg { + name: "init_func_other_arguments" + type_list_attr: "Tinit_func_other_arguments" + } + input_arg { + name: "reduce_func_other_arguments" + type_list_attr: "Treduce_func_other_arguments" + } + input_arg { + name: "finalize_func_other_arguments" + type_list_attr: "Tfinalize_func_other_arguments" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "key_func" + type: "func" + } + attr { + name: "init_func" + type: "func" + } + attr { + name: "reduce_func" + type: "func" + } + attr { + name: "finalize_func" + type: "func" + } + attr { + name: "Tkey_func_other_arguments" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tinit_func_other_arguments" + type: "list(type)" + has_minimum: true + } + attr { + name: "Treduce_func_other_arguments" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tfinalize_func_other_arguments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "ExperimentalGroupByWindowDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "key_func_other_arguments" + type_list_attr: "Tkey_func_other_arguments" + } + input_arg { + name: "reduce_func_other_arguments" + type_list_attr: "Treduce_func_other_arguments" + } + input_arg { + name: "window_size_func_other_arguments" + type_list_attr: "Twindow_size_func_other_arguments" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "key_func" + type: "func" + } + attr { + name: "reduce_func" + type: "func" + } + attr { + name: "window_size_func" + type: "func" + } + attr { + name: "Tkey_func_other_arguments" + type: "list(type)" + has_minimum: true + } + attr { + name: "Treduce_func_other_arguments" + type: "list(type)" + has_minimum: true + } + attr { + name: "Twindow_size_func_other_arguments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ExperimentalIgnoreErrorsDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "log_warning" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ExperimentalIteratorGetDevice" + input_arg { + name: "resource" + type: DT_RESOURCE + } + output_arg { + name: "device" + type: DT_STRING + } + is_stateful: true +} +op { + name: "ExperimentalLMDBDataset" + input_arg { + name: "filenames" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "ExperimentalLatencyStatsDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "tag" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ExperimentalMapAndBatchDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + input_arg { + name: "batch_size" + type: DT_INT64 + } + input_arg { + name: "num_parallel_calls" + type: DT_INT64 + } + input_arg { + name: "drop_remainder" + type: DT_BOOL + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "f" + type: "func" + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "preserve_cardinality" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ExperimentalMapDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "f" + type: "func" + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "use_inter_op_parallelism" + type: "bool" + default_value { + b: true + } + } + attr { + name: "preserve_cardinality" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ExperimentalMatchingFilesDataset" + input_arg { + name: "patterns" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + is_stateful: true +} +op { + name: "ExperimentalMaxIntraOpParallelismDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "max_intra_op_parallelism" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ExperimentalNonSerializableDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ExperimentalParallelInterleaveDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + input_arg { + name: "cycle_length" + type: DT_INT64 + } + input_arg { + name: "block_length" + type: DT_INT64 + } + input_arg { + name: "sloppy" + type: DT_BOOL + } + input_arg { + name: "buffer_output_elements" + type: DT_INT64 + } + input_arg { + name: "prefetch_input_elements" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "f" + type: "func" + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ExperimentalParseExampleDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "num_parallel_calls" + type: DT_INT64 + } + input_arg { + name: "dense_defaults" + type_list_attr: "Tdense" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "sparse_keys" + type: "list(string)" + has_minimum: true + } + attr { + name: "dense_keys" + type: "list(string)" + has_minimum: true + } + attr { + name: "sparse_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "Tdense" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "dense_shapes" + type: "list(shape)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "sloppy" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ExperimentalPrivateThreadPoolDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "num_threads" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ExperimentalRandomDataset" + input_arg { + name: "seed" + type: DT_INT64 + } + input_arg { + name: "seed2" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "ExperimentalRebatchDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "num_replicas" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "use_fallback" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "ExperimentalScanDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "initial_state" + type_list_attr: "Tstate" + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "f" + type: "func" + } + attr { + name: "Tstate" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "preserve_cardinality" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ExperimentalSetStatsAggregatorDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "stats_aggregator" + type: DT_RESOURCE + } + input_arg { + name: "tag" + type: DT_STRING + } + input_arg { + name: "counter_prefix" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "ExperimentalSleepDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "sleep_microseconds" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ExperimentalSlidingWindowDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "window_size" + type: DT_INT64 + } + input_arg { + name: "window_shift" + type: DT_INT64 + } + input_arg { + name: "window_stride" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ExperimentalSqlDataset" + input_arg { + name: "driver_name" + type: DT_STRING + } + input_arg { + name: "data_source_name" + type: DT_STRING + } + input_arg { + name: "query" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "ExperimentalStatsAggregatorHandle" + output_arg { + name: "handle" + type: DT_RESOURCE + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "ExperimentalStatsAggregatorSummary" + input_arg { + name: "iterator" + type: DT_RESOURCE + } + output_arg { + name: "summary" + type: DT_STRING + } + is_stateful: true +} +op { + name: "ExperimentalTakeWhileDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "predicate" + type: "func" + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ExperimentalThreadPoolDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "thread_pool" + type: DT_RESOURCE + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "ExperimentalThreadPoolHandle" + output_arg { + name: "handle" + type: DT_RESOURCE + } + attr { + name: "num_threads" + type: "int" + } + attr { + name: "max_intra_op_parallelism" + type: "int" + default_value { + i: 1 + } + } + attr { + name: "display_name" + type: "string" + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "ExperimentalUnbatchDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ExperimentalUniqueDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "Expint" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "Expm1" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "ExtractGlimpse" + input_arg { + name: "input" + type: DT_FLOAT + } + input_arg { + name: "size" + type: DT_INT32 + } + input_arg { + name: "offsets" + type: DT_FLOAT + } + output_arg { + name: "glimpse" + type: DT_FLOAT + } + attr { + name: "centered" + type: "bool" + default_value { + b: true + } + } + attr { + name: "normalized" + type: "bool" + default_value { + b: true + } + } + attr { + name: "uniform_noise" + type: "bool" + default_value { + b: true + } + } + attr { + name: "noise" + type: "string" + default_value { + s: "uniform" + } + } +} +op { + name: "ExtractGlimpseV2" + input_arg { + name: "input" + type: DT_FLOAT + } + input_arg { + name: "size" + type: DT_INT32 + } + input_arg { + name: "offsets" + type: DT_FLOAT + } + output_arg { + name: "glimpse" + type: DT_FLOAT + } + attr { + name: "centered" + type: "bool" + default_value { + b: true + } + } + attr { + name: "normalized" + type: "bool" + default_value { + b: true + } + } + attr { + name: "uniform_noise" + type: "bool" + default_value { + b: true + } + } + attr { + name: "noise" + type: "string" + default_value { + s: "uniform" + } + } +} +op { + name: "ExtractImagePatches" + input_arg { + name: "images" + type_attr: "T" + } + output_arg { + name: "patches" + type_attr: "T" + } + attr { + name: "ksizes" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "strides" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "rates" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_UINT8 + type: DT_UINT16 + type: DT_UINT32 + type: DT_UINT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + type: DT_BOOL + } + } + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } +} +op { + name: "ExtractJpegShape" + input_arg { + name: "contents" + type: DT_STRING + } + output_arg { + name: "image_shape" + type_attr: "output_type" + } + attr { + name: "output_type" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "ExtractVolumePatches" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "patches" + type_attr: "T" + } + attr { + name: "ksizes" + type: "list(int)" + has_minimum: true + minimum: 5 + } + attr { + name: "strides" + type: "list(int)" + has_minimum: true + minimum: 5 + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } +} +op { + name: "FFT" + input_arg { + name: "input" + type_attr: "Tcomplex" + } + output_arg { + name: "output" + type_attr: "Tcomplex" + } + attr { + name: "Tcomplex" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "FFT2D" + input_arg { + name: "input" + type_attr: "Tcomplex" + } + output_arg { + name: "output" + type_attr: "Tcomplex" + } + attr { + name: "Tcomplex" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "FFT3D" + input_arg { + name: "input" + type_attr: "Tcomplex" + } + output_arg { + name: "output" + type_attr: "Tcomplex" + } + attr { + name: "Tcomplex" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "FIFOQueue" + output_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + attr { + name: "component_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "shapes" + type: "list(shape)" + default_value { + list { + } + } + has_minimum: true + } + attr { + name: "capacity" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "FIFOQueueV2" + output_arg { + name: "handle" + type: DT_RESOURCE + } + attr { + name: "component_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "shapes" + type: "list(shape)" + default_value { + list { + } + } + has_minimum: true + } + attr { + name: "capacity" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "Fact" + output_arg { + name: "fact" + type: DT_STRING + } +} +op { + name: "FakeParam" + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "shape" + type: "shape" + } +} +op { + name: "FakeQuantWithMinMaxArgs" + input_arg { + name: "inputs" + type: DT_FLOAT + } + output_arg { + name: "outputs" + type: DT_FLOAT + } + attr { + name: "min" + type: "float" + default_value { + f: -6 + } + } + attr { + name: "max" + type: "float" + default_value { + f: 6 + } + } + attr { + name: "num_bits" + type: "int" + default_value { + i: 8 + } + } + attr { + name: "narrow_range" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "FakeQuantWithMinMaxArgsGradient" + input_arg { + name: "gradients" + type: DT_FLOAT + } + input_arg { + name: "inputs" + type: DT_FLOAT + } + output_arg { + name: "backprops" + type: DT_FLOAT + } + attr { + name: "min" + type: "float" + default_value { + f: -6 + } + } + attr { + name: "max" + type: "float" + default_value { + f: 6 + } + } + attr { + name: "num_bits" + type: "int" + default_value { + i: 8 + } + } + attr { + name: "narrow_range" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "FakeQuantWithMinMaxVars" + input_arg { + name: "inputs" + type: DT_FLOAT + } + input_arg { + name: "min" + type: DT_FLOAT + } + input_arg { + name: "max" + type: DT_FLOAT + } + output_arg { + name: "outputs" + type: DT_FLOAT + } + attr { + name: "num_bits" + type: "int" + default_value { + i: 8 + } + } + attr { + name: "narrow_range" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "FakeQuantWithMinMaxVarsGradient" + input_arg { + name: "gradients" + type: DT_FLOAT + } + input_arg { + name: "inputs" + type: DT_FLOAT + } + input_arg { + name: "min" + type: DT_FLOAT + } + input_arg { + name: "max" + type: DT_FLOAT + } + output_arg { + name: "backprops_wrt_input" + type: DT_FLOAT + } + output_arg { + name: "backprop_wrt_min" + type: DT_FLOAT + } + output_arg { + name: "backprop_wrt_max" + type: DT_FLOAT + } + attr { + name: "num_bits" + type: "int" + default_value { + i: 8 + } + } + attr { + name: "narrow_range" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "FakeQuantWithMinMaxVarsPerChannel" + input_arg { + name: "inputs" + type: DT_FLOAT + } + input_arg { + name: "min" + type: DT_FLOAT + } + input_arg { + name: "max" + type: DT_FLOAT + } + output_arg { + name: "outputs" + type: DT_FLOAT + } + attr { + name: "num_bits" + type: "int" + default_value { + i: 8 + } + } + attr { + name: "narrow_range" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "FakeQuantWithMinMaxVarsPerChannelGradient" + input_arg { + name: "gradients" + type: DT_FLOAT + } + input_arg { + name: "inputs" + type: DT_FLOAT + } + input_arg { + name: "min" + type: DT_FLOAT + } + input_arg { + name: "max" + type: DT_FLOAT + } + output_arg { + name: "backprops_wrt_input" + type: DT_FLOAT + } + output_arg { + name: "backprop_wrt_min" + type: DT_FLOAT + } + output_arg { + name: "backprop_wrt_max" + type: DT_FLOAT + } + attr { + name: "num_bits" + type: "int" + default_value { + i: 8 + } + } + attr { + name: "narrow_range" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "FakeQueue" + input_arg { + name: "resource" + type: DT_RESOURCE + } + output_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + is_stateful: true +} +op { + name: "Fill" + input_arg { + name: "dims" + type_attr: "index_type" + } + input_arg { + name: "value" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "index_type" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "FilterByLastComponentDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + output_arg { + name: "output" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "FilterDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "predicate" + type: "func" + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "Fingerprint" + input_arg { + name: "data" + type_attr: "T" + } + input_arg { + name: "method" + type: DT_STRING + } + output_arg { + name: "fingerprint" + type: DT_UINT8 + } + attr { + name: "T" + type: "type" + } +} +op { + name: "FixedLengthRecordDataset" + input_arg { + name: "filenames" + type: DT_STRING + } + input_arg { + name: "header_bytes" + type: DT_INT64 + } + input_arg { + name: "record_bytes" + type: DT_INT64 + } + input_arg { + name: "footer_bytes" + type: DT_INT64 + } + input_arg { + name: "buffer_size" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + is_stateful: true +} +op { + name: "FixedLengthRecordDatasetV2" + input_arg { + name: "filenames" + type: DT_STRING + } + input_arg { + name: "header_bytes" + type: DT_INT64 + } + input_arg { + name: "record_bytes" + type: DT_INT64 + } + input_arg { + name: "footer_bytes" + type: DT_INT64 + } + input_arg { + name: "buffer_size" + type: DT_INT64 + } + input_arg { + name: "compression_type" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + is_stateful: true +} +op { + name: "FixedLengthRecordReader" + output_arg { + name: "reader_handle" + type: DT_STRING + is_ref: true + } + attr { + name: "header_bytes" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "record_bytes" + type: "int" + } + attr { + name: "footer_bytes" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "hop_bytes" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + deprecation { + version: 26 + explanation: "Use FixedLengthRecordReaderV2" + } + is_stateful: true +} +op { + name: "FixedLengthRecordReaderV2" + output_arg { + name: "reader_handle" + type: DT_RESOURCE + } + attr { + name: "header_bytes" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "record_bytes" + type: "int" + } + attr { + name: "footer_bytes" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "hop_bytes" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "encoding" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "FixedUnigramCandidateSampler" + input_arg { + name: "true_classes" + type: DT_INT64 + } + output_arg { + name: "sampled_candidates" + type: DT_INT64 + } + output_arg { + name: "true_expected_count" + type: DT_FLOAT + } + output_arg { + name: "sampled_expected_count" + type: DT_FLOAT + } + attr { + name: "num_true" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "num_sampled" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "unique" + type: "bool" + } + attr { + name: "range_max" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "vocab_file" + type: "string" + default_value { + s: "" + } + } + attr { + name: "distortion" + type: "float" + default_value { + f: 1 + } + } + attr { + name: "num_reserved_ids" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "num_shards" + type: "int" + default_value { + i: 1 + } + has_minimum: true + minimum: 1 + } + attr { + name: "shard" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "unigrams" + type: "list(float)" + default_value { + list { + } + } + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + is_stateful: true +} +op { + name: "FlatMapDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "f" + type: "func" + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "Floor" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "FloorDiv" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_UINT8 + type: DT_INT8 + type: DT_UINT16 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "FloorMod" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_UINT64 + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "FlushSummaryWriter" + input_arg { + name: "writer" + type: DT_RESOURCE + } + is_stateful: true +} +op { + name: "For" + input_arg { + name: "start" + type: DT_INT32 + } + input_arg { + name: "limit" + type: DT_INT32 + } + input_arg { + name: "delta" + type: DT_INT32 + } + input_arg { + name: "input" + type_list_attr: "T" + } + output_arg { + name: "output" + type_list_attr: "T" + } + attr { + name: "T" + type: "list(type)" + has_minimum: true + } + attr { + name: "body" + type: "func" + } +} +op { + name: "FractionalAvgPool" + input_arg { + name: "value" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + output_arg { + name: "row_pooling_sequence" + type: DT_INT64 + } + output_arg { + name: "col_pooling_sequence" + type: DT_INT64 + } + attr { + name: "pooling_ratio" + type: "list(float)" + has_minimum: true + minimum: 4 + } + attr { + name: "pseudo_random" + type: "bool" + default_value { + b: false + } + } + attr { + name: "overlapping" + type: "bool" + default_value { + b: false + } + } + attr { + name: "deterministic" + type: "bool" + default_value { + b: false + } + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "FractionalAvgPoolGrad" + input_arg { + name: "orig_input_tensor_shape" + type: DT_INT64 + } + input_arg { + name: "out_backprop" + type_attr: "T" + } + input_arg { + name: "row_pooling_sequence" + type: DT_INT64 + } + input_arg { + name: "col_pooling_sequence" + type: DT_INT64 + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "overlapping" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "FractionalMaxPool" + input_arg { + name: "value" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + output_arg { + name: "row_pooling_sequence" + type: DT_INT64 + } + output_arg { + name: "col_pooling_sequence" + type: DT_INT64 + } + attr { + name: "pooling_ratio" + type: "list(float)" + has_minimum: true + minimum: 4 + } + attr { + name: "pseudo_random" + type: "bool" + default_value { + b: false + } + } + attr { + name: "overlapping" + type: "bool" + default_value { + b: false + } + } + attr { + name: "deterministic" + type: "bool" + default_value { + b: false + } + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "FractionalMaxPoolGrad" + input_arg { + name: "orig_input" + type_attr: "T" + } + input_arg { + name: "orig_output" + type_attr: "T" + } + input_arg { + name: "out_backprop" + type_attr: "T" + } + input_arg { + name: "row_pooling_sequence" + type: DT_INT64 + } + input_arg { + name: "col_pooling_sequence" + type: DT_INT64 + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "overlapping" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "FresnelCos" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "FresnelSin" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "FusedBatchNorm" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "scale" + type_attr: "T" + } + input_arg { + name: "offset" + type_attr: "T" + } + input_arg { + name: "mean" + type_attr: "T" + } + input_arg { + name: "variance" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "batch_mean" + type_attr: "T" + } + output_arg { + name: "batch_variance" + type_attr: "T" + } + output_arg { + name: "reserve_space_1" + type_attr: "T" + } + output_arg { + name: "reserve_space_2" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + } + } + } + attr { + name: "epsilon" + type: "float" + default_value { + f: 0.0001 + } + } + attr { + name: "exponential_avg_factor" + type: "float" + default_value { + f: 1 + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + } + } + } + attr { + name: "is_training" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "FusedBatchNormGrad" + input_arg { + name: "y_backprop" + type_attr: "T" + } + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "scale" + type_attr: "T" + } + input_arg { + name: "reserve_space_1" + type_attr: "T" + } + input_arg { + name: "reserve_space_2" + type_attr: "T" + } + output_arg { + name: "x_backprop" + type_attr: "T" + } + output_arg { + name: "scale_backprop" + type_attr: "T" + } + output_arg { + name: "offset_backprop" + type_attr: "T" + } + output_arg { + name: "reserve_space_3" + type_attr: "T" + } + output_arg { + name: "reserve_space_4" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + } + } + } + attr { + name: "epsilon" + type: "float" + default_value { + f: 0.0001 + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + } + } + } + attr { + name: "is_training" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "FusedBatchNormGradV2" + input_arg { + name: "y_backprop" + type_attr: "T" + } + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "scale" + type: DT_FLOAT + } + input_arg { + name: "reserve_space_1" + type_attr: "U" + } + input_arg { + name: "reserve_space_2" + type_attr: "U" + } + output_arg { + name: "x_backprop" + type_attr: "T" + } + output_arg { + name: "scale_backprop" + type_attr: "U" + } + output_arg { + name: "offset_backprop" + type_attr: "U" + } + output_arg { + name: "reserve_space_3" + type_attr: "U" + } + output_arg { + name: "reserve_space_4" + type_attr: "U" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + } + } + } + attr { + name: "U" + type: "type" + allowed_values { + list { + type: DT_FLOAT + } + } + } + attr { + name: "epsilon" + type: "float" + default_value { + f: 0.0001 + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + } + } + } + attr { + name: "is_training" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "FusedBatchNormGradV3" + input_arg { + name: "y_backprop" + type_attr: "T" + } + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "scale" + type: DT_FLOAT + } + input_arg { + name: "reserve_space_1" + type_attr: "U" + } + input_arg { + name: "reserve_space_2" + type_attr: "U" + } + input_arg { + name: "reserve_space_3" + type_attr: "U" + } + output_arg { + name: "x_backprop" + type_attr: "T" + } + output_arg { + name: "scale_backprop" + type_attr: "U" + } + output_arg { + name: "offset_backprop" + type_attr: "U" + } + output_arg { + name: "reserve_space_4" + type_attr: "U" + } + output_arg { + name: "reserve_space_5" + type_attr: "U" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + } + } + } + attr { + name: "U" + type: "type" + allowed_values { + list { + type: DT_FLOAT + } + } + } + attr { + name: "epsilon" + type: "float" + default_value { + f: 0.0001 + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + s: "NDHWC" + s: "NCDHW" + } + } + } + attr { + name: "is_training" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "FusedBatchNormV2" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "scale" + type_attr: "U" + } + input_arg { + name: "offset" + type_attr: "U" + } + input_arg { + name: "mean" + type_attr: "U" + } + input_arg { + name: "variance" + type_attr: "U" + } + output_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "batch_mean" + type_attr: "U" + } + output_arg { + name: "batch_variance" + type_attr: "U" + } + output_arg { + name: "reserve_space_1" + type_attr: "U" + } + output_arg { + name: "reserve_space_2" + type_attr: "U" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + } + } + } + attr { + name: "U" + type: "type" + allowed_values { + list { + type: DT_FLOAT + } + } + } + attr { + name: "epsilon" + type: "float" + default_value { + f: 0.0001 + } + } + attr { + name: "exponential_avg_factor" + type: "float" + default_value { + f: 1 + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + } + } + } + attr { + name: "is_training" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "FusedBatchNormV3" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "scale" + type_attr: "U" + } + input_arg { + name: "offset" + type_attr: "U" + } + input_arg { + name: "mean" + type_attr: "U" + } + input_arg { + name: "variance" + type_attr: "U" + } + output_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "batch_mean" + type_attr: "U" + } + output_arg { + name: "batch_variance" + type_attr: "U" + } + output_arg { + name: "reserve_space_1" + type_attr: "U" + } + output_arg { + name: "reserve_space_2" + type_attr: "U" + } + output_arg { + name: "reserve_space_3" + type_attr: "U" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + } + } + } + attr { + name: "U" + type: "type" + allowed_values { + list { + type: DT_FLOAT + } + } + } + attr { + name: "epsilon" + type: "float" + default_value { + f: 0.0001 + } + } + attr { + name: "exponential_avg_factor" + type: "float" + default_value { + f: 1 + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + s: "NDHWC" + s: "NCDHW" + } + } + } + attr { + name: "is_training" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "FusedPadConv2D" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "paddings" + type: DT_INT32 + } + input_arg { + name: "filter" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "mode" + type: "string" + allowed_values { + list { + s: "REFLECT" + s: "SYMMETRIC" + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } +} +op { + name: "FusedResizeAndPadConv2D" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "size" + type: DT_INT32 + } + input_arg { + name: "paddings" + type: DT_INT32 + } + input_arg { + name: "filter" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "resize_align_corners" + type: "bool" + default_value { + b: false + } + } + attr { + name: "mode" + type: "string" + allowed_values { + list { + s: "REFLECT" + s: "SYMMETRIC" + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } +} +op { + name: "GRUBlockCell" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "h_prev" + type_attr: "T" + } + input_arg { + name: "w_ru" + type_attr: "T" + } + input_arg { + name: "w_c" + type_attr: "T" + } + input_arg { + name: "b_ru" + type_attr: "T" + } + input_arg { + name: "b_c" + type_attr: "T" + } + output_arg { + name: "r" + type_attr: "T" + } + output_arg { + name: "u" + type_attr: "T" + } + output_arg { + name: "c" + type_attr: "T" + } + output_arg { + name: "h" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + } + } + } +} +op { + name: "GRUBlockCellGrad" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "h_prev" + type_attr: "T" + } + input_arg { + name: "w_ru" + type_attr: "T" + } + input_arg { + name: "w_c" + type_attr: "T" + } + input_arg { + name: "b_ru" + type_attr: "T" + } + input_arg { + name: "b_c" + type_attr: "T" + } + input_arg { + name: "r" + type_attr: "T" + } + input_arg { + name: "u" + type_attr: "T" + } + input_arg { + name: "c" + type_attr: "T" + } + input_arg { + name: "d_h" + type_attr: "T" + } + output_arg { + name: "d_x" + type_attr: "T" + } + output_arg { + name: "d_h_prev" + type_attr: "T" + } + output_arg { + name: "d_c_bar" + type_attr: "T" + } + output_arg { + name: "d_r_bar_u_bar" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + } + } + } +} +op { + name: "Gather" + input_arg { + name: "params" + type_attr: "Tparams" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + output_arg { + name: "output" + type_attr: "Tparams" + } + attr { + name: "validate_indices" + type: "bool" + default_value { + b: true + } + } + attr { + name: "Tparams" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "GatherNd" + input_arg { + name: "params" + type_attr: "Tparams" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + output_arg { + name: "output" + type_attr: "Tparams" + } + attr { + name: "Tparams" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "GatherV2" + input_arg { + name: "params" + type_attr: "Tparams" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "axis" + type_attr: "Taxis" + } + output_arg { + name: "output" + type_attr: "Tparams" + } + attr { + name: "batch_dims" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "Tparams" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Taxis" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "GenerateBoundingBoxProposals" + input_arg { + name: "scores" + type: DT_FLOAT + } + input_arg { + name: "bbox_deltas" + type: DT_FLOAT + } + input_arg { + name: "image_info" + type: DT_FLOAT + } + input_arg { + name: "anchors" + type: DT_FLOAT + } + input_arg { + name: "nms_threshold" + type: DT_FLOAT + } + input_arg { + name: "pre_nms_topn" + type: DT_INT32 + } + input_arg { + name: "min_size" + type: DT_FLOAT + } + output_arg { + name: "rois" + type: DT_FLOAT + } + output_arg { + name: "roi_probabilities" + type: DT_FLOAT + } + attr { + name: "post_nms_topn" + type: "int" + default_value { + i: 300 + } + } +} +op { + name: "GenerateVocabRemapping" + input_arg { + name: "new_vocab_file" + type: DT_STRING + } + input_arg { + name: "old_vocab_file" + type: DT_STRING + } + output_arg { + name: "remapping" + type: DT_INT64 + } + output_arg { + name: "num_present" + type: DT_INT32 + } + attr { + name: "new_vocab_offset" + type: "int" + has_minimum: true + } + attr { + name: "num_new_vocab" + type: "int" + has_minimum: true + } + attr { + name: "old_vocab_size" + type: "int" + default_value { + i: -1 + } + has_minimum: true + minimum: -1 + } +} +op { + name: "GeneratorDataset" + input_arg { + name: "init_func_other_args" + type_list_attr: "Tinit_func_args" + } + input_arg { + name: "next_func_other_args" + type_list_attr: "Tnext_func_args" + } + input_arg { + name: "finalize_func_other_args" + type_list_attr: "Tfinalize_func_args" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "init_func" + type: "func" + } + attr { + name: "next_func" + type: "func" + } + attr { + name: "finalize_func" + type: "func" + } + attr { + name: "Tinit_func_args" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tnext_func_args" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tfinalize_func_args" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "GetSessionHandle" + input_arg { + name: "value" + type_attr: "T" + } + output_arg { + name: "handle" + type: DT_STRING + } + attr { + name: "T" + type: "type" + } + is_stateful: true +} +op { + name: "GetSessionHandleV2" + input_arg { + name: "value" + type_attr: "T" + } + output_arg { + name: "handle" + type: DT_RESOURCE + } + attr { + name: "T" + type: "type" + } + is_stateful: true +} +op { + name: "GetSessionTensor" + input_arg { + name: "handle" + type: DT_STRING + } + output_arg { + name: "value" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + is_stateful: true +} +op { + name: "Greater" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type: DT_BOOL + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "GreaterEqual" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type: DT_BOOL + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "GroupByReducerDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "key_func_other_arguments" + type_list_attr: "Tkey_func_other_arguments" + } + input_arg { + name: "init_func_other_arguments" + type_list_attr: "Tinit_func_other_arguments" + } + input_arg { + name: "reduce_func_other_arguments" + type_list_attr: "Treduce_func_other_arguments" + } + input_arg { + name: "finalize_func_other_arguments" + type_list_attr: "Tfinalize_func_other_arguments" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "key_func" + type: "func" + } + attr { + name: "init_func" + type: "func" + } + attr { + name: "reduce_func" + type: "func" + } + attr { + name: "finalize_func" + type: "func" + } + attr { + name: "Tkey_func_other_arguments" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tinit_func_other_arguments" + type: "list(type)" + has_minimum: true + } + attr { + name: "Treduce_func_other_arguments" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tfinalize_func_other_arguments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "GroupByWindowDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "key_func_other_arguments" + type_list_attr: "Tkey_func_other_arguments" + } + input_arg { + name: "reduce_func_other_arguments" + type_list_attr: "Treduce_func_other_arguments" + } + input_arg { + name: "window_size_func_other_arguments" + type_list_attr: "Twindow_size_func_other_arguments" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "key_func" + type: "func" + } + attr { + name: "reduce_func" + type: "func" + } + attr { + name: "window_size_func" + type: "func" + } + attr { + name: "Tkey_func_other_arguments" + type: "list(type)" + has_minimum: true + } + attr { + name: "Treduce_func_other_arguments" + type: "list(type)" + has_minimum: true + } + attr { + name: "Twindow_size_func_other_arguments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "GuaranteeConst" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + is_stateful: true +} +op { + name: "HSVToRGB" + input_arg { + name: "images" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "HashTable" + output_arg { + name: "table_handle" + type: DT_STRING + is_ref: true + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "use_node_name_sharing" + type: "bool" + default_value { + b: false + } + } + attr { + name: "key_dtype" + type: "type" + } + attr { + name: "value_dtype" + type: "type" + } + is_stateful: true +} +op { + name: "HashTableV2" + output_arg { + name: "table_handle" + type: DT_RESOURCE + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "use_node_name_sharing" + type: "bool" + default_value { + b: false + } + } + attr { + name: "key_dtype" + type: "type" + } + attr { + name: "value_dtype" + type: "type" + } + is_stateful: true +} +op { + name: "HistogramFixedWidth" + input_arg { + name: "values" + type_attr: "T" + } + input_arg { + name: "value_range" + type_attr: "T" + } + input_arg { + name: "nbins" + type: DT_INT32 + } + output_arg { + name: "out" + type_attr: "dtype" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "HistogramSummary" + input_arg { + name: "tag" + type: DT_STRING + } + input_arg { + name: "values" + type_attr: "T" + } + output_arg { + name: "summary" + type: DT_STRING + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "HostConst" + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "value" + type: "tensor" + } + attr { + name: "dtype" + type: "type" + } +} +op { + name: "IFFT" + input_arg { + name: "input" + type_attr: "Tcomplex" + } + output_arg { + name: "output" + type_attr: "Tcomplex" + } + attr { + name: "Tcomplex" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "IFFT2D" + input_arg { + name: "input" + type_attr: "Tcomplex" + } + output_arg { + name: "output" + type_attr: "Tcomplex" + } + attr { + name: "Tcomplex" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "IFFT3D" + input_arg { + name: "input" + type_attr: "Tcomplex" + } + output_arg { + name: "output" + type_attr: "Tcomplex" + } + attr { + name: "Tcomplex" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "IRFFT" + input_arg { + name: "input" + type_attr: "Tcomplex" + } + input_arg { + name: "fft_length" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "Treal" + } + attr { + name: "Treal" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tcomplex" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "IRFFT2D" + input_arg { + name: "input" + type_attr: "Tcomplex" + } + input_arg { + name: "fft_length" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "Treal" + } + attr { + name: "Treal" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tcomplex" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "IRFFT3D" + input_arg { + name: "input" + type_attr: "Tcomplex" + } + input_arg { + name: "fft_length" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "Treal" + } + attr { + name: "Treal" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tcomplex" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "Identity" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } +} +op { + name: "IdentityN" + input_arg { + name: "input" + type_list_attr: "T" + } + output_arg { + name: "output" + type_list_attr: "T" + } + attr { + name: "T" + type: "list(type)" + has_minimum: true + minimum: 1 + } +} +op { + name: "IdentityReader" + output_arg { + name: "reader_handle" + type: DT_STRING + is_ref: true + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + deprecation { + version: 26 + explanation: "Use IdentityReaderV2" + } + is_stateful: true +} +op { + name: "IdentityReaderV2" + output_arg { + name: "reader_handle" + type: DT_RESOURCE + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "If" + input_arg { + name: "cond" + type_attr: "Tcond" + } + input_arg { + name: "input" + type_list_attr: "Tin" + } + output_arg { + name: "output" + type_list_attr: "Tout" + } + attr { + name: "Tcond" + type: "type" + } + attr { + name: "Tin" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tout" + + + + } + is_stateful: true +} +op { + name: "Igamma" + input_arg { + name: "a" + type_attr: "T" + } + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "IgammaGradA" + input_arg { + name: "a" + type_attr: "T" + } + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "Igammac" + input_arg { + name: "a" + type_attr: "T" + } + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "IgnoreErrorsDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "log_warning" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "Imag" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "Tout" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } + attr { + name: "Tout" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "ImageProjectiveTransformV2" + input_arg { + name: "images" + type_attr: "dtype" + } + input_arg { + name: "transforms" + type: DT_FLOAT + } + input_arg { + name: "output_shape" + type: DT_INT32 + } + output_arg { + name: "transformed_images" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_UINT8 + type: DT_INT32 + type: DT_INT64 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "interpolation" + type: "string" + } + attr { + name: "fill_mode" + type: "string" + default_value { + s: "CONSTANT" + } + } +} +op { + name: "ImageProjectiveTransformV3" + input_arg { + name: "images" + type_attr: "dtype" + } + input_arg { + name: "transforms" + type: DT_FLOAT + } + input_arg { + name: "output_shape" + type: DT_INT32 + } + input_arg { + name: "fill_value" + type: DT_FLOAT + } + output_arg { + name: "transformed_images" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_UINT8 + type: DT_INT32 + type: DT_INT64 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "interpolation" + type: "string" + } + attr { + name: "fill_mode" + type: "string" + default_value { + s: "CONSTANT" + } + } +} +op { + name: "ImageSummary" + input_arg { + name: "tag" + type: DT_STRING + } + input_arg { + name: "tensor" + type_attr: "T" + } + output_arg { + name: "summary" + type: DT_STRING + } + attr { + name: "max_images" + type: "int" + default_value { + i: 3 + } + has_minimum: true + minimum: 1 + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_UINT8 + type: DT_FLOAT + type: DT_HALF + type: DT_DOUBLE + } + } + } + attr { + name: "bad_color" + type: "tensor" + default_value { + tensor { + dtype: DT_UINT8 + tensor_shape { + dim { + size: 4 + } + } + int_val: 255 + int_val: 0 + int_val: 0 + int_val: 255 + } + } + } +} +op { + name: "ImmutableConst" + output_arg { + name: "tensor" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "shape" + type: "shape" + } + attr { + name: "memory_region_name" + type: "string" + } +} +op { + name: "ImportEvent" + input_arg { + name: "writer" + type: DT_RESOURCE + } + input_arg { + name: "event" + type: DT_STRING + } + is_stateful: true +} +op { + name: "InTopK" + input_arg { + name: "predictions" + type: DT_FLOAT + } + input_arg { + name: "targets" + type_attr: "T" + } + output_arg { + name: "precision" + type: DT_BOOL + } + attr { + name: "k" + type: "int" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "InTopKV2" + input_arg { + name: "predictions" + type: DT_FLOAT + } + input_arg { + name: "targets" + type_attr: "T" + } + input_arg { + name: "k" + type_attr: "T" + } + output_arg { + name: "precision" + type: DT_BOOL + } + attr { + name: "T" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "InfeedDequeue" + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "shape" + type: "shape" + } + is_stateful: true +} +op { + name: "InfeedDequeueTuple" + output_arg { + name: "outputs" + type_list_attr: "dtypes" + } + attr { + name: "dtypes" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "shapes" + type: "list(shape)" + } + is_stateful: true +} +op { + name: "InfeedEnqueue" + input_arg { + name: "input" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "shape" + type: "shape" + default_value { + shape { + } + } + } + attr { + name: "layout" + type: "list(int)" + default_value { + list { + } + } + } + attr { + name: "device_ordinal" + type: "int" + default_value { + i: -1 + } + } + is_stateful: true +} +op { + name: "InfeedEnqueuePrelinearizedBuffer" + input_arg { + name: "input" + type: DT_VARIANT + } + attr { + name: "device_ordinal" + type: "int" + default_value { + i: -1 + } + } +} +op { + name: "InfeedEnqueueTuple" + input_arg { + name: "inputs" + type_list_attr: "dtypes" + } + attr { + name: "dtypes" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "shapes" + type: "list(shape)" + } + attr { + name: "layouts" + type: "list(int)" + default_value { + list { + } + } + } + attr { + name: "device_ordinal" + type: "int" + default_value { + i: -1 + } + } + is_stateful: true +} +op { + name: "InitializeTable" + input_arg { + name: "table_handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "keys" + type_attr: "Tkey" + } + input_arg { + name: "values" + type_attr: "Tval" + } + attr { + name: "Tkey" + type: "type" + } + attr { + name: "Tval" + type: "type" + } +} +op { + name: "InitializeTableFromDataset" + input_arg { + name: "table_handle" + type: DT_RESOURCE + } + input_arg { + name: "dataset" + type: DT_VARIANT + } + is_stateful: true +} +op { + name: "InitializeTableFromTextFile" + input_arg { + name: "table_handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "filename" + type: DT_STRING + } + attr { + name: "key_index" + type: "int" + has_minimum: true + minimum: -2 + } + attr { + name: "value_index" + type: "int" + has_minimum: true + minimum: -2 + } + attr { + name: "vocab_size" + type: "int" + default_value { + i: -1 + } + has_minimum: true + minimum: -1 + } + attr { + name: "delimiter" + type: "string" + default_value { + s: "\t" + } + } +} +op { + name: "InitializeTableFromTextFileV2" + input_arg { + name: "table_handle" + type: DT_RESOURCE + } + input_arg { + name: "filename" + type: DT_STRING + } + attr { + name: "key_index" + type: "int" + has_minimum: true + minimum: -2 + } + attr { + name: "value_index" + type: "int" + has_minimum: true + minimum: -2 + } + attr { + name: "vocab_size" + type: "int" + default_value { + i: -1 + } + has_minimum: true + minimum: -1 + } + attr { + name: "delimiter" + type: "string" + default_value { + s: "\t" + } + } + is_stateful: true +} +op { + name: "InitializeTableV2" + input_arg { + name: "table_handle" + type: DT_RESOURCE + } + input_arg { + name: "keys" + type_attr: "Tkey" + } + input_arg { + name: "values" + type_attr: "Tval" + } + attr { + name: "Tkey" + type: "type" + } + attr { + name: "Tval" + type: "type" + } + is_stateful: true +} +op { + name: "InplaceAdd" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "i" + type: DT_INT32 + } + input_arg { + name: "v" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } +} +op { + name: "InplaceSub" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "i" + type: DT_INT32 + } + input_arg { + name: "v" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } +} +op { + name: "InplaceUpdate" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "i" + type: DT_INT32 + } + input_arg { + name: "v" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } +} +op { + name: "InterleaveDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + input_arg { + name: "cycle_length" + type: DT_INT64 + } + input_arg { + name: "block_length" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "f" + type: "func" + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "Inv" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "InvGrad" + input_arg { + name: "y" + type_attr: "T" + } + input_arg { + name: "dy" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "Invert" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_UINT8 + type: DT_UINT16 + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "InvertPermutation" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "IsBoostedTreesEnsembleInitialized" + input_arg { + name: "tree_ensemble_handle" + type: DT_RESOURCE + } + output_arg { + name: "is_initialized" + type: DT_BOOL + } + is_stateful: true +} +op { + name: "IsBoostedTreesQuantileStreamResourceInitialized" + input_arg { + name: "quantile_stream_resource_handle" + type: DT_RESOURCE + } + output_arg { + name: "is_initialized" + type: DT_BOOL + } + is_stateful: true +} +op { + name: "IsFinite" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type: DT_BOOL + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "IsInf" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type: DT_BOOL + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "IsNan" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type: DT_BOOL + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "IsVariableInitialized" + input_arg { + name: "ref" + type_attr: "dtype" + is_ref: true + } + output_arg { + name: "is_initialized" + type: DT_BOOL + } + attr { + name: "dtype" + type: "type" + } + allows_uninitialized_input: true +} +op { + name: "IsotonicRegression" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "output_dtype" + } + output_arg { + name: "segments" + type: DT_INT32 + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "output_dtype" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "Iterator" + output_arg { + name: "handle" + type: DT_RESOURCE + } + attr { + name: "shared_name" + type: "string" + } + attr { + name: "container" + type: "string" + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "IteratorFromStringHandle" + input_arg { + name: "string_handle" + type: DT_STRING + } + output_arg { + name: "resource_handle" + type: DT_RESOURCE + } + attr { + name: "output_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + } + attr { + name: "output_shapes" + type: "list(shape)" + default_value { + list { + } + } + has_minimum: true + } + is_stateful: true +} +op { + name: "IteratorFromStringHandleV2" + input_arg { + name: "string_handle" + type: DT_STRING + } + output_arg { + name: "resource_handle" + type: DT_RESOURCE + } + attr { + name: "output_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + } + attr { + name: "output_shapes" + type: "list(shape)" + default_value { + list { + } + } + has_minimum: true + } + is_stateful: true +} +op { + name: "IteratorGetDevice" + input_arg { + name: "resource" + type: DT_RESOURCE + } + output_arg { + name: "device" + type: DT_STRING + } + is_stateful: true +} +op { + name: "IteratorGetNext" + input_arg { + name: "iterator" + type: DT_RESOURCE + } + output_arg { + name: "components" + type_list_attr: "output_types" + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "IteratorGetNextAsOptional" + input_arg { + name: "iterator" + type: DT_RESOURCE + } + output_arg { + name: "optional" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "IteratorGetNextSync" + input_arg { + name: "iterator" + type: DT_RESOURCE + } + output_arg { + name: "components" + type_list_attr: "output_types" + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "IteratorToStringHandle" + input_arg { + name: "resource_handle" + type: DT_RESOURCE + } + output_arg { + name: "string_handle" + type: DT_STRING + } + is_stateful: true +} +op { + name: "IteratorV2" + output_arg { + name: "handle" + type: DT_RESOURCE + } + attr { + name: "shared_name" + type: "string" + } + attr { + name: "container" + type: "string" + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "KMC2ChainInitialization" + input_arg { + name: "distances" + type: DT_FLOAT + } + input_arg { + name: "seed" + type: DT_INT64 + } + output_arg { + name: "index" + type: DT_INT64 + } +} +op { + name: "KmeansPlusPlusInitialization" + input_arg { + name: "points" + type: DT_FLOAT + } + input_arg { + name: "num_to_sample" + type: DT_INT64 + } + input_arg { + name: "seed" + type: DT_INT64 + } + input_arg { + name: "num_retries_per_sample" + type: DT_INT64 + } + output_arg { + name: "samples" + type: DT_FLOAT + } +} +op { + name: "KthOrderStatistic" + input_arg { + name: "input" + type: DT_FLOAT + } + output_arg { + name: "output" + type: DT_FLOAT + } + attr { + name: "k" + type: "int" + } +} +op { + name: "L2Loss" + input_arg { + name: "t" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "LMDBDataset" + input_arg { + name: "filenames" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "LMDBReader" + output_arg { + name: "reader_handle" + type: DT_STRING + is_ref: true + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LRN" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "depth_radius" + type: "int" + default_value { + i: 5 + } + } + attr { + name: "bias" + type: "float" + default_value { + f: 1 + } + } + attr { + name: "alpha" + type: "float" + default_value { + f: 1 + } + } + attr { + name: "beta" + type: "float" + default_value { + f: 0.5 + } + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + } + } + } +} +op { + name: "LRNGrad" + input_arg { + name: "input_grads" + type_attr: "T" + } + input_arg { + name: "input_image" + type_attr: "T" + } + input_arg { + name: "output_image" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "depth_radius" + type: "int" + default_value { + i: 5 + } + } + attr { + name: "bias" + type: "float" + default_value { + f: 1 + } + } + attr { + name: "alpha" + type: "float" + default_value { + f: 1 + } + } + attr { + name: "beta" + type: "float" + default_value { + f: 0.5 + } + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + } + } + } +} +op { + name: "LSTMBlockCell" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "cs_prev" + type_attr: "T" + } + input_arg { + name: "h_prev" + type_attr: "T" + } + input_arg { + name: "w" + type_attr: "T" + } + input_arg { + name: "wci" + type_attr: "T" + } + input_arg { + name: "wcf" + type_attr: "T" + } + input_arg { + name: "wco" + type_attr: "T" + } + input_arg { + name: "b" + type_attr: "T" + } + output_arg { + name: "i" + type_attr: "T" + } + output_arg { + name: "cs" + type_attr: "T" + } + output_arg { + name: "f" + type_attr: "T" + } + output_arg { + name: "o" + type_attr: "T" + } + output_arg { + name: "ci" + type_attr: "T" + } + output_arg { + name: "co" + type_attr: "T" + } + output_arg { + name: "h" + type_attr: "T" + } + attr { + name: "forget_bias" + type: "float" + default_value { + f: 1 + } + } + attr { + name: "cell_clip" + type: "float" + default_value { + f: 3 + } + } + attr { + name: "use_peephole" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } +} +op { + name: "LSTMBlockCellGrad" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "cs_prev" + type_attr: "T" + } + input_arg { + name: "h_prev" + type_attr: "T" + } + input_arg { + name: "w" + type_attr: "T" + } + input_arg { + name: "wci" + type_attr: "T" + } + input_arg { + name: "wcf" + type_attr: "T" + } + input_arg { + name: "wco" + type_attr: "T" + } + input_arg { + name: "b" + type_attr: "T" + } + input_arg { + name: "i" + type_attr: "T" + } + input_arg { + name: "cs" + type_attr: "T" + } + input_arg { + name: "f" + type_attr: "T" + } + input_arg { + name: "o" + type_attr: "T" + } + input_arg { + name: "ci" + type_attr: "T" + } + input_arg { + name: "co" + type_attr: "T" + } + input_arg { + name: "cs_grad" + type_attr: "T" + } + input_arg { + name: "h_grad" + type_attr: "T" + } + output_arg { + name: "cs_prev_grad" + type_attr: "T" + } + output_arg { + name: "dicfo" + type_attr: "T" + } + output_arg { + name: "wci_grad" + type_attr: "T" + } + output_arg { + name: "wcf_grad" + type_attr: "T" + } + output_arg { + name: "wco_grad" + type_attr: "T" + } + attr { + name: "use_peephole" + type: "bool" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } +} +op { + name: "LatencyStatsDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "tag" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "LeakyRelu" + input_arg { + name: "features" + type_attr: "T" + } + output_arg { + name: "activations" + type_attr: "T" + } + attr { + name: "alpha" + type: "float" + default_value { + f: 0.2 + } + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "LeakyReluGrad" + input_arg { + name: "gradients" + type_attr: "T" + } + input_arg { + name: "features" + type_attr: "T" + } + output_arg { + name: "backprops" + type_attr: "T" + } + attr { + name: "alpha" + type: "float" + default_value { + f: 0.2 + } + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "LearnedUnigramCandidateSampler" + input_arg { + name: "true_classes" + type: DT_INT64 + } + output_arg { + name: "sampled_candidates" + type: DT_INT64 + } + output_arg { + name: "true_expected_count" + type: DT_FLOAT + } + output_arg { + name: "sampled_expected_count" + type: DT_FLOAT + } + attr { + name: "num_true" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "num_sampled" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "unique" + type: "bool" + } + attr { + name: "range_max" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + is_stateful: true +} +op { + name: "LeftShift" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_UINT8 + type: DT_UINT16 + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "LegacyParallelInterleaveDatasetV2" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + input_arg { + name: "cycle_length" + type: DT_INT64 + } + input_arg { + name: "block_length" + type: DT_INT64 + } + input_arg { + name: "buffer_output_elements" + type: DT_INT64 + } + input_arg { + name: "prefetch_input_elements" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "f" + type: "func" + } + attr { + name: "deterministic" + type: "string" + default_value { + s: "default" + } + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "Less" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type: DT_BOOL + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "LessEqual" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type: DT_BOOL + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "Lgamma" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "LinSpace" + input_arg { + name: "start" + type_attr: "T" + } + input_arg { + name: "stop" + type_attr: "T" + } + input_arg { + name: "num" + type_attr: "Tidx" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "ListDiff" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "out" + type_attr: "T" + } + output_arg { + name: "idx" + type_attr: "out_idx" + } + attr { + name: "T" + type: "type" + } + attr { + name: "out_idx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "LoadAndRemapMatrix" + input_arg { + name: "ckpt_path" + type: DT_STRING + } + input_arg { + name: "old_tensor_name" + type: DT_STRING + } + input_arg { + name: "row_remapping" + type: DT_INT64 + } + input_arg { + name: "col_remapping" + type: DT_INT64 + } + input_arg { + name: "initializing_values" + type: DT_FLOAT + } + output_arg { + name: "output_matrix" + type: DT_FLOAT + } + attr { + name: "num_rows" + type: "int" + has_minimum: true + } + attr { + name: "num_cols" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "max_rows_in_memory" + type: "int" + default_value { + i: -1 + } + } + is_stateful: true +} +op { + name: "LoadDataset" + input_arg { + name: "path" + type: DT_STRING + } + input_arg { + name: "reader_func_other_args" + type_list_attr: "Treader_func_args" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "compression" + type: "string" + default_value { + s: "" + } + } + attr { + name: "reader_func" + type: "func" + } + attr { + name: "Treader_func_args" + type: "list(type)" + has_minimum: true + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingADAMParameters" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "momenta" + type: DT_FLOAT + } + input_arg { + name: "velocities" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingADAMParametersGradAccumDebug" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "momenta" + type: DT_FLOAT + } + input_arg { + name: "velocities" + type: DT_FLOAT + } + input_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingAdadeltaParameters" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "accumulators" + type: DT_FLOAT + } + input_arg { + name: "updates" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingAdadeltaParametersGradAccumDebug" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "accumulators" + type: DT_FLOAT + } + input_arg { + name: "updates" + type: DT_FLOAT + } + input_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingAdagradParameters" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingAdagradParametersGradAccumDebug" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "accumulators" + type: DT_FLOAT + } + input_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingCenteredRMSPropParameters" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "ms" + type: DT_FLOAT + } + input_arg { + name: "mom" + type: DT_FLOAT + } + input_arg { + name: "mg" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingFTRLParameters" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "accumulators" + type: DT_FLOAT + } + input_arg { + name: "linears" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingFTRLParametersGradAccumDebug" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "accumulators" + type: DT_FLOAT + } + input_arg { + name: "linears" + type: DT_FLOAT + } + input_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingFrequencyEstimatorParameters" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "last_hit_step" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingFrequencyEstimatorParametersGradAccumDebug" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "last_hit_step" + type: DT_FLOAT + } + input_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingMDLAdagradLightParameters" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "accumulators" + type: DT_FLOAT + } + input_arg { + name: "weights" + type: DT_FLOAT + } + input_arg { + name: "benefits" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingMomentumParameters" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "momenta" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingMomentumParametersGradAccumDebug" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "momenta" + type: DT_FLOAT + } + input_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingProximalAdagradParameters" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingProximalAdagradParametersGradAccumDebug" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "accumulators" + type: DT_FLOAT + } + input_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingProximalYogiParameters" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "v" + type: DT_FLOAT + } + input_arg { + name: "m" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingProximalYogiParametersGradAccumDebug" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "v" + type: DT_FLOAT + } + input_arg { + name: "m" + type: DT_FLOAT + } + input_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingRMSPropParameters" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "ms" + type: DT_FLOAT + } + input_arg { + name: "mom" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingRMSPropParametersGradAccumDebug" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "ms" + type: DT_FLOAT + } + input_arg { + name: "mom" + type: DT_FLOAT + } + input_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingStochasticGradientDescentParameters" + input_arg { + name: "parameters" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "LoadTPUEmbeddingStochasticGradientDescentParametersGradAccumDebug" + input_arg { + name: "parameters" + type: DT_FLOAT + } + input_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "Log" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "Log1p" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "LogMatrixDeterminant" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "sign" + type_attr: "T" + } + output_arg { + name: "log_abs_determinant" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "LogSoftmax" + input_arg { + name: "logits" + type_attr: "T" + } + output_arg { + name: "logsoftmax" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "LogUniformCandidateSampler" + input_arg { + name: "true_classes" + type: DT_INT64 + } + output_arg { + name: "sampled_candidates" + type: DT_INT64 + } + output_arg { + name: "true_expected_count" + type: DT_FLOAT + } + output_arg { + name: "sampled_expected_count" + type: DT_FLOAT + } + attr { + name: "num_true" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "num_sampled" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "unique" + type: "bool" + } + attr { + name: "range_max" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + is_stateful: true +} +op { + name: "LogicalAnd" + input_arg { + name: "x" + type: DT_BOOL + } + input_arg { + name: "y" + type: DT_BOOL + } + output_arg { + name: "z" + type: DT_BOOL + } + is_commutative: true +} +op { + name: "LogicalNot" + input_arg { + name: "x" + type: DT_BOOL + } + output_arg { + name: "y" + type: DT_BOOL + } +} +op { + name: "LogicalOr" + input_arg { + name: "x" + type: DT_BOOL + } + input_arg { + name: "y" + type: DT_BOOL + } + output_arg { + name: "z" + type: DT_BOOL + } + is_commutative: true +} +op { + name: "LookupTableExport" + input_arg { + name: "table_handle" + type: DT_STRING + is_ref: true + } + output_arg { + name: "keys" + type_attr: "Tkeys" + } + output_arg { + name: "values" + type_attr: "Tvalues" + } + attr { + name: "Tkeys" + type: "type" + } + attr { + name: "Tvalues" + type: "type" + } +} +op { + name: "LookupTableExportV2" + input_arg { + name: "table_handle" + type: DT_RESOURCE + } + output_arg { + name: "keys" + type_attr: "Tkeys" + } + output_arg { + name: "values" + type_attr: "Tvalues" + } + attr { + name: "Tkeys" + type: "type" + } + attr { + name: "Tvalues" + type: "type" + } + is_stateful: true +} +op { + name: "LookupTableFind" + input_arg { + name: "table_handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "keys" + type_attr: "Tin" + } + input_arg { + name: "default_value" + type_attr: "Tout" + } + output_arg { + name: "values" + type_attr: "Tout" + } + attr { + name: "Tin" + type: "type" + } + attr { + name: "Tout" + type: "type" + } +} +op { + name: "LookupTableFindV2" + input_arg { + name: "table_handle" + type: DT_RESOURCE + } + input_arg { + name: "keys" + type_attr: "Tin" + } + input_arg { + name: "default_value" + type_attr: "Tout" + } + output_arg { + name: "values" + type_attr: "Tout" + } + attr { + name: "Tin" + type: "type" + } + attr { + name: "Tout" + type: "type" + } + is_stateful: true +} +op { + name: "LookupTableImport" + input_arg { + name: "table_handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "keys" + type_attr: "Tin" + } + input_arg { + name: "values" + type_attr: "Tout" + } + attr { + name: "Tin" + type: "type" + } + attr { + name: "Tout" + type: "type" + } +} +op { + name: "LookupTableImportV2" + input_arg { + name: "table_handle" + type: DT_RESOURCE + } + input_arg { + name: "keys" + type_attr: "Tin" + } + input_arg { + name: "values" + type_attr: "Tout" + } + attr { + name: "Tin" + type: "type" + } + attr { + name: "Tout" + type: "type" + } + is_stateful: true +} +op { + name: "LookupTableInsert" + input_arg { + name: "table_handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "keys" + type_attr: "Tin" + } + input_arg { + name: "values" + type_attr: "Tout" + } + attr { + name: "Tin" + type: "type" + } + attr { + name: "Tout" + type: "type" + } +} +op { + name: "LookupTableInsertV2" + input_arg { + name: "table_handle" + type: DT_RESOURCE + } + input_arg { + name: "keys" + type_attr: "Tin" + } + input_arg { + name: "values" + type_attr: "Tout" + } + attr { + name: "Tin" + type: "type" + } + attr { + name: "Tout" + type: "type" + } + is_stateful: true +} +op { + name: "LookupTableRemoveV2" + input_arg { + name: "table_handle" + type: DT_RESOURCE + } + input_arg { + name: "keys" + type_attr: "Tin" + } + attr { + name: "Tin" + type: "type" + } + is_stateful: true +} +op { + name: "LookupTableSize" + input_arg { + name: "table_handle" + type: DT_STRING + is_ref: true + } + output_arg { + name: "size" + type: DT_INT64 + } +} +op { + name: "LookupTableSizeV2" + input_arg { + name: "table_handle" + type: DT_RESOURCE + } + output_arg { + name: "size" + type: DT_INT64 + } + is_stateful: true +} +op { + name: "LoopCond" + input_arg { + name: "input" + type: DT_BOOL + } + output_arg { + name: "output" + type: DT_BOOL + } +} +op { + name: "LowerBound" + input_arg { + name: "sorted_inputs" + type_attr: "T" + } + input_arg { + name: "values" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "out_type" + } + attr { + name: "T" + type: "type" + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "Lu" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "lu" + type_attr: "T" + } + output_arg { + name: "p" + type_attr: "output_idx_type" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + type: DT_HALF + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } + attr { + name: "output_idx_type" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "MakeIterator" + input_arg { + name: "dataset" + type: DT_VARIANT + } + input_arg { + name: "iterator" + type: DT_RESOURCE + } + is_stateful: true +} +op { + name: "MakeUnique" + input_arg { + name: "input" + type: DT_FLOAT + } + output_arg { + name: "output" + type: DT_FLOAT + } +} +op { + name: "MapAndBatchDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + input_arg { + name: "batch_size" + type: DT_INT64 + } + input_arg { + name: "num_parallel_calls" + type: DT_INT64 + } + input_arg { + name: "drop_remainder" + type: DT_BOOL + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "f" + type: "func" + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "preserve_cardinality" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "MapClear" + attr { + name: "capacity" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "memory_limit" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "dtypes" + type: "list(type)" + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "MapDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "f" + type: "func" + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "use_inter_op_parallelism" + type: "bool" + default_value { + b: true + } + } + attr { + name: "preserve_cardinality" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "MapDefun" + input_arg { + name: "arguments" + type_list_attr: "Targuments" + } + input_arg { + name: "captured_inputs" + type_list_attr: "Tcaptured" + } + output_arg { + name: "output" + type_list_attr: "output_types" + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "Tcaptured" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "f" + type: "func" + } + attr { + name: "max_intra_op_parallelism" + type: "int" + default_value { + i: 1 + } + } +} +op { + name: "MapIncompleteSize" + output_arg { + name: "size" + type: DT_INT32 + } + attr { + name: "capacity" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "memory_limit" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "dtypes" + type: "list(type)" + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "MapPeek" + input_arg { + name: "key" + type: DT_INT64 + } + input_arg { + name: "indices" + type: DT_INT32 + } + output_arg { + name: "values" + type_list_attr: "dtypes" + } + attr { + name: "capacity" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "memory_limit" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "dtypes" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "MapSize" + output_arg { + name: "size" + type: DT_INT32 + } + attr { + name: "capacity" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "memory_limit" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "dtypes" + type: "list(type)" + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "MapStage" + input_arg { + name: "key" + type: DT_INT64 + } + input_arg { + name: "indices" + type: DT_INT32 + } + input_arg { + name: "values" + type_list_attr: "fake_dtypes" + } + attr { + name: "capacity" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "memory_limit" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "dtypes" + type: "list(type)" + } + attr { + name: "fake_dtypes" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "MapUnstage" + input_arg { + name: "key" + type: DT_INT64 + } + input_arg { + name: "indices" + type: DT_INT32 + } + output_arg { + name: "values" + type_list_attr: "dtypes" + } + attr { + name: "capacity" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "memory_limit" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "dtypes" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "MapUnstageNoKey" + input_arg { + name: "indices" + type: DT_INT32 + } + output_arg { + name: "key" + type: DT_INT64 + } + output_arg { + name: "values" + type_list_attr: "dtypes" + } + attr { + name: "capacity" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "memory_limit" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "dtypes" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "MatMul" + input_arg { + name: "a" + type_attr: "T" + } + input_arg { + name: "b" + type_attr: "T" + } + output_arg { + name: "product" + type_attr: "T" + } + attr { + name: "transpose_a" + type: "bool" + default_value { + b: false + } + } + attr { + name: "transpose_b" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "MatchingFiles" + input_arg { + name: "pattern" + type: DT_STRING + } + output_arg { + name: "filenames" + type: DT_STRING + } +} +op { + name: "MatchingFilesDataset" + input_arg { + name: "patterns" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + is_stateful: true +} +op { + name: "MatrixBandPart" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "num_lower" + type_attr: "Tindex" + } + input_arg { + name: "num_upper" + type_attr: "Tindex" + } + output_arg { + name: "band" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tindex" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "MatrixDeterminant" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "MatrixDiag" + input_arg { + name: "diagonal" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } +} +op { + name: "MatrixDiagPart" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "diagonal" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } +} +op { + name: "MatrixDiagPartV2" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "k" + type: DT_INT32 + } + input_arg { + name: "padding_value" + type_attr: "T" + } + output_arg { + name: "diagonal" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } +} +op { + name: "MatrixDiagPartV3" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "k" + type: DT_INT32 + } + input_arg { + name: "padding_value" + type_attr: "T" + } + output_arg { + name: "diagonal" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "align" + type: "string" + default_value { + s: "RIGHT_LEFT" + } + allowed_values { + list { + s: "LEFT_RIGHT" + s: "RIGHT_LEFT" + s: "LEFT_LEFT" + s: "RIGHT_RIGHT" + } + } + } +} +op { + name: "MatrixDiagV2" + input_arg { + name: "diagonal" + type_attr: "T" + } + input_arg { + name: "k" + type: DT_INT32 + } + input_arg { + name: "num_rows" + type: DT_INT32 + } + input_arg { + name: "num_cols" + type: DT_INT32 + } + input_arg { + name: "padding_value" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } +} +op { + name: "MatrixDiagV3" + input_arg { + name: "diagonal" + type_attr: "T" + } + input_arg { + name: "k" + type: DT_INT32 + } + input_arg { + name: "num_rows" + type: DT_INT32 + } + input_arg { + name: "num_cols" + type: DT_INT32 + } + input_arg { + name: "padding_value" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "align" + type: "string" + default_value { + s: "RIGHT_LEFT" + } + allowed_values { + list { + s: "LEFT_RIGHT" + s: "RIGHT_LEFT" + s: "LEFT_LEFT" + s: "RIGHT_RIGHT" + } + } + } +} +op { + name: "MatrixExponential" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + type: DT_HALF + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } + deprecation { + version: 27 + explanation: "Use Python implementation tf.linalg.matrix_exponential instead." + } +} +op { + name: "MatrixInverse" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "adjoint" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + type: DT_HALF + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "MatrixLogarithm" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "MatrixSetDiag" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "diagonal" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } +} +op { + name: "MatrixSetDiagV2" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "diagonal" + type_attr: "T" + } + input_arg { + name: "k" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } +} +op { + name: "MatrixSetDiagV3" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "diagonal" + type_attr: "T" + } + input_arg { + name: "k" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "align" + type: "string" + default_value { + s: "RIGHT_LEFT" + } + allowed_values { + list { + s: "LEFT_RIGHT" + s: "RIGHT_LEFT" + s: "LEFT_LEFT" + s: "RIGHT_RIGHT" + } + } + } +} +op { + name: "MatrixSolve" + input_arg { + name: "matrix" + type_attr: "T" + } + input_arg { + name: "rhs" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "adjoint" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + type: DT_HALF + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "MatrixSolveLs" + input_arg { + name: "matrix" + type_attr: "T" + } + input_arg { + name: "rhs" + type_attr: "T" + } + input_arg { + name: "l2_regularizer" + type: DT_DOUBLE + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + type: DT_HALF + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } + attr { + name: "fast" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "MatrixSquareRoot" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + type: DT_HALF + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "MatrixTriangularSolve" + input_arg { + name: "matrix" + type_attr: "T" + } + input_arg { + name: "rhs" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "lower" + type: "bool" + default_value { + b: true + } + } + attr { + name: "adjoint" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + type: DT_HALF + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "Max" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "reduction_indices" + type_attr: "Tidx" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "keep_dims" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "MaxIntraOpParallelismDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "max_intra_op_parallelism" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "MaxPool" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_UINT16 + type: DT_QINT8 + } + } + } + attr { + name: "ksize" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "strides" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + s: "EXPLICIT" + } + } + } + attr { + name: "explicit_paddings" + type: "list(int)" + default_value { + list { + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + s: "NCHW_VECT_C" + } + } + } +} +op { + name: "MaxPool3D" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "ksize" + type: "list(int)" + has_minimum: true + minimum: 5 + } + attr { + name: "strides" + type: "list(int)" + has_minimum: true + minimum: 5 + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NDHWC" + } + allowed_values { + list { + s: "NDHWC" + s: "NCDHW" + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + } + } + } +} +op { + name: "MaxPool3DGrad" + input_arg { + name: "orig_input" + type_attr: "TInput" + } + input_arg { + name: "orig_output" + type_attr: "TInput" + } + input_arg { + name: "grad" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "ksize" + type: "list(int)" + has_minimum: true + minimum: 5 + } + attr { + name: "strides" + type: "list(int)" + has_minimum: true + minimum: 5 + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NDHWC" + } + allowed_values { + list { + s: "NDHWC" + s: "NCDHW" + } + } + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + } + } + } + attr { + name: "TInput" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + } + } + } +} +op { + name: "MaxPool3DGradGrad" + input_arg { + name: "orig_input" + type_attr: "T" + } + input_arg { + name: "orig_output" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "ksize" + type: "list(int)" + has_minimum: true + minimum: 5 + } + attr { + name: "strides" + type: "list(int)" + has_minimum: true + minimum: 5 + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NDHWC" + } + allowed_values { + list { + s: "NDHWC" + s: "NCDHW" + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "MaxPoolGrad" + input_arg { + name: "orig_input" + type_attr: "T" + } + input_arg { + name: "orig_output" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "ksize" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "strides" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + s: "EXPLICIT" + } + } + } + attr { + name: "explicit_paddings" + type: "list(int)" + default_value { + list { + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + } + } + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "MaxPoolGradGrad" + input_arg { + name: "orig_input" + type_attr: "T" + } + input_arg { + name: "orig_output" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "ksize" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "strides" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "MaxPoolGradGradV2" + input_arg { + name: "orig_input" + type_attr: "T" + } + input_arg { + name: "orig_output" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "ksize" + type: DT_INT32 + } + input_arg { + name: "strides" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "MaxPoolGradGradWithArgmax" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "argmax" + type_attr: "Targmax" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "ksize" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "strides" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "include_batch_in_index" + type: "bool" + default_value { + b: false + } + } + attr { + name: "Targmax" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "MaxPoolGradV2" + input_arg { + name: "orig_input" + type_attr: "T" + } + input_arg { + name: "orig_output" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "ksize" + type: DT_INT32 + } + input_arg { + name: "strides" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + } + } + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "MaxPoolGradWithArgmax" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "argmax" + type_attr: "Targmax" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "ksize" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "strides" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "include_batch_in_index" + type: "bool" + default_value { + b: false + } + } + attr { + name: "Targmax" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "MaxPoolV2" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "ksize" + type: DT_INT32 + } + input_arg { + name: "strides" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_UINT16 + type: DT_QINT8 + } + } + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + s: "NCHW_VECT_C" + } + } + } +} +op { + name: "MaxPoolWithArgmax" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + output_arg { + name: "argmax" + type_attr: "Targmax" + } + attr { + name: "ksize" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "strides" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "Targmax" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "include_batch_in_index" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "Maximum" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_UINT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "Mean" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "reduction_indices" + type_attr: "Tidx" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "keep_dims" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "Merge" + input_arg { + name: "inputs" + type_attr: "T" + number_attr: "N" + } + output_arg { + name: "output" + type_attr: "T" + } + output_arg { + name: "value_index" + type: DT_INT32 + } + attr { + name: "T" + type: "type" + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } +} +op { + name: "MergeSummary" + input_arg { + name: "inputs" + type: DT_STRING + number_attr: "N" + } + output_arg { + name: "summary" + type: DT_STRING + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } +} +op { + name: "MergeV2Checkpoints" + input_arg { + name: "checkpoint_prefixes" + type: DT_STRING + } + input_arg { + name: "destination_prefix" + type: DT_STRING + } + attr { + name: "delete_old_dirs" + type: "bool" + default_value { + b: true + } + } + is_stateful: true +} +op { + name: "Mfcc" + input_arg { + name: "spectrogram" + type: DT_FLOAT + } + input_arg { + name: "sample_rate" + type: DT_INT32 + } + output_arg { + name: "output" + type: DT_FLOAT + } + attr { + name: "upper_frequency_limit" + type: "float" + default_value { + f: 4000 + } + } + attr { + name: "lower_frequency_limit" + type: "float" + default_value { + f: 20 + } + } + attr { + name: "filterbank_channel_count" + type: "int" + default_value { + i: 40 + } + } + attr { + name: "dct_coefficient_count" + type: "int" + default_value { + i: 13 + } + } +} +op { + name: "Min" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "reduction_indices" + type_attr: "Tidx" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "keep_dims" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "Minimum" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_UINT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "MirrorPad" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "paddings" + type_attr: "Tpaddings" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tpaddings" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "mode" + type: "string" + allowed_values { + list { + s: "REFLECT" + s: "SYMMETRIC" + } + } + } +} +op { + name: "MirrorPadGrad" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "paddings" + type_attr: "Tpaddings" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tpaddings" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "mode" + type: "string" + allowed_values { + list { + s: "REFLECT" + s: "SYMMETRIC" + } + } + } +} +op { + name: "MlirPassthroughOp" + input_arg { + name: "inputs" + type_list_attr: "Tinputs" + } + output_arg { + name: "outputs" + type_list_attr: "Toutputs" + } + attr { + name: "mlir_module" + type: "string" + } + attr { + name: "Tinputs" + type: "list(type)" + has_minimum: true + } + attr { + name: "Toutputs" + type: "list(type)" + has_minimum: true + } +} +op { + name: "Mod" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_HALF + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "ModelDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "algorithm" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "cpu_budget" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "ram_budget" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "Mul" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_UINT8 + type: DT_INT8 + type: DT_UINT16 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } + is_commutative: true +} +op { + name: "MulNoNan" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "MultiDeviceIterator" + output_arg { + name: "handle" + type: DT_RESOURCE + } + attr { + name: "devices" + type: "list(string)" + has_minimum: true + minimum: 1 + } + attr { + name: "shared_name" + type: "string" + } + attr { + name: "container" + type: "string" + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "MultiDeviceIteratorFromStringHandle" + input_arg { + name: "string_handle" + type: DT_STRING + } + output_arg { + name: "multi_device_iterator" + type: DT_RESOURCE + } + attr { + name: "output_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + } + attr { + name: "output_shapes" + type: "list(shape)" + default_value { + list { + } + } + has_minimum: true + } + is_stateful: true +} +op { + name: "MultiDeviceIteratorGetNextFromShard" + input_arg { + name: "multi_device_iterator" + type: DT_RESOURCE + } + input_arg { + name: "shard_num" + type: DT_INT32 + } + input_arg { + name: "incarnation_id" + type: DT_INT64 + } + output_arg { + name: "components" + type_list_attr: "output_types" + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "MultiDeviceIteratorInit" + input_arg { + name: "dataset" + type: DT_VARIANT + } + input_arg { + name: "multi_device_iterator" + type: DT_RESOURCE + } + input_arg { + name: "max_buffer_size" + type: DT_INT64 + } + output_arg { + name: "incarnation_id" + type: DT_INT64 + } + is_stateful: true +} +op { + name: "MultiDeviceIteratorToStringHandle" + input_arg { + name: "multi_device_iterator" + type: DT_RESOURCE + } + output_arg { + name: "string_handle" + type: DT_STRING + } + is_stateful: true +} +op { + name: "Multinomial" + input_arg { + name: "logits" + type_attr: "T" + } + input_arg { + name: "num_samples" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "output_dtype" + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "output_dtype" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + is_stateful: true +} +op { + name: "MutableDenseHashTable" + input_arg { + name: "empty_key" + type_attr: "key_dtype" + } + output_arg { + name: "table_handle" + type: DT_STRING + is_ref: true + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "use_node_name_sharing" + type: "bool" + default_value { + b: false + } + } + attr { + name: "key_dtype" + type: "type" + } + attr { + name: "value_dtype" + type: "type" + } + attr { + name: "value_shape" + type: "shape" + default_value { + shape { + } + } + } + attr { + name: "initial_num_buckets" + type: "int" + default_value { + i: 131072 + } + } + attr { + name: "max_load_factor" + type: "float" + default_value { + f: 0.8 + } + } + is_stateful: true +} +op { + name: "MutableDenseHashTableV2" + input_arg { + name: "empty_key" + type_attr: "key_dtype" + } + input_arg { + name: "deleted_key" + type_attr: "key_dtype" + } + output_arg { + name: "table_handle" + type: DT_RESOURCE + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "use_node_name_sharing" + type: "bool" + default_value { + b: false + } + } + attr { + name: "key_dtype" + type: "type" + } + attr { + name: "value_dtype" + type: "type" + } + attr { + name: "value_shape" + type: "shape" + default_value { + shape { + } + } + } + attr { + name: "initial_num_buckets" + type: "int" + default_value { + i: 131072 + } + } + attr { + name: "max_load_factor" + type: "float" + default_value { + f: 0.8 + } + } + is_stateful: true +} +op { + name: "MutableHashTable" + output_arg { + name: "table_handle" + type: DT_STRING + is_ref: true + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "use_node_name_sharing" + type: "bool" + default_value { + b: false + } + } + attr { + name: "key_dtype" + type: "type" + } + attr { + name: "value_dtype" + type: "type" + } + is_stateful: true +} +op { + name: "MutableHashTableOfTensors" + output_arg { + name: "table_handle" + type: DT_STRING + is_ref: true + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "use_node_name_sharing" + type: "bool" + default_value { + b: false + } + } + attr { + name: "key_dtype" + type: "type" + } + attr { + name: "value_dtype" + type: "type" + } + attr { + name: "value_shape" + type: "shape" + default_value { + shape { + } + } + } + is_stateful: true +} +op { + name: "MutableHashTableOfTensorsV2" + output_arg { + name: "table_handle" + type: DT_RESOURCE + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "use_node_name_sharing" + type: "bool" + default_value { + b: false + } + } + attr { + name: "key_dtype" + type: "type" + } + attr { + name: "value_dtype" + type: "type" + } + attr { + name: "value_shape" + type: "shape" + default_value { + shape { + } + } + } + is_stateful: true +} +op { + name: "MutableHashTableV2" + output_arg { + name: "table_handle" + type: DT_RESOURCE + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "use_node_name_sharing" + type: "bool" + default_value { + b: false + } + } + attr { + name: "key_dtype" + type: "type" + } + attr { + name: "value_dtype" + type: "type" + } + is_stateful: true +} +op { + name: "MutexLock" + input_arg { + name: "mutex" + type: DT_RESOURCE + } + output_arg { + name: "mutex_lock" + type: DT_VARIANT + } + is_stateful: true +} +op { + name: "MutexV2" + output_arg { + name: "resource" + type: DT_RESOURCE + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "NcclAllReduce" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "data" + type_attr: "T" + } + attr { + name: "reduction" + type: "string" + allowed_values { + list { + s: "min" + s: "max" + s: "prod" + s: "sum" + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "num_devices" + type: "int" + } + attr { + name: "shared_name" + type: "string" + } + is_stateful: true +} +op { + name: "NcclBroadcast" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "shape" + type: "shape" + } + is_stateful: true +} +op { + name: "NcclReduce" + input_arg { + name: "input" + type_attr: "T" + number_attr: "num_devices" + } + output_arg { + name: "data" + type_attr: "T" + } + attr { + name: "reduction" + type: "string" + allowed_values { + list { + s: "min" + s: "max" + s: "prod" + s: "sum" + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "num_devices" + type: "int" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "Ndtri" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "NearestNeighbors" + input_arg { + name: "points" + type: DT_FLOAT + } + input_arg { + name: "centers" + type: DT_FLOAT + } + input_arg { + name: "k" + type: DT_INT64 + } + output_arg { + name: "nearest_center_indices" + type: DT_INT64 + } + output_arg { + name: "nearest_center_distances" + type: DT_FLOAT + } +} +op { + name: "Neg" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "NegTrain" + input_arg { + name: "w_in" + type: DT_FLOAT + is_ref: true + } + input_arg { + name: "w_out" + type: DT_FLOAT + is_ref: true + } + input_arg { + name: "examples" + type: DT_INT32 + } + input_arg { + name: "labels" + type: DT_INT32 + } + input_arg { + name: "lr" + type: DT_FLOAT + } + attr { + name: "vocab_count" + type: "list(int)" + } + attr { + name: "num_negative_samples" + type: "int" + } + deprecation { + version: 19 + explanation: "Moving word2vec into tensorflow_models/tutorials and deprecating its ops here as a result" + } + is_stateful: true +} +op { + name: "NextAfter" + input_arg { + name: "x1" + type_attr: "T" + } + input_arg { + name: "x2" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + } + } + } +} +op { + name: "NextIteration" + input_arg { + name: "data" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } +} +op { + name: "NoOp" +} +op { + name: "NonDeterministicInts" + input_arg { + name: "shape" + type_attr: "shape_dtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_INT64 + } + } + attr { + name: "shape_dtype" + type: "type" + default_value { + type: DT_INT64 + } + } + is_stateful: true +} +op { + name: "NonMaxSuppression" + input_arg { + name: "boxes" + type: DT_FLOAT + } + input_arg { + name: "scores" + type: DT_FLOAT + } + input_arg { + name: "max_output_size" + type: DT_INT32 + } + output_arg { + name: "selected_indices" + type: DT_INT32 + } + attr { + name: "iou_threshold" + type: "float" + default_value { + f: 0.5 + } + } +} +op { + name: "NonMaxSuppressionV2" + input_arg { + name: "boxes" + type_attr: "T" + } + input_arg { + name: "scores" + type_attr: "T" + } + input_arg { + name: "max_output_size" + type: DT_INT32 + } + input_arg { + name: "iou_threshold" + type_attr: "T_threshold" + } + output_arg { + name: "selected_indices" + type: DT_INT32 + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } + attr { + name: "T_threshold" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } +} +op { + name: "NonMaxSuppressionV3" + input_arg { + name: "boxes" + type_attr: "T" + } + input_arg { + name: "scores" + type_attr: "T" + } + input_arg { + name: "max_output_size" + type: DT_INT32 + } + input_arg { + name: "iou_threshold" + type_attr: "T_threshold" + } + input_arg { + name: "score_threshold" + type_attr: "T_threshold" + } + output_arg { + name: "selected_indices" + type: DT_INT32 + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } + attr { + name: "T_threshold" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } +} +op { + name: "NonMaxSuppressionV4" + input_arg { + name: "boxes" + type_attr: "T" + } + input_arg { + name: "scores" + type_attr: "T" + } + input_arg { + name: "max_output_size" + type: DT_INT32 + } + input_arg { + name: "iou_threshold" + type_attr: "T_threshold" + } + input_arg { + name: "score_threshold" + type_attr: "T_threshold" + } + output_arg { + name: "selected_indices" + type: DT_INT32 + } + output_arg { + name: "valid_outputs" + type: DT_INT32 + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } + attr { + name: "T_threshold" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } + attr { + name: "pad_to_max_output_size" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "NonMaxSuppressionV5" + input_arg { + name: "boxes" + type_attr: "T" + } + input_arg { + name: "scores" + type_attr: "T" + } + input_arg { + name: "max_output_size" + type: DT_INT32 + } + input_arg { + name: "iou_threshold" + type_attr: "T" + } + input_arg { + name: "score_threshold" + type_attr: "T" + } + input_arg { + name: "soft_nms_sigma" + type_attr: "T" + } + output_arg { + name: "selected_indices" + type: DT_INT32 + } + output_arg { + name: "selected_scores" + type_attr: "T" + } + output_arg { + name: "valid_outputs" + type: DT_INT32 + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + } + } + } + attr { + name: "pad_to_max_output_size" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "NonMaxSuppressionWithOverlaps" + input_arg { + name: "overlaps" + type: DT_FLOAT + } + input_arg { + name: "scores" + type: DT_FLOAT + } + input_arg { + name: "max_output_size" + type: DT_INT32 + } + input_arg { + name: "overlap_threshold" + type: DT_FLOAT + } + input_arg { + name: "score_threshold" + type: DT_FLOAT + } + output_arg { + name: "selected_indices" + type: DT_INT32 + } +} +op { + name: "NonSerializableDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "NotEqual" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type: DT_BOOL + } + attr { + name: "T" + type: "type" + } + attr { + name: "incompatible_shape_error" + type: "bool" + default_value { + b: true + } + } + is_commutative: true +} +op { + name: "NthElement" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "n" + type: DT_INT32 + } + output_arg { + name: "values" + type_attr: "T" + } + attr { + name: "reverse" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "OneHot" + input_arg { + name: "indices" + type_attr: "TI" + } + input_arg { + name: "depth" + type: DT_INT32 + } + input_arg { + name: "on_value" + type_attr: "T" + } + input_arg { + name: "off_value" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "axis" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "T" + type: "type" + } + attr { + name: "TI" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_UINT8 + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "OneShotIterator" + output_arg { + name: "handle" + type: DT_RESOURCE + } + attr { + name: "dataset_factory" + type: "func" + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "OnesLike" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT8 + type: DT_UINT8 + type: DT_INT16 + type: DT_UINT16 + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + type: DT_BOOL + } + } + } +} +op { + name: "OptimizeDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "optimizations" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "optimization_configs" + type: "list(string)" + default_value { + list { + } + } + } +} +op { + name: "OptimizeDatasetV2" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "optimizations_enabled" + type: DT_STRING + } + input_arg { + name: "optimizations_disabled" + type: DT_STRING + } + input_arg { + name: "optimizations_default" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "optimization_configs" + type: "list(string)" + default_value { + list { + } + } + } +} +op { + name: "OptionalFromValue" + input_arg { + name: "components" + type_list_attr: "Toutput_types" + } + output_arg { + name: "optional" + type: DT_VARIANT + } + attr { + name: "Toutput_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } +} +op { + name: "OptionalGetValue" + input_arg { + name: "optional" + type: DT_VARIANT + } + output_arg { + name: "components" + type_list_attr: "output_types" + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "OptionalHasValue" + input_arg { + name: "optional" + type: DT_VARIANT + } + output_arg { + name: "has_value" + type: DT_BOOL + } +} +op { + name: "OptionalNone" + output_arg { + name: "optional" + type: DT_VARIANT + } +} +op { + name: "OrderedMapClear" + attr { + name: "capacity" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "memory_limit" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "dtypes" + type: "list(type)" + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "OrderedMapIncompleteSize" + output_arg { + name: "size" + type: DT_INT32 + } + attr { + name: "capacity" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "memory_limit" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "dtypes" + type: "list(type)" + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "OrderedMapPeek" + input_arg { + name: "key" + type: DT_INT64 + } + input_arg { + name: "indices" + type: DT_INT32 + } + output_arg { + name: "values" + type_list_attr: "dtypes" + } + attr { + name: "capacity" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "memory_limit" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "dtypes" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "OrderedMapSize" + output_arg { + name: "size" + type: DT_INT32 + } + attr { + name: "capacity" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "memory_limit" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "dtypes" + type: "list(type)" + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "OrderedMapStage" + input_arg { + name: "key" + type: DT_INT64 + } + input_arg { + name: "indices" + type: DT_INT32 + } + input_arg { + name: "values" + type_list_attr: "fake_dtypes" + } + attr { + name: "capacity" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "memory_limit" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "dtypes" + type: "list(type)" + } + attr { + name: "fake_dtypes" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "OrderedMapUnstage" + input_arg { + name: "key" + type: DT_INT64 + } + input_arg { + name: "indices" + type: DT_INT32 + } + output_arg { + name: "values" + type_list_attr: "dtypes" + } + attr { + name: "capacity" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "memory_limit" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "dtypes" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "OrderedMapUnstageNoKey" + input_arg { + name: "indices" + type: DT_INT32 + } + output_arg { + name: "key" + type: DT_INT64 + } + output_arg { + name: "values" + type_list_attr: "dtypes" + } + attr { + name: "capacity" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "memory_limit" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "dtypes" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "OutfeedDequeue" + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "shape" + type: "shape" + } + attr { + name: "device_ordinal" + type: "int" + default_value { + i: -1 + } + } + is_stateful: true +} +op { + name: "OutfeedDequeueTuple" + output_arg { + name: "outputs" + type_list_attr: "dtypes" + } + attr { + name: "dtypes" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "shapes" + type: "list(shape)" + } + attr { + name: "device_ordinal" + type: "int" + default_value { + i: -1 + } + } + is_stateful: true +} +op { + name: "OutfeedDequeueTupleV2" + input_arg { + name: "device_ordinal" + type: DT_INT32 + } + output_arg { + name: "outputs" + type_list_attr: "dtypes" + } + attr { + name: "dtypes" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "shapes" + type: "list(shape)" + } + is_stateful: true +} +op { + name: "OutfeedDequeueV2" + input_arg { + name: "device_ordinal" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "shape" + type: "shape" + } + is_stateful: true +} +op { + name: "OutfeedEnqueue" + input_arg { + name: "input" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + is_stateful: true +} +op { + name: "OutfeedEnqueueTuple" + input_arg { + name: "inputs" + type_list_attr: "dtypes" + } + attr { + name: "dtypes" + type: "list(type)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "Pack" + input_arg { + name: "values" + type_attr: "T" + number_attr: "N" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "T" + type: "type" + } + attr { + name: "axis" + type: "int" + default_value { + i: 0 + } + } +} +op { + name: "Pad" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "paddings" + type_attr: "Tpaddings" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tpaddings" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "PadV2" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "paddings" + type_attr: "Tpaddings" + } + input_arg { + name: "constant_values" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tpaddings" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "PaddedBatchDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "batch_size" + type: DT_INT64 + } + input_arg { + name: "padded_shapes" + type: DT_INT64 + number_attr: "N" + } + input_arg { + name: "padding_values" + type_list_attr: "Toutput_types" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "Toutput_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } +} +op { + name: "PaddedBatchDatasetV2" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "batch_size" + type: DT_INT64 + } + input_arg { + name: "padded_shapes" + type: DT_INT64 + number_attr: "N" + } + input_arg { + name: "padding_values" + type_list_attr: "Toutput_types" + } + input_arg { + name: "drop_remainder" + type: DT_BOOL + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "parallel_copy" + type: "bool" + default_value { + b: false + } + } + attr { + name: "Toutput_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } +} +op { + name: "PaddingFIFOQueue" + output_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + attr { + name: "component_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "shapes" + type: "list(shape)" + default_value { + list { + } + } + has_minimum: true + } + attr { + name: "capacity" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "PaddingFIFOQueueV2" + output_arg { + name: "handle" + type: DT_RESOURCE + } + attr { + name: "component_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "shapes" + type: "list(shape)" + default_value { + list { + } + } + has_minimum: true + } + attr { + name: "capacity" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "ParallelConcat" + input_arg { + name: "values" + type_attr: "T" + number_attr: "N" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "T" + type: "type" + } + attr { + name: "shape" + type: "shape" + } +} +op { + name: "ParallelDynamicStitch" + input_arg { + name: "indices" + type: DT_INT32 + number_attr: "N" + } + input_arg { + name: "data" + type_attr: "T" + number_attr: "N" + } + output_arg { + name: "merged" + type_attr: "T" + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "T" + type: "type" + } +} +op { + name: "ParallelInterleaveDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + input_arg { + name: "cycle_length" + type: DT_INT64 + } + input_arg { + name: "block_length" + type: DT_INT64 + } + input_arg { + name: "sloppy" + type: DT_BOOL + } + input_arg { + name: "buffer_output_elements" + type: DT_INT64 + } + input_arg { + name: "prefetch_input_elements" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "f" + type: "func" + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ParallelInterleaveDatasetV2" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + input_arg { + name: "cycle_length" + type: DT_INT64 + } + input_arg { + name: "block_length" + type: DT_INT64 + } + input_arg { + name: "num_parallel_calls" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "f" + type: "func" + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "sloppy" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ParallelInterleaveDatasetV3" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + input_arg { + name: "cycle_length" + type: DT_INT64 + } + input_arg { + name: "block_length" + type: DT_INT64 + } + input_arg { + name: "num_parallel_calls" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "f" + type: "func" + } + attr { + name: "deterministic" + type: "string" + default_value { + s: "default" + } + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ParallelInterleaveDatasetV4" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + input_arg { + name: "cycle_length" + type: DT_INT64 + } + input_arg { + name: "block_length" + type: DT_INT64 + } + input_arg { + name: "buffer_output_elements" + type: DT_INT64 + } + input_arg { + name: "prefetch_input_elements" + type: DT_INT64 + } + input_arg { + name: "num_parallel_calls" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "f" + type: "func" + } + attr { + name: "deterministic" + type: "string" + default_value { + s: "default" + } + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ParallelMapDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + input_arg { + name: "num_parallel_calls" + type: DT_INT32 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "f" + type: "func" + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "use_inter_op_parallelism" + type: "bool" + default_value { + b: true + } + } + attr { + name: "sloppy" + type: "bool" + default_value { + b: false + } + } + attr { + name: "preserve_cardinality" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ParallelMapDatasetV2" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + input_arg { + name: "num_parallel_calls" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "f" + type: "func" + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "use_inter_op_parallelism" + type: "bool" + default_value { + b: true + } + } + attr { + name: "deterministic" + type: "string" + default_value { + s: "default" + } + } + attr { + name: "preserve_cardinality" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ParameterizedTruncatedNormal" + input_arg { + name: "shape" + type_attr: "T" + } + input_arg { + name: "means" + type_attr: "dtype" + } + input_arg { + name: "stdevs" + type_attr: "dtype" + } + input_arg { + name: "minvals" + type_attr: "dtype" + } + input_arg { + name: "maxvals" + type_attr: "dtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + is_stateful: true +} +op { + name: "ParseExample" + input_arg { + name: "serialized" + type: DT_STRING + } + input_arg { + name: "names" + type: DT_STRING + } + input_arg { + name: "sparse_keys" + type: DT_STRING + number_attr: "Nsparse" + } + input_arg { + name: "dense_keys" + type: DT_STRING + number_attr: "Ndense" + } + input_arg { + name: "dense_defaults" + type_list_attr: "Tdense" + } + output_arg { + name: "sparse_indices" + type: DT_INT64 + number_attr: "Nsparse" + } + output_arg { + name: "sparse_values" + type_list_attr: "sparse_types" + } + output_arg { + name: "sparse_shapes" + type: DT_INT64 + number_attr: "Nsparse" + } + output_arg { + name: "dense_values" + type_list_attr: "Tdense" + } + attr { + name: "Nsparse" + type: "int" + has_minimum: true + } + attr { + name: "Ndense" + type: "int" + has_minimum: true + } + attr { + name: "sparse_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "Tdense" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "dense_shapes" + type: "list(shape)" + has_minimum: true + } +} +op { + name: "ParseExampleDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "num_parallel_calls" + type: DT_INT64 + } + input_arg { + name: "dense_defaults" + type_list_attr: "Tdense" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "sparse_keys" + type: "list(string)" + has_minimum: true + } + attr { + name: "dense_keys" + type: "list(string)" + has_minimum: true + } + attr { + name: "sparse_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "Tdense" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "dense_shapes" + type: "list(shape)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "sloppy" + type: "bool" + default_value { + b: false + } + } + attr { + name: "ragged_keys" + type: "list(string)" + default_value { + list { + } + } + has_minimum: true + } + attr { + name: "ragged_value_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "ragged_split_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "ParseExampleDatasetV2" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "num_parallel_calls" + type: DT_INT64 + } + input_arg { + name: "dense_defaults" + type_list_attr: "Tdense" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "sparse_keys" + type: "list(string)" + has_minimum: true + } + attr { + name: "dense_keys" + type: "list(string)" + has_minimum: true + } + attr { + name: "sparse_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "Tdense" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "dense_shapes" + type: "list(shape)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "deterministic" + type: "string" + default_value { + s: "default" + } + } + attr { + name: "ragged_keys" + type: "list(string)" + default_value { + list { + } + } + has_minimum: true + } + attr { + name: "ragged_value_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "ragged_split_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "ParseExampleV2" + input_arg { + name: "serialized" + type: DT_STRING + } + input_arg { + name: "names" + type: DT_STRING + } + input_arg { + name: "sparse_keys" + type: DT_STRING + } + input_arg { + name: "dense_keys" + type: DT_STRING + } + input_arg { + name: "ragged_keys" + type: DT_STRING + } + input_arg { + name: "dense_defaults" + type_list_attr: "Tdense" + } + output_arg { + name: "sparse_indices" + type: DT_INT64 + number_attr: "num_sparse" + } + output_arg { + name: "sparse_values" + type_list_attr: "sparse_types" + } + output_arg { + name: "sparse_shapes" + type: DT_INT64 + number_attr: "num_sparse" + } + output_arg { + name: "dense_values" + type_list_attr: "Tdense" + } + output_arg { + name: "ragged_values" + type_list_attr: "ragged_value_types" + } + output_arg { + name: "ragged_row_splits" + type_list_attr: "ragged_split_types" + } + attr { + name: "Tdense" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "num_sparse" + type: "int" + has_minimum: true + } + attr { + name: "sparse_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "ragged_value_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "ragged_split_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "dense_shapes" + type: "list(shape)" + has_minimum: true + } +} +op { + name: "ParseSequenceExample" + input_arg { + name: "serialized" + type: DT_STRING + } + input_arg { + name: "debug_name" + type: DT_STRING + } + input_arg { + name: "context_dense_defaults" + type_list_attr: "Tcontext_dense" + } + output_arg { + name: "context_sparse_indices" + type: DT_INT64 + number_attr: "Ncontext_sparse" + } + output_arg { + name: "context_sparse_values" + type_list_attr: "context_sparse_types" + } + output_arg { + name: "context_sparse_shapes" + type: DT_INT64 + number_attr: "Ncontext_sparse" + } + output_arg { + name: "context_dense_values" + type_list_attr: "Tcontext_dense" + } + output_arg { + name: "feature_list_sparse_indices" + type: DT_INT64 + number_attr: "Nfeature_list_sparse" + } + output_arg { + name: "feature_list_sparse_values" + type_list_attr: "feature_list_sparse_types" + } + output_arg { + name: "feature_list_sparse_shapes" + type: DT_INT64 + number_attr: "Nfeature_list_sparse" + } + output_arg { + name: "feature_list_dense_values" + type_list_attr: "feature_list_dense_types" + } + output_arg { + name: "feature_list_dense_lengths" + type: DT_INT64 + number_attr: "Nfeature_list_dense" + } + attr { + name: "feature_list_dense_missing_assumed_empty" + type: "list(string)" + has_minimum: true + } + attr { + name: "context_sparse_keys" + type: "list(string)" + has_minimum: true + } + attr { + name: "context_dense_keys" + type: "list(string)" + has_minimum: true + } + attr { + name: "feature_list_sparse_keys" + type: "list(string)" + has_minimum: true + } + attr { + name: "feature_list_dense_keys" + type: "list(string)" + has_minimum: true + } + attr { + name: "Ncontext_sparse" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "Ncontext_dense" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "Nfeature_list_sparse" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "Nfeature_list_dense" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "context_sparse_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "Tcontext_dense" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "feature_list_dense_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "context_dense_shapes" + type: "list(shape)" + default_value { + list { + } + } + has_minimum: true + } + attr { + name: "feature_list_sparse_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "feature_list_dense_shapes" + type: "list(shape)" + default_value { + list { + } + } + has_minimum: true + } +} +op { + name: "ParseSequenceExampleV2" + input_arg { + name: "serialized" + type: DT_STRING + } + input_arg { + name: "debug_name" + type: DT_STRING + } + input_arg { + name: "context_sparse_keys" + type: DT_STRING + } + input_arg { + name: "context_dense_keys" + type: DT_STRING + } + input_arg { + name: "context_ragged_keys" + type: DT_STRING + } + input_arg { + name: "feature_list_sparse_keys" + type: DT_STRING + } + input_arg { + name: "feature_list_dense_keys" + type: DT_STRING + } + input_arg { + name: "feature_list_ragged_keys" + type: DT_STRING + } + input_arg { + name: "feature_list_dense_missing_assumed_empty" + type: DT_BOOL + } + input_arg { + name: "context_dense_defaults" + type_list_attr: "Tcontext_dense" + } + output_arg { + name: "context_sparse_indices" + type: DT_INT64 + number_attr: "Ncontext_sparse" + } + output_arg { + name: "context_sparse_values" + type_list_attr: "context_sparse_types" + } + output_arg { + name: "context_sparse_shapes" + type: DT_INT64 + number_attr: "Ncontext_sparse" + } + output_arg { + name: "context_dense_values" + type_list_attr: "Tcontext_dense" + } + output_arg { + name: "context_ragged_values" + type_list_attr: "context_ragged_value_types" + } + output_arg { + name: "context_ragged_row_splits" + type_list_attr: "context_ragged_split_types" + } + output_arg { + name: "feature_list_sparse_indices" + type: DT_INT64 + number_attr: "Nfeature_list_sparse" + } + output_arg { + name: "feature_list_sparse_values" + type_list_attr: "feature_list_sparse_types" + } + output_arg { + name: "feature_list_sparse_shapes" + type: DT_INT64 + number_attr: "Nfeature_list_sparse" + } + output_arg { + name: "feature_list_dense_values" + type_list_attr: "feature_list_dense_types" + } + output_arg { + name: "feature_list_dense_lengths" + type: DT_INT64 + number_attr: "Nfeature_list_dense" + } + output_arg { + name: "feature_list_ragged_values" + type_list_attr: "feature_list_ragged_value_types" + } + output_arg { + name: "feature_list_ragged_outer_splits" + type_list_attr: "feature_list_ragged_split_types" + } + output_arg { + name: "feature_list_ragged_inner_splits" + type_list_attr: "feature_list_ragged_split_types" + } + attr { + name: "Ncontext_sparse" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "Tcontext_dense" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "context_sparse_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "context_ragged_value_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "context_ragged_split_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "context_dense_shapes" + type: "list(shape)" + default_value { + list { + } + } + has_minimum: true + } + attr { + name: "Nfeature_list_sparse" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "Nfeature_list_dense" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "feature_list_dense_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "feature_list_sparse_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "feature_list_ragged_value_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "feature_list_ragged_split_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "feature_list_dense_shapes" + type: "list(shape)" + default_value { + list { + } + } + has_minimum: true + } +} +op { + name: "ParseSingleExample" + input_arg { + name: "serialized" + type: DT_STRING + } + input_arg { + name: "dense_defaults" + type_list_attr: "Tdense" + } + output_arg { + name: "sparse_indices" + type: DT_INT64 + number_attr: "num_sparse" + } + output_arg { + name: "sparse_values" + type_list_attr: "sparse_types" + } + output_arg { + name: "sparse_shapes" + type: DT_INT64 + number_attr: "num_sparse" + } + output_arg { + name: "dense_values" + type_list_attr: "Tdense" + } + attr { + name: "num_sparse" + type: "int" + has_minimum: true + } + attr { + name: "sparse_keys" + type: "list(string)" + has_minimum: true + } + attr { + name: "dense_keys" + type: "list(string)" + has_minimum: true + } + attr { + name: "sparse_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "Tdense" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "dense_shapes" + type: "list(shape)" + has_minimum: true + } +} +op { + name: "ParseSingleSequenceExample" + input_arg { + name: "serialized" + type: DT_STRING + } + input_arg { + name: "feature_list_dense_missing_assumed_empty" + type: DT_STRING + } + input_arg { + name: "context_sparse_keys" + type: DT_STRING + number_attr: "Ncontext_sparse" + } + input_arg { + name: "context_dense_keys" + type: DT_STRING + number_attr: "Ncontext_dense" + } + input_arg { + name: "feature_list_sparse_keys" + type: DT_STRING + number_attr: "Nfeature_list_sparse" + } + input_arg { + name: "feature_list_dense_keys" + type: DT_STRING + number_attr: "Nfeature_list_dense" + } + input_arg { + name: "context_dense_defaults" + type_list_attr: "Tcontext_dense" + } + input_arg { + name: "debug_name" + type: DT_STRING + } + output_arg { + name: "context_sparse_indices" + type: DT_INT64 + number_attr: "Ncontext_sparse" + } + output_arg { + name: "context_sparse_values" + type_list_attr: "context_sparse_types" + } + output_arg { + name: "context_sparse_shapes" + type: DT_INT64 + number_attr: "Ncontext_sparse" + } + output_arg { + name: "context_dense_values" + type_list_attr: "Tcontext_dense" + } + output_arg { + name: "feature_list_sparse_indices" + type: DT_INT64 + number_attr: "Nfeature_list_sparse" + } + output_arg { + name: "feature_list_sparse_values" + type_list_attr: "feature_list_sparse_types" + } + output_arg { + name: "feature_list_sparse_shapes" + type: DT_INT64 + number_attr: "Nfeature_list_sparse" + } + output_arg { + name: "feature_list_dense_values" + type_list_attr: "feature_list_dense_types" + } + attr { + name: "Ncontext_sparse" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "Ncontext_dense" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "Nfeature_list_sparse" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "Nfeature_list_dense" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "context_sparse_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "Tcontext_dense" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "feature_list_dense_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "context_dense_shapes" + type: "list(shape)" + default_value { + list { + } + } + has_minimum: true + } + attr { + name: "feature_list_sparse_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + allowed_values { + list { + type: DT_FLOAT + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "feature_list_dense_shapes" + type: "list(shape)" + default_value { + list { + } + } + has_minimum: true + } +} +op { + name: "ParseTensor" + input_arg { + name: "serialized" + type: DT_STRING + } + output_arg { + name: "output" + type_attr: "out_type" + } + attr { + name: "out_type" + type: "type" + } +} +op { + name: "PartitionedCall" + input_arg { + name: "args" + type_list_attr: "Tin" + } + output_arg { + name: "output" + type_list_attr: "Tout" + } + attr { + name: "Tin" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tout" + type: "list(type)" + has_minimum: true + } + attr { + name: "f" + type: "func" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + attr { + name: "config_proto" + type: "string" + default_value { + s: "" + } + } + attr { + name: "executor_type" + type: "string" + default_value { + s: "" + } + } +} +op { + name: "Placeholder" + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "shape" + type: "shape" + default_value { + shape { + unknown_rank: true + } + } + } +} +op { + name: "PlaceholderV2" + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "shape" + type: "shape" + } + deprecation { + version: 23 + explanation: "Placeholder now behaves the same as PlaceholderV2." + } +} +op { + name: "PlaceholderWithDefault" + input_arg { + name: "input" + type_attr: "dtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "shape" + type: "shape" + } +} +op { + name: "Polygamma" + input_arg { + name: "a" + type_attr: "T" + } + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "PopulationCount" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type: DT_UINT8 + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_UINT8 + type: DT_UINT16 + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "Pow" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_HALF + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "PrefetchDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "buffer_size" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "slack_period" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "legacy_autotune" + type: "bool" + default_value { + b: true + } + } + attr { + name: "buffer_size_min" + type: "int" + default_value { + i: 0 + } + } +} +op { + name: "Prelinearize" + input_arg { + name: "input" + type_attr: "dtype" + } + output_arg { + name: "output" + type: DT_VARIANT + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "shape" + type: "shape" + default_value { + shape { + } + } + } + attr { + name: "layout" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "PrelinearizeTuple" + input_arg { + name: "inputs" + type_list_attr: "dtypes" + } + output_arg { + name: "output" + type: DT_VARIANT + } + attr { + name: "dtypes" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "shapes" + type: "list(shape)" + } + attr { + name: "layouts" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "PreventGradient" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "message" + type: "string" + default_value { + s: "" + } + } +} +op { + name: "Print" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "data" + type_list_attr: "U" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "U" + type: "list(type)" + has_minimum: true + } + attr { + name: "message" + type: "string" + default_value { + s: "" + } + } + attr { + name: "first_n" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "summarize" + type: "int" + default_value { + i: 3 + } + } + is_stateful: true +} +op { + name: "PrintV2" + input_arg { + name: "input" + type: DT_STRING + } + attr { + name: "output_stream" + type: "string" + default_value { + s: "stderr" + } + } + attr { + name: "end" + type: "string" + default_value { + s: "\n" + } + } + is_stateful: true +} +op { + name: "PriorityQueue" + output_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + attr { + name: "component_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + } + attr { + name: "shapes" + type: "list(shape)" + has_minimum: true + } + attr { + name: "capacity" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "PriorityQueueV2" + output_arg { + name: "handle" + type: DT_RESOURCE + } + attr { + name: "component_types" + type: "list(type)" + default_value { + list { + } + } + has_minimum: true + } + attr { + name: "shapes" + type: "list(shape)" + has_minimum: true + } + attr { + name: "capacity" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "PrivateThreadPoolDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "num_threads" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "Prod" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "reduction_indices" + type_attr: "Tidx" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "keep_dims" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "PyFunc" + input_arg { + name: "input" + type_list_attr: "Tin" + } + output_arg { + name: "output" + type_list_attr: "Tout" + } + attr { + name: "token" + type: "string" + } + attr { + name: "Tin" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tout" + type: "list(type)" + has_minimum: true + } + is_stateful: true +} +op { + name: "PyFuncStateless" + input_arg { + name: "input" + type_list_attr: "Tin" + } + output_arg { + name: "output" + type_list_attr: "Tout" + } + attr { + name: "token" + type: "string" + } + attr { + name: "Tin" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tout" + type: "list(type)" + has_minimum: true + } +} +op { + name: "Qr" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "q" + type_attr: "T" + } + output_arg { + name: "r" + type_attr: "T" + } + attr { + name: "full_matrices" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + type: DT_HALF + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "QuantizeAndDequantize" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "signed_input" + type: "bool" + default_value { + b: true + } + } + attr { + name: "num_bits" + type: "int" + default_value { + i: 8 + } + } + attr { + name: "range_given" + type: "bool" + default_value { + b: false + } + } + attr { + name: "input_min" + type: "float" + default_value { + f: 0 + } + } + attr { + name: "input_max" + type: "float" + default_value { + f: 0 + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + deprecation { + version: 22 + explanation: "Replaced by QuantizeAndDequantizeV2" + } +} +op { + name: "QuantizeAndDequantizeV2" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "input_min" + type_attr: "T" + } + input_arg { + name: "input_max" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "signed_input" + type: "bool" + default_value { + b: true + } + } + attr { + name: "num_bits" + type: "int" + default_value { + i: 8 + } + } + attr { + name: "range_given" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "round_mode" + type: "string" + default_value { + s: "HALF_TO_EVEN" + } + allowed_values { + list { + s: "HALF_TO_EVEN" + s: "HALF_UP" + } + } + } + attr { + name: "narrow_range" + type: "bool" + default_value { + b: false + } + } + attr { + name: "axis" + type: "int" + default_value { + i: -1 + } + } +} +op { + name: "QuantizeAndDequantizeV3" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "input_min" + type_attr: "T" + } + input_arg { + name: "input_max" + type_attr: "T" + } + input_arg { + name: "num_bits" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "signed_input" + type: "bool" + default_value { + b: true + } + } + attr { + name: "range_given" + type: "bool" + default_value { + b: true + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "narrow_range" + type: "bool" + default_value { + b: false + } + } + attr { + name: "axis" + type: "int" + default_value { + i: -1 + } + } +} +op { + name: "QuantizeAndDequantizeV4" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "input_min" + type_attr: "T" + } + input_arg { + name: "input_max" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "signed_input" + type: "bool" + default_value { + b: true + } + } + attr { + name: "num_bits" + type: "int" + default_value { + i: 8 + } + } + attr { + name: "range_given" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "round_mode" + type: "string" + default_value { + s: "HALF_TO_EVEN" + } + allowed_values { + list { + s: "HALF_TO_EVEN" + s: "HALF_UP" + } + } + } + attr { + name: "narrow_range" + type: "bool" + default_value { + b: false + } + } + attr { + name: "axis" + type: "int" + default_value { + i: -1 + } + } +} +op { + name: "QuantizeAndDequantizeV4Grad" + input_arg { + name: "gradients" + type_attr: "T" + } + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "input_min" + type_attr: "T" + } + input_arg { + name: "input_max" + type_attr: "T" + } + output_arg { + name: "input_backprop" + type_attr: "T" + } + output_arg { + name: "input_min_backprop" + type_attr: "T" + } + output_arg { + name: "input_max_backprop" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "axis" + type: "int" + default_value { + i: -1 + } + } +} +op { + name: "QuantizeDownAndShrinkRange" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "input_min" + type: DT_FLOAT + } + input_arg { + name: "input_max" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "output_min" + type: DT_FLOAT + } + output_arg { + name: "output_max" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } +} +op { + name: "QuantizeV2" + input_arg { + name: "input" + type: DT_FLOAT + } + input_arg { + name: "min_range" + type: DT_FLOAT + } + input_arg { + name: "max_range" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "T" + } + output_arg { + name: "output_min" + type: DT_FLOAT + } + output_arg { + name: "output_max" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "mode" + type: "string" + default_value { + s: "MIN_COMBINED" + } + allowed_values { + list { + s: "MIN_COMBINED" + s: "MIN_FIRST" + s: "SCALED" + } + } + } + attr { + name: "round_mode" + type: "string" + default_value { + s: "HALF_AWAY_FROM_ZERO" + } + allowed_values { + list { + s: "HALF_AWAY_FROM_ZERO" + s: "HALF_TO_EVEN" + } + } + } + attr { + name: "narrow_range" + type: "bool" + default_value { + b: false + } + } + attr { + name: "axis" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "ensure_minimum_range" + type: "float" + default_value { + f: 0.01 + } + } +} +op { + name: "QuantizedAdd" + input_arg { + name: "x" + type_attr: "T1" + } + input_arg { + name: "y" + type_attr: "T2" + } + input_arg { + name: "min_x" + type: DT_FLOAT + } + input_arg { + name: "max_x" + type: DT_FLOAT + } + input_arg { + name: "min_y" + type: DT_FLOAT + } + input_arg { + name: "max_y" + type: DT_FLOAT + } + output_arg { + name: "z" + type_attr: "Toutput" + } + output_arg { + name: "min_z" + type: DT_FLOAT + } + output_arg { + name: "max_z" + type: DT_FLOAT + } + attr { + name: "T1" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "T2" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Toutput" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } +} +op { + name: "QuantizedAvgPool" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "T" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "ksize" + type: "list(int)" + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } +} +op { + name: "QuantizedBatchNormWithGlobalNormalization" + input_arg { + name: "t" + type_attr: "Tinput" + } + input_arg { + name: "t_min" + type: DT_FLOAT + } + input_arg { + name: "t_max" + type: DT_FLOAT + } + input_arg { + name: "m" + type_attr: "Tinput" + } + input_arg { + name: "m_min" + type: DT_FLOAT + } + input_arg { + name: "m_max" + type: DT_FLOAT + } + input_arg { + name: "v" + type_attr: "Tinput" + } + input_arg { + name: "v_min" + type: DT_FLOAT + } + input_arg { + name: "v_max" + type: DT_FLOAT + } + input_arg { + name: "beta" + type_attr: "Tinput" + } + input_arg { + name: "beta_min" + type: DT_FLOAT + } + input_arg { + name: "beta_max" + type: DT_FLOAT + } + input_arg { + name: "gamma" + type_attr: "Tinput" + } + input_arg { + name: "gamma_min" + type: DT_FLOAT + } + input_arg { + name: "gamma_max" + type: DT_FLOAT + } + output_arg { + name: "result" + type_attr: "out_type" + } + output_arg { + name: "result_min" + type: DT_FLOAT + } + output_arg { + name: "result_max" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "variance_epsilon" + type: "float" + } + attr { + name: "scale_after_normalization" + type: "bool" + } +} +op { + name: "QuantizedBiasAdd" + input_arg { + name: "input" + type_attr: "T1" + } + input_arg { + name: "bias" + type_attr: "T2" + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_bias" + type: DT_FLOAT + } + input_arg { + name: "max_bias" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_out" + type: DT_FLOAT + } + output_arg { + name: "max_out" + type: DT_FLOAT + } + attr { + name: "T1" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "T2" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } +} +op { + name: "QuantizedConcat" + input_arg { + name: "concat_dim" + type: DT_INT32 + } + input_arg { + name: "values" + type_attr: "T" + number_attr: "N" + } + input_arg { + name: "input_mins" + type: DT_FLOAT + number_attr: "N" + } + input_arg { + name: "input_maxes" + type: DT_FLOAT + number_attr: "N" + } + output_arg { + name: "output" + type_attr: "T" + } + output_arg { + name: "output_min" + type: DT_FLOAT + } + output_arg { + name: "output_max" + type: DT_FLOAT + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 2 + } + attr { + name: "T" + type: "type" + } +} +op { + name: "QuantizedConv2D" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +op { + name: "QuantizedConv2DAndRelu" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + name: "padding_list" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "QuantizedConv2DAndReluAndRequantize" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + input_arg { + name: "min_freezed_output" + type: DT_FLOAT + } + input_arg { + name: "max_freezed_output" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QUINT8 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + name: "padding_list" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "QuantizedConv2DAndRequantize" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + input_arg { + name: "min_freezed_output" + type: DT_FLOAT + } + input_arg { + name: "max_freezed_output" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QINT8 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + name: "padding_list" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "QuantizedConv2DPerChannel" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +op { + name: "QuantizedConv2DWithBias" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "bias" + type: DT_FLOAT + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + name: "padding_list" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "QuantizedConv2DWithBiasAndRelu" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "bias" + type: DT_FLOAT + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + name: "padding_list" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "QuantizedConv2DWithBiasAndReluAndRequantize" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "bias" + type_attr: "Tbias" + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + input_arg { + name: "min_freezed_output" + type: DT_FLOAT + } + input_arg { + name: "max_freezed_output" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tbias" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_QINT32 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QUINT8 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + name: "padding_list" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "QuantizedConv2DWithBiasAndRequantize" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "bias" + type_attr: "Tbias" + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + input_arg { + name: "min_freezed_output" + type: DT_FLOAT + } + input_arg { + name: "max_freezed_output" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tbias" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_QINT32 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QINT8 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + name: "padding_list" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "QuantizedConv2DWithBiasSignedSumAndReluAndRequantize" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "bias" + type_attr: "Tbias" + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + input_arg { + name: "min_freezed_output" + type: DT_FLOAT + } + input_arg { + name: "max_freezed_output" + type: DT_FLOAT + } + input_arg { + name: "summand" + type_attr: "Tsummand" + } + input_arg { + name: "min_summand" + type: DT_FLOAT + } + input_arg { + name: "max_summand" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tbias" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_QINT32 + } + } + } + attr { + name: "Tsummand" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QUINT8 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + name: "padding_list" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "QuantizedConv2DWithBiasSumAndRelu" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "bias" + type: DT_FLOAT + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + input_arg { + name: "summand" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + name: "padding_list" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "QuantizedConv2DWithBiasSumAndReluAndRequantize" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "bias" + type_attr: "Tbias" + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + input_arg { + name: "min_freezed_output" + type: DT_FLOAT + } + input_arg { + name: "max_freezed_output" + type: DT_FLOAT + } + input_arg { + name: "summand" + type_attr: "Tsummand" + } + input_arg { + name: "min_summand" + type: DT_FLOAT + } + input_arg { + name: "max_summand" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tbias" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_QINT32 + } + } + } + attr { + name: "Tsummand" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QUINT8 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + name: "padding_list" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "QuantizedDepthwiseConv2D" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +op { + name: "QuantizedDepthwiseConv2DWithBias" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "bias" + type: DT_FLOAT + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +op { + name: "QuantizedDepthwiseConv2DWithBiasAndRelu" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "bias" + type: DT_FLOAT + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + name: "padding_list" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "QuantizedDepthwiseConv2DWithBiasAndReluAndRequantize" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "filter" + type_attr: "Tfilter" + } + input_arg { + name: "bias" + type_attr: "Tbias" + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + input_arg { + name: "min_filter" + type: DT_FLOAT + } + input_arg { + name: "max_filter" + type: DT_FLOAT + } + input_arg { + name: "min_freezed_output" + type: DT_FLOAT + } + input_arg { + name: "max_freezed_output" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tfilter" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tbias" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_QINT32 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QUINT8 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + name: "padding_list" + type: "list(int)" + default_value { + list { + } + } + } +} +op { + name: "QuantizedInstanceNorm" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "x_min" + type: DT_FLOAT + } + input_arg { + name: "x_max" + type: DT_FLOAT + } + output_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "y_min" + type: DT_FLOAT + } + output_arg { + name: "y_max" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "output_range_given" + type: "bool" + default_value { + b: false + } + } + attr { + name: "given_y_min" + type: "float" + default_value { + f: 0 + } + } + attr { + name: "given_y_max" + type: "float" + default_value { + f: 0 + } + } + attr { + name: "variance_epsilon" + type: "float" + default_value { + f: 1e-05 + } + } + attr { + name: "min_separation" + type: "float" + default_value { + f: 0.001 + } + } +} +op { + name: "QuantizedMatMul" + input_arg { + name: "a" + type_attr: "T1" + } + input_arg { + name: "b" + type_attr: "T2" + } + input_arg { + name: "min_a" + type: DT_FLOAT + } + input_arg { + name: "max_a" + type: DT_FLOAT + } + input_arg { + name: "min_b" + type: DT_FLOAT + } + input_arg { + name: "max_b" + type: DT_FLOAT + } + output_arg { + name: "out" + type_attr: "Toutput" + } + output_arg { + name: "min_out" + type: DT_FLOAT + } + output_arg { + name: "max_out" + type: DT_FLOAT + } + attr { + name: "T1" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "T2" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Toutput" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "transpose_a" + type: "bool" + default_value { + b: false + } + } + attr { + name: "transpose_b" + type: "bool" + default_value { + b: false + } + } + attr { + name: "Tactivation" + type: "type" + default_value { + type: DT_QUINT8 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } +} +op { + name: "QuantizedMatMulWithBias" + input_arg { + name: "a" + type_attr: "T1" + } + input_arg { + name: "b" + type_attr: "T2" + } + input_arg { + name: "bias" + type_attr: "Tbias" + } + input_arg { + name: "min_a" + type: DT_FLOAT + } + input_arg { + name: "max_a" + type: DT_FLOAT + } + input_arg { + name: "min_b" + type: DT_FLOAT + } + input_arg { + name: "max_b" + type: DT_FLOAT + } + output_arg { + name: "out" + type_attr: "Toutput" + } + output_arg { + name: "min_out" + type: DT_FLOAT + } + output_arg { + name: "max_out" + type: DT_FLOAT + } + attr { + name: "T1" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "T2" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tbias" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_QINT32 + } + } + } + attr { + name: "Toutput" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "transpose_a" + type: "bool" + default_value { + b: false + } + } + attr { + name: "transpose_b" + type: "bool" + default_value { + b: false + } + } + attr { + name: "input_quant_mode" + type: "string" + default_value { + s: "MIN_FIRST" + } + allowed_values { + list { + s: "MIN_FIRST" + s: "SCALED" + } + } + } +} +op { + name: "QuantizedMatMulWithBiasAndDequantize" + input_arg { + name: "a" + type_attr: "T1" + } + input_arg { + name: "b" + type_attr: "T2" + } + input_arg { + name: "bias" + type_attr: "Tbias" + } + input_arg { + name: "min_a" + type: DT_FLOAT + } + input_arg { + name: "max_a" + type: DT_FLOAT + } + input_arg { + name: "min_b" + type: DT_FLOAT + } + input_arg { + name: "max_b" + type: DT_FLOAT + } + input_arg { + name: "min_freezed_output" + type: DT_FLOAT + } + input_arg { + name: "max_freezed_output" + type: DT_FLOAT + } + output_arg { + name: "out" + type_attr: "Toutput" + } + attr { + name: "T1" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "T2" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tbias" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_QINT32 + } + } + } + attr { + name: "Toutput" + type: "type" + allowed_values { + list { + type: DT_FLOAT + } + } + } + attr { + name: "transpose_a" + type: "bool" + default_value { + b: false + } + } + attr { + name: "transpose_b" + type: "bool" + default_value { + b: false + } + } + attr { + name: "input_quant_mode" + type: "string" + default_value { + s: "MIN_FIRST" + } + allowed_values { + list { + s: "MIN_FIRST" + s: "SCALED" + } + } + } +} +op { + name: "QuantizedMatMulWithBiasAndRelu" + input_arg { + name: "a" + type_attr: "T1" + } + input_arg { + name: "b" + type_attr: "T2" + } + input_arg { + name: "bias" + type: DT_FLOAT + } + input_arg { + name: "min_a" + type: DT_FLOAT + } + input_arg { + name: "max_a" + type: DT_FLOAT + } + input_arg { + name: "min_b" + type: DT_FLOAT + } + input_arg { + name: "max_b" + type: DT_FLOAT + } + output_arg { + name: "out" + type_attr: "Toutput" + } + output_arg { + name: "min_out" + type: DT_FLOAT + } + output_arg { + name: "max_out" + type: DT_FLOAT + } + attr { + name: "T1" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "T2" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Toutput" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "transpose_a" + type: "bool" + default_value { + b: false + } + } + attr { + name: "transpose_b" + type: "bool" + default_value { + b: false + } + } + attr { + name: "input_quant_mode" + type: "string" + default_value { + s: "MIN_FIRST" + } + allowed_values { + list { + s: "MIN_FIRST" + s: "SCALED" + } + } + } +} +op { + name: "QuantizedMatMulWithBiasAndReluAndRequantize" + input_arg { + name: "a" + type_attr: "T1" + } + input_arg { + name: "b" + type_attr: "T2" + } + input_arg { + name: "bias" + type_attr: "Tbias" + } + input_arg { + name: "min_a" + type: DT_FLOAT + } + input_arg { + name: "max_a" + type: DT_FLOAT + } + input_arg { + name: "min_b" + type: DT_FLOAT + } + input_arg { + name: "max_b" + type: DT_FLOAT + } + input_arg { + name: "min_freezed_output" + type: DT_FLOAT + } + input_arg { + name: "max_freezed_output" + type: DT_FLOAT + } + output_arg { + name: "out" + type_attr: "Toutput" + } + output_arg { + name: "min_out" + type: DT_FLOAT + } + output_arg { + name: "max_out" + type: DT_FLOAT + } + attr { + name: "T1" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "T2" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tbias" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_QINT32 + } + } + } + attr { + name: "Toutput" + type: "type" + default_value { + type: DT_QUINT8 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "transpose_a" + type: "bool" + default_value { + b: false + } + } + attr { + name: "transpose_b" + type: "bool" + default_value { + b: false + } + } + attr { + name: "input_quant_mode" + type: "string" + default_value { + s: "MIN_FIRST" + } + allowed_values { + list { + s: "MIN_FIRST" + s: "SCALED" + } + } + } +} +op { + name: "QuantizedMatMulWithBiasAndRequantize" + input_arg { + name: "a" + type_attr: "T1" + } + input_arg { + name: "b" + type_attr: "T2" + } + input_arg { + name: "bias" + type_attr: "Tbias" + } + input_arg { + name: "min_a" + type: DT_FLOAT + } + input_arg { + name: "max_a" + type: DT_FLOAT + } + input_arg { + name: "min_b" + type: DT_FLOAT + } + input_arg { + name: "max_b" + type: DT_FLOAT + } + input_arg { + name: "min_freezed_output" + type: DT_FLOAT + } + input_arg { + name: "max_freezed_output" + type: DT_FLOAT + } + output_arg { + name: "out" + type_attr: "Toutput" + } + output_arg { + name: "min_out" + type: DT_FLOAT + } + output_arg { + name: "max_out" + type: DT_FLOAT + } + attr { + name: "T1" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "T2" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Tbias" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_QINT32 + } + } + } + attr { + name: "Toutput" + type: "type" + default_value { + type: DT_QUINT8 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "transpose_a" + type: "bool" + default_value { + b: false + } + } + attr { + name: "transpose_b" + type: "bool" + default_value { + b: false + } + } + attr { + name: "input_quant_mode" + type: "string" + default_value { + s: "MIN_FIRST" + } + allowed_values { + list { + s: "MIN_FIRST" + s: "SCALED" + } + } + } +} +op { + name: "QuantizedMaxPool" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "min_input" + type: DT_FLOAT + } + input_arg { + name: "max_input" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "T" + } + output_arg { + name: "min_output" + type: DT_FLOAT + } + output_arg { + name: "max_output" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "ksize" + type: "list(int)" + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "padding" + type: "string" + allowed_values { + list { + s: "SAME" + s: "VALID" + } + } + } +} +op { + name: "QuantizedMul" + input_arg { + name: "x" + type_attr: "T1" + } + input_arg { + name: "y" + type_attr: "T2" + } + input_arg { + name: "min_x" + type: DT_FLOAT + } + input_arg { + name: "max_x" + type: DT_FLOAT + } + input_arg { + name: "min_y" + type: DT_FLOAT + } + input_arg { + name: "max_y" + type: DT_FLOAT + } + output_arg { + name: "z" + type_attr: "Toutput" + } + output_arg { + name: "min_z" + type: DT_FLOAT + } + output_arg { + name: "max_z" + type: DT_FLOAT + } + attr { + name: "T1" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "T2" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "Toutput" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } +} +op { + name: "QuantizedRelu" + input_arg { + name: "features" + type_attr: "Tinput" + } + input_arg { + name: "min_features" + type: DT_FLOAT + } + input_arg { + name: "max_features" + type: DT_FLOAT + } + output_arg { + name: "activations" + type_attr: "out_type" + } + output_arg { + name: "min_activations" + type: DT_FLOAT + } + output_arg { + name: "max_activations" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QUINT8 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } +} +op { + name: "QuantizedRelu6" + input_arg { + name: "features" + type_attr: "Tinput" + } + input_arg { + name: "min_features" + type: DT_FLOAT + } + input_arg { + name: "max_features" + type: DT_FLOAT + } + output_arg { + name: "activations" + type_attr: "out_type" + } + output_arg { + name: "min_activations" + type: DT_FLOAT + } + output_arg { + name: "max_activations" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QUINT8 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } +} +op { + name: "QuantizedReluX" + input_arg { + name: "features" + type_attr: "Tinput" + } + input_arg { + name: "max_value" + type: DT_FLOAT + } + input_arg { + name: "min_features" + type: DT_FLOAT + } + input_arg { + name: "max_features" + type: DT_FLOAT + } + output_arg { + name: "activations" + type_attr: "out_type" + } + output_arg { + name: "min_activations" + type: DT_FLOAT + } + output_arg { + name: "max_activations" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QUINT8 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } +} +op { + name: "QuantizedReshape" + input_arg { + name: "tensor" + type_attr: "T" + } + input_arg { + name: "shape" + type_attr: "Tshape" + } + input_arg { + name: "input_min" + type: DT_FLOAT + } + input_arg { + name: "input_max" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "T" + } + output_arg { + name: "output_min" + type: DT_FLOAT + } + output_arg { + name: "output_max" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tshape" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "QuantizedResizeBilinear" + input_arg { + name: "images" + type_attr: "T" + } + input_arg { + name: "size" + type: DT_INT32 + } + input_arg { + name: "min" + type: DT_FLOAT + } + input_arg { + name: "max" + type: DT_FLOAT + } + output_arg { + name: "resized_images" + type_attr: "T" + } + output_arg { + name: "out_min" + type: DT_FLOAT + } + output_arg { + name: "out_max" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_QUINT8 + type: DT_QINT32 + type: DT_FLOAT + } + } + } + attr { + name: "align_corners" + type: "bool" + default_value { + b: false + } + } + attr { + name: "half_pixel_centers" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "QueueClose" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + attr { + name: "cancel_pending_enqueues" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "QueueCloseV2" + input_arg { + name: "handle" + type: DT_RESOURCE + } + attr { + name: "cancel_pending_enqueues" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "QueueDequeue" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + output_arg { + name: "components" + type_list_attr: "component_types" + } + attr { + name: "component_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "timeout_ms" + type: "int" + default_value { + i: -1 + } + } +} +op { + name: "QueueDequeueMany" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "n" + type: DT_INT32 + } + output_arg { + name: "components" + type_list_attr: "component_types" + } + attr { + name: "component_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "timeout_ms" + type: "int" + default_value { + i: -1 + } + } +} +op { + name: "QueueDequeueManyV2" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "n" + type: DT_INT32 + } + output_arg { + name: "components" + type_list_attr: "component_types" + } + attr { + name: "component_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "timeout_ms" + type: "int" + default_value { + i: -1 + } + } + is_stateful: true +} +op { + name: "QueueDequeueUpTo" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "n" + type: DT_INT32 + } + output_arg { + name: "components" + type_list_attr: "component_types" + } + attr { + name: "component_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "timeout_ms" + type: "int" + default_value { + i: -1 + } + } +} +op { + name: "QueueDequeueUpToV2" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "n" + type: DT_INT32 + } + output_arg { + name: "components" + type_list_attr: "component_types" + } + attr { + name: "component_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "timeout_ms" + type: "int" + default_value { + i: -1 + } + } + is_stateful: true +} +op { + name: "QueueDequeueV2" + input_arg { + name: "handle" + type: DT_RESOURCE + } + output_arg { + name: "components" + type_list_attr: "component_types" + } + attr { + name: "component_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "timeout_ms" + type: "int" + default_value { + i: -1 + } + } + is_stateful: true +} +op { + name: "QueueEnqueue" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "components" + type_list_attr: "Tcomponents" + } + attr { + name: "Tcomponents" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "timeout_ms" + type: "int" + default_value { + i: -1 + } + } +} +op { + name: "QueueEnqueueMany" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "components" + type_list_attr: "Tcomponents" + } + attr { + name: "Tcomponents" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "timeout_ms" + type: "int" + default_value { + i: -1 + } + } +} +op { + name: "QueueEnqueueManyV2" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "components" + type_list_attr: "Tcomponents" + } + attr { + name: "Tcomponents" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "timeout_ms" + type: "int" + default_value { + i: -1 + } + } + is_stateful: true +} +op { + name: "QueueEnqueueV2" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "components" + type_list_attr: "Tcomponents" + } + attr { + name: "Tcomponents" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "timeout_ms" + type: "int" + default_value { + i: -1 + } + } + is_stateful: true +} +op { + name: "QueueIsClosed" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + output_arg { + name: "is_closed" + type: DT_BOOL + } +} +op { + name: "QueueIsClosedV2" + input_arg { + name: "handle" + type: DT_RESOURCE + } + output_arg { + name: "is_closed" + type: DT_BOOL + } + is_stateful: true +} +op { + name: "QueueSize" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + output_arg { + name: "size" + type: DT_INT32 + } +} +op { + name: "QueueSizeV2" + input_arg { + name: "handle" + type: DT_RESOURCE + } + output_arg { + name: "size" + type: DT_INT32 + } + is_stateful: true +} +op { + name: "RFFT" + input_arg { + name: "input" + type_attr: "Treal" + } + input_arg { + name: "fft_length" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "Tcomplex" + } + attr { + name: "Treal" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tcomplex" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "RFFT2D" + input_arg { + name: "input" + type_attr: "Treal" + } + input_arg { + name: "fft_length" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "Tcomplex" + } + attr { + name: "Treal" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tcomplex" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "RFFT3D" + input_arg { + name: "input" + type_attr: "Treal" + } + input_arg { + name: "fft_length" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "Tcomplex" + } + attr { + name: "Treal" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tcomplex" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "RGBToHSV" + input_arg { + name: "images" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RaggedBincount" + input_arg { + name: "splits" + type: DT_INT64 + } + input_arg { + name: "values" + type_attr: "Tidx" + } + input_arg { + name: "size" + type_attr: "Tidx" + } + input_arg { + name: "weights" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "Tidx" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "binary_output" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "RaggedCountSparseOutput" + input_arg { + name: "splits" + type: DT_INT64 + } + input_arg { + name: "values" + type_attr: "T" + } + input_arg { + name: "weights" + type_attr: "output_type" + } + output_arg { + name: "output_indices" + type: DT_INT64 + } + output_arg { + name: "output_values" + type_attr: "output_type" + } + output_arg { + name: "output_dense_shape" + type: DT_INT64 + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "minlength" + type: "int" + default_value { + i: -1 + } + has_minimum: true + minimum: -1 + } + attr { + name: "maxlength" + type: "int" + default_value { + i: -1 + } + has_minimum: true + minimum: -1 + } + attr { + name: "binary_output" + type: "bool" + } + attr { + name: "output_type" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RaggedCross" + input_arg { + name: "ragged_values" + type_list_attr: "ragged_values_types" + } + input_arg { + name: "ragged_row_splits" + type_list_attr: "ragged_splits_types" + } + input_arg { + name: "sparse_indices" + type: DT_INT64 + number_attr: "Nsparse" + } + input_arg { + name: "sparse_values" + type_list_attr: "sparse_values_types" + } + input_arg { + name: "sparse_shape" + type: DT_INT64 + number_attr: "Nsparse" + } + input_arg { + name: "dense_inputs" + type_list_attr: "dense_types" + } + output_arg { + name: "output_values" + type_attr: "out_values_type" + } + output_arg { + name: "output_row_splits" + type_attr: "out_row_splits_type" + } + attr { + name: "Nsparse" + type: "int" + has_minimum: true + } + attr { + name: "input_order" + type: "string" + } + attr { + name: "hashed_output" + type: "bool" + } + attr { + name: "num_buckets" + type: "int" + has_minimum: true + } + attr { + name: "hash_key" + type: "int" + } + attr { + name: "ragged_values_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "ragged_splits_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "sparse_values_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "dense_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "out_values_type" + type: "type" + allowed_values { + list { + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "out_row_splits_type" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RaggedGather" + input_arg { + name: "params_nested_splits" + type_attr: "Tsplits" + number_attr: "PARAMS_RAGGED_RANK" + } + input_arg { + name: "params_dense_values" + type_attr: "Tvalues" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + output_arg { + name: "output_nested_splits" + type_attr: "Tsplits" + number_attr: "OUTPUT_RAGGED_RANK" + } + output_arg { + name: "output_dense_values" + type_attr: "Tvalues" + } + attr { + name: "Tvalues" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tsplits" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "PARAMS_RAGGED_RANK" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "OUTPUT_RAGGED_RANK" + type: "int" + has_minimum: true + } +} +op { + name: "RaggedRange" + input_arg { + name: "starts" + type_attr: "T" + } + input_arg { + name: "limits" + type_attr: "T" + } + input_arg { + name: "deltas" + type_attr: "T" + } + output_arg { + name: "rt_nested_splits" + type_attr: "Tsplits" + } + output_arg { + name: "rt_dense_values" + type_attr: "T" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tsplits" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RaggedTensorFromVariant" + input_arg { + name: "encoded_ragged" + type: DT_VARIANT + } + output_arg { + name: "output_nested_splits" + type_attr: "Tsplits" + number_attr: "output_ragged_rank" + } + output_arg { + name: "output_dense_values" + type_attr: "Tvalues" + } + attr { + name: "input_ragged_rank" + type: "int" + has_minimum: true + minimum: -1 + } + attr { + name: "output_ragged_rank" + type: "int" + has_minimum: true + } + attr { + name: "Tvalues" + type: "type" + } + attr { + name: "Tsplits" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RaggedTensorToSparse" + input_arg { + name: "rt_nested_splits" + type_attr: "Tsplits" + number_attr: "RAGGED_RANK" + } + input_arg { + name: "rt_dense_values" + type_attr: "T" + } + output_arg { + name: "sparse_indices" + type: DT_INT64 + } + output_arg { + name: "sparse_values" + type_attr: "T" + } + output_arg { + name: "sparse_dense_shape" + type: DT_INT64 + } + attr { + name: "RAGGED_RANK" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tsplits" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RaggedTensorToTensor" + input_arg { + name: "shape" + type_attr: "Tshape" + } + input_arg { + name: "values" + type_attr: "T" + } + input_arg { + name: "default_value" + type_attr: "T" + } + input_arg { + name: "row_partition_tensors" + type_attr: "Tindex" + number_attr: "num_row_partition_tensors" + } + output_arg { + name: "result" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tindex" + type: "type" + allowed_values { + list { + type: DT_INT64 + type: DT_INT32 + } + } + } + attr { + name: "Tshape" + type: "type" + allowed_values { + list { + type: DT_INT64 + type: DT_INT32 + } + } + } + attr { + name: "num_row_partition_tensors" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "row_partition_types" + type: "list(string)" + } +} +op { + name: "RaggedTensorToVariant" + input_arg { + name: "rt_nested_splits" + type_attr: "Tsplits" + number_attr: "RAGGED_RANK" + } + input_arg { + name: "rt_dense_values" + type_attr: "Tvalues" + } + output_arg { + name: "encoded_ragged" + type: DT_VARIANT + } + attr { + name: "RAGGED_RANK" + type: "int" + has_minimum: true + } + attr { + name: "Tvalues" + type: "type" + } + attr { + name: "Tsplits" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "batched_input" + type: "bool" + } +} +op { + name: "RaggedTensorToVariantGradient" + input_arg { + name: "encoded_ragged_grad" + type: DT_VARIANT + } + input_arg { + name: "row_splits" + type_attr: "Tsplits" + } + input_arg { + name: "dense_values_shape" + type: DT_INT32 + } + output_arg { + name: "dense_values_grad" + type_attr: "Tvalues" + } + attr { + name: "Tvalues" + type: "type" + } + attr { + name: "Tsplits" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RandomCrop" + input_arg { + name: "image" + type_attr: "T" + } + input_arg { + name: "size" + type: DT_INT64 + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_UINT8 + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + deprecation { + version: 8 + explanation: "Random crop is now pure Python" + } + is_stateful: true +} +op { + name: "RandomDataset" + input_arg { + name: "seed" + type: DT_INT64 + } + input_arg { + name: "seed2" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "RandomGamma" + input_arg { + name: "shape" + type_attr: "S" + } + input_arg { + name: "alpha" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "S" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + is_stateful: true +} +op { + name: "RandomGammaGrad" + input_arg { + name: "alpha" + type_attr: "T" + } + input_arg { + name: "sample" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RandomPoisson" + input_arg { + name: "shape" + type_attr: "S" + } + input_arg { + name: "rate" + type_attr: "dtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "S" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + deprecation { + version: 25 + explanation: "Replaced by RandomPoissonV2" + } + is_stateful: true +} +op { + name: "RandomPoissonV2" + input_arg { + name: "shape" + type_attr: "S" + } + input_arg { + name: "rate" + type_attr: "R" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "S" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "R" + type: "type" + default_value { + type: DT_DOUBLE + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + is_stateful: true +} +op { + name: "RandomShuffle" + input_arg { + name: "value" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "T" + type: "type" + } + is_stateful: true +} +op { + name: "RandomShuffleQueue" + output_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + attr { + name: "component_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "shapes" + type: "list(shape)" + default_value { + list { + } + } + has_minimum: true + } + attr { + name: "capacity" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "min_after_dequeue" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RandomShuffleQueueV2" + output_arg { + name: "handle" + type: DT_RESOURCE + } + attr { + name: "component_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "shapes" + type: "list(shape)" + default_value { + list { + } + } + has_minimum: true + } + attr { + name: "capacity" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "min_after_dequeue" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RandomStandardNormal" + input_arg { + name: "shape" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + is_stateful: true +} +op { + name: "RandomUniform" + input_arg { + name: "shape" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + is_stateful: true +} +op { + name: "RandomUniformInt" + input_arg { + name: "shape" + type_attr: "T" + } + input_arg { + name: "minval" + type_attr: "Tout" + } + input_arg { + name: "maxval" + type_attr: "Tout" + } + output_arg { + name: "output" + type_attr: "Tout" + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "Tout" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + is_stateful: true +} +op { + name: "Range" + input_arg { + name: "start" + type_attr: "Tidx" + } + input_arg { + name: "limit" + type_attr: "Tidx" + } + input_arg { + name: "delta" + type_attr: "Tidx" + } + output_arg { + name: "output" + type_attr: "Tidx" + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RangeDataset" + input_arg { + name: "start" + type: DT_INT64 + } + input_arg { + name: "stop" + type: DT_INT64 + } + input_arg { + name: "step" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "Rank" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type: DT_INT32 + } + attr { + name: "T" + type: "type" + } +} +op { + name: "ReadFile" + input_arg { + name: "filename" + type: DT_STRING + } + output_arg { + name: "contents" + type: DT_STRING + } +} +op { + name: "ReadVariableOp" + input_arg { + name: "resource" + type: DT_RESOURCE + } + output_arg { + name: "value" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + is_stateful: true +} +op { + name: "ReaderNumRecordsProduced" + input_arg { + name: "reader_handle" + type: DT_STRING + is_ref: true + } + output_arg { + name: "records_produced" + type: DT_INT64 + } +} +op { + name: "ReaderNumRecordsProducedV2" + input_arg { + name: "reader_handle" + type: DT_RESOURCE + } + output_arg { + name: "records_produced" + type: DT_INT64 + } + is_stateful: true +} +op { + name: "ReaderNumWorkUnitsCompleted" + input_arg { + name: "reader_handle" + type: DT_STRING + is_ref: true + } + output_arg { + name: "units_completed" + type: DT_INT64 + } +} +op { + name: "ReaderNumWorkUnitsCompletedV2" + input_arg { + name: "reader_handle" + type: DT_RESOURCE + } + output_arg { + name: "units_completed" + type: DT_INT64 + } + is_stateful: true +} +op { + name: "ReaderRead" + input_arg { + name: "reader_handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "queue_handle" + type: DT_STRING + is_ref: true + } + output_arg { + name: "key" + type: DT_STRING + } + output_arg { + name: "value" + type: DT_STRING + } +} +op { + name: "ReaderReadUpTo" + input_arg { + name: "reader_handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "queue_handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "num_records" + type: DT_INT64 + } + output_arg { + name: "keys" + type: DT_STRING + } + output_arg { + name: "values" + type: DT_STRING + } +} +op { + name: "ReaderReadUpToV2" + input_arg { + name: "reader_handle" + type: DT_RESOURCE + } + input_arg { + name: "queue_handle" + type: DT_RESOURCE + } + input_arg { + name: "num_records" + type: DT_INT64 + } + output_arg { + name: "keys" + type: DT_STRING + } + output_arg { + name: "values" + type: DT_STRING + } + is_stateful: true +} +op { + name: "ReaderReadV2" + input_arg { + name: "reader_handle" + type: DT_RESOURCE + } + input_arg { + name: "queue_handle" + type: DT_RESOURCE + } + output_arg { + name: "key" + type: DT_STRING + } + output_arg { + name: "value" + type: DT_STRING + } + is_stateful: true +} +op { + name: "ReaderReset" + input_arg { + name: "reader_handle" + type: DT_STRING + is_ref: true + } +} +op { + name: "ReaderResetV2" + input_arg { + name: "reader_handle" + type: DT_RESOURCE + } + is_stateful: true +} +op { + name: "ReaderRestoreState" + input_arg { + name: "reader_handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "state" + type: DT_STRING + } +} +op { + name: "ReaderRestoreStateV2" + input_arg { + name: "reader_handle" + type: DT_RESOURCE + } + input_arg { + name: "state" + type: DT_STRING + } + is_stateful: true +} +op { + name: "ReaderSerializeState" + input_arg { + name: "reader_handle" + type: DT_STRING + is_ref: true + } + output_arg { + name: "state" + type: DT_STRING + } +} +op { + name: "ReaderSerializeStateV2" + input_arg { + name: "reader_handle" + type: DT_RESOURCE + } + output_arg { + name: "state" + type: DT_STRING + } + is_stateful: true +} +op { + name: "Real" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "Tout" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } + attr { + name: "Tout" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RealDiv" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_UINT8 + type: DT_INT8 + type: DT_UINT16 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "RebatchDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "num_replicas" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "use_fallback" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "RebatchDatasetV2" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "batch_sizes" + type: DT_INT64 + } + input_arg { + name: "drop_remainder" + type: DT_BOOL + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "Reciprocal" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "ReciprocalGrad" + input_arg { + name: "y" + type_attr: "T" + } + input_arg { + name: "dy" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "RecordInput" + output_arg { + name: "records" + type: DT_STRING + } + attr { + name: "file_pattern" + type: "string" + } + attr { + name: "file_random_seed" + type: "int" + default_value { + i: 301 + } + } + attr { + name: "file_shuffle_shift_ratio" + type: "float" + default_value { + f: 0 + } + } + attr { + name: "file_buffer_size" + type: "int" + default_value { + i: 10000 + } + } + attr { + name: "file_parallelism" + type: "int" + default_value { + i: 16 + } + } + attr { + name: "batch_size" + type: "int" + default_value { + i: 32 + } + } + attr { + name: "compression_type" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "Recv" + output_arg { + name: "tensor" + type_attr: "tensor_type" + } + attr { + name: "tensor_type" + type: "type" + } + attr { + name: "tensor_name" + type: "string" + } + attr { + name: "send_device" + type: "string" + } + attr { + name: "send_device_incarnation" + type: "int" + } + attr { + name: "recv_device" + type: "string" + } + attr { + name: "client_terminated" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "RecvTPUEmbeddingActivations" + output_arg { + name: "outputs" + type: DT_FLOAT + number_attr: "num_outputs" + } + attr { + name: "num_outputs" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "config" + type: "string" + } + is_stateful: true +} +op { + name: "ReduceDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "initial_state" + type_list_attr: "Tstate" + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + output_arg { + name: "components" + type_list_attr: "output_types" + } + attr { + name: "f" + type: "func" + } + attr { + name: "Tstate" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "use_inter_op_parallelism" + type: "bool" + default_value { + b: true + } + } + is_stateful: true +} +op { + name: "ReduceJoin" + input_arg { + name: "inputs" + type: DT_STRING + } + input_arg { + name: "reduction_indices" + type: DT_INT32 + } + output_arg { + name: "output" + type: DT_STRING + } + attr { + name: "keep_dims" + type: "bool" + default_value { + b: false + } + } + attr { + name: "separator" + type: "string" + default_value { + s: "" + } + } +} +op { + name: "RefEnter" + input_arg { + name: "data" + type_attr: "T" + is_ref: true + } + output_arg { + name: "output" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + } + attr { + name: "frame_name" + type: "string" + } + attr { + name: "is_constant" + type: "bool" + default_value { + b: false + } + } + attr { + name: "parallel_iterations" + type: "int" + default_value { + i: 10 + } + } +} +op { + name: "RefExit" + input_arg { + name: "data" + type_attr: "T" + is_ref: true + } + output_arg { + name: "output" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + } +} +op { + name: "RefIdentity" + input_arg { + name: "input" + type_attr: "T" + is_ref: true + } + output_arg { + name: "output" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + } + allows_uninitialized_input: true +} +op { + name: "RefMerge" + input_arg { + name: "inputs" + type_attr: "T" + number_attr: "N" + is_ref: true + } + output_arg { + name: "output" + type_attr: "T" + is_ref: true + } + output_arg { + name: "value_index" + type: DT_INT32 + } + attr { + name: "T" + type: "type" + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } +} +op { + name: "RefNextIteration" + input_arg { + name: "data" + type_attr: "T" + is_ref: true + } + output_arg { + name: "output" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + } +} +op { + name: "RefSelect" + input_arg { + name: "index" + type: DT_INT32 + } + input_arg { + name: "inputs" + type_attr: "T" + number_attr: "N" + is_ref: true + } + output_arg { + name: "output" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } +} +op { + name: "RefSwitch" + input_arg { + name: "data" + type_attr: "T" + is_ref: true + } + input_arg { + name: "pred" + type: DT_BOOL + } + output_arg { + name: "output_false" + type_attr: "T" + is_ref: true + } + output_arg { + name: "output_true" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + } + allows_uninitialized_input: true +} +op { + name: "RegexFullMatch" + input_arg { + name: "input" + type: DT_STRING + } + input_arg { + name: "pattern" + type: DT_STRING + } + output_arg { + name: "output" + type: DT_BOOL + } +} +op { + name: "RegexReplace" + input_arg { + name: "input" + type: DT_STRING + } + input_arg { + name: "pattern" + type: DT_STRING + } + input_arg { + name: "rewrite" + type: DT_STRING + } + output_arg { + name: "output" + type: DT_STRING + } + attr { + name: "replace_global" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "RegisterDataset" + input_arg { + name: "dataset" + type: DT_VARIANT + } + input_arg { + name: "address" + type: DT_STRING + } + input_arg { + name: "protocol" + type: DT_STRING + } + output_arg { + name: "dataset_id" + type: DT_INT64 + } + attr { + name: "external_state_policy" + type: "int" + } +} +op { + name: "Relu" + input_arg { + name: "features" + type_attr: "T" + } + output_arg { + name: "activations" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + type: DT_QINT8 + } + } + } +} +op { + name: "Relu6" + input_arg { + name: "features" + type_attr: "T" + } + output_arg { + name: "activations" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "Relu6Grad" + input_arg { + name: "gradients" + type_attr: "T" + } + input_arg { + name: "features" + type_attr: "T" + } + output_arg { + name: "backprops" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "ReluGrad" + input_arg { + name: "gradients" + type_attr: "T" + } + input_arg { + name: "features" + type_attr: "T" + } + output_arg { + name: "backprops" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "RemoteCall" + input_arg { + name: "target" + type: DT_STRING + } + input_arg { + name: "args" + type_list_attr: "Tin" + } + output_arg { + name: "output" + type_list_attr: "Tout" + } + attr { + name: "Tin" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "Tout" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "f" + type: "func" + } + is_stateful: true +} +op { + name: "RemoteFusedGraphExecute" + input_arg { + name: "inputs" + type_list_attr: "Tinputs" + } + output_arg { + name: "outputs" + type_list_attr: "Toutputs" + } + attr { + name: "Tinputs" + type: "list(type)" + has_minimum: true + } + attr { + name: "Toutputs" + type: "list(type)" + has_minimum: true + } + attr { + name: "serialized_remote_fused_graph_execute_info" + type: "string" + } +} +op { + name: "RepeatDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "count" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "RequantizationRange" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "input_min" + type: DT_FLOAT + } + input_arg { + name: "input_max" + type: DT_FLOAT + } + output_arg { + name: "output_min" + type: DT_FLOAT + } + output_arg { + name: "output_max" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } +} +op { + name: "RequantizationRangePerChannel" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "input_min" + type: DT_FLOAT + } + input_arg { + name: "input_max" + type: DT_FLOAT + } + output_arg { + name: "output_min" + type: DT_FLOAT + } + output_arg { + name: "output_max" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "clip_value_max" + type: "float" + } +} +op { + name: "Requantize" + input_arg { + name: "input" + type_attr: "Tinput" + } + input_arg { + name: "input_min" + type: DT_FLOAT + } + input_arg { + name: "input_max" + type: DT_FLOAT + } + input_arg { + name: "requested_output_min" + type: DT_FLOAT + } + input_arg { + name: "requested_output_max" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "output_min" + type: DT_FLOAT + } + output_arg { + name: "output_max" + type: DT_FLOAT + } + attr { + name: "Tinput" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } +} +op { + name: "RequantizePerChannel" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "input_min" + type: DT_FLOAT + } + input_arg { + name: "input_max" + type: DT_FLOAT + } + input_arg { + name: "requested_output_min" + type: DT_FLOAT + } + input_arg { + name: "requested_output_max" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "out_type" + } + output_arg { + name: "output_min" + type: DT_FLOAT + } + output_arg { + name: "output_max" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + default_value { + type: DT_QINT32 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_QUINT8 + } + allowed_values { + list { + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_QINT16 + type: DT_QUINT16 + } + } + } +} +op { + name: "Reshape" + input_arg { + name: "tensor" + type_attr: "T" + } + input_arg { + name: "shape" + type_attr: "Tshape" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tshape" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "ResizeArea" + input_arg { + name: "images" + type_attr: "T" + } + input_arg { + name: "size" + type: DT_INT32 + } + output_arg { + name: "resized_images" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT8 + type: DT_UINT8 + type: DT_INT16 + type: DT_UINT16 + type: DT_INT32 + type: DT_INT64 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_BFLOAT16 + } + } + } + attr { + name: "align_corners" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ResizeBicubic" + input_arg { + name: "images" + type_attr: "T" + } + input_arg { + name: "size" + type: DT_INT32 + } + output_arg { + name: "resized_images" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT8 + type: DT_UINT8 + type: DT_INT16 + type: DT_UINT16 + type: DT_INT32 + type: DT_INT64 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_BFLOAT16 + } + } + } + attr { + name: "align_corners" + type: "bool" + default_value { + b: false + } + } + attr { + name: "half_pixel_centers" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ResizeBicubicGrad" + input_arg { + name: "grads" + type: DT_FLOAT + } + input_arg { + name: "original_image" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "align_corners" + type: "bool" + default_value { + b: false + } + } + attr { + name: "half_pixel_centers" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ResizeBilinear" + input_arg { + name: "images" + type_attr: "T" + } + input_arg { + name: "size" + type: DT_INT32 + } + output_arg { + name: "resized_images" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT8 + type: DT_UINT8 + type: DT_INT16 + type: DT_UINT16 + type: DT_INT32 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_BFLOAT16 + } + } + } + attr { + name: "align_corners" + type: "bool" + default_value { + b: false + } + } + attr { + name: "half_pixel_centers" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ResizeBilinearGrad" + input_arg { + name: "grads" + type: DT_FLOAT + } + input_arg { + name: "original_image" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_BFLOAT16 + type: DT_HALF + type: DT_DOUBLE + } + } + } + attr { + name: "align_corners" + type: "bool" + default_value { + b: false + } + } + attr { + name: "half_pixel_centers" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ResizeNearestNeighbor" + input_arg { + name: "images" + type_attr: "T" + } + input_arg { + name: "size" + type: DT_INT32 + } + output_arg { + name: "resized_images" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT8 + type: DT_UINT8 + type: DT_INT16 + type: DT_UINT16 + type: DT_INT32 + type: DT_INT64 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_BFLOAT16 + } + } + } + attr { + name: "align_corners" + type: "bool" + default_value { + b: false + } + } + attr { + name: "half_pixel_centers" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ResizeNearestNeighborGrad" + input_arg { + name: "grads" + type_attr: "T" + } + input_arg { + name: "size" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_UINT8 + type: DT_INT8 + type: DT_INT32 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "align_corners" + type: "bool" + default_value { + b: false + } + } + attr { + name: "half_pixel_centers" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ResourceAccumulatorApplyGradient" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "local_step" + type: DT_INT64 + } + input_arg { + name: "gradient" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + is_stateful: true +} +op { + name: "ResourceAccumulatorNumAccumulated" + input_arg { + name: "handle" + type: DT_RESOURCE + } + output_arg { + name: "num_accumulated" + type: DT_INT32 + } + is_stateful: true +} +op { + name: "ResourceAccumulatorSetGlobalStep" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "new_global_step" + type: DT_INT64 + } + is_stateful: true +} +op { + name: "ResourceAccumulatorTakeGradient" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "num_required" + type: DT_INT32 + } + output_arg { + name: "average" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + is_stateful: true +} +op { + name: "ResourceApplyAdaMax" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "m" + type: DT_RESOURCE + } + input_arg { + name: "v" + type: DT_RESOURCE + } + input_arg { + name: "beta1_power" + type_attr: "T" + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "beta1" + type_attr: "T" + } + input_arg { + name: "beta2" + type_attr: "T" + } + input_arg { + name: "epsilon" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceApplyAdadelta" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "accum" + type: DT_RESOURCE + } + input_arg { + name: "accum_update" + type: DT_RESOURCE + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "rho" + type_attr: "T" + } + input_arg { + name: "epsilon" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceApplyAdagrad" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "accum" + type: DT_RESOURCE + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "update_slots" + type: "bool" + default_value { + b: true + } + } + is_stateful: true +} +op { + name: "ResourceApplyAdagradDA" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "gradient_accumulator" + type: DT_RESOURCE + } + input_arg { + name: "gradient_squared_accumulator" + type: DT_RESOURCE + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "l1" + type_attr: "T" + } + input_arg { + name: "l2" + type_attr: "T" + } + input_arg { + name: "global_step" + type: DT_INT64 + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceApplyAdagradV2" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "accum" + type: DT_RESOURCE + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "epsilon" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "update_slots" + type: "bool" + default_value { + b: true + } + } + is_stateful: true +} +op { + name: "ResourceApplyAdam" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "m" + type: DT_RESOURCE + } + input_arg { + name: "v" + type: DT_RESOURCE + } + input_arg { + name: "beta1_power" + type_attr: "T" + } + input_arg { + name: "beta2_power" + type_attr: "T" + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "beta1" + type_attr: "T" + } + input_arg { + name: "beta2" + type_attr: "T" + } + input_arg { + name: "epsilon" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "use_nesterov" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceApplyAdamWithAmsgrad" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "m" + type: DT_RESOURCE + } + input_arg { + name: "v" + type: DT_RESOURCE + } + input_arg { + name: "vhat" + type: DT_RESOURCE + } + input_arg { + name: "beta1_power" + type_attr: "T" + } + input_arg { + name: "beta2_power" + type_attr: "T" + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "beta1" + type_attr: "T" + } + input_arg { + name: "beta2" + type_attr: "T" + } + input_arg { + name: "epsilon" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceApplyAddSign" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "m" + type: DT_RESOURCE + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "alpha" + type_attr: "T" + } + input_arg { + name: "sign_decay" + type_attr: "T" + } + input_arg { + name: "beta" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceApplyCenteredRMSProp" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "mg" + type: DT_RESOURCE + } + input_arg { + name: "ms" + type: DT_RESOURCE + } + input_arg { + name: "mom" + type: DT_RESOURCE + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "rho" + type_attr: "T" + } + input_arg { + name: "momentum" + type_attr: "T" + } + input_arg { + name: "epsilon" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceApplyFtrl" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "accum" + type: DT_RESOURCE + } + input_arg { + name: "linear" + type: DT_RESOURCE + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "l1" + type_attr: "T" + } + input_arg { + name: "l2" + type_attr: "T" + } + input_arg { + name: "lr_power" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "multiply_linear_by_lr" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceApplyFtrlV2" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "accum" + type: DT_RESOURCE + } + input_arg { + name: "linear" + type: DT_RESOURCE + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "l1" + type_attr: "T" + } + input_arg { + name: "l2" + type_attr: "T" + } + input_arg { + name: "l2_shrinkage" + type_attr: "T" + } + input_arg { + name: "lr_power" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "multiply_linear_by_lr" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceApplyGradientDescent" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "alpha" + type_attr: "T" + } + input_arg { + name: "delta" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceApplyKerasMomentum" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "accum" + type: DT_RESOURCE + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "momentum" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "use_nesterov" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceApplyMomentum" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "accum" + type: DT_RESOURCE + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "momentum" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "use_nesterov" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceApplyPowerSign" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "m" + type: DT_RESOURCE + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "logbase" + type_attr: "T" + } + input_arg { + name: "sign_decay" + type_attr: "T" + } + input_arg { + name: "beta" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceApplyProximalAdagrad" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "accum" + type: DT_RESOURCE + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "l1" + type_attr: "T" + } + input_arg { + name: "l2" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceApplyProximalGradientDescent" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "alpha" + type_attr: "T" + } + input_arg { + name: "l1" + type_attr: "T" + } + input_arg { + name: "l2" + type_attr: "T" + } + input_arg { + name: "delta" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceApplyRMSProp" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "ms" + type: DT_RESOURCE + } + input_arg { + name: "mom" + type: DT_RESOURCE + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "rho" + type_attr: "T" + } + input_arg { + name: "momentum" + type_attr: "T" + } + input_arg { + name: "epsilon" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceConditionalAccumulator" + output_arg { + name: "handle" + type: DT_RESOURCE + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "shape" + type: "shape" + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "reduction_type" + type: "string" + default_value { + s: "MEAN" + } + allowed_values { + list { + s: "MEAN" + s: "SUM" + } + } + } + is_stateful: true +} +op { + name: "ResourceCountUpTo" + input_arg { + name: "resource" + type: DT_RESOURCE + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "limit" + type: "int" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + is_stateful: true +} +op { + name: "ResourceGather" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "batch_dims" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "validate_indices" + type: "bool" + default_value { + b: true + } + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + is_stateful: true +} +op { + name: "ResourceGatherNd" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + is_stateful: true +} +op { + name: "ResourceScatterAdd" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + is_stateful: true +} +op { + name: "ResourceScatterDiv" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + is_stateful: true +} +op { + name: "ResourceScatterMax" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + is_stateful: true +} +op { + name: "ResourceScatterMin" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + is_stateful: true +} +op { + name: "ResourceScatterMul" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + is_stateful: true +} +op { + name: "ResourceScatterNdAdd" + input_arg { + name: "ref" + type: DT_RESOURCE + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: true + } + } + is_stateful: true +} +op { + name: "ResourceScatterNdMax" + input_arg { + name: "ref" + type: DT_RESOURCE + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: true + } + } + is_stateful: true +} +op { + name: "ResourceScatterNdMin" + input_arg { + name: "ref" + type: DT_RESOURCE + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: true + } + } + is_stateful: true +} +op { + name: "ResourceScatterNdSub" + input_arg { + name: "ref" + type: DT_RESOURCE + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: true + } + } + is_stateful: true +} +op { + name: "ResourceScatterNdUpdate" + input_arg { + name: "ref" + type: DT_RESOURCE + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: true + } + } + is_stateful: true +} +op { + name: "ResourceScatterSub" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + is_stateful: true +} +op { + name: "ResourceScatterUpdate" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + is_stateful: true +} +op { + name: "ResourceSparseApplyAdadelta" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "accum" + type: DT_RESOURCE + } + input_arg { + name: "accum_update" + type: DT_RESOURCE + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "rho" + type_attr: "T" + } + input_arg { + name: "epsilon" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceSparseApplyAdagrad" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "accum" + type: DT_RESOURCE + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "update_slots" + type: "bool" + default_value { + b: true + } + } + is_stateful: true +} +op { + name: "ResourceSparseApplyAdagradDA" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "gradient_accumulator" + type: DT_RESOURCE + } + input_arg { + name: "gradient_squared_accumulator" + type: DT_RESOURCE + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "l1" + type_attr: "T" + } + input_arg { + name: "l2" + type_attr: "T" + } + input_arg { + name: "global_step" + type: DT_INT64 + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceSparseApplyAdagradV2" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "accum" + type: DT_RESOURCE + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "epsilon" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "update_slots" + type: "bool" + default_value { + b: true + } + } + is_stateful: true +} +op { + name: "ResourceSparseApplyCenteredRMSProp" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "mg" + type: DT_RESOURCE + } + input_arg { + name: "ms" + type: DT_RESOURCE + } + input_arg { + name: "mom" + type: DT_RESOURCE + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "rho" + type_attr: "T" + } + input_arg { + name: "momentum" + type_attr: "T" + } + input_arg { + name: "epsilon" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceSparseApplyFtrl" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "accum" + type: DT_RESOURCE + } + input_arg { + name: "linear" + type: DT_RESOURCE + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "l1" + type_attr: "T" + } + input_arg { + name: "l2" + type_attr: "T" + } + input_arg { + name: "lr_power" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "multiply_linear_by_lr" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceSparseApplyFtrlV2" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "accum" + type: DT_RESOURCE + } + input_arg { + name: "linear" + type: DT_RESOURCE + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "l1" + type_attr: "T" + } + input_arg { + name: "l2" + type_attr: "T" + } + input_arg { + name: "l2_shrinkage" + type_attr: "T" + } + input_arg { + name: "lr_power" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "multiply_linear_by_lr" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceSparseApplyKerasMomentum" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "accum" + type: DT_RESOURCE + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "momentum" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "use_nesterov" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceSparseApplyMomentum" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "accum" + type: DT_RESOURCE + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "momentum" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "use_nesterov" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceSparseApplyProximalAdagrad" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "accum" + type: DT_RESOURCE + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "l1" + type_attr: "T" + } + input_arg { + name: "l2" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceSparseApplyProximalGradientDescent" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "alpha" + type_attr: "T" + } + input_arg { + name: "l1" + type_attr: "T" + } + input_arg { + name: "l2" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceSparseApplyRMSProp" + input_arg { + name: "var" + type: DT_RESOURCE + } + input_arg { + name: "ms" + type: DT_RESOURCE + } + input_arg { + name: "mom" + type: DT_RESOURCE + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "rho" + type_attr: "T" + } + input_arg { + name: "momentum" + type_attr: "T" + } + input_arg { + name: "epsilon" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "ResourceStridedSliceAssign" + input_arg { + name: "ref" + type: DT_RESOURCE + } + input_arg { + name: "begin" + type_attr: "Index" + } + input_arg { + name: "end" + type_attr: "Index" + } + input_arg { + name: "strides" + type_attr: "Index" + } + input_arg { + name: "value" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Index" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "begin_mask" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "end_mask" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "ellipsis_mask" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "new_axis_mask" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "shrink_axis_mask" + type: "int" + default_value { + i: 0 + } + } + is_stateful: true +} +op { + name: "Restore" + input_arg { + name: "file_pattern" + type: DT_STRING + } + input_arg { + name: "tensor_name" + type: DT_STRING + } + output_arg { + name: "tensor" + type_attr: "dt" + } + attr { + name: "dt" + type: "type" + } + attr { + name: "preferred_shard" + type: "int" + default_value { + i: -1 + } + } + is_stateful: true +} +op { + name: "RestoreSlice" + input_arg { + name: "file_pattern" + type: DT_STRING + } + input_arg { + name: "tensor_name" + type: DT_STRING + } + input_arg { + name: "shape_and_slice" + type: DT_STRING + } + output_arg { + name: "tensor" + type_attr: "dt" + } + attr { + name: "dt" + type: "type" + } + attr { + name: "preferred_shard" + type: "int" + default_value { + i: -1 + } + } + is_stateful: true +} +op { + name: "RestoreV2" + input_arg { + name: "prefix" + type: DT_STRING + } + input_arg { + name: "tensor_names" + type: DT_STRING + } + input_arg { + name: "shape_and_slices" + type: DT_STRING + } + output_arg { + name: "tensors" + type_list_attr: "dtypes" + } + attr { + name: "dtypes" + type: "list(type)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingADAMParameters" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "momenta" + type: DT_FLOAT + } + output_arg { + name: "velocities" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingADAMParametersGradAccumDebug" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "momenta" + type: DT_FLOAT + } + output_arg { + name: "velocities" + type: DT_FLOAT + } + output_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingAdadeltaParameters" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "accumulators" + type: DT_FLOAT + } + output_arg { + name: "updates" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingAdadeltaParametersGradAccumDebug" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "accumulators" + type: DT_FLOAT + } + output_arg { + name: "updates" + type: DT_FLOAT + } + output_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingAdagradParameters" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingAdagradParametersGradAccumDebug" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "accumulators" + type: DT_FLOAT + } + output_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingCenteredRMSPropParameters" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "ms" + type: DT_FLOAT + } + output_arg { + name: "mom" + type: DT_FLOAT + } + output_arg { + name: "mg" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingFTRLParameters" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "accumulators" + type: DT_FLOAT + } + output_arg { + name: "linears" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingFTRLParametersGradAccumDebug" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "accumulators" + type: DT_FLOAT + } + output_arg { + name: "linears" + type: DT_FLOAT + } + output_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingFrequencyEstimatorParameters" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "last_hit_step" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingFrequencyEstimatorParametersGradAccumDebug" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "last_hit_step" + type: DT_FLOAT + } + output_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingMDLAdagradLightParameters" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "accumulators" + type: DT_FLOAT + } + output_arg { + name: "weights" + type: DT_FLOAT + } + output_arg { + name: "benefits" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingMomentumParameters" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "momenta" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingMomentumParametersGradAccumDebug" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "momenta" + type: DT_FLOAT + } + output_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingProximalAdagradParameters" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingProximalAdagradParametersGradAccumDebug" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "accumulators" + type: DT_FLOAT + } + output_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingProximalYogiParameters" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "v" + type: DT_FLOAT + } + output_arg { + name: "m" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingProximalYogiParametersGradAccumDebug" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "v" + type: DT_FLOAT + } + output_arg { + name: "m" + type: DT_FLOAT + } + output_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingRMSPropParameters" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "ms" + type: DT_FLOAT + } + output_arg { + name: "mom" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingRMSPropParametersGradAccumDebug" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "ms" + type: DT_FLOAT + } + output_arg { + name: "mom" + type: DT_FLOAT + } + output_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingStochasticGradientDescentParameters" + output_arg { + name: "parameters" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "RetrieveTPUEmbeddingStochasticGradientDescentParametersGradAccumDebug" + output_arg { + name: "parameters" + type: DT_FLOAT + } + output_arg { + name: "gradient_accumulators" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "table_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "num_shards" + type: "int" + } + attr { + name: "shard_id" + type: "int" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "Reverse" + input_arg { + name: "tensor" + type_attr: "T" + } + input_arg { + name: "dims" + type: DT_BOOL + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_UINT8 + type: DT_INT8 + type: DT_UINT16 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_BOOL + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + type: DT_STRING + } + } + } +} +op { + name: "ReverseSequence" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "seq_lengths" + type_attr: "Tlen" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "seq_dim" + type: "int" + } + attr { + name: "batch_dim" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tlen" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "ReverseV2" + input_arg { + name: "tensor" + type_attr: "T" + } + input_arg { + name: "axis" + type_attr: "Tidx" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_UINT8 + type: DT_INT8 + type: DT_UINT16 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_BOOL + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + type: DT_STRING + } + } + } +} +op { + name: "RightShift" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_UINT8 + type: DT_UINT16 + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "Rint" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RiscAdd" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + is_aggregate: true + is_commutative: true +} +op { + name: "RiscBinaryArithmetic" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "op_type" + type: "string" + allowed_values { + list { + s: "ADD" + s: "SUB" + s: "MUL" + s: "DIV" + s: "REM" + s: "MIN" + s: "POW" + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RiscBinaryComparison" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type: DT_BOOL + } + attr { + name: "op_type" + type: "string" + allowed_values { + list { + s: "EQ" + s: "NE" + s: "GE" + s: "GT" + s: "LE" + s: "LT" + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RiscBitcast" + input_arg { + name: "x" + type_attr: "SrcT" + } + output_arg { + name: "y" + type_attr: "DstT" + } + attr { + name: "SrcT" + type: "type" + } + attr { + name: "DstT" + type: "type" + } +} +op { + name: "RiscBroadcast" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "shape" + type_attr: "Tidx" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RiscCast" + input_arg { + name: "x" + type_attr: "SrcT" + } + output_arg { + name: "y" + type_attr: "DstT" + } + attr { + name: "SrcT" + type: "type" + } + attr { + name: "DstT" + type: "type" + } +} +op { + name: "RiscCholesky" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RiscConcat" + input_arg { + name: "values" + type_attr: "T" + number_attr: "N" + } + input_arg { + name: "axis" + type_attr: "Tidx" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 2 + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RiscCondition" + input_arg { + name: "pred" + type: DT_BOOL + } + input_arg { + name: "input_true" + type_attr: "SrcT" + } + input_arg { + name: "input_false" + type_attr: "SrcT" + } + output_arg { + name: "output" + type_attr: "DstT" + } + attr { + name: "func_true" + type: "func" + } + attr { + name: "func_false" + type: "func" + } + attr { + name: "SrcT" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "DstT" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RiscConv" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "filter" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "strides" + type: "list(int)" + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + } + } + } + attr { + name: "dilations" + type: "list(int)" + default_value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +op { + name: "RiscDot" + input_arg { + name: "a" + type_attr: "T" + } + input_arg { + name: "b" + type_attr: "T" + } + output_arg { + name: "product" + type_attr: "T" + } + attr { + name: "transpose_a" + type: "bool" + default_value { + b: false + } + } + attr { + name: "transpose_b" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RiscFft" + input_arg { + name: "input" + type_attr: "Tcomplex" + } + output_arg { + name: "output" + type_attr: "Tcomplex" + } + attr { + name: "Tcomplex" + type: "type" + default_value { + type: DT_COMPLEX64 + } + allowed_values { + list { + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "RiscGather" + input_arg { + name: "params" + type_attr: "Tparams" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "axis" + type_attr: "Taxis" + } + output_arg { + name: "output" + type_attr: "Tparams" + } + attr { + name: "batch_dims" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "Tparams" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Taxis" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RiscIsFinite" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type: DT_BOOL + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RiscLogicalAnd" + input_arg { + name: "x" + type: DT_BOOL + } + input_arg { + name: "y" + type: DT_BOOL + } + output_arg { + name: "z" + type: DT_BOOL + } +} +op { + name: "RiscLogicalNot" + input_arg { + name: "x" + type: DT_BOOL + } + output_arg { + name: "z" + type: DT_BOOL + } +} +op { + name: "RiscLogicalOr" + input_arg { + name: "x" + type: DT_BOOL + } + input_arg { + name: "y" + type: DT_BOOL + } + output_arg { + name: "z" + type: DT_BOOL + } +} +op { + name: "RiscMax" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "max" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RiscPad" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "paddings" + type_attr: "Tpaddings" + } + input_arg { + name: "constant_values" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tpaddings" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RiscPool" + input_arg { + name: "value" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "ksize" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "strides" + type: "list(int)" + has_minimum: true + minimum: 4 + } + attr { + name: "pooling_type" + type: "string" + allowed_values { + list { + s: "AVG" + s: "MAX" + } + } + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RiscRandomUniform" + input_arg { + name: "shape" + type_attr: "T" + } + output_arg { + name: "output" + type: DT_FLOAT + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RiscReduce" + input_arg { + name: "tensor" + type_attr: "T" + } + input_arg { + name: "axis" + type_attr: "Index" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "reduce_type" + type: "string" + allowed_values { + list { + s: "MEAN" + s: "SUM" + } + } + } + attr { + name: "Index" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RiscReshape" + input_arg { + name: "tensor" + type_attr: "T" + } + input_arg { + name: "shape" + type_attr: "Tshape" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tshape" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RiscReverse" + input_arg { + name: "tensor" + type_attr: "T" + } + input_arg { + name: "axis" + type_attr: "Tidx" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RiscScatter" + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + input_arg { + name: "shape" + type_attr: "Tindices" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RiscShape" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "out_type" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RiscSlice" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "begin" + type_attr: "Index" + } + input_arg { + name: "size" + type_attr: "Index" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Index" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RiscSort" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "axis" + type_attr: "Index" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "Index" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "direction" + type: "string" + allowed_values { + list { + s: "ASCENDING" + s: "DESCENDING" + } + } + } +} +op { + name: "RiscSqueeze" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "squeeze_dims" + type: "list(int)" + default_value { + list { + } + } + has_minimum: true + } +} +op { + name: "RiscTranspose" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "perm" + type_attr: "Tperm" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tperm" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "RiscTriangularSolve" + input_arg { + name: "matrix" + type_attr: "T" + } + input_arg { + name: "rhs" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "lower" + type: "bool" + default_value { + b: true + } + } + attr { + name: "adjoint" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RiscUnary" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "op_type" + type: "string" + allowed_values { + list { + s: "ABL" + s: "CEIL" + s: "COS" + s: "EXP" + s: "FLOOR" + s: "IMAG" + s: "LOG" + s: "NEG" + s: "REAL" + s: "SIGN" + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "RiscWhile" + input_arg { + name: "input" + type_list_attr: "T" + } + output_arg { + name: "output" + type_list_attr: "T" + } + attr { + name: "T" + type: "list(type)" + has_minimum: true + } + attr { + name: "cond" + type: "func" + } + attr { + name: "body" + type: "func" + } + attr { + name: "output_shapes" + type: "list(shape)" + default_value { + list { + } + } + } + attr { + name: "parallel_iterations" + type: "int" + default_value { + i: 10 + } + } + is_stateful: true +} +op { + name: "RngReadAndSkip" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "alg" + type: DT_INT32 + } + input_arg { + name: "delta" + type: DT_UINT64 + } + output_arg { + name: "value" + type: DT_INT64 + } + is_stateful: true +} +op { + name: "RngSkip" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "algorithm" + type: DT_INT64 + } + input_arg { + name: "delta" + type: DT_INT64 + } + is_stateful: true +} +op { + name: "Roll" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "shift" + type_attr: "Tshift" + } + input_arg { + name: "axis" + type_attr: "Taxis" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tshift" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Taxis" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "Round" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "Rpc" + input_arg { + name: "address" + type: DT_STRING + } + input_arg { + name: "method" + type: DT_STRING + } + input_arg { + name: "request" + type: DT_STRING + } + output_arg { + name: "response" + type: DT_STRING + } + attr { + name: "protocol" + type: "string" + default_value { + s: "" + } + } + attr { + name: "fail_fast" + type: "bool" + default_value { + b: true + } + } + attr { + name: "timeout_in_ms" + type: "int" + default_value { + i: 0 + } + } + is_stateful: true +} +op { + name: "Rsqrt" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "RsqrtGrad" + input_arg { + name: "y" + type_attr: "T" + } + input_arg { + name: "dy" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "SampleDistortedBoundingBox" + input_arg { + name: "image_size" + type_attr: "T" + } + input_arg { + name: "bounding_boxes" + type: DT_FLOAT + } + output_arg { + name: "begin" + type_attr: "T" + } + output_arg { + name: "size" + type_attr: "T" + } + output_arg { + name: "bboxes" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_UINT8 + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "min_object_covered" + type: "float" + default_value { + f: 0.1 + } + } + attr { + name: "aspect_ratio_range" + type: "list(float)" + default_value { + list { + f: 0.75 + f: 1.33 + } + } + } + attr { + name: "area_range" + type: "list(float)" + default_value { + list { + f: 0.05 + f: 1 + } + } + } + attr { + name: "max_attempts" + type: "int" + default_value { + i: 100 + } + } + attr { + name: "use_image_if_no_bounding_boxes" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "SampleDistortedBoundingBoxV2" + input_arg { + name: "image_size" + type_attr: "T" + } + input_arg { + name: "bounding_boxes" + type: DT_FLOAT + } + input_arg { + name: "min_object_covered" + type: DT_FLOAT + } + output_arg { + name: "begin" + type_attr: "T" + } + output_arg { + name: "size" + type_attr: "T" + } + output_arg { + name: "bboxes" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_UINT8 + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "aspect_ratio_range" + type: "list(float)" + default_value { + list { + f: 0.75 + f: 1.33 + } + } + } + attr { + name: "area_range" + type: "list(float)" + default_value { + list { + f: 0.05 + f: 1 + } + } + } + attr { + name: "max_attempts" + type: "int" + default_value { + i: 100 + } + } + attr { + name: "use_image_if_no_bounding_boxes" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "SamplingDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "rate" + type: DT_FLOAT + } + input_arg { + name: "seed" + type: DT_INT64 + } + input_arg { + name: "seed2" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "Save" + input_arg { + name: "filename" + type: DT_STRING + } + input_arg { + name: "tensor_names" + type: DT_STRING + } + input_arg { + name: "data" + type_list_attr: "T" + } + attr { + name: "T" + type: "list(type)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "SaveDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "path" + type: DT_STRING + } + input_arg { + name: "shard_func_other_args" + type_list_attr: "Tshard_func_args" + } + attr { + name: "compression" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shard_func" + type: "func" + } + attr { + name: "use_shard_func" + type: "bool" + default_value { + b: true + } + } + attr { + name: "Tshard_func_args" + type: "list(type)" + has_minimum: true + } + is_stateful: true +} +op { + name: "SaveSlices" + input_arg { + name: "filename" + type: DT_STRING + } + input_arg { + name: "tensor_names" + type: DT_STRING + } + input_arg { + name: "shapes_and_slices" + type: DT_STRING + } + input_arg { + name: "data" + type_list_attr: "T" + } + attr { + name: "T" + type: "list(type)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "SaveV2" + input_arg { + name: "prefix" + type: DT_STRING + } + input_arg { + name: "tensor_names" + type: DT_STRING + } + input_arg { + name: "shape_and_slices" + type: DT_STRING + } + input_arg { + name: "tensors" + type_list_attr: "dtypes" + } + attr { + name: "dtypes" + type: "list(type)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "ScalarSummary" + input_arg { + name: "tags" + type: DT_STRING + } + input_arg { + name: "values" + type_attr: "T" + } + output_arg { + name: "summary" + type: DT_STRING + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "ScaleAndTranslate" + input_arg { + name: "images" + type_attr: "T" + } + input_arg { + name: "size" + type: DT_INT32 + } + input_arg { + name: "scale" + type: DT_FLOAT + } + input_arg { + name: "translation" + type: DT_FLOAT + } + output_arg { + name: "resized_images" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT8 + type: DT_UINT8 + type: DT_INT16 + type: DT_UINT16 + type: DT_INT32 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "kernel_type" + type: "string" + default_value { + s: "lanczos3" + } + } + attr { + name: "antialias" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "ScaleAndTranslateGrad" + input_arg { + name: "grads" + type_attr: "T" + } + input_arg { + name: "original_image" + type_attr: "T" + } + input_arg { + name: "scale" + type: DT_FLOAT + } + input_arg { + name: "translation" + type: DT_FLOAT + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + } + } + } + attr { + name: "kernel_type" + type: "string" + default_value { + s: "lanczos3" + } + } + attr { + name: "antialias" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "ScanDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "initial_state" + type_list_attr: "Tstate" + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "f" + type: "func" + } + attr { + name: "Tstate" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "preserve_cardinality" + type: "bool" + default_value { + b: false + } + } + attr { + name: "use_default_device" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "ScatterAdd" + input_arg { + name: "ref" + type_attr: "T" + is_ref: true + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + output_arg { + name: "output_ref" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ScatterDiv" + input_arg { + name: "ref" + type_attr: "T" + is_ref: true + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + output_arg { + name: "output_ref" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ScatterMax" + input_arg { + name: "ref" + type_attr: "T" + is_ref: true + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + output_arg { + name: "output_ref" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ScatterMin" + input_arg { + name: "ref" + type_attr: "T" + is_ref: true + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + output_arg { + name: "output_ref" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ScatterMul" + input_arg { + name: "ref" + type_attr: "T" + is_ref: true + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + output_arg { + name: "output_ref" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ScatterNd" + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + input_arg { + name: "shape" + type_attr: "Tindices" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "ScatterNdAdd" + input_arg { + name: "ref" + type_attr: "T" + is_ref: true + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + output_arg { + name: "output_ref" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ScatterNdMax" + input_arg { + name: "ref" + type_attr: "T" + is_ref: true + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + output_arg { + name: "output_ref" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ScatterNdMin" + input_arg { + name: "ref" + type_attr: "T" + is_ref: true + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + output_arg { + name: "output_ref" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ScatterNdNonAliasingAdd" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + type: DT_BOOL + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "ScatterNdSub" + input_arg { + name: "ref" + type_attr: "T" + is_ref: true + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + output_arg { + name: "output_ref" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ScatterNdUpdate" + input_arg { + name: "ref" + type_attr: "T" + is_ref: true + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + output_arg { + name: "output_ref" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "ScatterSub" + input_arg { + name: "ref" + type_attr: "T" + is_ref: true + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + output_arg { + name: "output_ref" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "ScatterUpdate" + input_arg { + name: "ref" + type_attr: "T" + is_ref: true + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + output_arg { + name: "output_ref" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "SdcaFprint" + input_arg { + name: "input" + type: DT_STRING + } + output_arg { + name: "output" + type: DT_INT64 + } +} +op { + name: "SdcaOptimizer" + input_arg { + name: "sparse_example_indices" + type: DT_INT64 + number_attr: "num_sparse_features" + } + input_arg { + name: "sparse_feature_indices" + type: DT_INT64 + number_attr: "num_sparse_features" + } + input_arg { + name: "sparse_feature_values" + type: DT_FLOAT + number_attr: "num_sparse_features_with_values" + } + input_arg { + name: "dense_features" + type: DT_FLOAT + number_attr: "num_dense_features" + } + input_arg { + name: "example_weights" + type: DT_FLOAT + } + input_arg { + name: "example_labels" + type: DT_FLOAT + } + input_arg { + name: "sparse_indices" + type: DT_INT64 + number_attr: "num_sparse_features" + } + input_arg { + name: "sparse_weights" + type: DT_FLOAT + number_attr: "num_sparse_features" + } + input_arg { + name: "dense_weights" + type: DT_FLOAT + number_attr: "num_dense_features" + } + input_arg { + name: "example_state_data" + type: DT_FLOAT + } + output_arg { + name: "out_example_state_data" + type: DT_FLOAT + } + output_arg { + name: "out_delta_sparse_weights" + type: DT_FLOAT + number_attr: "num_sparse_features" + } + output_arg { + name: "out_delta_dense_weights" + type: DT_FLOAT + number_attr: "num_dense_features" + } + attr { + name: "loss_type" + type: "string" + allowed_values { + list { + s: "logistic_loss" + s: "squared_loss" + s: "hinge_loss" + s: "smooth_hinge_loss" + s: "poisson_loss" + } + } + } + attr { + name: "adaptative" + type: "bool" + default_value { + b: false + } + } + attr { + name: "num_sparse_features" + type: "int" + has_minimum: true + } + attr { + name: "num_sparse_features_with_values" + type: "int" + has_minimum: true + } + attr { + name: "num_dense_features" + type: "int" + has_minimum: true + } + attr { + name: "l1" + type: "float" + } + attr { + name: "l2" + type: "float" + } + attr { + name: "num_loss_partitions" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "num_inner_iterations" + type: "int" + has_minimum: true + minimum: 1 + } +} +op { + name: "SdcaOptimizerV2" + input_arg { + name: "sparse_example_indices" + type: DT_INT64 + number_attr: "num_sparse_features" + } + input_arg { + name: "sparse_feature_indices" + type: DT_INT64 + number_attr: "num_sparse_features" + } + input_arg { + name: "sparse_feature_values" + type: DT_FLOAT + number_attr: "num_sparse_features_with_values" + } + input_arg { + name: "dense_features" + type: DT_FLOAT + number_attr: "num_dense_features" + } + input_arg { + name: "example_weights" + type: DT_FLOAT + } + input_arg { + name: "example_labels" + type: DT_FLOAT + } + input_arg { + name: "sparse_indices" + type: DT_INT64 + number_attr: "num_sparse_features" + } + input_arg { + name: "sparse_weights" + type: DT_FLOAT + number_attr: "num_sparse_features" + } + input_arg { + name: "dense_weights" + type: DT_FLOAT + number_attr: "num_dense_features" + } + input_arg { + name: "example_state_data" + type: DT_FLOAT + } + output_arg { + name: "out_example_state_data" + type: DT_FLOAT + } + output_arg { + name: "out_delta_sparse_weights" + type: DT_FLOAT + number_attr: "num_sparse_features" + } + output_arg { + name: "out_delta_dense_weights" + type: DT_FLOAT + number_attr: "num_dense_features" + } + attr { + name: "loss_type" + type: "string" + allowed_values { + list { + s: "logistic_loss" + s: "squared_loss" + s: "hinge_loss" + s: "smooth_hinge_loss" + s: "poisson_loss" + } + } + } + attr { + name: "adaptive" + type: "bool" + default_value { + b: false + } + } + attr { + name: "num_sparse_features" + type: "int" + has_minimum: true + } + attr { + name: "num_sparse_features_with_values" + type: "int" + has_minimum: true + } + attr { + name: "num_dense_features" + type: "int" + has_minimum: true + } + attr { + name: "l1" + type: "float" + } + attr { + name: "l2" + type: "float" + } + attr { + name: "num_loss_partitions" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "num_inner_iterations" + type: "int" + has_minimum: true + minimum: 1 + } +} +op { + name: "SdcaShrinkL1" + input_arg { + name: "weights" + type: DT_FLOAT + number_attr: "num_features" + is_ref: true + } + attr { + name: "num_features" + type: "int" + has_minimum: true + } + attr { + name: "l1" + type: "float" + } + attr { + name: "l2" + type: "float" + } +} +op { + name: "SegmentMax" + input_arg { + name: "data" + type_attr: "T" + } + input_arg { + name: "segment_ids" + type_attr: "Tindices" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "SegmentMean" + input_arg { + name: "data" + type_attr: "T" + } + input_arg { + name: "segment_ids" + type_attr: "Tindices" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "SegmentMin" + input_arg { + name: "data" + type_attr: "T" + } + input_arg { + name: "segment_ids" + type_attr: "Tindices" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "SegmentProd" + input_arg { + name: "data" + type_attr: "T" + } + input_arg { + name: "segment_ids" + type_attr: "Tindices" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "SegmentSum" + input_arg { + name: "data" + type_attr: "T" + } + input_arg { + name: "segment_ids" + type_attr: "Tindices" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "Select" + input_arg { + name: "condition" + type: DT_BOOL + } + input_arg { + name: "t" + type_attr: "T" + } + input_arg { + name: "e" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } +} +op { + name: "SelectV2" + input_arg { + name: "condition" + type: DT_BOOL + } + input_arg { + name: "t" + type_attr: "T" + } + input_arg { + name: "e" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } +} +op { + name: "SelfAdjointEig" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + type: DT_HALF + } + } + } + deprecation { + version: 11 + explanation: "Use SelfAdjointEigV2 instead." + } +} +op { + name: "SelfAdjointEigV2" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "e" + type_attr: "T" + } + output_arg { + name: "v" + type_attr: "T" + } + attr { + name: "compute_v" + type: "bool" + default_value { + b: true + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + type: DT_HALF + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "Selu" + input_arg { + name: "features" + type_attr: "T" + } + output_arg { + name: "activations" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "SeluGrad" + input_arg { + name: "gradients" + type_attr: "T" + } + input_arg { + name: "outputs" + type_attr: "T" + } + output_arg { + name: "backprops" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "Send" + input_arg { + name: "tensor" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "tensor_name" + type: "string" + } + attr { + name: "send_device" + type: "string" + } + attr { + name: "send_device_incarnation" + type: "int" + } + attr { + name: "recv_device" + type: "string" + } + attr { + name: "client_terminated" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "SendTPUEmbeddingGradients" + input_arg { + name: "inputs" + type: DT_FLOAT + number_attr: "N" + } + input_arg { + name: "learning_rates" + type: DT_FLOAT + number_attr: "NN" + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "NN" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "config" + type: "string" + } + is_stateful: true +} +op { + name: "SerializeIterator" + input_arg { + name: "resource_handle" + type: DT_RESOURCE + } + output_arg { + name: "serialized" + type: DT_VARIANT + } + attr { + name: "external_state_policy" + type: "int" + default_value { + i: 0 + } + } + is_stateful: true +} +op { + name: "SerializeManySparse" + input_arg { + name: "sparse_indices" + type: DT_INT64 + } + input_arg { + name: "sparse_values" + type_attr: "T" + } + input_arg { + name: "sparse_shape" + type: DT_INT64 + } + output_arg { + name: "serialized_sparse" + type_attr: "out_type" + } + attr { + name: "T" + type: "type" + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_STRING + } + allowed_values { + list { + type: DT_STRING + type: DT_VARIANT + } + } + } +} +op { + name: "SerializeSparse" + input_arg { + name: "sparse_indices" + type: DT_INT64 + } + input_arg { + name: "sparse_values" + type_attr: "T" + } + input_arg { + name: "sparse_shape" + type: DT_INT64 + } + output_arg { + name: "serialized_sparse" + type_attr: "out_type" + } + attr { + name: "T" + type: "type" + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_STRING + } + allowed_values { + list { + type: DT_STRING + type: DT_VARIANT + } + } + } +} +op { + name: "SerializeTensor" + input_arg { + name: "tensor" + type_attr: "T" + } + output_arg { + name: "serialized" + type: DT_STRING + } + attr { + name: "T" + type: "type" + } +} +op { + name: "SetSize" + input_arg { + name: "set_indices" + type: DT_INT64 + } + input_arg { + name: "set_values" + type_attr: "T" + } + input_arg { + name: "set_shape" + type: DT_INT64 + } + output_arg { + name: "size" + type: DT_INT32 + } + attr { + name: "validate_indices" + type: "bool" + default_value { + b: true + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_UINT8 + type: DT_UINT16 + type: DT_STRING + } + } + } +} +op { + name: "SetStatsAggregatorDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "stats_aggregator" + type: DT_RESOURCE + } + input_arg { + name: "tag" + type: DT_STRING + } + input_arg { + name: "counter_prefix" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "Shape" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "out_type" + } + attr { + name: "T" + type: "type" + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "ShapeN" + input_arg { + name: "input" + type_attr: "T" + number_attr: "N" + } + output_arg { + name: "output" + type_attr: "out_type" + number_attr: "N" + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "T" + type: "type" + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "ShardDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "num_shards" + type: DT_INT64 + } + input_arg { + name: "index" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "require_non_empty" + type: "bool" + default_value { + b: false + } + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ShardedFilename" + input_arg { + name: "basename" + type: DT_STRING + } + input_arg { + name: "shard" + type: DT_INT32 + } + input_arg { + name: "num_shards" + type: DT_INT32 + } + output_arg { + name: "filename" + type: DT_STRING + } +} +op { + name: "ShardedFilespec" + input_arg { + name: "basename" + type: DT_STRING + } + input_arg { + name: "num_shards" + type: DT_INT32 + } + output_arg { + name: "filename" + type: DT_STRING + } +} +op { + name: "ShuffleAndRepeatDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "buffer_size" + type: DT_INT64 + } + input_arg { + name: "seed" + type: DT_INT64 + } + input_arg { + name: "seed2" + type: DT_INT64 + } + input_arg { + name: "count" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "reshuffle_each_iteration" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "ShuffleAndRepeatDatasetV2" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "buffer_size" + type: DT_INT64 + } + input_arg { + name: "seed" + type: DT_INT64 + } + input_arg { + name: "seed2" + type: DT_INT64 + } + input_arg { + name: "count" + type: DT_INT64 + } + input_arg { + name: "seed_generator" + type: DT_RESOURCE + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "reshuffle_each_iteration" + type: "bool" + default_value { + b: true + } + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "ShuffleDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "buffer_size" + type: DT_INT64 + } + input_arg { + name: "seed" + type: DT_INT64 + } + input_arg { + name: "seed2" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "reshuffle_each_iteration" + type: "bool" + default_value { + b: true + } + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "ShuffleDatasetV2" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "buffer_size" + type: DT_INT64 + } + input_arg { + name: "seed_generator" + type: DT_RESOURCE + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "ShuffleDatasetV3" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "buffer_size" + type: DT_INT64 + } + input_arg { + name: "seed" + type: DT_INT64 + } + input_arg { + name: "seed2" + type: DT_INT64 + } + input_arg { + name: "seed_generator" + type: DT_RESOURCE + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "reshuffle_each_iteration" + type: "bool" + default_value { + b: true + } + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "ShutdownDistributedTPU" + is_stateful: true +} +op { + name: "Sigmoid" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "SigmoidGrad" + input_arg { + name: "y" + type_attr: "T" + } + input_arg { + name: "dy" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "Sign" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "Sin" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "Sinh" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "Size" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "out_type" + } + attr { + name: "T" + type: "type" + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "SkipDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "count" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "Skipgram" + output_arg { + name: "vocab_word" + type: DT_STRING + } + output_arg { + name: "vocab_freq" + type: DT_INT32 + } + output_arg { + name: "words_per_epoch" + type: DT_INT64 + } + output_arg { + name: "current_epoch" + type: DT_INT32 + } + output_arg { + name: "total_words_processed" + type: DT_INT64 + } + output_arg { + name: "examples" + type: DT_INT32 + } + output_arg { + name: "labels" + type: DT_INT32 + } + attr { + name: "filename" + type: "string" + } + attr { + name: "batch_size" + type: "int" + } + attr { + name: "window_size" + type: "int" + default_value { + i: 5 + } + } + attr { + name: "min_count" + type: "int" + default_value { + i: 5 + } + } + attr { + name: "subsample" + type: "float" + default_value { + f: 0.001 + } + } + deprecation { + version: 19 + explanation: "Moving word2vec into tensorflow_models/tutorials and deprecating its ops here as a result" + } + is_stateful: true +} +op { + name: "SleepDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "sleep_microseconds" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "Slice" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "begin" + type_attr: "Index" + } + input_arg { + name: "size" + type_attr: "Index" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Index" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "SlidingWindowDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "window_size" + type: DT_INT64 + } + input_arg { + name: "window_shift" + type: DT_INT64 + } + input_arg { + name: "window_stride" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "Snapshot" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } +} +op { + name: "SnapshotDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "path" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "compression" + type: "string" + default_value { + s: "" + } + } + attr { + name: "reader_path_prefix" + type: "string" + default_value { + s: "" + } + } + attr { + name: "writer_path_prefix" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shard_size_bytes" + type: "int" + default_value { + i: 10737418240 + } + } + attr { + name: "pending_snapshot_expiry_seconds" + type: "int" + default_value { + i: 86400 + } + } + attr { + name: "num_reader_threads" + type: "int" + default_value { + i: 1 + } + } + attr { + name: "reader_buffer_size" + type: "int" + default_value { + i: 1 + } + } + attr { + name: "num_writer_threads" + type: "int" + default_value { + i: 1 + } + } + attr { + name: "writer_buffer_size" + type: "int" + default_value { + i: 1 + } + } + attr { + name: "shuffle_on_read" + type: "bool" + default_value { + b: false + } + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "mode" + type: "string" + default_value { + s: "auto" + } + } + attr { + name: "snapshot_name" + type: "string" + default_value { + s: "" + } + } +} +op { + name: "SnapshotDatasetV2" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "path" + type: DT_STRING + } + input_arg { + name: "reader_func_other_args" + type_list_attr: "Treader_func_args" + } + input_arg { + name: "shard_func_other_args" + type_list_attr: "Tshard_func_args" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "compression" + type: "string" + default_value { + s: "" + } + } + attr { + name: "reader_prefix" + type: "string" + default_value { + s: "" + } + } + attr { + name: "writer_prefix" + type: "string" + default_value { + s: "" + } + } + attr { + name: "hash_valid" + type: "bool" + default_value { + b: false + } + } + attr { + name: "hash" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "reader_func" + type: "func" + } + attr { + name: "shard_func" + type: "func" + } + attr { + name: "Treader_func_args" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tshard_func_args" + type: "list(type)" + has_minimum: true + } +} +op { + name: "SobolSample" + input_arg { + name: "dim" + type: DT_INT32 + } + input_arg { + name: "num_results" + type: DT_INT32 + } + input_arg { + name: "skip" + type: DT_INT32 + } + output_arg { + name: "samples" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "Softmax" + input_arg { + name: "logits" + type_attr: "T" + } + output_arg { + name: "softmax" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "SoftmaxCrossEntropyWithLogits" + input_arg { + name: "features" + type_attr: "T" + } + input_arg { + name: "labels" + type_attr: "T" + } + output_arg { + name: "loss" + type_attr: "T" + } + output_arg { + name: "backprop" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "Softplus" + input_arg { + name: "features" + type_attr: "T" + } + output_arg { + name: "activations" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "SoftplusGrad" + input_arg { + name: "gradients" + type_attr: "T" + } + input_arg { + name: "features" + type_attr: "T" + } + output_arg { + name: "backprops" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "Softsign" + input_arg { + name: "features" + type_attr: "T" + } + output_arg { + name: "activations" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "SoftsignGrad" + input_arg { + name: "gradients" + type_attr: "T" + } + input_arg { + name: "features" + type_attr: "T" + } + output_arg { + name: "backprops" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "SpaceToBatch" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "paddings" + type_attr: "Tpaddings" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tpaddings" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "block_size" + type: "int" + has_minimum: true + minimum: 2 + } +} +op { + name: "SpaceToBatchND" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "block_shape" + type_attr: "Tblock_shape" + } + input_arg { + name: "paddings" + type_attr: "Tpaddings" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tblock_shape" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tpaddings" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "SpaceToDepth" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "block_size" + type: "int" + has_minimum: true + minimum: 2 + } + attr { + name: "data_format" + type: "string" + default_value { + s: "NHWC" + } + allowed_values { + list { + s: "NHWC" + s: "NCHW" + s: "NCHW_VECT_C" + } + } + } +} +op { + name: "SparseAccumulatorApplyGradient" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "local_step" + type: DT_INT64 + } + input_arg { + name: "gradient_indices" + type: DT_INT64 + } + input_arg { + name: "gradient_values" + type_attr: "dtype" + } + input_arg { + name: "gradient_shape" + type: DT_INT64 + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "has_known_shape" + type: "bool" + } +} +op { + name: "SparseAccumulatorTakeGradient" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "num_required" + type: DT_INT32 + } + output_arg { + name: "indices" + type: DT_INT64 + } + output_arg { + name: "values" + type_attr: "dtype" + } + output_arg { + name: "shape" + type: DT_INT64 + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "SparseAdd" + input_arg { + name: "a_indices" + type: DT_INT64 + } + input_arg { + name: "a_values" + type_attr: "T" + } + input_arg { + name: "a_shape" + type: DT_INT64 + } + input_arg { + name: "b_indices" + type: DT_INT64 + } + input_arg { + name: "b_values" + type_attr: "T" + } + input_arg { + name: "b_shape" + type: DT_INT64 + } + input_arg { + name: "thresh" + type_attr: "Treal" + } + output_arg { + name: "sum_indices" + type: DT_INT64 + } + output_arg { + name: "sum_values" + type_attr: "T" + } + output_arg { + name: "sum_shape" + type: DT_INT64 + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Treal" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "SparseAddGrad" + input_arg { + name: "backprop_val_grad" + type_attr: "T" + } + input_arg { + name: "a_indices" + type: DT_INT64 + } + input_arg { + name: "b_indices" + type: DT_INT64 + } + input_arg { + name: "sum_indices" + type: DT_INT64 + } + output_arg { + name: "a_val_grad" + type_attr: "T" + } + output_arg { + name: "b_val_grad" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "SparseApplyAdadelta" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "accum" + type_attr: "T" + is_ref: true + } + input_arg { + name: "accum_update" + type_attr: "T" + is_ref: true + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "rho" + type_attr: "T" + } + input_arg { + name: "epsilon" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "SparseApplyAdagrad" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "accum" + type_attr: "T" + is_ref: true + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "update_slots" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "SparseApplyAdagradDA" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "gradient_accumulator" + type_attr: "T" + is_ref: true + } + input_arg { + name: "gradient_squared_accumulator" + type_attr: "T" + is_ref: true + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "l1" + type_attr: "T" + } + input_arg { + name: "l2" + type_attr: "T" + } + input_arg { + name: "global_step" + type: DT_INT64 + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "SparseApplyAdagradV2" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "accum" + type_attr: "T" + is_ref: true + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "epsilon" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "update_slots" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "SparseApplyCenteredRMSProp" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "mg" + type_attr: "T" + is_ref: true + } + input_arg { + name: "ms" + type_attr: "T" + is_ref: true + } + input_arg { + name: "mom" + type_attr: "T" + is_ref: true + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "rho" + type_attr: "T" + } + input_arg { + name: "momentum" + type_attr: "T" + } + input_arg { + name: "epsilon" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "SparseApplyFtrl" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "accum" + type_attr: "T" + is_ref: true + } + input_arg { + name: "linear" + type_attr: "T" + is_ref: true + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "l1" + type_attr: "T" + } + input_arg { + name: "l2" + type_attr: "T" + } + input_arg { + name: "lr_power" + type_attr: "T" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "multiply_linear_by_lr" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "SparseApplyFtrlV2" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "accum" + type_attr: "T" + is_ref: true + } + input_arg { + name: "linear" + type_attr: "T" + is_ref: true + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "l1" + type_attr: "T" + } + input_arg { + name: "l2" + type_attr: "T" + } + input_arg { + name: "l2_shrinkage" + type_attr: "T" + } + input_arg { + name: "lr_power" + type_attr: "T" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "multiply_linear_by_lr" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "SparseApplyMomentum" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "accum" + type_attr: "T" + is_ref: true + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "momentum" + type_attr: "T" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } + attr { + name: "use_nesterov" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "SparseApplyProximalAdagrad" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "accum" + type_attr: "T" + is_ref: true + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "l1" + type_attr: "T" + } + input_arg { + name: "l2" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "SparseApplyProximalGradientDescent" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "alpha" + type_attr: "T" + } + input_arg { + name: "l1" + type_attr: "T" + } + input_arg { + name: "l2" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "SparseApplyRMSProp" + input_arg { + name: "var" + type_attr: "T" + is_ref: true + } + input_arg { + name: "ms" + type_attr: "T" + is_ref: true + } + input_arg { + name: "mom" + type_attr: "T" + is_ref: true + } + input_arg { + name: "lr" + type_attr: "T" + } + input_arg { + name: "rho" + type_attr: "T" + } + input_arg { + name: "momentum" + type_attr: "T" + } + input_arg { + name: "epsilon" + type_attr: "T" + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + output_arg { + name: "out" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "use_locking" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "SparseBincount" + input_arg { + name: "indices" + type: DT_INT64 + } + input_arg { + name: "values" + type_attr: "Tidx" + } + input_arg { + name: "dense_shape" + type: DT_INT64 + } + input_arg { + name: "size" + type_attr: "Tidx" + } + input_arg { + name: "weights" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "Tidx" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "binary_output" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "SparseConcat" + input_arg { + name: "indices" + type: DT_INT64 + number_attr: "N" + } + input_arg { + name: "values" + type_attr: "T" + number_attr: "N" + } + input_arg { + name: "shapes" + type: DT_INT64 + number_attr: "N" + } + output_arg { + name: "output_indices" + type: DT_INT64 + } + output_arg { + name: "output_values" + type_attr: "T" + } + output_arg { + name: "output_shape" + type: DT_INT64 + } + attr { + name: "concat_dim" + type: "int" + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 2 + } + attr { + name: "T" + type: "type" + } +} +op { + name: "SparseConditionalAccumulator" + output_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "shape" + type: "shape" + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "reduction_type" + type: "string" + default_value { + s: "MEAN" + } + allowed_values { + list { + s: "MEAN" + s: "SUM" + } + } + } + is_stateful: true +} +op { + name: "SparseCountSparseOutput" + input_arg { + name: "indices" + type: DT_INT64 + } + input_arg { + name: "values" + type_attr: "T" + } + input_arg { + name: "dense_shape" + type: DT_INT64 + } + input_arg { + name: "weights" + type_attr: "output_type" + } + output_arg { + name: "output_indices" + type: DT_INT64 + } + output_arg { + name: "output_values" + type_attr: "output_type" + } + output_arg { + name: "output_dense_shape" + type: DT_INT64 + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "minlength" + type: "int" + default_value { + i: -1 + } + has_minimum: true + minimum: -1 + } + attr { + name: "maxlength" + type: "int" + default_value { + i: -1 + } + has_minimum: true + minimum: -1 + } + attr { + name: "binary_output" + type: "bool" + } + attr { + name: "output_type" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "SparseCross" + input_arg { + name: "indices" + type: DT_INT64 + number_attr: "N" + } + input_arg { + name: "values" + type_list_attr: "sparse_types" + } + input_arg { + name: "shapes" + type: DT_INT64 + number_attr: "N" + } + input_arg { + name: "dense_inputs" + type_list_attr: "dense_types" + } + output_arg { + name: "output_indices" + type: DT_INT64 + } + output_arg { + name: "output_values" + type_attr: "out_type" + } + output_arg { + name: "output_shape" + type: DT_INT64 + } + attr { + name: "N" + type: "int" + has_minimum: true + } + attr { + name: "hashed_output" + type: "bool" + } + attr { + name: "num_buckets" + type: "int" + has_minimum: true + } + attr { + name: "hash_key" + type: "int" + } + attr { + name: "sparse_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "dense_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "out_type" + type: "type" + allowed_values { + list { + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "internal_type" + type: "type" + allowed_values { + list { + type: DT_INT64 + type: DT_STRING + } + } + } +} +op { + name: "SparseCrossHashed" + input_arg { + name: "indices" + type: DT_INT64 + number_attr: "N" + } + input_arg { + name: "values" + type_list_attr: "sparse_types" + } + input_arg { + name: "shapes" + type: DT_INT64 + number_attr: "N" + } + input_arg { + name: "dense_inputs" + type_list_attr: "dense_types" + } + input_arg { + name: "num_buckets" + type: DT_INT64 + } + input_arg { + name: "strong_hash" + type: DT_BOOL + } + input_arg { + name: "salt" + type: DT_INT64 + } + output_arg { + name: "output_indices" + type: DT_INT64 + } + output_arg { + name: "output_values" + type: DT_INT64 + } + output_arg { + name: "output_shape" + type: DT_INT64 + } + attr { + name: "N" + type: "int" + has_minimum: true + } + attr { + name: "sparse_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "dense_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_INT64 + type: DT_STRING + } + } + } +} +op { + name: "SparseCrossV2" + input_arg { + name: "indices" + type: DT_INT64 + number_attr: "N" + } + input_arg { + name: "values" + type_list_attr: "sparse_types" + } + input_arg { + name: "shapes" + type: DT_INT64 + number_attr: "N" + } + input_arg { + name: "dense_inputs" + type_list_attr: "dense_types" + } + input_arg { + name: "sep" + type: DT_STRING + } + output_arg { + name: "output_indices" + type: DT_INT64 + } + output_arg { + name: "output_values" + type: DT_STRING + } + output_arg { + name: "output_shape" + type: DT_INT64 + } + attr { + name: "N" + type: "int" + has_minimum: true + } + attr { + name: "sparse_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_INT64 + type: DT_STRING + } + } + } + attr { + name: "dense_types" + type: "list(type)" + has_minimum: true + allowed_values { + list { + type: DT_INT64 + type: DT_STRING + } + } + } +} +op { + name: "SparseDenseCwiseAdd" + input_arg { + name: "sp_indices" + type: DT_INT64 + } + input_arg { + name: "sp_values" + type_attr: "T" + } + input_arg { + name: "sp_shape" + type: DT_INT64 + } + input_arg { + name: "dense" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "SparseDenseCwiseDiv" + input_arg { + name: "sp_indices" + type: DT_INT64 + } + input_arg { + name: "sp_values" + type_attr: "T" + } + input_arg { + name: "sp_shape" + type: DT_INT64 + } + input_arg { + name: "dense" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "SparseDenseCwiseMul" + input_arg { + name: "sp_indices" + type: DT_INT64 + } + input_arg { + name: "sp_values" + type_attr: "T" + } + input_arg { + name: "sp_shape" + type: DT_INT64 + } + input_arg { + name: "dense" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "SparseFillEmptyRows" + input_arg { + name: "indices" + type: DT_INT64 + } + input_arg { + name: "values" + type_attr: "T" + } + input_arg { + name: "dense_shape" + type: DT_INT64 + } + input_arg { + name: "default_value" + type_attr: "T" + } + output_arg { + name: "output_indices" + type: DT_INT64 + } + output_arg { + name: "output_values" + type_attr: "T" + } + output_arg { + name: "empty_row_indicator" + type: DT_BOOL + } + output_arg { + name: "reverse_index_map" + type: DT_INT64 + } + attr { + name: "T" + type: "type" + } +} +op { + name: "SparseFillEmptyRowsGrad" + input_arg { + name: "reverse_index_map" + type: DT_INT64 + } + input_arg { + name: "grad_values" + type_attr: "T" + } + output_arg { + name: "d_values" + type_attr: "T" + } + output_arg { + name: "d_default_value" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } +} +op { + name: "SparseMatMul" + input_arg { + name: "a" + type_attr: "Ta" + } + input_arg { + name: "b" + type_attr: "Tb" + } + output_arg { + name: "product" + type: DT_FLOAT + } + attr { + name: "transpose_a" + type: "bool" + default_value { + b: false + } + } + attr { + name: "transpose_b" + type: "bool" + default_value { + b: false + } + } + attr { + name: "a_is_sparse" + type: "bool" + default_value { + b: false + } + } + attr { + name: "b_is_sparse" + type: "bool" + default_value { + b: false + } + } + attr { + name: "Ta" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_BFLOAT16 + } + } + } + attr { + name: "Tb" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_BFLOAT16 + } + } + } +} +op { + name: "SparseMatrixAdd" + input_arg { + name: "a" + type: DT_VARIANT + } + input_arg { + name: "b" + type: DT_VARIANT + } + input_arg { + name: "alpha" + type_attr: "T" + } + input_arg { + name: "beta" + type_attr: "T" + } + output_arg { + name: "c" + type: DT_VARIANT + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "SparseMatrixMatMul" + input_arg { + name: "a" + type: DT_VARIANT + } + input_arg { + name: "b" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "transpose_a" + type: "bool" + default_value { + b: false + } + } + attr { + name: "transpose_b" + type: "bool" + default_value { + b: false + } + } + attr { + name: "adjoint_a" + type: "bool" + default_value { + b: false + } + } + attr { + name: "adjoint_b" + type: "bool" + default_value { + b: false + } + } + attr { + name: "transpose_output" + type: "bool" + default_value { + b: false + } + } + attr { + name: "conjugate_output" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "SparseMatrixMul" + input_arg { + name: "a" + type: DT_VARIANT + } + input_arg { + name: "b" + type_attr: "T" + } + output_arg { + name: "output" + type: DT_VARIANT + } + attr { + name: "T" + type: "type" + } +} +op { + name: "SparseMatrixNNZ" + input_arg { + name: "sparse_matrix" + type: DT_VARIANT + } + output_arg { + name: "nnz" + type: DT_INT32 + } +} +op { + name: "SparseMatrixOrderingAMD" + input_arg { + name: "input" + type: DT_VARIANT + } + output_arg { + name: "output" + type: DT_INT32 + } +} +op { + name: "SparseMatrixSoftmax" + input_arg { + name: "logits" + type: DT_VARIANT + } + output_arg { + name: "softmax" + type: DT_VARIANT + } + attr { + name: "type" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "SparseMatrixSoftmaxGrad" + input_arg { + name: "softmax" + type: DT_VARIANT + } + input_arg { + name: "grad_softmax" + type: DT_VARIANT + } + output_arg { + name: "gradient" + type: DT_VARIANT + } + attr { + name: "type" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "SparseMatrixSparseCholesky" + input_arg { + name: "input" + type: DT_VARIANT + } + input_arg { + name: "permutation" + type: DT_INT32 + } + output_arg { + name: "output" + type: DT_VARIANT + } + attr { + name: "type" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "SparseMatrixSparseMatMul" + input_arg { + name: "a" + type: DT_VARIANT + } + input_arg { + name: "b" + type: DT_VARIANT + } + output_arg { + name: "c" + type: DT_VARIANT + } + attr { + name: "type" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } + attr { + name: "transpose_a" + type: "bool" + default_value { + b: false + } + } + attr { + name: "transpose_b" + type: "bool" + default_value { + b: false + } + } + attr { + name: "adjoint_a" + type: "bool" + default_value { + b: false + } + } + attr { + name: "adjoint_b" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "SparseMatrixTranspose" + input_arg { + name: "input" + type: DT_VARIANT + } + output_arg { + name: "output" + type: DT_VARIANT + } + attr { + name: "conjugate" + type: "bool" + default_value { + b: false + } + } + attr { + name: "type" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "SparseMatrixZeros" + input_arg { + name: "dense_shape" + type: DT_INT64 + } + output_arg { + name: "sparse_matrix" + type: DT_VARIANT + } + attr { + name: "type" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "SparseReduceMax" + input_arg { + name: "input_indices" + type: DT_INT64 + } + input_arg { + name: "input_values" + type_attr: "T" + } + input_arg { + name: "input_shape" + type: DT_INT64 + } + input_arg { + name: "reduction_axes" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "keep_dims" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "SparseReduceMaxSparse" + input_arg { + name: "input_indices" + type: DT_INT64 + } + input_arg { + name: "input_values" + type_attr: "T" + } + input_arg { + name: "input_shape" + type: DT_INT64 + } + input_arg { + name: "reduction_axes" + type: DT_INT32 + } + output_arg { + name: "output_indices" + type: DT_INT64 + } + output_arg { + name: "output_values" + type_attr: "T" + } + output_arg { + name: "output_shape" + type: DT_INT64 + } + attr { + name: "keep_dims" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "SparseReduceSum" + input_arg { + name: "input_indices" + type: DT_INT64 + } + input_arg { + name: "input_values" + type_attr: "T" + } + input_arg { + name: "input_shape" + type: DT_INT64 + } + input_arg { + name: "reduction_axes" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "keep_dims" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "SparseReduceSumSparse" + input_arg { + name: "input_indices" + type: DT_INT64 + } + input_arg { + name: "input_values" + type_attr: "T" + } + input_arg { + name: "input_shape" + type: DT_INT64 + } + input_arg { + name: "reduction_axes" + type: DT_INT32 + } + output_arg { + name: "output_indices" + type: DT_INT64 + } + output_arg { + name: "output_values" + type_attr: "T" + } + output_arg { + name: "output_shape" + type: DT_INT64 + } + attr { + name: "keep_dims" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "SparseReorder" + input_arg { + name: "input_indices" + type: DT_INT64 + } + input_arg { + name: "input_values" + type_attr: "T" + } + input_arg { + name: "input_shape" + type: DT_INT64 + } + output_arg { + name: "output_indices" + type: DT_INT64 + } + output_arg { + name: "output_values" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } +} +op { + name: "SparseReshape" + input_arg { + name: "input_indices" + type: DT_INT64 + } + input_arg { + name: "input_shape" + type: DT_INT64 + } + input_arg { + name: "new_shape" + type: DT_INT64 + } + output_arg { + name: "output_indices" + type: DT_INT64 + } + output_arg { + name: "output_shape" + type: DT_INT64 + } +} +op { + name: "SparseSegmentMean" + input_arg { + name: "data" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tidx" + } + input_arg { + name: "segment_ids" + type_attr: "Tsegmentids" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tsegmentids" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "SparseSegmentMeanGrad" + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tidx" + } + input_arg { + name: "segment_ids" + type_attr: "Tsegmentids" + } + input_arg { + name: "output_dim0" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tsegmentids" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "SparseSegmentMeanWithNumSegments" + input_arg { + name: "data" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tidx" + } + input_arg { + name: "segment_ids" + type_attr: "Tsegmentids" + } + input_arg { + name: "num_segments" + type_attr: "Tnumsegments" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tnumsegments" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tsegmentids" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "SparseSegmentSqrtN" + input_arg { + name: "data" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tidx" + } + input_arg { + name: "segment_ids" + type_attr: "Tsegmentids" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tsegmentids" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "SparseSegmentSqrtNGrad" + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tidx" + } + input_arg { + name: "segment_ids" + type_attr: "Tsegmentids" + } + input_arg { + name: "output_dim0" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tsegmentids" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "SparseSegmentSqrtNWithNumSegments" + input_arg { + name: "data" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tidx" + } + input_arg { + name: "segment_ids" + type_attr: "Tsegmentids" + } + input_arg { + name: "num_segments" + type_attr: "Tnumsegments" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tnumsegments" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tsegmentids" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "SparseSegmentSum" + input_arg { + name: "data" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tidx" + } + input_arg { + name: "segment_ids" + type_attr: "Tsegmentids" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tsegmentids" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "SparseSegmentSumWithNumSegments" + input_arg { + name: "data" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tidx" + } + input_arg { + name: "segment_ids" + type_attr: "Tsegmentids" + } + input_arg { + name: "num_segments" + type_attr: "Tnumsegments" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tnumsegments" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tsegmentids" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "SparseSlice" + input_arg { + name: "indices" + type: DT_INT64 + } + input_arg { + name: "values" + type_attr: "T" + } + input_arg { + name: "shape" + type: DT_INT64 + } + input_arg { + name: "start" + type: DT_INT64 + } + input_arg { + name: "size" + type: DT_INT64 + } + output_arg { + name: "output_indices" + type: DT_INT64 + } + output_arg { + name: "output_values" + type_attr: "T" + } + output_arg { + name: "output_shape" + type: DT_INT64 + } + attr { + name: "T" + type: "type" + } +} +op { + name: "SparseSliceGrad" + input_arg { + name: "backprop_val_grad" + type_attr: "T" + } + input_arg { + name: "input_indices" + type: DT_INT64 + } + input_arg { + name: "input_start" + type: DT_INT64 + } + input_arg { + name: "output_indices" + type: DT_INT64 + } + output_arg { + name: "val_grad" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "SparseSoftmax" + input_arg { + name: "sp_indices" + type: DT_INT64 + } + input_arg { + name: "sp_values" + type_attr: "T" + } + input_arg { + name: "sp_shape" + type: DT_INT64 + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "SparseSoftmaxCrossEntropyWithLogits" + input_arg { + name: "features" + type_attr: "T" + } + input_arg { + name: "labels" + type_attr: "Tlabels" + } + output_arg { + name: "loss" + type_attr: "T" + } + output_arg { + name: "backprop" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tlabels" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "SparseSparseMaximum" + input_arg { + name: "a_indices" + type: DT_INT64 + } + input_arg { + name: "a_values" + type_attr: "T" + } + input_arg { + name: "a_shape" + type: DT_INT64 + } + input_arg { + name: "b_indices" + type: DT_INT64 + } + input_arg { + name: "b_values" + type_attr: "T" + } + input_arg { + name: "b_shape" + type: DT_INT64 + } + output_arg { + name: "output_indices" + type: DT_INT64 + } + output_arg { + name: "output_values" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "SparseSparseMinimum" + input_arg { + name: "a_indices" + type: DT_INT64 + } + input_arg { + name: "a_values" + type_attr: "T" + } + input_arg { + name: "a_shape" + type: DT_INT64 + } + input_arg { + name: "b_indices" + type: DT_INT64 + } + input_arg { + name: "b_values" + type_attr: "T" + } + input_arg { + name: "b_shape" + type: DT_INT64 + } + output_arg { + name: "output_indices" + type: DT_INT64 + } + output_arg { + name: "output_values" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "SparseSplit" + input_arg { + name: "split_dim" + type: DT_INT64 + } + input_arg { + name: "indices" + type: DT_INT64 + } + input_arg { + name: "values" + type_attr: "T" + } + input_arg { + name: "shape" + type: DT_INT64 + } + output_arg { + name: "output_indices" + type: DT_INT64 + number_attr: "num_split" + } + output_arg { + name: "output_values" + type_attr: "T" + number_attr: "num_split" + } + output_arg { + name: "output_shape" + type: DT_INT64 + number_attr: "num_split" + } + attr { + name: "num_split" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "T" + type: "type" + } +} +op { + name: "SparseTensorDenseAdd" + input_arg { + name: "a_indices" + type_attr: "Tindices" + } + input_arg { + name: "a_values" + type_attr: "T" + } + input_arg { + name: "a_shape" + type_attr: "Tindices" + } + input_arg { + name: "b" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "SparseTensorDenseMatMul" + input_arg { + name: "a_indices" + type_attr: "Tindices" + } + input_arg { + name: "a_values" + type_attr: "T" + } + input_arg { + name: "a_shape" + type: DT_INT64 + } + input_arg { + name: "b" + type_attr: "T" + } + output_arg { + name: "product" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tindices" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "adjoint_a" + type: "bool" + default_value { + b: false + } + } + attr { + name: "adjoint_b" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "SparseTensorSliceDataset" + input_arg { + name: "indices" + type: DT_INT64 + } + input_arg { + name: "values" + type_attr: "Tvalues" + } + input_arg { + name: "dense_shape" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "Tvalues" + type: "type" + } + is_stateful: true +} +op { + name: "SparseTensorToCSRSparseMatrix" + input_arg { + name: "indices" + type: DT_INT64 + } + input_arg { + name: "values" + type_attr: "T" + } + input_arg { + name: "dense_shape" + type: DT_INT64 + } + output_arg { + name: "sparse_matrix" + type: DT_VARIANT + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "SparseToDense" + input_arg { + name: "sparse_indices" + type_attr: "Tindices" + } + input_arg { + name: "output_shape" + type_attr: "Tindices" + } + input_arg { + name: "sparse_values" + type_attr: "T" + } + input_arg { + name: "default_value" + type_attr: "T" + } + output_arg { + name: "dense" + type_attr: "T" + } + attr { + name: "validate_indices" + type: "bool" + default_value { + b: true + } + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "SparseToSparseSetOperation" + input_arg { + name: "set1_indices" + type: DT_INT64 + } + input_arg { + name: "set1_values" + type_attr: "T" + } + input_arg { + name: "set1_shape" + type: DT_INT64 + } + input_arg { + name: "set2_indices" + type: DT_INT64 + } + input_arg { + name: "set2_values" + type_attr: "T" + } + input_arg { + name: "set2_shape" + type: DT_INT64 + } + output_arg { + name: "result_indices" + type: DT_INT64 + } + output_arg { + name: "result_values" + type_attr: "T" + } + output_arg { + name: "result_shape" + type: DT_INT64 + } + attr { + name: "set_operation" + type: "string" + } + attr { + name: "validate_indices" + type: "bool" + default_value { + b: true + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_UINT8 + type: DT_UINT16 + type: DT_STRING + } + } + } +} +op { + name: "Spence" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "Split" + input_arg { + name: "split_dim" + type: DT_INT32 + } + input_arg { + name: "value" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + number_attr: "num_split" + } + attr { + name: "num_split" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "T" + type: "type" + } +} +op { + name: "SplitV" + input_arg { + name: "value" + type_attr: "T" + } + input_arg { + name: "size_splits" + type_attr: "Tlen" + } + input_arg { + name: "split_dim" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "T" + number_attr: "num_split" + } + attr { + name: "num_split" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tlen" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "SqlDataset" + input_arg { + name: "driver_name" + type: DT_STRING + } + input_arg { + name: "data_source_name" + type: DT_STRING + } + input_arg { + name: "query" + type: DT_STRING + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "Sqrt" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "SqrtGrad" + input_arg { + name: "y" + type_attr: "T" + } + input_arg { + name: "dy" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "Square" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "SquaredDifference" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } + is_commutative: true +} +op { + name: "Squeeze" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "squeeze_dims" + type: "list(int)" + default_value { + list { + } + } + has_minimum: true + } +} +op { + name: "Stack" + output_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + attr { + name: "elem_type" + type: "type" + } + attr { + name: "stack_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "StackClose" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } +} +op { + name: "StackCloseV2" + input_arg { + name: "handle" + type: DT_RESOURCE + } + is_stateful: true +} +op { + name: "StackPop" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + output_arg { + name: "elem" + type_attr: "elem_type" + } + attr { + name: "elem_type" + type: "type" + } +} +op { + name: "StackPopV2" + input_arg { + name: "handle" + type: DT_RESOURCE + } + output_arg { + name: "elem" + type_attr: "elem_type" + } + attr { + name: "elem_type" + type: "type" + } + is_stateful: true +} +op { + name: "StackPush" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "elem" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "swap_memory" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "StackPushV2" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "elem" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "swap_memory" + type: "bool" + default_value { + b: false + } + } + is_stateful: true +} +op { + name: "StackV2" + input_arg { + name: "max_size" + type: DT_INT32 + } + output_arg { + name: "handle" + type: DT_RESOURCE + } + attr { + name: "elem_type" + type: "type" + } + attr { + name: "stack_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "Stage" + input_arg { + name: "values" + type_list_attr: "dtypes" + } + attr { + name: "capacity" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "memory_limit" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "dtypes" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "StageClear" + attr { + name: "capacity" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "memory_limit" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "dtypes" + type: "list(type)" + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "StagePeek" + input_arg { + name: "index" + type: DT_INT32 + } + output_arg { + name: "values" + type_list_attr: "dtypes" + } + attr { + name: "capacity" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "memory_limit" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "dtypes" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "StageSize" + output_arg { + name: "size" + type: DT_INT32 + } + attr { + name: "capacity" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "memory_limit" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "dtypes" + type: "list(type)" + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "StatefulPartitionedCall" + input_arg { + name: "args" + type_list_attr: "Tin" + } + output_arg { + name: "output" + type_list_attr: "Tout" + } + attr { + name: "Tin" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tout" + type: "list(type)" + has_minimum: true + } + attr { + name: "f" + type: "func" + } + attr { + name: "config" + type: "string" + default_value { + s: "" + } + } + attr { + name: "config_proto" + type: "string" + default_value { + s: "" + } + } + attr { + name: "executor_type" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "StatefulRandomBinomial" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "algorithm" + type: DT_INT64 + } + input_arg { + name: "shape" + type_attr: "S" + } + input_arg { + name: "counts" + type_attr: "T" + } + input_arg { + name: "probs" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "S" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T" + type: "type" + default_value { + type: DT_DOUBLE + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + is_stateful: true +} +op { + name: "StatefulStandardNormal" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "shape" + type_attr: "shape_dtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_FLOAT + } + } + attr { + name: "shape_dtype" + type: "type" + default_value { + type: DT_INT64 + } + } + deprecation { + version: 29 + explanation: "Use StatefulStandardNormalV2 instead" + } + is_stateful: true +} +op { + name: "StatefulStandardNormalV2" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "algorithm" + type: DT_INT64 + } + input_arg { + name: "shape" + type_attr: "shape_dtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_FLOAT + } + } + attr { + name: "shape_dtype" + type: "type" + default_value { + type: DT_INT64 + } + } + is_stateful: true +} +op { + name: "StatefulTruncatedNormal" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "algorithm" + type: DT_INT64 + } + input_arg { + name: "shape" + type_attr: "shape_dtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_FLOAT + } + } + attr { + name: "shape_dtype" + type: "type" + default_value { + type: DT_INT64 + } + } + is_stateful: true +} +op { + name: "StatefulUniform" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "algorithm" + type: DT_INT64 + } + input_arg { + name: "shape" + type_attr: "shape_dtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_FLOAT + } + } + attr { + name: "shape_dtype" + type: "type" + default_value { + type: DT_INT64 + } + } + is_stateful: true +} +op { + name: "StatefulUniformFullInt" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "algorithm" + type: DT_INT64 + } + input_arg { + name: "shape" + type_attr: "shape_dtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_UINT64 + } + } + attr { + name: "shape_dtype" + type: "type" + default_value { + type: DT_INT64 + } + } + is_stateful: true +} +op { + name: "StatefulUniformInt" + input_arg { + name: "resource" + type: DT_RESOURCE + } + input_arg { + name: "algorithm" + type: DT_INT64 + } + input_arg { + name: "shape" + type_attr: "shape_dtype" + } + input_arg { + name: "minval" + type_attr: "dtype" + } + input_arg { + name: "maxval" + type_attr: "dtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_INT64 + } + } + attr { + name: "shape_dtype" + type: "type" + default_value { + type: DT_INT64 + } + } + is_stateful: true +} +op { + name: "StatelessCase" + input_arg { + name: "branch_index" + type: DT_INT32 + } + input_arg { + name: "input" + type_list_attr: "Tin" + } + output_arg { + name: "output" + type_list_attr: "Tout" + } + attr { + name: "Tin" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tout" + type: "list(type)" + has_minimum: true + } + attr { + name: "branches" + type: "list(func)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + default_value { + list { + } + } + } +} +op { + name: "StatelessIf" + input_arg { + name: "cond" + type_attr: "Tcond" + } + input_arg { + name: "input" + type_list_attr: "Tin" + } + output_arg { + name: "output" + type_list_attr: "Tout" + } + attr { + name: "Tcond" + type: "type" + } + attr { + name: "Tin" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tout" + type: "list(type)" + has_minimum: true + } + attr { + name: "then_branch" + type: "func" + } + attr { + name: "else_branch" + type: "func" + } + attr { + name: "output_shapes" + type: "list(shape)" + default_value { + list { + } + } + } +} +op { + name: "StatelessMultinomial" + input_arg { + name: "logits" + type_attr: "T" + } + input_arg { + name: "num_samples" + type: DT_INT32 + } + input_arg { + name: "seed" + type_attr: "Tseed" + } + output_arg { + name: "output" + type_attr: "output_dtype" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tseed" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "output_dtype" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "StatelessParameterizedTruncatedNormal" + input_arg { + name: "shape" + type_attr: "S" + } + input_arg { + name: "seed" + type_attr: "Tseed" + } + input_arg { + name: "means" + type_attr: "dtype" + } + input_arg { + name: "stddevs" + type_attr: "dtype" + } + input_arg { + name: "minvals" + type_attr: "dtype" + } + input_arg { + name: "maxvals" + type_attr: "dtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "S" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tseed" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "StatelessRandomBinomial" + input_arg { + name: "shape" + type_attr: "S" + } + input_arg { + name: "seed" + type_attr: "Tseed" + } + input_arg { + name: "counts" + type_attr: "T" + } + input_arg { + name: "probs" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "S" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tseed" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T" + type: "type" + default_value { + type: DT_DOUBLE + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "StatelessRandomGammaV2" + input_arg { + name: "shape" + type_attr: "T" + } + input_arg { + name: "seed" + type_attr: "Tseed" + } + input_arg { + name: "alpha" + type_attr: "dtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tseed" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "StatelessRandomGetAlg" + output_arg { + name: "alg" + type: DT_INT32 + } +} +op { + name: "StatelessRandomGetKeyCounter" + input_arg { + name: "seed" + type_attr: "Tseed" + } + output_arg { + name: "key" + type: DT_UINT64 + } + output_arg { + name: "counter" + type: DT_UINT64 + } + attr { + name: "Tseed" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "StatelessRandomGetKeyCounterAlg" + input_arg { + name: "seed" + type_attr: "Tseed" + } + output_arg { + name: "key" + type: DT_UINT64 + } + output_arg { + name: "counter" + type: DT_UINT64 + } + output_arg { + name: "alg" + type: DT_INT32 + } + attr { + name: "Tseed" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "StatelessRandomNormal" + input_arg { + name: "shape" + type_attr: "T" + } + input_arg { + name: "seed" + type_attr: "Tseed" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "T" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tseed" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "StatelessRandomNormalV2" + input_arg { + name: "shape" + type_attr: "Tshape" + } + input_arg { + name: "key" + type: DT_UINT64 + } + input_arg { + name: "counter" + type: DT_UINT64 + } + input_arg { + name: "alg" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tshape" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "StatelessRandomPoisson" + input_arg { + name: "shape" + type_attr: "T" + } + input_arg { + name: "seed" + type_attr: "Tseed" + } + input_arg { + name: "lam" + type_attr: "Rtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "Rtype" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tseed" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "StatelessRandomUniform" + input_arg { + name: "shape" + type_attr: "T" + } + input_arg { + name: "seed" + type_attr: "Tseed" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "T" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tseed" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "StatelessRandomUniformFullInt" + input_arg { + name: "shape" + type_attr: "T" + } + input_arg { + name: "seed" + type_attr: "Tseed" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_UINT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "T" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tseed" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "StatelessRandomUniformFullIntV2" + input_arg { + name: "shape" + type_attr: "Tshape" + } + input_arg { + name: "key" + type: DT_UINT64 + } + input_arg { + name: "counter" + type: DT_UINT64 + } + input_arg { + name: "alg" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_UINT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tshape" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "StatelessRandomUniformInt" + input_arg { + name: "shape" + type_attr: "T" + } + input_arg { + name: "seed" + type_attr: "Tseed" + } + input_arg { + name: "minval" + type_attr: "dtype" + } + input_arg { + name: "maxval" + type_attr: "dtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tseed" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "StatelessRandomUniformIntV2" + input_arg { + name: "shape" + type_attr: "Tshape" + } + input_arg { + name: "key" + type: DT_UINT64 + } + input_arg { + name: "counter" + type: DT_UINT64 + } + input_arg { + name: "alg" + type: DT_INT32 + } + input_arg { + name: "minval" + type_attr: "dtype" + } + input_arg { + name: "maxval" + type_attr: "dtype" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tshape" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "StatelessRandomUniformV2" + input_arg { + name: "shape" + type_attr: "Tshape" + } + input_arg { + name: "key" + type: DT_UINT64 + } + input_arg { + name: "counter" + type: DT_UINT64 + } + input_arg { + name: "alg" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tshape" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "StatelessSampleDistortedBoundingBox" + input_arg { + name: "image_size" + type_attr: "T" + } + input_arg { + name: "bounding_boxes" + type: DT_FLOAT + } + input_arg { + name: "min_object_covered" + type: DT_FLOAT + } + input_arg { + name: "seed" + type_attr: "Tseed" + } + output_arg { + name: "begin" + type_attr: "T" + } + output_arg { + name: "size" + type_attr: "T" + } + output_arg { + name: "bboxes" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_UINT8 + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tseed" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "aspect_ratio_range" + type: "list(float)" + default_value { + list { + f: 0.75 + f: 1.33 + } + } + } + attr { + name: "area_range" + type: "list(float)" + default_value { + list { + f: 0.05 + f: 1 + } + } + } + attr { + name: "max_attempts" + type: "int" + default_value { + i: 100 + } + } + attr { + name: "use_image_if_no_bounding_boxes" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "StatelessTruncatedNormal" + input_arg { + name: "shape" + type_attr: "T" + } + input_arg { + name: "seed" + type_attr: "Tseed" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "T" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tseed" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "StatelessTruncatedNormalV2" + input_arg { + name: "shape" + type_attr: "Tshape" + } + input_arg { + name: "key" + type: DT_UINT64 + } + input_arg { + name: "counter" + type: DT_UINT64 + } + input_arg { + name: "alg" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "Tshape" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "StatelessWhile" + input_arg { + name: "input" + type_list_attr: "T" + } + output_arg { + name: "output" + type_list_attr: "T" + } + attr { + name: "T" + type: "list(type)" + has_minimum: true + } + attr { + name: "cond" + type: "func" + } + attr { + name: "body" + type: "func" + } + attr { + name: "output_shapes" + type: "list(shape)" + default_value { + list { + } + } + } + attr { + name: "parallel_iterations" + type: "int" + default_value { + i: 10 + } + } +} +op { + name: "StaticRegexFullMatch" + input_arg { + name: "input" + type: DT_STRING + } + output_arg { + name: "output" + type: DT_BOOL + } + attr { + name: "pattern" + type: "string" + } +} +op { + name: "StaticRegexReplace" + input_arg { + name: "input" + type: DT_STRING + } + output_arg { + name: "output" + type: DT_STRING + } + attr { + name: "pattern" + type: "string" + } + attr { + name: "rewrite" + type: "string" + } + attr { + name: "replace_global" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "StatsAggregatorHandle" + output_arg { + name: "handle" + type: DT_RESOURCE + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "StatsAggregatorHandleV2" + output_arg { + name: "handle" + type: DT_RESOURCE + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "StatsAggregatorSetSummaryWriter" + input_arg { + name: "stats_aggregator" + type: DT_RESOURCE + } + input_arg { + name: "summary" + type: DT_RESOURCE + } + is_stateful: true +} +op { + name: "StatsAggregatorSummary" + input_arg { + name: "iterator" + type: DT_RESOURCE + } + output_arg { + name: "summary" + type: DT_STRING + } + is_stateful: true +} +op { + name: "StopGradient" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } +} +op { + name: "StridedSlice" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "begin" + type_attr: "Index" + } + input_arg { + name: "end" + type_attr: "Index" + } + input_arg { + name: "strides" + type_attr: "Index" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Index" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "begin_mask" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "end_mask" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "ellipsis_mask" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "new_axis_mask" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "shrink_axis_mask" + type: "int" + default_value { + i: 0 + } + } +} +op { + name: "StridedSliceAssign" + input_arg { + name: "ref" + type_attr: "T" + is_ref: true + } + input_arg { + name: "begin" + type_attr: "Index" + } + input_arg { + name: "end" + type_attr: "Index" + } + input_arg { + name: "strides" + type_attr: "Index" + } + input_arg { + name: "value" + type_attr: "T" + } + output_arg { + name: "output_ref" + type_attr: "T" + is_ref: true + } + attr { + name: "T" + type: "type" + } + attr { + name: "Index" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "begin_mask" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "end_mask" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "ellipsis_mask" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "new_axis_mask" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "shrink_axis_mask" + type: "int" + default_value { + i: 0 + } + } +} +op { + name: "StridedSliceGrad" + input_arg { + name: "shape" + type_attr: "Index" + } + input_arg { + name: "begin" + type_attr: "Index" + } + input_arg { + name: "end" + type_attr: "Index" + } + input_arg { + name: "strides" + type_attr: "Index" + } + input_arg { + name: "dy" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Index" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "begin_mask" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "end_mask" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "ellipsis_mask" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "new_axis_mask" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "shrink_axis_mask" + type: "int" + default_value { + i: 0 + } + } +} +op { + name: "StringFormat" + input_arg { + name: "inputs" + type_list_attr: "T" + } + output_arg { + name: "output" + type: DT_STRING + } + attr { + name: "T" + type: "list(type)" + has_minimum: true + } + attr { + name: "template" + type: "string" + default_value { + s: "%s" + } + } + attr { + name: "placeholder" + type: "string" + default_value { + s: "%s" + } + } + attr { + name: "summarize" + type: "int" + default_value { + i: 3 + } + } +} +op { + name: "StringJoin" + input_arg { + name: "inputs" + type: DT_STRING + number_attr: "N" + } + output_arg { + name: "output" + type: DT_STRING + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "separator" + type: "string" + default_value { + s: "" + } + } +} +op { + name: "StringLength" + input_arg { + name: "input" + type: DT_STRING + } + output_arg { + name: "output" + type: DT_INT32 + } + attr { + name: "unit" + type: "string" + default_value { + s: "BYTE" + } + allowed_values { + list { + s: "BYTE" + s: "UTF8_CHAR" + } + } + } +} +op { + name: "StringLower" + input_arg { + name: "input" + type: DT_STRING + } + output_arg { + name: "output" + type: DT_STRING + } + attr { + name: "encoding" + type: "string" + default_value { + s: "" + } + } +} +op { + name: "StringNGrams" + input_arg { + name: "data" + type: DT_STRING + } + input_arg { + name: "data_splits" + type_attr: "Tsplits" + } + output_arg { + name: "ngrams" + type: DT_STRING + } + output_arg { + name: "ngrams_splits" + type_attr: "Tsplits" + } + attr { + name: "separator" + type: "string" + } + attr { + name: "ngram_widths" + type: "list(int)" + has_minimum: true + } + attr { + name: "left_pad" + type: "string" + } + attr { + name: "right_pad" + type: "string" + } + attr { + name: "pad_width" + type: "int" + } + attr { + name: "preserve_short_sequences" + type: "bool" + } + attr { + name: "Tsplits" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "StringSplit" + input_arg { + name: "input" + type: DT_STRING + } + input_arg { + name: "delimiter" + type: DT_STRING + } + output_arg { + name: "indices" + type: DT_INT64 + } + output_arg { + name: "values" + type: DT_STRING + } + output_arg { + name: "shape" + type: DT_INT64 + } + attr { + name: "skip_empty" + type: "bool" + default_value { + b: true + } + } +} +op { + name: "StringSplitV2" + input_arg { + name: "input" + type: DT_STRING + } + input_arg { + name: "sep" + type: DT_STRING + } + output_arg { + name: "indices" + type: DT_INT64 + } + output_arg { + name: "values" + type: DT_STRING + } + output_arg { + name: "shape" + type: DT_INT64 + } + attr { + name: "maxsplit" + type: "int" + default_value { + i: -1 + } + } +} +op { + name: "StringStrip" + input_arg { + name: "input" + type: DT_STRING + } + output_arg { + name: "output" + type: DT_STRING + } +} +op { + name: "StringToHashBucket" + input_arg { + name: "string_tensor" + type: DT_STRING + } + output_arg { + name: "output" + type: DT_INT64 + } + attr { + name: "num_buckets" + type: "int" + has_minimum: true + minimum: 1 + } +} +op { + name: "StringToHashBucketFast" + input_arg { + name: "input" + type: DT_STRING + } + output_arg { + name: "output" + type: DT_INT64 + } + attr { + name: "num_buckets" + type: "int" + has_minimum: true + minimum: 1 + } +} +op { + name: "StringToHashBucketStrong" + input_arg { + name: "input" + type: DT_STRING + } + output_arg { + name: "output" + type: DT_INT64 + } + attr { + name: "num_buckets" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "key" + type: "list(int)" + } +} +op { + name: "StringToNumber" + input_arg { + name: "string_tensor" + type: DT_STRING + } + output_arg { + name: "output" + type_attr: "out_type" + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "StringUpper" + input_arg { + name: "input" + type: DT_STRING + } + output_arg { + name: "output" + type: DT_STRING + } + attr { + name: "encoding" + type: "string" + default_value { + s: "" + } + } +} +op { + name: "Sub" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_UINT8 + type: DT_INT8 + type: DT_UINT16 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + type: DT_UINT32 + } + } + } +} +op { + name: "Substr" + input_arg { + name: "input" + type: DT_STRING + } + input_arg { + name: "pos" + type_attr: "T" + } + input_arg { + name: "len" + type_attr: "T" + } + output_arg { + name: "output" + type: DT_STRING + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "unit" + type: "string" + default_value { + s: "BYTE" + } + allowed_values { + list { + s: "BYTE" + s: "UTF8_CHAR" + } + } + } +} +op { + name: "Sum" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "reduction_indices" + type_attr: "Tidx" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "keep_dims" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "SummaryWriter" + output_arg { + name: "writer" + type: DT_RESOURCE + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "Svd" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "s" + type_attr: "T" + } + output_arg { + name: "u" + type_attr: "T" + } + output_arg { + name: "v" + type_attr: "T" + } + attr { + name: "compute_uv" + type: "bool" + default_value { + b: true + } + } + attr { + name: "full_matrices" + type: "bool" + default_value { + b: false + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + type: DT_HALF + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "Switch" + input_arg { + name: "data" + type_attr: "T" + } + input_arg { + name: "pred" + type: DT_BOOL + } + output_arg { + name: "output_false" + type_attr: "T" + } + output_arg { + name: "output_true" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } +} +op { + name: "SymbolicGradient" + input_arg { + name: "input" + type_list_attr: "Tin" + } + output_arg { + name: "output" + type_list_attr: "Tout" + } + attr { + name: "Tin" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "Tout" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "f" + type: "func" + } +} +op { + name: "TFRecordDataset" + input_arg { + name: "filenames" + type: DT_STRING + } + input_arg { + name: "compression_type" + type: DT_STRING + } + input_arg { + name: "buffer_size" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + is_stateful: true +} +op { + name: "TFRecordReader" + output_arg { + name: "reader_handle" + type: DT_STRING + is_ref: true + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "compression_type" + type: "string" + default_value { + s: "" + } + } + deprecation { + version: 26 + explanation: "Use TFRecordReaderV2" + } + is_stateful: true +} +op { + name: "TFRecordReaderV2" + output_arg { + name: "reader_handle" + type: DT_RESOURCE + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "compression_type" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "TPUCompilationResult" + output_arg { + name: "output" + type: DT_STRING + } +} +op { + name: "TPUCompile" + input_arg { + name: "dynamic_shapes" + type: DT_INT64 + number_attr: "NumDynamicShapes" + } + input_arg { + name: "guaranteed_constants" + type_list_attr: "Tguaranteed_constants" + } + output_arg { + name: "compilation_status" + type: DT_STRING + } + output_arg { + name: "program" + type: DT_STRING + number_attr: "num_computations" + } + output_arg { + name: "may_modify_variables" + type: DT_BOOL + number_attr: "num_computations" + } + attr { + name: "num_computations" + type: "int" + has_minimum: true + } + attr { + name: "function" + type: "func" + } + attr { + name: "metadata" + type: "string" + } + attr { + name: "NumDynamicShapes" + type: "int" + has_minimum: true + } + attr { + name: "Tguaranteed_constants" + type: "list(type)" + has_minimum: true + } + is_stateful: true +} +op { + name: "TPUCompileSucceededAssert" + input_arg { + name: "compilation_status" + type: DT_STRING + } + is_stateful: true +} +op { + name: "TPUEmbeddingActivations" + input_arg { + name: "embedding_variable" + type: DT_FLOAT + } + input_arg { + name: "sliced_activations" + type: DT_FLOAT + } + output_arg { + name: "output" + type: DT_FLOAT + } + attr { + name: "table_id" + type: "int" + has_minimum: true + } + attr { + name: "lookup_id" + type: "int" + has_minimum: true + } +} +op { + name: "TPUExecute" + input_arg { + name: "args" + type_list_attr: "Targs" + } + input_arg { + name: "key" + type: DT_STRING + } + output_arg { + name: "results" + type_list_attr: "Tresults" + } + attr { + name: "Targs" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tresults" + type: "list(type)" + has_minimum: true + } + is_stateful: true +} +op { + name: "TPUExecuteAndUpdateVariables" + input_arg { + name: "args" + type_list_attr: "Targs" + } + input_arg { + name: "key" + type: DT_STRING + } + output_arg { + name: "results" + type_list_attr: "Tresults" + } + attr { + name: "Targs" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tresults" + type: "list(type)" + has_minimum: true + } + attr { + name: "device_var_reads_indices" + type: "list(int)" + has_minimum: true + } + attr { + name: "device_var_updates_indices" + type: "list(int)" + has_minimum: true + } + is_stateful: true +} +op { + name: "TPUOrdinalSelector" + output_arg { + name: "device_ordinals" + type: DT_INT32 + } + is_stateful: true +} +op { + name: "TPUPartitionedCall" + input_arg { + name: "args" + type_list_attr: "Tin" + } + input_arg { + name: "device_ordinal" + type: DT_INT32 + } + output_arg { + name: "output" + type_list_attr: "Tout" + } + attr { + name: "Tin" + type: "list(type)" + has_minimum: true + } + attr { + name: "Tout" + type: "list(type)" + has_minimum: true + } + attr { + name: "f" + type: "func" + } + attr { + name: "autotuner_thresh" + type: "int" + default_value { + i: 0 + } + } +} +op { + name: "TPUPartitionedInput" + input_arg { + name: "inputs" + type_attr: "T" + number_attr: "N" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "T" + type: "type" + } + attr { + name: "partition_dim" + type: "int" + default_value { + i: 0 + } + } +} +op { + name: "TPUPartitionedOutput" + input_arg { + name: "inputs" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + number_attr: "num_splits" + } + attr { + name: "T" + type: "type" + } + attr { + name: "num_splits" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "partition_dim" + type: "int" + default_value { + i: 0 + } + } +} +op { + name: "TPUReplicateMetadata" + attr { + name: "num_replicas" + type: "int" + has_minimum: true + } + attr { + name: "num_cores_per_replica" + type: "int" + default_value { + i: 1 + } + } + attr { + name: "topology" + type: "string" + default_value { + s: "" + } + } + attr { + name: "use_tpu" + type: "bool" + default_value { + b: true + } + } + attr { + name: "device_assignment" + type: "list(int)" + default_value { + list { + } + } + } + attr { + name: "computation_shape" + type: "list(int)" + default_value { + list { + } + } + } + attr { + name: "host_compute_core" + type: "list(string)" + default_value { + list { + } + } + } + attr { + name: "padding_map" + type: "list(string)" + default_value { + list { + } + } + } + attr { + name: "step_marker_location" + type: "string" + default_value { + s: "STEP_MARK_AT_ENTRY" + } + } + attr { + name: "allow_soft_placement" + type: "bool" + default_value { + b: false + } + } + attr { + name: "use_spmd_for_xla_partitioning" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "TPUReplicatedInput" + input_arg { + name: "inputs" + type_attr: "T" + number_attr: "N" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "T" + type: "type" + } + attr { + name: "is_mirrored_variable" + type: "bool" + default_value { + b: false + } + } + attr { + name: "index" + type: "int" + default_value { + i: -1 + } + } + attr { + name: "is_packed" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "TPUReplicatedOutput" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "outputs" + type_attr: "T" + number_attr: "num_replicas" + } + attr { + name: "num_replicas" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "T" + type: "type" + } +} +op { + name: "TakeDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "count" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "TakeManySparseFromTensorsMap" + input_arg { + name: "sparse_handles" + type: DT_INT64 + } + output_arg { + name: "sparse_indices" + type: DT_INT64 + } + output_arg { + name: "sparse_values" + type_attr: "dtype" + } + output_arg { + name: "sparse_shape" + type: DT_INT64 + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "TakeWhileDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "other_arguments" + type_list_attr: "Targuments" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "predicate" + type: "func" + } + attr { + name: "Targuments" + type: "list(type)" + has_minimum: true + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "Tan" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT8 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "Tanh" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "TanhGrad" + input_arg { + name: "y" + type_attr: "T" + } + input_arg { + name: "dy" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "TemporaryVariable" + output_arg { + name: "ref" + type_attr: "dtype" + is_ref: true + } + attr { + name: "shape" + type: "shape" + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "var_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "TensorArray" + input_arg { + name: "size" + type: DT_INT32 + } + output_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "dynamic_size" + type: "bool" + default_value { + b: false + } + } + attr { + name: "clear_after_read" + type: "bool" + default_value { + b: true + } + } + attr { + name: "tensor_array_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "element_shape" + type: "shape" + default_value { + shape { + unknown_rank: true + } + } + } + deprecation { + version: 16 + explanation: "Use TensorArrayV3" + } + is_stateful: true +} +op { + name: "TensorArrayClose" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + deprecation { + version: 16 + explanation: "Use TensorArrayCloseV3" + } +} +op { + name: "TensorArrayCloseV2" + input_arg { + name: "handle" + type: DT_STRING + } + deprecation { + version: 26 + explanation: "Use TensorArrayCloseV3" + } +} +op { + name: "TensorArrayCloseV3" + input_arg { + name: "handle" + type: DT_RESOURCE + } + is_stateful: true +} +op { + name: "TensorArrayConcat" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "value" + type_attr: "dtype" + } + output_arg { + name: "lengths" + type: DT_INT64 + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "element_shape_except0" + type: "shape" + default_value { + shape { + unknown_rank: true + } + } + } + deprecation { + version: 16 + explanation: "Use TensorArrayGradV3" + } +} +op { + name: "TensorArrayConcatV2" + input_arg { + name: "handle" + type: DT_STRING + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "value" + type_attr: "dtype" + } + output_arg { + name: "lengths" + type: DT_INT64 + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "element_shape_except0" + type: "shape" + default_value { + shape { + unknown_rank: true + } + } + } +} +op { + name: "TensorArrayConcatV3" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "value" + type_attr: "dtype" + } + output_arg { + name: "lengths" + type: DT_INT64 + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "element_shape_except0" + type: "shape" + default_value { + shape { + unknown_rank: true + } + } + } + is_stateful: true +} +op { + name: "TensorArrayGather" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "indices" + type: DT_INT32 + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "value" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "element_shape" + type: "shape" + default_value { + shape { + unknown_rank: true + } + } + } + deprecation { + version: 16 + explanation: "Use TensorArrayGatherV3" + } +} +op { + name: "TensorArrayGatherV2" + input_arg { + name: "handle" + type: DT_STRING + } + input_arg { + name: "indices" + type: DT_INT32 + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "value" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "element_shape" + type: "shape" + default_value { + shape { + unknown_rank: true + } + } + } + deprecation { + version: 26 + explanation: "Use TensorArrayGatherV3" + } +} +op { + name: "TensorArrayGatherV3" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "indices" + type: DT_INT32 + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "value" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "element_shape" + type: "shape" + default_value { + shape { + unknown_rank: true + } + } + } + is_stateful: true +} +op { + name: "TensorArrayGrad" + input_arg { + name: "handle" + type: DT_STRING + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "grad_handle" + type: DT_STRING + is_ref: true + } + attr { + name: "source" + type: "string" + } + deprecation { + version: 16 + explanation: "Use TensorArrayGradV3" + } + is_stateful: true +} +op { + name: "TensorArrayGradV2" + input_arg { + name: "handle" + type: DT_STRING + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "grad_handle" + type: DT_STRING + } + attr { + name: "source" + type: "string" + } + deprecation { + version: 26 + explanation: "Use TensorArrayGradV3" + } + is_stateful: true +} +op { + name: "TensorArrayGradV3" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "grad_handle" + type: DT_RESOURCE + } + output_arg { + name: "flow_out" + type: DT_FLOAT + } + attr { + name: "source" + type: "string" + } + is_stateful: true +} +op { + name: "TensorArrayGradWithShape" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + input_arg { + name: "shape_to_prepend" + type: DT_INT32 + } + output_arg { + name: "grad_handle" + type: DT_RESOURCE + } + output_arg { + name: "flow_out" + type: DT_FLOAT + } + attr { + name: "source" + type: "string" + } + is_stateful: true +} +op { + name: "TensorArrayPack" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "value" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "element_shape" + type: "shape" + default_value { + shape { + unknown_rank: true + } + } + } + deprecation { + version: 16 + explanation: "Use TensorArrayGatherV3 with RangeOp" + } +} +op { + name: "TensorArrayRead" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "index" + type: DT_INT32 + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "value" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + deprecation { + version: 16 + explanation: "Use TensorArrayReadV3" + } +} +op { + name: "TensorArrayReadV2" + input_arg { + name: "handle" + type: DT_STRING + } + input_arg { + name: "index" + type: DT_INT32 + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "value" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + deprecation { + version: 26 + explanation: "Use TensorArrayReadV3" + } +} +op { + name: "TensorArrayReadV3" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "index" + type: DT_INT32 + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "value" + type_attr: "dtype" + } + attr { + name: "dtype" + type: "type" + } + is_stateful: true +} +op { + name: "TensorArrayScatter" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "indices" + type: DT_INT32 + } + input_arg { + name: "value" + type_attr: "T" + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "flow_out" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + } + deprecation { + version: 19 + explanation: "Use TensorArrayGradV3" + } +} +op { + name: "TensorArrayScatterV2" + input_arg { + name: "handle" + type: DT_STRING + } + input_arg { + name: "indices" + type: DT_INT32 + } + input_arg { + name: "value" + type_attr: "T" + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "flow_out" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + } + deprecation { + version: 26 + explanation: "Use TensorArrayScatterV3" + } +} +op { + name: "TensorArrayScatterV3" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "indices" + type: DT_INT32 + } + input_arg { + name: "value" + type_attr: "T" + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "flow_out" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + } + is_stateful: true +} +op { + name: "TensorArraySize" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "size" + type: DT_INT32 + } + deprecation { + version: 16 + explanation: "Use TensorArraySizeV3" + } +} +op { + name: "TensorArraySizeV2" + input_arg { + name: "handle" + type: DT_STRING + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "size" + type: DT_INT32 + } + deprecation { + version: 26 + explanation: "Use TensorArraySizeV3" + } +} +op { + name: "TensorArraySizeV3" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "size" + type: DT_INT32 + } + is_stateful: true +} +op { + name: "TensorArraySplit" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "value" + type_attr: "T" + } + input_arg { + name: "lengths" + type: DT_INT64 + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "flow_out" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + } + deprecation { + version: 16 + explanation: "Use TensorArraySplitV3" + } +} +op { + name: "TensorArraySplitV2" + input_arg { + name: "handle" + type: DT_STRING + } + input_arg { + name: "value" + type_attr: "T" + } + input_arg { + name: "lengths" + type: DT_INT64 + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "flow_out" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + } + deprecation { + version: 26 + explanation: "Use TensorArraySplitV3" + } +} +op { + name: "TensorArraySplitV3" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "value" + type_attr: "T" + } + input_arg { + name: "lengths" + type: DT_INT64 + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "flow_out" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + } + is_stateful: true +} +op { + name: "TensorArrayUnpack" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "value" + type_attr: "T" + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "flow_out" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + } + deprecation { + version: 20 + explanation: "Use TensorArrayScatterV3 with RangeOp" + } +} +op { + name: "TensorArrayV2" + input_arg { + name: "size" + type: DT_INT32 + } + output_arg { + name: "handle" + type: DT_STRING + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "element_shape" + type: "shape" + default_value { + shape { + unknown_rank: true + } + } + } + attr { + name: "dynamic_size" + type: "bool" + default_value { + b: false + } + } + attr { + name: "clear_after_read" + type: "bool" + default_value { + b: true + } + } + attr { + name: "tensor_array_name" + type: "string" + default_value { + s: "" + } + } + deprecation { + version: 26 + explanation: "Use TensorArrayV3" + } + is_stateful: true +} +op { + name: "TensorArrayV3" + input_arg { + name: "size" + type: DT_INT32 + } + output_arg { + name: "handle" + type: DT_RESOURCE + } + output_arg { + name: "flow" + type: DT_FLOAT + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "element_shape" + type: "shape" + default_value { + shape { + unknown_rank: true + } + } + } + attr { + name: "dynamic_size" + type: "bool" + default_value { + b: false + } + } + attr { + name: "clear_after_read" + type: "bool" + default_value { + b: true + } + } + attr { + name: "identical_element_shapes" + type: "bool" + default_value { + b: false + } + } + attr { + name: "tensor_array_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "TensorArrayWrite" + input_arg { + name: "handle" + type: DT_STRING + is_ref: true + } + input_arg { + name: "index" + type: DT_INT32 + } + input_arg { + name: "value" + type_attr: "T" + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "flow_out" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + } + deprecation { + version: 16 + explanation: "Use TensorArrayWriteV3" + } +} +op { + name: "TensorArrayWriteV2" + input_arg { + name: "handle" + type: DT_STRING + } + input_arg { + name: "index" + type: DT_INT32 + } + input_arg { + name: "value" + type_attr: "T" + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "flow_out" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + } + deprecation { + version: 26 + explanation: "Use TensorArrayWriteV3" + } +} +op { + name: "TensorArrayWriteV3" + input_arg { + name: "handle" + type: DT_RESOURCE + } + input_arg { + name: "index" + type: DT_INT32 + } + input_arg { + name: "value" + type_attr: "T" + } + input_arg { + name: "flow_in" + type: DT_FLOAT + } + output_arg { + name: "flow_out" + type: DT_FLOAT + } + attr { + name: "T" + type: "type" + } + is_stateful: true +} +op { + name: "TensorDataset" + input_arg { + name: "components" + type_list_attr: "Toutput_types" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "Toutput_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "TensorForestCreateTreeVariable" + input_arg { + name: "tree_handle" + type: DT_RESOURCE + } + input_arg { + name: "tree_config" + type: DT_STRING + } + is_stateful: true +} +op { + name: "TensorForestTreeDeserialize" + input_arg { + name: "tree_handle" + type: DT_RESOURCE + } + input_arg { + name: "tree_config" + type: DT_STRING + } + is_stateful: true +} +op { + name: "TensorForestTreeIsInitializedOp" + input_arg { + name: "tree_handle" + type: DT_RESOURCE + } + output_arg { + name: "is_initialized" + type: DT_BOOL + } + is_stateful: true +} +op { + name: "TensorForestTreePredict" + input_arg { + name: "tree_handle" + type: DT_RESOURCE + } + input_arg { + name: "dense_features" + type: DT_FLOAT + } + output_arg { + name: "logits" + type: DT_FLOAT + } + attr { + name: "logits_dimension" + type: "int" + } + is_stateful: true +} +op { + name: "TensorForestTreeResourceHandleOp" + output_arg { + name: "resource" + type: DT_RESOURCE + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "TensorForestTreeSerialize" + input_arg { + name: "tree_handle" + type: DT_RESOURCE + } + output_arg { + name: "tree_config" + type: DT_STRING + } + is_stateful: true +} +op { + name: "TensorForestTreeSize" + input_arg { + name: "tree_handle" + type: DT_RESOURCE + } + output_arg { + name: "tree_size" + type: DT_INT32 + } + is_stateful: true +} +op { + name: "TensorListConcat" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + output_arg { + name: "tensor" + type_attr: "element_dtype" + } + output_arg { + name: "lengths" + type: DT_INT64 + } + attr { + name: "element_dtype" + type: "type" + } + attr { + name: "element_shape" + type: "shape" + default_value { + shape { + unknown_rank: true + } + } + } +} +op { + name: "TensorListConcatLists" + input_arg { + name: "input_a" + type: DT_VARIANT + } + input_arg { + name: "input_b" + type: DT_VARIANT + } + output_arg { + name: "output" + type: DT_VARIANT + } + attr { + name: "element_dtype" + type: "type" + } +} +op { + name: "TensorListConcatV2" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + input_arg { + name: "element_shape" + type_attr: "shape_type" + } + input_arg { + name: "leading_dims" + type: DT_INT64 + } + output_arg { + name: "tensor" + type_attr: "element_dtype" + } + output_arg { + name: "lengths" + type: DT_INT64 + } + attr { + name: "element_dtype" + type: "type" + } + attr { + name: "shape_type" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "TensorListElementShape" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + output_arg { + name: "element_shape" + type_attr: "shape_type" + } + attr { + name: "shape_type" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "TensorListFromTensor" + input_arg { + name: "tensor" + type_attr: "element_dtype" + } + input_arg { + name: "element_shape" + type_attr: "shape_type" + } + output_arg { + name: "output_handle" + type: DT_VARIANT + } + attr { + name: "element_dtype" + type: "type" + } + attr { + name: "shape_type" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "TensorListGather" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + input_arg { + name: "indices" + type: DT_INT32 + } + input_arg { + name: "element_shape" + type: DT_INT32 + } + output_arg { + name: "values" + type_attr: "element_dtype" + } + attr { + name: "element_dtype" + type: "type" + } +} +op { + name: "TensorListGetItem" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + input_arg { + name: "index" + type: DT_INT32 + } + input_arg { + name: "element_shape" + type: DT_INT32 + } + output_arg { + name: "item" + type_attr: "element_dtype" + } + attr { + name: "element_dtype" + type: "type" + } +} +op { + name: "TensorListLength" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + output_arg { + name: "length" + type: DT_INT32 + } +} +op { + name: "TensorListPopBack" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + input_arg { + name: "element_shape" + type: DT_INT32 + } + output_arg { + name: "output_handle" + type: DT_VARIANT + } + output_arg { + name: "tensor" + type_attr: "element_dtype" + } + attr { + name: "element_dtype" + type: "type" + } +} +op { + name: "TensorListPushBack" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + input_arg { + name: "tensor" + type_attr: "element_dtype" + } + output_arg { + name: "output_handle" + type: DT_VARIANT + } + attr { + name: "element_dtype" + type: "type" + } +} +op { + name: "TensorListPushBackBatch" + input_arg { + name: "input_handles" + type: DT_VARIANT + } + input_arg { + name: "tensor" + type_attr: "element_dtype" + } + output_arg { + name: "output_handles" + type: DT_VARIANT + } + attr { + name: "element_dtype" + type: "type" + } +} +op { + name: "TensorListReserve" + input_arg { + name: "element_shape" + type_attr: "shape_type" + } + input_arg { + name: "num_elements" + type: DT_INT32 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "element_dtype" + type: "type" + } + attr { + name: "shape_type" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "TensorListResize" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + input_arg { + name: "size" + type: DT_INT32 + } + output_arg { + name: "output_handle" + type: DT_VARIANT + } +} +op { + name: "TensorListScatter" + input_arg { + name: "tensor" + type_attr: "element_dtype" + } + input_arg { + name: "indices" + type: DT_INT32 + } + input_arg { + name: "element_shape" + type_attr: "shape_type" + } + output_arg { + name: "output_handle" + type: DT_VARIANT + } + attr { + name: "element_dtype" + type: "type" + } + attr { + name: "shape_type" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "TensorListScatterIntoExistingList" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + input_arg { + name: "tensor" + type_attr: "element_dtype" + } + input_arg { + name: "indices" + type: DT_INT32 + } + output_arg { + name: "output_handle" + type: DT_VARIANT + } + attr { + name: "element_dtype" + type: "type" + } +} +op { + name: "TensorListScatterV2" + input_arg { + name: "tensor" + type_attr: "element_dtype" + } + input_arg { + name: "indices" + type: DT_INT32 + } + input_arg { + name: "element_shape" + type_attr: "shape_type" + } + input_arg { + name: "num_elements" + type: DT_INT32 + } + output_arg { + name: "output_handle" + type: DT_VARIANT + } + attr { + name: "element_dtype" + type: "type" + } + attr { + name: "shape_type" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "TensorListSetItem" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + input_arg { + name: "index" + type: DT_INT32 + } + input_arg { + name: "item" + type_attr: "element_dtype" + } + output_arg { + name: "output_handle" + type: DT_VARIANT + } + attr { + name: "element_dtype" + type: "type" + } +} +op { + name: "TensorListSplit" + input_arg { + name: "tensor" + type_attr: "element_dtype" + } + input_arg { + name: "element_shape" + type_attr: "shape_type" + } + input_arg { + name: "lengths" + type: DT_INT64 + } + output_arg { + name: "output_handle" + type: DT_VARIANT + } + attr { + name: "element_dtype" + type: "type" + } + attr { + name: "shape_type" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "TensorListStack" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + input_arg { + name: "element_shape" + type: DT_INT32 + } + output_arg { + name: "tensor" + type_attr: "element_dtype" + } + attr { + name: "element_dtype" + type: "type" + } + attr { + name: "num_elements" + type: "int" + default_value { + i: -1 + } + } +} +op { + name: "TensorMapErase" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + input_arg { + name: "key" + type_attr: "key_dtype" + } + output_arg { + name: "output_handle" + type: DT_VARIANT + } + attr { + name: "key_dtype" + type: "type" + } + attr { + name: "value_dtype" + type: "type" + } +} +op { + name: "TensorMapHasKey" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + input_arg { + name: "key" + type_attr: "key_dtype" + } + output_arg { + name: "has_key" + type: DT_BOOL + } + attr { + name: "key_dtype" + type: "type" + } +} +op { + name: "TensorMapInsert" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + input_arg { + name: "key" + type_attr: "key_dtype" + } + input_arg { + name: "value" + type_attr: "value_dtype" + } + output_arg { + name: "output_handle" + type: DT_VARIANT + } + attr { + name: "key_dtype" + type: "type" + } + attr { + name: "value_dtype" + type: "type" + } +} +op { + name: "TensorMapLookup" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + input_arg { + name: "key" + type_attr: "key_dtype" + } + output_arg { + name: "value" + type_attr: "value_dtype" + } + attr { + name: "key_dtype" + type: "type" + } + attr { + name: "value_dtype" + type: "type" + } +} +op { + name: "TensorMapSize" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + output_arg { + name: "size" + type: DT_INT32 + } +} +op { + name: "TensorMapStackKeys" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + output_arg { + name: "keys" + type_attr: "key_dtype" + } + attr { + name: "key_dtype" + type: "type" + } +} +op { + name: "TensorScatterAdd" + input_arg { + name: "tensor" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "TensorScatterMax" + input_arg { + name: "tensor" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "TensorScatterMin" + input_arg { + name: "tensor" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "TensorScatterSub" + input_arg { + name: "tensor" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "TensorScatterUpdate" + input_arg { + name: "tensor" + type_attr: "T" + } + input_arg { + name: "indices" + type_attr: "Tindices" + } + input_arg { + name: "updates" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "TensorSliceDataset" + input_arg { + name: "components" + type_list_attr: "Toutput_types" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "Toutput_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "TensorStridedSliceUpdate" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "begin" + type_attr: "Index" + } + input_arg { + name: "end" + type_attr: "Index" + } + input_arg { + name: "strides" + type_attr: "Index" + } + input_arg { + name: "value" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Index" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "begin_mask" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "end_mask" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "ellipsis_mask" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "new_axis_mask" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "shrink_axis_mask" + type: "int" + default_value { + i: 0 + } + } +} +op { + name: "TensorSummary" + input_arg { + name: "tensor" + type_attr: "T" + } + output_arg { + name: "summary" + type: DT_STRING + } + attr { + name: "T" + type: "type" + } + attr { + name: "description" + type: "string" + default_value { + s: "" + } + } + attr { + name: "labels" + type: "list(string)" + default_value { + list { + } + } + } + attr { + name: "display_name" + type: "string" + default_value { + s: "" + } + } +} +op { + name: "TensorSummaryV2" + input_arg { + name: "tag" + type: DT_STRING + } + input_arg { + name: "tensor" + type_attr: "T" + } + input_arg { + name: "serialized_summary_metadata" + type: DT_STRING + } + output_arg { + name: "summary" + type: DT_STRING + } + attr { + name: "T" + type: "type" + } +} +op { + name: "TextLineDataset" + input_arg { + name: "filenames" + type: DT_STRING + } + input_arg { + name: "compression_type" + type: DT_STRING + } + input_arg { + name: "buffer_size" + type: DT_INT64 + } + output_arg { + name: "handle" + type: DT_VARIANT + } + is_stateful: true +} +op { + name: "TextLineReader" + output_arg { + name: "reader_handle" + type: DT_STRING + is_ref: true + } + attr { + name: "skip_header_lines" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + deprecation { + version: 26 + explanation: "Use TextLineReaderV2" + } + is_stateful: true +} +op { + name: "TextLineReaderV2" + output_arg { + name: "reader_handle" + type: DT_RESOURCE + } + attr { + name: "skip_header_lines" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "ThreadPoolDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "thread_pool" + type: DT_RESOURCE + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "ThreadPoolHandle" + output_arg { + name: "handle" + type: DT_RESOURCE + } + attr { + name: "num_threads" + type: "int" + } + attr { + name: "max_intra_op_parallelism" + type: "int" + default_value { + i: 1 + } + } + attr { + name: "display_name" + type: "string" + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "ThreadUnsafeUnigramCandidateSampler" + input_arg { + name: "true_classes" + type: DT_INT64 + } + output_arg { + name: "sampled_candidates" + type: DT_INT64 + } + output_arg { + name: "true_expected_count" + type: DT_FLOAT + } + output_arg { + name: "sampled_expected_count" + type: DT_FLOAT + } + attr { + name: "num_true" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "num_sampled" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "unique" + type: "bool" + } + attr { + name: "range_max" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + is_stateful: true +} +op { + name: "Tile" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "multiples" + type_attr: "Tmultiples" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tmultiples" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "TileGrad" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "multiples" + type: DT_INT32 + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + deprecation { + version: 3 + explanation: "TileGrad has been replaced with reduce_sum" + } +} +op { + name: "Timestamp" + output_arg { + name: "ts" + type: DT_DOUBLE + } + is_stateful: true +} +op { + name: "ToBool" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "output" + type: DT_BOOL + } + attr { + name: "T" + type: "type" + } +} +op { + name: "TopK" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "values" + type_attr: "T" + } + output_arg { + name: "indices" + type: DT_INT32 + } + attr { + name: "k" + type: "int" + has_minimum: true + } + attr { + name: "sorted" + type: "bool" + default_value { + b: true + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + deprecation { + version: 7 + explanation: "Use TopKV2 instead" + } +} +op { + name: "TopKUnique" + input_arg { + name: "input" + type: DT_FLOAT + } + output_arg { + name: "topk" + type: DT_FLOAT + } + output_arg { + name: "topk_indices" + type: DT_INT32 + } + attr { + name: "k" + type: "int" + } +} +op { + name: "TopKV2" + input_arg { + name: "input" + type_attr: "T" + } + input_arg { + name: "k" + type: DT_INT32 + } + output_arg { + name: "values" + type_attr: "T" + } + output_arg { + name: "indices" + type: DT_INT32 + } + attr { + name: "sorted" + type: "bool" + default_value { + b: true + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } +} +op { + name: "TopKWithUnique" + input_arg { + name: "input" + type: DT_FLOAT + } + output_arg { + name: "topk" + type: DT_FLOAT + } + output_arg { + name: "topk_indices" + type: DT_INT32 + } + attr { + name: "k" + type: "int" + } +} +op { + name: "Transpose" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "perm" + type_attr: "Tperm" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Tperm" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "TridiagonalMatMul" + input_arg { + name: "superdiag" + type_attr: "T" + } + input_arg { + name: "maindiag" + type_attr: "T" + } + input_arg { + name: "subdiag" + type_attr: "T" + } + input_arg { + name: "rhs" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "TridiagonalSolve" + input_arg { + name: "diagonals" + type_attr: "T" + } + input_arg { + name: "rhs" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "partial_pivoting" + type: "bool" + default_value { + b: true + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_DOUBLE + type: DT_FLOAT + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "TruncateDiv" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_UINT8 + type: DT_INT8 + type: DT_UINT16 + type: DT_INT16 + type: DT_INT32 + type: DT_INT64 + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "TruncateMod" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "TruncatedNormal" + input_arg { + name: "shape" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "dtype" + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "dtype" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_BFLOAT16 + type: DT_FLOAT + type: DT_DOUBLE + } + } + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + is_stateful: true +} +op { + name: "TryRpc" + input_arg { + name: "address" + type: DT_STRING + } + input_arg { + name: "method" + type: DT_STRING + } + input_arg { + name: "request" + type: DT_STRING + } + output_arg { + name: "response" + type: DT_STRING + } + output_arg { + name: "status_code" + type: DT_INT32 + } + output_arg { + name: "status_message" + type: DT_STRING + } + attr { + name: "protocol" + type: "string" + default_value { + s: "" + } + } + attr { + name: "fail_fast" + type: "bool" + default_value { + b: true + } + } + attr { + name: "timeout_in_ms" + type: "int" + default_value { + i: 0 + } + } + is_stateful: true +} +op { + name: "Unbatch" + input_arg { + name: "batched_tensor" + type_attr: "T" + } + input_arg { + name: "batch_index" + type: DT_INT64 + } + input_arg { + name: "id" + type: DT_INT64 + } + output_arg { + name: "unbatched_tensor" + type_attr: "T" + } + attr { + name: "timeout_micros" + type: "int" + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "T" + type: "type" + } +} +op { + name: "UnbatchDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "UnbatchGrad" + input_arg { + name: "original_input" + type_attr: "T" + } + input_arg { + name: "batch_index" + type: DT_INT64 + } + input_arg { + name: "grad" + type_attr: "T" + } + input_arg { + name: "id" + type: DT_INT64 + } + output_arg { + name: "batched_grad" + type_attr: "T" + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "T" + type: "type" + } +} +op { + name: "UncompressElement" + input_arg { + name: "compressed" + type: DT_VARIANT + } + output_arg { + name: "components" + type_list_attr: "output_types" + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "UnicodeDecode" + input_arg { + name: "input" + type: DT_STRING + } + output_arg { + name: "row_splits" + type_attr: "Tsplits" + } + output_arg { + name: "char_values" + type: DT_INT32 + } + attr { + name: "input_encoding" + type: "string" + } + attr { + name: "errors" + type: "string" + default_value { + s: "replace" + } + allowed_values { + list { + s: "strict" + s: "replace" + s: "ignore" + } + } + } + attr { + name: "replacement_char" + type: "int" + default_value { + i: 65533 + } + } + attr { + name: "replace_control_characters" + type: "bool" + default_value { + b: false + } + } + attr { + name: "Tsplits" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "UnicodeDecodeWithOffsets" + input_arg { + name: "input" + type: DT_STRING + } + output_arg { + name: "row_splits" + type_attr: "Tsplits" + } + output_arg { + name: "char_values" + type: DT_INT32 + } + output_arg { + name: "char_to_byte_starts" + type: DT_INT64 + } + attr { + name: "input_encoding" + type: "string" + } + attr { + name: "errors" + type: "string" + default_value { + s: "replace" + } + allowed_values { + list { + s: "strict" + s: "replace" + s: "ignore" + } + } + } + attr { + name: "replacement_char" + type: "int" + default_value { + i: 65533 + } + } + attr { + name: "replace_control_characters" + type: "bool" + default_value { + b: false + } + } + attr { + name: "Tsplits" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "UnicodeEncode" + input_arg { + name: "input_values" + type: DT_INT32 + } + input_arg { + name: "input_splits" + type_attr: "Tsplits" + } + output_arg { + name: "output" + type: DT_STRING + } + attr { + name: "errors" + type: "string" + default_value { + s: "replace" + } + allowed_values { + list { + s: "ignore" + s: "replace" + s: "strict" + } + } + } + attr { + name: "output_encoding" + type: "string" + allowed_values { + list { + s: "UTF-8" + s: "UTF-16-BE" + s: "UTF-32-BE" + } + } + } + attr { + name: "replacement_char" + type: "int" + default_value { + i: 65533 + } + } + attr { + name: "Tsplits" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "UnicodeScript" + input_arg { + name: "input" + type: DT_INT32 + } + output_arg { + name: "output" + type: DT_INT32 + } +} +op { + name: "UnicodeTranscode" + input_arg { + name: "input" + type: DT_STRING + } + output_arg { + name: "output" + type: DT_STRING + } + attr { + name: "input_encoding" + type: "string" + } + attr { + name: "output_encoding" + type: "string" + allowed_values { + list { + s: "UTF-8" + s: "UTF-16-BE" + s: "UTF-32-BE" + } + } + } + attr { + name: "errors" + type: "string" + default_value { + s: "replace" + } + allowed_values { + list { + s: "strict" + s: "replace" + s: "ignore" + } + } + } + attr { + name: "replacement_char" + type: "int" + default_value { + i: 65533 + } + } + attr { + name: "replace_control_characters" + type: "bool" + default_value { + b: false + } + } +} +op { + name: "UniformCandidateSampler" + input_arg { + name: "true_classes" + type: DT_INT64 + } + output_arg { + name: "sampled_candidates" + type: DT_INT64 + } + output_arg { + name: "true_expected_count" + type: DT_FLOAT + } + output_arg { + name: "sampled_expected_count" + type: DT_FLOAT + } + attr { + name: "num_true" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "num_sampled" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "unique" + type: "bool" + } + attr { + name: "range_max" + type: "int" + has_minimum: true + minimum: 1 + } + attr { + name: "seed" + type: "int" + default_value { + i: 0 + } + } + attr { + name: "seed2" + type: "int" + default_value { + i: 0 + } + } + is_stateful: true +} +op { + name: "Unique" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "idx" + type_attr: "out_idx" + } + attr { + name: "T" + type: "type" + } + attr { + name: "out_idx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "UniqueDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "UniqueV2" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "axis" + type_attr: "Taxis" + } + output_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "idx" + type_attr: "out_idx" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Taxis" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "out_idx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "UniqueWithCounts" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "idx" + type_attr: "out_idx" + } + output_arg { + name: "count" + type_attr: "out_idx" + } + attr { + name: "T" + type: "type" + } + attr { + name: "out_idx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "UniqueWithCountsV2" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "axis" + type_attr: "Taxis" + } + output_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "idx" + type_attr: "out_idx" + } + output_arg { + name: "count" + type_attr: "out_idx" + } + attr { + name: "T" + type: "type" + } + attr { + name: "Taxis" + type: "type" + default_value { + type: DT_INT64 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "out_idx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "Unpack" + input_arg { + name: "value" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "T" + number_attr: "num" + } + attr { + name: "num" + type: "int" + has_minimum: true + } + attr { + name: "T" + type: "type" + } + attr { + name: "axis" + type: "int" + default_value { + i: 0 + } + } +} +op { + name: "UnravelIndex" + input_arg { + name: "indices" + type_attr: "Tidx" + } + input_arg { + name: "dims" + type_attr: "Tidx" + } + output_arg { + name: "output" + type_attr: "Tidx" + } + attr { + name: "Tidx" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "UnsortedSegmentJoin" + input_arg { + name: "inputs" + type: DT_STRING + } + input_arg { + name: "segment_ids" + type_attr: "Tindices" + } + input_arg { + name: "num_segments" + type_attr: "Tnumsegments" + } + output_arg { + name: "output" + type: DT_STRING + } + attr { + name: "separator" + type: "string" + default_value { + s: "" + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tnumsegments" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "UnsortedSegmentMax" + input_arg { + name: "data" + type_attr: "T" + } + input_arg { + name: "segment_ids" + type_attr: "Tindices" + } + input_arg { + name: "num_segments" + type_attr: "Tnumsegments" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tnumsegments" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "UnsortedSegmentMin" + input_arg { + name: "data" + type_attr: "T" + } + input_arg { + name: "segment_ids" + type_attr: "Tindices" + } + input_arg { + name: "num_segments" + type_attr: "Tnumsegments" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tnumsegments" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "UnsortedSegmentProd" + input_arg { + name: "data" + type_attr: "T" + } + input_arg { + name: "segment_ids" + type_attr: "Tindices" + } + input_arg { + name: "num_segments" + type_attr: "Tnumsegments" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tnumsegments" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "UnsortedSegmentSum" + input_arg { + name: "data" + type_attr: "T" + } + input_arg { + name: "segment_ids" + type_attr: "Tindices" + } + input_arg { + name: "num_segments" + type_attr: "Tnumsegments" + } + output_arg { + name: "output" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + attr { + name: "Tindices" + type: "type" + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + attr { + name: "Tnumsegments" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "Unstage" + output_arg { + name: "values" + type_list_attr: "dtypes" + } + attr { + name: "capacity" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "memory_limit" + type: "int" + default_value { + i: 0 + } + has_minimum: true + } + attr { + name: "dtypes" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "UnwrapDatasetVariant" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + output_arg { + name: "output_handle" + type: DT_VARIANT + } +} +op { + name: "UpperBound" + input_arg { + name: "sorted_inputs" + type_attr: "T" + } + input_arg { + name: "values" + type_attr: "T" + } + output_arg { + name: "output" + type_attr: "out_type" + } + attr { + name: "T" + type: "type" + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } +} +op { + name: "VarHandleOp" + output_arg { + name: "resource" + type: DT_RESOURCE + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "shape" + type: "shape" + } + attr { + name: "allowed_devices" + type: "list(string)" + default_value { + list { + } + } + } + is_stateful: true +} +op { + name: "VarIsInitializedOp" + input_arg { + name: "resource" + type: DT_RESOURCE + } + output_arg { + name: "is_initialized" + type: DT_BOOL + } + is_stateful: true +} +op { + name: "Variable" + output_arg { + name: "ref" + type_attr: "dtype" + is_ref: true + } + attr { + name: "shape" + type: "shape" + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "VariableShape" + input_arg { + name: "input" + type: DT_RESOURCE + } + output_arg { + name: "output" + type_attr: "out_type" + } + attr { + name: "out_type" + type: "type" + default_value { + type: DT_INT32 + } + allowed_values { + list { + type: DT_INT32 + type: DT_INT64 + } + } + } + is_stateful: true +} +op { + name: "VariableV2" + output_arg { + name: "ref" + type_attr: "dtype" + is_ref: true + } + attr { + name: "shape" + type: "shape" + } + attr { + name: "dtype" + type: "type" + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "Where" + input_arg { + name: "input" + type_attr: "T" + } + output_arg { + name: "index" + type: DT_INT64 + } + attr { + name: "T" + type: "type" + default_value { + type: DT_BOOL + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_COMPLEX64 + type: DT_INT64 + type: DT_QINT8 + type: DT_QUINT8 + type: DT_QINT32 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_COMPLEX128 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + type: DT_BOOL + } + } + } +} +op { + name: "While" + input_arg { + name: "input" + type_list_attr: "T" + } + output_arg { + name: "output" + type_list_attr: "T" + } + attr { + name: "T" + type: "list(type)" + has_minimum: true + } + attr { + name: "cond" + type: "func" + } + attr { + name: "body" + type: "func" + } + attr { + name: "output_shapes" + type: "list(shape)" + default_value { + list { + } + } + } + attr { + name: "parallel_iterations" + type: "int" + default_value { + i: 10 + } + } + is_stateful: true +} +op { + name: "WholeFileReader" + output_arg { + name: "reader_handle" + type: DT_STRING + is_ref: true + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "WholeFileReaderV2" + output_arg { + name: "reader_handle" + type: DT_RESOURCE + } + attr { + name: "container" + type: "string" + default_value { + s: "" + } + } + attr { + name: "shared_name" + type: "string" + default_value { + s: "" + } + } + is_stateful: true +} +op { + name: "WindowDataset" + input_arg { + name: "input_dataset" + type: DT_VARIANT + } + input_arg { + name: "size" + type: DT_INT64 + } + input_arg { + name: "shift" + type: DT_INT64 + } + input_arg { + name: "stride" + type: DT_INT64 + } + input_arg { + name: "drop_remainder" + type: DT_BOOL + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } +} +op { + name: "WorkerHeartbeat" + input_arg { + name: "request" + type: DT_STRING + } + output_arg { + name: "response" + type: DT_STRING + } + is_stateful: true +} +op { + name: "WrapDatasetVariant" + input_arg { + name: "input_handle" + type: DT_VARIANT + } + output_arg { + name: "output_handle" + type: DT_VARIANT + } +} +op { + name: "WriteAudioSummary" + input_arg { + name: "writer" + type: DT_RESOURCE + } + input_arg { + name: "step" + type: DT_INT64 + } + input_arg { + name: "tag" + type: DT_STRING + } + input_arg { + name: "tensor" + type: DT_FLOAT + } + input_arg { + name: "sample_rate" + type: DT_FLOAT + } + attr { + name: "max_outputs" + type: "int" + default_value { + i: 3 + } + has_minimum: true + minimum: 1 + } + is_stateful: true +} +op { + name: "WriteFile" + input_arg { + name: "filename" + type: DT_STRING + } + input_arg { + name: "contents" + type: DT_STRING + } + is_stateful: true +} +op { + name: "WriteGraphSummary" + input_arg { + name: "writer" + type: DT_RESOURCE + } + input_arg { + name: "step" + type: DT_INT64 + } + input_arg { + name: "tensor" + type: DT_STRING + } + is_stateful: true +} +op { + name: "WriteHistogramSummary" + input_arg { + name: "writer" + type: DT_RESOURCE + } + input_arg { + name: "step" + type: DT_INT64 + } + input_arg { + name: "tag" + type: DT_STRING + } + input_arg { + name: "values" + type_attr: "T" + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + is_stateful: true +} +op { + name: "WriteImageSummary" + input_arg { + name: "writer" + type: DT_RESOURCE + } + input_arg { + name: "step" + type: DT_INT64 + } + input_arg { + name: "tag" + type: DT_STRING + } + input_arg { + name: "tensor" + type_attr: "T" + } + input_arg { + name: "bad_color" + type: DT_UINT8 + } + attr { + name: "max_images" + type: "int" + default_value { + i: 3 + } + has_minimum: true + minimum: 1 + } + attr { + name: "T" + type: "type" + default_value { + type: DT_FLOAT + } + allowed_values { + list { + type: DT_UINT8 + type: DT_FLOAT + type: DT_HALF + } + } + } + is_stateful: true +} +op { + name: "WriteRawProtoSummary" + input_arg { + name: "writer" + type: DT_RESOURCE + } + input_arg { + name: "step" + type: DT_INT64 + } + input_arg { + name: "tensor" + type: DT_STRING + } + is_stateful: true +} +op { + name: "WriteScalarSummary" + input_arg { + name: "writer" + type: DT_RESOURCE + } + input_arg { + name: "step" + type: DT_INT64 + } + input_arg { + name: "tag" + type: DT_STRING + } + input_arg { + name: "value" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + type: DT_INT32 + type: DT_UINT8 + type: DT_INT16 + type: DT_INT8 + type: DT_INT64 + type: DT_BFLOAT16 + type: DT_UINT16 + type: DT_HALF + type: DT_UINT32 + type: DT_UINT64 + } + } + } + is_stateful: true +} +op { + name: "WriteSummary" + input_arg { + name: "writer" + type: DT_RESOURCE + } + input_arg { + name: "step" + type: DT_INT64 + } + input_arg { + name: "tensor" + type_attr: "T" + } + input_arg { + name: "tag" + type: DT_STRING + } + input_arg { + name: "summary_metadata" + type: DT_STRING + } + attr { + name: "T" + type: "type" + } + is_stateful: true +} +op { + name: "Xdivy" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "XlaHostCompute" + input_arg { + name: "inputs" + type_list_attr: "Tinputs" + } + output_arg { + name: "outputs" + type_list_attr: "Toutputs" + } + attr { + name: "Tinputs" + type: "list(type)" + has_minimum: true + } + attr { + name: "Toutputs" + type: "list(type)" + has_minimum: true + } + attr { + name: "ancestors" + type: "list(string)" + has_minimum: true + } + attr { + name: "shapes" + type: "list(shape)" + has_minimum: true + } + attr { + name: "shape_inference_graph" + type: "func" + } + attr { + name: "key" + type: "string" + } + attr { + name: "cost_estimate_ns" + type: "int" + default_value { + i: 1000000 + } + } + attr { + name: "tpu_core" + type: "int" + default_value { + i: 0 + } + } + is_stateful: true +} +op { + name: "XlaRecvFromHost" + output_arg { + name: "output" + type_attr: "Toutput" + } + attr { + name: "Toutput" + type: "type" + } + attr { + name: "shape" + type: "shape" + } + attr { + name: "key" + type: "string" + } + is_stateful: true +} +op { + name: "XlaSendToHost" + input_arg { + name: "input" + type_attr: "Tinput" + } + attr { + name: "Tinput" + type: "type" + } + attr { + name: "key" + type: "string" + } + is_stateful: true +} +op { + name: "Xlog1py" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "Xlogy" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "y" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_HALF + type: DT_FLOAT + type: DT_DOUBLE + type: DT_COMPLEX64 + type: DT_COMPLEX128 + } + } + } +} +op { + name: "ZerosLike" + input_arg { + name: "x" + type_attr: "T" + } + output_arg { + name: "y" + type_attr: "T" + } + attr { + name: "T" + type: "type" + } +} +op { + name: "Zeta" + input_arg { + name: "x" + type_attr: "T" + } + input_arg { + name: "q" + type_attr: "T" + } + output_arg { + name: "z" + type_attr: "T" + } + attr { + name: "T" + type: "type" + allowed_values { + list { + type: DT_FLOAT + type: DT_DOUBLE + } + } + } +} +op { + name: "ZipDataset" + input_arg { + name: "input_datasets" + type: DT_VARIANT + number_attr: "N" + } + output_arg { + name: "handle" + type: DT_VARIANT + } + attr { + name: "output_types" + type: "list(type)" + has_minimum: true + minimum: 1 + } + attr { + name: "output_shapes" + type: "list(shape)" + has_minimum: true + minimum: 1 + } + attr { + name: "N" + type: "int" + has_minimum: true + minimum: 1 + } +} diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/test/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/TestTensorflowIR.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/test/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/TestTensorflowIR.kt new file mode 100644 index 000000000..0de73d199 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/test/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/TestTensorflowIR.kt @@ -0,0 +1,1116 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.samediff.frameworkimport.tensorflow + +import junit.framework.Assert.assertEquals +import junit.framework.Assert.assertTrue +import org.apache.commons.io.FileUtils +import org.apache.commons.io.IOUtils +import org.junit.Ignore +import org.junit.jupiter.api.Test +import org.nd4j.autodiff.samediff.SameDiff +import org.nd4j.common.io.ClassPathResource +import org.nd4j.imports.graphmapper.tf.TFGraphMapper +import org.nd4j.ir.OpNamespace +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.linalg.api.ops.DynamicCustomOp +import org.nd4j.linalg.api.ops.impl.transforms.BinCount +import org.nd4j.linalg.api.ops.impl.transforms.floating.RSqrt +import org.nd4j.linalg.factory.Nd4j +import org.nd4j.linalg.profiler.ProfilerConfig +import org.nd4j.samediff.frameworkimport.ImportGraph +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.registry.OpMappingRegistry +import org.nd4j.samediff.frameworkimport.registry.OpRegistryHolder +import org.nd4j.samediff.frameworkimport.tensorflow.context.TensorflowMappingContext +import org.nd4j.samediff.frameworkimport.tensorflow.definitions.registry +import org.nd4j.samediff.frameworkimport.tensorflow.importer.TensorflowFrameworkImporter +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRGraph +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRGraphRunner +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRNode +import org.nd4j.shade.protobuf.ByteString +import org.nd4j.shade.protobuf.TextFormat +import org.nd4j.tensorflow.conversion.graphrunner.GraphRunner +import org.tensorflow.framework.* +import java.io.File +import java.lang.IllegalStateException +import java.nio.charset.Charset +import kotlin.math.max + +data class GraphInput(val graphDef: GraphDef,val inputNames: List,val outputNames: List, + val inputArrays: Map,val dynamicArrays: Map) + +class TestTensorflowIR { + + val tensorflowOps = { + val input = OpList.newBuilder() + OpDescriptorLoaderHolder.listForFramework("tensorflow").values.forEach { + input.addOp(it) + } + + input.build() + }.invoke() + + + + @Test + @Ignore + fun manualTest() { + val manualGraph = FileUtils.readFileToString(File("test.pbtxt"),Charset.defaultCharset()) + val parsedGraph = GraphDef.newBuilder() + TextFormat.merge(manualGraph,parsedGraph) + val textGraph = parsedGraph.build() + println(textGraph) + val tfImporter = TensorflowFrameworkImporter() + //with names [image] and shapes {image=[4, 2, 28, 28, 3]} + Nd4j.getEnvironment().isDebug = true + Nd4j.getEnvironment().isVerbose = true + //TFGraphMapper.importGraph(textGraph) + // val inputMap = mapOf("input_1" to Nd4j.zeros(10).castTo(org.nd4j.linalg.api.buffer.DataType.INT32),"input_2" to Nd4j.zeros(1,8).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE)) + //val inputMap = mapOf("image" to Nd4j.ones(1,128,128,4)) + val inputMap = emptyMap() + val tensorflowIRGraph = TensorflowIRGraph(textGraph,tensorflowOps,tfImporter.registry) + val outputList = tensorflowIRGraph.nodeList().map { input -> input.nodeName() }.toSet() + val tfGraphRunner = TensorflowIRGraphRunner(tensorflowIRGraph, inputMap.keys.toList(), outputList.toList()) + val importedGraph = TFGraphMapper.importGraph(textGraph) + val graph = tfImporter.importFromGraph(textGraph,inputMap) + val tfOutput = tfGraphRunner.run(inputMap) + val output = graph.outputAll(inputMap) + val output2 = importedGraph.outputAll(inputMap) + + //assertEquals(tfOutput.keys,outputList) + //assertEquals(tfOutput.keys,output2.keys) + val names = tensorflowIRGraph.nodeList().map { input -> input.nodeName() } + val skipValidation = setOf("parallel_stack/ExpandDims/dim") + //assertEquals(output.keys,output2.keys) + val notEquals = HashSet() + names.forEach { + val value = output[it] + val value2 = output2[it] + if(value!! != (value2!!)) { + val oldOps = importedGraph.ops[it] + val newOps = graph.ops[it] + val oldVar = importedGraph.variables[it] + val newVar = graph.variables[it] + notEquals.add(it) + } + } + + println(notEquals) + + // assertEquals(output,output2) + //assertEquals(tfOutput,output) + } + + @Test + @Ignore + fun manualTest2() { + val manualGraph = FileUtils.readFileToString(File("test.pbtxt"),Charset.defaultCharset()) + val parsedGraph = GraphDef.newBuilder() + TextFormat.merge(manualGraph,parsedGraph) + val textGraph = parsedGraph.build() + println(textGraph) + val tfImporter = TensorflowFrameworkImporter() + //with names [image] and shapes {image=[4, 2, 28, 28, 3]} + val inputs = Nd4j.linspace(1,18816,18816).reshape(4, 2, 28, 28, 3) + val importedGraph = TFGraphMapper.importGraph(textGraph) + val output = importedGraph.outputAll(emptyMap()) + println(output.entries.map { (k,v) -> "$k,${v.shapeInfoToString()}" }) + + } + + @Test + @Ignore + fun manualTest3() { + val manualGraph = FileUtils.readFileToString(File("test.pbtxt"),Charset.defaultCharset()) + val parsedGraph = GraphDef.newBuilder() + TextFormat.merge(manualGraph,parsedGraph) + val textGraph = parsedGraph.build() + val tfImporter = TensorflowFrameworkImporter() + val tensorflowIRGraph = TensorflowIRGraph(textGraph,tensorflowOps,tfImporter.registry) + println(textGraph) + val tfGraphRunner = TensorflowIRGraphRunner(tensorflowIRGraph, emptyList(), listOf("conv2d/Conv2D","conv2d/BiasAdd")) + val output = tfGraphRunner.run(emptyMap()) + println(output.entries.map { (k,v) -> "$k,${v.shapeInfoToString()}" }) + } + + @Test + fun compareResults() { + /* println("Variables added $variablesAdded") + FileUtils.writeLines(File("variables-added-new.txt"),variablesAdded) + println("Ops imported $opsImported") + FileUtils.writeLines(File("ops-imported-new.txt"),opsImported) + println("Ops added$opsAdded") + FileUtils.writeLines(File("ops-added-new.txt"),opsAdded) + println("Ops removed $opsRemoved") + FileUtils.writeLines(File("ops-removed-new.txt"),opsRemoved) + */ + val variablesAddedOld = FileUtils.readLines(File("variables-added-old.txt"), Charset.defaultCharset()) + val variablesAddedNew = FileUtils.readLines(File("variables-added-new.txt"), Charset.defaultCharset()) + /* for(i in 0 until variablesAddedNew.size) { + assertEquals("Index $i failed",variablesAddedOld[i],variablesAddedNew[i]) + }*/ + assertEquals(variablesAddedOld,variablesAddedNew) + val opsImportedOld = FileUtils.readLines(File("ops-imported-old.txt"), Charset.defaultCharset()) + val opsImportedNew = FileUtils.readLines(File("ops-imported-new.txt"), Charset.defaultCharset()) + assertEquals(opsImportedOld,opsImportedNew) + val opsAddedOld = FileUtils.readLines(File("ops-added-old.txt"), Charset.defaultCharset()) + val opsAddedNew = FileUtils.readLines(File("ops-added-new.txt"), Charset.defaultCharset()) + assertEquals(opsAddedOld,opsAddedNew) + val opsRemovedOld = FileUtils.readLines(File("ops-removed-old.txt"), Charset.defaultCharset()) + val opsRemovedNew = FileUtils.readLines(File("ops-removed-new.txt"), Charset.defaultCharset()) + assertEquals(opsRemovedOld,opsRemovedNew) + + println() + } + + + @Test + fun loadModelTest() { + val tensorflowOpRegistry = registry() + val importGraph = ImportGraph() + val inputs = listOf("input_0", "input_1") + val content = IOUtils.toByteArray(ClassPathResource("lenet_frozen.pb").inputStream) + val graphDef = GraphDef.parseFrom(content) + val irGraph = TensorflowIRGraph(graphDef, tensorflowOps,tensorflowOpRegistry) + val importedModel = importGraph.importGraph(irGraph = irGraph,importOverride = null,opFilter = null,opMappingRegistry = OpRegistryHolder.tensorflow()) + println(importedModel) + } + + + @Test + fun testRegistry() { + val tensorflowOpRegistry = registry() + val mappingProcess = tensorflowOpRegistry.lookupOpMappingProcess("Conv2D") + println(mappingProcess) + } + + + + @Test + @Ignore + fun testTensorflowMappingContext() { + val tensorflowOpRegistry = registry() + + val absOpDef = tensorflowOpRegistry.lookupOpMappingProcess("Abs") + val opDef = tensorflowOps.findOp("Abs") + val absNodeDef = NodeDef { + name = "input" + Input("input1") + op = "Abs" + } + + val graph = GraphDef { + Node(absNodeDef) + } + + val tfIRGraph = TensorflowIRGraph(graphDef = graph,opDef = tensorflowOps,tensorflowOpMappingRegistry = tensorflowOpRegistry) + + val tfMappingCtx = TensorflowMappingContext( + opDef =opDef, + node = absNodeDef, + graph = tfIRGraph,dynamicVariables = HashMap()) + + assertEquals(opDef,tfMappingCtx.opDef) + + } + + + + @Test + @Ignore + fun testOpsMapped() { + val tensorflowOpRegistry = registry() + val tensorflowOpNames = tensorflowOpRegistry.inputFrameworkOpNames().filter { tensorflowOpRegistry.registeredOps.containsKey(it) } + val nd4jOpNames = tensorflowOpRegistry.nd4jOpNames() + + tensorflowOpNames.map {tensorflowOpName -> tensorflowOpRegistry.lookupOpMappingProcess(tensorflowOpName)} + .forEach { + val tensorflowNamesMapped = HashSet() + val nd4jNamesMapped = HashSet() + //we can ignore dtype for now + nd4jNamesMapped.add("dtype") + val opDef = tensorflowOpRegistry.lookupNd4jOpDef(it.opName()) + val tensorflowOpDef = tensorflowOpRegistry.lookupInputFrameworkOpDef(it.inputFrameworkOpName()) + val tensorflowAssertionNames = HashSet() + tensorflowAssertionNames.addAll(tensorflowOpDef.inputArgList.map { arg -> arg.name }) + tensorflowAssertionNames.addAll(tensorflowOpDef.attrList.map { attr -> attr.name }) + val nd4jOpDefAssertions = HashSet() + nd4jOpDefAssertions.addAll(opDef.argDescriptorList.map { argDescriptor -> argDescriptor.name }) + val numRequiredInputsTf = tensorflowOpDef.inputArgCount + val nd4jInputs = opDef.argDescriptorList.filter { arg -> arg.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR }.count() + /** + * TODO: Grab total collection of mapped nd4j names + * as outputs and mapped tensorflow names as inputs. + * Compare the mapped names to the op definitions + * in nd4j and tensorflow respectively. + */ + it.tensorMappingRules().forEach { mappingRule -> + mappingRule.mappingNamesToPerform().forEach { mappingName -> + tensorflowNamesMapped.add(mappingName.value) + nd4jNamesMapped.add(mappingName.key) + } + } + + it.attributeMappingRules().forEach { mappingRule -> + mappingRule.mappingNamesToPerform().forEach { mappingName -> + tensorflowNamesMapped.add(mappingName.value) + nd4jNamesMapped.add(mappingName.key) + } + + mappingRule.mappingTransformerArgs().forEach {transformerArg -> + run { + transformerArg.value.forEach { argValue -> + nd4jNamesMapped.add(argValue.name) + + } + } + } + + } + + + tensorflowOpDef.inputArgList.map {input -> input.name}.forEach { inputName -> + assertTrue(tensorflowAssertionNames.contains(inputName)) + } + + tensorflowOpDef.attrList.filter { attrDef -> attrDef.type != "type" }.map {attrDef -> attrDef.name }.forEach { attrName -> + assertTrue(tensorflowAssertionNames.contains(attrName)) + } + + + + opDef.argDescriptorList.forEach { argDef -> + //only require it when the + + when(argDef.argType) { + OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR -> { + /** + * Nd4j typically has many optional inputs that can also double as attributes + * We need to allow for a bit of flexibility in how we handle op definitions. If they're not mapped 1 to 1, + * we just log a warning for unmapped inputs. Otherwise we can do an assertion. + */ + if(numRequiredInputsTf == nd4jInputs) + assertTrue("Nd4j op name ${opDef.name} with tensorflow mapping ${tensorflowOpDef.name} has missing mapping ${argDef.name}",nd4jNamesMapped.contains(argDef.name)) + else if(!nd4jNamesMapped.contains(argDef.name)) { + println("Warning: Nd4j op name ${opDef.name} with tensorflow mapping ${tensorflowOpDef.name} has missing mapping ${argDef.name}") + } + } + OpNamespace.ArgDescriptor.ArgType.INT32,OpNamespace.ArgDescriptor.ArgType.INT64 -> { + assertTrue("Nd4j op name ${opDef.name} with tensorflow mapping ${tensorflowOpDef.name} has missing mapping ${argDef.name}",nd4jNamesMapped.contains(argDef.name)) + } + OpNamespace.ArgDescriptor.ArgType.DOUBLE, OpNamespace.ArgDescriptor.ArgType.FLOAT -> { + assertTrue("Nd4j op name ${opDef.name} with tensorflow mapping ${tensorflowOpDef.name} has missing mapping ${argDef.name}",nd4jNamesMapped.contains(argDef.name)) + } + OpNamespace.ArgDescriptor.ArgType.BOOL -> { + assertTrue("Nd4j op name ${opDef.name} with tensorflow mapping ${tensorflowOpDef.name} has missing mapping ${argDef.name}",nd4jNamesMapped.contains(argDef.name)) + } + } + + } + + } + } + + @Test + fun testInputOutputNames() { + val tensorflowOpRegistry = registry() + val tensorflowOpNames = tensorflowOpRegistry.inputFrameworkOpNames() + val nd4jOpNames = tensorflowOpRegistry.nd4jOpNames() + tensorflowOpRegistry.mappingProcessNames().map { + tensorflowOpRegistry.lookupOpMappingProcess(it) + }.forEach { + println("Beginning processing of op ${it.inputFrameworkOpName()} and nd4j op ${it.opName()}") + assertTrue(tensorflowOpNames.contains(it.inputFrameworkOpName())) + assertTrue(nd4jOpNames.contains(it.opName())) + val nd4jOpDef = tensorflowOpRegistry.lookupNd4jOpDef(it.opName()) + val tensorflowOpDef = tensorflowOpRegistry.lookupInputFrameworkOpDef(it.inputFrameworkOpName()) + val inputNameArgDefs = nd4jOpDef.argDescriptorList.filter { + argDef -> argDef.argType == OpNamespace.ArgDescriptor.ArgType.INPUT_TENSOR + }.map { argDef -> argDef.name } + + val inputFrameworkOpDefNames = tensorflowOpDef.inputArgList.map { tfOpDef -> tfOpDef.name} + + val nd4jArgDefNames = nd4jOpDef.argDescriptorList.map { nd4jArgDef -> nd4jArgDef.name } + val tfAttrNames = tensorflowOpDef.attrList.map { tfAttr -> tfAttr.name } + it.tensorMappingRules().forEach { tensorRules -> + println("Running tensor mapping rule ${tensorRules.name()} for op ${it.inputFrameworkOpName()} and nd4j op name ${it.opName()}") + run { + tensorRules.mappingNamesToPerform().forEach { tensorRule -> + run { + println("Testing assertion for nd4j name ${tensorRule.key} and input name ${tensorRule.value}") + assertTrue(inputNameArgDefs.contains(tensorRule.key)) ?: error("Failed on inputArgName ${tensorRule.key}") + assertTrue(inputFrameworkOpDefNames.contains(tensorRule.value)) ?: error("Failed on inputArgName ${tensorRule.value}") + } + + } + } + + } + + println("Running attribute mapping rules for ${it.opName()} and input op name ${it.inputFrameworkOpName()}") + it.attributeMappingRules().forEach { attrRule -> + run { + attrRule.mappingNamesToPerform().forEach { attrMapping -> + run { + println("Testing nd4j name ${attrMapping.key} and input framework name ${attrMapping.value}") + assertTrue(nd4jArgDefNames.contains(attrMapping.key) || inputNameArgDefs.contains(attrMapping.key)) + assertTrue(tfAttrNames.contains(attrMapping.value) || inputFrameworkOpDefNames.contains(attrMapping.value)) + } + + } + } + } + + } + } + + + @Test + fun testOpExecution() { + Nd4j.getRandom().setSeed(12345) + Nd4j.getEnvironment().isDebug = true + Nd4j.getEnvironment().isVerbose = true + Nd4j.getEnvironment().isProfiling = true + val scalarInputs = mapOf( + "abs" to -1.0, + "acos" to 1.0, + "acosh" to 1.0, + "asin" to 1.0, + "asinh" to 1.0, + "atan" to 1.0, + "atanh" to 0.5, + "ceil" to 1.0, + "copy" to 1.0, + "cos" to 1.0, + "cosh" to 1.0, + "erf" to 1.0, + "elu" to 1.0, + "erfc" to 1.0, + "exp" to 1.0, + "expm1" to 1.0, + "floor" to 1.0, + "identity" to 1.0, + "isfinite" to 1.0, + "isinf" to 1.0, + "isnan" to 1.0, + //"identity_n" to 1.0, + "log" to 1.0, + "log1p" to 1.0, + "neg" to 1.0, + "ones_as" to 1.0, + "Reciprocal" to 1.0, + "rank" to 1.0, + "relu6" to 1.0, + "rint" to 1.0, + "round" to 1.0, + "rsqrt" to 1.0, + "sigmoid" to 1.0, + "sign" to 1.0, + "size" to 1.0, + "sin" to 1.0, + "sinh" to 1.0, + "square" to 1.0, + "sqrt" to 1.0, + "tan" to 1.0, + "tanh" to 1.0, + "selu" to 1.0, + "softsign" to 1.0, + "softplus" to 1.0, + "zeroslike" to 1.0) + + val singleInputOps = scalarInputs.keys + + val pairWiseInputs = mapOf( + "add" to listOf(1.0,1.0), + "divide" to listOf(1.0,1.0), + "greater" to listOf(1.0,1.0), + "less" to listOf(1.0,1.0), + "less_equal" to listOf(1.0,1.0), + "multiply" to listOf(1.0,1.0), + "floordiv" to listOf(1.0,1.0), + "mod" to listOf(1.0,1.0), + "squaredsubtract" to listOf(1.0,1.0), + "not_equals" to listOf(1.0,1.0), + "realdiv" to listOf(1.0,1.0), + "tf_atan2" to listOf(1.0,1.0), + "maximum" to listOf(0.0,1.0), + "min_pairwise" to listOf(1.0,1.0), + "greater_equal" to listOf(1.0,1.0), + "equals" to listOf(1.0,1.0), + "min_pairwise" to listOf(1.0,1.0), + "divide_no_nan" to listOf(1.0,1.0), + "zeta" to listOf(2.0,3.0) + + + ) + + + + + + /** + * Control flow ops + */ + + /** + * Random distribution ops + */ + + + /** + * Creation ops + * Empty + * CopyHost + * Linspace + * OnesLike + */ + + /** + * Scatter ops: + * scatter_div + * scatter_add + * scatter_sub + * scatter_min + * scatter_mul + * scatter_update + * scatter_nd + * scatter_nd_add + * scatter_nd_sub + * scatter_nd_update + */ + + + + + val pairWiseIntOps = mapOf( + "fmod" to listOf(1,1), + "rshift_bits" to listOf(1,1), + "truncatediv" to listOf(1,1), + "bitwise_and" to listOf(1,1), + "bitwise_or" to listOf(1,1), + "bitwise_xor" to listOf(1,1), + "shift_bits" to listOf(1,1) + ) + + val pairWiseNames = pairWiseInputs.keys + + + val booleanReduceOps = mapOf( + "all" to Nd4j.create(listOf(true,false,true,false).toBooleanArray()).reshape(2,2), + "any" to Nd4j.create(listOf(true,false,true,false).toBooleanArray()).reshape(2,2) + ) + + val singularReduceOps = mapOf( + "reduce_mean" to Nd4j.linspace(1,4,4).reshape(2,2), + "reduce_prod" to Nd4j.linspace(1,4,4).reshape(2,2), + "reduce_min" to Nd4j.linspace(1,4,4).reshape(2,2), + "reduce_sum" to Nd4j.linspace(1,4,4).reshape(2,2), + "reduce_max" to Nd4j.linspace(1,4,4).reshape(2,2) + ) + + + + + val mappedOps = setOf( + "Assert", + "gather_nd", + "lstmBlock", + "lstmBlockCell", + "cast", + "gruCell", + "igamma", + "igammac", + "lgamma", + "mergeadd", + "reduce_logsumexp", + "check_numerics", + "adjust_hue", + "adjust_saturation", + "adjust_contrast_v2", + "reverse_sequence", + "depthwise_conv2d", + "resize_nearest_neighbor", + "scatter_nd", + "resize_area", + "rgb_to_hsv", + "resize_bicubic", + "resize_bilinear", + "listdiff", + "mirror_pad", + "histogram_fixed_width", + "extract_image_patches", + "ClipByValue", + "crop_and_resize", + "broadcast_dynamic_shape", + "broadcastgradientargs", + "lrn", + "batch_to_space_nd", + "space_to_batch_nd", + "draw_bounding_boxes", + "fused_batch_norm", + "conv3dnew", + "avgpool3dnew", + "maxpool3dnew", + "create", + "slice", + "strided_slice", + "select", + "compare_and_bitpack", + "bincount", + "broadcast_to", + "biasadd", + "condition", + "avgpool2d", + "maxpool2d", + "conv2d", + "dilation2d", + "batch_to_space", + "space_to_batch", + "dynamic_partition", + "dynamic_stitch", + "softmax", + "mergesum", + "matrix_set_diag", + "matrix_diag_part", + "identity_n", + "split", + "split_v", + "shapes_of", + "squeeze", + "bitcast", + "merge_sum", + "tile", + "matmul", + "range", + "lin_space", + "gather", + "betainc", + "concat", + "stack", + "unstack", + "merge", + "leakyrelu", + "shape_of", + "roll", + "reverse", + "relu", + "relu6", + "argmin", + "argmax", + "cross", + "cumsum", + "cumprod", + "diag", + "diag_part", + "digamma", + "depth_to_space", + "expand_dims", + "toggle_bits", + "invert_permutation", + //"enter", TODO: deal with frames or maybe ignore? + //"exit", + "in_top_k", + "top_k", + "lu", + "matrix_inverse", + "matrix_determinant", + "solve", + "triangular_solve", + "log_matrix_determinant", + "cholesky", + "reshape", + "noop", + "nth_element", + "non_max_suppression_overlaps", + "non_max_suppression", + "non_max_suppression_v3", + "onehot", + "pad", + "pow", + "transpose", + "space_to_depth", + "Where", + "unsorted_segment_max", + "unsorted_segment_min", + "unsorted_segment_prod", + "unsorted_segment_sum", + "unique_with_counts", + "unique", + "boolean_and", + "boolean_not", + "boolean_or", + "segment_mean", + "segment_min", + "segment_max", + "segment_prod", + "segment_sum" + + //"scatter_add", Skipping due to different op validation + //"scatter_sub", Skipping due to different op validation + //"scatter_update", Skipping due to different op validation + //"scatter_nd" Skipping due to different op validation + ) + + + + + //Skipping due to using references rather than tensors + //"scatter_nd_add", + //"scatter_nd_sub", + // "scatter_nd_update" + // //"scatter_min", + // //"scatter_mul",) + + val singularReduceNames = singularReduceOps.keys + val testedOps = HashSet() + //skip testing control flow + val controlFlowOps = setOf("Switch","While","placeholder","next_iteration","enter","exit","loop_cond") + val resourceOps = setOf("stack_list","size_list","scatter_list","read_list","split_list","gather_list") + val refOps = setOf("assign","scatter_add","scatter_sub","scatter_update") + val randomOps = setOf("random_gamma","random_crop","random_normal","random_poisson","random_shuffle","randomuniform") + testedOps.addAll(randomOps) + testedOps.addAll(controlFlowOps) + testedOps.addAll(resourceOps) + testedOps.addAll(refOps) + val importGraph = ImportGraph() + val tensorflowOpRegistry = registry() + tensorflowOpRegistry.mappingProcessNames().map { name -> + tensorflowOpRegistry.lookupOpMappingProcess(name) + }.forEach { mappingProcess -> + val nd4jOpDef = tensorflowOpRegistry.lookupNd4jOpDef(mappingProcess.opName()) + val tensorflowOpDef = tensorflowOpRegistry.lookupInputFrameworkOpDef(mappingProcess.inputFrameworkOpName()) + + if(singleInputOps.contains(nd4jOpDef.name) && tensorflowOpDef.name != "Variable" && tensorflowOpDef.name != "VariableV2" && tensorflowOpDef.name != "Const") { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("x") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + } + val tensorflowGraph = TensorflowIRGraph(graphDef, tensorflowOps,tensorflowOpRegistry) + val mappedGraph = importGraph.importGraph(tensorflowGraph,null,null,HashMap(),OpRegistryHolder.tensorflow()).enableDebugMode()!! + Nd4j.getExecutioner().setProfilingConfig(ProfilerConfig.builder() + .stackTrace(true).build()) + val xVal = Nd4j.scalar(scalarInputs[mappingProcess.opName()]).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + val tensorflowRunner = TensorflowIRGraphRunner(irGraph = tensorflowGraph,inputNames = listOf("x"),outputNames = listOf("output")) + val inputs = mapOf("x" to xVal) + if(!mappedGraph.hasVariable("output")) + throw IllegalStateException("No output variable found. Variables include ${mappedGraph.variables}") + val tfResults = tensorflowRunner.run(inputs) + val results = mappedGraph.output(inputs,"output") + val tfOutput = tfResults["output"]!! + assertTrue(tfOutput.isScalar) + val nd4jOutput = results["output"]!! + assertTrue(nd4jOutput.isScalar) + assertEquals("Function ${nd4jOpDef.name} failed with input $xVal",nd4jOutput.getDouble(0), tfOutput.getDouble(0),1e-3) + testedOps.add(nd4jOpDef.name) + } + else if(singularReduceNames.contains(nd4jOpDef.name)) { + listOf(listOf(0),listOf(-1),listOf(0,1)).forEach { dimensions -> + listOf(true,false).forEach { keepDim -> + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val opNode = NodeDef { + Input("x") + Input("dimensions") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tidx",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("keep_dims",AttrValue { + b = keepDim + }) + } + + val tensorNode2 = NodeDef { + op = "Const" + name = "dimensions" + Attribute("value",AttrValue { + tensor = TensorProto { + Int32Data(dimensions) + dtype = DataType.DT_INT32 + tensorShape = TensorShapeProto { + Dims(listOf(1,dimensions.size.toLong())) + } + } + }) + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(tensorNode) + Node(tensorNode2) + Node(opNode) + } + + val mappingProcess = tensorflowOpRegistry.lookupOpMappingProcess(tensorflowOpDef.name) + val tensorflowGraph = TensorflowIRGraph(graphDef, tensorflowOps,tensorflowOpRegistry) + val mappedGraph = importGraph.importGraph(tensorflowGraph,null,null,HashMap(),tensorflowOpRegistry)!! + val xVal = singularReduceOps[mappingProcess.opName()]!!.castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + val tensorflowRunner = TensorflowIRGraphRunner(irGraph = tensorflowGraph,inputNames = listOf("x"),outputNames = listOf("output")) + val inputs = mapOf("x" to xVal) + val results = mappedGraph.output(inputs,"output") + val tfResults = tensorflowRunner.run(inputs) + //2 dimensions means sum the whole array, sometimes there are subtle differences in the shape like 1,1 vs a zero length array which is effectively the same thing + if(dimensions.size < 2) + assertEquals("Function ${nd4jOpDef.name} failed with input $xVal and dimension ${dimensions}",tfResults["output"]!!, results["output"]!!) + else + assertEquals("Function ${nd4jOpDef.name} failed with input $xVal and dimension ${dimensions}",tfResults["output"]!!.reshape(1,1), results["output"]!!.reshape(1,1)) + + } + + } + + testedOps.add(nd4jOpDef.name) + + } else if(booleanReduceOps.keys.contains(nd4jOpDef.name)) { + listOf(listOf(0),listOf(-1),listOf(0,1)).forEach { dimensions -> + listOf(true,false).forEach { keepDim -> + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_BOOL + }) + } + + val opNode = NodeDef { + Input("x") + Input("dimensions") + op = tensorflowOpDef.name + name = "output" + + Attribute("Tidx",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("keep_dims",AttrValue { + b = keepDim + }) + } + + val tensorNode2 = NodeDef { + op = "Const" + name = "dimensions" + Attribute("value",AttrValue { + tensor = TensorProto { + Int32Data(dimensions) + dtype = DataType.DT_INT32 + tensorShape = TensorShapeProto { + Dims(listOf(1,dimensions.size.toLong())) + } + } + }) + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(tensorNode) + Node(tensorNode2) + Node(opNode) + } + + val mappingProcess = tensorflowOpRegistry.lookupOpMappingProcess(tensorflowOpDef.name) + val tensorflowGraph = TensorflowIRGraph(graphDef, tensorflowOps,tensorflowOpRegistry) + val mappedGraph = importGraph.importGraph(tensorflowGraph,null,null,HashMap(),OpRegistryHolder.tensorflow())!! + val xVal = booleanReduceOps[mappingProcess.opName()]!! + val tensorflowRunner = TensorflowIRGraphRunner(irGraph = tensorflowGraph,inputNames = listOf("x"),outputNames = listOf("output")) + val inputs = mapOf("x" to xVal) + val results = mappedGraph.output(inputs,"output") + val tfResults = tensorflowRunner.run(inputs) + //2 dimensions means sum the whole array, sometimes there are subtle differences in the shape like 1,1 vs a zero length array which is effectively the same thing + if(dimensions.size < 2) + assertEquals("Function ${nd4jOpDef.name} failed with input $xVal and dimension ${dimensions}",tfResults["output"]!!, results["output"]!!) + else + assertEquals("Function ${nd4jOpDef.name} failed with input $xVal and dimension ${dimensions}",tfResults["output"]!!.reshape(1,1), results["output"]!!.reshape(1,1)) + + } + + } + + testedOps.add(nd4jOpDef.name) + + } else if(pairWiseNames.contains(nd4jOpDef.name)) { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val tensorNode2 = NodeDef { + op = "Placeholder" + name = "y" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val opNode = NodeDef { + Input("x") + Input("y") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + Node(tensorNode2) + } + + val mappingProcess = tensorflowOpRegistry.lookupOpMappingProcess(tensorflowOpDef.name) + val tensorflowGraph = TensorflowIRGraph(graphDef, tensorflowOps,tensorflowOpRegistry) + val mappedGraph = importGraph.importGraph(tensorflowGraph,null,null,dynamicVariables = hashMapOf("y" to TensorProto { + dtype = DataType.DT_DOUBLE + DoubleData(listOf(1.0)) + Shape(listOf(1,1)) + }),OpRegistryHolder.tensorflow())!! + + val xVal = Nd4j.scalar(pairWiseInputs[mappingProcess.opName()]!![0]) + .reshape(1,1) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + val yVal = Nd4j.scalar(pairWiseInputs[mappingProcess.opName()]!![1]) + .reshape(1,1) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val tensorflowRunner = TensorflowIRGraphRunner(irGraph = tensorflowGraph,inputNames = listOf("x","y"),outputNames = listOf("output")) + val inputs = mapOf("x" to xVal,"y" to yVal) + val results = mappedGraph.output(inputs,"output") + val tfResults = tensorflowRunner.run(inputs) + assertEquals("Function ${nd4jOpDef.name} failed with input $xVal",tfResults["output"]!!.reshape(1,1), results["output"]!!.reshape(1,1)) + testedOps.add(nd4jOpDef.name) + + } else if(pairWiseIntOps.contains(nd4jOpDef.name)) { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val tensorNode2 = NodeDef { + op = "Placeholder" + name = "y" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val opNode = NodeDef { + Input("x") + Input("y") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + } + + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + Node(tensorNode2) + } + + val tensorflowGraph = TensorflowIRGraph(graphDef, tensorflowOps,tensorflowOpRegistry) + val mappedGraph = importGraph.importGraph(tensorflowGraph,null,null,HashMap(),OpRegistryHolder.tensorflow())!! + val xVal = Nd4j.scalar(pairWiseIntOps[mappingProcess.opName()]!![0]) + .reshape(1,1) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val yVal = Nd4j.scalar(pairWiseIntOps[mappingProcess.opName()]!![1]) + .reshape(1,1) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val tensorflowRunner = TensorflowIRGraphRunner(irGraph = tensorflowGraph,inputNames = listOf("x","y"),outputNames = listOf("output")) + val inputs = mapOf("x" to xVal,"y" to yVal) + val results = mappedGraph.output(inputs,"output") + val tfResults = tensorflowRunner.run(inputs) + assertEquals("Function ${nd4jOpDef.name} failed with input $xVal",tfResults["output"]!!.reshape(1,1), results["output"]!!.reshape(1,1)) + testedOps.add(nd4jOpDef.name) + + } else if(mappedOps.contains(mappingProcess.opName())) { + val graphInputList = graphForOp(nd4jOpName = mappingProcess.opName(),inputFrameworkOpName = mappingProcess.inputFrameworkOpName()) + graphInputList.forEach { graphInput -> + val tensorflowGraph = TensorflowIRGraph(graphInput.graphDef, tensorflowOps,tensorflowOpRegistry) + val dynamicOpsMap = HashMap() + graphInput.inputArrays.forEach { k, v -> + dynamicOpsMap[k] = convertNDArrayToTensorflowTensor(v) + } + + //NOTE: The output name here is different than the output names from samediff because we want every array from tensorflow for assertion purposes. + //The outputs from samediff might be slightly different (eg: not have every output tensorflow does or more) + + //tf2 ops don't currently work in nd4j-tensorflow and can't be verified + val tf2Ops = setOf("CheckNumericsV2","FusedBatchNormV3") + //these ops reflect ops that should generally be tested other ways and are usually tested down below + val bannedOps = setOf("noop","unique","unique_with_counts","matrix_determinant","log_matrix_determinant","Assert","split_v","identity_n","dynamic_partition","dynamic_stitch","draw_bounding_boxes","fused_batch_norm") + if(!bannedOps.contains(mappingProcess.opName()) && !tf2Ops.contains(mappingProcess.inputFrameworkOpName())) { + val tensorflowRunner = TensorflowIRGraphRunner(irGraph = tensorflowGraph,inputNames = graphInput.inputNames,outputNames = graphInput.outputNames) + + + val mappedGraph = importGraph.importGraph(tensorflowGraph,null,null,dynamicOpsMap,OpRegistryHolder.tensorflow()) + assertEquals("Input name mismatch with input array elements",graphInput.inputArrays.keys,graphInput.inputNames.toSet()) + + val tfResults = tensorflowRunner.run(graphInput.inputArrays) + val results = mappedGraph!!.output(graphInput.inputArrays,graphInput.outputNames) + if(mappingProcess.opName() == "bincount") { + val inputVal = Nd4j.create(doubleArrayOf(1.0, 2.0, 0.0, 1.0, 2.0, 2.0, 1.0, 2.0)) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val sizeVal = Nd4j.create(doubleArrayOf(3.0)) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val weightVal = Nd4j.create(doubleArrayOf(1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0)) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + println(Nd4j.getExecutioner().exec(DynamicCustomOp.builder("bincount").addInputs(inputVal,weightVal).addIntegerArguments(0,3).build())[0]) + println() + } + assertEquals("Function ${nd4jOpDef.name} failed with input ${graphInput.inputNames} " + + "with tfValue of shape ${tfResults.values.first().shapeInfoToString()} and nd4j ${results.values.first().shapeInfoToString()} and ${graphInput}" + ,tfResults.values.first(), results.values.first()) + } else if(mappingProcess.opName() == "unique_with_counts" || mappingProcess.opName() == "unique") { + //note: this is a separate case since the results are equal, minus dimensions + val tensorflowRunner = TensorflowIRGraphRunner(irGraph = tensorflowGraph,inputNames = graphInput.inputNames,outputNames = graphInput.outputNames) + + + val mappedGraph = importGraph.importGraph(tensorflowGraph,null,null,dynamicOpsMap,OpRegistryHolder.tensorflow()) + assertEquals("Input name mismatch with input array elements",graphInput.inputArrays.keys,graphInput.inputNames.toSet()) + + val tfResults = tensorflowRunner.run(graphInput.inputArrays) + val results = mappedGraph!!.output(graphInput.inputArrays,graphInput.outputNames) + assertEquals("Function ${nd4jOpDef.name} failed with input ${graphInput.inputNames}",tfResults.values.first().ravel(), results.values.first().ravel()) + }//slight difference in scalar result, doesn't matter in practice + else if(mappingProcess.opName() == "matrix_determinant" || mappingProcess.opName() == "log_matrix_determinant") { + //note: this is a separate case since the results are equal, minus dimensions + val tensorflowRunner = TensorflowIRGraphRunner(irGraph = tensorflowGraph,inputNames = graphInput.inputNames,outputNames = graphInput.outputNames) + + + val mappedGraph = importGraph.importGraph(tensorflowGraph,null,null,dynamicOpsMap,OpRegistryHolder.tensorflow()) + assertEquals("Input name mismatch with input array elements",graphInput.inputArrays.keys,graphInput.inputNames.toSet()) + + if(mappingProcess.opName() == "matrix_determinant") { + val tfResults = tensorflowRunner.run(graphInput.inputArrays) + val results = mappedGraph!!.output(graphInput.inputArrays,graphInput.outputNames) + assertEquals("Function ${nd4jOpDef.name} failed with input ${graphInput.inputNames}",tfResults["output"]!!.ravel().getDouble(0), results["output"]!!.ravel().getDouble(0),1e-3) + + } + } + else if(mappingProcess.opName() == "split_v" || mappingProcess.opName() == "identity_n" || mappingProcess.opName() == "dynamic_partition"|| mappingProcess.opName() == "dynamic_stitch") { + val tensorflowRunner = TensorflowIRGraphRunner(irGraph = tensorflowGraph,inputNames = graphInput.inputNames,outputNames = graphInput.outputNames) + + + val mappedGraph = importGraph.importGraph(tensorflowGraph,null,null,dynamicOpsMap,OpRegistryHolder.tensorflow()) + assertEquals("Input name mismatch with input array elements",graphInput.inputArrays.keys,graphInput.inputNames.toSet()) + + val tfResults = tensorflowRunner.run(graphInput.inputArrays) + val results = mappedGraph!!.output(graphInput.inputArrays,graphInput.outputNames) + assertEquals("Function ${nd4jOpDef.name} failed with input ${graphInput.inputNames}",tfResults, results) + + } else if(mappingProcess.opName() == "draw_bounding_boxes") { + val tensorflowRunner = TensorflowIRGraphRunner(irGraph = tensorflowGraph,inputNames = graphInput.inputNames,outputNames = graphInput.outputNames) + val mappedGraph = importGraph.importGraph(tensorflowGraph,null,null,dynamicOpsMap,OpRegistryHolder.tensorflow()) + assertEquals("Input name mismatch with input array elements",graphInput.inputArrays.keys,graphInput.inputNames.toSet()) + val tfResults = tensorflowRunner.run(graphInput.inputArrays) + val results = mappedGraph!!.output(graphInput.inputArrays,graphInput.outputNames) + assertEquals("Function ${nd4jOpDef.name} failed with input ${graphInput.inputNames}",tfResults, results) + + } + else if(mappingProcess.opName() == "fused_batch_norm") { + val tensorflowRunner = TensorflowIRGraphRunner(irGraph = tensorflowGraph,inputNames = graphInput.inputNames,outputNames = graphInput.outputNames) + + + val mappedGraph = importGraph.importGraph(tensorflowGraph,null,null,dynamicOpsMap,OpRegistryHolder.tensorflow()) + assertEquals("Input name mismatch with input array elements",graphInput.inputArrays.keys,graphInput.inputNames.toSet()) + + val tfResults = tensorflowRunner.run(graphInput.inputArrays) + val results = mappedGraph!!.output(graphInput.inputArrays,graphInput.outputNames) + assertEquals("Function ${nd4jOpDef.name} failed with input ${graphInput.inputNames}",tfResults["y"], results["y"]) + + } + + else if(!bannedOps.contains(mappingProcess.opName()) && !tf2Ops.contains(mappingProcess.inputFrameworkOpName())) { + //note that log outputs 2 results and the 2nd one is the one we need. The first result is a sign. + val tensorflowRunner = TensorflowIRGraphRunner(irGraph = tensorflowGraph,inputNames = graphInput.inputNames,outputNames = graphInput.outputNames) + + + val mappedGraph = importGraph.importGraph(tensorflowGraph,null,null,dynamicOpsMap,OpRegistryHolder.tensorflow()) + assertEquals("Input name mismatch with input array elements",graphInput.inputArrays.keys,graphInput.inputNames.toSet()) + + val tfResults = tensorflowRunner.run(graphInput.inputArrays) + val results = mappedGraph!!.output(graphInput.inputArrays,graphInput.outputNames) + assertEquals("Function ${nd4jOpDef.name} failed with input ${graphInput.inputNames}",tfResults["finalResult"]!!.ravel().getDouble(0), results["finalResult"]!!.ravel().getDouble(0),1e-3) + + } + + } + + testedOps.add(nd4jOpDef.name) + + } + } + + val differenceOfSet = tensorflowOpRegistry.mappedNd4jOpNames() - testedOps + println("Ops left to test is ${differenceOfSet.size} and ops are $differenceOfSet with total ops ran ${testedOps.size}") + println("Note we skipped ${controlFlowOps.size} testing control flow ops named $controlFlowOps") + println("Note we skipped ${resourceOps.size} testing resource ops named $resourceOps due to resources being handled differently than normal tensors") + println("Note we skipped ${refOps.size} testing resource ops named $refOps due to references being handled differently than normal tensors") + println("Note we skipped ${randomOps.size} testing resource ops named $randomOps due to random not being consistently testable. This may change in the short term.") + + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/test/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/TestTensorflowRuleDeclarations.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/test/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/TestTensorflowRuleDeclarations.kt new file mode 100644 index 000000000..7f47d2296 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/test/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/TestTensorflowRuleDeclarations.kt @@ -0,0 +1,521 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.samediff.frameworkimport.tensorflow + +import org.junit.jupiter.api.Test +import org.nd4j.ir.TensorNamespace +import org.nd4j.samediff.frameworkimport.ArgDescriptor +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.registry.OpMappingRegistry +import org.nd4j.samediff.frameworkimport.tensorflow.context.TensorflowMappingContext +import org.nd4j.samediff.frameworkimport.tensorflow.ir.TensorflowIRGraph +import org.nd4j.shade.protobuf.ByteString +import org.tensorflow.framework.* +import java.nio.charset.Charset +import kotlin.test.assertEquals +import kotlin.test.assertTrue + +class TestTensorflowRuleDeclarations { + val tensorflowOps = { + val input = OpList.newBuilder() + OpDescriptorLoaderHolder.listForFramework("tensorflow").values.forEach { + input.addOp(it) + } + + input.build() + }.invoke() + + val tensorflowOpRegistry = OpMappingRegistry("tensorflow",OpDescriptorLoaderHolder.nd4jOpDescriptor) + + + @Test + fun testArgConstant() { + val opDef = tensorflowOps.findOp("Dilation2D") + val intItems = listOf(2,1,1,1) + val valueNodeDef = NodeDef { + op = "Dilation2D" + name = "inputs" + Attribute(name = "strides",value = AttrValue { + list = ListValue { + IntItems(intItems) + } + }) + } + + val shape = listOf(1,1).map { it.toLong() } + val valueNodeDef2 = NodeDef { + op = "Constant" + name = "inputs" + Attribute(name = "value",value = AttrValue { + tensor = TensorProto { + Shape(shape) + DoubleData(listOf(1.0)) + } + }) + } + + + + val graphDef = GraphDef { + Node(valueNodeDef) + Node(valueNodeDef2) + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps,tensorflowOpRegistry) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph + ,dynamicVariables = HashMap()) + val convertNumberListToInputNDArrayRule = argDescriptorConstant(listOf(ArgDescriptor { + name = "value" + int32Value = 1 + })) + + val convertNumberListToInputNDArrayResult = convertNumberListToInputNDArrayRule.convertAttributes(mappingContext) + + assertEquals(1,convertNumberListToInputNDArrayResult.size) + assertEquals(1,convertNumberListToInputNDArrayResult[0].int32Value) + } + + + + @Test + fun testConvertNDArrayInputToScalarAttr() { + val opDef = tensorflowOps.findOp("Dilation2D") + val intItems = listOf(2,1,1,1) + val valueNodeDef = NodeDef { + op = "Dilation2D" + name = "inputs" + Attribute(name = "strides",value = AttrValue { + list = ListValue { + IntItems(intItems) + } + }) + } + + val shape = listOf(1,1).map { it.toLong() } + val valueNodeDef2 = NodeDef { + op = "Constant" + name = "inputs" + Attribute(name = "value",value = AttrValue { + tensor = TensorProto { + Shape(shape) + DoubleData(listOf(1.0)) + } + }) + } + + + + val graphDef = GraphDef { + Node(valueNodeDef) + Node(valueNodeDef2) + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps,tensorflowOpRegistry) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph,dynamicVariables = HashMap()) + val convertNumberListToInputNDArrayRule = convertNDArrayInputToNumericalAttr(mutableMapOf("output" to "inputs ")) + val convertNumberListToInputNDArrayResult = convertNumberListToInputNDArrayRule.convertAttributes(mappingContext) + assertEquals(1,convertNumberListToInputNDArrayResult.size) + assertEquals(2,convertNumberListToInputNDArrayResult[0].int64Value) + } + + @Test + fun testListAttributeValueLookupToIndex() { + val opDef = tensorflowOps.findOp("Dilation2D") + val intItems = listOf(2,1,1,1) + val valueNodeDef = NodeDef { + op = "Dilation2D" + name = "inputs" + Attribute(name = "strides",value = AttrValue { + list = ListValue { + IntItems(intItems) + } + }) + } + + + val graphDef = GraphDef { + Node(valueNodeDef) + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps,tensorflowOpRegistry) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph,dynamicVariables = HashMap()) + val convertNumberListToInputNDArrayRule = listAttributeValueLookupToIndex(outputAttributeValue = "output", inputAttributeValue = "strides", idx = 0,argumentIndex = 0) + val convertNumberListToInputNDArrayResult = convertNumberListToInputNDArrayRule.convertAttributes(mappingContext) + assertEquals(1,convertNumberListToInputNDArrayResult.size) + assertEquals(2,convertNumberListToInputNDArrayResult[0].int64Value) + } + + + @Test + fun testConvertNumberListToInputNDArray() { + val opDef = tensorflowOps.findOp("Dilation2D") + val intItems = listOf(1,1,1,1) + val valueNodeDef = NodeDef { + op = "Dilation2D" + name = "inputs" + Attribute(name = "strides",value = AttrValue { + list = ListValue { + IntItems(intItems) + } + }) + } + + + val graphDef = GraphDef { + Node(valueNodeDef) + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps,tensorflowOpRegistry) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph,dynamicVariables = HashMap()) + val convertNumberListToInputNDArrayRule = convertNumberListToInputNDArray(outputAttributeValue = "output",inputAttributeValue = "strides") + val convertNumberListToInputNDArrayResult = convertNumberListToInputNDArrayRule.convertAttributes(mappingContext) + assertEquals(1,convertNumberListToInputNDArrayResult.size) + val inputVal = convertNumberListToInputNDArrayResult[0].inputValue + assertEquals(2,inputVal.dimsCount) + val testList = inputVal.int64DataList + testList.forEach { + assertEquals(1,it) + } + } + + @Test + fun testValueMapping() { + val opDef = tensorflowOps.findOp("CudnnRNN") + val valueNodeDef = NodeDef { + op = "CudnnRNN" + name = "inputs" + Attribute(name = "is_training",value = AttrValue { + b = true + }) + Attribute(name = "seed",value = AttrValue { + i = 1 + }) + Attribute(name = "dropout",value = AttrValue { + f = 1.0f + }) + Attribute(name = "direction",value = AttrValue { + s = ByteString.copyFrom("unidirectional".toByteArray(Charset.defaultCharset())) + }) + } + + + val graphDef = GraphDef { + Node(valueNodeDef) + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps,tensorflowOpRegistry) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph,dynamicVariables = HashMap()) + val booleanToInt = valueMapping(mapOf("output" to "is_training","output2" to "seed","output3" to "dropout","output4" to "direction")) + val booleanToIntResult = booleanToInt.convertAttributes(mappingContext) + assertEquals(4,booleanToIntResult.size) + val boolValue = booleanToIntResult.first { it.name == "output" }.boolValue + val intValue = booleanToIntResult.first {it.name == "output2" }.int64Value + val floatValue = booleanToIntResult.first {it.name == "output3"}.floatValue + val stringVal = booleanToIntResult.first {it.name == "output4" }.stringValue + assertEquals(true,boolValue) + assertEquals(1,intValue) + assertEquals(1.0f,floatValue) + assertEquals("unidirectional",stringVal) + } + + @Test + fun testBooleanToInt() { + val opDef = tensorflowOps.findOp("CudnnRNN") + val valueNodeDef = NodeDef { + op = "CudnnRNN" + name = "inputs" + Attribute(name = "is_training",value = AttrValue { + b = true + }) + } + + + val graphDef = GraphDef { + Node(valueNodeDef) + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps,tensorflowOpRegistry) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph,dynamicVariables = HashMap()) + val booleanToInt = invertBooleanNumber(mapOf("output" to "is_training")) + val booleanToIntResult = booleanToInt.convertAttributes(mappingContext) + assertEquals(1,booleanToIntResult.size) + val boolValue = booleanToIntResult[0].int64Value + assertEquals(1,boolValue) + } + + @Test + fun testAttributeScalarToNDArrayInputRuleDouble() { + val opDef = tensorflowOps.findOp("CudnnRNN") + val valueNodeDef = NodeDef { + op = "CudnnRNN" + name = "inputs" + Attribute(name = "dropout",value = AttrValue { + f = 1.0f + }) + } + + + val graphDef = GraphDef { + Node(valueNodeDef) + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps,tensorflowOpRegistry) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph,dynamicVariables = HashMap()) + val ndarrScalarRule = attributeScalarToNDArrayInput(outputAttribute = "output",inputFrameworkAttributeName = "dropout") + val ndarrScalarRuleResult = ndarrScalarRule.convertAttributes(mappingContext) + assertEquals(1,ndarrScalarRuleResult.size) + assertTrue {ndarrScalarRuleResult[0].hasInputValue()} + val tensorValue = ndarrScalarRuleResult[0].inputValue + assertEquals(2,tensorValue.dimsCount) + assertEquals(TensorNamespace.DataType.FLOAT.ordinal,tensorValue.dataType) + val floatValue = tensorValue.floatDataList[0] + assertEquals(1.0f,floatValue) + } + + @Test + fun testAttributeScalarToNDArrayInputRuleInt() { + val opDef = tensorflowOps.findOp("CountUpTo") + val valueNodeDef = NodeDef { + op = "CountUpTo" + name = "inputs" + Attribute(name = "limit",value = AttrValue { + i = 1 + }) + } + + + val graphDef = GraphDef { + Node(valueNodeDef) + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps,tensorflowOpRegistry) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph,dynamicVariables = HashMap()) + val ndarrScalarRule = attributeScalarToNDArrayInput(outputAttribute = "output",inputFrameworkAttributeName = "limit") + val ndarrScalarRuleResult = ndarrScalarRule.convertAttributes(mappingContext) + assertEquals(1,ndarrScalarRuleResult.size) + assertTrue {ndarrScalarRuleResult[0].hasInputValue()} + val tensorValue = ndarrScalarRuleResult[0].inputValue + assertEquals(2,tensorValue.dimsCount) + assertEquals(TensorNamespace.DataType.INT64.ordinal,tensorValue.dataType) + val intValue = tensorValue.int64DataList[0] + assertEquals(1,intValue) + } + + @Test + fun testStringNotEqualsRule() { + val opDef = tensorflowOps.findOp("Const") + val valueNodeDef = NodeDef { + op = "Const" + name = "inputs" + Attribute(name = "value",value = AttrValue { + s = ByteString.copyFrom("value".toByteArray(Charset.defaultCharset())) + }) + } + + + val graphDef = GraphDef { + Node(valueNodeDef) + + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps,tensorflowOpRegistry) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph,dynamicVariables = HashMap()) + listOf("value","notValue").zip(listOf(false,true)).forEach { (valueToTest,assertionResult) -> + val stringNotEqualsRule = stringNotEqualsRule(outputAttribute = "output",inputFrameworkAttributeName = "value",valueToTest = valueToTest,argumentIndex = 0) + val stringEqualsResult = stringNotEqualsRule.convertAttributes(mappingCtx = mappingContext) + assertEquals(1,stringEqualsResult.size) + assertEquals(assertionResult,stringEqualsResult[0].boolValue) + + } + + + } + + + @Test + fun testStringContainsRule() { + val opDef = tensorflowOps.findOp("Const") + val valueNodeDef = NodeDef { + op = "Const" + name = "inputs" + Attribute(name = "value",value = AttrValue { + s = ByteString.copyFrom("value".toByteArray(Charset.defaultCharset())) + }) + } + + + val graphDef = GraphDef { + Node(valueNodeDef) + + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps,tensorflowOpRegistry) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph,dynamicVariables = HashMap()) + listOf("value","notValue").zip(listOf(true,false)).forEach { (valueToTest,assertionResult) -> + val stringContainsRule = stringContainsRule(outputAttribute = "output",inputFrameworkAttributeName = "value",valueToTest = valueToTest) + val stringEqualsResult = stringContainsRule.convertAttributes(mappingCtx = mappingContext) + assertEquals(1,stringEqualsResult.size) + assertEquals(assertionResult,stringEqualsResult[0].boolValue) + + } + + + } + + + @Test + fun testStringEqualsRule() { + val opDef = tensorflowOps.findOp("Const") + val valueNodeDef = NodeDef { + op = "Const" + name = "inputs" + Attribute(name = "value",value = AttrValue { + s = ByteString.copyFrom("value".toByteArray(Charset.defaultCharset())) + }) + } + + + val graphDef = GraphDef { + Node(valueNodeDef) + + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps,tensorflowOpRegistry) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = valueNodeDef,graph = tfGraph,dynamicVariables = HashMap()) + listOf("value","notValue").zip(listOf(true,false)).forEach { (valueToTest,assertionResult) -> + val stringEqualsRule = stringEqualsRule(outputAttribute = "output",inputFrameworkAttributeName = "value",valueToTest = valueToTest,argumentIndex = 0) + val stringEqualsResult = stringEqualsRule.convertAttributes(mappingCtx = mappingContext) + assertEquals(1,stringEqualsResult.size) + assertEquals(assertionResult,stringEqualsResult[0].boolValue) + + } + + + } + + + @Test + fun testNDArraySizeAtRule() { + val opDef = tensorflowOps.findOp("AddN") + val nodeDef = NodeDef { + op = "AddN" + Input("inputs") + Input("y") + name = "test" + } + + val shape = listOf(1,2).map { it.toLong() } + + val valueNodeDef = NodeDef { + op = "Constant" + name = "inputs" + Attribute(name = "value",value = AttrValue { + tensor = TensorProto { + Shape(shape) + DoubleData(listOf(1.0,2.0)) + } + }) + } + + + val graphDef = GraphDef { + Node(nodeDef) + Node(valueNodeDef) + + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps,tensorflowOpRegistry) + val mappingContext = TensorflowMappingContext(opDef = opDef,node = nodeDef,graph = tfGraph,dynamicVariables = HashMap()) + shape.forEachIndexed { i,value -> + val sizeAtRule = sizeAtRule(dimensionIndex = i,outputAttributeName = "output",inputFrameworkAttributeName = "inputs",argumentIndex = 0) + val sizeAtRuleResult = sizeAtRule.convertAttributes(mappingCtx = mappingContext) + assertEquals(1,sizeAtRuleResult.size) + assertEquals(value,sizeAtRuleResult[0].int64Value) + + } + + } + + + fun OpList.findOp(name: String): OpDef { + if(!this.opList.map { input -> input.name }.contains(name)) { + throw IllegalArgumentException("Op $name not found!") + } + return this.opList.first { it.name == name }!! + } + + @Test + fun testConditionalIndex() { + + val opDef = tensorflowOps.findOp("AddN") + val strings = listOf("value","falseValue") + //when item is equal to value return element at index 0 + //when item is not equal to value return element at index 1 + val assertionValue = mapOf("value" to 1,"falseValue" to 0) + val trueIndex = 0 + val falseIndex = 1 + val listOfItemsForTesting = listOf(1,0,2,3) + //true and false case with index 1 + for(string in strings) { + val nodeDef = NodeDef { + op = "AddN" + Input("inputs") + Input("y") + name = "test" + Attribute(name = "N",value = AttrValue { + name = "N" + list = ListValue { + IntItems(listOfItemsForTesting) + } + }) + Attribute(name = "T",value = AttrValue { + name = "T" + s = ByteString.copyFrom(string.toByteArray(Charset.defaultCharset())) + }) + } + + val graphDef = GraphDef { + Node(nodeDef) + } + + val tfGraph = TensorflowIRGraph(graphDef, tensorflowOps,tensorflowOpRegistry) + + + val mappingContext = TensorflowMappingContext(opDef = opDef,node = nodeDef,graph = tfGraph,dynamicVariables = HashMap()) + + val conditionalIndex = conditionalFieldValueIntIndexArrayRule( + outputAttribute = "N", + attributeNameOfListAttribute = "N", + targetValue = "value", trueIndex = trueIndex, falseIndex = falseIndex, + inputFrameworkStringNameToTest = "T",argumentIndex = 0) + + val ret = conditionalIndex.convertAttributes(mappingContext) + assertEquals(1,ret.size) + assertEquals((assertionValue[string] ?: + error("No value found with string value $string")).toLong(),ret[0].int64Value) + assertEquals("N",ret[0].name) + + } + + } +} + + + + diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/test/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/TestTensorflowUtils.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/test/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/TestTensorflowUtils.kt new file mode 100644 index 000000000..0ee8e63fb --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/test/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/TestTensorflowUtils.kt @@ -0,0 +1,7821 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.samediff.frameworkimport.tensorflow + + +import org.apache.commons.io.IOUtils +import org.junit.jupiter.api.Test +import org.nd4j.autodiff.samediff.SameDiff +import org.nd4j.common.io.ClassPathResource +import org.nd4j.ir.OpNamespace +import org.nd4j.linalg.api.ndarray.INDArray +import org.nd4j.linalg.api.ops.DynamicCustomOp +import org.nd4j.linalg.api.ops.impl.transforms.BinCount +import org.nd4j.linalg.api.ops.impl.transforms.floating.RSqrt +import org.nd4j.linalg.factory.Nd4j +import org.nd4j.linalg.profiler.ProfilerConfig +import org.nd4j.samediff.frameworkimport.tensorflow.definitions.registry +import org.nd4j.shade.protobuf.ByteString +import org.nd4j.tensorflow.conversion.graphrunner.GraphRunner +import org.tensorflow.framework.* +import java.lang.IllegalStateException +import java.nio.charset.Charset +import kotlin.math.max + +fun graphForOp(nd4jOpName: String,inputFrameworkOpName: String): List { + val tensorflowOpDef = registry().lookupInputFrameworkOpDef(inputFrameworkOpName) + when (nd4jOpName) { + "check_numerics" -> { + val tensor = NodeDef { + name = "tensor" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("tensor") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("message",AttrValue { + s = ByteString.copyFrom("test message".toByteArray(Charset.defaultCharset())) + }) + } + + val graphDef = GraphDef { + Node(tensor) + Node(opNode) + } + + + + val xVal = Nd4j.create(floatArrayOf(1.0f,2.0f,3.0f)) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val inputs = mapOf("tensor" to xVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("tensor"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "gruCell" -> { + val x = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val hPrev = NodeDef { + name = "h_prev" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val wRu = NodeDef { + name = "w_ru" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val wC = NodeDef { + name = "w_c" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val bRu = NodeDef { + name = "b_ru" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val bc = NodeDef { + name = "b_c" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("x") + Input("h_prev") + Input("w_ru") + Input("w_c") + Input("b_ru") + Input("b_c") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val r = NodeDef { + name = "r" + Input("output:0") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val u = NodeDef { + name = "u" + Input("output:1") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val c = NodeDef { + name = "c" + Input("output:2") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val h = NodeDef { + name = "h" + Input("output:3") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val graphDef = GraphDef { + Node(x) + Node(hPrev) + Node(wRu) + Node(wC) + Node(bRu) + Node(bc) + Node(opNode) + Node(r) + Node(u) + Node(c) + Node(h) + } + + + + + val xVal = Nd4j.linspace(1,20,20).reshape(2,10) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val hPrevVal = Nd4j.linspace(1,8,8).reshape(2,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val wRuVal = Nd4j.linspace(1,112,112).reshape(14,8) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val wcVal = Nd4j.linspace(1,56,56).reshape(14,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val bRuVal = Nd4j.linspace(1,8,8).reshape(8) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val bcVal = Nd4j.linspace(1,4,4).reshape(4) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val inputs = mapOf("x" to xVal,"h_prev" to hPrevVal,"w_ru" to wRuVal,"w_c" to wcVal,"b_ru" to bRuVal,"b_c" to bcVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("x","h_prev","w_ru","w_c","b_ru","b_c"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "lstmBlockCell" -> { + val x = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val csPrev = NodeDef { + name = "cs_prev" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val hPrev = NodeDef { + name = "h_prev" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val w = NodeDef { + name = "w" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val wci = NodeDef { + name = "wci" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val wcf = NodeDef { + name = "wcf" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val wco = NodeDef { + name = "wco" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val bias = NodeDef { + name = "b" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("x") + Input("cs_prev") + Input("h_prev") + Input("w") + Input("wci") + Input("wcf") + Input("wco") + Input("b") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("forget_bias",AttrValue { + f = 2.0f + }) + + Attribute("use_peephole",AttrValue { + b = false + }) + } + + + val i = NodeDef { + name = "i" + Input("output:0") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val cs = NodeDef { + name = "cs" + Input("output:1") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val f = NodeDef { + name = "f" + Input("output:2") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val o = NodeDef { + name = "o" + Input("output:3") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val ci = NodeDef { + name = "ci" + Input("output:4") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val h = NodeDef { + name = "h" + Input("output:5") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val graphDef = GraphDef { + Node(x) + Node(csPrev) + Node(hPrev) + Node(w) + Node(wci) + Node(wcf) + Node(wco) + Node(bias) + Node(opNode) + Node(i) + Node(cs) + Node(f) + Node(o) + Node(ci) + Node(h) + } + + + + + val xVal = Nd4j.linspace(1,5,5).reshape(1,5) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val csPrevVal = Nd4j.linspace(1,3,3).reshape(1,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val hPrevVal = Nd4j.linspace(1,3,3).reshape(1,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val wVal = Nd4j.linspace(1,96,96).reshape(8,12) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val wciVal = Nd4j.linspace(1,3,3).reshape(3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val wcfVal = Nd4j.linspace(1,3,3).reshape(3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val wcoVal = Nd4j.linspace(1,3,3).reshape(3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val bVal = Nd4j.zeros(12) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + + + val inputs = mapOf("x" to xVal,"cs_prev" to csPrevVal,"h_prev" to hPrevVal,"w" to wVal,"wci" to wciVal,"wcf" to wcfVal,"wco" to wcoVal,"b" to bVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("x","cs_prev","h_prev","w","wci","wcf","wco","b"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "lstmBlock" -> { + if(inputFrameworkOpName == "BlockLSTM") { + val seqLenMax = NodeDef { + name = "seq_len_max" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val x = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val csPrev = NodeDef { + name = "cs_prev" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + } + + val hPrev = NodeDef { + name = "h_prev" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val w = NodeDef { + name = "w" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val wci = NodeDef { + name = "wci" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + } + + val wcf = NodeDef { + name = "wcf" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val wco = NodeDef { + name = "wco" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + } + + val bias = NodeDef { + name = "b" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + } + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("seq_len_max") + Input("x") + Input("cs_prev") + Input("h_prev") + Input("w") + Input("wci") + Input("wcf") + Input("wco") + Input("b") + op = tensorflowOpDef.name + name = "output" + Attribute("T", AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("forget_bias", AttrValue { + f = 2.0f + }) + Attribute("forget_bias", AttrValue { + f = 3.0f + }) + Attribute("use_peephole", AttrValue { + b = false + }) + } + + + val i = NodeDef { + name = "i" + Input("output:0") + op = "Identity" + Attribute("T", AttrValue { + type = DataType.DT_FLOAT + }) + } + + val cs = NodeDef { + name = "cs" + Input("output:1") + op = "Identity" + Attribute("T", AttrValue { + type = DataType.DT_FLOAT + }) + } + + val f = NodeDef { + name = "f" + Input("output:2") + op = "Identity" + Attribute("T", AttrValue { + type = DataType.DT_FLOAT + }) + } + + val o = NodeDef { + name = "o" + Input("output:3") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val ci = NodeDef { + name = "ci" + Input("output:4") + op = "Identity" + Attribute("T", AttrValue { + type = DataType.DT_FLOAT + }) + } + + val h = NodeDef { + name = "h" + Input("output:5") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val graphDef = GraphDef { + Node(seqLenMax) + Node(x) + Node(csPrev) + Node(hPrev) + Node(w) + Node(wci) + Node(wcf) + Node(wco) + Node(bias) + Node(opNode) + Node(i) + Node(cs) + Node(f) + Node(o) + Node(ci) + Node(h) + } + + + + val seqLenVal = Nd4j.scalar(5.0) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + val xVal = Nd4j.linspace(1,20,20).reshape(5,1,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val csPrevVal = Nd4j.linspace(1,3,3).reshape(1,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val hPrevVal = Nd4j.linspace(1,3,3).reshape(1,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val wVal = Nd4j.linspace(1,84,84).reshape(7,12) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val wciVal = Nd4j.linspace(1,3,3).reshape(3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val wcfVal = Nd4j.linspace(1,3,3).reshape(3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val wcoVal = Nd4j.linspace(1,3,3).reshape(3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val bVal = Nd4j.zeros(12) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + + + val inputs = mapOf("seq_len_max" to seqLenVal,"x" to xVal,"cs_prev" to csPrevVal,"h_prev" to hPrevVal,"w" to wVal,"wci" to wciVal,"wcf" to wcfVal,"wco" to wcoVal,"b" to bVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("seq_len_max","x","cs_prev","h_prev","w","wci","wcf","wco","b"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } else { //BlockLSTMV2 + val seqLenMax = NodeDef { + name = "seq_len_max" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val x = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val csPrev = NodeDef { + name = "cs_prev" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + } + + val hPrev = NodeDef { + name = "h_prev" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val w = NodeDef { + name = "w" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + } + + val wci = NodeDef { + name = "wci" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + } + + val wcf = NodeDef { + name = "wcf" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val wco = NodeDef { + name = "wco" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + } + + val bias = NodeDef { + name = "b" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + } + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("seq_len_max") + Input("x") + Input("cs_prev") + Input("h_prev") + Input("w") + Input("wci") + Input("wcf") + Input("wco") + Input("b") + op = tensorflowOpDef.name + name = "output" + Attribute("T", AttrValue { + type = DataType.DT_FLOAT + }) + + Attribute("use_peephole", AttrValue { + b = false + }) + } + + + val i = NodeDef { + name = "i" + Input("output:0") + op = "Identity" + Attribute("T", AttrValue { + type = DataType.DT_FLOAT + }) + } + + val cs = NodeDef { + name = "cs" + Input("output:1") + op = "Identity" + Attribute("T", AttrValue { + type = DataType.DT_FLOAT + }) + } + + val f = NodeDef { + name = "f" + Input("output:2") + op = "Identity" + Attribute("T", AttrValue { + type = DataType.DT_FLOAT + }) + } + + val o = NodeDef { + name = "o" + Input("output:3") + op = "Identity" + Attribute("T", AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val ci = NodeDef { + name = "ci" + Input("output:4") + op = "Identity" + Attribute("T", AttrValue { + type = DataType.DT_FLOAT + }) + } + + val h = NodeDef { + name = "h" + Input("output:5") + op = "Identity" + Attribute("T", AttrValue { + type = DataType.DT_FLOAT + }) + } + + val graphDef = GraphDef { + Node(seqLenMax) + Node(x) + Node(csPrev) + Node(hPrev) + Node(w) + Node(wci) + Node(wcf) + Node(wco) + Node(bias) + Node(opNode) + Node(i) + Node(cs) + Node(f) + Node(o) + Node(ci) + Node(h) + } + + + + val seqLenVal = Nd4j.scalar(5.0) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + val xVal = Nd4j.linspace(1,20,20).reshape(5,1,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val csPrevVal = Nd4j.linspace(1,3,3).reshape(1,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val hPrevVal = Nd4j.linspace(1,3,3).reshape(1,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val wVal = Nd4j.linspace(1,84,84).reshape(7,12) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val wciVal = Nd4j.linspace(1,3,3).reshape(3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val wcfVal = Nd4j.linspace(1,3,3).reshape(3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val wcoVal = Nd4j.linspace(1,3,3).reshape(3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val bVal = Nd4j.zeros(12) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + + + val inputs = mapOf("seq_len_max" to seqLenVal,"x" to xVal,"cs_prev" to csPrevVal,"h_prev" to hPrevVal,"w" to wVal,"wci" to wciVal,"wcf" to wcfVal,"wco" to wcoVal,"b" to bVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("seq_len_max","x","cs_prev","h_prev","w","wci","wcf","wco","b"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + } + + + + "adjust_hue","adjust_saturation" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val delta = NodeDef { + name = "delta" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("delta") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val graphDef = GraphDef { + Node(input) + Node(delta) + Node(opNode) + } + + + + val xVal = Nd4j.zeros(3,3,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val deltaVal = Nd4j.scalar(0.5).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val inputs = mapOf("input" to xVal,"delta" to deltaVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","delta"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "adjust_contrast_v2" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val delta = NodeDef { + name = "contrast_factor" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("contrast_factor") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val graphDef = GraphDef { + Node(input) + Node(delta) + Node(opNode) + } + + + + val xVal = Nd4j.zeros(3,3,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val deltaVal = Nd4j.scalar(0.5).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val inputs = mapOf("input" to xVal,"contrast_factor" to deltaVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","contrast_factor"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "rgb_to_hsv" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val graphDef = GraphDef { + Node(input) + Node(opNode) + } + + + + val xVal = Nd4j.zeros(3,3,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val inputs = mapOf("input" to xVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "reverse_sequence" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val seqLengths = NodeDef { + name = "seq_lengths" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("seq_lengths") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("Tlen",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("seq_dim",AttrValue { + i = 2 + }) + Attribute("batch_dim",AttrValue { + i = 1 + }) + } + + val graphDef = GraphDef { + Node(input) + Node(seqLengths) + Node(opNode) + } + + + + val xVal = Nd4j.linspace(1,60,60).reshape(3,4,5) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val yVal = Nd4j.create(floatArrayOf(4f,4f,4f,4f)) + .reshape(4) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + + val inputs = mapOf("input" to xVal,"seq_lengths" to yVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","seq_lengths"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + "resize_nearest_neighbor" -> { + val images = NodeDef { + name = "images" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val size = NodeDef { + name = "size" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("images") + Input("size") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(images) + Node(size) + Node(opNode) + } + + + + val xVal = Nd4j.linspace(1,36,36).reshape(1,3,3,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val yVal = Nd4j.create(floatArrayOf(6f,6f)) + .reshape(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + + val inputs = mapOf("images" to xVal,"size" to yVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("images","size"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + "resize_bilinear" -> { + val images = NodeDef { + name = "images" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val size = NodeDef { + name = "size" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("images") + Input("size") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(images) + Node(size) + Node(opNode) + } + + + + val xVal = Nd4j.linspace(1,36,36).reshape(1,3,3,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val yVal = Nd4j.create(floatArrayOf(6f,6f)) + .reshape(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + + val inputs = mapOf("images" to xVal,"size" to yVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("images","size"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "resize_bicubic" -> { + val images = NodeDef { + name = "images" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val size = NodeDef { + name = "size" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("images") + Input("size") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(images) + Node(size) + Node(opNode) + } + + + + val xVal = Nd4j.linspace(1,36,36).reshape(1,3,3,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val yVal = Nd4j.create(floatArrayOf(6f,6f)) + .reshape(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + + val inputs = mapOf("images" to xVal,"size" to yVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("images","size"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "resize_area" -> { + val images = NodeDef { + name = "images" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val size = NodeDef { + name = "size" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("images") + Input("size") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(images) + Node(size) + Node(opNode) + } + + + + val xVal = Nd4j.linspace(1,36,36).reshape(1,3,3,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val yVal = Nd4j.create(floatArrayOf(6f,6f)) + .reshape(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + + val inputs = mapOf("images" to xVal,"size" to yVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("images","size"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "mirror_pad" -> { + val mirrorPadRet = ArrayList() + listOf("REFLECT","SYMMETRIC").forEach { mode -> + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val paddings = NodeDef { + name = "paddings" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_INT32 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("paddings") + op = tensorflowOpDef.name + name = "output" + Attribute("mode", AttrValue { + s = ByteString.copyFrom(mode.toByteArray(Charset.defaultCharset())) + }) + Attribute("Tpaddings", AttrValue { + type = DataType.DT_INT32 + }) + Attribute("T", AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val graphDef = GraphDef { + Node(input) + Node(paddings) + Node(opNode) + } + + + + val xVal = Nd4j.linspace(1,5,5).reshape(5) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val yVal = Nd4j.create(floatArrayOf(1f,1f)) + .reshape(1,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + + val inputs = mapOf("input" to xVal,"paddings" to yVal) + + + mirrorPadRet.add(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","paddings"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + return mirrorPadRet + } + + "listdiff" -> { + val x = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val y = NodeDef { + name = "y" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("x") + Input("y") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(x) + Node(y) + Node(opNode) + } + + + + val xVal = Nd4j.linspace(1,4,4).reshape(4) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val yVal = Nd4j.create(floatArrayOf(3f,1f)) + .reshape(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + + val inputs = mapOf("x" to xVal,"y" to yVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("x","y"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + + "histogram_fixed_width" -> { + val values = NodeDef { + name = "values" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val valueRange = NodeDef { + name = "value_range" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val nBins = NodeDef { + name = "nbins" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("values") + Input("value_range") + Input("nbins") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(values) + Node(valueRange) + Node(nBins) + Node(opNode) + } + + + + val valuesVal = Nd4j.ones(2,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val valueRangeVal = Nd4j.create(floatArrayOf(0f,5f)) + .reshape(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val nbinsVal = Nd4j.scalar(5f) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val inputs = mapOf("values" to valuesVal,"value_range" to valueRangeVal,"nbins" to nbinsVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("values","value_range","nbins"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + + "extract_image_patches" -> { + val images = NodeDef { + name = "images" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + // {2, 2, 2, 2, 0, 0, 1, 1, 1, 1, 1} + val opNode = NodeDef { + Input("images") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("ksizes",AttrValue { + ListInts(listOf(1,1,1,1)) + }) + Attribute("strides",AttrValue { + ListInts(listOf(1,1,1,1)) + }) + Attribute("rates",AttrValue { + ListInts(listOf(1,1,1,1)) + }) + Attribute("padding",AttrValue { + s = ByteString.copyFrom("SAME".toByteArray(Charset.defaultCharset())) + }) + } + val graphDef = GraphDef { + Node(images) + Node(opNode) + } + + //1,2,5,4 + + //3,2,2,2 + + + val imagesVal = Nd4j.ones(2,4,4,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + + + val inputs = mapOf("images" to imagesVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("images"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "crop_and_resize" -> { + val images = NodeDef { + name = "images" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val boxes = NodeDef { + name = "boxes" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val boxesI = NodeDef { + name = "boxesI" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val cropSize = NodeDef { + name = "cropSize" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("images") + Input("boxes") + Input("boxesI") + Input("cropSize") + + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val graphDef = GraphDef { + Node(images) + Node(boxes) + Node(boxesI) + Node(cropSize) + Node(opNode) + } + + + + val imagesVal = Nd4j.create(floatArrayOf(1f,2f,3f,4f)) + .reshape(1,2,2,1) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val boxesVal = Nd4j.create(floatArrayOf(0f,0f,1f,1f)) + .reshape(1,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val boxesIVal = Nd4j.create(floatArrayOf(0f)) + .reshape(1) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val cropSizeVal = Nd4j.create(floatArrayOf(1f,1f)) + .reshape(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val inputs = mapOf("images" to imagesVal,"boxes" to boxesVal,"boxesI" to boxesIVal,"cropSize" to cropSizeVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("images","boxes","boxesI","cropSize"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "broadcastgradientargs" -> { + val s0 = NodeDef { + name = "s0" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val s1 = NodeDef { + name = "s1" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("s0") + Input("s1") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(s0) + Node(s1) + Node(opNode) + } + + + + val s0Val = Nd4j.create(floatArrayOf(2f,2f,2f)) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val s1Val = Nd4j.create(floatArrayOf(2f,1f,2f)) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val inputs = mapOf("s0" to s0Val,"s1" to s1Val) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("s0","s1"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "broadcast_dynamic_shape" -> { + val s0 = NodeDef { + name = "s0" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val s1 = NodeDef { + name = "s1" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("s0") + Input("s1") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(s0) + Node(s1) + Node(opNode) + } + + + + val s0Val = Nd4j.create(floatArrayOf(2f,2f,2f)) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val s1Val = Nd4j.create(floatArrayOf(2f,1f,2f)) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val inputs = mapOf("s0" to s0Val,"s1" to s1Val) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("s0","s1"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "lrn" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + println("Running test import process for op ${tensorflowOpDef.name}") + // {2, 2, 2, 2, 0, 0, 1, 1, 1, 1, 1} + val opNode = NodeDef { + Input("input") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("depth_radius",AttrValue { + i = 5 + }) + Attribute("bias",AttrValue { + f = 1f + }) + Attribute("alpha",AttrValue { + f = 0.5f + }) + Attribute("beta",AttrValue { + f = 0.5f + }) + } + val graphDef = GraphDef { + Node(input) + Node(opNode) + } + + //1,2,5,4 + + //3,2,2,2 + + //1, 1,2,2,1, 1,2,2,1 + + val inputVal = Nd4j.linspace(1,16,16).reshape(2,2,2,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val inputs = mapOf("input" to inputVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "fused_batch_norm" -> { + val x = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val scale = NodeDef { + name = "scale" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val offset = NodeDef { + name = "offset" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val mean = NodeDef { + name = "mean" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val variance = NodeDef { + name = "variance" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + + val epsilon = 0.0001f + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("x") + Input("scale") + Input("offset") + Input("mean") + Input("variance") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("U",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("is_training",AttrValue { + b = false + }) + Attribute("data_format",AttrValue { + s = ByteString.copyFrom("NHWC".toByteArray(Charset.defaultCharset())) + }) + Attribute("epsilon",AttrValue { + f = epsilon + }) + } + + + val y = NodeDef { + name = "y" + Input("output:0") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val batchMean = NodeDef { + name = "batch_mean" + Input("output:1") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val batchVariance = NodeDef { + name = "batch_variance" + Input("output:2") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val graphDef = GraphDef { + Node(x) + Node(scale) + Node(mean) + Node(offset) + Node(variance) + Node(opNode) + Node(y) + Node(batchMean) + Node(batchVariance) + } + + + + val xVal = Nd4j.ones(2,2,2,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val scaleVal = Nd4j.zeros(2).addi(0.5) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + val offsetVal = Nd4j.zeros(2).addi(2).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + // xAffected *= (*variance + epsilon).transform(transform::RSqrt) * (*scale) + (*offset); + val testResult = Nd4j.ones(8,2).muli(Nd4j.exec(RSqrt(Nd4j.scalar(epsilon)))).muli(scaleVal).addi(offsetVal) + val meanVal = Nd4j.zeros(2) + val varianceVal = Nd4j.zeros(2) + val otherResult = xVal.sub(meanVal).div(varianceVal.add(epsilon)).mul(scaleVal).add(offsetVal) + // (batch - self.moving_mean) / (self.moving_var + epsilon) * gamma + beta. + + val inputs = mapOf("x" to xVal,"scale" to scaleVal,"mean" to meanVal,"offset" to offsetVal,"variance" to varianceVal) + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("x","scale","offset","mean","variance"), + outputNames = listOf("y","batch_mean","batch_variance"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + + "conv3dnew" -> { + // int bS=2, iD=3,iH=4,iW=3, iC=4,oC=3, kD=2,kH=3,kW=2, sD=1,sH=1,sW=1, pD=0,pH=0,pW=0, dD=1,dH=1,dW=1; + // int paddingMode = 1; // 1-SAME, 0-VALID; + //int dataFormat = 1; // 1-NDHWC, 0-NCDHW + //2,3,4,3,4 + //2,3,2,4,3 + //auto input = NDArrayFactory::create('c', {bS, iD, iH, iW, iC}); + //auto weights = NDArrayFactory::create('c', {kD, kH, kW, iC, oC}); +//, {kD,kH,kW, sD,sH,sW, pD,pH,pW, dD,dH,dW, paddingMode, 1, dataFormat} + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val filter = NodeDef { + name = "filter" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + // {2, 2, 2, 2, 0, 0, 1, 1, 1, 1, 1} + //, {kD,kH,kW, sD,sH,sW, pD,pH,pW, dD,dH,dW, paddingMode, 1, dataFormat} + + val opNode = NodeDef { + Input("input") + Input("filter") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("strides",AttrValue { + ListInts(listOf(1,1,1,1,1)) + }) + Attribute("padding",AttrValue { + s = ByteString.copyFrom("SAME".toByteArray(Charset.defaultCharset())) + }) + Attribute("data_format",AttrValue { + s = ByteString.copyFrom("NDHWC".toByteArray(Charset.defaultCharset())) + }) + } + val graphDef = GraphDef { + Node(input) + Node(filter) + Node(opNode) + } + + //1,2,5,4 + + //3,2,2,2 + + + val inputVal = Nd4j.ones(2,3,4,3,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val filterVal = Nd4j.ones(2,3,2,4,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("input" to inputVal,"filter" to filterVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","filter"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "avgpool3dnew","maxpool3dnew" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + // {2, 2, 2, 2, 0, 0, 1, 1, 1, 1, 1} + val opNode = NodeDef { + Input("input") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("ksize",AttrValue { + ListInts(listOf(1,1,1,1,1)) + }) + Attribute("strides",AttrValue { + ListInts(listOf(1,1,1,1,1)) + }) + Attribute("padding",AttrValue { + s = ByteString.copyFrom("SAME".toByteArray(Charset.defaultCharset())) + }) + Attribute("data_format",AttrValue { + s = ByteString.copyFrom("NDHWC".toByteArray(Charset.defaultCharset())) + }) + } + + + val graphDef = GraphDef { + Node(input) + Node(opNode) + } + + //2,3,3,43 + val inputVal = Nd4j.ones(2,3,3,4,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val inputs = mapOf("input" to inputVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "draw_bounding_boxes" -> { + val images = NodeDef { + name = "images" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val boxes = NodeDef { + name = "boxes" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val colors = NodeDef { + name = "colors" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("images") + Input("boxes") + Input("colors") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val graphDef = GraphDef { + Node(images) + Node(boxes) + Node(colors) + Node(opNode) + } + + + + val imagesVal = Nd4j.linspace(1,120,120).reshape(2,4,5,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val boxesVal = Nd4j.linspace(1,16,16).reshape(2,2,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + val colorVal = Nd4j.create(floatArrayOf(201f, 202f, 203f, 127f, 128f, 129f)).reshape(2,3) + + val inputs = mapOf("images" to imagesVal,"boxes" to boxesVal,"colors" to colorVal) + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("images","boxes","colors"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + + "create" -> { + val shape = NodeDef { + name = "shape" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("shape") + op = tensorflowOpDef.name + name = "output" + Attribute("init",AttrValue { + b = true + }) + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val graphDef = GraphDef { + Node(shape) + Node(opNode) + } + + + + val shapeVal = Nd4j.create(doubleArrayOf(1.0,2.0)) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val inputs = mapOf("shape" to shapeVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("shape"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + + "select" -> { + val condition = NodeDef { + name = "condition" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_BOOL + }) + } + + val t = NodeDef { + name = "t" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + val e = NodeDef { + name = "e" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("condition") + Input("t") + Input("e") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + val graphDef = GraphDef { + Node(condition) + Node(t) + Node(e) + Node(opNode) + } + + + + val conditionVal = Nd4j.create(booleanArrayOf(true,false,false)) + .castTo(org.nd4j.linalg.api.buffer.DataType.BOOL) + + val tVal = Nd4j.linspace(1,9,9).reshape(3,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val eVal = Nd4j.create(doubleArrayOf(9.0, 8.0, 7.0, 6.0, 5.0, 4.0, 3.0, 2.0, 1.0)) + .reshape(3,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("condition" to conditionVal,"t" to tVal,"e" to eVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("condition","t","e"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + + "compare_and_bitpack" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val threshold = NodeDef { + name = "threshold" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("threshold") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + val graphDef = GraphDef { + Node(input) + Node(threshold) + Node(opNode) + } + + + + val inputVal = Nd4j.create(floatArrayOf(-12f, -11f, -10f, -9f, -8f, -7f, -6f, -5f, -4f, -3f, -2f, -1f, 0f, 1f, 2f, 3f, 4f, 5f, 6f, 7f, 8f, 9f, 10f, 11f)).reshape(2,3,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val thresholdVal = Nd4j.scalar(2.0) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("input" to inputVal,"threshold" to thresholdVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","threshold"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "strided_slice" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val begin = NodeDef { + name = "begin" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val end = NodeDef { + name = "end" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val strides = NodeDef { + name = "strides" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("begin") + Input("end") + Input("strides") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Index",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("shrink_axis_mask",AttrValue { + i = 1 + }) + } + val graphDef = GraphDef { + Node(input) + Node(begin) + Node(end) + Node(strides) + Node(opNode) + } + + + + val inputVal = Nd4j.linspace(1,10,10).reshape(5,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val beginVal = Nd4j.create(doubleArrayOf(0.0)) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val endVal = Nd4j.create(doubleArrayOf(1.0)) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val strideVal = Nd4j.create(doubleArrayOf(1.0)) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val inputs = mapOf("input" to inputVal,"begin" to beginVal, "end" to endVal,"strides" to strideVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","begin","end","strides"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + "bincount" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val size = NodeDef { + name = "size" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val weights = NodeDef { + name = "weights" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("size") + Input("weights") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + val graphDef = GraphDef { + Node(input) + Node(size) + Node(weights) + Node(opNode) + } + + + + val inputVal = Nd4j.create(doubleArrayOf(1.0, 2.0, 0.0, 1.0, 2.0, 2.0, 1.0, 2.0)) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val sizeVal = Nd4j.create(doubleArrayOf(3.0)) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val weightVal = Nd4j.create(doubleArrayOf(1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0)) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("input" to inputVal,"size" to sizeVal, "weights" to weightVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","size","weights"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "broadcast_to" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val shape = NodeDef { + name = "shape" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("shape") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tidx",AttrValue { + type = DataType.DT_INT64 + }) + } + val graphDef = GraphDef { + Node(input) + Node(shape) + Node(opNode) + } + + + + val inputVal = Nd4j.create(doubleArrayOf(2.0)) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val shapeVal = Nd4j.zeros(2).addi(4) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + val inputs = mapOf("input" to inputVal,"shape" to shapeVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","shape"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "condition" -> { + val condition = NodeDef { + name = "condition" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_BOOL + }) + } + + val t = NodeDef { + name = "t" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val e = NodeDef { + name = "e" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("condition") + Input("t") + Input("e") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + val graphDef = GraphDef { + Node(condition) + Node(t) + Node(e) + Node(opNode) + } + + + + val conditionVal = Nd4j.create(booleanArrayOf(true,true,false,false)).reshape(2,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.BOOL) + + val tVal = Nd4j.linspace(1,4,4).reshape(2,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val eVal = Nd4j.linspace(1,4,4).reshape(2,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("condition" to conditionVal,"t" to tVal,"e" to eVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("condition","t","e"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "biasadd" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val bias = NodeDef { + name = "bias" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("bias") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + val graphDef = GraphDef { + Node(input) + Node(bias) + Node(opNode) + } + + + + val inputVal = Nd4j.linspace(1,2 * 3 * 3 * 2,2 * 3 * 3 * 2).reshape(2,3,3,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val biasVal = Nd4j.linspace(1,2,2).reshape(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("input" to inputVal,"bias" to biasVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","bias"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + "dilation2d" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val filter = NodeDef { + name = "filter" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + // {2, 2, 2, 2, 0, 0, 1, 1, 1, 1, 1} + val opNode = NodeDef { + Input("input") + Input("filter") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("strides",AttrValue { + ListInts(listOf(1,1,1,1)) + }) + Attribute("rates",AttrValue { + ListInts(listOf(1,1,1,1)) + }) + Attribute("padding",AttrValue { + s = ByteString.copyFrom("SAME".toByteArray(Charset.defaultCharset())) + }) + } + val graphDef = GraphDef { + Node(input) + Node(filter) + Node(opNode) + } + + //1,2,5,4 + + //3,2,2,2 + + //1, 1,2,2,1, 1,2,2,1 + + val inputVal = Nd4j.linspace(1,2 * 6 * 6 * 3,2 * 6 * 6 * 3).reshape(2,6,6,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val filterVal = Nd4j.linspace(1,3 * 2 * 3,3 * 2 * 3).reshape(3,2,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("input" to inputVal,"filter" to filterVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","filter"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "depthwise_conv2d" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val filter = NodeDef { + name = "filter" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + // {2, 2, 2, 2, 0, 0, 1, 1, 1, 1, 1} + val opNode = NodeDef { + Input("input") + Input("filter") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("strides",AttrValue { + ListInts(listOf(1,1,1,1)) + }) + Attribute("padding",AttrValue { + s = ByteString.copyFrom("SAME".toByteArray(Charset.defaultCharset())) + }) + Attribute("data_format",AttrValue { + s = ByteString.copyFrom("NHWC".toByteArray(Charset.defaultCharset())) + }) + } + val graphDef = GraphDef { + Node(input) + Node(filter) + Node(opNode) + } + + //1,2,5,4 + + //3,2,2,2 + + + val inputVal = Nd4j.ones(2,4,3,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val filterVal = Nd4j.ones(3,2,2,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("input" to inputVal,"filter" to filterVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","filter"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "conv2d" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val filter = NodeDef { + name = "filter" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + // {2, 2, 2, 2, 0, 0, 1, 1, 1, 1, 1} + val opNode = NodeDef { + Input("input") + Input("filter") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("strides",AttrValue { + ListInts(listOf(1,1,1,1)) + }) + Attribute("padding",AttrValue { + s = ByteString.copyFrom("SAME".toByteArray(Charset.defaultCharset())) + }) + Attribute("data_format",AttrValue { + s = ByteString.copyFrom("NHWC".toByteArray(Charset.defaultCharset())) + }) + } + val graphDef = GraphDef { + Node(input) + Node(filter) + Node(opNode) + } + + //1,2,5,4 + + //3,2,2,2 + + + val inputVal = Nd4j.ones(1,4,1,1) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val filterVal = Nd4j.ones(1,1,1,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("input" to inputVal,"filter" to filterVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","filter"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "avgpool2d","maxpool2d" -> { + if(tensorflowOpDef.name == "AvgPool" || tensorflowOpDef.name == "MaxPool") { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + // {2, 2, 2, 2, 0, 0, 1, 1, 1, 1, 1} + val opNode = NodeDef { + Input("input") + op = tensorflowOpDef.name + name = "output" + Attribute("T", AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("ksize", AttrValue { + ListInts(listOf(1, 1, 1, 1)) + }) + Attribute("strides", AttrValue { + ListInts(listOf(1, 1, 1, 1)) + }) + Attribute("padding", AttrValue { + s = ByteString.copyFrom("SAME".toByteArray(Charset.defaultCharset())) + }) + Attribute("data_format", AttrValue { + s = ByteString.copyFrom("NHWC".toByteArray(Charset.defaultCharset())) + }) + } + + + val graphDef = GraphDef { + Node(input) + Node(opNode) + } + + val inputVal = Nd4j.ones(2,4,4,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + + val inputs = mapOf("input" to inputVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } else { //MaxPoolV2 + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val ksize = NodeDef { + name = "ksize" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_INT32 + }) + } + + val stride = NodeDef { + name = "stride" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + println("Running test import process for op ${tensorflowOpDef.name}") + // {2, 2, 2, 2, 0, 0, 1, 1, 1, 1, 1} + val opNode = NodeDef { + Input("input") + Input("ksize") + Input("stride") + op = tensorflowOpDef.name + name = "output" + Attribute("T", AttrValue { + type = DataType.DT_DOUBLE + }) + + Attribute("padding", AttrValue { + s = ByteString.copyFrom("SAME".toByteArray(Charset.defaultCharset())) + }) + Attribute("data_format", AttrValue { + s = ByteString.copyFrom("NHWC".toByteArray(Charset.defaultCharset())) + }) + } + + + val graphDef = GraphDef { + Node(input) + Node(ksize) + Node(stride) + Node(opNode) + } + + val inputVal = Nd4j.ones(2,4,4,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + val ksizeVal = Nd4j.create(floatArrayOf(1.0f,2.0f,2.0f,1.0f)).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val strideVal = Nd4j.create(floatArrayOf(1.0f,2.0f,2.0f,1.0f)).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val inputs = mapOf("input" to inputVal,"ksize" to ksizeVal,"stride" to strideVal) + + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("input","ksize","stride"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + } + + + "space_to_batch" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val paddings = NodeDef { + name = "paddings" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("paddings") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tpaddings",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("block_size",AttrValue { + i = 2 + }) + } + + + val graphDef = GraphDef { + Node(input) + Node(paddings) + Node(opNode) + } + + val inputVal = Nd4j.linspace(1,12,12).reshape(1,2,2,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val paddingsVal = Nd4j.zeros(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("input" to inputVal,"paddings" to paddingsVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","paddings"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + + "batch_to_space_nd" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val blockShape = NodeDef { + name = "block_shape" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("shape",AttrValue { + shape = TensorShapeProto { + Dims(listOf(3)) + } + }) + } + + val crops = NodeDef { + name = "crops" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("block_shape") + Input("crops") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tblock_shape",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("Tcrops",AttrValue { + type = DataType.DT_INT32 + }) + + } + + + val graphDef = GraphDef { + Node(input) + Node(blockShape) + Node(crops) + Node(opNode) + } + + val tVal = Nd4j.linspace(1,24,24).reshape(8,1,1,1,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val blockShapeVal = Nd4j.zeros(3).addi(2).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val cropsVal = Nd4j.zeros(3,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val inputs = mapOf("input" to tVal,"block_shape" to blockShapeVal,"crops" to cropsVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","block_shape","crops"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + "space_to_batch_nd" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val blockShape = NodeDef { + name = "block_shape" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("shape",AttrValue { + shape = TensorShapeProto { + Dims(listOf(3)) + } + }) + } + + val paddings = NodeDef { + name = "paddings" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("block_shape") + Input("paddings") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tblock_shape",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("Tpaddings",AttrValue { + type = DataType.DT_INT32 + }) + + } + + + val graphDef = GraphDef { + Node(input) + Node(blockShape) + Node(paddings) + Node(opNode) + } + + val tVal = Nd4j.linspace(1,48,48).reshape(2,2,4,3,1) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val blockShapeVal = Nd4j.create(floatArrayOf(2.0f,2.0f,3f)).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val paddingsVal = Nd4j.create(floatArrayOf(0f,0f,0f,2f,2f,1f)).reshape(3,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val inputs = mapOf("input" to tVal,"block_shape" to blockShapeVal,"paddings" to paddingsVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","block_shape","paddings"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + + "batch_to_space" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val crops = NodeDef { + name = "crops" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("crops") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tidx",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("block_size",AttrValue { + i = 2 + }) + } + + + val graphDef = GraphDef { + Node(input) + Node(crops) + Node(opNode) + } + + val tVal = Nd4j.linspace(1,12,12).reshape(4,1,1,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val cropsVal = Nd4j.zeros(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("input" to tVal,"crops" to cropsVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","crops"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + + "slice" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val begin = NodeDef { + name = "begin" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val size = NodeDef { + name = "size" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("begin") + Input("size") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Index",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val graphDef = GraphDef { + Node(input) + Node(begin) + Node(size) + Node(opNode) + } + + val tVal = Nd4j.linspace(1,12,12).reshape(3,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val beginVal = Nd4j.create(doubleArrayOf(0.0,1.0)).reshape(2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + val sizeVal = Nd4j.create(doubleArrayOf(0.0,1.0)).reshape(2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("input" to tVal,"begin" to beginVal,"size" to sizeVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","begin","size"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + + "ClipByValue" -> { + val t = NodeDef { + name = "t" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val clipValueMin = NodeDef { + name = "clip_value_min" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val clipValueMax = NodeDef { + name = "clip_value_max" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("t") + Input("clip_value_min") + Input("clip_value_max") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + val graphDef = GraphDef { + Node(t) + Node(clipValueMin) + Node(clipValueMax) + Node(opNode) + } + + val tVal = Nd4j.linspace(1,12,12).reshape(3,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val clipValueMinVal = Nd4j.scalar(0.0).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + val clipValueMaxVal = Nd4j.scalar(1.0).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + + val inputs = mapOf("t" to tVal,"clip_value_min" to clipValueMinVal,"clip_value_max" to clipValueMaxVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("t","clip_value_min","clip_value_max"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + + + + "squeeze" -> { + val value = NodeDef { + name = "value" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("value") + + op = tensorflowOpDef.name + name = "output" + Attribute("squeeze_dims",AttrValue { + ListInts(listOf(2)) + }) + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val graphDef = GraphDef { + Node(value) + Node(opNode) + } + + val valuesVal = Nd4j.linspace(1,12,12).reshape(3,4,1) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("value" to valuesVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("value"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + + "identity_n" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val input2 = NodeDef { + name = "input2" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("input2") + op = tensorflowOpDef.name + name = "output" + + Attribute("T",AttrValue { + ListDataType(listOf(DataType.DT_INT64,DataType.DT_INT64)) + }) + } + + + val out0 = NodeDef { + name = "out0" + Input("output:0") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + } + + val out1 = NodeDef { + name = "out1" + Input("output:1") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val graphDef = GraphDef { + Node(input) + Node(input2) + Node(opNode) + Node(out0) + Node(out1) + } + + + val inputVal = Nd4j.linspace(1,4,4) + .reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("input" to inputVal,"input2" to inputVal.dup()) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","input2"), + outputNames = listOf("out0","out1"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + + "shapes_of" -> { + val input1 = NodeDef { + name = "input1" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val input2 = NodeDef { + name = "input2" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val opNode = NodeDef { + Input("input1") + Input("input2") + + op = tensorflowOpDef.name + name = "output" + Attribute("N",AttrValue { + i = 2 + }) + + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("out_type",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val out0 = NodeDef { + name = "out0" + Input("output:0") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + } + + val out1 = NodeDef { + name = "out1" + Input("output:1") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + } + + + + val graphDef = GraphDef { + Node(input1) + Node(input2) + Node(opNode) + Node(out0) + Node(out1) + } + + val input1Val = Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + val input2Val = Nd4j.linspace(1,6,6).reshape(2,3).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("input1" to input1Val,"input2" to input2Val) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input1","input2"), + outputNames = listOf("out0","out1"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + + + "dynamic_stitch" -> { + val indices1 = NodeDef { + name = "indices" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val indices2 = NodeDef { + name = "indices2" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + val data0 = NodeDef { + name = "data0" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val data1 = NodeDef { + name = "data1" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("indices") + Input("indices2") + Input("data0") + Input("data1") + + op = tensorflowOpDef.name + name = "output" + Attribute("N",AttrValue { + i = 2 + }) + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + + + + val graphDef = GraphDef { + Node(indices1) + Node(indices2) + Node(data0) + Node(data1) + Node(opNode) + } + + val testGraph = GraphRunner.builder().graphBytes(graphDef.toByteArray()).build() + + val indicesVal = Nd4j.create(floatArrayOf(1.0f,3.0f)).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val indices2Val = Nd4j.create(floatArrayOf(5.0f,0.0f,2.0f,4.0f)).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val dataVal = Nd4j.create(floatArrayOf(-1f,-1f)).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + val data2Val = Nd4j.create(floatArrayOf(0.1f,5.2f,4.3f,7.4f)).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("indices" to indicesVal,"indices2" to indices2Val,"data0" to dataVal,"data1" to data2Val) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("indices","indices2","data0","data1"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + "dynamic_partition" -> { + val data = NodeDef { + name = "data" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val partitions = NodeDef { + name = "partitions" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("data") + Input("partitions") + + op = tensorflowOpDef.name + name = "output" + Attribute("num_partitions",AttrValue { + i = 2 + }) + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val out0 = NodeDef { + name = "out0" + Input("output:0") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val out1 = NodeDef { + name = "out1" + Input("output:1") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + } + + + + val graphDef = GraphDef { + Node(data) + Node(partitions) + Node(opNode) + Node(out0) + Node(out1) + } + + val testGraph = GraphRunner.builder().graphBytes(graphDef.toByteArray()).build() + + val partitionsVal = Nd4j.create(floatArrayOf(0f,0f,1f,1f,0f)).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val dataVal = Nd4j.create(floatArrayOf(10f, 20f, 30f, 40f, 50f)).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + val inputs = mapOf("data" to dataVal,"partitions" to partitionsVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("data","partitions"), + outputNames = listOf("out0","out1"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + + "split_v" -> { + val splitDim = NodeDef { + name = "split_dim" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + + val sizeSplits = NodeDef { + name = "size_splits" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val value = NodeDef { + name = "value" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("value") + Input("size_splits") + Input("split_dim") + + op = tensorflowOpDef.name + name = "output" + Attribute("num_split",AttrValue { + i = 2 + }) + Attribute("Tlen",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val out0 = NodeDef { + name = "out0" + Input("output:0") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + } + + val out1 = NodeDef { + name = "out1" + Input("output:1") + op = "Identity" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val graphDef = GraphDef { + Node(value) + Node(sizeSplits) + Node(splitDim) + Node(opNode) + Node(out0) + Node(out1) + } + + val splitDimVal = Nd4j.scalar(-2.0).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val sizeSplitsVal = Nd4j.create(floatArrayOf(5f,3f)).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + val valuesVal = Nd4j.linspace(1,56,56) + .reshape(8,7).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("split_dim" to splitDimVal,"value" to valuesVal,"size_splits" to sizeSplitsVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("value","size_splits","split_dim"), + outputNames = listOf("out0","out1"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + "split" -> { + val splitDim = NodeDef { + name = "split_dim" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val value = NodeDef { + name = "value" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("split_dim") + Input("value") + + op = tensorflowOpDef.name + name = "output" + Attribute("num_split",AttrValue { + i = 2 + }) + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val graphDef = GraphDef { + Node(splitDim) + Node(value) + Node(opNode) + } + + val concatDimVal = Nd4j.scalar(0.0).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val valuesVal = Nd4j.create(floatArrayOf(0f,1f,0f,1f)) + .reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("split_dim" to concatDimVal,"value" to valuesVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("split_dim","value"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + + + "matmul" -> { + val mmulInput = ArrayList() + listOf(false,true).forEach { transA -> + listOf(false,true).forEach { transB -> + val a = NodeDef { + name = "a" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val bNode = NodeDef { + name = "b" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("a") + Input("b") + + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("transpose_a",AttrValue { + b = transA + }) + Attribute("transpose_b",AttrValue { + b = transB + }) + } + + + val graphDef = GraphDef { + Node(a) + Node(bNode) + Node(opNode) + } + + val aVal = Nd4j.linspace(1,4,4).reshape(2,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + val bVal = Nd4j.create(floatArrayOf(0f,1f,0f,1f)) + .reshape(2,2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + + val inputs = mapOf("a" to aVal,"b" to bVal) + mmulInput.add(GraphInput( + graphDef =graphDef, + inputNames = listOf("a","b"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + } + + + return mmulInput + + + } + + "range" -> { + val start = NodeDef { + name = "start" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_INT32 + }) + } + + val limit = NodeDef { + name = "limit" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_INT32 + }) + } + + + val delta = NodeDef { + name = "delta" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_INT32 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("start") + Input("limit") + Input("delta") + op = tensorflowOpDef.name + name = "output" + Attribute("Tidx", AttrValue { + type = DataType.DT_INT32 + }) + } + + + val graphDef = GraphDef { + Node(start) + Node(limit) + Node(delta) + Node(opNode) + } + + val startVal = Nd4j.scalar(1) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val limitVal = Nd4j.scalar(1).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val deltaVal = Nd4j.scalar(1).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val inputs = mapOf("start" to startVal, "limit" to limitVal, "delta" to deltaVal) + + + return listOf( + GraphInput( + graphDef = graphDef, inputNames = listOf("start", "limit", "delta"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + ) + ) + + } + + "lin_space" -> { + val start = NodeDef { + name = "start" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val stop = NodeDef { + name = "stop" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + val num = NodeDef { + name = "num" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("start") + Input("stop") + Input("num") + op = tensorflowOpDef.name + name = "output" + Attribute("T", AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tidx", AttrValue { + type = DataType.DT_INT64 + }) + } + + + val graphDef = GraphDef { + Node(start) + Node(stop) + Node(num) + Node(opNode) + } + + val startVal = Nd4j.scalar(1) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + val limitVal = Nd4j.scalar(1).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + val deltaVal = Nd4j.scalar(1).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("start" to startVal,"stop" to + limitVal, "num" to deltaVal) + + + return listOf( + GraphInput( + graphDef = graphDef, + inputNames = listOf("start", "stop","num"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = mapOf("limit" to limitVal) + ) + ) + + } + + "gather","gather_nd" -> { + if(tensorflowOpDef.name != "GatherV2") { + val params = NodeDef { + name = "params" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val indices = NodeDef { + name = "indices" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("params") + Input("indices") + + op = tensorflowOpDef.name + name = "output" + Attribute("Tparams",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("Tindices",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val graphDef = GraphDef { + Node(params) + Node(indices) + Node(opNode) + } + + val paramsVal = Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + val indicesVal = Nd4j.create(floatArrayOf(0f,1f,0f,1f)) + .reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("params" to paramsVal,"indices" to indicesVal.dup()) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("params","indices"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } else { + val params = NodeDef { + name = "params" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val indices = NodeDef { + name = "indices" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val axis = NodeDef { + name = "axis" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("params") + Input("indices") + Input("axis") + op = tensorflowOpDef.name + name = "output" + Attribute("Tparams",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("Tindices",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("Taxis",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val graphDef = GraphDef { + Node(params) + Node(indices) + Node(axis) + Node(opNode) + } + + val paramsVal = Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + val indicesVal = Nd4j.create(floatArrayOf(0f,1f,0f,1f)) + .reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + val axisVal = Nd4j.scalar(0).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + val inputs = mapOf("params" to paramsVal,"indices" to indicesVal.dup(),"axis" to axisVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("params","indices","axis"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + } + "stack" -> { + val concat1 = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val concat2 = NodeDef { + name = "input2" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("input2") + + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("N",AttrValue { + i = 2 + }) + Attribute("axis",AttrValue { + i = 0 + }) + } + + + val graphDef = GraphDef { + Node(concat1) + Node(concat2) + Node(opNode) + } + + val inputVal = Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("input" to inputVal,"input2" to inputVal.dup()) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","input2"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "unstack" -> { + val concat1 = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("num",AttrValue { + i = 2 + }) + Attribute("axis",AttrValue { + i = 0 + }) + } + + + val graphDef = GraphDef { + Node(concat1) + Node(opNode) + } + + val inputVal = Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("input" to inputVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "mergesum" -> { + val concat1 = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val concat2 = NodeDef { + name = "input2" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("input2") + + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("N",AttrValue { + i = 2 + }) + } + + + val graphDef = GraphDef { + Node(concat1) + Node(concat2) + Node(opNode) + } + + val inputVal = Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("input" to inputVal,"input2" to inputVal.dup()) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","input2"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "merge" -> { + val concat1 = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val concat2 = NodeDef { + name = "input2" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("input2") + + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("N",AttrValue { + i = 2 + }) + } + + + val graphDef = GraphDef { + Node(concat1) + Node(concat2) + Node(opNode) + } + + val inputVal = Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("input" to inputVal,"input2" to inputVal.dup()) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","input2"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "mergeadd" -> { + val concat1 = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val concat2 = NodeDef { + name = "input2" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("input2") + + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("N",AttrValue { + i = 2 + }) + Attribute("shape",AttrValue { + shape = TensorShapeProto { + Dims(listOf(4,2)) + } + }) + } + + + val graphDef = GraphDef { + Node(concat1) + Node(concat2) + Node(opNode) + } + + val inputVal = Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("input" to inputVal,"input2" to inputVal.dup()) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","input2"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "concat" -> { + if(inputFrameworkOpName == "Concat") { + val concatDim = NodeDef { + name = "concat_dim" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("value",AttrValue { + tensor = TensorProto { + dtype = DataType.DT_INT32 + Int32Data(listOf(0)) + Shape(listOf()) + } + }) + } + val concat1 = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_INT64 + }) + } + + val concat2 = NodeDef { + name = "input2" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("concat_dim") + Input("input") + Input("input2") + + op = tensorflowOpDef.name + name = "output" + Attribute("T", AttrValue { + type = DataType.DT_INT64 + }) + Attribute("N", AttrValue { + i = 2 + }) + } + + + val graphDef = GraphDef { + Node(concatDim) + Node(concat1) + Node(concat2) + Node(opNode) + } + + val inputVal = Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("input" to inputVal,"input2" to inputVal.dup()) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","input2"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } else { //ConcatV2 + val concatDim = NodeDef { + name = "concat_dim" + op = "Const" + Attribute("dtype", AttrValue { + type = DataType.DT_INT32 + }) + Attribute("value",AttrValue { + tensor = TensorProto { + dtype = DataType.DT_INT32 + Int32Data(listOf(0)) + Shape(listOf()) + } + }) + } + val concat1 = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_INT64 + }) + } + + val concat2 = NodeDef { + name = "input2" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + Input("input2") + Input("concat_dim") + + op = tensorflowOpDef.name + name = "output" + Attribute("T", AttrValue { + type = DataType.DT_INT64 + }) + Attribute("N", AttrValue { + i = 2 + }) + } + + + val graphDef = GraphDef { + Node(concat1) + Node(concat2) + Node(concatDim) + Node(opNode) + } + + val inputVal = Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("input" to inputVal,"input2" to inputVal.dup()) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","input2"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + } + + "shape_of" -> { + val tensorNode = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("out_type",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + } + + val inputVal = Nd4j.create(floatArrayOf(1.0f,0.0f)).castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + + val inputs = mapOf("input" to inputVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "toggle_bits","invert_permutation" -> { + val tensorNode = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + println("Running test import process for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("input") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + } + + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + } + + val inputVal = Nd4j.create(floatArrayOf(1.0f,0.0f)).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val inputs = mapOf("input" to inputVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "reverse" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + + } + + val axis = NodeDef { + name = "axis" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + + } + + val opNode = NodeDef { + Input("input") + Input("axis") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("Tidx",AttrValue { + type = DataType.DT_INT32 + }) + } + + + + val graphDef = GraphDef { + Node(input) + Node(axis) + Node(opNode) + } + + + val inputVal = Nd4j.zeros(2,2).addi(0.5) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val axisVal = Nd4j.zeros(1).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val inputs = mapOf("input" to inputVal,"axis" to axisVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","axis"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "roll" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + + } + + val shift = NodeDef { + name = "shift" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + + } + + val axis = NodeDef { + name = "axis" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + + } + + val opNode = NodeDef { + Input("input") + Input("shift") + Input("axis") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("Tshift",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("Taxis",AttrValue { + type = DataType.DT_INT32 + }) + } + + + + val graphDef = GraphDef { + Node(input) + Node(shift) + Node(axis) + Node(opNode) + } + + + val inputVal = Nd4j.zeros(2,2).addi(0.5) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val shiftVal = Nd4j.zeros(2).addi(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val axisVal = Nd4j.zeros(2).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val inputs = mapOf("input" to inputVal,"shift" to shiftVal,"axis" to axisVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","shift","axis"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "tile" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + + } + + val multiples = NodeDef { + name = "multiples" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + + } + + val opNode = NodeDef { + Input("input") + Input("multiples") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("Tmultiples",AttrValue { + type = DataType.DT_INT32 + }) + } + + + + val graphDef = GraphDef { + Node(input) + Node(multiples) + Node(opNode) + } + + + val inputVal = Nd4j.zeros(2,2).addi(0.5) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val multiplesVal = Nd4j.zeros(2).addi(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val inputs = mapOf("input" to inputVal,"multiples" to multiplesVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input","multiples"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "leakyrelu" -> { + val a = NodeDef { + name = "a" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + + } + + val opNode = NodeDef { + Input("a") + + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("alpha",AttrValue { + f = 0.1f + }) + } + + + + val graphDef = GraphDef { + Node(a) + Node(opNode) + } + + + val aVal = Nd4j.zeros(2,2).addi(0.5) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + + val inputs = mapOf("a" to aVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("a"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + "betainc" -> { + val a = NodeDef { + name = "a" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val b = NodeDef { + name = "b" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val x = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val opNode = NodeDef { + Input("a") + Input("b") + Input("x") + + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + + val graphDef = GraphDef { + Node(a) + Node(b) + Node(x) + Node(opNode) + } + + + val aVal = Nd4j.zeros(2,2).addi(0.5) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val bVal = Nd4j.zeros(2,2).addi(0.5) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val xVal = Nd4j.zeros(2,2).addi(0.5) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val inputs = mapOf("a" to aVal,"b" to bVal,"x" to xVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("a","b","x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + "top_k" -> { + if(tensorflowOpDef.name == "TopK") { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + } + + + + val opNode = NodeDef { + Input("input") + op = tensorflowOpDef.name + name = "output" + Attribute("T", AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("k", AttrValue { + i = 2 + }) + } + + + + val graphDef = GraphDef { + Node(input) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + + val inputs = mapOf("input" to xVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } else { //TopKV2 + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val k = NodeDef { + name = "k" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("value",AttrValue { + tensor = TensorProto { + Int32Data(listOf(2)) + dtype = DataType.DT_INT32 + + } + }) + } + + val opNode = NodeDef { + Input("input") + Input("k") + op = tensorflowOpDef.name + name = "output" + Attribute("T", AttrValue { + type = DataType.DT_FLOAT + }) + + } + + + + val graphDef = GraphDef { + Node(input) + Node(k) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + + val inputs = mapOf("input" to xVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + } + "enter" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + val opNode = NodeDef { + Input("input") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("is_constant",AttrValue { + b = false + }) + Attribute("frame_name",AttrValue { + s = ByteString.copyFrom("hello".toByteArray(Charset.defaultCharset())) + }) + + } + + val graphDef = GraphDef { + Node(input) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 6, 6) + .reshape(2, 3) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val inputs = mapOf("input" to xVal) + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "Assert" -> { + val condition = NodeDef { + name = "condition" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_BOOL + }) + } + + val input = NodeDef { + name = "input" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("value",AttrValue { + tensor = TensorProto { + FloatData(listOf(0.0f)) + dtype = DataType.DT_FLOAT + + } + }) + } + + + val opNode = NodeDef { + Input("condition") + Input("input") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + ListDataType(listOf(DataType.DT_FLOAT)) + }) + + } + + val graphDef = GraphDef { + Node(condition) + Node(input) + Node(opNode) + } + + + val xVal = Nd4j.create(listOf(true,true,true,true).toBooleanArray()) + + val inputs = mapOf("condition" to xVal) + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("condition"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + + "bitcast" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val opNode = NodeDef { + Input("input") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("type",AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(input) + Node(opNode) + } + + + val xVal = Nd4j.zeros(2,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + + val inputs = mapOf("input" to xVal) + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "exit" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + val opNode = NodeDef { + Input("input") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + + } + + val graphDef = GraphDef { + Node(input) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 6, 6) + .reshape(2, 3) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val inputs = mapOf("input" to xVal) + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "expand_dims" -> { + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val n = NodeDef { + name = "dimension" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("value",AttrValue { + tensor = TensorProto { + Int32Data(listOf(0)) + dtype = DataType.DT_INT32 + + } + }) + } + + val opNode = NodeDef { + Input("input") + Input("dimension") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_INT32 + }) + + } + + val graphDef = GraphDef { + Node(input) + Node(n) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 6, 6) + .reshape(2, 3) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val inputs = mapOf("input" to xVal) + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "non_max_suppression","non_max_suppression_v3" -> { + if(inputFrameworkOpName == "NonMaxSuppression") { + val overlaps = NodeDef { + name = "overlaps" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val scores = NodeDef { + name = "scores" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + } + + val maxOutputSize = NodeDef { + name = "maxOutputSize" + op = "Const" + Attribute("dtype", AttrValue { + type = DataType.DT_INT32 + }) + Attribute("value", AttrValue { + tensor = TensorProto { + Int32Data(listOf(1)) + dtype = DataType.DT_INT32 + + } + }) + } + + + + val opNode = NodeDef { + Input("overlaps") + Input("scores") + Input("maxOutputSize") + op = tensorflowOpDef.name + name = "output" + Attribute("iou_threshold", AttrValue { + f = 0.5f + }) + } + + val graphDef = GraphDef { + Node(overlaps) + Node(scores) + Node(maxOutputSize) + Node(opNode) + } + + + + val overlapsVal = Nd4j.create(arrayOf( + floatArrayOf(0f,0f,1f,1f), + floatArrayOf(0f,0.1f,1f,1.1f), + floatArrayOf(0f,-0.1f,1f,0.9f), + floatArrayOf(0f,10f,1f,11f) + )).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val scoresVal = Nd4j.create(listOf(0.9f,0.75f,0.6f,0.95f).toFloatArray()) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val inputs = mapOf("overlaps" to overlapsVal,"scores" to scoresVal) + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("overlaps","scores"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + else if(inputFrameworkOpName == "NonMaxSuppressionV2") { + val overlaps = NodeDef { + name = "overlaps" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + } + + val scores = NodeDef { + name = "scores" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + } + + val maxOutputSize = NodeDef { + name = "maxOutputSize" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("value",AttrValue { + tensor = TensorProto { + Int32Data(listOf(1)) + dtype = DataType.DT_INT32 + + } + }) + } + + val iouThreshold = NodeDef { + name = "iouThreshold" + op = "Const" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("value", AttrValue { + tensor = TensorProto { + FloatData(listOf(0.5f)) + dtype = DataType.DT_FLOAT + + } + }) + } + + + + val opNode = NodeDef { + Input("overlaps") + Input("scores") + Input("maxOutputSize") + Input("iouThreshold") + op = tensorflowOpDef.name + name = "output" + + } + + val graphDef = GraphDef { + Node(overlaps) + Node(scores) + Node(iouThreshold) + Node(maxOutputSize) + Node(opNode) + } + + + + val overlapsVal = Nd4j.create(arrayOf( + floatArrayOf(0f,0f,1f,1f), + floatArrayOf(0f,0.1f,1f,1.1f), + floatArrayOf(0f,-0.1f,1f,0.9f), + floatArrayOf(0f,10f,1f,11f) + )).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val scoresVal = Nd4j.create(listOf(0.9f,0.75f,0.6f,0.95f).toFloatArray()) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val inputs = mapOf("overlaps" to overlapsVal,"scores" to scoresVal) + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("overlaps","scores"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } else { + //V3 and later + val overlaps = NodeDef { + name = "overlaps" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + } + + val scores = NodeDef { + name = "scores" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + } + + val maxOutputSize = NodeDef { + name = "maxOutputSize" + op = "Const" + Attribute("dtype", AttrValue { + type = DataType.DT_INT32 + }) + Attribute("value", AttrValue { + tensor = TensorProto { + Int32Data(listOf(1)) + dtype = DataType.DT_INT32 + + } + }) + } + + val overlapThreshold = NodeDef { + name = "iouThreshold" + op = "Const" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("value", AttrValue { + tensor = TensorProto { + FloatData(listOf(0.5f)) + dtype = DataType.DT_FLOAT + + } + }) + } + + val scoreThreshold = NodeDef { + name = "scoreThreshold" + op = "Const" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("value", AttrValue { + tensor = TensorProto { + FloatData(listOf(0.5f)) + dtype = DataType.DT_FLOAT + + } + }) + } + + val opNode = NodeDef { + Input("overlaps") + Input("scores") + Input("maxOutputSize") + Input("iouThreshold") + Input("scoreThreshold") + op = tensorflowOpDef.name + name = "output" + + } + + val graphDef = GraphDef { + Node(overlaps) + Node(scores) + Node(scoreThreshold) + Node(overlapThreshold) + Node(maxOutputSize) + Node(opNode) + } + + + + val overlapsVal = Nd4j.create(arrayOf( + floatArrayOf(0f,0f,1f,1f), + floatArrayOf(0f,0.1f,1f,1.1f), + floatArrayOf(0f,-0.1f,1f,0.9f), + floatArrayOf(0f,10f,1f,11f) + )).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val scoresVal = Nd4j.create(listOf(0.9f,0.75f,0.6f,0.95f).toFloatArray()) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val inputs = mapOf("overlaps" to overlapsVal,"scores" to scoresVal) + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("overlaps","scores"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + } + + "non_max_suppression_overlaps" -> { + val overlaps = NodeDef { + name = "overlaps" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val scores = NodeDef { + name = "scores" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val maxOutputSize = NodeDef { + name = "maxOutputSize" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("value",AttrValue { + tensor = TensorProto { + Int32Data(listOf(1)) + dtype = DataType.DT_INT32 + + } + }) + } + + val overlapThreshold = NodeDef { + name = "overlapThreshold" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("value",AttrValue { + tensor = TensorProto { + FloatData(listOf(2.0f)) + dtype = DataType.DT_FLOAT + + } + }) + } + + val scoreThreshold = NodeDef { + name = "scoreThreshold" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("value",AttrValue { + tensor = TensorProto { + FloatData(listOf(0.5f)) + dtype = DataType.DT_FLOAT + + } + }) + } + + val opNode = NodeDef { + Input("overlaps") + Input("scores") + Input("maxOutputSize") + Input("overlapThreshold") + Input("scoreThreshold") + op = tensorflowOpDef.name + name = "output" + + } + + val graphDef = GraphDef { + Node(overlaps) + Node(scores) + Node(scoreThreshold) + Node(overlapThreshold) + Node(maxOutputSize) + Node(opNode) + } + + + + val overlapsVal = Nd4j.create(arrayOf( + floatArrayOf(0f,0f,1f,1f), + floatArrayOf(0f,0.1f,1f,1.1f), + floatArrayOf(0f,-0.1f,1f,0.9f), + floatArrayOf(0f,10f,1f,11f) + )).castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val scoresVal = Nd4j.create(listOf(0.9f,0.75f,0.6f,0.95f).toFloatArray()) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val inputs = mapOf("overlaps" to overlapsVal,"scores" to scoresVal) + + return listOf(GraphInput( + graphDef = graphDef, + inputNames = listOf("overlaps","scores"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + + )) + } + + "nth_element" -> { + val ret = ArrayList() + listOf(true,false).forEach { reverse -> + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_INT32 + }) + } + + val n = NodeDef { + name = "n" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("value",AttrValue { + tensor = TensorProto { + Int32Data(listOf(2)) + dtype = DataType.DT_INT32 + + } + }) + } + + val opNode = NodeDef { + Input("input") + Input("n") + op = tensorflowOpDef.name + name = "output" + Attribute("T", AttrValue { + type = DataType.DT_INT32 + }) + + Attribute("reverse", AttrValue { + type = DataType.DT_BOOL + b = reverse + }) + + } + + val graphDef = GraphDef { + Node(input) + Node(n) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 6, 6) + .reshape(2, 3) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val inputs = mapOf("input" to xVal) + + ret.add(GraphInput( + graphDef =graphDef, inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + return ret + } + + + "cholesky" -> { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + val opNode = NodeDef { + Input("x") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + + } + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + } + + + val xVal = Nd4j.create(floatArrayOf(4f,12f,-16f, 12f ,37f,-43f, -16f, -43f, 98f)) + .reshape(3,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("x" to xVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + "matrix_diag_part" -> { + val retSolve = ArrayList() + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + + + val opNode = NodeDef { + Input("input") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + + + } + + val graphDef = GraphDef { + Node(input) + Node(opNode) + } + + + val inputVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + + val inputs = mapOf("input" to inputVal) + + + retSolve.add(GraphInput( + graphDef = graphDef, inputNames = listOf("input"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + + return retSolve + + } + + + "matrix_set_diag","matrix_diag_part" -> { + val retSolve = ArrayList() + val input = NodeDef { + name = "input" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val diagonal = NodeDef { + name = "diagonal" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + + val opNode = NodeDef { + Input("input") + Input("diagonal") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + + + } + + val graphDef = GraphDef { + Node(input) + Node(diagonal) + Node(opNode) + } + + + val inputVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val diagonalVal = Nd4j.zeros(2).addi(1) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("input" to inputVal,"diagonal" to diagonalVal) + + + retSolve.add(GraphInput( + graphDef = graphDef, inputNames = listOf("input","diagonal"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + + return retSolve + + } + + "solve","triangular_solve" -> { + val retSolve = ArrayList() + listOf(false,true).forEach { useAdjoint -> + val a = NodeDef { + name = "a" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val bNode = NodeDef { + name = "b" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + + val opNode = NodeDef { + Input("a") + Input("b") + op = tensorflowOpDef.name + name = "output" + Attribute("T", AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("adjoint", AttrValue { + b = useAdjoint + }) + + } + + val graphDef = GraphDef { + Node(a) + Node(bNode) + Node(opNode) + } + + + val aVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val bVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("a" to aVal,"b" to bVal) + + + retSolve.add(GraphInput( + graphDef = graphDef, inputNames = listOf("a","b"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + return retSolve + + } + + "matrix_determinant","log_matrix_determinant" -> { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + val opNode = NodeDef { + Input("x") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + + } + + val finalResult = NodeDef { + Input("output:1") + op = "Identity" + name = "finalResult" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + + } + + if(nd4jOpName == "log_matrix_determinant") { + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + Node(finalResult) + } + + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("x" to xVal) + + + return listOf(GraphInput( + graphDef = graphDef, inputNames = listOf("x"), + outputNames = listOf("finalResult"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } else { + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("x" to xVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + } + + + "lu" -> { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + val opNode = NodeDef { + Input("x") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + + } + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("x" to xVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "matrix_inverse" -> { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + val opNode = NodeDef { + Input("x") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + + } + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("x" to xVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "in_top_k" -> { + if(tensorflowOpDef.name == "InTopK") { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + } + + val predictions = NodeDef { + name = "predictions" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_INT32 + }) + } + + val opNode = NodeDef { + Input("x") + Input("predictions") + op = tensorflowOpDef.name + name = "output" + Attribute("T", AttrValue { + type = DataType.DT_INT32 + }) + Attribute("k", AttrValue { + i = 2 + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(predictions) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val predictionsArr = Nd4j.linspace(1, 2, 2) + .reshape(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val inputs = mapOf("x" to xVal,"predictions" to predictionsArr) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("x","predictions"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } else { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_FLOAT + }) + } + + val predictions = NodeDef { + name = "predictions" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val k = NodeDef { + name = "k" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("value", AttrValue { + tensor = TensorProto { + Int32Data(listOf(2)) + dtype = DataType.DT_INT32 + + } + }) + } + + val opNode = NodeDef { + Input("x") + Input("predictions") + Input("k") + op = tensorflowOpDef.name + name = "output" + Attribute("T", AttrValue { + type = DataType.DT_INT32 + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(predictions) + Node(k) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val predictionsArr = Nd4j.linspace(1, 2, 2) + .reshape(2) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val inputs = mapOf("x" to xVal,"predictions" to predictionsArr) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("x","predictions"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + + } + + + "onehot" -> { + val indices = NodeDef { + name = "indices" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + val depth = NodeDef { + name = "depth" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("value",AttrValue { + tensor = TensorProto { + dtype = DataType.DT_INT32 + Int32Data(listOf(1)) + + } + }) + } + + val onValue = NodeDef { + name = "on" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("value",AttrValue { + tensor = TensorProto { + dtype = DataType.DT_INT64 + Int64Data(listOf(1)) + + } + }) + } + + + val offValue = NodeDef { + name = "off" + op = "Const" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("value",AttrValue { + tensor = TensorProto { + dtype = DataType.DT_INT64 + Int64Data(listOf(0)) + + } + }) + } + + + val opNode = NodeDef { + Input("indices") + Input("depth") + Input("on") + Input("off") + op = tensorflowOpDef.name + name = "output" + Attribute("TI",AttrValue { + type = DataType.DT_INT64 + }) + Attribute("T",AttrValue { + type = DataType.DT_INT64 + }) + + Attribute("axis",AttrValue { + i = 0 + }) + } + + + + val graphDef = GraphDef { + Node(indices) + Node(depth) + Node(onValue) + Node(offValue) + Node(opNode) + } + + + val indicesVal = Nd4j.linspace(1, 4, 4) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT64) + val inputs = mapOf("indices" to indicesVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("indices"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "cross" -> { + val a = NodeDef { + name = "a" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val b = NodeDef { + name = "b" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val opNode = NodeDef { + Input("a") + Input("b") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + + } + + + + val graphDef = GraphDef { + Node(a) + Node(b) + Node(opNode) + } + + + val aVal = Nd4j.linspace(1, 27, 27) + .reshape(3,3,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + val bVal = Nd4j.linspace(1, 27, 27) + .reshape(3,3,3) + .castTo(org.nd4j.linalg.api.buffer.DataType.FLOAT) + + + val inputs = mapOf("a" to aVal,"b" to bVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("a","b"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "transpose" -> { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val tensorNode2 = NodeDef { + op = "Const" + name = "perm" + Attribute("value",AttrValue { + tensor = TensorProto { + Int32Data(listOf(0,1)) + Shape(listOf(2)) + dtype = DataType.DT_INT32 + } + }) + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val opNode = NodeDef { + Input("x") + Input("perm") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tperm",AttrValue { + type = DataType.DT_INT32 + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(tensorNode2) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + + + val inputs = mapOf("x" to xVal) + + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + } + "relu", "relu6" -> { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + val opNode = NodeDef { + Input("x") + op = tensorflowOpDef.name + name = "output" + Attribute("T", AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("x" to xVal) + + return listOf(GraphInput( + graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + }, inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "depth_to_space","space_to_depth" -> { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + val opNode = NodeDef { + Input("x") + op = tensorflowOpDef.name + name = "output" + Attribute("T", AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("data_format", AttrValue { + s = ByteString.copyFrom("NHWC".toByteArray(Charset.defaultCharset())) + }) + Attribute("block_size", AttrValue { + i = 2 + }) + } + + val xVal = Nd4j.linspace(1, 256, 256) + .reshape(4, 4,4,4) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("x" to xVal) + + return listOf(GraphInput( + graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + }, inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "softmax","digamma","diag","diag_part","lgamma" -> { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + val opNode = NodeDef { + Input("x") + op = tensorflowOpDef.name + name = "output" + Attribute("T", AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("x" to xVal) + + return listOf(GraphInput( + graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + }, inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "cumsum","cumprod" -> { + val ret = ArrayList() + listOf(false,true).forEach { reverse -> + listOf(false,true).forEach { exclusive -> + val inputNames = listOf("x") + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val dimensions = listOf(1) + val tensorNode2 = NodeDef { + op = "Const" + name = "dimensions" + Attribute("value",AttrValue { + tensor = TensorProto { + Int32Data(dimensions) + dtype = DataType.DT_INT32 + tensorShape = TensorShapeProto { + Dims(listOf()) + } + } + }) + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val opNode = NodeDef { + Input("x") + Input("dimensions") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("exclusive",AttrValue { + b = exclusive + }) + + Attribute("reverse",AttrValue { + b = reverse + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(tensorNode2) + Node(opNode) + } + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + + val inputs = mapOf("x" to xVal) + ret.add(GraphInput( + graphDef =graphDef, inputNames = inputNames, + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + } + + return ret + + } + + "Assert" -> { + val tensorNode = NodeDef { + name = "condition" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_BOOL + }) + } + + val tensorNode2 = NodeDef { + op = "Placeholder" + name = "data" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + println("Running op def for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("condition") + Input("data") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + ListDataType(listOf(DataType.DT_DOUBLE)) + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + Node(tensorNode2) + } + + val inputs = mapOf("data" to Nd4j.linspace(1,4,4).castTo( + org.nd4j.linalg.api.buffer.DataType.DOUBLE + ),"condition" to Nd4j.ones(2).addi(1).castTo(org.nd4j.linalg.api.buffer.DataType.BOOL)) + return listOf(GraphInput(graphDef = graphDef, + inputNames = listOf("condition","data"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs)) + } + + + "Where" -> { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + println("Running op def for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + Input("x") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + } + + val inputs = mapOf("x" to Nd4j.linspace(1,4,4).castTo( + org.nd4j.linalg.api.buffer.DataType.DOUBLE + )) + return listOf(GraphInput(graphDef = graphDef,inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs)) + } + + + + "boolean_or" -> { + println("Running op def for op ${tensorflowOpDef.name}") + val inputNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_BOOL + }) + } + + + val secondNode = NodeDef { + name = "y" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_BOOL + }) + } + + val opNode = NodeDef { + Input("x") + Input("y") + name = "and" + op = tensorflowOpDef.name + } + + + val inputs = mapOf("x" to Nd4j.ones(2,2).castTo( + org.nd4j.linalg.api.buffer.DataType.BOOL + ), "y" to Nd4j.zeros(2,2).castTo( + org.nd4j.linalg.api.buffer.DataType.BOOL + )) + + + val graphDef = GraphDef { + Node(inputNode) + Node(secondNode) + Node(opNode) + } + + return listOf(GraphInput(graphDef = graphDef,inputNames = listOf("x","y"), + outputNames = listOf("and"), + inputArrays = inputs, + dynamicArrays = inputs)) + } + + + "boolean_and" -> { + println("Running op def for op ${tensorflowOpDef.name}") + val inputNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_BOOL + }) + } + + + val secondNode = NodeDef { + name = "y" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_BOOL + }) + } + + val opNode = NodeDef { + Input("x") + Input("y") + name = "and" + op = tensorflowOpDef.name + } + + + val inputs = mapOf("x" to Nd4j.ones(2,2).castTo( + org.nd4j.linalg.api.buffer.DataType.BOOL + ), "y" to Nd4j.zeros(2,2).castTo( + org.nd4j.linalg.api.buffer.DataType.BOOL + )) + + + val graphDef = GraphDef { + Node(inputNode) + Node(secondNode) + Node(opNode) + } + + return listOf(GraphInput(graphDef = graphDef,inputNames = listOf("x","y"), + outputNames = listOf("and"), + inputArrays = inputs, + dynamicArrays = inputs)) + } + + + "igamma","igammac" -> { + println("Running op def for op ${tensorflowOpDef.name}") + val a = NodeDef { + name = "a" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val x = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + + val opNode = NodeDef { + Input("a") + Input("x") + name = "igamma" + op = tensorflowOpDef.name + Attribute("T",AttrValue { + type = DataType.DT_FLOAT + }) + } + + + val inputs = mapOf("a" to Nd4j.ones(2,2).castTo( + org.nd4j.linalg.api.buffer.DataType.FLOAT + ),"x" to Nd4j.ones(2,2).castTo( + org.nd4j.linalg.api.buffer.DataType.FLOAT + )) + + val graphDef = GraphDef { + Node(a) + Node(x) + Node(opNode) + } + + return listOf(GraphInput(graphDef = graphDef,inputNames = listOf("a","x"), + outputNames = listOf("igamma"), + inputArrays = inputs, + dynamicArrays = inputs)) + } + + "boolean_not" -> { + println("Running op def for op ${tensorflowOpDef.name}") + val inputNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_BOOL + }) + } + + + + + val opNode = NodeDef { + Input("x") + name = "not" + op = tensorflowOpDef.name + } + + + val inputs = mapOf("x" to Nd4j.ones(2,2).castTo( + org.nd4j.linalg.api.buffer.DataType.BOOL + )) + + val graphDef = GraphDef { + Node(inputNode) + Node(opNode) + } + + return listOf(GraphInput(graphDef = graphDef,inputNames = listOf("x"), + outputNames = listOf("not"), + inputArrays = inputs, + dynamicArrays = inputs)) + } + + + + "cast" -> { + println("Running op def for op ${tensorflowOpDef.name}") + val inputNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_FLOAT + }) + } + + val opNode = NodeDef { + Input("x") + name = "output" + op = tensorflowOpDef.name + Attribute("SrcT",AttrValue { + type = DataType.DT_FLOAT + }) + Attribute("DstT",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + + val graphDef = GraphDef { + Node(inputNode) + Node(opNode) + } + + val inputs = mapOf("x" to Nd4j.ones(2,2).castTo( + org.nd4j.linalg.api.buffer.DataType.FLOAT + )) + + return listOf(GraphInput(graphDef = graphDef, + inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = emptyMap())) + } + + "noop" -> { + println("Running op def for op ${tensorflowOpDef.name}") + val opNode = NodeDef { + name = "noop" + op = tensorflowOpDef.name + } + + + + val graphDef = GraphDef { + Node(opNode) + } + + return listOf(GraphInput(graphDef = graphDef, + inputNames = listOf(), + outputNames = listOf(), + inputArrays = emptyMap(), + dynamicArrays = emptyMap())) + } + + "While" -> { + println("Running op def for op ${tensorflowOpDef.name}") + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + ListDataType(listOf(DataType.DT_DOUBLE)) + }) + } + + + val opNode = NodeDef { + Input("x") + name = "while" + op = tensorflowOpDef.name + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + } + + val inputs = mapOf("x" to Nd4j.scalar(1.0)) + + return listOf(GraphInput(graphDef = graphDef,inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs)) + } + + "unique_with_counts","unique" -> { + println("Running op def for op ${tensorflowOpDef.name}") + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + if(tensorflowOpDef.name == "UniqueWithCountsV2" || tensorflowOpDef.name == "UniqueV2") { + val axis = NodeDef { + name = "axis" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT64 + }) + } + + + val opNode = NodeDef { + Input("x") + Input("axis") + name = "output" + op = tensorflowOpDef.name + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(axis) + Node(opNode) + } + + val inputs = mapOf("x" to Nd4j.linspace(1,4,4).reshape(2,2).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE), + "axis" to Nd4j.scalar(1).reshape(1).castTo(org.nd4j.linalg.api.buffer.DataType.INT64)) + + return listOf(GraphInput(graphDef = graphDef,inputNames = listOf("x","axis"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs)) + } + else { + val opNode = NodeDef { + Input("x") + name = "output" + op = tensorflowOpDef.name + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + } + + val inputs = mapOf("x" to Nd4j.linspace(1,4,4).castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE)) + + return listOf(GraphInput(graphDef = graphDef,inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs)) + } + + } + + + "pad" -> { + if(tensorflowOpDef.name == "Pad") { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val tensorNode2 = NodeDef { + op = "Placeholder" + name = "paddings" + Attribute("dtype", AttrValue { + type = DataType.DT_INT32 + }) + } + + val opNode = NodeDef { + Input("x") + Input("paddings") + op = tensorflowOpDef.name + name = "output" + Attribute("T", AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tpaddings", AttrValue { + type = DataType.DT_INT32 + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + Node(tensorNode2) + } + + val inputs = mapOf("x" to Nd4j.linspace(1,4,4).castTo( + org.nd4j.linalg.api.buffer.DataType.DOUBLE + ),"paddings" to Nd4j.ones(1,2).addi(1).castTo(org.nd4j.linalg.api.buffer.DataType.INT32)) + return listOf(GraphInput(graphDef = graphDef,inputNames = listOf("x","paddings"),outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs)) + } else if(tensorflowOpDef.name == "PadV2"){ + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val tensorNode2 = NodeDef { + op = "Placeholder" + name = "paddings" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val constantValues = NodeDef { + op = "Const" + name = "constant_values" + Attribute("value", AttrValue { + tensor = TensorProto { + DoubleData(listOf(1.0)) + dtype = DataType.DT_DOUBLE + tensorShape = TensorShapeProto { + Dims(listOf()) + } + } + }) + Attribute("dtype", AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val opNode = NodeDef { + Input("x") + Input("paddings") + Input("constant_values") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tpaddings",AttrValue { + type = DataType.DT_INT32 + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + Node(constantValues) + Node(tensorNode2) + + } + + val inputs = mapOf("x" to Nd4j.linspace(1,4,4).castTo( + org.nd4j.linalg.api.buffer.DataType.DOUBLE + ),"paddings" to Nd4j.ones(1,2).addi(1).castTo(org.nd4j.linalg.api.buffer.DataType.INT32)) + return listOf(GraphInput(graphDef = graphDef,inputNames = listOf("x","paddings"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs)) + } else { + throw IllegalArgumentException("Illegal mapping for padding op $tensorflowOpDef.name") + } + + } + + + "reshape" -> { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val tensorNode2 = NodeDef { + op = "Placeholder" + name = "shape" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val opNode = NodeDef { + Input("x") + Input("shape") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(opNode) + Node(tensorNode2) + } + + val inputs = mapOf("x" to Nd4j.linspace(1,4,4).castTo( + org.nd4j.linalg.api.buffer.DataType.DOUBLE + ),"shape" to Nd4j.ones(2).addi(1).castTo(org.nd4j.linalg.api.buffer.DataType.INT32)) + return listOf(GraphInput(graphDef = graphDef,inputNames = listOf("x","shape"),outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs)) + } + + "reduce_logsumexp" -> { + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val opNode = NodeDef { + Input("x") + Input("dimensions") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tidx",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("exclusive",AttrValue { + b = false + }) + } + + val dimensions = listOf(0) + val tensorNode2 = NodeDef { + op = "Const" + name = "dimensions" + Attribute("value",AttrValue { + tensor = TensorProto { + Int32Data(dimensions) + dtype = DataType.DT_INT32 + tensorShape = TensorShapeProto { + Dims(listOf()) + } + } + }) + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(tensorNode) + Node(tensorNode2) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("x" to xVal) + + return listOf(GraphInput( + graphDef =graphDef, inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + "argmin", "argmax" -> { + val ret = ArrayList() + listOf(true, false).forEach { keepDim -> + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype", AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val opNode = NodeDef { + Input("x") + Input("dimensions") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tidx",AttrValue { + type = DataType.DT_INT32 + }) + } + + val dimensions = listOf(0) + val tensorNode2 = NodeDef { + op = "Const" + name = "dimensions" + Attribute("value", AttrValue { + tensor = TensorProto { + Int32Data(dimensions) + dtype = DataType.DT_INT32 + tensorShape = TensorShapeProto { + Dims(listOf()) + } + } + }) + Attribute("dtype", AttrValue { + type = DataType.DT_INT32 + }) + } + + val graphDef = GraphDef { + Node(tensorNode) + Node(tensorNode2) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("x" to xVal) + + ret.add(GraphInput( + graphDef =graphDef, inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + return ret + } + + "pow" -> { + val ret = ArrayList() + val tensorNode = NodeDef { + name = "x" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val tensorNode2 = NodeDef { + op = "Const" + name = "y" + Attribute("value",AttrValue { + tensor = TensorProto { + DoubleData(listOf(1.0)) + dtype = DataType.DT_DOUBLE + tensorShape = TensorShapeProto { + Dims(listOf()) + } + } + }) + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val opNode = NodeDef { + Input("x") + Input("y") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(tensorNode2) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 4, 4) + .reshape(2, 2) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + val inputs = mapOf("x" to xVal) + + ret.add(GraphInput( + graphDef =graphDef, inputNames = listOf("x"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + return ret + } + + + + //scatter_div + //TODO: Revisit. TF op validation seems to be different than ours. + "scatter_add","scatter_sub","scatter_min","scatter_sub","scatter_min","scatter_mul","scatter_update","scatter_nd","scatter_nd_add","scatter_nd_sub","scatter_nd_update" -> { + val ret = ArrayList() + listOf(true,false).forEach { lock -> + val xRef = NodeDef { + name = "shape" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + val tensorNode2 = NodeDef { + op = "Placeholder" + name = "indices" + Attribute("dtype", AttrValue { + type = DataType.DT_INT32 + }) + } + + + val updates2 = NodeDef { + op = "Placeholder" + name = "updates" + Attribute("dtype", AttrValue { + type = DataType.DT_INT32 + }) + } + + val opNode = NodeDef { + Input("indices") + Input("updates") + Input("shape") + op = tensorflowOpDef.name + name = "output" + Attribute("T", AttrValue { + type = DataType.DT_INT32 + }) + Attribute("Tindices", AttrValue { + type = DataType.DT_INT32 + }) + } + + + val graphDef = GraphDef { + Node(xRef) + Node(tensorNode2) + Node(updates2) + Node(opNode) + } + + + //from testScatterOpGradients. + val shape = Nd4j.scalar(8).reshape(1).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val indices = Nd4j.create(floatArrayOf(4f,3f,1f,7f)).reshape(4,1) + .castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + val updates = Nd4j.linspace(1,4,4).reshape(4).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + + + val inputs = mapOf("shape" to shape,"updates" to updates,"indices" to indices) + + ret.add(GraphInput( + graphDef =graphDef, inputNames = listOf("indices","updates","shape"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + } + + + + + + + return ret + } + + + + + "segment_mean", "segment_min","segment_max","segment_prod","segment_sum" -> { + val ret = ArrayList() + val tensorNode = NodeDef { + name = "data" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val segmentIds = NodeDef { + op = "Placeholder" + name = "segment_ids" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + + val opNode = NodeDef { + Input("data") + Input("segment_ids") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tindices",AttrValue { + type = DataType.DT_INT32 + }) + + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(segmentIds) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 12, 12) + .reshape(3, 4) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + + val indices = Nd4j.create(floatArrayOf(1.0f,2.0f,3.0f)).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val inputs = mapOf("data" to xVal,"segment_ids" to indices) + + ret.add(GraphInput( + graphDef =graphDef, inputNames = listOf("data","segment_ids"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + + return ret + } + + + "unsorted_segment_sum", "unsorted_segment_prod","unsorted_segment_min","unsorted_segment_max" -> { + val ret = ArrayList() + val tensorNode = NodeDef { + name = "data" + op = "Placeholder" + Attribute("dtype",AttrValue { + type = DataType.DT_DOUBLE + }) + } + + val segmentIds = NodeDef { + op = "Placeholder" + name = "segment_ids" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + } + + val numSegmentsNode = NodeDef { + op = "Const" + name = "num_segments" + Attribute("dtype",AttrValue { + type = DataType.DT_INT32 + }) + + Attribute(name = "value",value = AttrValue { + tensor = TensorProto { + Shape(listOf()) + Int32Data(listOf(2)) + DataType(DataType.DT_INT32) + } + }) + } + + val opNode = NodeDef { + Input("data") + Input("segment_ids") + Input("num_segments") + op = tensorflowOpDef.name + name = "output" + Attribute("T",AttrValue { + type = DataType.DT_DOUBLE + }) + Attribute("Tindices",AttrValue { + type = DataType.DT_INT32 + }) + Attribute("Tnumsegments",AttrValue { + type = DataType.DT_INT32 + }) + } + + + + val graphDef = GraphDef { + Node(tensorNode) + Node(segmentIds) + Node(numSegmentsNode) + Node(opNode) + } + + + val xVal = Nd4j.linspace(1, 12, 12) + .reshape(3, 4) + .castTo(org.nd4j.linalg.api.buffer.DataType.DOUBLE) + + + val indices = Nd4j.create(floatArrayOf(0.0f,1.0f,0.0f)).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val numSegments = Nd4j.scalar(2).castTo(org.nd4j.linalg.api.buffer.DataType.INT32) + val inputs = mapOf("data" to xVal,"segment_ids" to indices,"num_segments" to numSegments) + + ret.add(GraphInput( + graphDef =graphDef, inputNames = listOf("data","segment_ids","num_segments"), + outputNames = listOf("output"), + inputArrays = inputs, + dynamicArrays = inputs + )) + + + return ret + } + + + else -> { + throw IllegalArgumentException("Illegal op name $inputFrameworkOpName") + } + } +} diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/test/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/importer/TestTensorflowImporter.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/test/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/importer/TestTensorflowImporter.kt new file mode 100644 index 000000000..d7987fbf0 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/test/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/importer/TestTensorflowImporter.kt @@ -0,0 +1,35 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.nd4j.samediff.frameworkimport.tensorflow.importer + +import junit.framework.Assert +import org.junit.Test +import org.nd4j.common.io.ClassPathResource + +class TestTensorflowImporter { + + @Test + fun testImporter() { + val tfFrameworkImport = TensorflowFrameworkImporter() + val tfFile = ClassPathResource("lenet_frozen.pb").file + val graph = tfFrameworkImport.runImport(tfFile.absolutePath) + //note this is just a test to make sure everything runs, we test the underlying import elsewhere + Assert.assertNotNull(graph) + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/test/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/loader/TestTensorflowProcessLoader.kt b/nd4j/samediff-import/samediff-import-tensorflow/src/test/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/loader/TestTensorflowProcessLoader.kt new file mode 100644 index 000000000..b34a4c0a0 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/test/kotlin/org/nd4j/samediff/frameworkimport/tensorflow/loader/TestTensorflowProcessLoader.kt @@ -0,0 +1,55 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.nd4j.samediff.frameworkimport.tensorflow.loader + +import junit.framework.Assert.assertEquals +import org.junit.Test +import org.nd4j.samediff.frameworkimport.opdefs.OpDescriptorLoaderHolder +import org.nd4j.samediff.frameworkimport.registry.OpMappingRegistry +import org.nd4j.samediff.frameworkimport.tensorflow.definitions.registry +import org.nd4j.samediff.frameworkimport.tensorflow.process.TensorflowMappingProcessLoader +import org.tensorflow.framework.* + +class TestTensorflowProcessLoader { + + @Test + fun testLoader() { + val tensorflowOpMappingRegistry = OpMappingRegistry( + "tensorflow", OpDescriptorLoaderHolder.nd4jOpDescriptor) + + val loader = TensorflowMappingProcessLoader(tensorflowOpMappingRegistry) + println(loader) + registry().inputFrameworkOpNames().forEach { name -> + if(registry().hasMappingOpProcess(name)) { + val process = registry().lookupOpMappingProcess(name) + val serialized = process.serialize() + val created = loader.createProcess(serialized) + assertEquals("Op name $name failed with process tensor rules ${process.tensorMappingRules()} and created tensor rules ${created.tensorMappingRules()} with attributes ${process.attributeMappingRules()} and created attribute rules ${created.attributeMappingRules()}",process,created) + } + + } + + } + + @Test + fun saveTest() { + registry().saveProcessesAndRuleSet() + } + +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/test/resources/lenet_frozen.pb b/nd4j/samediff-import/samediff-import-tensorflow/src/test/resources/lenet_frozen.pb new file mode 100644 index 000000000..25ad7a7bd Binary files /dev/null and b/nd4j/samediff-import/samediff-import-tensorflow/src/test/resources/lenet_frozen.pb differ diff --git a/nd4j/samediff-import/samediff-import-tensorflow/src/test/resources/logback.xml b/nd4j/samediff-import/samediff-import-tensorflow/src/test/resources/logback.xml new file mode 100644 index 000000000..54654d5ca --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/src/test/resources/logback.xml @@ -0,0 +1,49 @@ + + + + + + + + logs/application.log + + %logger{15} - %message%n%xException{5} + + + + + + + %logger{15} - %message%n%xException{5} + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/tensorflow-processes.pbtxt b/nd4j/samediff-import/samediff-import-tensorflow/tensorflow-processes.pbtxt new file mode 100644 index 000000000..9021af680 --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/tensorflow-processes.pbtxt @@ -0,0 +1,16089 @@ +mappings { + frameworkName: "tensorflow" + opName: "unique" + inputFrameworkOpName: "UniqueV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "UniqueV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "conv2d" + inputFrameworkOpName: "Conv2D" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "filter" + outputTensorName: "input" + outputTensorName: "weights" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "weights" + value: "filter" + } + ruleType: "tensor" + inputFrameworkOpName: "Conv2D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 4 + } + } + inputFrameworkOpName: "Conv2D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 5 + } + } + inputFrameworkOpName: "Conv2D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "wFormat" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "wFormat" + argType: INT64 + argIndex: 10 + } + } + inputFrameworkOpName: "Conv2D" + } + rule { + ruleName: "stringnotequalsadapterrule" + functionName: "stringnotequalsadapterrule" + inputStringAttrName: "data_format" + outputIntName: "isNCHW" + inputFloatName: "data_format" + inputToOutput { + key: "isNCHW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "isNCHW" + transformerArgs { + name: "data_format" + argIndex: 9 + stringValue: "NCHW" + } + } + inputFrameworkOpName: "Conv2D" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "padding" + inputStringAttrName: "padding" + outputIntName: "isSameMode" + inputToOutput { + key: "isSameMode" + value: "padding" + } + ruleType: "attribute" + transformerArgs { + key: "isSameMode" + transformerArgs { + name: "padding" + argType: STRING + argIndex: 8 + stringValue: "SAME" + } + } + inputFrameworkOpName: "Conv2D" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "sH" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "sH" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + inputFrameworkOpName: "Conv2D" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "sW" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "sW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + inputFrameworkOpName: "Conv2D" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "dH" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "dH" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "dH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 6 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 6 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 6 + stringValue: "dilations" + } + } + transformerArgs { + key: "dH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 6 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 6 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 6 + stringValue: "dilations" + } + } + transformerArgs { + key: "dH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 6 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 6 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 6 + stringValue: "dilations" + } + } + transformerArgs { + key: "dH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 6 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 6 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 6 + stringValue: "dilations" + } + } + inputFrameworkOpName: "Conv2D" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "dW" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "dW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "dW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 7 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 7 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 7 + stringValue: "dilations" + } + } + transformerArgs { + key: "dW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 7 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 7 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 7 + stringValue: "dilations" + } + } + transformerArgs { + key: "dW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 7 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 7 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 7 + stringValue: "dilations" + } + } + transformerArgs { + key: "dW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 7 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 7 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 7 + stringValue: "dilations" + } + } + inputFrameworkOpName: "Conv2D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "kH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "kH" + int64Value: -1 + argType: INT64 + } + } + inputFrameworkOpName: "Conv2D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "kW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "kW" + int64Value: -1 + argType: INT64 + argIndex: 1 + } + } + inputFrameworkOpName: "Conv2D" + } +} +mappings { + frameworkName: "tensorflow" + opName: "random_poisson" + inputFrameworkOpName: "RandomPoisson" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "shape" + inputTensorName: "rate" + outputTensorName: "shape" + outputTensorName: "lambda" + inputToOutput { + key: "shape" + value: "shape" + } + inputToOutput { + key: "lambda" + value: "rate" + } + ruleType: "tensor" + inputFrameworkOpName: "RandomPoisson" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "seed" + outputIntName: "seed" + inputToOutput { + key: "seed" + value: "seed" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomPoisson" + } +} +mappings { + frameworkName: "tensorflow" + opName: "maxpool2d" + inputFrameworkOpName: "MaxPool" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 4 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 5 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dW" + int64Value: 1 + argType: INT64 + argIndex: 6 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dH" + int64Value: 1 + argType: INT64 + argIndex: 7 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "extraParam0" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "extraParam0" + int64Value: 1 + argType: INT64 + argIndex: 9 + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "stringnotequalsadapterrule" + functionName: "stringnotequalsadapterrule" + inputStringAttrName: "data_format" + outputIntName: "isNCHW" + inputFloatName: "data_format" + inputToOutput { + key: "isNCHW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "isNCHW" + transformerArgs { + name: "data_format" + argIndex: 10 + stringValue: "NCHW" + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "padding" + inputStringAttrName: "padding" + outputIntName: "isSameMode" + inputToOutput { + key: "isSameMode" + value: "padding" + } + ruleType: "attribute" + transformerArgs { + key: "isSameMode" + transformerArgs { + name: "padding" + argType: STRING + argIndex: 8 + stringValue: "SAME" + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "sH" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "sH" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "sW" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "sW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "kH" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "kH" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "kH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + stringValue: "ksize" + } + } + transformerArgs { + key: "kH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + stringValue: "ksize" + } + } + transformerArgs { + key: "kH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + stringValue: "ksize" + } + } + transformerArgs { + key: "kH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + stringValue: "ksize" + } + } + inputFrameworkOpName: "MaxPool" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "kW" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "kW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "kW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 1 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 1 + stringValue: "ksize" + } + } + transformerArgs { + key: "kW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 1 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 1 + stringValue: "ksize" + } + } + transformerArgs { + key: "kW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 1 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 1 + stringValue: "ksize" + } + } + transformerArgs { + key: "kW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 1 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 1 + stringValue: "ksize" + } + } + inputFrameworkOpName: "MaxPool" + } +} +mappings { + frameworkName: "tensorflow" + opName: "size" + inputFrameworkOpName: "Size" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Size" + } +} +mappings { + frameworkName: "tensorflow" + opName: "squaredsubtract" + inputFrameworkOpName: "SquaredDifference" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "SquaredDifference" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "SquaredDifference" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "SquaredDifference" + } +} +mappings { + frameworkName: "tensorflow" + opName: "randomuniform" + inputFrameworkOpName: "StatelessRandomUniform" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "shape" + outputTensorName: "shape" + inputToOutput { + key: "shape" + value: "shape" + } + ruleType: "tensor" + inputFrameworkOpName: "StatelessRandomUniform" + } + rule { + ruleName: "datatypetoint" + functionName: "datatypetoint" + outputIntName: "dtype" + inputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "StatelessRandomUniform" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "dtype" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "StatelessRandomUniform" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "min" + inputFloatName: "max" + inputTensorName: "min" + inputTensorName: "max" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "min" + argType: DOUBLE + } + transformerArgs { + name: "max" + doubleValue: 1.0 + argType: DOUBLE + argIndex: 1 + } + transformerArgs { + name: "min" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 1 + } + transformerArgs { + name: "max" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 2 + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "min" + argType: DOUBLE + } + transformerArgs { + name: "max" + doubleValue: 1.0 + argType: DOUBLE + argIndex: 1 + } + transformerArgs { + name: "min" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 1 + } + transformerArgs { + name: "max" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 2 + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "min" + argType: DOUBLE + } + transformerArgs { + name: "max" + doubleValue: 1.0 + argType: DOUBLE + argIndex: 1 + } + transformerArgs { + name: "min" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 1 + } + transformerArgs { + name: "max" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 2 + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "min" + argType: DOUBLE + } + transformerArgs { + name: "max" + doubleValue: 1.0 + argType: DOUBLE + argIndex: 1 + } + transformerArgs { + name: "min" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 1 + } + transformerArgs { + name: "max" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 2 + } + } + inputFrameworkOpName: "StatelessRandomUniform" + } +} +mappings { + frameworkName: "tensorflow" + opName: "shift_bits" + inputFrameworkOpName: "LeftShift" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "LeftShift" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "LeftShift" + } +} +mappings { + frameworkName: "tensorflow" + opName: "isinf" + inputFrameworkOpName: "IsInf" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "IsInf" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "IsInf" + } +} +mappings { + frameworkName: "tensorflow" + opName: "digamma" + inputFrameworkOpName: "Digamma" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Digamma" + } +} +mappings { + frameworkName: "tensorflow" + opName: "random_shuffle" + inputFrameworkOpName: "RandomShuffle" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "value" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "value" + } + ruleType: "tensor" + inputFrameworkOpName: "RandomShuffle" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "seed" + outputIntName: "seeds" + inputToOutput { + key: "seeds" + value: "seed" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomShuffle" + } +} +mappings { + frameworkName: "tensorflow" + opName: "adjust_hue" + inputFrameworkOpName: "AdjustHue" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "images" + inputTensorName: "delta" + outputTensorName: "input" + outputTensorName: "delta" + inputToOutput { + key: "input" + value: "images" + } + inputToOutput { + key: "delta" + value: "delta" + } + ruleType: "tensor" + inputFrameworkOpName: "AdjustHue" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dimC" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dimC" + int64Value: -1 + argType: INT64 + } + } + inputFrameworkOpName: "AdjustHue" + } +} +mappings { + frameworkName: "tensorflow" + opName: "Assert" + inputFrameworkOpName: "Assert" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "condition" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "condition" + } + ruleType: "tensor" + inputFrameworkOpName: "Assert" + } +} +mappings { + frameworkName: "tensorflow" + opName: "matrix_determinant" + inputFrameworkOpName: "MatrixDeterminant" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "MatrixDeterminant" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "MatrixDeterminant" + } +} +mappings { + frameworkName: "tensorflow" + opName: "adjust_saturation" + inputFrameworkOpName: "AdjustSaturation" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "images" + inputTensorName: "scale" + outputTensorName: "input" + outputTensorName: "factor" + inputToOutput { + key: "input" + value: "images" + } + inputToOutput { + key: "factor" + value: "scale" + } + ruleType: "tensor" + inputFrameworkOpName: "AdjustSaturation" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dimC" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dimC" + int64Value: -1 + argType: INT64 + } + } + inputFrameworkOpName: "AdjustSaturation" + } +} +mappings { + frameworkName: "tensorflow" + opName: "ones_as" + inputFrameworkOpName: "OnesLike" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "OnesLike" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + outputIntName: "dataType" + inputDataTypeName: "T" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "OnesLike" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_min" + inputFrameworkOpName: "TensorScatterMin" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "tensor" + inputTensorName: "indices" + inputTensorName: "updates" + outputTensorName: "input" + outputTensorName: "indices" + outputTensorName: "updates" + inputToOutput { + key: "input" + value: "tensor" + } + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorScatterMin" + } +} +mappings { + frameworkName: "tensorflow" + opName: "squeeze" + inputFrameworkOpName: "Squeeze" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Squeeze" + } + rule { + ruleName: "listnumbertondarray" + functionName: "listnumbertondarray" + inputToOutput { + key: "a" + value: "squeeze_dims" + } + ruleType: "attribute" + inputFrameworkOpName: "Squeeze" + } + rule { + ruleName: "listnumbertolistnumber" + functionName: "listnumbertolistnumber" + outputIntName: "_a" + inputToOutput { + key: "_a" + value: "squeeze_dims" + } + ruleType: "attribute" + inputFrameworkOpName: "Squeeze" + } +} +mappings { + frameworkName: "tensorflow" + opName: "stack" + inputFrameworkOpName: "Pack" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "values" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "values" + } + ruleType: "tensor" + inputFrameworkOpName: "Pack" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "axis" + outputIntName: "dimensions" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dimensions" + value: "axis" + } + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Pack" + } +} +mappings { + frameworkName: "tensorflow" + opName: "unsorted_segment_prod" + inputFrameworkOpName: "UnsortedSegmentProd" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "segment_ids" + outputTensorName: "input" + outputTensorName: "idxSegments" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "idxSegments" + value: "segment_ids" + } + ruleType: "tensor" + inputFrameworkOpName: "UnsortedSegmentProd" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputIntName: "numSegments" + inputToOutput { + key: "numSegments" + value: "num_segments" + } + ruleType: "attribute" + inputFrameworkOpName: "UnsortedSegmentProd" + } +} +mappings { + frameworkName: "tensorflow" + opName: "subtract" + inputFrameworkOpName: "Sub" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "Sub" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Sub" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Sub" + } +} +mappings { + frameworkName: "tensorflow" + opName: "not_equals" + inputFrameworkOpName: "NotEqual" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "NotEqual" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "NotEqual" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "NotEqual" + } +} +mappings { + frameworkName: "tensorflow" + opName: "expm1" + inputFrameworkOpName: "Expm1" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Expm1" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Expm1" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Expm1" + } +} +mappings { + frameworkName: "tensorflow" + opName: "relu6" + inputFrameworkOpName: "Relu6" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "features" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "features" + } + ruleType: "tensor" + inputFrameworkOpName: "Relu6" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Relu6" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "cutoff" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + transformerArgs { + name: "cutoff" + argType: DOUBLE + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + transformerArgs { + name: "cutoff" + argType: DOUBLE + } + } + inputFrameworkOpName: "Relu6" + } +} +mappings { + frameworkName: "tensorflow" + opName: "reduce_sum" + inputFrameworkOpName: "Sum" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Sum" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "keep_dims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keep_dims" + } + ruleType: "attribute" + inputFrameworkOpName: "Sum" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + inputToOutput { + key: "dimensions" + value: "reduction_indices" + } + ruleType: "attribute" + inputFrameworkOpName: "Sum" + } +} +mappings { + frameworkName: "tensorflow" + opName: "dynamic_stitch" + inputFrameworkOpName: "DynamicStitch" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "indices" + outputTensorName: "index" + outputTensorName: "input" + inputToOutput { + key: "index" + value: "data" + } + inputToOutput { + key: "input" + value: "indices" + } + ruleType: "tensor" + inputFrameworkOpName: "DynamicStitch" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "N" + outputIntName: "numPartitions" + inputToOutput { + key: "numPartitions" + value: "N" + } + ruleType: "attribute" + inputFrameworkOpName: "DynamicStitch" + } +} +mappings { + frameworkName: "tensorflow" + opName: "argmax" + inputFrameworkOpName: "ArgMax" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "ArgMax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "keepDims" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "keepDims" + argType: BOOL + } + } + inputFrameworkOpName: "ArgMax" + } +} +mappings { + frameworkName: "tensorflow" + opName: "expand_dims" + inputFrameworkOpName: "ExpandDims" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "ExpandDims" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "dimensions" + inputToOutput { + key: "dimensions" + value: "dim" + } + ruleType: "attribute" + inputFrameworkOpName: "ExpandDims" + } +} +mappings { + frameworkName: "tensorflow" + opName: "reduce_min" + inputFrameworkOpName: "Min" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Min" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "keep_dims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keep_dims" + } + ruleType: "attribute" + inputFrameworkOpName: "Min" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + inputToOutput { + key: "dimensions" + value: "reduction_indices" + } + ruleType: "attribute" + inputFrameworkOpName: "Min" + } +} +mappings { + frameworkName: "tensorflow" + opName: "space_to_batch" + inputFrameworkOpName: "SpaceToBatch" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "paddings" + outputTensorName: "input" + outputTensorName: "padding" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "padding" + value: "paddings" + } + ruleType: "tensor" + inputFrameworkOpName: "SpaceToBatch" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "block_size" + outputIntName: "blockSize" + inputToOutput { + key: "blockSize" + value: "block_size" + } + ruleType: "attribute" + inputFrameworkOpName: "SpaceToBatch" + } +} +mappings { + frameworkName: "tensorflow" + opName: "bitwise_xor" + inputFrameworkOpName: "BitwiseXor" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "BitwiseXor" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "BitwiseXor" + } +} +mappings { + frameworkName: "tensorflow" + opName: "concat" + inputFrameworkOpName: "ParallelConcat" + rule { + ruleName: "multiinputindex" + functionName: "multiinputindex" + inputTensorName: "values" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "values" + } + ruleType: "tensor" + inputFrameworkOpName: "ParallelConcat" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "isDynamicAxis" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "isDynamicAxis" + argType: BOOL + } + } + inputFrameworkOpName: "ParallelConcat" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "ParallelConcat" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "concatDimension" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "concatDimension" + argType: INT64 + } + } + inputFrameworkOpName: "ParallelConcat" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_list" + inputFrameworkOpName: "TensorArrayScatterV3" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "value" + inputTensorName: "indices" + inputTensorName: "flow_in" + outputTensorName: "array" + outputTensorName: "sizes" + outputTensorName: "list" + inputToOutput { + key: "array" + value: "value" + } + inputToOutput { + key: "sizes" + value: "indices" + } + inputToOutput { + key: "list" + value: "flow_in" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayScatterV3" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArrayScatterV3" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_list" + inputFrameworkOpName: "TensorArrayScatterV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "value" + inputTensorName: "indices" + inputTensorName: "flow_in" + outputTensorName: "array" + outputTensorName: "sizes" + outputTensorName: "list" + inputToOutput { + key: "array" + value: "value" + } + inputToOutput { + key: "sizes" + value: "indices" + } + inputToOutput { + key: "list" + value: "flow_in" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayScatterV2" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArrayScatterV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "Pow" + inputFrameworkOpName: "Pow" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "Pow" + } +} +mappings { + frameworkName: "tensorflow" + opName: "split" + inputFrameworkOpName: "Split" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "split_dim" + inputTensorName: "value" + outputTensorName: "a" + outputTensorName: "b" + inputToOutput { + key: "a" + value: "split_dim" + } + inputToOutput { + key: "b" + value: "value" + } + ruleType: "tensor" + inputFrameworkOpName: "Split" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "num_split" + outputIntName: "numSplit" + inputToOutput { + key: "numSplit" + value: "num_split" + } + ruleType: "attribute" + inputFrameworkOpName: "Split" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "dimensions" + inputToOutput { + key: "dimensions" + value: "split_dim" + } + ruleType: "attribute" + inputFrameworkOpName: "Split" + } +} +mappings { + frameworkName: "tensorflow" + opName: "Where" + inputFrameworkOpName: "Where" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "condition" + inputToOutput { + key: "condition" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Where" + } +} +mappings { + frameworkName: "tensorflow" + opName: "svd" + inputFrameworkOpName: "Svd" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Svd" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + outputIntName: "fullUV" + inputBooleanName: "compute_uv" + inputBooleanName: "full_matrices" + outputBooleanName: "computeUv" + inputToOutput { + key: "computeUv" + value: "compute_uv" + } + inputToOutput { + key: "fullUV" + value: "full_matrices" + } + ruleType: "attribute" + inputFrameworkOpName: "Svd" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + outputIntName: "calcUV" + outputIntName: "fullUV" + inputBooleanName: "compute_uv" + inputBooleanName: "full_matrices" + inputToOutput { + key: "calcUV" + value: "compute_uv" + } + inputToOutput { + key: "fullUV" + value: "full_matrices" + } + ruleType: "attribute" + inputFrameworkOpName: "Svd" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "switchNum" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "switchNum" + int64Value: 16 + argType: INT64 + argIndex: 2 + } + } + inputFrameworkOpName: "Svd" + } +} +mappings { + frameworkName: "tensorflow" + opName: "acosh" + inputFrameworkOpName: "Acosh" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Acosh" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Acosh" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Acosh" + } +} +mappings { + frameworkName: "tensorflow" + opName: "placeholder" + inputFrameworkOpName: "Placeholder" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + ruleType: "tensor" + inputFrameworkOpName: "Placeholder" + } +} +mappings { + frameworkName: "tensorflow" + opName: "polygamma" + inputFrameworkOpName: "Polygamma" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "a" + inputTensorName: "x" + outputTensorName: "n" + outputTensorName: "input" + inputToOutput { + key: "n" + value: "a" + } + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Polygamma" + } +} +mappings { + frameworkName: "tensorflow" + opName: "equals" + inputFrameworkOpName: "ApproximateEqual" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "ApproximateEqual" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "ApproximateEqual" + } +} +mappings { + frameworkName: "tensorflow" + opName: "stop_gradient" + inputFrameworkOpName: "StopGradient" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "StopGradient" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "StopGradient" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_add" + inputFrameworkOpName: "TensorScatterAdd" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "tensor" + inputTensorName: "indices" + inputTensorName: "updates" + outputTensorName: "input" + outputTensorName: "indices" + outputTensorName: "updates" + inputToOutput { + key: "input" + value: "tensor" + } + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorScatterAdd" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "lock" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "lock" + argType: BOOL + } + } + inputFrameworkOpName: "TensorScatterAdd" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "checkIndices" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + } + inputFrameworkOpName: "TensorScatterAdd" + } +} +mappings { + frameworkName: "tensorflow" + opName: "avgpool2d" + inputFrameworkOpName: "AvgPool" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "value" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "value" + } + ruleType: "tensor" + inputFrameworkOpName: "AvgPool" + } + rule { + ruleName: "stringnotequalsadapterrule" + functionName: "stringnotequalsadapterrule" + inputStringAttrName: "data_format" + outputIntName: "isNCHW" + inputFloatName: "data_format" + inputToOutput { + key: "isNCHW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "isNCHW" + transformerArgs { + name: "data_format" + argIndex: 10 + stringValue: "NCHW" + } + } + inputFrameworkOpName: "AvgPool" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "padding" + inputStringAttrName: "padding" + outputIntName: "isSameMode" + inputToOutput { + key: "isSameMode" + value: "padding" + } + ruleType: "attribute" + transformerArgs { + key: "isSameMode" + transformerArgs { + name: "padding" + argType: STRING + argIndex: 8 + stringValue: "SAME" + } + } + inputFrameworkOpName: "AvgPool" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "sH" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "sH" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + inputFrameworkOpName: "AvgPool" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "sW" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "sW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + inputFrameworkOpName: "AvgPool" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "kH" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "kH" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "kH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + stringValue: "ksize" + } + } + transformerArgs { + key: "kH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + stringValue: "ksize" + } + } + transformerArgs { + key: "kH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + stringValue: "ksize" + } + } + transformerArgs { + key: "kH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + stringValue: "ksize" + } + } + inputFrameworkOpName: "AvgPool" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "kW" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "kW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "kW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 1 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 1 + stringValue: "ksize" + } + } + transformerArgs { + key: "kW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 1 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 1 + stringValue: "ksize" + } + } + transformerArgs { + key: "kW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 1 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 1 + stringValue: "ksize" + } + } + transformerArgs { + key: "kW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 1 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 1 + stringValue: "ksize" + } + } + inputFrameworkOpName: "AvgPool" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pH" + inputIntName: "pW" + inputIntName: "dW" + inputIntName: "dH" + inputIntName: "extraParam0" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 4 + } + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 5 + } + transformerArgs { + name: "dW" + int64Value: 1 + argType: INT64 + argIndex: 6 + } + transformerArgs { + name: "dH" + int64Value: 1 + argType: INT64 + argIndex: 7 + } + transformerArgs { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 4 + } + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 5 + } + transformerArgs { + name: "dW" + int64Value: 1 + argType: INT64 + argIndex: 6 + } + transformerArgs { + name: "dH" + int64Value: 1 + argType: INT64 + argIndex: 7 + } + transformerArgs { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 4 + } + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 5 + } + transformerArgs { + name: "dW" + int64Value: 1 + argType: INT64 + argIndex: 6 + } + transformerArgs { + name: "dH" + int64Value: 1 + argType: INT64 + argIndex: 7 + } + transformerArgs { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 4 + } + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 5 + } + transformerArgs { + name: "dW" + int64Value: 1 + argType: INT64 + argIndex: 6 + } + transformerArgs { + name: "dH" + int64Value: 1 + argType: INT64 + argIndex: 7 + } + transformerArgs { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 4 + } + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 5 + } + transformerArgs { + name: "dW" + int64Value: 1 + argType: INT64 + argIndex: 6 + } + transformerArgs { + name: "dH" + int64Value: 1 + argType: INT64 + argIndex: 7 + } + transformerArgs { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + } + inputFrameworkOpName: "AvgPool" + } +} +mappings { + frameworkName: "tensorflow" + opName: "unique_with_counts" + inputFrameworkOpName: "UniqueWithCountsV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "UniqueWithCountsV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "depthwise_conv2d" + inputFrameworkOpName: "DepthwiseConv2dNative" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "filter" + outputTensorName: "input" + outputTensorName: "weights" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "weights" + value: "filter" + } + ruleType: "tensor" + inputFrameworkOpName: "DepthwiseConv2dNative" + } + rule { + ruleName: "stringnotequalsadapterrule" + functionName: "stringnotequalsadapterrule" + inputStringAttrName: "data_format" + outputIntName: "isNCHW" + inputFloatName: "data_format" + inputToOutput { + key: "isNCHW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "isNCHW" + transformerArgs { + name: "data_format" + argIndex: 9 + stringValue: "NCHW" + } + } + inputFrameworkOpName: "DepthwiseConv2dNative" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "padding" + inputStringAttrName: "padding" + outputIntName: "isSameMode" + inputToOutput { + key: "isSameMode" + value: "padding" + } + ruleType: "attribute" + transformerArgs { + key: "isSameMode" + transformerArgs { + name: "padding" + argType: STRING + argIndex: 8 + stringValue: "SAME" + } + } + inputFrameworkOpName: "DepthwiseConv2dNative" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "sH" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "sH" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + inputFrameworkOpName: "DepthwiseConv2dNative" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "sW" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "sW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + inputFrameworkOpName: "DepthwiseConv2dNative" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "dH" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "dH" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "dH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 6 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 6 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 6 + stringValue: "dilations" + } + } + transformerArgs { + key: "dH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 6 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 6 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 6 + stringValue: "dilations" + } + } + transformerArgs { + key: "dH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 6 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 6 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 6 + stringValue: "dilations" + } + } + transformerArgs { + key: "dH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 6 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 6 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 6 + stringValue: "dilations" + } + } + inputFrameworkOpName: "DepthwiseConv2dNative" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "dW" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "dW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "dW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 7 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 7 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 7 + stringValue: "dilations" + } + } + transformerArgs { + key: "dW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 7 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 7 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 7 + stringValue: "dilations" + } + } + transformerArgs { + key: "dW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 7 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 7 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 7 + stringValue: "dilations" + } + } + transformerArgs { + key: "dW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 7 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 7 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 7 + stringValue: "dilations" + } + } + inputFrameworkOpName: "DepthwiseConv2dNative" + } + rule { + ruleName: "ndarraysizeat" + functionName: "ndarraysizeat" + outputIntName: "kH" + inputFloatName: "filter" + inputToOutput { + key: "kH" + value: "filter" + } + ruleType: "attribute" + transformerArgs { + key: "kH" + transformerArgs { + name: "filter" + } + } + inputFrameworkOpName: "DepthwiseConv2dNative" + } + rule { + ruleName: "ndarraysizeat" + functionName: "ndarraysizeat" + outputIntName: "kW" + inputFloatName: "filter" + inputToOutput { + key: "kW" + value: "filter" + } + ruleType: "attribute" + transformerArgs { + key: "kW" + transformerArgs { + name: "filter" + int64Value: 1 + argIndex: 1 + } + } + inputFrameworkOpName: "DepthwiseConv2dNative" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pH" + inputIntName: "pW" + inputIntName: "wFormat" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 4 + } + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 5 + } + transformerArgs { + name: "wFormat" + argType: INT64 + argIndex: 10 + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 4 + } + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 5 + } + transformerArgs { + name: "wFormat" + argType: INT64 + argIndex: 10 + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 4 + } + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 5 + } + transformerArgs { + name: "wFormat" + argType: INT64 + argIndex: 10 + } + } + inputFrameworkOpName: "DepthwiseConv2dNative" + } +} +mappings { + frameworkName: "tensorflow" + opName: "log_matrix_determinant" + inputFrameworkOpName: "LogMatrixDeterminant" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "LogMatrixDeterminant" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "LogMatrixDeterminant" + } +} +mappings { + frameworkName: "tensorflow" + opName: "realdiv" + inputFrameworkOpName: "RealDiv" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "RealDiv" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "RealDiv" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "RealDiv" + } +} +mappings { + frameworkName: "tensorflow" + opName: "abs" + inputFrameworkOpName: "Abs" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Abs" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Abs" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Abs" + } +} +mappings { + frameworkName: "tensorflow" + opName: "identity" + inputFrameworkOpName: "VariableV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + ruleType: "tensor" + inputFrameworkOpName: "VariableV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "VariableV2" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "dtype" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "VariableV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "matrix_determinant" + inputFrameworkOpName: "BatchMatrixDeterminant" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "BatchMatrixDeterminant" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "MatrixDeterminant" + } +} +mappings { + frameworkName: "tensorflow" + opName: "maxpool3dnew" + inputFrameworkOpName: "MaxPool3D" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "extraParam0" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "extraParam0" + argType: INT64 + argIndex: 13 + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pD" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pD" + argType: INT64 + argIndex: 6 + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 7 + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 8 + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dD" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dD" + int64Value: 1 + argType: INT64 + argIndex: 9 + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dH" + int64Value: 1 + argType: INT64 + argIndex: 10 + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dW" + int64Value: 1 + argType: INT64 + argIndex: 11 + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "data_format" + inputStringAttrName: "data_format" + outputIntName: "isNCDHW" + inputToOutput { + key: "isNCDHW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "isNCDHW" + transformerArgs { + name: "data_format" + argType: STRING + argIndex: 14 + stringValue: "NDHWC" + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "padding" + inputStringAttrName: "padding" + outputIntName: "isSameMode" + inputToOutput { + key: "isSameMode" + value: "padding" + } + ruleType: "attribute" + transformerArgs { + key: "isSameMode" + transformerArgs { + name: "padding" + argType: STRING + argIndex: 12 + stringValue: "SAME" + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "kH" + inputToOutput { + key: "kH" + value: "ksize" + } + ruleType: "attribute" + transformerArgs { + key: "kH" + transformerArgs { + name: "index" + int64Value: 3 + argType: INT64 + argIndex: 2 + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "kW" + inputToOutput { + key: "kW" + value: "ksize" + } + ruleType: "attribute" + transformerArgs { + key: "kW" + transformerArgs { + name: "index" + int64Value: 2 + argType: INT64 + argIndex: 1 + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "kD" + inputToOutput { + key: "kD" + value: "ksize" + } + ruleType: "attribute" + transformerArgs { + key: "kD" + transformerArgs { + name: "index" + int64Value: 1 + argType: INT64 + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "sH" + inputToOutput { + key: "sH" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sH" + transformerArgs { + name: "index" + int64Value: 3 + argType: INT64 + argIndex: 5 + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "sW" + inputToOutput { + key: "sW" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sW" + transformerArgs { + name: "index" + int64Value: 2 + argType: INT64 + argIndex: 4 + } + } + inputFrameworkOpName: "MaxPool3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "sD" + inputToOutput { + key: "sD" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sD" + transformerArgs { + name: "index" + int64Value: 1 + argType: INT64 + argIndex: 3 + } + } + inputFrameworkOpName: "MaxPool3D" + } +} +mappings { + frameworkName: "tensorflow" + opName: "tensorarraywritev3" + inputFrameworkOpName: "TensorArrayWriteV3" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "handle" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "handle" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayWriteV3" + } +} +mappings { + frameworkName: "tensorflow" + opName: "softmax_cross_entropy_loss_with_logits" + inputFrameworkOpName: "SoftmaxCrossEntropyWithLogits" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "labels" + inputTensorName: "features" + outputTensorName: "labels" + outputTensorName: "logits" + inputToOutput { + key: "labels" + value: "labels" + } + inputToOutput { + key: "logits" + value: "features" + } + ruleType: "tensor" + inputFrameworkOpName: "SoftmaxCrossEntropyWithLogits" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "SoftmaxCrossEntropyWithLogits" + } +} +mappings { + frameworkName: "tensorflow" + opName: "segment_max" + inputFrameworkOpName: "SegmentMax" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "segment_ids" + outputTensorName: "input" + outputTensorName: "idxSegments" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "idxSegments" + value: "segment_ids" + } + ruleType: "tensor" + inputFrameworkOpName: "SegmentMax" + } +} +mappings { + frameworkName: "tensorflow" + opName: "conv3dnew" + inputFrameworkOpName: "Conv3D" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "filter" + outputTensorName: "input" + outputTensorName: "weights" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "weights" + value: "filter" + } + ruleType: "tensor" + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "data_format" + inputStringAttrName: "data_format" + outputIntName: "isNCDHW" + inputToOutput { + key: "isNCDHW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "isNCDHW" + transformerArgs { + name: "data_format" + argType: STRING + argIndex: 13 + stringValue: "NDHWC" + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "padding" + inputStringAttrName: "padding" + outputIntName: "paddingMode" + inputToOutput { + key: "paddingMode" + value: "padding" + } + ruleType: "attribute" + transformerArgs { + key: "paddingMode" + transformerArgs { + name: "padding" + argType: STRING + argIndex: 12 + stringValue: "SAME" + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "ndarraysizeat" + functionName: "ndarraysizeat" + outputIntName: "kD" + inputFloatName: "filter" + inputToOutput { + key: "kD" + value: "filter" + } + ruleType: "attribute" + transformerArgs { + key: "kD" + transformerArgs { + name: "filter" + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "ndarraysizeat" + functionName: "ndarraysizeat" + outputIntName: "kH" + inputFloatName: "filter" + inputToOutput { + key: "kH" + value: "filter" + } + ruleType: "attribute" + transformerArgs { + key: "kH" + transformerArgs { + name: "filter" + int64Value: 1 + argIndex: 1 + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "ndarraysizeat" + functionName: "ndarraysizeat" + outputIntName: "kW" + inputFloatName: "filter" + inputToOutput { + key: "kW" + value: "filter" + } + ruleType: "attribute" + transformerArgs { + key: "kW" + transformerArgs { + name: "filter" + int64Value: 2 + argIndex: 2 + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "sD" + inputToOutput { + key: "sD" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sD" + transformerArgs { + name: "index" + int64Value: 1 + argType: INT64 + argIndex: 3 + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "sH" + inputToOutput { + key: "sH" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sH" + transformerArgs { + name: "index" + int64Value: 2 + argType: INT64 + argIndex: 4 + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "sW" + inputToOutput { + key: "sW" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sW" + transformerArgs { + name: "index" + int64Value: 3 + argType: INT64 + argIndex: 5 + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 7 + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 8 + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 6 + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "dH" + inputToOutput { + key: "dH" + value: "dilations" + } + ruleType: "attribute" + transformerArgs { + key: "dH" + transformerArgs { + name: "index" + int64Value: 3 + argType: INT64 + argIndex: 11 + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "dW" + inputToOutput { + key: "dW" + value: "dilations" + } + ruleType: "attribute" + transformerArgs { + key: "dW" + transformerArgs { + name: "index" + int64Value: 2 + argType: INT64 + argIndex: 10 + } + } + inputFrameworkOpName: "Conv3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "dD" + inputToOutput { + key: "dD" + value: "dilations" + } + ruleType: "attribute" + transformerArgs { + key: "dD" + transformerArgs { + name: "index" + int64Value: 1 + argType: INT64 + argIndex: 9 + } + } + inputFrameworkOpName: "Conv3D" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_sub" + inputFrameworkOpName: "ScatterSub" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + inputTensorName: "updates" + inputTensorName: "ref" + outputTensorName: "indices" + outputTensorName: "updates" + outputTensorName: "input" + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + inputToOutput { + key: "input" + value: "ref" + } + ruleType: "tensor" + inputFrameworkOpName: "ScatterSub" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "lock" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "lock" + argType: BOOL + } + } + inputFrameworkOpName: "ScatterSub" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "checkIndices" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + } + inputFrameworkOpName: "ScatterSub" + } +} +mappings { + frameworkName: "tensorflow" + opName: "loop_cond" + inputFrameworkOpName: "LoopCond" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + ruleType: "tensor" + inputFrameworkOpName: "LoopCond" + } +} +mappings { + frameworkName: "tensorflow" + opName: "reverse" + inputFrameworkOpName: "ReverseV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "tensor" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "tensor" + } + ruleType: "tensor" + inputFrameworkOpName: "ReverseV2" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + inputToOutput { + key: "dimensions" + value: "axis" + } + ruleType: "attribute" + inputFrameworkOpName: "ReverseV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "rank" + inputFrameworkOpName: "Rank" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Rank" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Rank" + } +} +mappings { + frameworkName: "tensorflow" + opName: "erfc" + inputFrameworkOpName: "Erfc" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Erfc" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Erfc" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Erfc" + } +} +mappings { + frameworkName: "tensorflow" + opName: "divide" + inputFrameworkOpName: "Div" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "Div" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Div" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Div" + } +} +mappings { + frameworkName: "tensorflow" + opName: "pad" + inputFrameworkOpName: "Pad" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "paddings" + outputTensorName: "input" + outputTensorName: "paddings" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "paddings" + value: "paddings" + } + ruleType: "tensor" + inputFrameworkOpName: "Pad" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "mode" + inputFloatName: "padValue" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "mode" + argType: INT64 + } + transformerArgs { + name: "padValue" + argType: DOUBLE + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "mode" + argType: INT64 + } + transformerArgs { + name: "padValue" + argType: DOUBLE + } + } + inputFrameworkOpName: "Pad" + } +} +mappings { + frameworkName: "tensorflow" + opName: "sparse_softmax_cross_entropy_loss_with_logits" + inputFrameworkOpName: "SparseSoftmaxCrossEntropyWithLogits" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "labels" + inputTensorName: "features" + outputTensorName: "labels" + outputTensorName: "logits" + inputToOutput { + key: "labels" + value: "labels" + } + inputToOutput { + key: "logits" + value: "features" + } + ruleType: "tensor" + inputFrameworkOpName: "SparseSoftmaxCrossEntropyWithLogits" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "SparseSoftmaxCrossEntropyWithLogits" + } + indexOverrides { + key: 1 + value: 0 + } + indexOverrides { + key: 0 + value: 1 + } +} +mappings { + frameworkName: "tensorflow" + opName: "merge" + inputFrameworkOpName: "Merge" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "inputs" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "inputs" + } + ruleType: "tensor" + inputFrameworkOpName: "Merge" + } +} +mappings { + frameworkName: "tensorflow" + opName: "resize_nearest_neighbor" + inputFrameworkOpName: "ResizeNearestNeighbor" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "images" + inputTensorName: "size" + outputTensorName: "image" + outputTensorName: "newImageSize" + inputToOutput { + key: "image" + value: "images" + } + inputToOutput { + key: "newImageSize" + value: "size" + } + ruleType: "tensor" + inputFrameworkOpName: "ResizeNearestNeighbor" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "align_corners" + inputBooleanName: "half_pixel_centers" + outputBooleanName: "alignCorners" + outputBooleanName: "halfPixelCenter" + inputToOutput { + key: "alignCorners" + value: "align_corners" + } + inputToOutput { + key: "halfPixelCenter" + value: "half_pixel_centers" + } + ruleType: "attribute" + inputFrameworkOpName: "ResizeNearestNeighbor" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_min" + inputFrameworkOpName: "ScatterMin" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "ref" + inputTensorName: "indices" + inputTensorName: "updates" + outputTensorName: "input" + outputTensorName: "indices" + outputTensorName: "updates" + inputToOutput { + key: "input" + value: "ref" + } + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + ruleType: "tensor" + inputFrameworkOpName: "ScatterMin" + } +} +mappings { + frameworkName: "tensorflow" + opName: "check_numerics" + inputFrameworkOpName: "CheckNumericsV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "tensor" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "tensor" + } + ruleType: "tensor" + inputFrameworkOpName: "CheckNumericsV2" + } + rule { + ruleName: "convertinputstringtondarray" + functionName: "convertinputstringtondarray" + inputStringAttrName: "message" + inputToOutput { + key: "message" + value: "message" + } + ruleType: "attribute" + inputFrameworkOpName: "CheckNumericsV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "select" + inputFrameworkOpName: "Select" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "condition" + inputTensorName: "t" + inputTensorName: "e" + outputTensorName: "cond" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "cond" + value: "condition" + } + inputToOutput { + key: "input" + value: "t" + } + inputToOutput { + key: "y" + value: "e" + } + ruleType: "tensor" + inputFrameworkOpName: "Select" + } +} +mappings { + frameworkName: "tensorflow" + opName: "assign" + inputFrameworkOpName: "Assign" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "ref" + inputTensorName: "value" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "ref" + } + inputToOutput { + key: "y" + value: "value" + } + ruleType: "tensor" + inputFrameworkOpName: "Assign" + } +} +mappings { + frameworkName: "tensorflow" + opName: "size_list" + inputFrameworkOpName: "TensorArraySize" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "flow_in" + outputTensorName: "list" + inputToOutput { + key: "list" + value: "flow_in" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArraySize" + } +} +mappings { + frameworkName: "tensorflow" + opName: "rint" + inputFrameworkOpName: "Rint" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Rint" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Rint" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Rint" + } +} +mappings { + frameworkName: "tensorflow" + opName: "dilation2d" + inputFrameworkOpName: "Dilation2D" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "filter" + outputTensorName: "input" + outputTensorName: "weights" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "weights" + value: "filter" + } + ruleType: "tensor" + inputFrameworkOpName: "Dilation2D" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "padding" + inputStringAttrName: "padding" + outputBooleanName: "isSameMode" + inputToOutput { + key: "isSameMode" + value: "padding" + } + ruleType: "attribute" + transformerArgs { + key: "isSameMode" + transformerArgs { + name: "padding" + argType: STRING + stringValue: "SAME" + } + } + inputFrameworkOpName: "Dilation2D" + } + rule { + ruleName: "listnumbertolistnumber" + functionName: "listnumbertolistnumber" + outputIntName: "rates" + inputToOutput { + key: "rates" + value: "rates" + } + ruleType: "attribute" + inputFrameworkOpName: "Dilation2D" + } + rule { + ruleName: "listnumbertolistnumber" + functionName: "listnumbertolistnumber" + outputIntName: "strides" + inputToOutput { + key: "strides" + value: "strides" + } + ruleType: "attribute" + inputFrameworkOpName: "Dilation2D" + } +} +mappings { + frameworkName: "tensorflow" + opName: "avgpool3dnew" + inputFrameworkOpName: "AvgPool3D" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "extraParam0" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "extraParam0" + argType: INT64 + argIndex: 13 + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pD" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pD" + argType: INT64 + argIndex: 6 + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 7 + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 8 + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dD" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dD" + int64Value: 1 + argType: INT64 + argIndex: 9 + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dH" + int64Value: 1 + argType: INT64 + argIndex: 10 + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dW" + int64Value: 1 + argType: INT64 + argIndex: 11 + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "data_format" + inputStringAttrName: "data_format" + outputIntName: "isNCDHW" + inputToOutput { + key: "isNCDHW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "isNCDHW" + transformerArgs { + name: "data_format" + argType: STRING + argIndex: 14 + stringValue: "NDHWC" + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "padding" + inputStringAttrName: "padding" + outputIntName: "isSameMode" + inputToOutput { + key: "isSameMode" + value: "padding" + } + ruleType: "attribute" + transformerArgs { + key: "isSameMode" + transformerArgs { + name: "padding" + argType: STRING + argIndex: 12 + stringValue: "SAME" + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "kH" + inputToOutput { + key: "kH" + value: "ksize" + } + ruleType: "attribute" + transformerArgs { + key: "kH" + transformerArgs { + name: "index" + int64Value: 3 + argType: INT64 + argIndex: 2 + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "kW" + inputToOutput { + key: "kW" + value: "ksize" + } + ruleType: "attribute" + transformerArgs { + key: "kW" + transformerArgs { + name: "index" + int64Value: 2 + argType: INT64 + argIndex: 1 + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "kD" + inputToOutput { + key: "kD" + value: "ksize" + } + ruleType: "attribute" + transformerArgs { + key: "kD" + transformerArgs { + name: "index" + int64Value: 1 + argType: INT64 + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "sH" + inputToOutput { + key: "sH" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sH" + transformerArgs { + name: "index" + int64Value: 3 + argType: INT64 + argIndex: 5 + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "sW" + inputToOutput { + key: "sW" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sW" + transformerArgs { + name: "index" + int64Value: 2 + argType: INT64 + argIndex: 4 + } + } + inputFrameworkOpName: "AvgPool3D" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "sD" + inputToOutput { + key: "sD" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "sD" + transformerArgs { + name: "index" + int64Value: 1 + argType: INT64 + argIndex: 3 + } + } + inputFrameworkOpName: "AvgPool3D" + } +} +mappings { + frameworkName: "tensorflow" + opName: "add" + inputFrameworkOpName: "Add" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "Add" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Add" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Add" + } +} +mappings { + frameworkName: "tensorflow" + opName: "isfinite" + inputFrameworkOpName: "IsFinite" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "IsFinite" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "IsFinite" + } +} +mappings { + frameworkName: "tensorflow" + opName: "matrix_inverse" + inputFrameworkOpName: "BatchMatrixInverse" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "BatchMatrixInverse" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + boolValue: true + argType: BOOL + } + } + inputFrameworkOpName: "BatchMatrixInverse" + } +} +mappings { + frameworkName: "tensorflow" + opName: "rshift_bits" + inputFrameworkOpName: "RightShift" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "RightShift" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "RightShift" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "RightShift" + } +} +mappings { + frameworkName: "tensorflow" + opName: "elu" + inputFrameworkOpName: "Elu" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "features" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "features" + } + ruleType: "tensor" + inputFrameworkOpName: "Elu" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "alpha" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "alpha" + doubleValue: 1.0 + argType: DOUBLE + } + } + inputFrameworkOpName: "Elu" + } +} +mappings { + frameworkName: "tensorflow" + opName: "matrix_diag" + inputFrameworkOpName: "MatrixDiag" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "diagonal" + outputTensorName: "diagonal" + inputToOutput { + key: "diagonal" + value: "diagonal" + } + ruleType: "tensor" + inputFrameworkOpName: "MatrixDiag" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "MatrixDiag" + } +} +mappings { + frameworkName: "tensorflow" + opName: "draw_bounding_boxes" + inputFrameworkOpName: "DrawBoundingBoxesV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "images" + inputTensorName: "boxes" + inputTensorName: "colors" + outputTensorName: "images" + outputTensorName: "boxes" + outputTensorName: "colors" + inputToOutput { + key: "images" + value: "images" + } + inputToOutput { + key: "boxes" + value: "boxes" + } + inputToOutput { + key: "colors" + value: "colors" + } + ruleType: "tensor" + inputFrameworkOpName: "DrawBoundingBoxesV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "igamma" + inputFrameworkOpName: "Igamma" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "a" + inputTensorName: "x" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "a" + } + inputToOutput { + key: "y" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Igamma" + } +} +mappings { + frameworkName: "tensorflow" + opName: "matmul" + inputFrameworkOpName: "MatMul" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "a" + inputTensorName: "b" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "a" + } + inputToOutput { + key: "y" + value: "b" + } + ruleType: "tensor" + inputFrameworkOpName: "MatMul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "alpha" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "alpha" + doubleValue: 1.0 + argType: DOUBLE + } + } + inputFrameworkOpName: "MatMul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "beta" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "beta" + argType: DOUBLE + argIndex: 1 + } + } + inputFrameworkOpName: "MatMul" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + outputIntName: "transX" + outputIntName: "transY" + inputBooleanName: "transpose_a" + inputBooleanName: "transpose_b" + inputToOutput { + key: "transX" + value: "transpose_a" + } + inputToOutput { + key: "transY" + value: "transpose_b" + } + ruleType: "attribute" + inputFrameworkOpName: "MatMul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "transZ" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "transZ" + argType: INT64 + argIndex: 2 + } + } + inputFrameworkOpName: "MatMul" + } +} +mappings { + frameworkName: "tensorflow" + opName: "sinh" + inputFrameworkOpName: "Sinh" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Sinh" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Sinh" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Sinh" + } +} +mappings { + frameworkName: "tensorflow" + opName: "softplus" + inputFrameworkOpName: "Softplus" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "features" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "features" + } + ruleType: "tensor" + inputFrameworkOpName: "Softplus" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Softplus" + } +} +mappings { + frameworkName: "tensorflow" + opName: "identity" + inputFrameworkOpName: "Const" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + ruleType: "tensor" + inputFrameworkOpName: "Const" + } + rule { + ruleName: "ndarrayinputtondarray" + functionName: "ndarrayinputtondarray" + inputTensorName: "value" + inputToOutput { + key: "input" + value: "value" + } + ruleType: "attribute" + inputFrameworkOpName: "Const" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Const" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "dtype" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "Const" + } +} +mappings { + frameworkName: "tensorflow" + opName: "cumsum" + inputFrameworkOpName: "Cumsum" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "axis" + outputTensorName: "input" + outputTensorName: "dimensions" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "dimensions" + value: "axis" + } + ruleType: "tensor" + inputFrameworkOpName: "Cumsum" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputBooleanName: "exclusive" + inputBooleanName: "reverse" + outputBooleanName: "exclusive" + outputBooleanName: "reverse" + inputToOutput { + key: "exclusive" + value: "exclusive" + } + inputToOutput { + key: "reverse" + value: "reverse" + } + ruleType: "attribute" + inputFrameworkOpName: "Cumsum" + } +} +mappings { + frameworkName: "tensorflow" + opName: "zeroslike" + inputFrameworkOpName: "ZerosLike" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "ZerosLike" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "ZerosLike" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + outputIntName: "dataType" + inputDataTypeName: "T" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "ZerosLike" + } +} +mappings { + frameworkName: "tensorflow" + opName: "gather" + inputFrameworkOpName: "Gather" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "params" + inputTensorName: "indices" + outputTensorName: "input" + outputTensorName: "indices" + inputToOutput { + key: "input" + value: "params" + } + inputToOutput { + key: "indices" + value: "indices" + } + ruleType: "tensor" + inputFrameworkOpName: "Gather" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + ruleType: "attribute" + inputFrameworkOpName: "Gather" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Gather" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dimensions" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dimensions" + argType: INT64 + } + } + inputFrameworkOpName: "Gather" + } +} +mappings { + frameworkName: "tensorflow" + opName: "stack_list" + inputFrameworkOpName: "TensorArrayConcat" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "flow_in" + outputTensorName: "list" + inputToOutput { + key: "list" + value: "flow_in" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayConcat" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_nd_add" + inputFrameworkOpName: "ScatterNdAdd" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + inputTensorName: "updates" + inputTensorName: "ref" + outputTensorName: "indices" + outputTensorName: "updates" + outputTensorName: "input" + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + inputToOutput { + key: "input" + value: "ref" + } + ruleType: "tensor" + inputFrameworkOpName: "ScatterNdAdd" + } +} +mappings { + frameworkName: "tensorflow" + opName: "bitcast" + inputFrameworkOpName: "Bitcast" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Bitcast" + } + rule { + ruleName: "datatypetoint" + functionName: "datatypetoint" + outputIntName: "newType" + inputDataTypeName: "type" + inputToOutput { + key: "newType" + value: "type" + } + ruleType: "attribute" + inputFrameworkOpName: "Bitcast" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "type" + inputToOutput { + key: "dataType" + value: "type" + } + ruleType: "attribute" + inputFrameworkOpName: "Bitcast" + } +} +mappings { + frameworkName: "tensorflow" + opName: "bitwise_or" + inputFrameworkOpName: "BitwiseOr" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "BitwiseOr" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "BitwiseOr" + } +} +mappings { + frameworkName: "tensorflow" + opName: "gruCell" + inputFrameworkOpName: "GRUBlockCell" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "h_prev" + inputTensorName: "w_ru" + inputTensorName: "w_c" + inputTensorName: "b_ru" + inputTensorName: "b_c" + outputTensorName: "input" + outputTensorName: "hLast" + outputTensorName: "Wru" + outputTensorName: "Wc" + outputTensorName: "bru" + outputTensorName: "bc" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "hLast" + value: "h_prev" + } + inputToOutput { + key: "Wru" + value: "w_ru" + } + inputToOutput { + key: "Wc" + value: "w_c" + } + inputToOutput { + key: "bru" + value: "b_ru" + } + inputToOutput { + key: "bc" + value: "b_c" + } + ruleType: "tensor" + inputFrameworkOpName: "GRUBlockCell" + } +} +mappings { + frameworkName: "tensorflow" + opName: "randomuniform" + inputFrameworkOpName: "RandomUniform" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "shape" + outputTensorName: "shape" + inputToOutput { + key: "shape" + value: "shape" + } + ruleType: "tensor" + inputFrameworkOpName: "RandomUniform" + } + rule { + ruleName: "datatypetoint" + functionName: "datatypetoint" + outputIntName: "dtype" + inputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomUniform" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "dtype" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomUniform" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "min" + inputFloatName: "max" + inputTensorName: "min" + inputTensorName: "max" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "min" + argType: DOUBLE + } + transformerArgs { + name: "max" + doubleValue: 1.0 + argType: DOUBLE + argIndex: 1 + } + transformerArgs { + name: "min" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 1 + } + transformerArgs { + name: "max" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 2 + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "min" + argType: DOUBLE + } + transformerArgs { + name: "max" + doubleValue: 1.0 + argType: DOUBLE + argIndex: 1 + } + transformerArgs { + name: "min" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 1 + } + transformerArgs { + name: "max" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 2 + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "min" + argType: DOUBLE + } + transformerArgs { + name: "max" + doubleValue: 1.0 + argType: DOUBLE + argIndex: 1 + } + transformerArgs { + name: "min" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 1 + } + transformerArgs { + name: "max" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 2 + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "min" + argType: DOUBLE + } + transformerArgs { + name: "max" + doubleValue: 1.0 + argType: DOUBLE + argIndex: 1 + } + transformerArgs { + name: "min" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 1 + } + transformerArgs { + name: "max" + inputValue { + data_type: 11 + double_data: 1.0 + } + argType: INPUT_TENSOR + argIndex: 2 + } + } + inputFrameworkOpName: "RandomUniform" + } +} +mappings { + frameworkName: "tensorflow" + opName: "bitwise_and" + inputFrameworkOpName: "BitwiseAnd" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "BitwiseAnd" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "BitwiseAnd" + } +} +mappings { + frameworkName: "tensorflow" + opName: "enter" + inputFrameworkOpName: "Enter" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "Enter" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputStringAttrName: "frame_name" + outputStringAttrName: "frameName" + inputBooleanName: "is_constant" + outputBooleanName: "isConstant" + inputToOutput { + key: "isConstant" + value: "is_constant" + } + inputToOutput { + key: "frameName" + value: "frame_name" + } + ruleType: "attribute" + inputFrameworkOpName: "Enter" + } +} +mappings { + frameworkName: "tensorflow" + opName: "sin" + inputFrameworkOpName: "Sin" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Sin" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Sin" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Sin" + } +} +mappings { + frameworkName: "tensorflow" + opName: "unique" + inputFrameworkOpName: "Unique" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Unique" + } +} +mappings { + frameworkName: "tensorflow" + opName: "roll" + inputFrameworkOpName: "Roll" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "axis" + inputTensorName: "shift" + outputTensorName: "input" + outputTensorName: "dimensions" + outputTensorName: "shiftsI" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "dimensions" + value: "axis" + } + inputToOutput { + key: "shiftsI" + value: "shift" + } + ruleType: "tensor" + inputFrameworkOpName: "Roll" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "shift" + inputToOutput { + key: "shift" + value: "shift" + } + ruleType: "attribute" + inputFrameworkOpName: "Roll" + } +} +mappings { + frameworkName: "tensorflow" + opName: "in_top_k" + inputFrameworkOpName: "InTopK" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "targets" + inputTensorName: "predictions" + outputTensorName: "target" + outputTensorName: "predictions" + inputToOutput { + key: "target" + value: "targets" + } + inputToOutput { + key: "predictions" + value: "predictions" + } + ruleType: "tensor" + inputFrameworkOpName: "InTopK" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "k" + outputIntName: "k" + inputToOutput { + key: "k" + value: "k" + } + ruleType: "attribute" + inputFrameworkOpName: "InTopK" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "sorted" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "sorted" + boolValue: true + argType: BOOL + } + } + inputFrameworkOpName: "InTopK" + } +} +mappings { + frameworkName: "tensorflow" + opName: "reverse_sequence" + inputFrameworkOpName: "ReverseSequence" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "seq_lengths" + outputTensorName: "input" + outputTensorName: "seqLengths" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "seqLengths" + value: "seq_lengths" + } + ruleType: "tensor" + inputFrameworkOpName: "ReverseSequence" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "batch_dim" + inputIntName: "seq_dim" + outputIntName: "batchDim" + outputIntName: "seqDim" + inputToOutput { + key: "batchDim" + value: "batch_dim" + } + inputToOutput { + key: "seqDim" + value: "seq_dim" + } + ruleType: "attribute" + inputFrameworkOpName: "ReverseSequence" + } +} +mappings { + frameworkName: "tensorflow" + opName: "unsorted_segment_min" + inputFrameworkOpName: "UnsortedSegmentMin" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "segment_ids" + outputTensorName: "input" + outputTensorName: "idxSegments" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "idxSegments" + value: "segment_ids" + } + ruleType: "tensor" + inputFrameworkOpName: "UnsortedSegmentMin" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputIntName: "numSegments" + inputToOutput { + key: "numSegments" + value: "num_segments" + } + ruleType: "attribute" + inputFrameworkOpName: "UnsortedSegmentMin" + } +} +mappings { + frameworkName: "tensorflow" + opName: "rsqrt" + inputFrameworkOpName: "Rsqrt" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Rsqrt" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Rsqrt" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Rsqrt" + } +} +mappings { + frameworkName: "tensorflow" + opName: "split_list" + inputFrameworkOpName: "TensorArraySplit" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "lengths" + inputTensorName: "value" + inputTensorName: "value" + outputTensorName: "sizes" + outputTensorName: "list" + outputTensorName: "array" + inputToOutput { + key: "sizes" + value: "lengths" + } + inputToOutput { + key: "list" + value: "value" + } + inputToOutput { + key: "array" + value: "value" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArraySplit" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArraySplit" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_nd_update" + inputFrameworkOpName: "ScatterNdUpdate" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + inputTensorName: "updates" + inputTensorName: "ref" + outputTensorName: "indices" + outputTensorName: "updates" + outputTensorName: "input" + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + inputToOutput { + key: "input" + value: "ref" + } + ruleType: "tensor" + inputFrameworkOpName: "ScatterNdUpdate" + } +} +mappings { + frameworkName: "tensorflow" + opName: "rgb_to_hsv" + inputFrameworkOpName: "RGBToHSV" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "images" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "images" + } + ruleType: "tensor" + inputFrameworkOpName: "RGBToHSV" + } +} +mappings { + frameworkName: "tensorflow" + opName: "create" + inputFrameworkOpName: "Empty" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "shape" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "shape" + } + ruleType: "tensor" + inputFrameworkOpName: "Empty" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "init" + outputBooleanName: "init" + inputDataTypeName: "dtype" + outputDataTypeName: "outputType" + inputToOutput { + key: "init" + value: "init" + } + inputToOutput { + key: "outputType" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "Empty" + } + rule { + ruleName: "datatypetoint" + functionName: "datatypetoint" + inputDataTypeName: "dtype" + outputDataTypeName: "outputType" + inputToOutput { + key: "outputType" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "Empty" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "order" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "order" + int64Value: 99 + argType: INT64 + } + } + inputFrameworkOpName: "Empty" + } +} +mappings { + frameworkName: "tensorflow" + opName: "zeta" + inputFrameworkOpName: "Zeta" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "q" + outputTensorName: "input" + outputTensorName: "q" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "q" + value: "q" + } + ruleType: "tensor" + inputFrameworkOpName: "Zeta" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Zeta" + } +} +mappings { + frameworkName: "tensorflow" + opName: "lin_space" + inputFrameworkOpName: "LinSpace" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "start" + inputTensorName: "stop" + inputTensorName: "num" + outputTensorName: "start" + outputTensorName: "finish" + outputTensorName: "numOfElements" + inputToOutput { + key: "start" + value: "start" + } + inputToOutput { + key: "finish" + value: "stop" + } + inputToOutput { + key: "numOfElements" + value: "num" + } + ruleType: "tensor" + inputFrameworkOpName: "LinSpace" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputDoubleName: "stop" + inputToOutput { + key: "start" + value: "start" + } + inputToOutput { + key: "stop" + value: "stop" + } + ruleType: "attribute" + inputFrameworkOpName: "LinSpace" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "LinSpace" + } +} +mappings { + frameworkName: "tensorflow" + opName: "boolean_and" + inputFrameworkOpName: "LogicalAnd" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "LogicalAnd" + } +} +mappings { + frameworkName: "tensorflow" + opName: "random_gamma" + inputFrameworkOpName: "RandomGamma" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "shape" + inputTensorName: "alpha" + outputTensorName: "shape" + outputTensorName: "alpha" + inputToOutput { + key: "shape" + value: "shape" + } + inputToOutput { + key: "alpha" + value: "alpha" + } + ruleType: "tensor" + inputFrameworkOpName: "RandomGamma" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "seed" + outputIntName: "seed" + inputToOutput { + key: "seed" + value: "seed" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomGamma" + } +} +mappings { + frameworkName: "tensorflow" + opName: "pad" + inputFrameworkOpName: "PadV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "paddings" + outputTensorName: "input" + outputTensorName: "paddings" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "paddings" + value: "paddings" + } + ruleType: "tensor" + inputFrameworkOpName: "PadV2" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputDoubleName: "padValue" + inputToOutput { + key: "padValue" + value: "constant_values" + } + ruleType: "attribute" + inputFrameworkOpName: "PadV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "mode" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "mode" + argType: INT64 + } + } + inputFrameworkOpName: "PadV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "unsorted_segment_sum" + inputFrameworkOpName: "UnsortedSegmentSum" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "segment_ids" + outputTensorName: "input" + outputTensorName: "idxSegments" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "idxSegments" + value: "segment_ids" + } + ruleType: "tensor" + inputFrameworkOpName: "UnsortedSegmentSum" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputIntName: "numSegments" + inputToOutput { + key: "numSegments" + value: "num_segments" + } + ruleType: "attribute" + inputFrameworkOpName: "UnsortedSegmentSum" + } +} +mappings { + frameworkName: "tensorflow" + opName: "log1p" + inputFrameworkOpName: "Log1p" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Log1p" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Log1p" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Log1p" + } +} +mappings { + frameworkName: "tensorflow" + opName: "matrix_set_diag" + inputFrameworkOpName: "MatrixSetDiag" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "diagonal" + outputTensorName: "input" + outputTensorName: "diagonal" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "diagonal" + value: "diagonal" + } + ruleType: "tensor" + inputFrameworkOpName: "MatrixSetDiag" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "BatchMatrixSetDiag" + } +} +mappings { + frameworkName: "tensorflow" + opName: "dynamic_partition" + inputFrameworkOpName: "DynamicPartition" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "partitions" + outputTensorName: "input" + outputTensorName: "indices" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "indices" + value: "partitions" + } + ruleType: "tensor" + inputFrameworkOpName: "DynamicPartition" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "num_partitions" + outputIntName: "numPartitions" + inputToOutput { + key: "numPartitions" + value: "num_partitions" + } + ruleType: "attribute" + inputFrameworkOpName: "DynamicPartition" + } +} +mappings { + frameworkName: "tensorflow" + opName: "mod" + inputFrameworkOpName: "Mod" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "Mod" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Mod" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Mod" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_mul" + inputFrameworkOpName: "ScatterMul" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + inputTensorName: "updates" + inputTensorName: "ref" + outputTensorName: "indices" + outputTensorName: "updates" + outputTensorName: "input" + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + inputToOutput { + key: "input" + value: "ref" + } + ruleType: "tensor" + inputFrameworkOpName: "ScatterMul" + } +} +mappings { + frameworkName: "tensorflow" + opName: "broadcast_to" + inputFrameworkOpName: "BroadcastTo" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "shape" + outputTensorName: "input" + outputTensorName: "shape" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "shape" + value: "shape" + } + ruleType: "tensor" + inputFrameworkOpName: "BroadcastTo" + } +} +mappings { + frameworkName: "tensorflow" + opName: "random_poisson" + inputFrameworkOpName: "RandomPoissonV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "shape" + inputTensorName: "rate" + outputTensorName: "shape" + outputTensorName: "lambda" + inputToOutput { + key: "shape" + value: "shape" + } + inputToOutput { + key: "lambda" + value: "rate" + } + ruleType: "tensor" + inputFrameworkOpName: "RandomPoissonV2" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "seed" + outputIntName: "seed" + inputToOutput { + key: "seed" + value: "seed" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomPoissonV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "asin" + inputFrameworkOpName: "Asin" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Asin" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Asin" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Asin" + } +} +mappings { + frameworkName: "tensorflow" + opName: "space_to_depth" + inputFrameworkOpName: "SpaceToDepth" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "SpaceToDepth" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "block_size" + outputIntName: "block_size" + inputToOutput { + key: "block_size" + value: "block_size" + } + ruleType: "attribute" + inputFrameworkOpName: "SpaceToDepth" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "data_format" + inputStringAttrName: "data_format" + outputIntName: "isNHWC" + inputToOutput { + key: "isNHWC" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "isNHWC" + transformerArgs { + name: "data_format" + argType: STRING + argIndex: 1 + stringValue: "NHWC" + } + } + inputFrameworkOpName: "SpaceToDepth" + } +} +mappings { + frameworkName: "tensorflow" + opName: "tile" + inputFrameworkOpName: "Tile" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "multiples" + outputTensorName: "input" + outputTensorName: "reps_vector" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "reps_vector" + value: "multiples" + } + ruleType: "tensor" + inputFrameworkOpName: "Tile" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dimensions" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dimensions" + argType: INT64 + } + } + inputFrameworkOpName: "Tile" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "is_static_reps" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "is_static_reps" + boolValue: true + argType: BOOL + } + } + inputFrameworkOpName: "Tile" + } +} +mappings { + frameworkName: "tensorflow" + opName: "depth_to_space" + inputFrameworkOpName: "DepthToSpace" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "DepthToSpace" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "block_size" + outputIntName: "block_size" + inputToOutput { + key: "block_size" + value: "block_size" + } + ruleType: "attribute" + inputFrameworkOpName: "DepthToSpace" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "data_format" + inputStringAttrName: "data_format" + outputIntName: "isNHWC" + inputToOutput { + key: "isNHWC" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "isNHWC" + transformerArgs { + name: "data_format" + argType: STRING + argIndex: 1 + stringValue: "NHWC" + } + } + inputFrameworkOpName: "DepthToSpace" + } +} +mappings { + frameworkName: "tensorflow" + opName: "invert_permutation" + inputFrameworkOpName: "InvertPermutation" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "InvertPermutation" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "InvertPermutation" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "InvertPermutation" + } +} +mappings { + frameworkName: "tensorflow" + opName: "crop_and_resize" + inputFrameworkOpName: "CropAndResize" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "image" + inputTensorName: "boxes" + inputTensorName: "box_ind" + inputTensorName: "crop_size" + outputTensorName: "image" + outputTensorName: "boxes" + outputTensorName: "boxIndexes" + outputTensorName: "newImageSize" + inputToOutput { + key: "image" + value: "image" + } + inputToOutput { + key: "boxes" + value: "boxes" + } + inputToOutput { + key: "boxIndexes" + value: "box_ind" + } + inputToOutput { + key: "newImageSize" + value: "crop_size" + } + ruleType: "tensor" + inputFrameworkOpName: "CropAndResize" + } + rule { + ruleName: "stringtoindex" + functionName: "stringtoindex" + inputStringAttrName: "method" + outputIntName: "method" + inputFloatName: "bilinear" + inputFloatName: "nearest" + inputToOutput { + key: "method" + value: "method" + } + ruleType: "attribute" + transformerArgs { + key: "method" + transformerArgs { + name: "bilinear" + stringValue: "bilinear" + } + transformerArgs { + name: "nearest" + stringValue: "nearest" + } + } + transformerArgs { + key: "method" + transformerArgs { + name: "bilinear" + stringValue: "bilinear" + } + transformerArgs { + name: "nearest" + stringValue: "nearest" + } + } + inputFrameworkOpName: "CropAndResize" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "extrapolation_value" + outputDoubleName: "extrapolationVal" + inputToOutput { + key: "extrapolationVal" + value: "extrapolation_value" + } + ruleType: "attribute" + inputFrameworkOpName: "CropAndResize" + } +} +mappings { + frameworkName: "tensorflow" + opName: "read_list" + inputFrameworkOpName: "TensorArrayRead" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "handle" + outputTensorName: "list" + inputToOutput { + key: "list" + value: "handle" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayRead" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "dtype" + outputDataTypeName: "importDataType" + inputToOutput { + key: "importDataType" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArrayRead" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_nd" + inputFrameworkOpName: "ScatterNd" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + inputTensorName: "updates" + inputTensorName: "shape" + outputTensorName: "indices" + outputTensorName: "updates" + outputTensorName: "shape" + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + inputToOutput { + key: "shape" + value: "shape" + } + ruleType: "tensor" + inputFrameworkOpName: "ScatterNd" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "lock" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "lock" + argType: BOOL + } + } + inputFrameworkOpName: "ScatterNd" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "checkIndices" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + } + inputFrameworkOpName: "ScatterNd" + } +} +mappings { + frameworkName: "tensorflow" + opName: "strided_slice" + inputFrameworkOpName: "StridedSlice" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "begin" + inputTensorName: "end" + inputTensorName: "strides" + outputTensorName: "input" + outputTensorName: "v_begin" + outputTensorName: "v_end" + outputTensorName: "v_stride" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "v_begin" + value: "begin" + } + inputToOutput { + key: "v_end" + value: "end" + } + inputToOutput { + key: "v_stride" + value: "strides" + } + ruleType: "tensor" + inputFrameworkOpName: "StridedSlice" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "begin_mask" + inputIntName: "end_mask" + inputIntName: "ellipsis_mask" + inputIntName: "new_axis_mask" + inputIntName: "shrink_axis_mask" + outputIntName: "begin_mask" + outputIntName: "end_mask" + outputIntName: "ellipsis_mask" + outputIntName: "new_axis_mask" + outputIntName: "shrink_axis_mask" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "begin_mask" + value: "begin_mask" + } + inputToOutput { + key: "end_mask" + value: "end_mask" + } + inputToOutput { + key: "ellipsis_mask" + value: "ellipsis_mask" + } + inputToOutput { + key: "new_axis_mask" + value: "new_axis_mask" + } + inputToOutput { + key: "shrink_axis_mask" + value: "shrink_axis_mask" + } + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "StridedSlice" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_list" + inputFrameworkOpName: "TensorArrayScatter" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "value" + inputTensorName: "indices" + inputTensorName: "flow_in" + outputTensorName: "array" + outputTensorName: "sizes" + outputTensorName: "list" + inputToOutput { + key: "array" + value: "value" + } + inputToOutput { + key: "sizes" + value: "indices" + } + inputToOutput { + key: "list" + value: "flow_in" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayScatter" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArrayScatter" + } +} +mappings { + frameworkName: "tensorflow" + opName: "size_list" + inputFrameworkOpName: "TensorArraySizeV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "flow_in" + outputTensorName: "list" + inputToOutput { + key: "list" + value: "flow_in" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArraySizeV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "size_list" + inputFrameworkOpName: "TensorArraySizeV3" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "flow_in" + outputTensorName: "list" + inputToOutput { + key: "list" + value: "flow_in" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArraySizeV3" + } +} +mappings { + frameworkName: "tensorflow" + opName: "next_iteration" + inputFrameworkOpName: "NextIteration" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "NextIteration" + } +} +mappings { + frameworkName: "tensorflow" + opName: "solve" + inputFrameworkOpName: "MatrixSolve" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "matrix" + inputTensorName: "rhs" + outputTensorName: "a" + outputTensorName: "b" + inputToOutput { + key: "a" + value: "matrix" + } + inputToOutput { + key: "b" + value: "rhs" + } + ruleType: "tensor" + inputFrameworkOpName: "MatrixSolve" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "adjoint" + outputBooleanName: "useAdjoint" + inputToOutput { + key: "useAdjoint" + value: "adjoint" + } + ruleType: "attribute" + inputFrameworkOpName: "MatrixSolve" + } +} +mappings { + frameworkName: "tensorflow" + opName: "fused_batch_norm" + inputFrameworkOpName: "FusedBatchNorm" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "scale" + inputTensorName: "offset" + inputTensorName: "mean" + inputTensorName: "variance" + outputTensorName: "input" + outputTensorName: "scale" + outputTensorName: "offset" + outputTensorName: "mean" + outputTensorName: "variance" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "scale" + value: "scale" + } + inputToOutput { + key: "offset" + value: "offset" + } + inputToOutput { + key: "mean" + value: "mean" + } + inputToOutput { + key: "variance" + value: "variance" + } + ruleType: "tensor" + inputFrameworkOpName: "FusedBatchNorm" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "epsilon" + outputDoubleName: "epsilon" + inputToOutput { + key: "epsilon" + value: "epsilon" + } + ruleType: "attribute" + inputFrameworkOpName: "FusedBatchNorm" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + outputIntName: "isTraining" + inputBooleanName: "is_training" + inputToOutput { + key: "isTraining" + value: "is_training" + } + ruleType: "attribute" + inputFrameworkOpName: "FusedBatchNorm" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "data_format" + inputStringAttrName: "data_format" + outputIntName: "dataFormat" + inputToOutput { + key: "dataFormat" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "dataFormat" + transformerArgs { + name: "data_format" + argType: STRING + stringValue: "NCHW" + } + } + inputFrameworkOpName: "FusedBatchNorm" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_max" + inputFrameworkOpName: "TensorScatterMax" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "tensor" + inputTensorName: "indices" + inputTensorName: "updates" + outputTensorName: "input" + outputTensorName: "indices" + outputTensorName: "updates" + inputToOutput { + key: "input" + value: "tensor" + } + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorScatterMax" + } +} +mappings { + frameworkName: "tensorflow" + opName: "greater_equal" + inputFrameworkOpName: "GreaterEqual" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "GreaterEqual" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "GreaterEqual" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "GreaterEqual" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_nd_sub" + inputFrameworkOpName: "ScatterNdSub" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + inputTensorName: "updates" + inputTensorName: "ref" + outputTensorName: "indices" + outputTensorName: "updates" + outputTensorName: "input" + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + inputToOutput { + key: "input" + value: "ref" + } + ruleType: "tensor" + inputFrameworkOpName: "ScatterNdSub" + } +} +mappings { + frameworkName: "tensorflow" + opName: "equals" + inputFrameworkOpName: "Equal" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "Equal" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Equal" + } +} +mappings { + frameworkName: "tensorflow" + opName: "read_list" + inputFrameworkOpName: "TensorArrayReadV3" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "handle" + outputTensorName: "list" + inputToOutput { + key: "list" + value: "handle" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayReadV3" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "dtype" + outputDataTypeName: "importDataType" + inputToOutput { + key: "importDataType" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArrayReadV3" + } +} +mappings { + frameworkName: "tensorflow" + opName: "floormod" + inputFrameworkOpName: "FloorMod" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "FloorMod" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "FloorMod" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "FloorMod" + } +} +mappings { + frameworkName: "tensorflow" + opName: "read_list" + inputFrameworkOpName: "TensorArrayReadV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "handle" + outputTensorName: "list" + inputToOutput { + key: "list" + value: "handle" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayReadV2" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "dtype" + outputDataTypeName: "importDataType" + inputToOutput { + key: "importDataType" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArrayReadV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "biasadd" + inputFrameworkOpName: "BiasAdd" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "value" + inputTensorName: "bias" + outputTensorName: "input" + outputTensorName: "bias" + inputToOutput { + key: "input" + value: "value" + } + inputToOutput { + key: "bias" + value: "bias" + } + ruleType: "tensor" + inputFrameworkOpName: "BiasAdd" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "data_format" + inputStringAttrName: "data_format" + outputBooleanName: "nchw" + inputToOutput { + key: "nchw" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "nchw" + transformerArgs { + name: "data_format" + argType: STRING + stringValue: "NCHW" + } + } + inputFrameworkOpName: "BiasAdd" + } +} +mappings { + frameworkName: "tensorflow" + opName: "identity" + inputFrameworkOpName: "Identity" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Identity" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Identity" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Identity" + } +} +mappings { + frameworkName: "tensorflow" + opName: "unstack" + inputFrameworkOpName: "Unpack" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "value" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "value" + } + ruleType: "tensor" + inputFrameworkOpName: "Unpack" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "axis" + inputIntName: "num" + outputIntName: "dimensions" + outputIntName: "num" + inputToOutput { + key: "dimensions" + value: "axis" + } + inputToOutput { + key: "num" + value: "num" + } + ruleType: "attribute" + inputFrameworkOpName: "Unpack" + } +} +mappings { + frameworkName: "tensorflow" + opName: "exit" + inputFrameworkOpName: "Exit" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "data" + } + ruleType: "tensor" + inputFrameworkOpName: "Exit" + } +} +mappings { + frameworkName: "tensorflow" + opName: "add" + inputFrameworkOpName: "AddV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "AddV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "AddV2" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "AddV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "tanh" + inputFrameworkOpName: "Tanh" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Tanh" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Tanh" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Tanh" + } +} +mappings { + frameworkName: "tensorflow" + opName: "toggle_bits" + inputFrameworkOpName: "Invert" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Invert" + } +} +mappings { + frameworkName: "tensorflow" + opName: "lstmBlockCell" + inputFrameworkOpName: "LSTMBlockCell" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "cs_prev" + inputTensorName: "h_prev" + inputTensorName: "w" + inputTensorName: "wci" + inputTensorName: "wcf" + inputTensorName: "wco" + inputTensorName: "b" + outputTensorName: "xt" + outputTensorName: "cLast" + outputTensorName: "yLast" + outputTensorName: "W" + outputTensorName: "Wci" + outputTensorName: "Wcf" + outputTensorName: "Wco" + outputTensorName: "b" + inputToOutput { + key: "xt" + value: "x" + } + inputToOutput { + key: "cLast" + value: "cs_prev" + } + inputToOutput { + key: "yLast" + value: "h_prev" + } + inputToOutput { + key: "W" + value: "w" + } + inputToOutput { + key: "Wci" + value: "wci" + } + inputToOutput { + key: "Wcf" + value: "wcf" + } + inputToOutput { + key: "Wco" + value: "wco" + } + inputToOutput { + key: "b" + value: "b" + } + ruleType: "tensor" + inputFrameworkOpName: "LSTMBlockCell" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "forget_bias" + inputFloatName: "cell_clip" + outputDoubleName: "forgetBias" + outputDoubleName: "clippingCellValue" + inputToOutput { + key: "forgetBias" + value: "forget_bias" + } + inputToOutput { + key: "clippingCellValue" + value: "cell_clip" + } + ruleType: "attribute" + inputFrameworkOpName: "LSTMBlockCell" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + outputIntName: "peephole" + inputBooleanName: "use_peephole" + inputToOutput { + key: "peephole" + value: "use_peephole" + } + ruleType: "attribute" + inputFrameworkOpName: "LSTMBlockCell" + } +} +mappings { + frameworkName: "tensorflow" + opName: "log" + inputFrameworkOpName: "Log" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Log" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Log" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Log" + } +} +mappings { + frameworkName: "tensorflow" + opName: "non_max_suppression_v3" + inputFrameworkOpName: "NonMaxSuppressionV4" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "boxes" + inputTensorName: "scores" + inputTensorName: "max_output_size" + inputTensorName: "iou_threshold" + inputTensorName: "score_threshold" + outputTensorName: "boxes" + outputTensorName: "scales" + outputTensorName: "maxOutSize" + outputTensorName: "iouThreshold" + outputTensorName: "scoreThreshold" + inputToOutput { + key: "boxes" + value: "boxes" + } + inputToOutput { + key: "scales" + value: "scores" + } + inputToOutput { + key: "maxOutSize" + value: "max_output_size" + } + inputToOutput { + key: "iouThreshold" + value: "iou_threshold" + } + inputToOutput { + key: "scoreThreshold" + value: "score_threshold" + } + ruleType: "tensor" + inputFrameworkOpName: "NonMaxSuppressionV4" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputIntName: "maxOutputSize" + inputToOutput { + key: "maxOutputSize" + value: "max_output_size" + } + ruleType: "attribute" + inputFrameworkOpName: "NonMaxSuppressionV4" + } +} +mappings { + frameworkName: "tensorflow" + opName: "less_equal" + inputFrameworkOpName: "LessEqual" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "LessEqual" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "LessEqual" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "LessEqual" + } +} +mappings { + frameworkName: "tensorflow" + opName: "non_max_suppression" + inputFrameworkOpName: "NonMaxSuppressionV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "boxes" + inputTensorName: "scores" + inputTensorName: "iou_threshold" + inputTensorName: "max_output_size" + outputTensorName: "boxes" + outputTensorName: "scales" + outputTensorName: "overlayThreshold" + outputTensorName: "maxOutputSize" + inputToOutput { + key: "boxes" + value: "boxes" + } + inputToOutput { + key: "scales" + value: "scores" + } + inputToOutput { + key: "overlayThreshold" + value: "iou_threshold" + } + inputToOutput { + key: "maxOutputSize" + value: "max_output_size" + } + ruleType: "tensor" + inputFrameworkOpName: "NonMaxSuppressionV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "scoreThreshold" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "scoreThreshold" + doubleValue: 0.5 + argType: DOUBLE + argIndex: 1 + } + } + inputFrameworkOpName: "NonMaxSuppressionV2" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + inputToOutput { + key: "maxOutputSize" + value: "max_output_size" + } + ruleType: "attribute" + inputFrameworkOpName: "NonMaxSuppressionV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "non_max_suppression_v3" + inputFrameworkOpName: "NonMaxSuppressionV3" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "boxes" + inputTensorName: "scores" + inputTensorName: "max_output_size" + inputTensorName: "iou_threshold" + inputTensorName: "score_threshold" + outputTensorName: "boxes" + outputTensorName: "scales" + outputTensorName: "maxOutSize" + outputTensorName: "iouThreshold" + outputTensorName: "scoreThreshold" + inputToOutput { + key: "boxes" + value: "boxes" + } + inputToOutput { + key: "scales" + value: "scores" + } + inputToOutput { + key: "maxOutSize" + value: "max_output_size" + } + inputToOutput { + key: "iouThreshold" + value: "iou_threshold" + } + inputToOutput { + key: "scoreThreshold" + value: "score_threshold" + } + ruleType: "tensor" + inputFrameworkOpName: "NonMaxSuppressionV3" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputIntName: "maxOutputSize" + inputToOutput { + key: "maxOutputSize" + value: "max_output_size" + } + ruleType: "attribute" + inputFrameworkOpName: "NonMaxSuppressionV3" + } +} +mappings { + frameworkName: "tensorflow" + opName: "onehot" + inputFrameworkOpName: "OneHot" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "indices" + } + ruleType: "tensor" + inputFrameworkOpName: "OneHot" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + inputToOutput { + key: "on" + value: "on_value" + } + inputToOutput { + key: "off" + value: "off_value" + } + inputToOutput { + key: "depth" + value: "depth" + } + ruleType: "attribute" + inputFrameworkOpName: "OneHot" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "axis" + outputIntName: "dimensions" + outputIntName: "dataType" + inputDataTypeName: "T" + inputToOutput { + key: "dimensions" + value: "axis" + } + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "OneHot" + } +} +mappings { + frameworkName: "tensorflow" + opName: "transpose" + inputFrameworkOpName: "Transpose" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "perm" + outputTensorName: "input" + outputTensorName: "permutationVector" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "permutationVector" + value: "perm" + } + ruleType: "tensor" + inputFrameworkOpName: "Transpose" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Transpose" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "permuteDims" + inputToOutput { + key: "permuteDims" + value: "perm" + } + ruleType: "attribute" + inputFrameworkOpName: "Transpose" + } +} +mappings { + frameworkName: "tensorflow" + opName: "square" + inputFrameworkOpName: "Square" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Square" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Square" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Square" + } +} +mappings { + frameworkName: "tensorflow" + opName: "segment_min" + inputFrameworkOpName: "SegmentMin" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "segment_ids" + outputTensorName: "input" + outputTensorName: "idxSegments" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "idxSegments" + value: "segment_ids" + } + ruleType: "tensor" + inputFrameworkOpName: "SegmentMin" + } +} +mappings { + frameworkName: "tensorflow" + opName: "switch" + inputFrameworkOpName: "Switch" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "pred" + outputTensorName: "input" + outputTensorName: "predicate" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "predicate" + value: "pred" + } + ruleType: "tensor" + inputFrameworkOpName: "Switch" + } +} +mappings { + frameworkName: "tensorflow" + opName: "unsorted_segment_max" + inputFrameworkOpName: "UnsortedSegmentMax" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "segment_ids" + outputTensorName: "input" + outputTensorName: "idxSegments" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "idxSegments" + value: "segment_ids" + } + ruleType: "tensor" + inputFrameworkOpName: "UnsortedSegmentMax" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputIntName: "numSegments" + inputToOutput { + key: "numSegments" + value: "num_segments" + } + ruleType: "attribute" + inputFrameworkOpName: "UnsortedSegmentMax" + } +} +mappings { + frameworkName: "tensorflow" + opName: "segment_sum" + inputFrameworkOpName: "SegmentSum" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "segment_ids" + outputTensorName: "input" + outputTensorName: "idxSegments" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "idxSegments" + value: "segment_ids" + } + ruleType: "tensor" + inputFrameworkOpName: "SegmentSum" + } +} +mappings { + frameworkName: "tensorflow" + opName: "resize_bilinear" + inputFrameworkOpName: "ResizeBilinear" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "images" + inputTensorName: "size" + outputTensorName: "image" + outputTensorName: "newImageSize" + inputToOutput { + key: "image" + value: "images" + } + inputToOutput { + key: "newImageSize" + value: "size" + } + ruleType: "tensor" + inputFrameworkOpName: "ResizeBilinear" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "align_corners" + inputBooleanName: "half_pixel_centers" + outputBooleanName: "alignCorners" + outputBooleanName: "halfPixelCenters" + inputToOutput { + key: "alignCorners" + value: "align_corners" + } + inputToOutput { + key: "halfPixelCenters" + value: "half_pixel_centers" + } + ruleType: "attribute" + inputFrameworkOpName: "ResizeBilinear" + } +} +mappings { + frameworkName: "tensorflow" + opName: "softmax" + inputFrameworkOpName: "Softmax" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "logits" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "logits" + } + ruleType: "tensor" + inputFrameworkOpName: "Softmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dimension" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dimension" + int64Value: 1 + argType: INT64 + } + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + transformerArgs { + key: "value" + transformerArgs { + name: "dimension" + int64Value: 1 + argType: INT64 + } + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Softmax" + } +} +mappings { + frameworkName: "tensorflow" + opName: "split_list" + inputFrameworkOpName: "TensorArraySplitV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "lengths" + inputTensorName: "value" + inputTensorName: "value" + outputTensorName: "sizes" + outputTensorName: "list" + outputTensorName: "array" + inputToOutput { + key: "sizes" + value: "lengths" + } + inputToOutput { + key: "list" + value: "value" + } + inputToOutput { + key: "array" + value: "value" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArraySplitV2" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArraySplitV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "erf" + inputFrameworkOpName: "Erf" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Erf" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Erf" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Erf" + } +} +mappings { + frameworkName: "tensorflow" + opName: "split_list" + inputFrameworkOpName: "TensorArraySplitV3" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "lengths" + inputTensorName: "value" + inputTensorName: "value" + outputTensorName: "sizes" + outputTensorName: "list" + outputTensorName: "array" + inputToOutput { + key: "sizes" + value: "lengths" + } + inputToOutput { + key: "list" + value: "value" + } + inputToOutput { + key: "array" + value: "value" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArraySplitV3" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArraySplitV3" + } +} +mappings { + frameworkName: "tensorflow" + opName: "relu" + inputFrameworkOpName: "Relu" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "features" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "features" + } + ruleType: "tensor" + inputFrameworkOpName: "Relu" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "cutoff" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "cutoff" + argType: DOUBLE + } + } + inputFrameworkOpName: "Relu" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Relu" + } +} +mappings { + frameworkName: "tensorflow" + opName: "ceil" + inputFrameworkOpName: "Ceil" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Ceil" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Ceil" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Ceil" + } +} +mappings { + frameworkName: "tensorflow" + opName: "l2_loss" + inputFrameworkOpName: "L2Loss" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "t" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "t" + } + ruleType: "tensor" + inputFrameworkOpName: "L2Loss" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "L2Loss" + } +} +mappings { + frameworkName: "tensorflow" + opName: "switch" + inputFrameworkOpName: "If" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "cond" + outputTensorName: "input" + outputTensorName: "predicate" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "predicate" + value: "cond" + } + ruleType: "tensor" + inputFrameworkOpName: "If" + } +} +mappings { + frameworkName: "tensorflow" + opName: "cast" + inputFrameworkOpName: "Cast" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Cast" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "DstT" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "DstT" + } + ruleType: "attribute" + inputFrameworkOpName: "Cast" + } + rule { + ruleName: "datatypetoint" + functionName: "datatypetoint" + outputIntName: "dst" + inputDataTypeName: "DstT" + inputToOutput { + key: "dst" + value: "DstT" + } + ruleType: "attribute" + inputFrameworkOpName: "Cast" + } +} +mappings { + frameworkName: "tensorflow" + opName: "minimum" + inputFrameworkOpName: "Minimum" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "Minimum" + } +} +mappings { + frameworkName: "tensorflow" + opName: "non_max_suppression" + inputFrameworkOpName: "NonMaxSuppression" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "boxes" + inputTensorName: "scores" + inputTensorName: "max_output_size" + outputTensorName: "boxes" + outputTensorName: "scales" + outputTensorName: "maxOutputSize" + inputToOutput { + key: "boxes" + value: "boxes" + } + inputToOutput { + key: "scales" + value: "scores" + } + inputToOutput { + key: "maxOutputSize" + value: "max_output_size" + } + ruleType: "tensor" + inputFrameworkOpName: "NonMaxSuppression" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "scoreThreshold" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "scoreThreshold" + doubleValue: 0.5 + argType: DOUBLE + argIndex: 1 + } + } + inputFrameworkOpName: "NonMaxSuppression" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "iou_threshold" + outputDoubleName: "iouThreshold" + inputToOutput { + key: "iouThreshold" + value: "iou_threshold" + } + ruleType: "attribute" + inputFrameworkOpName: "NonMaxSuppression" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + inputToOutput { + key: "maxOutputSize" + value: "max_output_size" + } + ruleType: "attribute" + inputFrameworkOpName: "NonMaxSuppression" + } +} +mappings { + frameworkName: "tensorflow" + opName: "lstmBlock" + inputFrameworkOpName: "BlockLSTM" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "seq_len_max" + inputTensorName: "x" + inputTensorName: "cs_prev" + inputTensorName: "h_prev" + inputTensorName: "w" + inputTensorName: "wci" + inputTensorName: "wcf" + inputTensorName: "wco" + inputTensorName: "b" + outputTensorName: "maxTSLength" + outputTensorName: "input" + outputTensorName: "cLast" + outputTensorName: "yLast" + outputTensorName: "W" + outputTensorName: "Wci" + outputTensorName: "Wcf" + outputTensorName: "Wco" + outputTensorName: "b" + inputToOutput { + key: "maxTSLength" + value: "seq_len_max" + } + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "cLast" + value: "cs_prev" + } + inputToOutput { + key: "yLast" + value: "h_prev" + } + inputToOutput { + key: "W" + value: "w" + } + inputToOutput { + key: "Wci" + value: "wci" + } + inputToOutput { + key: "Wcf" + value: "wcf" + } + inputToOutput { + key: "Wco" + value: "wco" + } + inputToOutput { + key: "b" + value: "b" + } + ruleType: "tensor" + inputFrameworkOpName: "BlockLSTM" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "forget_bias" + inputFloatName: "cell_clip" + outputDoubleName: "forgetBias" + outputDoubleName: "clippingCellValue" + inputToOutput { + key: "forgetBias" + value: "forget_bias" + } + inputToOutput { + key: "clippingCellValue" + value: "cell_clip" + } + ruleType: "attribute" + inputFrameworkOpName: "BlockLSTM" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + outputIntName: "peephole" + inputBooleanName: "use_peephole" + inputToOutput { + key: "peephole" + value: "use_peephole" + } + ruleType: "attribute" + inputFrameworkOpName: "BlockLSTM" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dataFormat" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dataFormat" + argType: INT64 + } + } + inputFrameworkOpName: "BlockLSTM" + } +} +mappings { + frameworkName: "tensorflow" + opName: "shape_of" + inputFrameworkOpName: "Shape" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Shape" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Shape" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "out_type" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "out_type" + } + ruleType: "attribute" + inputFrameworkOpName: "Shape" + } +} +mappings { + frameworkName: "tensorflow" + opName: "check_numerics" + inputFrameworkOpName: "CheckNumerics" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "tensor" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "tensor" + } + ruleType: "tensor" + inputFrameworkOpName: "CheckNumerics" + } + rule { + ruleName: "convertinputstringtondarray" + functionName: "convertinputstringtondarray" + inputStringAttrName: "message" + inputToOutput { + key: "message" + value: "message" + } + ruleType: "attribute" + inputFrameworkOpName: "CheckNumerics" + } +} +mappings { + frameworkName: "tensorflow" + opName: "reduce_max" + inputFrameworkOpName: "Max" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Max" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "keep_dims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keep_dims" + } + ruleType: "attribute" + inputFrameworkOpName: "Max" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + inputToOutput { + key: "dimensions" + value: "reduction_indices" + } + ruleType: "attribute" + inputFrameworkOpName: "Max" + } +} +mappings { + frameworkName: "tensorflow" + opName: "tensorarrayv3" + inputFrameworkOpName: "TensorArrayV3" + rule { + ruleName: "datatypetoint" + functionName: "datatypetoint" + outputIntName: "dataType" + inputDataTypeName: "dtype" + inputToOutput { + key: "dataType" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArrayV3" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_max" + inputFrameworkOpName: "ScatterMax" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "ref" + inputTensorName: "indices" + inputTensorName: "updates" + outputTensorName: "input" + outputTensorName: "indices" + outputTensorName: "updates" + inputToOutput { + key: "input" + value: "ref" + } + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + ruleType: "tensor" + inputFrameworkOpName: "ScatterMax" + } +} +mappings { + frameworkName: "tensorflow" + opName: "isnan" + inputFrameworkOpName: "IsNan" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "IsNan" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "IsNan" + } +} +mappings { + frameworkName: "tensorflow" + opName: "gather_list" + inputFrameworkOpName: "TensorArrayGather" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + inputTensorName: "flow_in" + outputTensorName: "indices" + outputTensorName: "list" + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "list" + value: "flow_in" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayGather" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "dtype" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArrayGather" + } +} +mappings { + frameworkName: "tensorflow" + opName: "bincount" + inputFrameworkOpName: "Bincount" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "weights" + inputTensorName: "arr" + outputTensorName: "weights" + outputTensorName: "values" + inputToOutput { + key: "weights" + value: "weights" + } + inputToOutput { + key: "values" + value: "arr" + } + ruleType: "tensor" + inputFrameworkOpName: "Bincount" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "minLength" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "minLength" + argType: INT64 + } + } + inputFrameworkOpName: "Bincount" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputIntName: "maxLength" + inputToOutput { + key: "maxLength" + value: "size" + } + ruleType: "attribute" + inputFrameworkOpName: "Bincount" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "outputType" + inputToOutput { + key: "outputType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Bincount" + } + indexOverrides { + key: 1 + value: 2 + } + indexOverrides { + key: 2 + value: 1 + } +} +mappings { + frameworkName: "tensorflow" + opName: "space_to_batch_nd" + inputFrameworkOpName: "SpaceToBatchND" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "block_shape" + inputTensorName: "paddings" + outputTensorName: "input" + outputTensorName: "blockShape" + outputTensorName: "padding" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "blockShape" + value: "block_shape" + } + inputToOutput { + key: "padding" + value: "paddings" + } + ruleType: "tensor" + inputFrameworkOpName: "SpaceToBatchND" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "blocks" + inputToOutput { + key: "blocks" + value: "block_shape" + } + ruleType: "attribute" + inputFrameworkOpName: "SpaceToBatchND" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "SpaceToBatchND" + } +} +mappings { + frameworkName: "tensorflow" + opName: "reduce_prod" + inputFrameworkOpName: "Prod" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Prod" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "keep_dims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keep_dims" + } + ruleType: "attribute" + inputFrameworkOpName: "Prod" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + inputToOutput { + key: "dimensions" + value: "reduction_indices" + } + ruleType: "attribute" + inputFrameworkOpName: "Prod" + } +} +mappings { + frameworkName: "tensorflow" + opName: "lgamma" + inputFrameworkOpName: "Lgamma" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Lgamma" + } +} +mappings { + frameworkName: "tensorflow" + opName: "matmul" + inputFrameworkOpName: "BatchMatMulV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "BatchMatMulV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "alpha" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "alpha" + doubleValue: 1.0 + argType: DOUBLE + } + } + inputFrameworkOpName: "BatchMatMulV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "beta" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "beta" + doubleValue: 1.0 + argType: DOUBLE + argIndex: 1 + } + } + inputFrameworkOpName: "BatchMatMulV2" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + outputIntName: "transX" + outputIntName: "transY" + inputBooleanName: "adj_x" + inputBooleanName: "adj_y" + inputToOutput { + key: "transX" + value: "adj_x" + } + inputToOutput { + key: "transY" + value: "adj_y" + } + ruleType: "attribute" + inputFrameworkOpName: "BatchMatMulV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "transZ" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "transZ" + argType: INT64 + argIndex: 2 + } + } + inputFrameworkOpName: "BatchMatMulV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "unique_with_counts" + inputFrameworkOpName: "UniqueWithCounts" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "UniqueWithCounts" + } +} +mappings { + frameworkName: "tensorflow" + opName: "randomuniform" + inputFrameworkOpName: "RandomUniformInt" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "shape" + inputTensorName: "minval" + inputTensorName: "maxval" + outputTensorName: "shape" + outputTensorName: "min" + outputTensorName: "max" + inputToOutput { + key: "shape" + value: "shape" + } + inputToOutput { + key: "min" + value: "minval" + } + inputToOutput { + key: "max" + value: "maxval" + } + ruleType: "tensor" + inputFrameworkOpName: "RandomUniformInt" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + inputToOutput { + key: "min" + value: "minval" + } + inputToOutput { + key: "max" + value: "maxval" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomUniformInt" + } + rule { + ruleName: "datatypetoint" + functionName: "datatypetoint" + outputIntName: "dtype" + inputDataTypeName: "Tout" + inputToOutput { + key: "dtype" + value: "Tout" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomUniformInt" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "Tout" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "Tout" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomUniformInt" + } +} +mappings { + frameworkName: "tensorflow" + opName: "selu" + inputFrameworkOpName: "Selu" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "features" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "features" + } + ruleType: "tensor" + inputFrameworkOpName: "Selu" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Selu" + } +} +mappings { + frameworkName: "tensorflow" + opName: "argmin" + inputFrameworkOpName: "ArgMin" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "ArgMin" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "keepDims" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "keepDims" + argType: BOOL + } + } + inputFrameworkOpName: "ArgMin" + } +} +mappings { + frameworkName: "tensorflow" + opName: "resize_bicubic" + inputFrameworkOpName: "ResizeBicubic" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "images" + inputTensorName: "size" + outputTensorName: "image" + outputTensorName: "size" + inputToOutput { + key: "image" + value: "images" + } + inputToOutput { + key: "size" + value: "size" + } + ruleType: "tensor" + inputFrameworkOpName: "ResizeBicubic" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "align_corners" + inputBooleanName: "half_pixel_centers" + outputBooleanName: "alignCorners" + outputBooleanName: "alignPixelCenters" + inputToOutput { + key: "alignCorners" + value: "align_corners" + } + inputToOutput { + key: "alignPixelCenters" + value: "half_pixel_centers" + } + ruleType: "attribute" + inputFrameworkOpName: "ResizeBicubic" + } +} +mappings { + frameworkName: "tensorflow" + opName: "atanh" + inputFrameworkOpName: "Atanh" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Atanh" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Atanh" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Atanh" + } +} +mappings { + frameworkName: "tensorflow" + opName: "split_v" + inputFrameworkOpName: "SplitV" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "value" + inputTensorName: "size_splits" + inputTensorName: "split_dim" + outputTensorName: "input" + outputTensorName: "sizes" + outputTensorName: "_a" + inputToOutput { + key: "input" + value: "value" + } + inputToOutput { + key: "sizes" + value: "size_splits" + } + inputToOutput { + key: "_a" + value: "split_dim" + } + ruleType: "tensor" + inputFrameworkOpName: "SplitV" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "num_split" + outputIntName: "numSplit" + inputToOutput { + key: "numSplit" + value: "num_split" + } + ruleType: "attribute" + inputFrameworkOpName: "SplitV" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputIntName: "dimensions" + inputToOutput { + key: "dimensions" + value: "split_dim" + } + ruleType: "attribute" + inputFrameworkOpName: "SplitV" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "dimensions" + inputToOutput { + key: "dimensions" + value: "split_dim" + } + ruleType: "attribute" + inputFrameworkOpName: "SplitV" + } +} +mappings { + frameworkName: "tensorflow" + opName: "mirror_pad" + inputFrameworkOpName: "MirrorPad" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "paddings" + outputTensorName: "input" + outputTensorName: "paddings" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "paddings" + value: "paddings" + } + ruleType: "tensor" + inputFrameworkOpName: "MirrorPad" + } + rule { + ruleName: "stringnotequalsadapterrule" + functionName: "stringnotequalsadapterrule" + inputStringAttrName: "mode" + outputIntName: "mode" + inputFloatName: "mode" + inputToOutput { + key: "mode" + value: "mode" + } + ruleType: "attribute" + transformerArgs { + key: "mode" + transformerArgs { + name: "mode" + stringValue: "REFLECT" + } + } + inputFrameworkOpName: "MirrorPad" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "isSymmetric" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "isSymmetric" + boolValue: true + argType: BOOL + } + } + inputFrameworkOpName: "MirrorPad" + } +} +mappings { + frameworkName: "tensorflow" + opName: "shapes_of" + inputFrameworkOpName: "ShapeN" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "ShapeN" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "ShapeN" + } +} +mappings { + frameworkName: "tensorflow" + opName: "cos" + inputFrameworkOpName: "Cos" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Cos" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Cos" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Cos" + } +} +mappings { + frameworkName: "tensorflow" + opName: "sqrt" + inputFrameworkOpName: "Sqrt" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Sqrt" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Sqrt" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Sqrt" + } +} +mappings { + frameworkName: "tensorflow" + opName: "deconv2d_tf" + inputFrameworkOpName: "Conv2DBackpropInput" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input_sizes" + inputTensorName: "filter" + outputTensorName: "gradIShape" + outputTensorName: "weights" + inputToOutput { + key: "gradIShape" + value: "input_sizes" + } + inputToOutput { + key: "weights" + value: "filter" + } + ruleType: "tensor" + inputFrameworkOpName: "Conv2DBackpropInput" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 4 + } + } + inputFrameworkOpName: "Conv2DBackpropInput" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 5 + } + } + inputFrameworkOpName: "Conv2DBackpropInput" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "wFormat" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "wFormat" + argType: INT64 + argIndex: 10 + } + } + inputFrameworkOpName: "Conv2DBackpropInput" + } + rule { + ruleName: "stringnotequalsadapterrule" + functionName: "stringnotequalsadapterrule" + inputStringAttrName: "data_format" + outputIntName: "isNCHW" + inputFloatName: "data_format" + inputToOutput { + key: "isNCHW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "isNCHW" + transformerArgs { + name: "data_format" + argIndex: 9 + stringValue: "NCHW" + } + } + inputFrameworkOpName: "Conv2DBackpropInput" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "padding" + inputStringAttrName: "padding" + outputIntName: "isSameMode" + inputToOutput { + key: "isSameMode" + value: "padding" + } + ruleType: "attribute" + transformerArgs { + key: "isSameMode" + transformerArgs { + name: "padding" + argType: STRING + argIndex: 8 + stringValue: "SAME" + } + } + inputFrameworkOpName: "Conv2DBackpropInput" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "sH" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "sH" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + inputFrameworkOpName: "Conv2DBackpropInput" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "sW" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "sW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + inputFrameworkOpName: "Conv2DBackpropInput" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "dH" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "dH" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "dH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 6 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 6 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 6 + stringValue: "dilations" + } + } + transformerArgs { + key: "dH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 6 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 6 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 6 + stringValue: "dilations" + } + } + transformerArgs { + key: "dH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 6 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 6 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 6 + stringValue: "dilations" + } + } + transformerArgs { + key: "dH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 6 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 6 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 6 + stringValue: "dilations" + } + } + inputFrameworkOpName: "Conv2DBackpropInput" + } + rule { + ruleName: "conditionalfieldvalueintindex" + functionName: "conditionalfieldvalueintindex" + inputStringAttrName: "data_format" + outputIntName: "dW" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "dW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "dW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 7 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 7 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 7 + stringValue: "dilations" + } + } + transformerArgs { + key: "dW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 7 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 7 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 7 + stringValue: "dilations" + } + } + transformerArgs { + key: "dW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 7 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 7 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 7 + stringValue: "dilations" + } + } + transformerArgs { + key: "dW" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 7 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 7 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 7 + stringValue: "dilations" + } + } + inputFrameworkOpName: "Conv2DBackpropInput" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "kH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "kH" + int64Value: -1 + argType: INT64 + } + } + inputFrameworkOpName: "Conv2DBackpropInput" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "kW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "kW" + int64Value: -1 + argType: INT64 + argIndex: 1 + } + } + inputFrameworkOpName: "Conv2DBackpropInput" + } +} +mappings { + frameworkName: "tensorflow" + opName: "floordiv" + inputFrameworkOpName: "FloorDiv" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "FloorDiv" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "FloorDiv" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "FloorDiv" + } +} +mappings { + frameworkName: "tensorflow" + opName: "stack_list" + inputFrameworkOpName: "TensorArrayConcatV3" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "flow_in" + outputTensorName: "list" + inputToOutput { + key: "list" + value: "flow_in" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayConcatV3" + } +} +mappings { + frameworkName: "tensorflow" + opName: "stack_list" + inputFrameworkOpName: "TensorArrayConcatV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "flow_in" + outputTensorName: "list" + inputToOutput { + key: "list" + value: "flow_in" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayConcatV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "identity" + inputFrameworkOpName: "CopyHost" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "CopyHost" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "CopyHost" + } +} +mappings { + frameworkName: "tensorflow" + opName: "neg" + inputFrameworkOpName: "Neg" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Neg" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Neg" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Neg" + } +} +mappings { + frameworkName: "tensorflow" + opName: "top_k" + inputFrameworkOpName: "TopKV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "TopKV2" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "sorted" + outputBooleanName: "needSort" + inputToOutput { + key: "needSort" + value: "sorted" + } + ruleType: "attribute" + inputFrameworkOpName: "TopKV2" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputIntName: "k" + inputToOutput { + key: "k" + value: "k" + } + ruleType: "attribute" + inputFrameworkOpName: "TopKV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "resize_area" + inputFrameworkOpName: "ResizeArea" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "images" + inputTensorName: "size" + outputTensorName: "image" + outputTensorName: "size" + inputToOutput { + key: "image" + value: "images" + } + inputToOutput { + key: "size" + value: "size" + } + ruleType: "tensor" + inputFrameworkOpName: "ResizeArea" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "align_corners" + outputBooleanName: "alignCorners" + inputToOutput { + key: "alignCorners" + value: "align_corners" + } + ruleType: "attribute" + inputFrameworkOpName: "ResizeArea" + } +} +mappings { + frameworkName: "tensorflow" + opName: "triangular_solve" + inputFrameworkOpName: "MatrixTriangularSolve" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "matrix" + inputTensorName: "rhs" + outputTensorName: "a" + outputTensorName: "b" + inputToOutput { + key: "a" + value: "matrix" + } + inputToOutput { + key: "b" + value: "rhs" + } + ruleType: "tensor" + inputFrameworkOpName: "MatrixTriangularSolve" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "adjoint" + inputBooleanName: "lower" + outputBooleanName: "useAdjoint" + outputBooleanName: "isLower" + inputToOutput { + key: "useAdjoint" + value: "adjoint" + } + inputToOutput { + key: "isLower" + value: "lower" + } + ruleType: "attribute" + inputFrameworkOpName: "MatrixTriangularSolve" + } +} +mappings { + frameworkName: "tensorflow" + opName: "softsign" + inputFrameworkOpName: "Softsign" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "features" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "features" + } + ruleType: "tensor" + inputFrameworkOpName: "Softsign" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Softsign" + } +} +mappings { + frameworkName: "tensorflow" + opName: "gather" + inputFrameworkOpName: "GatherV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "params" + inputTensorName: "indices" + outputTensorName: "input" + outputTensorName: "indices" + inputToOutput { + key: "input" + value: "params" + } + inputToOutput { + key: "indices" + value: "indices" + } + ruleType: "tensor" + inputFrameworkOpName: "GatherV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "GatherV2" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "dimensions" + inputToOutput { + key: "dimensions" + value: "axis" + } + ruleType: "attribute" + inputFrameworkOpName: "GatherV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "fake_quant_with_min_max_args" + inputFrameworkOpName: "FakeQuantWithMinMaxArgs" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "inputs" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "inputs" + } + ruleType: "tensor" + inputFrameworkOpName: "FakeQuantWithMinMaxArgs" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "num_bits" + outputIntName: "numBits" + inputFloatName: "min" + inputFloatName: "max" + outputDoubleName: "min" + outputDoubleName: "max" + inputBooleanName: "narrow_range" + outputBooleanName: "narrowRange" + inputToOutput { + key: "min" + value: "min" + } + inputToOutput { + key: "max" + value: "max" + } + inputToOutput { + key: "numBits" + value: "num_bits" + } + inputToOutput { + key: "narrowRange" + value: "narrow_range" + } + ruleType: "attribute" + inputFrameworkOpName: "FakeQuantWithMinMaxArgs" + } +} +mappings { + frameworkName: "tensorflow" + opName: "all" + inputFrameworkOpName: "All" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "All" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "keep_dims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keep_dims" + } + ruleType: "attribute" + inputFrameworkOpName: "All" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "dimensions" + inputToOutput { + key: "dimensions" + value: "reduction_indices" + } + ruleType: "attribute" + inputFrameworkOpName: "All" + } +} +mappings { + frameworkName: "tensorflow" + opName: "tan" + inputFrameworkOpName: "Tan" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Tan" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Tan" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Tan" + } +} +mappings { + frameworkName: "tensorflow" + opName: "fill" + inputFrameworkOpName: "Fill" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "dims" + outputTensorName: "shapeArray" + inputToOutput { + key: "shapeArray" + value: "dims" + } + ruleType: "tensor" + inputFrameworkOpName: "Fill" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputDoubleName: "value" + inputToOutput { + key: "value" + value: "value" + } + ruleType: "attribute" + inputFrameworkOpName: "Fill" + } + rule { + ruleName: "datatypetoint" + functionName: "datatypetoint" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Fill" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Fill" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_add" + inputFrameworkOpName: "ScatterAdd" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "ref" + inputTensorName: "indices" + inputTensorName: "updates" + outputTensorName: "input" + outputTensorName: "indices" + outputTensorName: "updates" + inputToOutput { + key: "input" + value: "ref" + } + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + ruleType: "tensor" + inputFrameworkOpName: "ScatterAdd" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "lock" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "lock" + argType: BOOL + } + } + inputFrameworkOpName: "ScatterAdd" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "checkIndices" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + } + inputFrameworkOpName: "ScatterAdd" + } +} +mappings { + frameworkName: "tensorflow" + opName: "max_pool_with_argmax" + inputFrameworkOpName: "MaxPoolWithArgmax" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "MaxPoolWithArgmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "kH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "kH" + int64Value: 1 + argType: INT64 + } + } + inputFrameworkOpName: "MaxPoolWithArgmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "kW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "kW" + int64Value: 1 + argType: INT64 + argIndex: 1 + } + } + inputFrameworkOpName: "MaxPoolWithArgmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "sH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "sH" + int64Value: 1 + argType: INT64 + argIndex: 2 + } + } + inputFrameworkOpName: "MaxPoolWithArgmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "sW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "sW" + int64Value: 1 + argType: INT64 + argIndex: 3 + } + } + inputFrameworkOpName: "MaxPoolWithArgmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + int64Value: 1 + argType: INT64 + argIndex: 4 + } + } + inputFrameworkOpName: "MaxPoolWithArgmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pW" + int64Value: 1 + argType: INT64 + argIndex: 5 + } + } + inputFrameworkOpName: "MaxPoolWithArgmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dH" + int64Value: 1 + argType: INT64 + argIndex: 6 + } + } + inputFrameworkOpName: "MaxPoolWithArgmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dW" + int64Value: 1 + argType: INT64 + argIndex: 7 + } + } + inputFrameworkOpName: "MaxPoolWithArgmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "extraParam0" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + } + inputFrameworkOpName: "MaxPoolWithArgmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "isNHWC" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "isNHWC" + int64Value: 1 + argType: INT64 + argIndex: 10 + } + } + inputFrameworkOpName: "MaxPoolWithArgmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "sameMode" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "sameMode" + int64Value: 8 + argType: INT64 + argIndex: 8 + } + } + inputFrameworkOpName: "MaxPoolWithArgmax" + } +} +mappings { + frameworkName: "tensorflow" + opName: "matrix_diag_part" + inputFrameworkOpName: "MatrixDiagPart" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "MatrixDiagPart" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "MatrixDiagPart" + } +} +mappings { + frameworkName: "tensorflow" + opName: "fused_batch_norm" + inputFrameworkOpName: "FusedBatchNormV3" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "scale" + inputTensorName: "offset" + inputTensorName: "mean" + inputTensorName: "variance" + outputTensorName: "input" + outputTensorName: "scale" + outputTensorName: "offset" + outputTensorName: "mean" + outputTensorName: "variance" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "scale" + value: "scale" + } + inputToOutput { + key: "offset" + value: "offset" + } + inputToOutput { + key: "mean" + value: "mean" + } + inputToOutput { + key: "variance" + value: "variance" + } + ruleType: "tensor" + inputFrameworkOpName: "FusedBatchNormV3" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "epsilon" + outputDoubleName: "epsilon" + inputToOutput { + key: "epsilon" + value: "epsilon" + } + ruleType: "attribute" + inputFrameworkOpName: "FusedBatchNormV3" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + outputIntName: "isTraining" + inputBooleanName: "is_training" + inputToOutput { + key: "isTraining" + value: "is_training" + } + ruleType: "attribute" + inputFrameworkOpName: "FusedBatchNormV3" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "data_format" + inputStringAttrName: "data_format" + outputIntName: "dataFormat" + inputToOutput { + key: "dataFormat" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "dataFormat" + transformerArgs { + name: "data_format" + argType: STRING + stringValue: "NCHW" + } + } + inputFrameworkOpName: "FusedBatchNormV3" + } +} +mappings { + frameworkName: "tensorflow" + opName: "gather_list" + inputFrameworkOpName: "TensorArrayGatherV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + inputTensorName: "flow_in" + outputTensorName: "indices" + outputTensorName: "list" + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "list" + value: "flow_in" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayGatherV2" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "dtype" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArrayGatherV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "noop" + inputFrameworkOpName: "NoOp" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + ruleType: "tensor" + inputFrameworkOpName: "NoOp" + } +} +mappings { + frameworkName: "tensorflow" + opName: "gather_list" + inputFrameworkOpName: "TensorArrayGatherV3" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + inputTensorName: "flow_in" + outputTensorName: "indices" + outputTensorName: "list" + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "list" + value: "flow_in" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorArrayGatherV3" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "dtype" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "TensorArrayGatherV3" + } +} +mappings { + frameworkName: "tensorflow" + opName: "lrn" + inputFrameworkOpName: "LRN" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "LRN" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "depth_radius" + outputIntName: "depth" + inputFloatName: "alpha" + inputFloatName: "bias" + inputFloatName: "beta" + outputDoubleName: "alpha" + outputDoubleName: "bias" + outputDoubleName: "beta" + inputToOutput { + key: "depth" + value: "depth_radius" + } + inputToOutput { + key: "alpha" + value: "alpha" + } + inputToOutput { + key: "bias" + value: "bias" + } + inputToOutput { + key: "beta" + value: "beta" + } + ruleType: "attribute" + inputFrameworkOpName: "LRN" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "LRN" + } +} +mappings { + frameworkName: "tensorflow" + opName: "betainc" + inputFrameworkOpName: "Betainc" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "a" + inputTensorName: "b" + inputTensorName: "x" + outputTensorName: "a" + outputTensorName: "b" + outputTensorName: "input" + inputToOutput { + key: "a" + value: "a" + } + inputToOutput { + key: "b" + value: "b" + } + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Betainc" + } +} +mappings { + frameworkName: "tensorflow" + opName: "diag_part" + inputFrameworkOpName: "DiagPart" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "DiagPart" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "DiagPart" + } +} +mappings { + frameworkName: "tensorflow" + opName: "concat" + inputFrameworkOpName: "Concat" + rule { + ruleName: "multiinputindex" + functionName: "multiinputindex" + inputTensorName: "values" + inputTensorName: "concat_dim" + outputTensorName: "input" + outputTensorName: "concatDimension" + inputToOutput { + key: "input" + value: "values" + } + inputToOutput { + key: "concatDimension" + value: "concat_dim" + } + ruleType: "tensor" + inputFrameworkOpName: "Concat" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + inputToOutput { + key: "concatDimension" + value: "concat_dim" + } + ruleType: "attribute" + inputFrameworkOpName: "Concat" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "isDynamicAxis" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "isDynamicAxis" + boolValue: true + argType: BOOL + } + } + inputFrameworkOpName: "Concat" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Concat" + } +} +mappings { + frameworkName: "tensorflow" + opName: "segment_prod" + inputFrameworkOpName: "SegmentProd" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "segment_ids" + outputTensorName: "input" + outputTensorName: "idxSegments" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "idxSegments" + value: "segment_ids" + } + ruleType: "tensor" + inputFrameworkOpName: "SegmentProd" + } +} +mappings { + frameworkName: "tensorflow" + opName: "top_k" + inputFrameworkOpName: "TopK" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "TopK" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "k" + outputIntName: "k" + inputBooleanName: "sorted" + outputBooleanName: "needSort" + inputToOutput { + key: "needSort" + value: "sorted" + } + inputToOutput { + key: "k" + value: "k" + } + ruleType: "attribute" + inputFrameworkOpName: "TopK" + } +} +mappings { + frameworkName: "tensorflow" + opName: "fake_quant_with_min_max_vars_per_channel" + inputFrameworkOpName: "FakeQuantWithMinMaxVarsPerChannel" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "inputs" + inputTensorName: "min" + inputTensorName: "max" + outputTensorName: "input" + outputTensorName: "min" + outputTensorName: "max" + inputToOutput { + key: "input" + value: "inputs" + } + inputToOutput { + key: "min" + value: "min" + } + inputToOutput { + key: "max" + value: "max" + } + ruleType: "tensor" + inputFrameworkOpName: "FakeQuantWithMinMaxVarsPerChannel" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "num_bits" + outputIntName: "numBits" + inputBooleanName: "narrow_range" + outputBooleanName: "narrowed" + inputToOutput { + key: "numBits" + value: "num_bits" + } + inputToOutput { + key: "narrowed" + value: "narrow_range" + } + ruleType: "attribute" + inputFrameworkOpName: "FakeQuantWithMinMaxVarsPerChannel" + } +} +mappings { + frameworkName: "tensorflow" + opName: "maximum" + inputFrameworkOpName: "Maximum" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "Maximum" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Maximum" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Maximum" + } +} +mappings { + frameworkName: "tensorflow" + opName: "mergeadd" + inputFrameworkOpName: "AccumulateNV2" + rule { + ruleName: "multiinputindex" + functionName: "multiinputindex" + inputTensorName: "inputs" + outputTensorName: "inArrs" + inputToOutput { + key: "inArrs" + value: "inputs" + } + ruleType: "tensor" + inputFrameworkOpName: "AccumulateNV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "AccumulateNV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "asinh" + inputFrameworkOpName: "Asinh" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Asinh" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Asinh" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Asinh" + } +} +mappings { + frameworkName: "tensorflow" + opName: "fused_batch_norm" + inputFrameworkOpName: "FusedBatchNormV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "scale" + inputTensorName: "offset" + inputTensorName: "mean" + inputTensorName: "variance" + outputTensorName: "input" + outputTensorName: "scale" + outputTensorName: "offset" + outputTensorName: "mean" + outputTensorName: "variance" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "scale" + value: "scale" + } + inputToOutput { + key: "offset" + value: "offset" + } + inputToOutput { + key: "mean" + value: "mean" + } + inputToOutput { + key: "variance" + value: "variance" + } + ruleType: "tensor" + inputFrameworkOpName: "FusedBatchNormV2" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "epsilon" + outputDoubleName: "epsilon" + inputToOutput { + key: "epsilon" + value: "epsilon" + } + ruleType: "attribute" + inputFrameworkOpName: "FusedBatchNormV2" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + outputIntName: "isTraining" + inputBooleanName: "is_training" + inputToOutput { + key: "isTraining" + value: "is_training" + } + ruleType: "attribute" + inputFrameworkOpName: "FusedBatchNormV2" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "data_format" + inputStringAttrName: "data_format" + outputIntName: "dataFormat" + inputToOutput { + key: "dataFormat" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "dataFormat" + transformerArgs { + name: "data_format" + argType: STRING + stringValue: "NCHW" + } + } + inputFrameworkOpName: "FusedBatchNormV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "Reciprocal" + inputFrameworkOpName: "Reciprocal" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Reciprocal" + } +} +mappings { + frameworkName: "tensorflow" + opName: "in_top_k" + inputFrameworkOpName: "InTopKV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "targets" + inputTensorName: "predictions" + outputTensorName: "target" + outputTensorName: "predictions" + inputToOutput { + key: "target" + value: "targets" + } + inputToOutput { + key: "predictions" + value: "predictions" + } + ruleType: "tensor" + inputFrameworkOpName: "InTopKV2" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "k" + inputToOutput { + key: "k" + value: "k" + } + ruleType: "attribute" + inputFrameworkOpName: "InTopKV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "sorted" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "sorted" + boolValue: true + argType: BOOL + } + } + inputFrameworkOpName: "InTopKV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "less" + inputFrameworkOpName: "Less" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "Less" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Less" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Less" + } +} +mappings { + frameworkName: "tensorflow" + opName: "nth_element" + inputFrameworkOpName: "NthElement" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "n" + inputTensorName: "input" + outputTensorName: "n" + outputTensorName: "input" + inputToOutput { + key: "n" + value: "n" + } + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "NthElement" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputBooleanName: "reverse" + outputBooleanName: "reverse" + inputToOutput { + key: "reverse" + value: "reverse" + } + ruleType: "attribute" + inputFrameworkOpName: "NthElement" + } +} +mappings { + frameworkName: "tensorflow" + opName: "matmul" + inputFrameworkOpName: "BatchMatMul" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "BatchMatMul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "alpha" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "alpha" + doubleValue: 1.0 + argType: DOUBLE + } + } + inputFrameworkOpName: "BatchMatMul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "beta" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "beta" + doubleValue: 1.0 + argType: DOUBLE + argIndex: 1 + } + } + inputFrameworkOpName: "BatchMatMul" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + outputIntName: "transX" + outputIntName: "transY" + inputBooleanName: "adj_x" + inputBooleanName: "adj_y" + inputToOutput { + key: "transX" + value: "adj_x" + } + inputToOutput { + key: "transY" + value: "adj_y" + } + ruleType: "attribute" + inputFrameworkOpName: "BatchMatMul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "transZ" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "transZ" + argType: INT64 + argIndex: 2 + } + } + inputFrameworkOpName: "BatchMatMul" + } +} +mappings { + frameworkName: "tensorflow" + opName: "multiply" + inputFrameworkOpName: "Mul" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "Mul" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Mul" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Mul" + } +} +mappings { + frameworkName: "tensorflow" + opName: "identity_n" + inputFrameworkOpName: "IdentityN" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "IdentityN" + } +} +mappings { + frameworkName: "tensorflow" + opName: "lu" + inputFrameworkOpName: "Lu" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Lu" + } +} +mappings { + frameworkName: "tensorflow" + opName: "diag" + inputFrameworkOpName: "Diag" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "diagonal" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "diagonal" + } + ruleType: "tensor" + inputFrameworkOpName: "Diag" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Diag" + } +} +mappings { + frameworkName: "tensorflow" + opName: "range" + inputFrameworkOpName: "Range" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "start" + inputTensorName: "limit" + inputTensorName: "delta" + outputTensorName: "from" + outputTensorName: "to" + outputTensorName: "step" + inputToOutput { + key: "from" + value: "start" + } + inputToOutput { + key: "to" + value: "limit" + } + inputToOutput { + key: "step" + value: "delta" + } + ruleType: "tensor" + inputFrameworkOpName: "Range" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + inputToOutput { + key: "from" + value: "start" + } + inputToOutput { + key: "to" + value: "limit" + } + inputToOutput { + key: "step" + value: "delta" + } + ruleType: "attribute" + inputFrameworkOpName: "Range" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "Tidx" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "Tidx" + } + ruleType: "attribute" + inputFrameworkOpName: "Range" + } +} +mappings { + frameworkName: "tensorflow" + opName: "histogram_fixed_width" + inputFrameworkOpName: "HistogramFixedWidth" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "values" + inputTensorName: "value_range" + inputTensorName: "nbins" + outputTensorName: "input" + outputTensorName: "range" + outputTensorName: "numBins" + inputToOutput { + key: "input" + value: "values" + } + inputToOutput { + key: "range" + value: "value_range" + } + inputToOutput { + key: "numBins" + value: "nbins" + } + ruleType: "tensor" + inputFrameworkOpName: "HistogramFixedWidth" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "nbins" + inputToOutput { + key: "nbins" + value: "nbins" + } + ruleType: "attribute" + inputFrameworkOpName: "HistogramFixedWidth" + } +} +mappings { + frameworkName: "tensorflow" + opName: "divide_no_nan" + inputFrameworkOpName: "DivNoNan" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "DivNoNan" + } +} +mappings { + frameworkName: "tensorflow" + opName: "broadcast_dynamic_shape" + inputFrameworkOpName: "BroadcastArgs" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "s0" + inputTensorName: "s1" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "s0" + } + inputToOutput { + key: "y" + value: "s1" + } + ruleType: "tensor" + inputFrameworkOpName: "BroadcastArgs" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_div" + inputFrameworkOpName: "ScatterDiv" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "ref" + inputTensorName: "indices" + inputTensorName: "updates" + outputTensorName: "input" + outputTensorName: "indices" + outputTensorName: "updates" + inputToOutput { + key: "input" + value: "ref" + } + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + ruleType: "tensor" + inputFrameworkOpName: "ScatterDiv" + } +} +mappings { + frameworkName: "tensorflow" + opName: "reshape" + inputFrameworkOpName: "Reshape" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "tensor" + inputTensorName: "shape" + outputTensorName: "input" + outputTensorName: "shape" + inputToOutput { + key: "input" + value: "tensor" + } + inputToOutput { + key: "shape" + value: "shape" + } + ruleType: "tensor" + inputFrameworkOpName: "Reshape" + } +} +mappings { + frameworkName: "tensorflow" + opName: "copy" + inputFrameworkOpName: "Copy" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Copy" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Copy" + } +} +mappings { + frameworkName: "tensorflow" + opName: "slice" + inputFrameworkOpName: "Slice" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "begin" + inputTensorName: "size" + outputTensorName: "input" + outputTensorName: "b" + outputTensorName: "e" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "b" + value: "begin" + } + inputToOutput { + key: "e" + value: "size" + } + ruleType: "tensor" + inputFrameworkOpName: "Slice" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "size" + inputToOutput { + key: "size" + value: "size" + } + ruleType: "attribute" + inputFrameworkOpName: "Slice" + } +} +mappings { + frameworkName: "tensorflow" + opName: "leakyrelu" + inputFrameworkOpName: "LeakyRelu" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "features" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "features" + } + ruleType: "tensor" + inputFrameworkOpName: "LeakyRelu" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "alpha" + outputDoubleName: "alpha" + inputToOutput { + key: "alpha" + value: "alpha" + } + ruleType: "attribute" + inputFrameworkOpName: "LeakyRelu" + } +} +mappings { + frameworkName: "tensorflow" + opName: "matrix_inverse" + inputFrameworkOpName: "MatrixInverse" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "MatrixInverse" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + boolValue: true + argType: BOOL + } + } + inputFrameworkOpName: "BatchMatrixInverse" + } +} +mappings { + frameworkName: "tensorflow" + opName: "tf_atan2" + inputFrameworkOpName: "Atan2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "Atan2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Atan2" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Atan2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "batch_to_space" + inputFrameworkOpName: "BatchToSpace" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "crops" + outputTensorName: "input" + outputTensorName: "crop" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "crop" + value: "crops" + } + ruleType: "tensor" + inputFrameworkOpName: "BatchToSpace" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "block_size" + outputIntName: "blockSize" + inputToOutput { + key: "blockSize" + value: "block_size" + } + ruleType: "attribute" + inputFrameworkOpName: "BatchToSpace" + } +} +mappings { + frameworkName: "tensorflow" + opName: "acos" + inputFrameworkOpName: "Acos" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Acos" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Acos" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Acos" + } +} +mappings { + frameworkName: "tensorflow" + opName: "gather_nd" + inputFrameworkOpName: "GatherNd" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "params" + inputTensorName: "indices" + outputTensorName: "input" + outputTensorName: "indices" + inputToOutput { + key: "input" + value: "params" + } + inputToOutput { + key: "indices" + value: "indices" + } + ruleType: "tensor" + inputFrameworkOpName: "GatherNd" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + ruleType: "attribute" + inputFrameworkOpName: "GatherNd" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "checkIndices" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "checkIndices" + argType: BOOL + } + } + inputFrameworkOpName: "GatherNd" + } +} +mappings { + frameworkName: "tensorflow" + opName: "maxpool2d" + inputFrameworkOpName: "MaxPoolV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "MaxPoolV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "extraParam0" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "extraParam0" + argType: INT64 + argIndex: 9 + } + } + inputFrameworkOpName: "MaxPoolV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pH" + argType: INT64 + argIndex: 4 + } + } + inputFrameworkOpName: "MaxPoolV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "pW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "pW" + argType: INT64 + argIndex: 5 + } + } + inputFrameworkOpName: "MaxPoolV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dW" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dW" + int64Value: 1 + argType: INT64 + argIndex: 6 + } + } + inputFrameworkOpName: "MaxPoolV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dH" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dH" + int64Value: 1 + argType: INT64 + argIndex: 7 + } + } + inputFrameworkOpName: "MaxPoolV2" + } + rule { + ruleName: "stringnotequalsadapterrule" + functionName: "stringnotequalsadapterrule" + inputStringAttrName: "data_format" + outputIntName: "isNCHW" + inputFloatName: "data_format" + inputToOutput { + key: "isNCHW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "isNCHW" + transformerArgs { + name: "data_format" + argIndex: 10 + stringValue: "NCHW" + } + } + inputFrameworkOpName: "MaxPoolV2" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "padding" + inputStringAttrName: "padding" + outputIntName: "isSameMode" + inputToOutput { + key: "isSameMode" + value: "padding" + } + ruleType: "attribute" + transformerArgs { + key: "isSameMode" + transformerArgs { + name: "padding" + argType: STRING + argIndex: 8 + stringValue: "SAME" + } + } + inputFrameworkOpName: "MaxPoolV2" + } + rule { + ruleName: "conditionalfieldvalueintindexndarray" + functionName: "conditionalfieldvalueintindexndarray" + inputStringAttrName: "data_format" + outputIntName: "sH" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "sH" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + argIndex: 2 + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + argIndex: 2 + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + argIndex: 2 + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + transformerArgs { + key: "sH" + transformerArgs { + name: "targetValue" + argIndex: 2 + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + argIndex: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + argIndex: 2 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 2 + stringValue: "strides" + } + } + inputFrameworkOpName: "MaxPoolV2" + } + rule { + ruleName: "conditionalfieldvalueintindexndarray" + functionName: "conditionalfieldvalueintindexndarray" + inputStringAttrName: "data_format" + outputIntName: "sW" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "sW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + argIndex: 3 + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + argIndex: 3 + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + argIndex: 3 + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + transformerArgs { + key: "sW" + transformerArgs { + name: "targetValue" + argIndex: 3 + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 3 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 3 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 3 + stringValue: "strides" + } + } + inputFrameworkOpName: "MaxPoolV2" + } + rule { + ruleName: "conditionalfieldvalueintindexndarray" + functionName: "conditionalfieldvalueintindexndarray" + inputStringAttrName: "data_format" + outputIntName: "kH" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "kH" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "kH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + stringValue: "ksize" + } + } + transformerArgs { + key: "kH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + stringValue: "ksize" + } + } + transformerArgs { + key: "kH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + stringValue: "ksize" + } + } + transformerArgs { + key: "kH" + transformerArgs { + name: "targetValue" + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 2 + } + transformerArgs { + name: "falseIndex" + int64Value: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + stringValue: "ksize" + } + } + inputFrameworkOpName: "MaxPoolV2" + } + rule { + ruleName: "conditionalfieldvalueintindexndarray" + functionName: "conditionalfieldvalueintindexndarray" + inputStringAttrName: "data_format" + outputIntName: "kW" + inputFloatName: "targetValue" + inputFloatName: "trueIndex" + inputFloatName: "falseIndex" + inputFloatName: "attributeNameOfListAttribute" + inputToOutput { + key: "kW" + value: "data_format" + } + ruleType: "attribute" + transformerArgs { + key: "kW" + transformerArgs { + name: "targetValue" + argIndex: 1 + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 1 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 1 + stringValue: "ksize" + } + } + transformerArgs { + key: "kW" + transformerArgs { + name: "targetValue" + argIndex: 1 + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 1 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 1 + stringValue: "ksize" + } + } + transformerArgs { + key: "kW" + transformerArgs { + name: "targetValue" + argIndex: 1 + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 1 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 1 + stringValue: "ksize" + } + } + transformerArgs { + key: "kW" + transformerArgs { + name: "targetValue" + argIndex: 1 + stringValue: "NCHW" + } + transformerArgs { + name: "trueIndex" + int64Value: 3 + argIndex: 1 + } + transformerArgs { + name: "falseIndex" + int64Value: 2 + argIndex: 1 + } + transformerArgs { + name: "attributeNameOfListAttribute" + argIndex: 1 + stringValue: "ksize" + } + } + inputFrameworkOpName: "MaxPoolV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "cholesky" + inputFrameworkOpName: "Cholesky" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Cholesky" + } +} +mappings { + frameworkName: "tensorflow" + opName: "random_crop" + inputFrameworkOpName: "RandomCrop" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "image" + inputTensorName: "size" + outputTensorName: "input" + outputTensorName: "shape" + inputToOutput { + key: "input" + value: "image" + } + inputToOutput { + key: "shape" + value: "size" + } + ruleType: "tensor" + inputFrameworkOpName: "RandomCrop" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "seed" + outputIntName: "seed" + inputToOutput { + key: "seed" + value: "seed" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomCrop" + } +} +mappings { + frameworkName: "tensorflow" + opName: "batch_to_space_nd" + inputFrameworkOpName: "BatchToSpaceND" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "crops" + inputTensorName: "block_shape" + outputTensorName: "input" + outputTensorName: "crop" + outputTensorName: "blockShape" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "crop" + value: "crops" + } + inputToOutput { + key: "blockShape" + value: "block_shape" + } + ruleType: "tensor" + inputFrameworkOpName: "BatchToSpaceND" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "blocks" + inputToOutput { + key: "blocks" + value: "block_shape" + } + ruleType: "attribute" + inputFrameworkOpName: "BatchToSpaceND" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "BatchToSpaceND" + } +} +mappings { + frameworkName: "tensorflow" + opName: "reduce_mean" + inputFrameworkOpName: "Mean" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Mean" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "keep_dims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keep_dims" + } + ruleType: "attribute" + inputFrameworkOpName: "Mean" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + inputToOutput { + key: "dimensions" + value: "reduction_indices" + } + ruleType: "attribute" + inputFrameworkOpName: "Mean" + } +} +mappings { + frameworkName: "tensorflow" + opName: "cosh" + inputFrameworkOpName: "Cosh" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Cosh" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Cosh" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Cosh" + } +} +mappings { + frameworkName: "tensorflow" + opName: "identity" + inputFrameworkOpName: "Variable" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + ruleType: "tensor" + inputFrameworkOpName: "Variable" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Variable" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "dtype" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "Variable" + } +} +mappings { + frameworkName: "tensorflow" + opName: "log_softmax" + inputFrameworkOpName: "LogSoftmax" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "logits" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "logits" + } + ruleType: "tensor" + inputFrameworkOpName: "LogSoftmax" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + ruleType: "attribute" + inputFrameworkOpName: "LogSoftmax" + } +} +mappings { + frameworkName: "tensorflow" + opName: "cross" + inputFrameworkOpName: "Cross" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "a" + inputTensorName: "b" + outputTensorName: "a" + outputTensorName: "b" + inputToOutput { + key: "a" + value: "a" + } + inputToOutput { + key: "b" + value: "b" + } + ruleType: "tensor" + inputFrameworkOpName: "Cross" + } +} +mappings { + frameworkName: "tensorflow" + opName: "matrix_set_diag" + inputFrameworkOpName: "BatchMatrixSetDiag" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + inputTensorName: "diagonal" + outputTensorName: "input" + outputTensorName: "diagonal" + inputToOutput { + key: "input" + value: "input" + } + inputToOutput { + key: "diagonal" + value: "diagonal" + } + ruleType: "tensor" + inputFrameworkOpName: "BatchMatrixSetDiag" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "BatchMatrixSetDiag" + } +} +mappings { + frameworkName: "tensorflow" + opName: "non_max_suppression_overlaps" + inputFrameworkOpName: "NonMaxSuppressionWithOverlaps" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "scores" + inputTensorName: "overlaps" + outputTensorName: "scales" + outputTensorName: "boxes" + inputToOutput { + key: "scales" + value: "scores" + } + inputToOutput { + key: "boxes" + value: "overlaps" + } + ruleType: "tensor" + inputFrameworkOpName: "NonMaxSuppressionWithOverlaps" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputIntName: "maxOutputSize" + outputDoubleName: "overlapThreshold" + outputDoubleName: "scoreThreshold" + inputToOutput { + key: "maxOutputSize" + value: "max_output_size" + } + inputToOutput { + key: "overlapThreshold" + value: "overlap_threshold" + } + inputToOutput { + key: "scoreThreshold" + value: "score_threshold" + } + ruleType: "attribute" + inputFrameworkOpName: "NonMaxSuppressionWithOverlaps" + } +} +mappings { + frameworkName: "tensorflow" + opName: "concat" + inputFrameworkOpName: "ConcatV2" + rule { + ruleName: "multiinputindex" + functionName: "multiinputindex" + inputTensorName: "values" + inputTensorName: "axis" + outputTensorName: "input" + outputTensorName: "concatDimension" + inputToOutput { + key: "input" + value: "values" + } + inputToOutput { + key: "concatDimension" + value: "axis" + } + ruleType: "tensor" + inputFrameworkOpName: "ConcatV2" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + inputToOutput { + key: "concatDimension" + value: "axis" + } + ruleType: "attribute" + inputFrameworkOpName: "ConcatV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "isDynamicAxis" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "isDynamicAxis" + boolValue: true + argType: BOOL + } + } + inputFrameworkOpName: "ConcatV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "truncatediv" + inputFrameworkOpName: "TruncateDiv" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "TruncateDiv" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "TruncateDiv" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "TruncateDiv" + } +} +mappings { + frameworkName: "tensorflow" + opName: "any" + inputFrameworkOpName: "Any" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "Any" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputBooleanName: "keep_dims" + outputBooleanName: "keepDims" + inputToOutput { + key: "keepDims" + value: "keep_dims" + } + ruleType: "attribute" + inputFrameworkOpName: "Any" + } + rule { + ruleName: "ndarraytointattributevalue" + functionName: "ndarraytointattributevalue" + outputIntName: "dimensions" + inputToOutput { + key: "dimensions" + value: "reduction_indices" + } + ruleType: "attribute" + inputFrameworkOpName: "Any" + } +} +mappings { + frameworkName: "tensorflow" + opName: "boolean_or" + inputFrameworkOpName: "LogicalOr" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "LogicalOr" + } +} +mappings { + frameworkName: "tensorflow" + opName: "Reciprocal" + inputFrameworkOpName: "Inv" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Inv" + } +} +mappings { + frameworkName: "tensorflow" + opName: "boolean_not" + inputFrameworkOpName: "LogicalNot" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "LogicalNot" + } +} +mappings { + frameworkName: "tensorflow" + opName: "igammac" + inputFrameworkOpName: "Igammac" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "a" + inputTensorName: "x" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "a" + } + inputToOutput { + key: "y" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Igammac" + } +} +mappings { + frameworkName: "tensorflow" + opName: "extract_image_patches" + inputFrameworkOpName: "ExtractImagePatches" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "images" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "images" + } + ruleType: "tensor" + inputFrameworkOpName: "ExtractImagePatches" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "ksizeRows" + inputToOutput { + key: "ksizeRows" + value: "ksizes" + } + ruleType: "attribute" + transformerArgs { + key: "ksizeRows" + transformerArgs { + name: "index" + int64Value: 1 + argType: INT64 + } + } + inputFrameworkOpName: "ExtractImagePatches" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "ksizeCols" + inputToOutput { + key: "ksizeCols" + value: "ksizes" + } + ruleType: "attribute" + transformerArgs { + key: "ksizeCols" + transformerArgs { + name: "index" + int64Value: 2 + argType: INT64 + argIndex: 1 + } + } + inputFrameworkOpName: "ExtractImagePatches" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "kstrideRows" + inputToOutput { + key: "kstrideRows" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "kstrideRows" + transformerArgs { + name: "index" + int64Value: 1 + argType: INT64 + argIndex: 2 + } + } + inputFrameworkOpName: "ExtractImagePatches" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "kstrideCols" + inputToOutput { + key: "kstrideCols" + value: "strides" + } + ruleType: "attribute" + transformerArgs { + key: "kstrideCols" + transformerArgs { + name: "index" + int64Value: 2 + argType: INT64 + argIndex: 3 + } + } + inputFrameworkOpName: "ExtractImagePatches" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "krateRows" + inputToOutput { + key: "krateRows" + value: "rates" + } + ruleType: "attribute" + transformerArgs { + key: "krateRows" + transformerArgs { + name: "index" + int64Value: 1 + argType: INT64 + argIndex: 4 + } + } + inputFrameworkOpName: "ExtractImagePatches" + } + rule { + ruleName: "listattributevaluelookuptoindex" + functionName: "listattributevaluelookuptoindex" + inputIntName: "index" + outputIntName: "krateCols" + inputToOutput { + key: "krateCols" + value: "rates" + } + ruleType: "attribute" + transformerArgs { + key: "krateCols" + transformerArgs { + name: "index" + int64Value: 2 + argType: INT64 + argIndex: 5 + } + } + inputFrameworkOpName: "ExtractImagePatches" + } + rule { + ruleName: "stringequals" + functionName: "stringequals" + inputStringAttrName: "padding" + inputStringAttrName: "padding" + outputBooleanName: "isSameMode" + inputToOutput { + key: "isSameMode" + value: "padding" + } + ruleType: "attribute" + transformerArgs { + key: "isSameMode" + transformerArgs { + name: "padding" + argType: STRING + stringValue: "SAME" + } + } + inputFrameworkOpName: "ExtractImagePatches" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "ExtractImagePatches" + } +} +mappings { + frameworkName: "tensorflow" + opName: "fake_quant_with_min_max_vars" + inputFrameworkOpName: "FakeQuantWithMinMaxVars" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "inputs" + inputTensorName: "min" + inputTensorName: "max" + outputTensorName: "input" + outputTensorName: "min" + outputTensorName: "max" + inputToOutput { + key: "input" + value: "inputs" + } + inputToOutput { + key: "min" + value: "min" + } + inputToOutput { + key: "max" + value: "max" + } + ruleType: "tensor" + inputFrameworkOpName: "FakeQuantWithMinMaxVars" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "num_bits" + outputIntName: "numBits" + inputBooleanName: "narrow_range" + outputBooleanName: "narrowed" + inputToOutput { + key: "numBits" + value: "num_bits" + } + inputToOutput { + key: "narrowed" + value: "narrow_range" + } + ruleType: "attribute" + inputFrameworkOpName: "FakeQuantWithMinMaxVars" + } +} +mappings { + frameworkName: "tensorflow" + opName: "round" + inputFrameworkOpName: "Round" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Round" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Round" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Round" + } +} +mappings { + frameworkName: "tensorflow" + opName: "dynamic_stitch" + inputFrameworkOpName: "ParallelDynamicStitch" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "indices" + outputTensorName: "index" + outputTensorName: "input" + inputToOutput { + key: "index" + value: "data" + } + inputToOutput { + key: "input" + value: "indices" + } + ruleType: "tensor" + inputFrameworkOpName: "ParallelDynamicStitch" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputIntName: "N" + outputIntName: "numPartitions" + inputToOutput { + key: "numPartitions" + value: "N" + } + ruleType: "attribute" + inputFrameworkOpName: "ParallelDynamicStitch" + } +} +mappings { + frameworkName: "tensorflow" + opName: "sigmoid" + inputFrameworkOpName: "Sigmoid" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Sigmoid" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Sigmoid" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Sigmoid" + } +} +mappings { + frameworkName: "tensorflow" + opName: "lstmBlock" + inputFrameworkOpName: "BlockLSTMV2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "seq_len_max" + inputTensorName: "x" + inputTensorName: "cs_prev" + inputTensorName: "h_prev" + inputTensorName: "w" + inputTensorName: "wci" + inputTensorName: "wcf" + inputTensorName: "wco" + inputTensorName: "b" + outputTensorName: "maxTSLength" + outputTensorName: "input" + outputTensorName: "cLast" + outputTensorName: "yLast" + outputTensorName: "W" + outputTensorName: "Wci" + outputTensorName: "Wcf" + outputTensorName: "Wco" + outputTensorName: "b" + inputToOutput { + key: "maxTSLength" + value: "seq_len_max" + } + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "cLast" + value: "cs_prev" + } + inputToOutput { + key: "yLast" + value: "h_prev" + } + inputToOutput { + key: "W" + value: "w" + } + inputToOutput { + key: "Wci" + value: "wci" + } + inputToOutput { + key: "Wcf" + value: "wcf" + } + inputToOutput { + key: "Wco" + value: "wco" + } + inputToOutput { + key: "b" + value: "b" + } + ruleType: "tensor" + inputFrameworkOpName: "BlockLSTMV2" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputFloatName: "cell_clip" + outputDoubleName: "clippingCellValue" + inputToOutput { + key: "clippingCellValue" + value: "cell_clip" + } + ruleType: "attribute" + inputFrameworkOpName: "BlockLSTMV2" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + outputIntName: "peephole" + inputBooleanName: "use_peephole" + inputToOutput { + key: "peephole" + value: "use_peephole" + } + ruleType: "attribute" + inputFrameworkOpName: "BlockLSTMV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputFloatName: "forgetBias" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "forgetBias" + doubleValue: 3.0 + argType: DOUBLE + } + } + inputFrameworkOpName: "BlockLSTMV2" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputIntName: "dataFormat" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "dataFormat" + argType: INT64 + } + } + inputFrameworkOpName: "BlockLSTMV2" + } +} +mappings { + frameworkName: "tensorflow" + opName: "atan" + inputFrameworkOpName: "Atan" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Atan" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Atan" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Atan" + } +} +mappings { + frameworkName: "tensorflow" + opName: "ClipByValue" + inputFrameworkOpName: "ClipByValue" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "t" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "t" + } + ruleType: "tensor" + inputFrameworkOpName: "ClipByValue" + } + rule { + ruleName: "ndarrayinputtonumericalattribute" + functionName: "ndarrayinputtonumericalattribute" + outputDoubleName: "clipValueMin" + outputDoubleName: "clipValueMax" + inputToOutput { + key: "clipValueMin" + value: "clip_value_min" + } + inputToOutput { + key: "clipValueMax" + value: "clip_value_max" + } + ruleType: "attribute" + inputFrameworkOpName: "ClipByValue" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "ClipByValue" + } +} +mappings { + frameworkName: "tensorflow" + opName: "segment_mean" + inputFrameworkOpName: "SegmentMean" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "data" + inputTensorName: "segment_ids" + outputTensorName: "input" + outputTensorName: "idxSegments" + inputToOutput { + key: "input" + value: "data" + } + inputToOutput { + key: "idxSegments" + value: "segment_ids" + } + ruleType: "tensor" + inputFrameworkOpName: "SegmentMean" + } +} +mappings { + frameworkName: "tensorflow" + opName: "floor" + inputFrameworkOpName: "Floor" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Floor" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Floor" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Floor" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_upd" + inputFrameworkOpName: "ScatterUpdate" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "ref" + inputTensorName: "updates" + inputTensorName: "indices" + outputTensorName: "input" + outputTensorName: "updates" + outputTensorName: "indices" + inputToOutput { + key: "input" + value: "ref" + } + inputToOutput { + key: "updates" + value: "updates" + } + inputToOutput { + key: "indices" + value: "indices" + } + ruleType: "tensor" + inputFrameworkOpName: "ScatterUpdate" + } +} +mappings { + frameworkName: "tensorflow" + opName: "identity" + inputFrameworkOpName: "DeepCopy" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "DeepCopy" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "DeepCopy" + } +} +mappings { + frameworkName: "tensorflow" + opName: "hsv_to_rgb" + inputFrameworkOpName: "HSVToRGB" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "images" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "images" + } + ruleType: "tensor" + inputFrameworkOpName: "HSVToRGB" + } +} +mappings { + frameworkName: "tensorflow" + opName: "listdiff" + inputFrameworkOpName: "ListDiff" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "values" + outputTensorName: "keep" + inputToOutput { + key: "values" + value: "x" + } + inputToOutput { + key: "keep" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "ListDiff" + } +} +mappings { + frameworkName: "tensorflow" + opName: "While" + inputFrameworkOpName: "While" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "input" + outputTensorName: "condition" + inputToOutput { + key: "condition" + value: "input" + } + ruleType: "tensor" + inputFrameworkOpName: "While" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "isConstant" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "isConstant" + argType: BOOL + } + } + inputFrameworkOpName: "While" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_upd" + inputFrameworkOpName: "TensorScatterUpdate" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "tensor" + inputTensorName: "updates" + inputTensorName: "indices" + outputTensorName: "input" + outputTensorName: "updates" + outputTensorName: "indices" + inputToOutput { + key: "input" + value: "tensor" + } + inputToOutput { + key: "updates" + value: "updates" + } + inputToOutput { + key: "indices" + value: "indices" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorScatterUpdate" + } +} +mappings { + frameworkName: "tensorflow" + opName: "scatter_sub" + inputFrameworkOpName: "TensorScatterSub" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "indices" + inputTensorName: "updates" + inputTensorName: "tensor" + outputTensorName: "indices" + outputTensorName: "updates" + outputTensorName: "input" + inputToOutput { + key: "indices" + value: "indices" + } + inputToOutput { + key: "updates" + value: "updates" + } + inputToOutput { + key: "input" + value: "tensor" + } + ruleType: "tensor" + inputFrameworkOpName: "TensorScatterSub" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "lock" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "lock" + argType: BOOL + } + } + inputFrameworkOpName: "TensorScatterSub" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "checkIndices" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "checkIndices" + argType: BOOL + argIndex: 1 + } + } + inputFrameworkOpName: "TensorScatterSub" + } +} +mappings { + frameworkName: "tensorflow" + opName: "cumprod" + inputFrameworkOpName: "Cumprod" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "axis" + outputTensorName: "input" + outputTensorName: "dimensions" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "dimensions" + value: "axis" + } + ruleType: "tensor" + inputFrameworkOpName: "Cumprod" + } + rule { + ruleName: "invertbooleannumber" + functionName: "invertbooleannumber" + inputBooleanName: "exclusive" + inputBooleanName: "reverse" + outputBooleanName: "exclusive" + outputBooleanName: "reverse" + inputToOutput { + key: "exclusive" + value: "exclusive" + } + inputToOutput { + key: "reverse" + value: "reverse" + } + ruleType: "attribute" + inputFrameworkOpName: "Cumprod" + } +} +mappings { + frameworkName: "tensorflow" + opName: "mergesum" + inputFrameworkOpName: "AddN" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "inputs" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "inputs" + } + ruleType: "tensor" + inputFrameworkOpName: "AddN" + } +} +mappings { + frameworkName: "tensorflow" + opName: "random_normal" + inputFrameworkOpName: "RandomStandardNormal" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "shape" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "shape" + } + ruleType: "tensor" + inputFrameworkOpName: "RandomStandardNormal" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "dtype" + outputDataTypeName: "dtype" + inputToOutput { + key: "dtype" + value: "dtype" + } + ruleType: "attribute" + inputFrameworkOpName: "RandomStandardNormal" + } +} +mappings { + frameworkName: "tensorflow" + opName: "sign" + inputFrameworkOpName: "Sign" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Sign" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Sign" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Sign" + } +} +mappings { + frameworkName: "tensorflow" + opName: "greater" + inputFrameworkOpName: "Greater" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + inputTensorName: "y" + outputTensorName: "input" + outputTensorName: "y" + inputToOutput { + key: "input" + value: "x" + } + inputToOutput { + key: "y" + value: "y" + } + ruleType: "tensor" + inputFrameworkOpName: "Greater" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Greater" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Greater" + } +} +mappings { + frameworkName: "tensorflow" + opName: "exp" + inputFrameworkOpName: "Exp" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "x" + outputTensorName: "input" + inputToOutput { + key: "input" + value: "x" + } + ruleType: "tensor" + inputFrameworkOpName: "Exp" + } + rule { + ruleName: "valuemapping" + functionName: "valuemapping" + inputDataTypeName: "T" + outputDataTypeName: "dataType" + inputToOutput { + key: "dataType" + value: "T" + } + ruleType: "attribute" + inputFrameworkOpName: "Exp" + } + rule { + ruleName: "argdescriptorconstant" + functionName: "argdescriptorconstant" + inputBooleanName: "inPlace" + ruleType: "attribute" + transformerArgs { + key: "value" + transformerArgs { + name: "inPlace" + argType: BOOL + } + } + inputFrameworkOpName: "Exp" + } +} +mappings { + frameworkName: "tensorflow" + opName: "adjust_contrast_v2" + inputFrameworkOpName: "AdjustContrastv2" + rule { + ruleName: "ndarraymapping" + functionName: "ndarraymapping" + inputTensorName: "images" + inputTensorName: "contrast_factor" + outputTensorName: "input" + outputTensorName: "factor" + inputToOutput { + key: "input" + value: "images" + } + inputToOutput { + key: "factor" + value: "contrast_factor" + } + ruleType: "tensor" + inputFrameworkOpName: "AdjustContrastv2" + } +} diff --git a/nd4j/samediff-import/samediff-import-tensorflow/test.pbtxt b/nd4j/samediff-import/samediff-import-tensorflow/test.pbtxt new file mode 100644 index 000000000..fab954eac --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/test.pbtxt @@ -0,0 +1,135 @@ +node { + name: "in_0" + op: "Const" + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 2 + } + dim { + size: 3 + } + dim { + size: 3 + } + } + tensor_content: "~^G?L\033M?\236p9?\220ol>\356%:?X\2708>0\024\236>\240{\036>\240h\360>" + } + } + } + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } +} +node { + name: "in_0/read" + op: "Identity" + input: "in_0" + attr { + key: "_class" + value { + list { + s: "loc:@in_0" + } + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "eye/ones" + op: "Const" + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 2 + } + dim { + size: 3 + } + } + float_val: 1.0 + } + } + } + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } +} +node { + name: "eye/diag" + op: "MatrixDiag" + input: "eye/ones" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "Add" + op: "Add" + input: "in_0/read" + input: "eye/diag" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "Svd" + op: "Svd" + input: "Add" + attr { + key: "full_matrices" + value { + b: true + } + } + attr { + key: "compute_uv" + value { + b: false + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "Abs" + op: "Abs" + input: "Svd" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +library { +} \ No newline at end of file diff --git a/nd4j/samediff-import/samediff-import-tensorflow/variables-added-new.txt b/nd4j/samediff-import/samediff-import-tensorflow/variables-added-new.txt new file mode 100644 index 000000000..b716e626e --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/variables-added-new.txt @@ -0,0 +1,5 @@ +in_0/read,in_0/read +eye/diag,eye/diag +Add,Add +Svd,Svd +Abs,Abs diff --git a/nd4j/samediff-import/samediff-import-tensorflow/variables-added-old.txt b/nd4j/samediff-import/samediff-import-tensorflow/variables-added-old.txt new file mode 100644 index 000000000..b716e626e --- /dev/null +++ b/nd4j/samediff-import/samediff-import-tensorflow/variables-added-old.txt @@ -0,0 +1,5 @@ +in_0/read,in_0/read +eye/diag,eye/diag +Add,Add +Svd,Svd +Abs,Abs diff --git a/nd4s/project/build.properties b/nd4s/project/build.properties deleted file mode 100644 index 2efb663e1..000000000 --- a/nd4s/project/build.properties +++ /dev/null @@ -1,17 +0,0 @@ -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. -# -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ - -sbt.version=0.13.11 diff --git a/nd4s/src/main/scala/org/nd4s/Equality.scala b/nd4s/src/main/scala/org/nd4s/Equality.scala deleted file mode 100644 index 84d3c84b0..000000000 --- a/nd4s/src/main/scala/org/nd4s/Equality.scala +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ -package org.nd4s - -/** - * Created by taisukeoe on 16/02/12. - */ -trait Equality[A] { - def equal(left: A, right: A): Boolean -} -object Equality { - implicit lazy val doubleEquality = new Equality[Double] { - lazy val tolerance = 0.01D - override def equal(left: Double, right: Double): Boolean = - math.abs(left - right) < tolerance - } - implicit lazy val floatEquality = new Equality[Float] { - lazy val tolerance = 0.01F - override def equal(left: Float, right: Float): Boolean = - math.abs(left - right) < tolerance - } -} diff --git a/nd4s/src/main/scala/org/nd4s/NDOrdering.scala b/nd4s/src/main/scala/org/nd4s/NDOrdering.scala deleted file mode 100644 index 22e7bef04..000000000 --- a/nd4s/src/main/scala/org/nd4s/NDOrdering.scala +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ -package org.nd4s - -import org.nd4j.linalg.factory.NDArrayFactory - -sealed trait NDOrdering { - val value: Char -} -object NDOrdering { - case object Fortran extends NDOrdering { - override val value: Char = NDArrayFactory.FORTRAN - } - case object C extends NDOrdering { - override val value: Char = NDArrayFactory.C - } - def apply(char: Char): NDOrdering = char.toLower match { - case 'c' => C - case 'f' => Fortran - case _ => - throw new IllegalArgumentException("NDimensional Ordering accepts only 'c' or 'f'.") - } -} diff --git a/nd4s/src/main/scala/org/nd4s/ops/LeftAssociativeBinaryOp.scala b/nd4s/src/main/scala/org/nd4s/ops/LeftAssociativeBinaryOp.scala deleted file mode 100644 index bab173f4f..000000000 --- a/nd4s/src/main/scala/org/nd4s/ops/LeftAssociativeBinaryOp.scala +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ -package org.nd4s.ops - -import org.nd4s.Implicits._ - -trait LeftAssociativeBinaryOp { - -// def op(origin: IComplexNumber, other: Double): IComplexNumber = op(origin) -// -// def op(origin: IComplexNumber, other: Float): IComplexNumber = op(origin) -// -// def op(origin: IComplexNumber, other: IComplexNumber): IComplexNumber = -// op(origin) - - def op(origin: Float, other: Float): Float = op(origin) - - def op(origin: Double, other: Double): Double = op(origin) - - def op(origin: Double): Double - - def op(origin: Float): Float - - def op(origin: Short): Short - - def op(origin: Int): Int - - def op(origin: Long): Long - - def op(origin: String): String - -// def op(origin: IComplexNumber): IComplexNumber -} diff --git a/nd4s/src/test/scala/org/nd4s/OrderingForTest.scala b/nd4s/src/test/scala/org/nd4s/OrderingForTest.scala deleted file mode 100644 index 927aea799..000000000 --- a/nd4s/src/test/scala/org/nd4s/OrderingForTest.scala +++ /dev/null @@ -1,28 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ -package org.nd4s - -import org.scalatest.{ Suite, SuiteMixin } - -trait OrderingForTest extends SuiteMixin { this: Suite => - val ordering: NDOrdering -} -trait COrderingForTest extends OrderingForTest { this: Suite => - override val ordering: NDOrdering = NDOrdering.C -} -trait FortranOrderingForTest extends OrderingForTest { this: Suite => - override val ordering: NDOrdering = NDOrdering.Fortran -} diff --git a/perform-release.sh b/perform-release.sh index b42fc2616..809b3d0f2 100755 --- a/perform-release.sh +++ b/perform-release.sh @@ -1,20 +1,22 @@ #!/bin/bash -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. # -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ set -eu diff --git a/pom.xml b/pom.xml index dd42f94f2..7f3640527 100644 --- a/pom.xml +++ b/pom.xml @@ -1,20 +1,22 @@ - + deeplearning4j Deeplearning4j Monorepo - http://deeplearning4j.org/ + http://deeplearning4j.konduit.ai/ @@ -39,112 +41,22 @@ - - - agibsonccc - Adam Gibson - adam@skymind.io - - - chrisvnicholson - Chris Nicholson - chris@skymind.io - - - jpatanooga - Josh Patterson - - - AlexDBlack - Alex Black - - - nyghtowl - Melanie Warrick - - - raver119 - raver119 - - - saudet - Samuel Audet - - - eraly - Susan Eraly - - - kepricon - Daehyun Kim - - - turambar - Dave kale - - - maxpumperla - Max Pumperla - - - - rubenfiszel - Ruben Fiszel - - - smarthi - Suneel Marthi - - - taisukeoe - Taisuke Oe - - - treo - Paul Dubs - - - EronWright - Eron Wright - - - jyt109 - Jeffrey Tang - - - sonaliii - Sonali Dayal - - - emmjaykay - emmjaykay - - - crockpotveggies - Justin Long - - + libnd4j nd4j datavec deeplearning4j - arbiter - nd4s - rl4j - scalnet - jumpy - pydatavec - pydl4j python4j + rl4j - scm:git://github.com:deeplearning4j/deeplearning4j.git - scm:git:git@github.com:deeplearning4j/deeplearning4j.git + scm:git://github.com:eclipse/deeplearning4j.git + scm:git:git@github.com:eclipse/deeplearning4j.git - git@github.com:deeplearning4j/deeplearning4j.git + git@github.com:eclipse/deeplearning4j.git HEAD @@ -161,18 +73,6 @@ daily - - maven-restlet - Public online Restlet repository - http://maven.restlet.org - - true - - - true - daily - - @@ -188,18 +88,6 @@ daily - - maven-restlet - Public online Restlet repository - http://maven.restlet.org - - true - - - true - daily - - @@ -220,7 +108,11 @@ 1.7 1.8 1.8 - UTF-8 + UTF-8 + ${encoding} + ${encoding} + ${encoding} + ${encoding} 1.0.0-SNAPSHOT 1.0.0-SNAPSHOT @@ -242,7 +134,6 @@ 4.5.3 2.7.8 3.19.0-GA - 2.2.11 0.7.1 9.4.10.v20180503 2.29 @@ -257,6 +148,7 @@ 3.1.0 1.12 1.1.2.6 + 5.1.1.RELEASE 3.2 3.4.2 @@ -279,9 +171,12 @@ 1.4.9 0.9.10 1.0 + 0.9.1 - false - false + + false + + false @@ -337,21 +232,25 @@ 2.10.3 1.24 2.8.7 - 1.18.12 + 1.18.16 2.0.0 7.7.1 20131018 - 2.6.1 + 3.8.0 + 2.6.1 false - 2.2.0 + + 2.2.0 2.16.3 3.4.6 0.5.4 3.0.5 3.15.1 - 2.7.3 + + 2.7.3 2.0 - 28.0-jre + 28.0-jre + 28.0-android 2.8.0 1.2.0-3f79e055 4.10.0 @@ -359,7 +258,8 @@ 1.10.0 1.14.0 - 1.2 + 1.2 + 1.1.1 2.3.0 1.6 @@ -367,7 +267,7 @@ 3.0.1 2.8.2 2.5.3 - 3.7.0 + 3.8.1 3.3.1 3.0.1 1.0.0 @@ -386,7 +286,14 @@ 3.2.1 3.0.2 + 3.0.0 + 2.2 + 1.8 + 1.5.3 + 3.8.0 2.2.6 + 1.6.0 + 2.3.1 @@ -406,112 +313,201 @@ false false false - false - + + false + 1.3.9-1 + + 0.9.1 + 1.0.0 + 2.2.0 + + + + org.apache.maven.plugins + maven-compiler-plugin + ${maven-compiler-plugin.version} + + ${maven.compiler.source} + ${maven.compiler.target} + + + + org.apache.maven.plugins + maven-enforcer-plugin + 1.4.1 + + + enforce-maven + + enforce + + + + + 3.3 + Please install maven 3.3 or higher + + + + + + enforce-excluded-dependencies + + enforce + + + + + + org.projectlombok:*:*:*:compile + + + + + + + + + + pl.project13.maven + git-commit-id-plugin + ${maven-git-commit-plugin.version} + + + + revision + + generate-resources + + + + true + + ${project.basedir}/target/generated-sources/src/main/resources/org/eclipse/${project.groupId}-${project.artifactId}-git.properties + + + true + + + + + + org.codehaus.mojo + build-helper-maven-plugin + ${maven-build-helper-plugin.version} + + + add-resource + generate-resources + + add-resource + + + + + + ${project.basedir}/target/generated-sources/src/main/resources + + + + + + + + + org.eclipse.m2e + lifecycle-mapping + 1.0.0 + + + + + + com.lewisd + lint-maven-plugin + [0.0.11,) + + check + + + + + + + + + + + + net.revelc.code.formatter + formatter-maven-plugin + ${maven-formatter-plugin.version} + + + ${session.executionRootDirectory}/../contrib/formatter.xml + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + org.apache.maven.plugins + maven-source-plugin + ${maven-source-plugin.version} + + + attach-sources + + jar-no-fork + + + + org.apache.maven.plugins maven-enforcer-plugin 1.4.1 + + + org.apache.maven.plugins + maven-deploy-plugin + 2.8.2 + + true + + + + org.sonatype.plugins + nexus-staging-maven-plugin + 1.6.8 - enforce-maven + default-deploy + deploy - enforce + deploy - - - - 3.3 - Please install maven 3.3 or higher - - - - org.projectlombok:*:*:*:compile - - - - + true + + sonatype-nexus-snapshots + https://oss.sonatype.org/ + true + - - - doclint-java8-disable - - [1.8,) - - - - - maven-javadoc-plugin - - none - false - - - - - - - sonatype-nexus - - - local.software.repository - sonatype - - - - - sonatype-nexus-releases - Nexus Release Repository - http://oss.sonatype.org/service/local/staging/deploy/maven2/ - - - sonatype-nexus-snapshots - Sonatype Nexus snapshot repository - https://oss.sonatype.org/content/repositories/snapshots - - - - - - maven-deploy-plugin - ${maven-deploy-plugin.version} - - true - - - - org.sonatype.plugins - nexus-staging-maven-plugin - 1.6.6 - - - default-deploy - deploy - - deploy - - - - true - - sonatype-nexus-snapshots - https://oss.sonatype.org/ - true - - - - - skipTestCompileAndRun @@ -527,6 +523,7 @@ true true true + true true true @@ -544,12 +541,11 @@ true true true + true true true - - javacpp-platform-default @@ -736,7 +707,6 @@ ${os.name}-${os.arch} - linux @@ -884,7 +854,6 @@ x86_64 - diff --git a/pydatavec/release.sh b/pydatavec/release.sh deleted file mode 100755 index d769bc70d..000000000 --- a/pydatavec/release.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -# Note: this needs manual upgrading of version in setup.py to work (can't override old versions) - -# remove old wheels -sudo rm -rf dist/* - -# Build Python 2 & 3 wheels for current version -sudo python2 setup.py sdist bdist_wheel -sudo python3 setup.py sdist bdist_wheel - -# Upload to PyPI with twine. Needs full "skymind" credentials in ~/.pypirc -twine upload dist/* \ No newline at end of file diff --git a/pydl4j/release.sh b/pydl4j/release.sh deleted file mode 100755 index 77c898e5d..000000000 --- a/pydl4j/release.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -# Note: this needs manual upgrading of version in setup.py to work (can't override old versions) - -# remove old wheels -sudo rm - rf dist/* - -# Build Python 2 & 3 wheels for current version -sudo python2 setup.py sdist bdist_wheel -sudo python3 setup.py sdist bdist_wheel - -# Upload to PyPI with twine. Needs full "skymind" credentials in ~/.pypirc -twine upload dist/* diff --git a/python4j/pom.xml b/python4j/pom.xml index 4f672b999..27fb5b398 100644 --- a/python4j/pom.xml +++ b/python4j/pom.xml @@ -1,33 +1,38 @@ - + + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + 4.0.0 + - deeplearning4j org.deeplearning4j + deeplearning4j 1.0.0-SNAPSHOT - 4.0.0 org.nd4j python4j-parent pom + python4j-core python4j-numpy @@ -68,4 +73,4 @@ 3.0.2 - \ No newline at end of file + diff --git a/python4j/python4j-core/pom.xml b/python4j/python4j-core/pom.xml index 26e77b8d1..3bbc882d0 100644 --- a/python4j/python4j-core/pom.xml +++ b/python4j/python4j-core/pom.xml @@ -1,33 +1,36 @@ - - + + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + 4.0.0 + python4j-parent org.nd4j 1.0.0-SNAPSHOT - jar - 4.0.0 python4j-core + org.json @@ -40,4 +43,4 @@ ${cpython-platform.version} - \ No newline at end of file +
        diff --git a/python4j/python4j-core/src/main/java/org/nd4j/python4j/Python.java b/python4j/python4j-core/src/main/java/org/nd4j/python4j/Python.java index 03c2fdaab..6b4899f02 100644 --- a/python4j/python4j-core/src/main/java/org/nd4j/python4j/Python.java +++ b/python4j/python4j-core/src/main/java/org/nd4j/python4j/Python.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.python4j; diff --git a/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonContextManager.java b/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonContextManager.java index da166a86b..4658d985b 100644 --- a/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonContextManager.java +++ b/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonContextManager.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.python4j; diff --git a/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonException.java b/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonException.java index e8f64f2be..73d5da252 100644 --- a/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonException.java +++ b/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.python4j; diff --git a/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonExecutioner.java b/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonExecutioner.java index 7d9169ed9..f373366fe 100644 --- a/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonExecutioner.java +++ b/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonExecutioner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.python4j; diff --git a/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonGC.java b/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonGC.java index e18d2072d..18b847c3c 100644 --- a/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonGC.java +++ b/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonGC.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.python4j; diff --git a/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonGIL.java b/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonGIL.java index e2e898d44..91b0d5e06 100644 --- a/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonGIL.java +++ b/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonGIL.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.python4j; diff --git a/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonJob.java b/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonJob.java index b3e2befc3..837d1d156 100644 --- a/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonJob.java +++ b/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonJob.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.python4j; diff --git a/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonObject.java b/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonObject.java index 94b60d320..048228efc 100644 --- a/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonObject.java +++ b/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonObject.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.python4j; diff --git a/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonProcess.java b/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonProcess.java index bce8809f5..f40993e15 100644 --- a/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonProcess.java +++ b/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonProcess.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.python4j; diff --git a/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonType.java b/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonType.java index 79b0ccaab..17e5976b2 100644 --- a/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonType.java +++ b/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonType.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.python4j; diff --git a/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonTypes.java b/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonTypes.java index e79ee1308..8307166aa 100644 --- a/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonTypes.java +++ b/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonTypes.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.python4j; diff --git a/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonVariable.java b/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonVariable.java index 038904ec9..6f66a22e2 100644 --- a/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonVariable.java +++ b/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonVariable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.python4j; diff --git a/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonVariables.java b/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonVariables.java index ed9ccff5d..45114f062 100644 --- a/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonVariables.java +++ b/python4j/python4j-core/src/main/java/org/nd4j/python4j/PythonVariables.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.python4j; diff --git a/python4j/python4j-core/src/main/resources/org/nd4j/python4j/pythonexec/__init__.py b/python4j/python4j-core/src/main/resources/org/nd4j/python4j/pythonexec/__init__.py index e69de29bb..9f8c45314 100644 --- a/python4j/python4j-core/src/main/resources/org/nd4j/python4j/pythonexec/__init__.py +++ b/python4j/python4j-core/src/main/resources/org/nd4j/python4j/pythonexec/__init__.py @@ -0,0 +1,16 @@ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ + diff --git a/python4j/python4j-core/src/main/resources/org/nd4j/python4j/pythonexec/pythonexec.py b/python4j/python4j-core/src/main/resources/org/nd4j/python4j/pythonexec/pythonexec.py index 7ae8f6734..7c6f78db9 100644 --- a/python4j/python4j-core/src/main/resources/org/nd4j/python4j/pythonexec/pythonexec.py +++ b/python4j/python4j-core/src/main/resources/org/nd4j/python4j/pythonexec/pythonexec.py @@ -1,18 +1,18 @@ -# /******************************************************************************* -# * Copyright (c) 2019 Konduit K.K. -# * -# * This program and the accompanying materials are made available under the -# * terms of the Apache License, Version 2.0 which is available at -# * https://www.apache.org/licenses/LICENSE-2.0. -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# * License for the specific language governing permissions and limitations -# * under the License. -# * -# * SPDX-License-Identifier: Apache-2.0 -# ******************************************************************************/ +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ import sys import traceback diff --git a/python4j/python4j-core/src/test/java/PythonBasicExecutionTest.java b/python4j/python4j-core/src/test/java/PythonBasicExecutionTest.java index 894ab7312..7623028b9 100644 --- a/python4j/python4j-core/src/test/java/PythonBasicExecutionTest.java +++ b/python4j/python4j-core/src/test/java/PythonBasicExecutionTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ import org.junit.Assert; diff --git a/python4j/python4j-core/src/test/java/PythonCollectionsTest.java b/python4j/python4j-core/src/test/java/PythonCollectionsTest.java index 7f299db59..92643d181 100644 --- a/python4j/python4j-core/src/test/java/PythonCollectionsTest.java +++ b/python4j/python4j-core/src/test/java/PythonCollectionsTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ import org.nd4j.python4j.*; diff --git a/python4j/python4j-core/src/test/java/PythonContextManagerTest.java b/python4j/python4j-core/src/test/java/PythonContextManagerTest.java index 8d71459be..90316e3b7 100644 --- a/python4j/python4j-core/src/test/java/PythonContextManagerTest.java +++ b/python4j/python4j-core/src/test/java/PythonContextManagerTest.java @@ -1,19 +1,21 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ import org.nd4j.python4j.Python; diff --git a/python4j/python4j-core/src/test/java/PythonGCTest.java b/python4j/python4j-core/src/test/java/PythonGCTest.java index 566170f6c..d42f107ff 100644 --- a/python4j/python4j-core/src/test/java/PythonGCTest.java +++ b/python4j/python4j-core/src/test/java/PythonGCTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ import org.nd4j.python4j.Python; import org.nd4j.python4j.PythonGC; diff --git a/python4j/python4j-core/src/test/java/PythonJobTest.java b/python4j/python4j-core/src/test/java/PythonJobTest.java index fa16bd127..4fbf48e11 100644 --- a/python4j/python4j-core/src/test/java/PythonJobTest.java +++ b/python4j/python4j-core/src/test/java/PythonJobTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ import org.nd4j.python4j.*; import org.junit.Test; diff --git a/python4j/python4j-core/src/test/java/PythonMultiThreadTest.java b/python4j/python4j-core/src/test/java/PythonMultiThreadTest.java index bdb7e1ffb..aa794cf1a 100644 --- a/python4j/python4j-core/src/test/java/PythonMultiThreadTest.java +++ b/python4j/python4j-core/src/test/java/PythonMultiThreadTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ import org.bytedeco.cpython.PyThreadState; import org.junit.Test; diff --git a/python4j/python4j-core/src/test/java/PythonPrimitiveTypesTest.java b/python4j/python4j-core/src/test/java/PythonPrimitiveTypesTest.java index 17c2c9124..afe5861e0 100644 --- a/python4j/python4j-core/src/test/java/PythonPrimitiveTypesTest.java +++ b/python4j/python4j-core/src/test/java/PythonPrimitiveTypesTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ import org.nd4j.python4j.*; diff --git a/python4j/python4j-numpy/pom.xml b/python4j/python4j-numpy/pom.xml index 7d2ebe7de..a8d63d406 100644 --- a/python4j/python4j-numpy/pom.xml +++ b/python4j/python4j-numpy/pom.xml @@ -1,13 +1,33 @@ + + + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + 4.0.0 + - python4j-parent org.nd4j + python4j-parent 1.0.0-SNAPSHOT - 4.0.0 python4j-numpy @@ -72,6 +92,4 @@ - - - \ No newline at end of file + diff --git a/python4j/python4j-numpy/src/main/java/org/nd4j/python4j/NumpyArray.java b/python4j/python4j-numpy/src/main/java/org/nd4j/python4j/NumpyArray.java index 49814e9fa..d5599df1c 100644 --- a/python4j/python4j-numpy/src/main/java/org/nd4j/python4j/NumpyArray.java +++ b/python4j/python4j-numpy/src/main/java/org/nd4j/python4j/NumpyArray.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.nd4j.python4j; diff --git a/python4j/python4j-numpy/src/main/resources/META-INF/services/org.nd4j.python4j.PythonType b/python4j/python4j-numpy/src/main/resources/META-INF/services/org.nd4j.python4j.PythonType index b0d2f1256..a937b7f00 100644 --- a/python4j/python4j-numpy/src/main/resources/META-INF/services/org.nd4j.python4j.PythonType +++ b/python4j/python4j-numpy/src/main/resources/META-INF/services/org.nd4j.python4j.PythonType @@ -1 +1,37 @@ +# +# /* ****************************************************************************** +# * +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + +# +# /* ****************************************************************************** +# * Copyright (c) 2021 Deeplearning4j Contributors +# * +# * This program and the accompanying materials are made available under the +# * terms of the Apache License, Version 2.0 which is available at +# * https://www.apache.org/licenses/LICENSE-2.0. +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# * License for the specific language governing permissions and limitations +# * under the License. +# * +# * SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************/ +# + org.nd4j.python4j.NumpyArray \ No newline at end of file diff --git a/python4j/python4j-numpy/src/test/java/PythonNumpyBasicTest.java b/python4j/python4j-numpy/src/test/java/PythonNumpyBasicTest.java index 721c8e262..ab7b4a2ea 100644 --- a/python4j/python4j-numpy/src/test/java/PythonNumpyBasicTest.java +++ b/python4j/python4j-numpy/src/test/java/PythonNumpyBasicTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ import org.nd4j.python4j.*; diff --git a/python4j/python4j-numpy/src/test/java/PythonNumpyCollectionsTest.java b/python4j/python4j-numpy/src/test/java/PythonNumpyCollectionsTest.java index 0ce1e26e4..edbcaa9da 100644 --- a/python4j/python4j-numpy/src/test/java/PythonNumpyCollectionsTest.java +++ b/python4j/python4j-numpy/src/test/java/PythonNumpyCollectionsTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ import org.nd4j.python4j.PythonException; diff --git a/python4j/python4j-numpy/src/test/java/PythonNumpyGCTest.java b/python4j/python4j-numpy/src/test/java/PythonNumpyGCTest.java index a84179834..b9ac0bf46 100644 --- a/python4j/python4j-numpy/src/test/java/PythonNumpyGCTest.java +++ b/python4j/python4j-numpy/src/test/java/PythonNumpyGCTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ import org.nd4j.python4j.Python; import org.nd4j.python4j.PythonGC; diff --git a/python4j/python4j-numpy/src/test/java/PythonNumpyImportTest.java b/python4j/python4j-numpy/src/test/java/PythonNumpyImportTest.java index 3d71a8c39..513af4aaf 100644 --- a/python4j/python4j-numpy/src/test/java/PythonNumpyImportTest.java +++ b/python4j/python4j-numpy/src/test/java/PythonNumpyImportTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + import org.nd4j.python4j.*; import org.junit.Assert; import org.junit.Test; diff --git a/python4j/python4j-numpy/src/test/java/PythonNumpyJobTest.java b/python4j/python4j-numpy/src/test/java/PythonNumpyJobTest.java index a8043739f..d75b3ce7e 100644 --- a/python4j/python4j-numpy/src/test/java/PythonNumpyJobTest.java +++ b/python4j/python4j-numpy/src/test/java/PythonNumpyJobTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ import org.junit.Assert; import org.junit.Test; diff --git a/python4j/python4j-numpy/src/test/java/PythonNumpyMultiThreadTest.java b/python4j/python4j-numpy/src/test/java/PythonNumpyMultiThreadTest.java index f14100be5..5de057d5c 100644 --- a/python4j/python4j-numpy/src/test/java/PythonNumpyMultiThreadTest.java +++ b/python4j/python4j-numpy/src/test/java/PythonNumpyMultiThreadTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ import org.nd4j.python4j.*; import org.junit.Assert; diff --git a/python4j/python4j-numpy/src/test/java/PythonNumpyServiceLoaderTest.java b/python4j/python4j-numpy/src/test/java/PythonNumpyServiceLoaderTest.java index bd13a99d9..88787fe2a 100644 --- a/python4j/python4j-numpy/src/test/java/PythonNumpyServiceLoaderTest.java +++ b/python4j/python4j-numpy/src/test/java/PythonNumpyServiceLoaderTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ import org.junit.Assert; diff --git a/rl4j/pom.xml b/rl4j/pom.xml index e3cdb5ca1..ba90ea458 100644 --- a/rl4j/pom.xml +++ b/rl4j/pom.xml @@ -1,56 +1,40 @@ - - + + 4.0.0 + org.deeplearning4j deeplearning4j 1.0.0-SNAPSHOT - 4.0.0 - - org.deeplearning4j rl4j pom rl4j Deep Reinforcement Learning for the JVM - - - Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - - - - - - rubenfiszel - Ruben Fiszel - ruben.fiszel@epfl.ch - - - rl4j-api rl4j-core @@ -62,21 +46,11 @@ - - ch.qos.logback - logback-classic - ${logback.version} - ch.qos.logback logback-core ${logback.version} - - org.slf4j - slf4j-api - ${slf4j.version} - @@ -121,18 +95,6 @@ - - maven-source-plugin - ${maven-source-plugin.version} - - - attach-sources - - jar - - - - maven-surefire-plugin ${maven-surefire-plugin.version} @@ -150,21 +112,6 @@ false - - maven-javadoc-plugin - ${maven-javadoc-plugin.version} - - -Xdoclint:none - - - - attach-javadocs - - jar - - - - com.lewisd lint-maven-plugin @@ -191,13 +138,10 @@ - net.revelc.code.formatter formatter-maven-plugin - ${maven-formatter-plugin.version} - ${session.executionRootDirectory}/contrib/formatter.xml rl4j-api rl4j-core @@ -208,82 +152,22 @@ - pl.project13.maven git-commit-id-plugin - ${maven-git-commit-id-plugin.version} - - - - revision - - generate-resources - - - - true - - ${project.basedir}/target/generated-sources/src/main/resources/ai/skymind/${project.groupId}-${project.artifactId}-git.properties - - - true - - - org.codehaus.mojo build-helper-maven-plugin - ${maven-build-helper-plugin.version} - - - add-resource - generate-resources - - add-resource - - - - - - ${project.basedir}/target/generated-sources/src/main/resources - - - - - - - org.eclipse.m2e lifecycle-mapping - ${maven-lifecycle-mapping-plugin.version} - - - - - - com.lewisd - lint-maven-plugin - [0.0.11,) - - check - - - - - - - - - @@ -301,7 +185,6 @@ - test-nd4j-cuda-11.0 @@ -314,19 +197,4 @@ - - - - - maven-surefire-report-plugin - ${maven-surefire-plugin.version} - - - - org.codehaus.mojo - cobertura-maven-plugin - 2.7 - - - diff --git a/rl4j/rl4j-ale/pom.xml b/rl4j/rl4j-ale/pom.xml index 5e97eceb0..bc6a3d01b 100644 --- a/rl4j/rl4j-ale/pom.xml +++ b/rl4j/rl4j-ale/pom.xml @@ -1,37 +1,38 @@ - + + + + - - - rl4j - org.deeplearning4j - 1.0.0-SNAPSHOT - 4.0.0 + + org.deeplearning4j + rl4j + 1.0.0-SNAPSHOT + + rl4j-ale - jar rl4j-ale - - UTF-8 - - org.deeplearning4j diff --git a/rl4j/rl4j-ale/src/main/java/org/deeplearning4j/rl4j/mdp/ale/ALEMDP.java b/rl4j/rl4j-ale/src/main/java/org/deeplearning4j/rl4j/mdp/ale/ALEMDP.java index 1b49e6d55..851dc2f55 100644 --- a/rl4j/rl4j-ale/src/main/java/org/deeplearning4j/rl4j/mdp/ale/ALEMDP.java +++ b/rl4j/rl4j-ale/src/main/java/org/deeplearning4j/rl4j/mdp/ale/ALEMDP.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.mdp.ale; diff --git a/rl4j/rl4j-api/pom.xml b/rl4j/rl4j-api/pom.xml index 43bf18cd8..8448477d7 100644 --- a/rl4j/rl4j-api/pom.xml +++ b/rl4j/rl4j-api/pom.xml @@ -1,37 +1,38 @@ - + + + + - - - rl4j - org.deeplearning4j - 1.0.0-SNAPSHOT - 4.0.0 + + org.deeplearning4j + rl4j + 1.0.0-SNAPSHOT + + rl4j-api - jar rl4j-api - - UTF-8 - - org.nd4j diff --git a/rl4j/rl4j-api/src/main/java/org/deeplearning4j/gym/StepReply.java b/rl4j/rl4j-api/src/main/java/org/deeplearning4j/gym/StepReply.java index e37750d72..379d856e1 100644 --- a/rl4j/rl4j-api/src/main/java/org/deeplearning4j/gym/StepReply.java +++ b/rl4j/rl4j-api/src/main/java/org/deeplearning4j/gym/StepReply.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.gym; diff --git a/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/mdp/MDP.java b/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/mdp/MDP.java index e911a7acc..8e6d229bd 100644 --- a/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/mdp/MDP.java +++ b/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/mdp/MDP.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.mdp; diff --git a/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/ActionSpace.java b/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/ActionSpace.java index d20b3e159..95094f718 100644 --- a/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/ActionSpace.java +++ b/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/ActionSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.space; diff --git a/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/ArrayObservationSpace.java b/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/ArrayObservationSpace.java index 31c93eeda..46c1b4cc3 100644 --- a/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/ArrayObservationSpace.java +++ b/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/ArrayObservationSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.space; diff --git a/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/Box.java b/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/Box.java index 3bc242fea..3ce05b86b 100644 --- a/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/Box.java +++ b/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/Box.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.space; diff --git a/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/DiscreteSpace.java b/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/DiscreteSpace.java index 0a27c1fe8..1c3c4c0b4 100644 --- a/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/DiscreteSpace.java +++ b/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/DiscreteSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.space; diff --git a/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/Encodable.java b/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/Encodable.java index bfec24f68..f366d52d1 100644 --- a/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/Encodable.java +++ b/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/Encodable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K. K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.space; diff --git a/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/HighLowDiscrete.java b/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/HighLowDiscrete.java index 491f6aca1..319aabc2c 100644 --- a/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/HighLowDiscrete.java +++ b/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/HighLowDiscrete.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.space; diff --git a/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/ObservationSpace.java b/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/ObservationSpace.java index 21f6a7bf0..fb1ff7438 100644 --- a/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/ObservationSpace.java +++ b/rl4j/rl4j-api/src/main/java/org/deeplearning4j/rl4j/space/ObservationSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.space; diff --git a/rl4j/rl4j-core/pom.xml b/rl4j/rl4j-core/pom.xml index 1cac4490d..09607649f 100644 --- a/rl4j/rl4j-core/pom.xml +++ b/rl4j/rl4j-core/pom.xml @@ -1,62 +1,70 @@ - - + + xmlns="http://maven.apache.org/POM/4.0.0" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 - - - - org.apache.maven.plugins - maven-compiler-plugin - - 8 - 8 - - - - - rl4j org.deeplearning4j + rl4j 1.0.0-SNAPSHOT rl4j-core - jar rl4j-core - + + 1.8 + 1.8 + + + org.deeplearning4j + rl4j-api + ${project.version} + + + org.deeplearning4j + deeplearning4j-core + ${dl4j.version} + + + org.datavec + datavec-api + ${datavec.version} + org.slf4j slf4j-api + ${slf4j.version} ch.qos.logback logback-classic + ${logback.version} - org.bytedeco javacv @@ -87,47 +95,27 @@ ffmpeg-platform ${ffmpeg.version}-${javacpp-presets.version} - - - org.deeplearning4j - rl4j-api - ${project.version} - - - org.deeplearning4j - deeplearning4j-core - ${dl4j.version} - org.apache.commons commons-collections4 - 4.1 + ${commons-collections4.version} com.fasterxml.jackson.core jackson-databind ${jackson.version} - com.google.code.gson gson ${gson.version} - - - org.datavec - datavec-api - ${datavec.version} - - org.mockito mockito-core 3.3.3 test - diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/Agent.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/Agent.java index 4bf80c7db..dd4b5fa7d 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/Agent.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/Agent.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent; import lombok.AccessLevel; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/AgentLearner.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/AgentLearner.java index 7074ca1bb..86a0c1195 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/AgentLearner.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/AgentLearner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent; import lombok.Data; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/IAgent.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/IAgent.java index 598f7eae5..a0fdac5b3 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/IAgent.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/IAgent.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent; import org.deeplearning4j.rl4j.environment.Environment; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/IAgentLearner.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/IAgentLearner.java index 6759a2bc6..e6becb409 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/IAgentLearner.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/IAgentLearner.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent; public interface IAgentLearner extends IAgent { diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/IUpdateAlgorithm.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/IUpdateAlgorithm.java index 5f07369f9..360a2ce85 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/IUpdateAlgorithm.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/IUpdateAlgorithm.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.learning.algorithm; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/actorcritic/ActorCriticHelper.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/actorcritic/ActorCriticHelper.java index 7d790b8ea..bc302eb90 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/actorcritic/ActorCriticHelper.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/actorcritic/ActorCriticHelper.java @@ -1,49 +1,30 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.learning.algorithm.actorcritic; -import org.deeplearning4j.rl4j.experience.StateActionPair; import org.nd4j.linalg.api.ndarray.INDArray; -import java.util.List; - /** * A base helper class for the Actor Critic update algorithm. The algorithm is the same whether it's used with a RNN or * not but, the shape of INDArrays are different. This class, {@link NonRecurrentActorCriticHelper}, * and {@link RecurrentActorCriticHelper} handle the differences. */ public abstract class ActorCriticHelper { - /** - * Create a feature INDArray, filled with the observations from the trainingBatch - * @param trainingBatch An experience training batch - * @return A INDArray filled with the observations from the trainingBatch - */ - public INDArray createFeatures(List> trainingBatch) { - int size = trainingBatch.size(); - long[] observationShape = trainingBatch.get(0).getObservation().getData().shape(); - INDArray features = createFeatureArray(size, observationShape); - for(int i = 0; i < size; ++i) { - setFeature(features, i, trainingBatch.get(i).getObservation().getData()); - } - - return features; - } - protected abstract INDArray createFeatureArray(int size, long[] observationShape); - protected abstract void setFeature(INDArray features, long idx, INDArray data); - /** * Create an empty INDArray to be used as the value array * @param trainingBatchSize the size of the training batch diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/actorcritic/AdvantageActorCritic.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/actorcritic/AdvantageActorCritic.java index 3c20caed3..e88043e11 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/actorcritic/AdvantageActorCritic.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/actorcritic/AdvantageActorCritic.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.learning.algorithm.actorcritic; import lombok.Builder; @@ -20,9 +22,11 @@ import lombok.Data; import lombok.NonNull; import lombok.experimental.SuperBuilder; import org.deeplearning4j.rl4j.agent.learning.algorithm.IUpdateAlgorithm; +import org.deeplearning4j.rl4j.agent.learning.update.Features; +import org.deeplearning4j.rl4j.agent.learning.update.FeaturesBuilder; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; -import org.deeplearning4j.rl4j.experience.StateActionPair; +import org.deeplearning4j.rl4j.experience.StateActionReward; import org.deeplearning4j.rl4j.network.CommonLabelNames; import org.deeplearning4j.rl4j.network.CommonOutputNames; import org.deeplearning4j.rl4j.network.ITrainableNeuralNet; @@ -36,7 +40,7 @@ import java.util.List; *

        * Note: The output of threadCurrent must contain a channel named "value". */ -public class AdvantageActorCritic implements IUpdateAlgorithm> { +public class AdvantageActorCritic implements IUpdateAlgorithm> { private final ITrainableNeuralNet threadCurrent; @@ -44,6 +48,8 @@ public class AdvantageActorCritic implements IUpdateAlgorithm> trainingBatch) { + public Gradients compute(List> trainingBatch) { int size = trainingBatch.size(); - INDArray features = algorithmHelper.createFeatures(trainingBatch); - + Features features = featuresBuilder.build(trainingBatch); INDArray values = algorithmHelper.createValueLabels(size); INDArray policy = algorithmHelper.createPolicyLabels(size); - StateActionPair stateActionPair = trainingBatch.get(size - 1); + StateActionReward stateActionReward = trainingBatch.get(size - 1); double value; - if (stateActionPair.isTerminal()) { + if (stateActionReward.isTerminal()) { value = 0; } else { value = threadCurrent.output(trainingBatch.get(size - 1).getObservation()).get(CommonOutputNames.ActorCritic.Value).getDouble(0); } for (int i = size - 1; i >= 0; --i) { - stateActionPair = trainingBatch.get(i); + stateActionReward = trainingBatch.get(i); - value = stateActionPair.getReward() + gamma * value; + value = stateActionReward.getReward() + gamma * value; //the critic values.putScalar(i, value); @@ -83,7 +90,7 @@ public class AdvantageActorCritic implements IUpdateAlgorithmnet(s(t+1), a) */ - protected INDArray qNetworkNextObservation; + protected INDArray qNetworkNextFeatures; /** * In literature, this corresponds to Qtnet(s(t+1), a) */ - protected INDArray targetQNetworkNextObservation; + protected INDArray targetQNetworkNextFeatures; protected BaseDQNAlgorithm(IOutputNeuralNet qNetwork, @NonNull IOutputNeuralNet targetQNetwork, @@ -49,10 +52,10 @@ public abstract class BaseDQNAlgorithm extends BaseTransitionTDAlgorithm { } @Override - protected void initComputation(INDArray observations, INDArray nextObservations) { - super.initComputation(observations, nextObservations); + protected void initComputation(Features features, Features nextFeatures) { + super.initComputation(features, nextFeatures); - qNetworkNextObservation = qNetwork.output(nextObservations).get(CommonOutputNames.QValues); - targetQNetworkNextObservation = targetQNetwork.output(nextObservations).get(CommonOutputNames.QValues); + qNetworkNextFeatures = qNetwork.output(nextFeatures).get(CommonOutputNames.QValues); + targetQNetworkNextFeatures = targetQNetwork.output(nextFeatures).get(CommonOutputNames.QValues); } } diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/dqn/BaseTransitionTDAlgorithm.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/dqn/BaseTransitionTDAlgorithm.java index 3bf48a828..dbec8914f 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/dqn/BaseTransitionTDAlgorithm.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/dqn/BaseTransitionTDAlgorithm.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.learning.algorithm.dqn; @@ -21,8 +23,10 @@ import lombok.Data; import lombok.NonNull; import lombok.experimental.SuperBuilder; import org.deeplearning4j.rl4j.agent.learning.algorithm.IUpdateAlgorithm; +import org.deeplearning4j.rl4j.agent.learning.update.Features; +import org.deeplearning4j.rl4j.agent.learning.update.FeaturesBuilder; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; -import org.deeplearning4j.rl4j.learning.sync.Transition; +import org.deeplearning4j.rl4j.experience.StateActionRewardState; import org.deeplearning4j.rl4j.network.CommonLabelNames; import org.deeplearning4j.rl4j.network.CommonOutputNames; import org.deeplearning4j.rl4j.network.IOutputNeuralNet; @@ -31,9 +35,9 @@ import org.nd4j.linalg.api.ndarray.INDArray; import java.util.List; /** - * The base of all {@link Transition Transition-based} TD algorithms. + * The base of all {@link StateActionRewardState Transition-based} TD algorithms. */ -public abstract class BaseTransitionTDAlgorithm implements IUpdateAlgorithm> { +public abstract class BaseTransitionTDAlgorithm implements IUpdateAlgorithm> { protected final IOutputNeuralNet qNetwork; protected final double gamma; @@ -41,6 +45,7 @@ public abstract class BaseTransitionTDAlgorithm implements IUpdateAlgorithm> transitions) { + public FeaturesLabels compute(List> stateActionRewardStates) { - int size = transitions.size(); + int size = stateActionRewardStates.size(); - INDArray observations = Transition.buildStackedObservations(transitions); - INDArray nextObservations = Transition.buildStackedNextObservations(transitions); + Features features = featuresBuilder.build(stateActionRewardStates); + Features nextFeatures = featuresBuilder.build(stateActionRewardStates.stream().map(e -> e.getNextObservation()), stateActionRewardStates.size()); - initComputation(observations, nextObservations); + initComputation(features, nextFeatures); - INDArray updatedQValues = qNetwork.output(observations).get(CommonOutputNames.QValues); + INDArray updatedQValues = qNetwork.output(features).get(CommonOutputNames.QValues); for (int i = 0; i < size; ++i) { - Transition transition = transitions.get(i); - double yTarget = computeTarget(i, transition.getReward(), transition.isTerminal()); + StateActionRewardState stateActionRewardState = stateActionRewardStates.get(i); + double yTarget = computeTarget(i, stateActionRewardState.getReward(), stateActionRewardState.isTerminal()); if(isClamped) { - double previousQValue = updatedQValues.getDouble(i, transition.getAction()); + double previousQValue = updatedQValues.getDouble(i, stateActionRewardState.getAction()); double lowBound = previousQValue - errorClamp; double highBound = previousQValue + errorClamp; yTarget = Math.min(highBound, Math.max(yTarget, lowBound)); } - updatedQValues.putScalar(i, transition.getAction(), yTarget); + updatedQValues.putScalar(i, stateActionRewardState.getAction(), yTarget); } - FeaturesLabels featuresLabels = new FeaturesLabels(observations); + FeaturesLabels featuresLabels = new FeaturesLabels(features); featuresLabels.putLabels(CommonLabelNames.QValues, updatedQValues); return featuresLabels; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/dqn/DoubleDQN.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/dqn/DoubleDQN.java index f7d99276b..dd6048110 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/dqn/DoubleDQN.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/dqn/DoubleDQN.java @@ -1,21 +1,24 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.learning.algorithm.dqn; +import org.deeplearning4j.rl4j.agent.learning.update.Features; import org.deeplearning4j.rl4j.network.IOutputNeuralNet; import org.nd4j.linalg.api.ndarray.INDArray; import org.nd4j.linalg.factory.Nd4j; @@ -39,10 +42,10 @@ public class DoubleDQN extends BaseDQNAlgorithm { } @Override - protected void initComputation(INDArray observations, INDArray nextObservations) { - super.initComputation(observations, nextObservations); + protected void initComputation(Features features, Features nextFeatures) { + super.initComputation(features, nextFeatures); - maxActionsFromQNetworkNextObservation = Nd4j.argMax(qNetworkNextObservation, ACTION_DIMENSION_IDX); + maxActionsFromQNetworkNextObservation = Nd4j.argMax(qNetworkNextFeatures, ACTION_DIMENSION_IDX); } /** @@ -57,7 +60,7 @@ public class DoubleDQN extends BaseDQNAlgorithm { protected double computeTarget(int batchIdx, double reward, boolean isTerminal) { double yTarget = reward; if (!isTerminal) { - yTarget += gamma * targetQNetworkNextObservation.getDouble(batchIdx, maxActionsFromQNetworkNextObservation.getInt(batchIdx)); + yTarget += gamma * targetQNetworkNextFeatures.getDouble(batchIdx, maxActionsFromQNetworkNextObservation.getInt(batchIdx)); } return yTarget; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/dqn/StandardDQN.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/dqn/StandardDQN.java index c3a4c3be2..08184435a 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/dqn/StandardDQN.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/dqn/StandardDQN.java @@ -1,21 +1,24 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.learning.algorithm.dqn; +import org.deeplearning4j.rl4j.agent.learning.update.Features; import org.deeplearning4j.rl4j.network.IOutputNeuralNet; import org.nd4j.linalg.api.ndarray.INDArray; import org.nd4j.linalg.factory.Nd4j; @@ -40,10 +43,10 @@ public class StandardDQN extends BaseDQNAlgorithm { @Override - protected void initComputation(INDArray observations, INDArray nextObservations) { - super.initComputation(observations, nextObservations); + protected void initComputation(Features features, Features nextFeatures) { + super.initComputation(features, nextFeatures); - maxActionsFromQTargetNextObservation = Nd4j.max(targetQNetworkNextObservation, ACTION_DIMENSION_IDX); + maxActionsFromQTargetNextObservation = Nd4j.max(targetQNetworkNextFeatures, ACTION_DIMENSION_IDX); } /** diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/NStepQLearning.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/NStepQLearning.java index a6c06f9cc..5e101b957 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/NStepQLearning.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/NStepQLearning.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.learning.algorithm.nstepqlearning; import lombok.Builder; @@ -20,9 +22,11 @@ import lombok.Data; import lombok.NonNull; import lombok.experimental.SuperBuilder; import org.deeplearning4j.rl4j.agent.learning.algorithm.IUpdateAlgorithm; +import org.deeplearning4j.rl4j.agent.learning.update.Features; +import org.deeplearning4j.rl4j.agent.learning.update.FeaturesBuilder; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; -import org.deeplearning4j.rl4j.experience.StateActionPair; +import org.deeplearning4j.rl4j.experience.StateActionReward; import org.deeplearning4j.rl4j.network.CommonLabelNames; import org.deeplearning4j.rl4j.network.CommonOutputNames; import org.deeplearning4j.rl4j.network.IOutputNeuralNet; @@ -38,12 +42,13 @@ import java.util.List; *

        * Note: The output of threadCurrent must contain a channel named "Q". */ -public class NStepQLearning implements IUpdateAlgorithm> { +public class NStepQLearning implements IUpdateAlgorithm> { private final ITrainableNeuralNet threadCurrent; private final IOutputNeuralNet target; private final double gamma; private final NStepQLearningHelper algorithmHelper; + private final FeaturesBuilder featuresBuilder; /** * @param threadCurrent The θ' parameters (the thread-specific network) @@ -61,21 +66,22 @@ public class NStepQLearning implements IUpdateAlgorithm> trainingBatch) { + public Gradients compute(List> trainingBatch) { int size = trainingBatch.size(); - StateActionPair stateActionPair = trainingBatch.get(size - 1); + StateActionReward stateActionReward = trainingBatch.get(size - 1); - INDArray features = algorithmHelper.createFeatures(trainingBatch); - INDArray allExpectedQValues = threadCurrent.output(features).get(CommonOutputNames.QValues); + Features features = featuresBuilder.build(trainingBatch); INDArray labels = algorithmHelper.createLabels(size); double r; - if (stateActionPair.isTerminal()) { + if (stateActionReward.isTerminal()) { r = 0; } else { INDArray expectedValuesOfLast = algorithmHelper.getTargetExpectedQValuesOfLast(target, trainingBatch, features); @@ -83,11 +89,11 @@ public class NStepQLearning implements IUpdateAlgorithm= 0; --i) { - stateActionPair = trainingBatch.get(i); + stateActionReward = trainingBatch.get(i); - r = stateActionPair.getReward() + gamma * r; - INDArray expectedQValues = algorithmHelper.getExpectedQValues(allExpectedQValues, i); - expectedQValues = expectedQValues.putScalar(stateActionPair.getAction(), r); + r = stateActionReward.getReward() + gamma * r; + INDArray expectedQValues = threadCurrent.output(stateActionReward.getObservation()).get(CommonOutputNames.QValues); + expectedQValues = expectedQValues.putScalar(stateActionReward.getAction(), r); algorithmHelper.setLabels(labels, i, expectedQValues); } diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/NStepQLearningHelper.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/NStepQLearningHelper.java index 1ce79a039..572401f6e 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/NStepQLearningHelper.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/NStepQLearningHelper.java @@ -1,21 +1,24 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.learning.algorithm.nstepqlearning; -import org.deeplearning4j.rl4j.experience.StateActionPair; +import org.deeplearning4j.rl4j.agent.learning.update.Features; +import org.deeplearning4j.rl4j.experience.StateActionReward; import org.deeplearning4j.rl4j.network.IOutputNeuralNet; import org.nd4j.linalg.api.ndarray.INDArray; @@ -28,24 +31,6 @@ import java.util.List; */ public abstract class NStepQLearningHelper { - /** - * Create a feature INDArray, filled with the observations from the trainingBatch - * @param trainingBatch An experience training batch - * @return A INDArray filled with the observations from the trainingBatch - */ - public INDArray createFeatures(List> trainingBatch) { - int size = trainingBatch.size(); - long[] observationShape = trainingBatch.get(0).getObservation().getData().shape(); - INDArray features = createFeatureArray(size, observationShape); - for(int i = 0; i < size; ++i) { - setFeature(features, i, trainingBatch.get(i).getObservation().getData()); - } - - return features; - } - protected abstract INDArray createFeatureArray(int size, long[] observationShape); - protected abstract void setFeature(INDArray features, long idx, INDArray data); - /** * Get the expected Q value given a training batch index from the pre-computed Q values * @param allExpectedQValues A INDArray containg all pre-computed Q values @@ -76,5 +61,5 @@ public abstract class NStepQLearningHelper { * @return A INDArray filled with the observations from the trainingBatch * @return The expected Q values for the last element of the training batch */ - public abstract INDArray getTargetExpectedQValuesOfLast(IOutputNeuralNet target, List> trainingBatch, INDArray features); + public abstract INDArray getTargetExpectedQValuesOfLast(IOutputNeuralNet target, List> trainingBatch, Features features); } \ No newline at end of file diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/NonRecurrentNStepQLearningHelper.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/NonRecurrentNStepQLearningHelper.java index 509a1f1de..1df97d322 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/NonRecurrentNStepQLearningHelper.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/NonRecurrentNStepQLearningHelper.java @@ -1,22 +1,24 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.learning.algorithm.nstepqlearning; -import org.deeplearning4j.rl4j.experience.StateActionPair; -import org.deeplearning4j.rl4j.helper.INDArrayHelper; +import org.deeplearning4j.rl4j.agent.learning.update.Features; +import org.deeplearning4j.rl4j.experience.StateActionReward; import org.deeplearning4j.rl4j.network.CommonOutputNames; import org.deeplearning4j.rl4j.network.IOutputNeuralNet; import org.deeplearning4j.rl4j.observation.Observation; @@ -41,28 +43,18 @@ public class NonRecurrentNStepQLearningHelper extends NStepQLearningHelper { return Nd4j.create(trainingBatchSize, actionSpaceSize); } - @Override - protected void setFeature(INDArray features, long idx, INDArray data) { - features.putRow(idx, data); - } - @Override public INDArray getExpectedQValues(INDArray allExpectedQValues, int idx) { return allExpectedQValues.getRow(idx); } - @Override - protected INDArray createFeatureArray(int size, long[] observationShape) { - return INDArrayHelper.createBatchForShape(size, observationShape); - } - @Override public void setLabels(INDArray labels, long idx, INDArray data) { labels.putRow(idx, data); } @Override - public INDArray getTargetExpectedQValuesOfLast(IOutputNeuralNet target, List> trainingBatch, INDArray features) { + public INDArray getTargetExpectedQValuesOfLast(IOutputNeuralNet target, List> trainingBatch, Features features) { Observation lastObservation = trainingBatch.get(trainingBatch.size() - 1).getObservation(); return target.output(lastObservation) .get(CommonOutputNames.QValues); diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/RecurrentNStepQLearningHelper.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/RecurrentNStepQLearningHelper.java index 1253620f2..7f61a895c 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/RecurrentNStepQLearningHelper.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/RecurrentNStepQLearningHelper.java @@ -1,22 +1,24 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.learning.algorithm.nstepqlearning; -import org.deeplearning4j.rl4j.experience.StateActionPair; -import org.deeplearning4j.rl4j.helper.INDArrayHelper; +import org.deeplearning4j.rl4j.agent.learning.update.Features; +import org.deeplearning4j.rl4j.experience.StateActionReward; import org.deeplearning4j.rl4j.network.CommonOutputNames; import org.deeplearning4j.rl4j.network.IOutputNeuralNet; import org.nd4j.linalg.api.ndarray.INDArray; @@ -41,16 +43,6 @@ public class RecurrentNStepQLearningHelper extends NStepQLearningHelper { return Nd4j.create(1, actionSpaceSize, trainingBatchSize); } - @Override - protected INDArray createFeatureArray(int size, long[] observationShape) { - return INDArrayHelper.createRnnBatchForShape(size, observationShape); - } - - @Override - protected void setFeature(INDArray features, long idx, INDArray data) { - getElementAtIndex(features, idx).assign(data); - } - @Override public INDArray getExpectedQValues(INDArray allExpectedQValues, int idx) { return getElementAtIndex(allExpectedQValues, idx); @@ -62,7 +54,7 @@ public class RecurrentNStepQLearningHelper extends NStepQLearningHelper { } @Override - public INDArray getTargetExpectedQValuesOfLast(IOutputNeuralNet target, List> trainingBatch, INDArray features) { + public INDArray getTargetExpectedQValuesOfLast(IOutputNeuralNet target, List> trainingBatch, Features features) { return getElementAtIndex(target.output(features).get(CommonOutputNames.QValues), trainingBatch.size() - 1); } diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/behavior/ILearningBehavior.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/behavior/ILearningBehavior.java index e38bd5c13..d8da4e09e 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/behavior/ILearningBehavior.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/behavior/ILearningBehavior.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.learning.behavior; import org.deeplearning4j.rl4j.observation.Observation; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/behavior/LearningBehavior.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/behavior/LearningBehavior.java index 40df1a063..c66b04e6c 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/behavior/LearningBehavior.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/behavior/LearningBehavior.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.learning.behavior; import lombok.Builder; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/Features.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/Features.java new file mode 100644 index 000000000..10a2ec2f4 --- /dev/null +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/Features.java @@ -0,0 +1,48 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.deeplearning4j.rl4j.agent.learning.update; + +import lombok.Getter; +import org.nd4j.linalg.api.ndarray.INDArray; + +/** + * A container that holds the observations of a batch + */ +public class Features { + + private final INDArray[] features; + + /** + * The size of the batch + */ + @Getter + private final long batchSize; + + public Features(INDArray[] features) { + this.features = features; + batchSize = features[0].shape()[0]; + } + + /** + * @param channelIdx The channel to get + * @return A {@link INDArray} associated to the channel index + */ + public INDArray get(int channelIdx) { + return features[channelIdx]; + } +} \ No newline at end of file diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/FeaturesBuilder.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/FeaturesBuilder.java new file mode 100644 index 000000000..2bf6e17b4 --- /dev/null +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/FeaturesBuilder.java @@ -0,0 +1,198 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.deeplearning4j.rl4j.agent.learning.update; + +import org.deeplearning4j.rl4j.helper.INDArrayHelper; +import org.deeplearning4j.rl4j.observation.IObservationSource; +import org.deeplearning4j.rl4j.observation.Observation; +import org.nd4j.linalg.api.ndarray.INDArray; +import org.nd4j.linalg.indexing.INDArrayIndex; +import org.nd4j.linalg.indexing.NDArrayIndex; + +import java.util.Iterator; +import java.util.List; +import java.util.stream.Stream; + +/** + * A helper class to help build {@link Features} instances + */ +public class FeaturesBuilder { + private final boolean isRecurrent; + private int numChannels; + private long[][] shapeByChannel; + + /** + * @param isRecurrent True if the network is a recurrent one. + */ + public FeaturesBuilder(boolean isRecurrent) { + this.isRecurrent = isRecurrent; + } + + /** + * Build a {@link Features} instance + * @param trainingBatch A container of observation list (see {@link IObservationSource}) + * @return + */ + public Features build(List trainingBatch) { + return new Features(createFeatures(trainingBatch)); + } + + /** + * Build a {@link Features} instance + * @param trainingBatch An observation stream + * @param size The total number of observations + * @return + */ + public Features build(Stream trainingBatch, int size) { + return new Features(createFeatures(trainingBatch, size)); + } + + private INDArray[] createFeatures(List trainingBatch) { + int size = trainingBatch.size(); + + if(shapeByChannel == null) { + setMetadata(trainingBatch.get(0).getObservation()); + } + + INDArray[] features; + if(isRecurrent) { + features = recurrentCreateFeaturesArray(size); + INDArrayIndex[][] arrayIndicesByChannel = createChannelsArrayIndices(trainingBatch.get(0).getObservation()); + for(int observationIdx = 0; observationIdx < size; ++observationIdx) { + Observation observation = trainingBatch.get(observationIdx).getObservation(); + recurrentAddObservation(features, observationIdx, observation, arrayIndicesByChannel); + } + } else { + features = nonRecurrentCreateFeaturesArray(size); + for(int observationIdx = 0; observationIdx < size; ++observationIdx) { + Observation observation = trainingBatch.get(observationIdx).getObservation(); + nonRecurrentAddObservation(features, observationIdx, observation); + } + } + + return features; + } + + private INDArray[] createFeatures(Stream trainingBatch, int size) { + INDArray[] features = null; + if(isRecurrent) { + Iterator it = trainingBatch.iterator(); + int observationIdx = 0; + INDArrayIndex[][] arrayIndicesByChannel = null; + while (it.hasNext()) { + Observation observation = it.next(); + + if(shapeByChannel == null) { + setMetadata(observation); + } + + if(features == null) { + features = recurrentCreateFeaturesArray(size); + arrayIndicesByChannel = createChannelsArrayIndices(observation); + } + + recurrentAddObservation(features, observationIdx++, observation, arrayIndicesByChannel); + } + } else { + Iterator it = trainingBatch.iterator(); + int observationIdx = 0; + while (it.hasNext()) { + Observation observation = it.next(); + + if(shapeByChannel == null) { + setMetadata(observation); + } + + if(features == null) { + features = nonRecurrentCreateFeaturesArray(size); + } + + nonRecurrentAddObservation(features, observationIdx++, observation); + } + } + + return features; + } + + private void nonRecurrentAddObservation(INDArray[] features, int observationIdx, Observation observation) { + for(int channelIdx = 0; channelIdx < numChannels; ++channelIdx) { + features[channelIdx].putRow(observationIdx, observation.getChannelData(channelIdx)); + } + } + + private void recurrentAddObservation(INDArray[] features, int observationIdx, Observation observation, INDArrayIndex[][] arrayIndicesByChannel) { + INDArrayIndex[] arrayIndices; + + for (int channelIdx = 0; channelIdx < numChannels; channelIdx++) { + INDArray channelData = observation.getChannelData(channelIdx); + arrayIndices = arrayIndicesByChannel[channelIdx]; + arrayIndices[arrayIndices.length - 1] = NDArrayIndex.point(observationIdx); + + features[channelIdx].get(arrayIndices).assign(channelData); + } + } + + private INDArrayIndex[][] createChannelsArrayIndices(Observation observation) { + INDArrayIndex[][] result = new INDArrayIndex[numChannels][]; + for (int channelIdx = 0; channelIdx < numChannels; channelIdx++) { + INDArray channelData = observation.getChannelData(channelIdx); + + INDArrayIndex[] arrayIndices = new INDArrayIndex[channelData.shape().length]; + arrayIndices[0] = NDArrayIndex.point(0); + for(int i = 1; i < arrayIndices.length - 1; ++i) { + arrayIndices[i] = NDArrayIndex.all(); + } + + result[channelIdx] = arrayIndices; + } + + return result; + } + + private void setMetadata(Observation observation) { + INDArray[] featuresData = observation.getChannelsData(); + numChannels = observation.numChannels(); + shapeByChannel = new long[numChannels][]; + for (int channelIdx = 0; channelIdx < featuresData.length; ++channelIdx) { + shapeByChannel[channelIdx] = featuresData[channelIdx].shape(); + } + } + + private INDArray[] nonRecurrentCreateFeaturesArray(int size) { + INDArray[] features = new INDArray[numChannels]; + for (int channelIdx = 0; channelIdx < numChannels; ++channelIdx) { + long[] observationShape = shapeByChannel[channelIdx]; + features[channelIdx] = nonRecurrentCreateFeatureArray(size, observationShape); + } + + return features; + } + protected INDArray nonRecurrentCreateFeatureArray(int size, long[] observationShape) { + return INDArrayHelper.createBatchForShape(size, observationShape); + } + + private INDArray[] recurrentCreateFeaturesArray(int size) { + INDArray[] features = new INDArray[numChannels]; + for (int channelIdx = 0; channelIdx < numChannels; ++channelIdx) { + long[] observationShape = shapeByChannel[channelIdx]; + features[channelIdx] = INDArrayHelper.createRnnBatchForShape(size, observationShape); + } + + return features; + } +} diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/FeaturesLabels.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/FeaturesLabels.java index 3cc1b1dd5..ed9a7b4d9 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/FeaturesLabels.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/FeaturesLabels.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.learning.update; import lombok.Getter; @@ -26,14 +28,14 @@ import java.util.HashMap; public class FeaturesLabels { @Getter - private final INDArray features; + private final Features features; private final HashMap labels = new HashMap(); /** * @param features */ - public FeaturesLabels(INDArray features) { + public FeaturesLabels(Features features) { this.features = features; } @@ -41,7 +43,7 @@ public class FeaturesLabels { * @return The number of examples in features and each labels. */ public long getBatchSize() { - return features.shape()[0]; + return features.getBatchSize(); } /** diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/Gradients.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/Gradients.java index 3c63224df..9e575303c 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/Gradients.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/Gradients.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.learning.update; import lombok.Getter; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/IUpdateRule.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/IUpdateRule.java index c022e3ebd..726559ce8 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/IUpdateRule.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/IUpdateRule.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.learning.update; import java.util.List; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/UpdateRule.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/UpdateRule.java index 36d0b1941..b20d7594e 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/UpdateRule.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/UpdateRule.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.learning.update; import lombok.Getter; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/INeuralNetUpdater.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/INeuralNetUpdater.java index 4fb549911..617e14439 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/INeuralNetUpdater.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/INeuralNetUpdater.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.learning.update.updater; /** diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/NeuralNetUpdaterConfiguration.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/NeuralNetUpdaterConfiguration.java index da7d01273..f1501effb 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/NeuralNetUpdaterConfiguration.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/NeuralNetUpdaterConfiguration.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.agent.learning.update.updater; import lombok.Builder; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/AsyncGradientsNeuralNetUpdater.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/AsyncGradientsNeuralNetUpdater.java index 8b9a6064b..bd14c59c1 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/AsyncGradientsNeuralNetUpdater.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/AsyncGradientsNeuralNetUpdater.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.learning.update.updater.async; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/AsyncLabelsNeuralNetUpdater.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/AsyncLabelsNeuralNetUpdater.java index 06d0a80e5..ed020fdb8 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/AsyncLabelsNeuralNetUpdater.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/AsyncLabelsNeuralNetUpdater.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.learning.update.updater.async; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/AsyncSharedNetworksUpdateHandler.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/AsyncSharedNetworksUpdateHandler.java index 3964d489e..5bd61749d 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/AsyncSharedNetworksUpdateHandler.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/AsyncSharedNetworksUpdateHandler.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.learning.update.updater.async; import lombok.Getter; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/BaseAsyncNeuralNetUpdater.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/BaseAsyncNeuralNetUpdater.java index ee0386eba..0aa1ac329 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/BaseAsyncNeuralNetUpdater.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/BaseAsyncNeuralNetUpdater.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.learning.update.updater.async; import lombok.NonNull; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/sync/BaseSyncNeuralNetUpdater.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/sync/BaseSyncNeuralNetUpdater.java index 20716ed2f..801f6b226 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/sync/BaseSyncNeuralNetUpdater.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/sync/BaseSyncNeuralNetUpdater.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.learning.update.updater.sync; import lombok.NonNull; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/sync/SyncGradientsNeuralNetUpdater.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/sync/SyncGradientsNeuralNetUpdater.java index 52d496cfa..9efc95c7c 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/sync/SyncGradientsNeuralNetUpdater.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/sync/SyncGradientsNeuralNetUpdater.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.learning.update.updater.sync; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/sync/SyncLabelsNeuralNetUpdater.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/sync/SyncLabelsNeuralNetUpdater.java index 1ed7f3bce..42252f4bd 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/sync/SyncLabelsNeuralNetUpdater.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/learning/update/updater/sync/SyncLabelsNeuralNetUpdater.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.learning.update.updater.sync; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/listener/AgentListener.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/listener/AgentListener.java index b77df86c0..4e928c0e9 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/listener/AgentListener.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/listener/AgentListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.listener; import org.deeplearning4j.rl4j.agent.Agent; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/listener/AgentListenerList.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/listener/AgentListenerList.java index 1c18dd605..1b31bb47b 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/listener/AgentListenerList.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/agent/listener/AgentListenerList.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.agent.listener; import org.deeplearning4j.rl4j.agent.Agent; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/AdvantageActorCriticBuilder.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/AdvantageActorCriticBuilder.java index ba19c5cdb..2068b52ce 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/AdvantageActorCriticBuilder.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/AdvantageActorCriticBuilder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.builder; import lombok.Data; @@ -27,7 +29,7 @@ import org.deeplearning4j.rl4j.agent.learning.update.Gradients; import org.deeplearning4j.rl4j.agent.learning.update.updater.async.AsyncSharedNetworksUpdateHandler; import org.deeplearning4j.rl4j.environment.Environment; import org.deeplearning4j.rl4j.environment.IActionSchema; -import org.deeplearning4j.rl4j.experience.StateActionPair; +import org.deeplearning4j.rl4j.experience.StateActionReward; import org.deeplearning4j.rl4j.network.ITrainableNeuralNet; import org.deeplearning4j.rl4j.observation.transform.TransformProcess; import org.deeplearning4j.rl4j.policy.ACPolicy; @@ -67,7 +69,7 @@ public class AdvantageActorCriticBuilder extends BaseAsyncAgentLearnerBuilder> buildUpdateAlgorithm() { + protected IUpdateAlgorithm> buildUpdateAlgorithm() { IActionSchema actionSchema = getEnvironment().getSchema().getActionSchema(); return new AdvantageActorCritic(networks.getThreadCurrentNetwork(), actionSchema.getActionSpaceSize(), configuration.getAdvantageActorCriticConfiguration()); } diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/AsyncNetworkHandler.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/AsyncNetworkHandler.java index c388c8daf..9e517e707 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/AsyncNetworkHandler.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/AsyncNetworkHandler.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.builder; import lombok.Getter; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/BaseAgentLearnerBuilder.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/BaseAgentLearnerBuilder.java index 7eb9d4c58..2612b8d55 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/BaseAgentLearnerBuilder.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/BaseAgentLearnerBuilder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.builder; import lombok.AccessLevel; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/BaseAsyncAgentLearnerBuilder.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/BaseAsyncAgentLearnerBuilder.java index 2855fac14..2989cdde3 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/BaseAsyncAgentLearnerBuilder.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/BaseAsyncAgentLearnerBuilder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.builder; import lombok.Data; @@ -28,11 +30,10 @@ import org.deeplearning4j.rl4j.agent.learning.update.updater.async.AsyncSharedNe import org.deeplearning4j.rl4j.environment.Environment; import org.deeplearning4j.rl4j.experience.ExperienceHandler; import org.deeplearning4j.rl4j.experience.StateActionExperienceHandler; -import org.deeplearning4j.rl4j.experience.StateActionPair; +import org.deeplearning4j.rl4j.experience.StateActionReward; import org.deeplearning4j.rl4j.network.ITrainableNeuralNet; import org.deeplearning4j.rl4j.observation.transform.TransformProcess; import org.deeplearning4j.rl4j.policy.EpsGreedy; -import org.nd4j.common.base.Preconditions; /** * A base {@link IAgentLearner} builder that should be helpful in several common asynchronous scenarios.

        @@ -44,7 +45,7 @@ import org.nd4j.common.base.Preconditions; *

      • a {@link AsyncGradientsNeuralNetUpdater gradient neural net updater}
      • * @param The type of the configuration */ -public abstract class BaseAsyncAgentLearnerBuilder extends BaseAgentLearnerBuilder, Gradients, CONFIGURATION_TYPE> { +public abstract class BaseAsyncAgentLearnerBuilder extends BaseAgentLearnerBuilder, Gradients, CONFIGURATION_TYPE> { private final AsyncSharedNetworksUpdateHandler asyncSharedNetworksUpdateHandler; @@ -58,7 +59,7 @@ public abstract class BaseAsyncAgentLearnerBuilder> buildExperienceHandler() { + protected ExperienceHandler> buildExperienceHandler() { return new StateActionExperienceHandler(configuration.getExperienceHandlerConfiguration()); } diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/BaseDQNAgentLearnerBuilder.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/BaseDQNAgentLearnerBuilder.java index 5516efdc5..6149c43c0 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/BaseDQNAgentLearnerBuilder.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/BaseDQNAgentLearnerBuilder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.builder; import lombok.Data; @@ -29,7 +31,7 @@ import org.deeplearning4j.rl4j.environment.Environment; import org.deeplearning4j.rl4j.environment.IActionSchema; import org.deeplearning4j.rl4j.experience.ExperienceHandler; import org.deeplearning4j.rl4j.experience.ReplayMemoryExperienceHandler; -import org.deeplearning4j.rl4j.learning.sync.Transition; +import org.deeplearning4j.rl4j.experience.StateActionRewardState; import org.deeplearning4j.rl4j.network.ITrainableNeuralNet; import org.deeplearning4j.rl4j.observation.transform.TransformProcess; import org.deeplearning4j.rl4j.policy.DQNPolicy; @@ -47,7 +49,7 @@ import org.nd4j.linalg.api.rng.Random; * * Used as the base of DQN builders. */ -public abstract class BaseDQNAgentLearnerBuilder extends BaseAgentLearnerBuilder, FeaturesLabels, CONFIGURATION_TYPE> { +public abstract class BaseDQNAgentLearnerBuilder extends BaseAgentLearnerBuilder, FeaturesLabels, CONFIGURATION_TYPE> { private final Random rnd; @@ -71,7 +73,7 @@ public abstract class BaseDQNAgentLearnerBuilder> buildExperienceHandler() { + protected ExperienceHandler> buildExperienceHandler() { return new ReplayMemoryExperienceHandler(configuration.getExperienceHandlerConfiguration(), rnd); } diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/DoubleDQNBuilder.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/DoubleDQNBuilder.java index 38fa48863..9df167811 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/DoubleDQNBuilder.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/DoubleDQNBuilder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.builder; import lombok.Data; @@ -24,7 +26,7 @@ import org.deeplearning4j.rl4j.agent.learning.algorithm.IUpdateAlgorithm; import org.deeplearning4j.rl4j.agent.learning.algorithm.dqn.DoubleDQN; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; import org.deeplearning4j.rl4j.environment.Environment; -import org.deeplearning4j.rl4j.learning.sync.Transition; +import org.deeplearning4j.rl4j.experience.StateActionRewardState; import org.deeplearning4j.rl4j.network.ITrainableNeuralNet; import org.deeplearning4j.rl4j.observation.transform.TransformProcess; import org.nd4j.linalg.api.rng.Random; @@ -44,7 +46,7 @@ public class DoubleDQNBuilder extends BaseDQNAgentLearnerBuilder> buildUpdateAlgorithm() { + protected IUpdateAlgorithm> buildUpdateAlgorithm() { return new DoubleDQN(networks.getThreadCurrentNetwork(), networks.getTargetNetwork(), configuration.getUpdateAlgorithmConfiguration()); } diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/INetworksHandler.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/INetworksHandler.java index 5290a2501..1c07c55fe 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/INetworksHandler.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/INetworksHandler.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.builder; import org.deeplearning4j.rl4j.network.ITrainableNeuralNet; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/NStepQLearningBuilder.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/NStepQLearningBuilder.java index a2f23dc8f..2b3ef7b62 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/NStepQLearningBuilder.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/NStepQLearningBuilder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.builder; import lombok.Data; @@ -26,7 +28,7 @@ import org.deeplearning4j.rl4j.agent.learning.update.Gradients; import org.deeplearning4j.rl4j.agent.learning.update.updater.async.AsyncSharedNetworksUpdateHandler; import org.deeplearning4j.rl4j.environment.Environment; import org.deeplearning4j.rl4j.environment.IActionSchema; -import org.deeplearning4j.rl4j.experience.StateActionPair; +import org.deeplearning4j.rl4j.experience.StateActionReward; import org.deeplearning4j.rl4j.network.ITrainableNeuralNet; import org.deeplearning4j.rl4j.observation.transform.TransformProcess; import org.deeplearning4j.rl4j.policy.DQNPolicy; @@ -69,7 +71,7 @@ public class NStepQLearningBuilder extends BaseAsyncAgentLearnerBuilder> buildUpdateAlgorithm() { + protected IUpdateAlgorithm> buildUpdateAlgorithm() { IActionSchema actionSchema = getEnvironment().getSchema().getActionSchema(); return new NStepQLearning(networks.getThreadCurrentNetwork(), networks.getTargetNetwork(), actionSchema.getActionSpaceSize(), configuration.getNstepQLearningConfiguration()); } diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/StandardDQNBuilder.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/StandardDQNBuilder.java index f1935ad8c..fcdd710a1 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/StandardDQNBuilder.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/StandardDQNBuilder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.builder; import lombok.Data; @@ -24,7 +26,7 @@ import org.deeplearning4j.rl4j.agent.learning.algorithm.IUpdateAlgorithm; import org.deeplearning4j.rl4j.agent.learning.algorithm.dqn.StandardDQN; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; import org.deeplearning4j.rl4j.environment.Environment; -import org.deeplearning4j.rl4j.learning.sync.Transition; +import org.deeplearning4j.rl4j.experience.StateActionRewardState; import org.deeplearning4j.rl4j.network.ITrainableNeuralNet; import org.deeplearning4j.rl4j.observation.transform.TransformProcess; import org.nd4j.linalg.api.rng.Random; @@ -44,7 +46,7 @@ public class StandardDQNBuilder extends BaseDQNAgentLearnerBuilder> buildUpdateAlgorithm() { + protected IUpdateAlgorithm> buildUpdateAlgorithm() { return new StandardDQN(networks.getThreadCurrentNetwork(), networks.getTargetNetwork(), configuration.getUpdateAlgorithmConfiguration()); } diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/SyncNetworkHandler.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/SyncNetworkHandler.java index ba8e971aa..911779c75 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/SyncNetworkHandler.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/builder/SyncNetworkHandler.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.builder; import lombok.Getter; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/environment/Environment.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/environment/Environment.java index ad3ab3f51..7c4de18f9 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/environment/Environment.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/environment/Environment.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.environment; import java.util.Map; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/environment/IActionSchema.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/environment/IActionSchema.java index eed58d86a..6f3b7a039 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/environment/IActionSchema.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/environment/IActionSchema.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.environment; import lombok.Value; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/environment/IntegerActionSchema.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/environment/IntegerActionSchema.java index 0a1e34a23..001810259 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/environment/IntegerActionSchema.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/environment/IntegerActionSchema.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.environment; import lombok.Getter; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/environment/Schema.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/environment/Schema.java index 7e36e29eb..6517cd53a 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/environment/Schema.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/environment/Schema.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.environment; import lombok.Value; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/environment/StepResult.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/environment/StepResult.java index 95f0f4660..d3a7c73c9 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/environment/StepResult.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/environment/StepResult.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.environment; import lombok.Value; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/experience/ExperienceHandler.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/experience/ExperienceHandler.java index e15c08415..5988335bf 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/experience/ExperienceHandler.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/experience/ExperienceHandler.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.experience; import org.deeplearning4j.rl4j.observation.Observation; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/experience/ReplayMemoryExperienceHandler.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/experience/ReplayMemoryExperienceHandler.java index 66104c992..501c96231 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/experience/ReplayMemoryExperienceHandler.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/experience/ReplayMemoryExperienceHandler.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.experience; import lombok.Builder; @@ -21,7 +23,6 @@ import lombok.EqualsAndHashCode; import lombok.experimental.SuperBuilder; import org.deeplearning4j.rl4j.learning.sync.ExpReplay; import org.deeplearning4j.rl4j.learning.sync.IExpReplay; -import org.deeplearning4j.rl4j.learning.sync.Transition; import org.deeplearning4j.rl4j.observation.Observation; import org.nd4j.linalg.api.rng.Random; @@ -29,20 +30,20 @@ import java.util.List; /** * A experience handler that stores the experience in a replay memory. See https://arxiv.org/abs/1312.5602 - * The experience container is a {@link Transition Transition} that stores the tuple observation-action-reward-nextObservation, + * The experience container is a {@link StateActionRewardState Transition} that stores the tuple observation-action-reward-nextObservation, * as well as whether or the not the episode ended after the Transition * * @param Action type */ @EqualsAndHashCode -public class ReplayMemoryExperienceHandler implements ExperienceHandler> { +public class ReplayMemoryExperienceHandler implements ExperienceHandler> { private static final int DEFAULT_MAX_REPLAY_MEMORY_SIZE = 150000; private static final int DEFAULT_BATCH_SIZE = 32; private final int batchSize; private IExpReplay expReplay; - private Transition pendingTransition; + private StateActionRewardState pendingStateActionRewardState; public ReplayMemoryExperienceHandler(IExpReplay expReplay) { this.expReplay = expReplay; @@ -55,12 +56,12 @@ public class ReplayMemoryExperienceHandler implements ExperienceHandler(observation, action, reward, isTerminal); + pendingStateActionRewardState = new StateActionRewardState<>(observation, action, reward, isTerminal); } public void setFinalObservation(Observation observation) { setNextObservationOnPending(observation); - pendingTransition = null; + pendingStateActionRewardState = null; } @Override @@ -77,19 +78,19 @@ public class ReplayMemoryExperienceHandler implements ExperienceHandler> generateTrainingBatch() { + public List> generateTrainingBatch() { return expReplay.getBatch(); } @Override public void reset() { - pendingTransition = null; + pendingStateActionRewardState = null; } private void setNextObservationOnPending(Observation observation) { - if(pendingTransition != null) { - pendingTransition.setNextObservation(observation); - expReplay.store(pendingTransition); + if(pendingStateActionRewardState != null) { + pendingStateActionRewardState.setNextObservation(observation); + expReplay.store(pendingStateActionRewardState); } } diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/experience/StateActionExperienceHandler.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/experience/StateActionExperienceHandler.java index b81a5fcc0..e8288dca5 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/experience/StateActionExperienceHandler.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/experience/StateActionExperienceHandler.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.experience; import lombok.Builder; @@ -31,7 +33,7 @@ import java.util.List; * * @author Alexandre Boulanger */ -public class StateActionExperienceHandler implements ExperienceHandler> { +public class StateActionExperienceHandler implements ExperienceHandler> { private static final int DEFAULT_BATCH_SIZE = 8; private final int batchSize; @@ -42,25 +44,25 @@ public class StateActionExperienceHandler implements ExperienceHandler> stateActionPairs = new ArrayList<>(); + private List> stateActionRewards = new ArrayList<>(); public void setFinalObservation(Observation observation) { isFinalObservationSet = true; } public void addExperience(Observation observation, A action, double reward, boolean isTerminal) { - stateActionPairs.add(new StateActionPair(observation, action, reward, isTerminal)); + stateActionRewards.add(new StateActionReward(observation, action, reward, isTerminal)); } @Override public int getTrainingBatchSize() { - return stateActionPairs.size(); + return stateActionRewards.size(); } @Override public boolean isTrainingBatchReady() { - return stateActionPairs.size() >= batchSize - || (isFinalObservationSet && stateActionPairs.size() > 0); + return stateActionRewards.size() >= batchSize + || (isFinalObservationSet && stateActionRewards.size() > 0); } /** @@ -70,16 +72,16 @@ public class StateActionExperienceHandler implements ExperienceHandler> generateTrainingBatch() { - List> result = stateActionPairs; - stateActionPairs = new ArrayList<>(); + public List> generateTrainingBatch() { + List> result = stateActionRewards; + stateActionRewards = new ArrayList<>(); return result; } @Override public void reset() { - stateActionPairs = new ArrayList<>(); + stateActionRewards = new ArrayList<>(); isFinalObservationSet = false; } diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/experience/StateActionPair.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/experience/StateActionPair.java deleted file mode 100644 index 959881eb5..000000000 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/experience/StateActionPair.java +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ -package org.deeplearning4j.rl4j.experience; - -import lombok.AllArgsConstructor; -import lombok.Getter; -import org.deeplearning4j.rl4j.observation.Observation; - -/** - * A simple experience container. Used by {@link StateActionExperienceHandler StateActionExperienceHandler}. - * - * @param Action type - * - * @author Alexandre Boulanger - */ -@AllArgsConstructor -public class StateActionPair { - - /** - * The observation before the action is taken - */ - @Getter - private final Observation observation; - - @Getter - private final A action; - - @Getter - private final double reward; - - /** - * True if the episode ended after the action has been taken. - */ - @Getter - private final boolean terminal; -} diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/experience/StateActionReward.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/experience/StateActionReward.java new file mode 100644 index 000000000..400c24af5 --- /dev/null +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/experience/StateActionReward.java @@ -0,0 +1,52 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.deeplearning4j.rl4j.experience; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import org.deeplearning4j.rl4j.observation.IObservationSource; +import org.deeplearning4j.rl4j.observation.Observation; + +/** + * A simple experience container. Used by {@link StateActionExperienceHandler StateActionExperienceHandler}. + * + * @param Action type + * + * @author Alexandre Boulanger + */ +@AllArgsConstructor +public class StateActionReward implements IObservationSource { + + /** + * The observation before the action is taken + */ + @Getter + private final Observation observation; + + @Getter + private final A action; + + @Getter + private final double reward; + + /** + * True if the episode ended after the action has been taken. + */ + @Getter + private final boolean terminal; +} diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/experience/StateActionRewardState.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/experience/StateActionRewardState.java new file mode 100644 index 000000000..154422580 --- /dev/null +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/experience/StateActionRewardState.java @@ -0,0 +1,65 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.rl4j.experience; + +import lombok.Data; +import lombok.Getter; +import lombok.Setter; +import org.deeplearning4j.rl4j.observation.IObservationSource; +import org.deeplearning4j.rl4j.observation.Observation; + +@Data +public class StateActionRewardState implements IObservationSource { + + @Getter + Observation observation; + + A action; + double reward; + boolean isTerminal; + + @Getter @Setter + Observation nextObservation; + + public StateActionRewardState(Observation observation, A action, double reward, boolean isTerminal) { + this.observation = observation; + this.action = action; + this.reward = reward; + this.isTerminal = isTerminal; + this.nextObservation = null; + } + + private StateActionRewardState(Observation observation, A action, double reward, boolean isTerminal, Observation nextObservation) { + this.observation = observation; + this.action = action; + this.reward = reward; + this.isTerminal = isTerminal; + this.nextObservation = nextObservation; + } + + /** + * @return a duplicate of this instance + */ + public StateActionRewardState dup() { + Observation dupObservation = observation.dup(); + Observation nextObs = nextObservation.dup(); + + return new StateActionRewardState(dupObservation, action, reward, isTerminal, nextObs); + } +} diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/helper/INDArrayHelper.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/helper/INDArrayHelper.java index d2c46482f..8291fc864 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/helper/INDArrayHelper.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/helper/INDArrayHelper.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.helper; import org.nd4j.linalg.api.ndarray.INDArray; @@ -66,6 +68,7 @@ public class INDArrayHelper { * @param batchSize The size of the batch to create * @param shape The shape of individual elements. * Note: all shapes in RL4J should have a batch size as dimension 0; in this case the batch size should be 1. + * And recurrent INDArrays should have their time-serie dimension as the last. * @return A INDArray */ public static INDArray createRnnBatchForShape(long batchSize, long... shape) { diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/HistoryProcessor.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/HistoryProcessor.java index 010870a65..31906d619 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/HistoryProcessor.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/HistoryProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/IEpochTrainer.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/IEpochTrainer.java index 082357b9a..1e4ff3652 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/IEpochTrainer.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/IEpochTrainer.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/IHistoryProcessor.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/IHistoryProcessor.java index 78c8fbe57..ea175df32 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/IHistoryProcessor.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/IHistoryProcessor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/ILearning.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/ILearning.java index 0d1b5bea2..67b234f31 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/ILearning.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/ILearning.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/Learning.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/Learning.java index ba88454a7..0f211e98b 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/Learning.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/Learning.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/NeuralNetFetchable.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/NeuralNetFetchable.java index 8b816ba89..7412baa68 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/NeuralNetFetchable.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/NeuralNetFetchable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/AsyncGlobal.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/AsyncGlobal.java index 20d74d4d8..f1cec035e 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/AsyncGlobal.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/AsyncGlobal.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.async; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/AsyncLearning.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/AsyncLearning.java index ab6284396..e0cc6a592 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/AsyncLearning.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/AsyncLearning.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.async; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/AsyncThread.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/AsyncThread.java index 74123d0d2..d47aa18d8 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/AsyncThread.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/AsyncThread.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.async; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/AsyncThreadDiscrete.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/AsyncThreadDiscrete.java index a9158955f..f822c41e7 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/AsyncThreadDiscrete.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/AsyncThreadDiscrete.java @@ -1,20 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.async; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/IAsyncGlobal.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/IAsyncGlobal.java index 8f6bf46bf..f0eb50998 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/IAsyncGlobal.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/IAsyncGlobal.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.async; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/IAsyncLearning.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/IAsyncLearning.java index 6bae9fddf..f7f38db48 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/IAsyncLearning.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/IAsyncLearning.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.async; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/UpdateAlgorithm.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/UpdateAlgorithm.java index c5bb7c84c..86d232bf3 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/UpdateAlgorithm.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/UpdateAlgorithm.java @@ -1,26 +1,28 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.async; import org.deeplearning4j.nn.gradient.Gradient; -import org.deeplearning4j.rl4j.experience.StateActionPair; +import org.deeplearning4j.rl4j.experience.StateActionReward; import org.deeplearning4j.rl4j.network.NeuralNet; import java.util.List; public interface UpdateAlgorithm { - Gradient[] computeGradients(NN current, List> experience); + Gradient[] computeGradients(NN current, List> experience); } diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/a3c/discrete/A3CDiscrete.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/a3c/discrete/A3CDiscrete.java index e910ecc41..a49948693 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/a3c/discrete/A3CDiscrete.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/a3c/discrete/A3CDiscrete.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.async.a3c.discrete; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/a3c/discrete/A3CDiscreteConv.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/a3c/discrete/A3CDiscreteConv.java index 08fec8a94..7de91c651 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/a3c/discrete/A3CDiscreteConv.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/a3c/discrete/A3CDiscreteConv.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.async.a3c.discrete; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/a3c/discrete/A3CDiscreteDense.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/a3c/discrete/A3CDiscreteDense.java index 5fd68f571..5200ed809 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/a3c/discrete/A3CDiscreteDense.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/a3c/discrete/A3CDiscreteDense.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.async.a3c.discrete; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/a3c/discrete/A3CThreadDiscrete.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/a3c/discrete/A3CThreadDiscrete.java index 2283576f5..273571295 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/a3c/discrete/A3CThreadDiscrete.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/a3c/discrete/A3CThreadDiscrete.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.async.a3c.discrete; @@ -29,6 +30,7 @@ import org.deeplearning4j.rl4j.policy.Policy; import org.deeplearning4j.rl4j.space.DiscreteSpace; import org.nd4j.linalg.api.rng.Random; import org.nd4j.linalg.factory.Nd4j; +import org.nd4j.linalg.api.rng.Random; /** * @author rubenfiszel (ruben.fiszel@epfl.ch) 7/23/16. diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/a3c/discrete/AdvantageActorCriticUpdateAlgorithm.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/a3c/discrete/AdvantageActorCriticUpdateAlgorithm.java index 701f09276..63518e4cd 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/a3c/discrete/AdvantageActorCriticUpdateAlgorithm.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/async/a3c/discrete/AdvantageActorCriticUpdateAlgorithm.java @@ -1,22 +1,24 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.async.a3c.discrete; import org.deeplearning4j.nn.gradient.Gradient; -import org.deeplearning4j.rl4j.experience.StateActionPair; +import org.deeplearning4j.rl4j.experience.StateActionReward; import org.deeplearning4j.rl4j.learning.Learning; import org.deeplearning4j.rl4j.learning.async.UpdateAlgorithm; import org.deeplearning4j.rl4j.network.ac.IActorCritic; @@ -49,7 +51,7 @@ public class AdvantageActorCriticUpdateAlgorithm implements UpdateAlgorithm> experience) { + public Gradient[] computeGradients(IActorCritic current, List> experience) { int size = experience.size(); int[] nshape = recurrent ? Learning.makeShape(1, shape, size) @@ -60,23 +62,23 @@ public class AdvantageActorCriticUpdateAlgorithm implements UpdateAlgorithm stateActionPair = experience.get(size - 1); + StateActionReward stateActionReward = experience.get(size - 1); double value; - if (stateActionPair.isTerminal()) { + if (stateActionReward.isTerminal()) { value = 0; } else { - INDArray[] output = current.outputAll(stateActionPair.getObservation().getData()); + INDArray[] output = current.outputAll(stateActionReward.getObservation().getChannelData(0)); value = output[0].getDouble(0); } for (int i = size - 1; i >= 0; --i) { - stateActionPair = experience.get(i); + stateActionReward = experience.get(i); - INDArray observationData = stateActionPair.getObservation().getData(); + INDArray observationData = stateActionReward.getObservation().getChannelData(0); INDArray[] output = current.outputAll(observationData); - value = stateActionPair.getReward() + gamma * value; + value = stateActionReward.getReward() + gamma * value; if (recurrent) { input.get(NDArrayIndex.point(0), NDArrayIndex.all(), NDArrayIndex.point(i)).assign(observationData); } else { @@ -90,9 +92,9 @@ public class AdvantageActorCriticUpdateAlgorithm implements UpdateAlgorithm { } @Override - public Gradient[] computeGradients(IDQN current, List> experience) { + public Gradient[] computeGradients(IDQN current, List> experience) { int size = experience.size(); - StateActionPair stateActionPair = experience.get(size - 1); + StateActionReward stateActionReward = experience.get(size - 1); - INDArray data = stateActionPair.getObservation().getData(); + INDArray data = stateActionReward.getObservation().getChannelData(0); INDArray features = INDArrayHelper.createBatchForShape(size, data.shape()); INDArray targets = Nd4j.create(size, actionSpaceSize); double r; - if (stateActionPair.isTerminal()) { + if (stateActionReward.isTerminal()) { r = 0; } else { INDArray[] output = null; @@ -57,15 +59,15 @@ public class QLearningUpdateAlgorithm implements UpdateAlgorithm { } for (int i = size - 1; i >= 0; i--) { - stateActionPair = experience.get(i); - data = stateActionPair.getObservation().getData(); + stateActionReward = experience.get(i); + data = stateActionReward.getObservation().getChannelData(0); features.putRow(i, data); - r = stateActionPair.getReward() + gamma * r; + r = stateActionReward.getReward() + gamma * r; INDArray[] output = current.outputAll(data); INDArray row = output[0]; - row = row.putScalar(stateActionPair.getAction(), r); + row = row.putScalar(stateActionReward.getAction(), r); targets.putRow(i, row); } diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/configuration/A3CLearningConfiguration.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/configuration/A3CLearningConfiguration.java index 226fe4419..a4b891ca6 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/configuration/A3CLearningConfiguration.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/configuration/A3CLearningConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.configuration; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/configuration/AsyncQLearningConfiguration.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/configuration/AsyncQLearningConfiguration.java index a60903e59..7b275d909 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/configuration/AsyncQLearningConfiguration.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/configuration/AsyncQLearningConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.configuration; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/configuration/IAsyncLearningConfiguration.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/configuration/IAsyncLearningConfiguration.java index 1639597ae..e4d3b5f48 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/configuration/IAsyncLearningConfiguration.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/configuration/IAsyncLearningConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.configuration; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/configuration/ILearningConfiguration.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/configuration/ILearningConfiguration.java index 7ae215087..d77eb1da6 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/configuration/ILearningConfiguration.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/configuration/ILearningConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.configuration; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/configuration/LearningConfiguration.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/configuration/LearningConfiguration.java index d1567e619..abb2347c9 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/configuration/LearningConfiguration.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/configuration/LearningConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.configuration; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/configuration/QLearningConfiguration.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/configuration/QLearningConfiguration.java index 26ac57f0c..4d202f3c7 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/configuration/QLearningConfiguration.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/configuration/QLearningConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.configuration; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/listener/TrainingListener.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/listener/TrainingListener.java index 7eab385e1..5feb15a88 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/listener/TrainingListener.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/listener/TrainingListener.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.listener; import org.deeplearning4j.rl4j.learning.IEpochTrainer; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/listener/TrainingListenerList.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/listener/TrainingListenerList.java index a1c6451d0..d5239c024 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/listener/TrainingListenerList.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/listener/TrainingListenerList.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.listener; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/ExpReplay.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/ExpReplay.java index 7bfcad53d..7a096b5c6 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/ExpReplay.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/ExpReplay.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.sync; @@ -20,6 +22,7 @@ import it.unimi.dsi.fastutil.ints.IntOpenHashSet; import it.unimi.dsi.fastutil.ints.IntSet; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.queue.CircularFifoQueue; +import org.deeplearning4j.rl4j.experience.StateActionRewardState; import org.nd4j.linalg.api.rng.Random; import java.util.ArrayList; @@ -39,7 +42,7 @@ public class ExpReplay implements IExpReplay { final private Random rnd; //Implementing this as a circular buffer queue - private CircularFifoQueue> storage; + private CircularFifoQueue> storage; public ExpReplay(int maxSize, int batchSize, Random rnd) { this.batchSize = batchSize; @@ -47,8 +50,8 @@ public class ExpReplay implements IExpReplay { storage = new CircularFifoQueue<>(maxSize); } - public ArrayList> getBatch(int size) { - ArrayList> batch = new ArrayList<>(size); + public ArrayList> getBatch(int size) { + ArrayList> batch = new ArrayList<>(size); int storageSize = storage.size(); int actualBatchSize = Math.min(storageSize, size); @@ -64,19 +67,19 @@ public class ExpReplay implements IExpReplay { } for (int i = 0; i < actualBatchSize; i ++) { - Transition trans = storage.get(actualIndex[i]); + StateActionRewardState trans = storage.get(actualIndex[i]); batch.add(trans.dup()); } return batch; } - public ArrayList> getBatch() { + public ArrayList> getBatch() { return getBatch(batchSize); } - public void store(Transition transition) { - storage.add(transition); + public void store(StateActionRewardState stateActionRewardState) { + storage.add(stateActionRewardState); //log.info("size: "+storage.size()); } diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/IExpReplay.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/IExpReplay.java index 8b2133806..767e53473 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/IExpReplay.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/IExpReplay.java @@ -1,21 +1,25 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.sync; +import org.deeplearning4j.rl4j.experience.StateActionRewardState; + import java.util.ArrayList; /** @@ -40,13 +44,13 @@ public interface IExpReplay { /** * @return a batch of uniformly sampled transitions */ - ArrayList> getBatch(); + ArrayList> getBatch(); /** * - * @param transition a new transition to store + * @param stateActionRewardState a new transition to store */ - void store(Transition transition); + void store(StateActionRewardState stateActionRewardState); /** * @return The desired size of batches diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/SyncLearning.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/SyncLearning.java index e50e50114..071974e07 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/SyncLearning.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/SyncLearning.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.sync; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/Transition.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/Transition.java deleted file mode 100644 index bcf0511db..000000000 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/Transition.java +++ /dev/null @@ -1,164 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package org.deeplearning4j.rl4j.learning.sync; - -import lombok.Data; -import org.deeplearning4j.rl4j.observation.Observation; -import org.nd4j.linalg.api.ndarray.INDArray; -import org.nd4j.linalg.factory.Nd4j; -import org.nd4j.linalg.indexing.INDArrayIndex; -import org.nd4j.linalg.indexing.NDArrayIndex; - -import java.util.List; - -/** - * - * A transition is a SARS tuple - * State, Action, Reward, (isTerminal), State - * - * @author rubenfiszel (ruben.fiszel@epfl.ch) 7/12/16. - * @author Alexandre Boulanger - * - */ -@Data -public class Transition { - - Observation observation; - A action; - double reward; - boolean isTerminal; - INDArray nextObservation; - - public Transition(Observation observation, A action, double reward, boolean isTerminal) { - this.observation = observation; - this.action = action; - this.reward = reward; - this.isTerminal = isTerminal; - this.nextObservation = null; - } - - public void setNextObservation(Observation nextObservation) { - // To conserve memory, only the most recent frame of the next observation is kept (if history is used). - // The full nextObservation will be re-build from observation when needed. - long[] nextObservationShape = nextObservation.getData().shape().clone(); - nextObservationShape[0] = 1; - this.nextObservation = nextObservation.getData() - .get(new INDArrayIndex[] {NDArrayIndex.point(0)}) - .reshape(nextObservationShape); - } - - private Transition(Observation observation, A action, double reward, boolean isTerminal, INDArray nextObservation) { - this.observation = observation; - this.action = action; - this.reward = reward; - this.isTerminal = isTerminal; - this.nextObservation = nextObservation; - } - - /** - * concat an array history into a single INDArry of as many channel - * as element in the history array - * @param history the history to concat - * @return the multi-channel INDArray - */ - public static INDArray concat(INDArray[] history) { - INDArray arr = Nd4j.concat(0, history); - return arr; - } - - /** - * Duplicate this transition - * @return this transition duplicated - */ - public Transition dup() { - Observation dupObservation = observation.dup(); - INDArray nextObs = nextObservation.dup(); - - return new Transition(dupObservation, action, reward, isTerminal, nextObs); - } - - /** - * Stack along the 0-dimension all the observations of the batch in a INDArray. - * - * @param transitions A list of the transitions of the batch - * @param The type of the Action - * @return A INDArray of all of the batch's observations stacked along the 0-dimension. - */ - public static INDArray buildStackedObservations(List> transitions) { - int size = transitions.size(); - long[] shape = getShape(transitions); - - INDArray[] array = new INDArray[size]; - for (int i = 0; i < size; i++) { - array[i] = transitions.get(i).getObservation().getData(); - } - - return Nd4j.concat(0, array).reshape(shape); - } - - /** - * Stack along the 0-dimension all the next observations of the batch in a INDArray. - * - * @param transitions A list of the transitions of the batch - * @param The type of the Action - * @return A INDArray of all of the batch's next observations stacked along the 0-dimension. - */ - public static INDArray buildStackedNextObservations(List> transitions) { - int size = transitions.size(); - long[] shape = getShape(transitions); - - INDArray[] array = new INDArray[size]; - - for (int i = 0; i < size; i++) { - Transition trans = transitions.get(i); - INDArray obs = trans.getObservation().getData(); - long historyLength = obs.shape()[0]; - - if(historyLength != 1) { - // To conserve memory, only the most recent frame of the next observation is kept (if history is used). - // We need to rebuild the frame-stack in addition to builing the batch-stack. - INDArray historyPart = obs.get(new INDArrayIndex[]{NDArrayIndex.interval(0, historyLength - 1)}); - array[i] = Nd4j.concat(0, trans.getNextObservation(), historyPart); - } - else { - array[i] = trans.getNextObservation(); - } - } - - return Nd4j.concat(0, array).reshape(shape); - } - - private static long[] getShape(List> transitions) { - INDArray observations = transitions.get(0).getObservation().getData(); - long[] observationShape = observations.shape(); - long[] stackedShape; - if(observationShape[0] == 1) { - // FIXME: Currently RL4J doesn't support 1D observations. So if we have a shape with 1 in the first dimension, we can use that dimension and don't need to add another one. - stackedShape = new long[observationShape.length]; - System.arraycopy(observationShape, 0, stackedShape, 0, observationShape.length); - } - else { - stackedShape = new long[observationShape.length + 1]; - System.arraycopy(observationShape, 1, stackedShape, 2, observationShape.length - 1); - stackedShape[1] = observationShape[1]; - } - stackedShape[0] = transitions.size(); - - return stackedShape; - } - -} diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/qlearning/QLearning.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/qlearning/QLearning.java index d9c955e17..d161329ba 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/qlearning/QLearning.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/qlearning/QLearning.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.sync.qlearning; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/qlearning/discrete/QLearningDiscrete.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/qlearning/discrete/QLearningDiscrete.java index c0db79294..0028f6f93 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/qlearning/discrete/QLearningDiscrete.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/qlearning/discrete/QLearningDiscrete.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.sync.qlearning.discrete; @@ -36,7 +37,7 @@ import org.deeplearning4j.rl4j.experience.ReplayMemoryExperienceHandler; import org.deeplearning4j.rl4j.learning.IHistoryProcessor; import org.deeplearning4j.rl4j.learning.Learning; import org.deeplearning4j.rl4j.learning.configuration.QLearningConfiguration; -import org.deeplearning4j.rl4j.learning.sync.Transition; +import org.deeplearning4j.rl4j.experience.StateActionRewardState; import org.deeplearning4j.rl4j.learning.sync.qlearning.QLearning; import org.deeplearning4j.rl4j.mdp.MDP; import org.deeplearning4j.rl4j.network.CommonOutputNames; @@ -108,7 +109,7 @@ public abstract class QLearningDiscrete extends QLearning> updateAlgorithm = conf.isDoubleDQN() + IUpdateAlgorithm> updateAlgorithm = conf.isDoubleDQN() ? new DoubleDQN(qNetwork, target, aglorithmConfiguration) : new StandardDQN(qNetwork, target, aglorithmConfiguration); @@ -116,14 +117,14 @@ public abstract class QLearningDiscrete extends QLearning updater = new SyncLabelsNeuralNetUpdater(qNetwork, target, neuralNetUpdaterConfiguration); - IUpdateRule> updateRule = new UpdateRule>(updateAlgorithm, updater); + IUpdateRule> updateRule = new UpdateRule>(updateAlgorithm, updater); ReplayMemoryExperienceHandler.Configuration experienceHandlerConfiguration = ReplayMemoryExperienceHandler.Configuration.builder() .maxReplayMemorySize(conf.getExpRepMaxSize()) .batchSize(conf.getBatchSize()) .build(); - ExperienceHandler> experienceHandler = new ReplayMemoryExperienceHandler(experienceHandlerConfiguration, random); - return LearningBehavior.>builder() + ExperienceHandler> experienceHandler = new ReplayMemoryExperienceHandler(experienceHandlerConfiguration, random); + return LearningBehavior.>builder() .experienceHandler(experienceHandler) .updateRule(updateRule) .build(); diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/qlearning/discrete/QLearningDiscreteConv.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/qlearning/discrete/QLearningDiscreteConv.java index 450d0e27e..faffd07e9 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/qlearning/discrete/QLearningDiscreteConv.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/qlearning/discrete/QLearningDiscreteConv.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.sync.qlearning.discrete; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/qlearning/discrete/QLearningDiscreteDense.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/qlearning/discrete/QLearningDiscreteDense.java index 789e71b42..a950d39b3 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/qlearning/discrete/QLearningDiscreteDense.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/learning/sync/qlearning/discrete/QLearningDiscreteDense.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.sync.qlearning.discrete; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/CartpoleEnvironment.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/CartpoleEnvironment.java index c26364e44..26a905447 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/CartpoleEnvironment.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/CartpoleEnvironment.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.mdp; import lombok.Getter; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/CartpoleNative.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/CartpoleNative.java index 66b938ba3..d076fc9e1 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/CartpoleNative.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/CartpoleNative.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.mdp; import lombok.Getter; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/DoAsISayOrDont.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/DoAsISayOrDont.java index f74a82005..ce424718c 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/DoAsISayOrDont.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/DoAsISayOrDont.java @@ -1,3 +1,20 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.mdp; import lombok.Getter; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/TMazeEnvironment.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/TMazeEnvironment.java index 93a69fcfe..987a5f6e4 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/TMazeEnvironment.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/TMazeEnvironment.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.mdp; import lombok.Getter; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/robotlake/RobotLake.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/robotlake/RobotLake.java new file mode 100644 index 000000000..83585d443 --- /dev/null +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/robotlake/RobotLake.java @@ -0,0 +1,197 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.deeplearning4j.rl4j.mdp.robotlake; + +import lombok.Getter; +import org.deeplearning4j.rl4j.environment.Environment; +import org.deeplearning4j.rl4j.environment.IntegerActionSchema; +import org.deeplearning4j.rl4j.environment.Schema; +import org.deeplearning4j.rl4j.environment.StepResult; +import org.deeplearning4j.rl4j.space.ArrayObservationSpace; +import org.deeplearning4j.rl4j.space.DiscreteSpace; +import org.deeplearning4j.rl4j.space.ObservationSpace; +import org.nd4j.linalg.api.rng.Random; +import org.nd4j.linalg.factory.Nd4j; + +import java.util.HashMap; +import java.util.Map; + +/** + * RobotLake is a spin off of FrozenLake. Most of it is the same except that it is a robot that tries to reach the + * goal on the lake. And instead of observing the whole grid, the robot has a 'radar' that only sees what is + * directly up, right, down and left relative to his position, and a 'tracker' that informs the robot of the horizontal and + * vertical distance to the goal. + *
        + * This environment is designed to easily merge the observations into a single channel for comparison + *
        + * Format of observations:
        + * Channel tracker: + *
          + *
        • Element 1: Signed vertical distance from the robot to the goal. negative means the goal is up; positive, the goal is down + *
        • Element 2: Signed horizontal distance from the robot to the goal. negative means the goal is left; positive, the goal is right + *
        + *
        + * Channel radar: + *
          + *
        • Element 1: 1.0 means the cell in the up direction is safe; 0.0 otherwise + *
        • Element 2: 1.0 means the cell in the right direction is safe; 0.0 otherwise + *
        • Element 3: 1.0 means the cell in the down direction is safe; 0.0 otherwise + *
        • Element 4: 1.0 means the cell in the left direction is safe; 0.0 otherwise + *
        + */ +public class RobotLake implements Environment { + private static final double GOAL_REWARD = 10.0; + private static final double STEPPED_ON_HOLE_REWARD = -2.0; + private static final double MOVE_AWAY_FROM_GOAL_REWARD = -0.1; + + public static final int NUM_ACTIONS = 4; + public static final int ACTION_LEFT = 0; + public static final int ACTION_RIGHT = 1; + public static final int ACTION_UP = 2; + public static final int ACTION_DOWN = 3; + + public static final char PLAYER = 'P'; + public static final char GOAL = 'G'; + public static final char HOLE = '@'; + public static final char ICE = ' '; + + @Getter + private Schema schema; + + @Getter + private boolean episodeFinished = false; + + @Getter + private boolean goalReached = false; + + @Getter + private DiscreteSpace actionSpace = new DiscreteSpace(NUM_ACTIONS); + + @Getter + private ObservationSpace observationSpace = new ArrayObservationSpace(new int[] { }); + + private RobotLakeState state; + private final int size; + + public RobotLake(int size) { + this(size, false, Nd4j.getRandom()); + } + + public RobotLake(int size, boolean areStartingPositionsRandom, Random rnd) { + state = new RobotLakeState(size, areStartingPositionsRandom, rnd); + this.size = size; + this.schema = new Schema(new IntegerActionSchema(NUM_ACTIONS, ACTION_LEFT, rnd)); + } + + @Override + public Map reset() { + state.reset(); + episodeFinished = false; + goalReached = false; + + return getChannelsData(); + } + + public StepResult step(Integer action) { + double reward = 0.0; + + switch (action) { + case ACTION_LEFT: + state.moveRobotLeft(); + break; + + case ACTION_RIGHT: + state.moveRobotRight(); + break; + + case ACTION_UP: + state.moveRobotUp(); + break; + + case ACTION_DOWN: + state.moveRobotDown(); + break; + } + + if(RobotLakeHelper.isGoalAtLocation(state.getLake(), state.getRobotY(), state.getRobotX())) { + episodeFinished = true; + goalReached = true; + reward = GOAL_REWARD; + } else if(!RobotLakeHelper.isLocationSafe(state.getLake(), state.getRobotY(), state.getRobotX())) { + episodeFinished = true; + reward = STEPPED_ON_HOLE_REWARD; + } else { + // Give a small negative reward for moving away from the goal (to speedup learning) + switch (action) { + case ACTION_LEFT: + reward = state.getGoalX() > 0 ? MOVE_AWAY_FROM_GOAL_REWARD : 0.0; + break; + + case ACTION_RIGHT: + reward = state.getGoalX() == 0 ? MOVE_AWAY_FROM_GOAL_REWARD : 0.0; + break; + + case ACTION_UP: + reward = state.getGoalY() > 0 ? MOVE_AWAY_FROM_GOAL_REWARD : 0.0; + break; + + case ACTION_DOWN: + reward = state.getGoalY() == 0 ? MOVE_AWAY_FROM_GOAL_REWARD : 0.0; + break; + } + } + + return new StepResult(getChannelsData(), reward, episodeFinished); + } + + + @Override + public void close() { + // Do nothing + } + + private double[] getTrackerChannelData() { + return new double[] { + state.getGoalY() - state.getRobotY(), + state.getGoalX() - state.getRobotX() + }; + } + + private double[] getRadarChannelData() { + return new double[] { + // UP Direction + state.getRobotY() == 0 || RobotLakeHelper.isLocationSafe(state.getLake(), state.getRobotY() - 1, state.getRobotX()) ? 1.0 : 0.0, + + // RIGHT Direction + state.getRobotX() == (size - 1) || RobotLakeHelper.isLocationSafe(state.getLake(), state.getRobotY(), state.getRobotX() + 1) ? 1.0 : 0.0, + + // DOWN Direction + state.getRobotY() == (size - 1) || RobotLakeHelper.isLocationSafe(state.getLake(), state.getRobotY() + 1, state.getRobotX()) ? 1.0 : 0.0, + + // LEFT Direction + state.getRobotX() == 0 || RobotLakeHelper.isLocationSafe(state.getLake(), state.getRobotY(), state.getRobotX() - 1) ? 1.0 : 0.0, + }; + } + + private Map getChannelsData() { + return new HashMap() {{ + put("tracker", getTrackerChannelData()); + put("radar", getRadarChannelData()); + }}; + } +} diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/robotlake/RobotLakeHelper.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/robotlake/RobotLakeHelper.java new file mode 100644 index 000000000..25a193889 --- /dev/null +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/robotlake/RobotLakeHelper.java @@ -0,0 +1,89 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.deeplearning4j.rl4j.mdp.robotlake; + +public class RobotLakeHelper { + private static final byte SAFE_PATH_TO_LOCATION_EXISTS = (byte)1; + private static final byte DANGEROUS_LOCATION = (byte)-1; + private static final byte UNVISITED_LOCATION = (byte)0; + + public static boolean isGoalAtLocation(RobotLakeMap lake, int y, int x) { + return lake.getLocation(y, x) == RobotLake.GOAL; + } + + public static boolean pathExistsToGoal(RobotLakeMap lake, int startY, int startX) { + byte[][] path = new byte[lake.size][lake.size]; + + for (int y = 0; y < lake.size; ++y) { + for (int x = 0; x < lake.size; ++x) { + if(!isLocationSafe(lake, y, x)) { + path[y][x] = DANGEROUS_LOCATION; + } + } + } + + path[startY][startX] = 1; + int previousNumberOfLocations = 0; + while (true) { + int numberOfLocations = 0; + + for (int y = 0; y < lake.size; ++y) { + for (int x = 0; x < lake.size; ++x) { + if (path[y][x] == SAFE_PATH_TO_LOCATION_EXISTS) { + ++numberOfLocations; + boolean hasFoundValidPath = updatePathSafetyAtLocation(lake, path, y - 1, x) + || updatePathSafetyAtLocation(lake, path, y, x - 1) + || updatePathSafetyAtLocation(lake, path, y + 1, x) + || updatePathSafetyAtLocation(lake, path, y, x + 1); + + if(hasFoundValidPath) { + return true; + } + } + } + } + + if (previousNumberOfLocations == numberOfLocations) { + return false; + } + previousNumberOfLocations = numberOfLocations; + } + } + + // returns true if goal has been reached + private static boolean updatePathSafetyAtLocation(RobotLakeMap lake, byte[][] path, int y, int x) { + if (y < 0 || y >= path.length || x < 0 || x >= path.length || path[y][x] != UNVISITED_LOCATION) { + return false; + } + + if(isGoalAtLocation(lake, y, x)) { + return true; + } + + path[y][x] = isLocationSafe(lake, y, x) ? SAFE_PATH_TO_LOCATION_EXISTS : DANGEROUS_LOCATION; + + return false; + } + + public static boolean isLocationSafe(RobotLakeMap lake, int y, int x) { + char contentOfLocation = lake.getLocation(y, x); + return contentOfLocation == RobotLake.ICE + || contentOfLocation == RobotLake.GOAL; + } + +} \ No newline at end of file diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/robotlake/RobotLakeMap.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/robotlake/RobotLakeMap.java new file mode 100644 index 000000000..841ea655c --- /dev/null +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/robotlake/RobotLakeMap.java @@ -0,0 +1,52 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.deeplearning4j.rl4j.mdp.robotlake; + +import org.nd4j.linalg.api.rng.Random; + +public class RobotLakeMap { + private static final double SAFE_ICE_PROBABILITY = 0.8; + + private final Random rnd; + + private final char[][] lake; + public final int size; + + public RobotLakeMap(int size, Random rnd) { + this.size = size; + this.rnd = rnd; + lake = new char[size][size]; + } + + public void generateLake(int playerY, int playerX, int goalY, int goalX) { + for(int y = 0; y < size; ++y) { + for(int x = 0; x < size; ++x) { + lake[y][x] = rnd.nextDouble() <= SAFE_ICE_PROBABILITY + ? RobotLake.ICE + : RobotLake.HOLE; + } + } + + lake[goalY][goalX] = RobotLake.GOAL; + lake[playerY][playerX] = RobotLake.ICE; + } + + public char getLocation(int y, int x) { + return lake[y][x]; + } +} diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/robotlake/RobotLakeState.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/robotlake/RobotLakeState.java new file mode 100644 index 000000000..cf5c5b8b9 --- /dev/null +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/robotlake/RobotLakeState.java @@ -0,0 +1,107 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.deeplearning4j.rl4j.mdp.robotlake; + +import lombok.Getter; +import org.nd4j.linalg.api.rng.Random; + +public class RobotLakeState { + private final int size; + private final boolean areStartingPositionsRandom; + private final Random rnd; + + @Getter + private final RobotLakeMap lake; + + @Getter + private int robotY, robotX; + + @Getter + private int goalY, goalX; + + public RobotLakeState(int size, boolean areStartingPositionsRandom, Random rnd) { + this.size = size; + this.areStartingPositionsRandom = areStartingPositionsRandom; + this.rnd = rnd; + lake = new RobotLakeMap(size, rnd); + } + + public void reset() { + setRobotAndGoalLocations(); + generateValidPond(); + } + + private void generateValidPond() { + int attempts = 0; + while (attempts++ < 1000) { + lake.generateLake(robotY, robotX, goalY, goalX); + if(RobotLakeHelper.pathExistsToGoal(lake, robotY, robotX)) { + return; + } + } + + throw new RuntimeException("Failed to generate a valid pond after 1000 attempts"); + } + + public void moveRobotLeft() { + if(robotX > 0) { + --robotX; + } + } + + public void moveRobotRight() { + if(robotX < size - 1) { + ++robotX; + } + } + + public void moveRobotUp() { + if(robotY > 0) { + --robotY; + } + } + + public void moveRobotDown() { + if(robotY < size - 1) { + ++robotY; + } + } + + private void setRobotAndGoalLocations() { + if(areStartingPositionsRandom) { + if (rnd.nextBoolean()) { + // Robot on top side, goal on bottom side + robotX = rnd.nextInt(size); + robotY = 0; + goalX = rnd.nextInt(size); + goalY = size - 1; + } else { + // Robot on left side, goal on right side + robotX = 0; + robotY = rnd.nextInt(size); + goalX = size - 1; + goalY = rnd.nextInt(size); + } + } else { + robotX = 0; + robotY = 0; + goalX = size - 1; + goalY = size - 1; + } + } +} \ No newline at end of file diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/toy/HardDeteministicToy.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/toy/HardDeteministicToy.java index 149efc43d..26adff0c6 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/toy/HardDeteministicToy.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/toy/HardDeteministicToy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.mdp.toy; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/toy/HardToyState.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/toy/HardToyState.java index a357eaeda..0dff903cf 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/toy/HardToyState.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/toy/HardToyState.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.mdp.toy; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/toy/SimpleToy.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/toy/SimpleToy.java index 091c51b8d..c489715ab 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/toy/SimpleToy.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/toy/SimpleToy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.mdp.toy; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/toy/SimpleToyState.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/toy/SimpleToyState.java index 6e41ea414..cb9a15e80 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/toy/SimpleToyState.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/mdp/toy/SimpleToyState.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.mdp.toy; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ActorCriticNetwork.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ActorCriticNetwork.java index 70ebbc1f6..16f993d4b 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ActorCriticNetwork.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ActorCriticNetwork.java @@ -1,22 +1,26 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network; +import lombok.NonNull; import org.deeplearning4j.nn.graph.ComputationGraph; import org.deeplearning4j.nn.multilayer.MultiLayerNetwork; +import org.nd4j.common.base.Preconditions; import org.nd4j.linalg.api.ndarray.INDArray; /** @@ -35,49 +39,8 @@ public class ActorCriticNetwork extends BaseNetwork { CommonLabelNames.ActorCritic.Value, CommonLabelNames.ActorCritic.Policy }; - private final boolean isCombined; - public ActorCriticNetwork(ComputationGraph combinedNetwork) { - this(new ComputationGraphHandler(combinedNetwork, LABEL_NAMES, CommonGradientNames.ActorCritic.Combined), true); - } - - public ActorCriticNetwork(ComputationGraph valueNetwork, ComputationGraph policyNetwork) { - this(createValueNetworkHandler(valueNetwork), createPolicyNetworkHandler(policyNetwork)); - } - - public ActorCriticNetwork(MultiLayerNetwork valueNetwork, ComputationGraph policyNetwork) { - this(createValueNetworkHandler(valueNetwork), createPolicyNetworkHandler(policyNetwork)); - } - - public ActorCriticNetwork(ComputationGraph valueNetwork, MultiLayerNetwork policyNetwork) { - this(createValueNetworkHandler(valueNetwork), createPolicyNetworkHandler(policyNetwork)); - } - - public ActorCriticNetwork(MultiLayerNetwork valueNetwork, MultiLayerNetwork policyNetwork) { - this(createValueNetworkHandler(valueNetwork), createPolicyNetworkHandler(policyNetwork)); - } - - private static INetworkHandler createValueNetworkHandler(ComputationGraph valueNetwork) { - return new ComputationGraphHandler(valueNetwork, new String[] { CommonLabelNames.ActorCritic.Value }, CommonGradientNames.ActorCritic.Value); - } - - private static INetworkHandler createValueNetworkHandler(MultiLayerNetwork valueNetwork) { - return new MultiLayerNetworkHandler(valueNetwork, CommonLabelNames.ActorCritic.Value, CommonGradientNames.ActorCritic.Value); - } - - private static INetworkHandler createPolicyNetworkHandler(ComputationGraph policyNetwork) { - return new ComputationGraphHandler(policyNetwork, new String[] { CommonLabelNames.ActorCritic.Policy }, CommonGradientNames.ActorCritic.Policy); - } - - private static INetworkHandler createPolicyNetworkHandler(MultiLayerNetwork policyNetwork) { - return new MultiLayerNetworkHandler(policyNetwork, CommonLabelNames.ActorCritic.Policy, CommonGradientNames.ActorCritic.Policy); - } - - private ActorCriticNetwork(INetworkHandler valueNetworkHandler, INetworkHandler policyNetworkHandler) { - this(new CompoundNetworkHandler(valueNetworkHandler, policyNetworkHandler), false); - } - private ActorCriticNetwork(INetworkHandler handler, boolean isCombined) { super(handler); this.isCombined = isCombined; @@ -96,4 +59,116 @@ public class ActorCriticNetwork extends BaseNetwork { public ActorCriticNetwork clone() { return new ActorCriticNetwork(getNetworkHandler().clone(), isCombined); } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private final NetworkHelper networkHelper = new NetworkHelper(); + + private boolean isCombined; + private ComputationGraph combinedNetwork; + + private ComputationGraph cgValueNetwork; + private MultiLayerNetwork mlnValueNetwork; + + private ComputationGraph cgPolicyNetwork; + private MultiLayerNetwork mlnPolicyNetwork; + private String inputChannelName; + private String[] channelNames; + private ChannelToNetworkInputMapper.NetworkInputToChannelBinding[] networkInputsToFeatureBindings; + + + public Builder withCombinedNetwork(@NonNull ComputationGraph combinedNetwork) { + isCombined = true; + this.combinedNetwork = combinedNetwork; + + return this; + } + + public Builder withSeparateNetworks(@NonNull ComputationGraph valueNetwork, @NonNull ComputationGraph policyNetwork) { + this.cgValueNetwork = valueNetwork; + this.cgPolicyNetwork = policyNetwork; + isCombined = false; + return this; + } + + public Builder withSeparateNetworks(@NonNull MultiLayerNetwork valueNetwork, @NonNull ComputationGraph policyNetwork) { + this.mlnValueNetwork = valueNetwork; + this.cgPolicyNetwork = policyNetwork; + isCombined = false; + + return this; + } + + public Builder withSeparateNetworks(@NonNull ComputationGraph valueNetwork, @NonNull MultiLayerNetwork policyNetwork) { + this.cgValueNetwork = valueNetwork; + this.mlnPolicyNetwork = policyNetwork; + isCombined = false; + + return this; + } + + public Builder withSeparateNetworks(@NonNull MultiLayerNetwork valueNetwork, @NonNull MultiLayerNetwork policyNetwork) { + this.mlnValueNetwork = valueNetwork; + this.mlnPolicyNetwork = policyNetwork; + isCombined = false; + + return this; + } + + public Builder inputBindings(ChannelToNetworkInputMapper.NetworkInputToChannelBinding[] networkInputsToFeatureBindings) { + this.networkInputsToFeatureBindings = networkInputsToFeatureBindings; + return this; + } + + public Builder specificBinding(String inputChannelName) { + this.inputChannelName = inputChannelName; + return this; + } + + public Builder channelNames(String[] channelNames) { + this.channelNames = channelNames; + return this; + } + + public ActorCriticNetwork build() { + INetworkHandler networkHandler; + + boolean isValueNetworkSet = !(cgValueNetwork == null && mlnValueNetwork == null); + boolean isPolicyNetworkSet = !(cgPolicyNetwork == null && mlnPolicyNetwork == null); + Preconditions.checkState(combinedNetwork != null || (isValueNetworkSet && isPolicyNetworkSet), "A network must be set."); + + if(isCombined) { + networkHandler = (networkInputsToFeatureBindings == null) + ? networkHelper.buildHandler(combinedNetwork, inputChannelName, channelNames, LABEL_NAMES, CommonGradientNames.ActorCritic.Combined) + : networkHelper.buildHandler(combinedNetwork, networkInputsToFeatureBindings, channelNames, LABEL_NAMES, CommonGradientNames.ActorCritic.Combined); + } else { + INetworkHandler valueNetworkHandler; + if(cgValueNetwork != null) { + valueNetworkHandler = (networkInputsToFeatureBindings == null) + ? networkHelper.buildHandler(cgValueNetwork, inputChannelName, channelNames, new String[] { CommonLabelNames.ActorCritic.Value }, CommonGradientNames.ActorCritic.Value) + : networkHelper.buildHandler(cgValueNetwork, networkInputsToFeatureBindings, channelNames, LABEL_NAMES, CommonGradientNames.ActorCritic.Value); + } else { + valueNetworkHandler = networkHelper.buildHandler(mlnValueNetwork, inputChannelName, channelNames, CommonLabelNames.ActorCritic.Value, CommonGradientNames.ActorCritic.Value); + } + + INetworkHandler policyNetworkHandler; + if(cgPolicyNetwork != null) { + policyNetworkHandler = (networkInputsToFeatureBindings == null) + ? networkHelper.buildHandler(cgPolicyNetwork, inputChannelName, channelNames, new String[] { CommonLabelNames.ActorCritic.Policy }, CommonGradientNames.ActorCritic.Policy) + : networkHelper.buildHandler(cgPolicyNetwork, networkInputsToFeatureBindings, channelNames, LABEL_NAMES, CommonGradientNames.ActorCritic.Policy); + } else { + policyNetworkHandler = networkHelper.buildHandler(mlnPolicyNetwork, inputChannelName, channelNames, CommonLabelNames.ActorCritic.Policy, CommonGradientNames.ActorCritic.Policy); + } + + networkHandler = new CompoundNetworkHandler(valueNetworkHandler, policyNetworkHandler); + } + + return new ActorCriticNetwork(networkHandler, isCombined); + } + + } + } diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/BaseNetwork.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/BaseNetwork.java index b6a680d7e..63e9e5c24 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/BaseNetwork.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/BaseNetwork.java @@ -1,23 +1,27 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network; import lombok.AccessLevel; import lombok.Getter; import lombok.Value; +import org.apache.commons.lang3.NotImplementedException; +import org.deeplearning4j.rl4j.agent.learning.update.Features; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; import org.deeplearning4j.rl4j.observation.Observation; @@ -100,7 +104,7 @@ public abstract class BaseNetwork if(isRecurrent()) { result = packageResult(networkHandler.recurrentStepOutput(observation)); } else { - result = output(observation.getData()); + result = packageResult(networkHandler.stepOutput(observation)); } neuralNetOutputCache.put(observation, result); @@ -113,14 +117,26 @@ public abstract class BaseNetwork /** * Compute the output for a batch. - * Note: The current state is ignored if used witha recurrent network + * Note: The current state is ignored if used with a recurrent network * @param batch * @return a {@link NeuralNetOutput} instance */ public NeuralNetOutput output(INDArray batch) { - return packageResult(networkHandler.batchOutput(batch)); + // TODO: Remove when legacy code is gone + throw new NotImplementedException("output(INDArray): should use output(Observation) or output(Features)"); } + /** + * Compute the output for a batch. + * Note: The current state is ignored if used with a recurrent network + * @param features + * @return a {@link NeuralNetOutput} instance + */ + public NeuralNetOutput output(Features features) { + return packageResult(networkHandler.batchOutput(features)); + } + + /** * Resets the cache and the state of the network */ diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ChannelToNetworkInputMapper.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ChannelToNetworkInputMapper.java new file mode 100644 index 000000000..1fb433537 --- /dev/null +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ChannelToNetworkInputMapper.java @@ -0,0 +1,129 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.deeplearning4j.rl4j.network; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NonNull; +import org.apache.commons.collections4.map.HashedMap; +import org.deeplearning4j.rl4j.agent.learning.update.Features; +import org.deeplearning4j.rl4j.observation.Observation; +import org.nd4j.common.base.Preconditions; +import org.nd4j.linalg.api.ndarray.INDArray; + +import java.util.Map; + +/** + * A class that maps the channels of an {@link Observation} or a {@link Features} to the inputs of a network. + */ +public class ChannelToNetworkInputMapper { + private final IdxBinding[] networkInputsToChannelNameMap; + private final int inputCount; + + /** + * @param networkInputsToChannelNameMap An array that describe how to map the network inputs with the channel names. + * @param networkInputNames An ordered array of the network inputs. + * @param channelNames An ordered array of the observation/features channel names + */ + public ChannelToNetworkInputMapper(@NonNull NetworkInputToChannelBinding[] networkInputsToChannelNameMap, + String[] networkInputNames, + String[] channelNames) { + Preconditions.checkArgument(networkInputsToChannelNameMap.length > 0, "networkInputsToChannelNameMap is empty."); + Preconditions.checkArgument(networkInputNames.length > 0, "networkInputNames is empty."); + Preconditions.checkArgument(channelNames.length > 0, "channelNames is empty."); + + // All network inputs must be mapped exactly once. + for (String inputName : networkInputNames) { + int numTimesMapped = 0; + for (NetworkInputToChannelBinding networkInputToChannelBinding : networkInputsToChannelNameMap) { + numTimesMapped += inputName == networkInputToChannelBinding.networkInputName ? 1 : 0; + } + + if (numTimesMapped != 1) { + throw new IllegalArgumentException("All network inputs must be mapped exactly once. Input '" + inputName + "' is mapped " + numTimesMapped + " times."); + } + } + + Map networkNameToIdx = new HashedMap(); + for(int i = 0; i < networkInputNames.length; ++i) { + networkNameToIdx.put(networkInputNames[i], i); + } + + Map channelNamesToIdx = new HashedMap(); + for(int i = 0; i < channelNames.length; ++i) { + channelNamesToIdx.put(channelNames[i], i); + } + + this.networkInputsToChannelNameMap = new IdxBinding[networkInputNames.length]; + for(int i = 0; i < networkInputsToChannelNameMap.length; ++i) { + NetworkInputToChannelBinding nameMap = networkInputsToChannelNameMap[i]; + + Integer networkIdx = networkNameToIdx.get(nameMap.networkInputName); + if(networkIdx == null) { + throw new IllegalArgumentException("'" + nameMap.networkInputName + "' not found in networkInputNames"); + } + + Integer channelIdx = channelNamesToIdx.get(nameMap.channelName); + if(channelIdx == null) { + throw new IllegalArgumentException("'" + nameMap.channelName + "' not found in channelNames"); + } + + this.networkInputsToChannelNameMap[i] = new IdxBinding(networkIdx, channelIdx); + } + + inputCount = networkInputNames.length; + } + + public INDArray[] getNetworkInputs(Observation observation) { + INDArray[] result = new INDArray[inputCount]; + for(IdxBinding map : networkInputsToChannelNameMap) { + result[map.networkInputIdx] = observation.getChannelData(map.channelIdx); + } + + return result; + } + + public INDArray[] getNetworkInputs(Features features) { + INDArray[] result = new INDArray[inputCount]; + for(IdxBinding map : networkInputsToChannelNameMap) { + result[map.networkInputIdx] = features.get(map.channelIdx); + } + + return result; + } + + + @AllArgsConstructor + public static class NetworkInputToChannelBinding { + @Getter + private String networkInputName; + @Getter + private String channelName; + + public static NetworkInputToChannelBinding map(String networkInputName, String channelName) { + return new NetworkInputToChannelBinding(networkInputName, channelName); + } + } + + @AllArgsConstructor + private static class IdxBinding { + int networkInputIdx; + int channelIdx; + } + +} diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/CommonGradientNames.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/CommonGradientNames.java index 76fc82edd..a7f08d8ad 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/CommonGradientNames.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/CommonGradientNames.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.network; public abstract class CommonGradientNames { diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/CommonLabelNames.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/CommonLabelNames.java index 536798ecf..92a04b9dd 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/CommonLabelNames.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/CommonLabelNames.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.network; public abstract class CommonLabelNames { diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/CommonOutputNames.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/CommonOutputNames.java index c76a9eebb..b6c56f4e3 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/CommonOutputNames.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/CommonOutputNames.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.network; public abstract class CommonOutputNames { diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/CompoundNetworkHandler.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/CompoundNetworkHandler.java index 8528cc90e..1ae7c1c93 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/CompoundNetworkHandler.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/CompoundNetworkHandler.java @@ -1,21 +1,24 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network; import lombok.Getter; +import org.deeplearning4j.rl4j.agent.learning.update.Features; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; import org.deeplearning4j.rl4j.observation.Observation; @@ -102,10 +105,20 @@ public class CompoundNetworkHandler implements INetworkHandler { } @Override - public INDArray[] batchOutput(INDArray batch) { + public INDArray[] stepOutput(Observation observation) { List outputs = new ArrayList(); for(INetworkHandler handler : networkHandlers) { - Collections.addAll(outputs, handler.batchOutput(batch)); + Collections.addAll(outputs, handler.stepOutput(observation)); + } + + return outputs.toArray(new INDArray[0]); + } + + @Override + public INDArray[] batchOutput(Features features) { + List outputs = new ArrayList(); + for(INetworkHandler handler : networkHandlers) { + Collections.addAll(outputs, handler.batchOutput(features)); } return outputs.toArray(new INDArray[0]); diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ComputationGraphHandler.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ComputationGraphHandler.java index bb9c1b9e0..cbe5c657b 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ComputationGraphHandler.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ComputationGraphHandler.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network; import lombok.Getter; @@ -22,6 +24,7 @@ import org.deeplearning4j.nn.graph.ComputationGraph; import org.deeplearning4j.nn.layers.recurrent.RnnOutputLayer; import org.deeplearning4j.nn.workspace.LayerWorkspaceMgr; import org.deeplearning4j.optimize.api.TrainingListener; +import org.deeplearning4j.rl4j.agent.learning.update.Features; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; import org.deeplearning4j.rl4j.observation.Observation; @@ -39,18 +42,48 @@ public class ComputationGraphHandler implements INetworkHandler { private final ComputationGraphConfiguration configuration; private final String[] labelNames; private final String gradientName; + private final int inputFeatureIdx; + private final ChannelToNetworkInputMapper channelToNetworkInputMapper; /** * @param model The {@link ComputationGraph} to use internally. * @param labelNames An array of the labels (in {@link FeaturesLabels}) to use as the network's input. * @param gradientName The name of the gradient (in {@link Gradients}) to use as the network's output. + * @param channelToNetworkInputMapper a {@link ChannelToNetworkInputMapper} instance that map the network inputs + * to the feature channels */ - public ComputationGraphHandler(ComputationGraph model, String[] labelNames, String gradientName) { + public ComputationGraphHandler(ComputationGraph model, + String[] labelNames, + String gradientName, + ChannelToNetworkInputMapper channelToNetworkInputMapper) { this.model = model; recurrent = model.getOutputLayer(0) instanceof RnnOutputLayer; configuration = model.getConfiguration(); this.labelNames = labelNames; this.gradientName = gradientName; + + this.inputFeatureIdx = 0; + this.channelToNetworkInputMapper = channelToNetworkInputMapper; + } + + /** + * @param model The {@link ComputationGraph} to use internally. + * @param labelNames An array of the labels (in {@link FeaturesLabels}) to use as the network's input. + * @param gradientName The name of the gradient (in {@link Gradients}) to use as the network's output. + * @param inputFeatureIdx The channel index to use as the input of the model + */ + public ComputationGraphHandler(ComputationGraph model, + String[] labelNames, + String gradientName, + int inputFeatureIdx) { + this.model = model; + recurrent = model.getOutputLayer(0) instanceof RnnOutputLayer; + configuration = model.getConfiguration(); + this.labelNames = labelNames; + this.gradientName = gradientName; + + this.inputFeatureIdx = inputFeatureIdx; + this.channelToNetworkInputMapper = null; } @Override @@ -77,15 +110,13 @@ public class ComputationGraphHandler implements INetworkHandler { @Override public void performFit(FeaturesLabels featuresLabels) { - INDArray[] features = new INDArray[] { featuresLabels.getFeatures() }; - INDArray[] labels = getLabelsFromFeaturesLabels(featuresLabels); - model.fit(features, labels); + model.fit(buildInputs(featuresLabels.getFeatures()), buildLabels(featuresLabels)); } @Override public void performGradientsComputation(FeaturesLabels featuresLabels) { - model.setInput(0, featuresLabels.getFeatures()); - model.setLabels(getLabelsFromFeaturesLabels(featuresLabels)); + model.setInputs(buildInputs(featuresLabels.getFeatures())); + model.setLabels(buildLabels(featuresLabels)); model.computeGradientAndScore(); } @@ -94,7 +125,7 @@ public class ComputationGraphHandler implements INetworkHandler { gradients.putGradient(gradientName, model.gradient()); } - private INDArray[] getLabelsFromFeaturesLabels(FeaturesLabels featuresLabels) { + private INDArray[] buildLabels(FeaturesLabels featuresLabels) { int numLabels = labelNames.length; INDArray[] result = new INDArray[numLabels]; for(int i = 0; i < numLabels; ++i) { @@ -120,12 +151,17 @@ public class ComputationGraphHandler implements INetworkHandler { @Override public INDArray[] recurrentStepOutput(Observation observation) { - return model.rnnTimeStep(observation.getData()); + return model.rnnTimeStep(buildInputs(observation)); } @Override - public INDArray[] batchOutput(INDArray batch) { - return model.output(batch); + public INDArray[] stepOutput(Observation observation) { + return model.output(buildInputs(observation)); + } + + @Override + public INDArray[] batchOutput(Features features) { + return model.output(buildInputs(features)); } @Override @@ -135,11 +171,28 @@ public class ComputationGraphHandler implements INetworkHandler { @Override public INetworkHandler clone() { - return new ComputationGraphHandler(model.clone(), labelNames, gradientName); + if(channelToNetworkInputMapper != null) { + return new ComputationGraphHandler(model.clone(), labelNames, gradientName, channelToNetworkInputMapper); + } + return new ComputationGraphHandler(model.clone(), labelNames, gradientName, inputFeatureIdx); } @Override public void copyFrom(INetworkHandler from) { model.setParams(((ComputationGraphHandler) from).model.params()); } + + + protected INDArray[] buildInputs(Observation observation) { + return channelToNetworkInputMapper == null + ? new INDArray[] { observation.getChannelData(inputFeatureIdx) } + : channelToNetworkInputMapper.getNetworkInputs(observation); + } + + protected INDArray[] buildInputs(Features features) { + return channelToNetworkInputMapper == null + ? new INDArray[] { features.get(inputFeatureIdx) } + : channelToNetworkInputMapper.getNetworkInputs(features); + } + } diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/INetworkHandler.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/INetworkHandler.java index 2a2b7ae95..86be46c99 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/INetworkHandler.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/INetworkHandler.java @@ -1,20 +1,23 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network; +import org.deeplearning4j.rl4j.agent.learning.update.Features; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; import org.deeplearning4j.rl4j.observation.Observation; @@ -72,12 +75,18 @@ public interface INetworkHandler { */ INDArray[] recurrentStepOutput(Observation observation); + /** + * @param observation An {@link Observation} + * @return The output of the observation computed without using or updating the network state. + */ + INDArray[] stepOutput(Observation observation); + /** * Compute the output of a batch - * @param batch A {@link INDArray} + * @param features A {@link Features} instance * @return The output of the batch. The current state of the network is not used or changed. */ - INDArray[] batchOutput(INDArray batch); + INDArray[] batchOutput(Features features); /** * Clear all network state. diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/IOutputNeuralNet.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/IOutputNeuralNet.java index 96de0d558..48decdd11 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/IOutputNeuralNet.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/IOutputNeuralNet.java @@ -1,20 +1,23 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network; +import org.deeplearning4j.rl4j.agent.learning.update.Features; import org.deeplearning4j.rl4j.observation.Observation; import org.nd4j.linalg.api.ndarray.INDArray; @@ -37,7 +40,14 @@ public interface IOutputNeuralNet { * @param batch * @return The ouptut of the network */ - NeuralNetOutput output(INDArray batch); + NeuralNetOutput output(INDArray batch); // FIXME: Remove once legacy classes are gone + + /** + * Compute the output for the supplied batch. + * @param features A {@link Features} instance + * @return The ouptut of the network + */ + NeuralNetOutput output(Features features); /** * Clear the neural net of any previous state diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ITrainableNeuralNet.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ITrainableNeuralNet.java index c96dcdc7b..a16c8b473 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ITrainableNeuralNet.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ITrainableNeuralNet.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/MultiLayerNetworkHandler.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/MultiLayerNetworkHandler.java index b40874756..597ed4e8f 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/MultiLayerNetworkHandler.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/MultiLayerNetworkHandler.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network; import lombok.Getter; @@ -22,6 +24,7 @@ import org.deeplearning4j.nn.layers.recurrent.RnnOutputLayer; import org.deeplearning4j.nn.multilayer.MultiLayerNetwork; import org.deeplearning4j.nn.workspace.LayerWorkspaceMgr; import org.deeplearning4j.optimize.api.TrainingListener; +import org.deeplearning4j.rl4j.agent.learning.update.Features; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; import org.deeplearning4j.rl4j.observation.Observation; @@ -39,18 +42,25 @@ public class MultiLayerNetworkHandler implements INetworkHandler { private final MultiLayerConfiguration configuration; private final String labelName; private final String gradientName; + private final int inputFeatureIdx; /** + * * @param model The {@link MultiLayerNetwork} to use internally * @param labelName The name of the label (in {@link FeaturesLabels}) to use as the network's input. * @param gradientName The name of the gradient (in {@link Gradients}) to use as the network's output. + * @param inputFeatureIdx The channel index to use as the input of the model */ - public MultiLayerNetworkHandler(MultiLayerNetwork model, String labelName, String gradientName) { + public MultiLayerNetworkHandler(MultiLayerNetwork model, + String labelName, + String gradientName, + int inputFeatureIdx) { this.model = model; recurrent = model.getOutputLayer() instanceof RnnOutputLayer; configuration = model.getLayerWiseConfigurations(); this.labelName = labelName; this.gradientName = gradientName; + this.inputFeatureIdx = inputFeatureIdx; } @Override @@ -77,14 +87,14 @@ public class MultiLayerNetworkHandler implements INetworkHandler { @Override public void performFit(FeaturesLabels featuresLabels) { - INDArray features = featuresLabels.getFeatures(); + INDArray features = featuresLabels.getFeatures().get(inputFeatureIdx); INDArray labels = featuresLabels.getLabels(labelName); model.fit(features, labels); } @Override public void performGradientsComputation(FeaturesLabels featuresLabels) { - model.setInput(featuresLabels.getFeatures()); + model.setInput(featuresLabels.getFeatures().get(inputFeatureIdx)); model.setLabels(featuresLabels.getLabels(labelName)); model.computeGradientAndScore(); } @@ -105,12 +115,17 @@ public class MultiLayerNetworkHandler implements INetworkHandler { @Override public INDArray[] recurrentStepOutput(Observation observation) { - return new INDArray[] { model.rnnTimeStep(observation.getData()) }; + return new INDArray[] { model.rnnTimeStep(observation.getChannelData(inputFeatureIdx)) }; } @Override - public INDArray[] batchOutput(INDArray batch) { - return new INDArray[] { model.output(batch) }; + public INDArray[] batchOutput(Features features) { + return new INDArray[] { model.output(features.get(inputFeatureIdx)) }; + } + + @Override + public INDArray[] stepOutput(Observation observation) { + return new INDArray[] { model.output(observation.getChannelData(inputFeatureIdx)) }; } @Override @@ -120,7 +135,7 @@ public class MultiLayerNetworkHandler implements INetworkHandler { @Override public INetworkHandler clone() { - return new MultiLayerNetworkHandler(model.clone(), labelName, gradientName); + return new MultiLayerNetworkHandler(model.clone(), labelName, gradientName, inputFeatureIdx); } @Override diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/NetworkHelper.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/NetworkHelper.java new file mode 100644 index 000000000..959299f21 --- /dev/null +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/NetworkHelper.java @@ -0,0 +1,102 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.deeplearning4j.rl4j.network; + +import lombok.NonNull; +import org.deeplearning4j.nn.graph.ComputationGraph; +import org.deeplearning4j.nn.multilayer.MultiLayerNetwork; + +/** + * A network helper class + */ +public class NetworkHelper { + + /** + * Create a {@link INetworkHandler} with explicit network inputs to channel names mapping + * @param model A {@link ComputationGraph} instance + * @param networkInputsToChannelNameMap A {@link ChannelToNetworkInputMapper.NetworkInputToChannelBinding} array + * describing which observation channels to feed to which network inputs. + * @param channelNames The list of channel names generated by the transform process. Should be in the same order. + * @param labelNames The names of the network's output labels + * @param gradientName The name of the network's gradient + * @return A {@link INetworkHandler} + */ + public INetworkHandler buildHandler(ComputationGraph model, + @NonNull ChannelToNetworkInputMapper.NetworkInputToChannelBinding[] networkInputsToChannelNameMap, + String[] channelNames, + String[] labelNames, + String gradientName) { + String[] networkInputNames = model.getConfiguration().getNetworkInputs().toArray(new String[0]); + + ChannelToNetworkInputMapper mapper = new ChannelToNetworkInputMapper(networkInputsToChannelNameMap, networkInputNames, channelNames); + return new ComputationGraphHandler(model, labelNames, gradientName, mapper); + } + + /** + * Create a {@link INetworkHandler} with the single network input mapped to a specific observation channel + * @param model A {@link ComputationGraph} instance + * @param networkInputChannel The name of the observation channel to use as the network's input. + * Empty to use the first channel. + * @param channelNames The list of channel names generated by the transform process. Should be in the same order. + * @param labelNames The names of the network's output labels + * @param gradientName The name of the network's gradient + * @return A {@link INetworkHandler} + */ + public INetworkHandler buildHandler(ComputationGraph model, + String networkInputChannel, + String[] channelNames, + String[] labelNames, + String gradientName) { + int channelIdx = findChannelIdx(channelNames, networkInputChannel); + return new ComputationGraphHandler(model, labelNames, gradientName, channelIdx); + } + + /** + * Create a {@link INetworkHandler} with the single network input mapped to a specific observation channel + * @param model A {@link MultiLayerNetwork} instance + * @param networkInputChannel The name of the observation channel to use as the network's input. + * Empty to use the first channel. + * @param channelNames The list of channel names generated by the transform process. Should be in the same order. + * @param labelName The name of the network's output label + * @param gradientName The name of the network's gradient + * @return A {@link INetworkHandler} + */ + public INetworkHandler buildHandler(MultiLayerNetwork model, + String networkInputChannel, + String[] channelNames, + String labelName, + String gradientName) { + int channelIdx = findChannelIdx(channelNames, networkInputChannel); + return new MultiLayerNetworkHandler(model, labelName, gradientName, channelIdx); + } + + private int findChannelIdx(String[] channelNames, String channelName) { + // When the channel name or the channelNames is null or empty, always use the first channel + if(channelName == null || channelName.isEmpty() || channelNames == null || channelNames.length == 0) { + return 0; + } + + for (int i = 0; i < channelNames.length; ++i) { + if (channelNames[i] == channelName) { + return i; + } + } + + throw new IllegalArgumentException("The channel '" + channelName + "' was not found in channelNames."); + } +} diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/NeuralNet.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/NeuralNet.java index 8e7bbc166..e76708315 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/NeuralNet.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/NeuralNet.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/NeuralNetOutput.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/NeuralNetOutput.java index 10a9c4703..e22fb15d9 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/NeuralNetOutput.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/NeuralNetOutput.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network; import org.nd4j.linalg.api.ndarray.INDArray; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/QNetwork.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/QNetwork.java index a4c103a02..5e6b2e1b5 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/QNetwork.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/QNetwork.java @@ -1,22 +1,26 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network; +import lombok.NonNull; import org.deeplearning4j.nn.graph.ComputationGraph; import org.deeplearning4j.nn.multilayer.MultiLayerNetwork; +import org.nd4j.common.base.Preconditions; import org.nd4j.linalg.api.ndarray.INDArray; /** @@ -25,14 +29,9 @@ import org.nd4j.linalg.api.ndarray.INDArray; * Gradient names: "Q"
        */ public class QNetwork extends BaseNetwork { - - public QNetwork(ComputationGraph model) { - this(new ComputationGraphHandler(model, new String[] { CommonLabelNames.QValues }, CommonGradientNames.QValues)); - } - - public QNetwork(MultiLayerNetwork model) { - this(new MultiLayerNetworkHandler(model, CommonLabelNames.QValues, CommonGradientNames.QValues)); - } + private static final String[] LABEL_NAMES = new String[] { + CommonLabelNames.QValues + }; private QNetwork(INetworkHandler handler) { super(handler); @@ -50,4 +49,61 @@ public class QNetwork extends BaseNetwork { public QNetwork clone() { return new QNetwork(getNetworkHandler().clone()); } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private final NetworkHelper networkHelper = new NetworkHelper(); + + private ChannelToNetworkInputMapper.NetworkInputToChannelBinding[] networkInputsToFeatureBindings; + private String[] channelNames; + private String inputChannelName; + + private ComputationGraph cgNetwork; + private MultiLayerNetwork mlnNetwork; + + public Builder withNetwork(@NonNull ComputationGraph network) { + this.cgNetwork = network; + return this; + } + + public Builder withNetwork(@NonNull MultiLayerNetwork network) { + this.mlnNetwork = network; + return this; + } + + public Builder inputBindings(ChannelToNetworkInputMapper.NetworkInputToChannelBinding[] networkInputsToFeatureBindings) { + this.networkInputsToFeatureBindings = networkInputsToFeatureBindings; + return this; + } + + public Builder specificBinding(String inputChannelName) { + this.inputChannelName = inputChannelName; + return this; + } + + public Builder channelNames(String[] channelNames) { + this.channelNames = channelNames; + return this; + } + + public QNetwork build() { + INetworkHandler networkHandler; + + Preconditions.checkState(cgNetwork != null || mlnNetwork != null, "A network must be set."); + + if(cgNetwork != null) { + networkHandler = (networkInputsToFeatureBindings == null) + ? networkHelper.buildHandler(cgNetwork, inputChannelName, channelNames, LABEL_NAMES, CommonGradientNames.QValues) + : networkHelper.buildHandler(cgNetwork, networkInputsToFeatureBindings, channelNames, LABEL_NAMES, CommonGradientNames.QValues); + } else { + networkHandler = networkHelper.buildHandler(mlnNetwork, inputChannelName, channelNames, CommonLabelNames.QValues, CommonGradientNames.QValues); + } + + return new QNetwork(networkHandler); + } + } + } \ No newline at end of file diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticCompGraph.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticCompGraph.java index f12626747..efd03b44b 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticCompGraph.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticCompGraph.java @@ -1,23 +1,25 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network.ac; import lombok.Getter; +import org.apache.commons.lang3.NotImplementedException; import org.deeplearning4j.nn.api.NeuralNetwork; import org.deeplearning4j.nn.conf.ComputationGraphConfiguration; import org.deeplearning4j.nn.gradient.Gradient; @@ -25,6 +27,7 @@ import org.deeplearning4j.nn.graph.ComputationGraph; import org.deeplearning4j.nn.layers.recurrent.RnnOutputLayer; import org.deeplearning4j.nn.workspace.LayerWorkspaceMgr; import org.deeplearning4j.optimize.api.TrainingListener; +import org.deeplearning4j.rl4j.agent.learning.update.Features; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; import org.deeplearning4j.rl4j.network.CommonGradientNames; @@ -90,14 +93,14 @@ public class ActorCriticCompGraph implements IActorCritic @Override public void fit(FeaturesLabels featuresLabels) { - INDArray[] features = new INDArray[] { featuresLabels.getFeatures() }; + INDArray[] features = new INDArray[] { featuresLabels.getFeatures().get(0) }; INDArray[] labels = new INDArray[] { featuresLabels.getLabels(CommonLabelNames.ActorCritic.Value), featuresLabels.getLabels(CommonLabelNames.ActorCritic.Policy) }; cg.fit(features, labels); } @Override public Gradients computeGradients(FeaturesLabels featuresLabels) { - cg.setInput(0, featuresLabels.getFeatures()); + cg.setInput(0, featuresLabels.getFeatures().get(0)); cg.setLabels(featuresLabels.getLabels(CommonLabelNames.ActorCritic.Value), featuresLabels.getLabels(CommonLabelNames.ActorCritic.Policy)); cg.computeGradientAndScore(); Collection iterationListeners = cg.getListeners(); @@ -193,10 +196,10 @@ public class ActorCriticCompGraph implements IActorCritic @Override public NeuralNetOutput output(Observation observation) { if(!isRecurrent()) { - return output(observation.getData()); + return output(observation.getChannelData(0)); } - INDArray[] cgOutput = cg.rnnTimeStep(observation.getData()); + INDArray[] cgOutput = cg.rnnTimeStep(observation.getChannelData(0)); return packageResult(cgOutput[0], cgOutput[1]); } @@ -206,6 +209,11 @@ public class ActorCriticCompGraph implements IActorCritic return packageResult(cgOutput[0], cgOutput[1]); } + @Override + public NeuralNetOutput output(Features features) { + throw new NotImplementedException("Not implemented in legacy classes"); + } + private NeuralNetOutput packageResult(INDArray value, INDArray policy) { NeuralNetOutput result = new NeuralNetOutput(); result.put(CommonOutputNames.ActorCritic.Value, value); diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticFactoryCompGraph.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticFactoryCompGraph.java index 5215baff9..8a282a91a 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticFactoryCompGraph.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticFactoryCompGraph.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network.ac; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticFactoryCompGraphStdConv.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticFactoryCompGraphStdConv.java index 01d99a0d7..88d5c8905 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticFactoryCompGraphStdConv.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticFactoryCompGraphStdConv.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network.ac; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticFactoryCompGraphStdDense.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticFactoryCompGraphStdDense.java index 0872b8400..175362a58 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticFactoryCompGraphStdDense.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticFactoryCompGraphStdDense.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network.ac; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticFactorySeparate.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticFactorySeparate.java index e34b9b3bf..d0702d785 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticFactorySeparate.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticFactorySeparate.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network.ac; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticFactorySeparateStdDense.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticFactorySeparateStdDense.java index d6c74a109..3c1233452 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticFactorySeparateStdDense.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticFactorySeparateStdDense.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network.ac; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticLoss.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticLoss.java index ae4d45fb2..63f941ec5 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticLoss.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticLoss.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network.ac; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticSeparate.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticSeparate.java index dfded632c..fc9930a6a 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticSeparate.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/ActorCriticSeparate.java @@ -1,22 +1,25 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network.ac; import lombok.Getter; +import org.apache.commons.lang3.NotImplementedException; import org.deeplearning4j.nn.api.NeuralNetwork; import org.deeplearning4j.nn.conf.MultiLayerConfiguration; import org.deeplearning4j.nn.gradient.Gradient; @@ -24,6 +27,7 @@ import org.deeplearning4j.nn.layers.recurrent.RnnOutputLayer; import org.deeplearning4j.nn.multilayer.MultiLayerNetwork; import org.deeplearning4j.nn.workspace.LayerWorkspaceMgr; import org.deeplearning4j.optimize.api.TrainingListener; +import org.deeplearning4j.rl4j.agent.learning.update.Features; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; import org.deeplearning4j.rl4j.network.CommonGradientNames; @@ -93,13 +97,13 @@ public class ActorCriticSeparate implements IAct @Override public void fit(FeaturesLabels featuresLabels) { - valueNet.fit(featuresLabels.getFeatures(), featuresLabels.getLabels(CommonLabelNames.ActorCritic.Value)); - policyNet.fit(featuresLabels.getFeatures(), featuresLabels.getLabels(CommonLabelNames.ActorCritic.Policy)); + valueNet.fit(featuresLabels.getFeatures().get(0), featuresLabels.getLabels(CommonLabelNames.ActorCritic.Value)); + policyNet.fit(featuresLabels.getFeatures().get(0), featuresLabels.getLabels(CommonLabelNames.ActorCritic.Policy)); } @Override public Gradients computeGradients(FeaturesLabels featuresLabels) { - valueNet.setInput(featuresLabels.getFeatures()); + valueNet.setInput(featuresLabels.getFeatures().get(0)); valueNet.setLabels(featuresLabels.getLabels(CommonLabelNames.ActorCritic.Value)); valueNet.computeGradientAndScore(); Collection valueIterationListeners = valueNet.getListeners(); @@ -109,7 +113,7 @@ public class ActorCriticSeparate implements IAct } } - policyNet.setInput(featuresLabels.getFeatures()); + policyNet.setInput(featuresLabels.getFeatures().get(0)); policyNet.setLabels(featuresLabels.getLabels(CommonLabelNames.ActorCritic.Policy)); policyNet.computeGradientAndScore(); Collection policyIterationListeners = policyNet.getListeners(); @@ -240,10 +244,10 @@ public class ActorCriticSeparate implements IAct @Override public NeuralNetOutput output(Observation observation) { if(!isRecurrent()) { - return output(observation.getData()); + return output(observation.getChannelData(0)); } - INDArray observationData = observation.getData(); + INDArray observationData = observation.getChannelData(0); return packageResult(valueNet.rnnTimeStep(observationData), policyNet.rnnTimeStep(observationData)); } @@ -252,6 +256,11 @@ public class ActorCriticSeparate implements IAct return packageResult(valueNet.output(batch), policyNet.output(batch)); } + @Override + public NeuralNetOutput output(Features features) { + throw new NotImplementedException("Not implemented in legacy classes"); + } + private NeuralNetOutput packageResult(INDArray value, INDArray policy) { NeuralNetOutput result = new NeuralNetOutput(); result.put(CommonOutputNames.ActorCritic.Value, value); diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/IActorCritic.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/IActorCritic.java index 5c8dc9c5f..b95a7f3e8 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/IActorCritic.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/ac/IActorCritic.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network.ac; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/configuration/ActorCriticDenseNetworkConfiguration.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/configuration/ActorCriticDenseNetworkConfiguration.java index e85ec6356..63bb397c4 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/configuration/ActorCriticDenseNetworkConfiguration.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/configuration/ActorCriticDenseNetworkConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network.configuration; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/configuration/ActorCriticNetworkConfiguration.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/configuration/ActorCriticNetworkConfiguration.java index c043f458e..2637415f1 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/configuration/ActorCriticNetworkConfiguration.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/configuration/ActorCriticNetworkConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network.configuration; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/configuration/DQNDenseNetworkConfiguration.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/configuration/DQNDenseNetworkConfiguration.java index 452cb83c2..dc1704f29 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/configuration/DQNDenseNetworkConfiguration.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/configuration/DQNDenseNetworkConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network.configuration; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/configuration/NetworkConfiguration.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/configuration/NetworkConfiguration.java index c77c379a2..e362d7b2a 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/configuration/NetworkConfiguration.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/configuration/NetworkConfiguration.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network.configuration; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/dqn/DQN.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/dqn/DQN.java index 2365d8a66..bbe22a0d1 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/dqn/DQN.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/dqn/DQN.java @@ -1,27 +1,31 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network.dqn; +import org.apache.commons.lang3.NotImplementedException; import org.deeplearning4j.nn.api.NeuralNetwork; import org.deeplearning4j.nn.conf.MultiLayerConfiguration; import org.deeplearning4j.nn.gradient.Gradient; import org.deeplearning4j.nn.multilayer.MultiLayerNetwork; import org.deeplearning4j.nn.workspace.LayerWorkspaceMgr; import org.deeplearning4j.optimize.api.TrainingListener; +import org.deeplearning4j.rl4j.agent.learning.update.Features; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; import org.deeplearning4j.rl4j.network.CommonGradientNames; @@ -79,11 +83,18 @@ public class DQN implements IDQN { result.put(CommonOutputNames.QValues, mln.output(batch)); return result; + } + @Override + public NeuralNetOutput output(Features features) { + NeuralNetOutput result = new NeuralNetOutput(); + result.put(CommonOutputNames.QValues, mln.output(features.get(0))); + + return result; } public NeuralNetOutput output(Observation observation) { - return output(observation.getData()); + return output(observation.getChannelData(0)); } @Deprecated @@ -93,7 +104,7 @@ public class DQN implements IDQN { @Override public void fit(FeaturesLabels featuresLabels) { - fit(featuresLabels.getFeatures(), featuresLabels.getLabels(CommonLabelNames.QValues)); + fit(featuresLabels.getFeatures().get(0), featuresLabels.getLabels(CommonLabelNames.QValues)); } @Override @@ -129,7 +140,7 @@ public class DQN implements IDQN { @Override public Gradients computeGradients(FeaturesLabels featuresLabels) { - mln.setInput(featuresLabels.getFeatures()); + mln.setInput(featuresLabels.getFeatures().get(0)); mln.setLabels(featuresLabels.getLabels(CommonLabelNames.QValues)); mln.computeGradientAndScore(); Collection iterationListeners = mln.getListeners(); diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/dqn/DQNFactory.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/dqn/DQNFactory.java index 4f9740b9e..c4d6af041 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/dqn/DQNFactory.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/dqn/DQNFactory.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network.dqn; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/dqn/DQNFactoryStdConv.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/dqn/DQNFactoryStdConv.java index 077bbf1ce..3b20a1ea7 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/dqn/DQNFactoryStdConv.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/dqn/DQNFactoryStdConv.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network.dqn; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/dqn/DQNFactoryStdDense.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/dqn/DQNFactoryStdDense.java index ebe730b4d..4bb44b9af 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/dqn/DQNFactoryStdDense.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/dqn/DQNFactoryStdDense.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network.dqn; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/dqn/IDQN.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/dqn/IDQN.java index 2b172ff18..74aadb4d5 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/dqn/IDQN.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/network/dqn/IDQN.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network.dqn; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/IObservationSource.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/IObservationSource.java new file mode 100644 index 000000000..2df97d9a1 --- /dev/null +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/IObservationSource.java @@ -0,0 +1,22 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ +package org.deeplearning4j.rl4j.observation; + +public interface IObservationSource { + Observation getObservation(); +} diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/Observation.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/Observation.java index 6603429cc..bae949d6f 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/Observation.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/Observation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.observation; @@ -25,30 +27,54 @@ import org.nd4j.linalg.api.ndarray.INDArray; * * @author Alexandre Boulanger */ +// TODO: Remove Encodable public class Observation implements Encodable { /** * A singleton representing a skipped observation */ - public static Observation SkippedObservation = new Observation(null); + public static Observation SkippedObservation = new Observation(); /** * @return A INDArray containing the data of the observation */ @Getter - private final INDArray data; + private final INDArray[] channelsData; + public INDArray getChannelData(int channelIdx) { + return channelsData[channelIdx]; + } + + // TODO: Remove once Encodable is removed @Override public double[] toArray() { - return data.data().asDouble(); + return channelsData[0].data().asDouble(); } public boolean isSkipped() { - return data == null; + return channelsData == null; } + private Observation() { + this.channelsData = null; + } + + // TODO: Remove when legacy code is gone public Observation(INDArray data) { - this.data = data; + this.channelsData = new INDArray[] { data }; + } + + public Observation(INDArray[] channelsData) { + this.channelsData = channelsData; + } + + // TODO: Remove when legacy code is gone + public INDArray getData() { + return channelsData[0]; + } + + public int numChannels() { + return channelsData.length; } /** @@ -56,10 +82,14 @@ public class Observation implements Encodable { * @return */ public Observation dup() { - if(data == null) { + if(channelsData == null) { return SkippedObservation; } - return new Observation(data.dup()); + INDArray[] duplicated = new INDArray[channelsData.length]; + for(int i = 0; i < channelsData.length; ++i) { + duplicated[i] = channelsData[i].dup(); + } + return new Observation(duplicated); } } diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/EncodableToINDArrayTransform.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/EncodableToINDArrayTransform.java index 8be8c7ed9..b852c0f86 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/EncodableToINDArrayTransform.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/EncodableToINDArrayTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K. K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.observation.transform; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/FilterOperation.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/FilterOperation.java index 642ccf004..b9abbb078 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/FilterOperation.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/FilterOperation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.observation.transform; import java.util.Map; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/ResettableOperation.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/ResettableOperation.java index d16662671..e063713b5 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/ResettableOperation.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/ResettableOperation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.observation.transform; /** diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/TransformProcess.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/TransformProcess.java index 2ea56f858..2d504fcba 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/TransformProcess.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/TransformProcess.java @@ -1,20 +1,23 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.observation.transform; +import lombok.Getter; import org.apache.commons.lang3.NotImplementedException; import org.deeplearning4j.rl4j.helper.INDArrayHelper; import org.deeplearning4j.rl4j.observation.Observation; @@ -47,6 +50,7 @@ import java.util.Map; public class TransformProcess { private final List> operations; + @Getter private final String[] channelNames; private final HashSet operationsChannelNames; @@ -146,8 +150,11 @@ public class TransformProcess { channelsData.replace(channelName, INDArrayHelper.forceCorrectShape(finalChannelData)); } - // TODO: Add support to multi-channel observations - INDArray data = ((INDArray) channelsData.get(channelNames[0])); + INDArray[] data = new INDArray[channelNames.length]; + for(int i = 0; i < channelNames.length; ++i) { + data[i] = ((INDArray) channelsData.get(channelNames[i])); + } + return new Observation(data); } @@ -220,11 +227,6 @@ public class TransformProcess { requiredChannelNames.add(channelName); } - // TODO: Remove when multi-channel observation is supported - if(channelNames.length != 1) { - throw new NotImplementedException("Multi-channel observations is not presently supported."); - } - return new TransformProcess(this, channelNames); } } diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/filter/UniformSkippingFilter.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/filter/UniformSkippingFilter.java index c9b943931..e9e0b99e9 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/filter/UniformSkippingFilter.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/filter/UniformSkippingFilter.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.observation.transform.filter; import org.deeplearning4j.rl4j.observation.transform.FilterOperation; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/legacy/EncodableToImageWritableTransform.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/legacy/EncodableToImageWritableTransform.java index 1211c009c..66cb2aa16 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/legacy/EncodableToImageWritableTransform.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/legacy/EncodableToImageWritableTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.observation.transform.legacy; import org.bytedeco.javacv.Frame; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/legacy/ImageWritableToINDArrayTransform.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/legacy/ImageWritableToINDArrayTransform.java index 515ee8e47..348fbc0fa 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/legacy/ImageWritableToINDArrayTransform.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/legacy/ImageWritableToINDArrayTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.observation.transform.legacy; import org.datavec.api.transform.Operation; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/ArrayToINDArrayTransform.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/ArrayToINDArrayTransform.java index e57342964..98ca0674c 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/ArrayToINDArrayTransform.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/ArrayToINDArrayTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.observation.transform.operation; import org.datavec.api.transform.Operation; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/HistoryMergeTransform.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/HistoryMergeTransform.java index e786d72c4..461e4053f 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/HistoryMergeTransform.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/HistoryMergeTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.observation.transform.operation; import org.datavec.api.transform.Operation; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/SimpleNormalizationTransform.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/SimpleNormalizationTransform.java index 24587cb90..9d2ebd767 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/SimpleNormalizationTransform.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/SimpleNormalizationTransform.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.observation.transform.operation; import org.datavec.api.transform.Operation; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/historymerge/CircularFifoStore.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/historymerge/CircularFifoStore.java index 3ccd75d13..8235c29a2 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/historymerge/CircularFifoStore.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/historymerge/CircularFifoStore.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.observation.transform.operation.historymerge; import org.apache.commons.collections4.queue.CircularFifoQueue; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/historymerge/HistoryMergeAssembler.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/historymerge/HistoryMergeAssembler.java index 01c32e062..0745052cf 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/historymerge/HistoryMergeAssembler.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/historymerge/HistoryMergeAssembler.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.observation.transform.operation.historymerge; import org.deeplearning4j.rl4j.observation.transform.operation.HistoryMergeTransform; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/historymerge/HistoryMergeElementStore.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/historymerge/HistoryMergeElementStore.java index 0d28066e9..636cd5767 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/historymerge/HistoryMergeElementStore.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/historymerge/HistoryMergeElementStore.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.observation.transform.operation.historymerge; import org.deeplearning4j.rl4j.observation.transform.operation.HistoryMergeTransform; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/historymerge/HistoryStackAssembler.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/historymerge/HistoryStackAssembler.java index d5b13742a..dc4df0793 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/historymerge/HistoryStackAssembler.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/observation/transform/operation/historymerge/HistoryStackAssembler.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.observation.transform.operation.historymerge; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/ACPolicy.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/ACPolicy.java index a2c80aa21..664682d09 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/ACPolicy.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/ACPolicy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.policy; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/BoltzmannQ.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/BoltzmannQ.java index 48187158f..1fa09534a 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/BoltzmannQ.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/BoltzmannQ.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.policy; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/DQNPolicy.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/DQNPolicy.java index 7525e7c36..76c404b98 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/DQNPolicy.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/DQNPolicy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.policy; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/EpsGreedy.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/EpsGreedy.java index 47a5a6138..42b55586a 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/EpsGreedy.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/EpsGreedy.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.policy; @@ -125,7 +126,7 @@ public class EpsGreedy
        extends Policy { public A nextAction(Observation observation) { // FIXME: remove if() and content once deprecated methods are removed. if(actionSchema == null) { - return this.nextAction(observation.getData()); + return this.nextAction(observation.getChannelData(0)); } double ep = getEpsilon(); diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/INeuralNetPolicy.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/INeuralNetPolicy.java index 76a5396f5..96b7a2d25 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/INeuralNetPolicy.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/INeuralNetPolicy.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.policy; import org.deeplearning4j.rl4j.network.IOutputNeuralNet; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/IPolicy.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/IPolicy.java index ffc029835..c97267047 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/IPolicy.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/IPolicy.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.policy; import org.deeplearning4j.rl4j.learning.IHistoryProcessor; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/Policy.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/Policy.java index e89098928..d64b90f6e 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/Policy.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/policy/Policy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.policy; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/trainer/AsyncTrainer.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/trainer/AsyncTrainer.java index 40688a42f..bc225aa76 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/trainer/AsyncTrainer.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/trainer/AsyncTrainer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.trainer; import lombok.NonNull; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/trainer/ITrainer.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/trainer/ITrainer.java index 9bd011cdb..96fd46acb 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/trainer/ITrainer.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/trainer/ITrainer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.trainer; /** diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/trainer/SyncTrainer.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/trainer/SyncTrainer.java index b7f55aa58..cad048eaf 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/trainer/SyncTrainer.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/trainer/SyncTrainer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.trainer; import lombok.Getter; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/util/Constants.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/util/Constants.java index bfb56a18a..1bca57735 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/util/Constants.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/util/Constants.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.util; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/util/DataManager.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/util/DataManager.java index 61e41c2f6..b87f9cc96 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/util/DataManager.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/util/DataManager.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.util; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/util/DataManagerTrainingListener.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/util/DataManagerTrainingListener.java index aa4ec4d17..845da2bc6 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/util/DataManagerTrainingListener.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/util/DataManagerTrainingListener.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.util; import lombok.extern.slf4j.Slf4j; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/util/IDataManager.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/util/IDataManager.java index ba4df804a..9c74209ff 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/util/IDataManager.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/util/IDataManager.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.util; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/util/LegacyMDPWrapper.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/util/LegacyMDPWrapper.java index f49a60fc4..cafe42a94 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/util/LegacyMDPWrapper.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/util/LegacyMDPWrapper.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.util; import lombok.AccessLevel; diff --git a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/util/VideoRecorder.java b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/util/VideoRecorder.java index 031f5a894..b2cabcfa7 100644 --- a/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/util/VideoRecorder.java +++ b/rl4j/rl4j-core/src/main/java/org/deeplearning4j/rl4j/util/VideoRecorder.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.util; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/AgentLearnerCartpole.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/AgentLearnerCartpole.java index 75db7c20d..1030967b0 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/AgentLearnerCartpole.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/AgentLearnerCartpole.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j; import org.apache.commons.lang3.builder.Builder; @@ -69,8 +87,8 @@ public class AgentLearnerCartpole { }; //Builder> builder = setupDoubleDQN(environmentBuilder, transformProcessBuilder, listeners, rnd); - //Builder> builder = setupNStepQLearning(environmentBuilder, transformProcessBuilder, listeners, rnd); - Builder> builder = setupAdvantageActorCritic(environmentBuilder, transformProcessBuilder, listeners, rnd); + Builder> builder = setupNStepQLearning(environmentBuilder, transformProcessBuilder, listeners, rnd); + //Builder> builder = setupAdvantageActorCritic(environmentBuilder, transformProcessBuilder, listeners, rnd); ITrainer trainer; if(IS_ASYNC) { @@ -90,8 +108,7 @@ public class AgentLearnerCartpole { trainer.train(); long after = System.nanoTime(); - - System.out.println(String.format("Total time for %d episodes: %fs", NUM_EPISODES, (after - before) / 1e6)); + System.out.println(String.format("Total time for %d episodes: %fms", NUM_EPISODES, (after - before) / 1e6)); } private static Builder> setupDoubleDQN(Builder> environmentBuilder, @@ -184,7 +201,7 @@ public class AgentLearnerCartpole { .build(); DQNFactory factory = new DQNFactoryStdDense(netConf); IDQN dqnNetwork = factory.buildDQN(new int[] { 4 }, 2); - return new QNetwork((MultiLayerNetwork)dqnNetwork.getNeuralNetworks()[0]); + return QNetwork.builder().withNetwork((MultiLayerNetwork)dqnNetwork.getNeuralNetworks()[0]).build(); } private static ITrainableNeuralNet buildActorCriticNetwork() { @@ -197,12 +214,16 @@ public class AgentLearnerCartpole { if(USE_SEPARATE_NETWORKS) { ActorCriticFactorySeparateStdDense factory = new ActorCriticFactorySeparateStdDense(netConf); ActorCriticSeparate network = factory.buildActorCritic(new int[] { 4 }, 2); - return new ActorCriticNetwork((MultiLayerNetwork)network.getNeuralNetworks()[0], (MultiLayerNetwork)network.getNeuralNetworks()[1]); + return ActorCriticNetwork.builder() + .withSeparateNetworks((MultiLayerNetwork)network.getNeuralNetworks()[0], (MultiLayerNetwork)network.getNeuralNetworks()[1]) + .build(); } ActorCriticFactoryCompGraphStdDense factory = new ActorCriticFactoryCompGraphStdDense(netConf); ActorCriticCompGraph network = factory.buildActorCritic(new int[] { 4 }, 2); - return new ActorCriticNetwork((ComputationGraph) network.getNeuralNetworks()[0]); + return ActorCriticNetwork.builder() + .withCombinedNetwork((ComputationGraph) network.getNeuralNetworks()[0]) + .build(); } private static class EpisodeScorePrinter implements AgentListener { diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/NStepRnn.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/NStepRnn.java index 50af15c06..5afcd8d25 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/NStepRnn.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/NStepRnn.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j; import org.apache.commons.lang3.builder.Builder; @@ -81,7 +99,11 @@ public class NStepRnn { .stoppingCondition(t -> t.getEpisodeCount() >= NUM_EPISODES) .build(); + long before = System.nanoTime(); trainer.train(); + long after = System.nanoTime(); + + System.out.println(String.format("Total time for %d episodes: %fms", NUM_EPISODES, (after - before) / 1e6)); } private static Builder> setupAdvantageActorCritic(Builder> environmentBuilder, @@ -130,10 +152,12 @@ public class NStepRnn { .setOutputs("value", "softmax") .build(); - ComputationGraph valueModel = new ComputationGraph(valueConfiguration); - valueModel.init(); + ComputationGraph model = new ComputationGraph(valueConfiguration); + model.init(); - return new ActorCriticNetwork(valueModel); + return ActorCriticNetwork.builder() + .withCombinedNetwork(model) + .build(); } private static ITrainableNeuralNet buildSeparateActorCriticNetwork() { @@ -153,7 +177,9 @@ public class NStepRnn { ComputationGraph policyModel = new ComputationGraph(policyConfiguration); policyModel.init(); - return new ActorCriticNetwork(valueModel, policyModel); + return ActorCriticNetwork.builder() + .withSeparateNetworks(valueModel, policyModel) + .build(); } private static class EpisodeScorePrinter implements AgentListener { diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/RobotLakeExample.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/RobotLakeExample.java new file mode 100644 index 000000000..06525ee71 --- /dev/null +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/RobotLakeExample.java @@ -0,0 +1,296 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.rl4j; + +import org.apache.commons.lang3.builder.Builder; +import org.deeplearning4j.nn.api.OptimizationAlgorithm; +import org.deeplearning4j.nn.conf.ComputationGraphConfiguration; +import org.deeplearning4j.nn.conf.NeuralNetConfiguration; +import org.deeplearning4j.nn.conf.inputs.InputType; +import org.deeplearning4j.nn.conf.layers.*; +import org.deeplearning4j.nn.graph.ComputationGraph; +import org.deeplearning4j.nn.weights.WeightInit; +import org.deeplearning4j.rl4j.agent.Agent; +import org.deeplearning4j.rl4j.agent.AgentLearner; +import org.deeplearning4j.rl4j.agent.IAgentLearner; +import org.deeplearning4j.rl4j.agent.learning.algorithm.actorcritic.AdvantageActorCritic; +import org.deeplearning4j.rl4j.agent.learning.algorithm.dqn.BaseTransitionTDAlgorithm; +import org.deeplearning4j.rl4j.agent.learning.algorithm.nstepqlearning.NStepQLearning; +import org.deeplearning4j.rl4j.agent.learning.update.updater.NeuralNetUpdaterConfiguration; +import org.deeplearning4j.rl4j.agent.listener.AgentListener; +import org.deeplearning4j.rl4j.builder.AdvantageActorCriticBuilder; +import org.deeplearning4j.rl4j.builder.DoubleDQNBuilder; +import org.deeplearning4j.rl4j.builder.NStepQLearningBuilder; +import org.deeplearning4j.rl4j.environment.Environment; +import org.deeplearning4j.rl4j.environment.StepResult; +import org.deeplearning4j.rl4j.experience.ReplayMemoryExperienceHandler; +import org.deeplearning4j.rl4j.experience.StateActionExperienceHandler; +import org.deeplearning4j.rl4j.mdp.robotlake.RobotLake; +import org.deeplearning4j.rl4j.network.ActorCriticNetwork; +import org.deeplearning4j.rl4j.network.ChannelToNetworkInputMapper; +import org.deeplearning4j.rl4j.network.ITrainableNeuralNet; +import org.deeplearning4j.rl4j.network.QNetwork; +import org.deeplearning4j.rl4j.network.ac.*; +import org.deeplearning4j.rl4j.observation.Observation; +import org.deeplearning4j.rl4j.observation.transform.TransformProcess; +import org.deeplearning4j.rl4j.observation.transform.operation.ArrayToINDArrayTransform; +import org.deeplearning4j.rl4j.policy.EpsGreedy; +import org.deeplearning4j.rl4j.trainer.ITrainer; +import org.deeplearning4j.rl4j.trainer.SyncTrainer; +import org.deeplearning4j.rl4j.util.Constants; +import org.nd4j.linalg.activations.Activation; +import org.nd4j.linalg.api.rng.Random; +import org.nd4j.linalg.factory.Nd4j; +import org.nd4j.linalg.learning.config.Adam; +import org.nd4j.linalg.lossfunctions.LossFunctions; + +import java.util.ArrayList; +import java.util.List; + +public class RobotLakeExample { + private static final int FROZEN_LAKE_SIZE = 5; + + private static final int NUM_EPISODES = 10000; + + private static final ChannelToNetworkInputMapper.NetworkInputToChannelBinding[] INPUT_CHANNEL_BINDINGS = new ChannelToNetworkInputMapper.NetworkInputToChannelBinding[] { + ChannelToNetworkInputMapper.NetworkInputToChannelBinding.map("tracker-in", "tracker"), + ChannelToNetworkInputMapper.NetworkInputToChannelBinding.map("radar-in", "radar"), + }; + private static final String[] TRANSFORM_PROCESS_OUTPUT_CHANNELS = new String[] { "tracker", "radar" }; + + public static void main(String[] args) { + Random rnd = Nd4j.getRandomFactory().getNewRandomInstance(123); + Builder> environmentBuilder = () -> new RobotLake(FROZEN_LAKE_SIZE, false, rnd); + Builder transformProcessBuilder = () -> TransformProcess.builder() + .transform("tracker", new ArrayToINDArrayTransform()) + .transform("radar", new ArrayToINDArrayTransform()) + .build(TRANSFORM_PROCESS_OUTPUT_CHANNELS); + + List> listeners = new ArrayList>() { + { + add(new EpisodeScorePrinter(100)); + } + }; + + Builder> builder = setupDoubleDQN(environmentBuilder, transformProcessBuilder, listeners, rnd); + //Builder> builder = setupNStepQLearning(environmentBuilder, transformProcessBuilder, listeners, rnd); + //Builder> builder = setupAdvantageActorCritic(environmentBuilder, transformProcessBuilder, listeners, rnd); + + ITrainer trainer = SyncTrainer.builder() + .agentLearnerBuilder(builder) + .stoppingCondition(t -> t.getEpisodeCount() >= NUM_EPISODES) + .build(); + + long before = System.nanoTime(); + trainer.train(); + long after = System.nanoTime(); + + + System.out.println(String.format("Total time for %d episodes: %fms", NUM_EPISODES, (after - before) / 1e6)); + } + + private static Builder> setupDoubleDQN(Builder> environmentBuilder, + Builder transformProcessBuilder, + List> listeners, + Random rnd) { + ITrainableNeuralNet network = buildQNetwork(); + + DoubleDQNBuilder.Configuration configuration = DoubleDQNBuilder.Configuration.builder() + .policyConfiguration(EpsGreedy.Configuration.builder() + .epsilonNbStep(3000) + .minEpsilon(0.1) + .build()) + .experienceHandlerConfiguration(ReplayMemoryExperienceHandler.Configuration.builder() + .maxReplayMemorySize(10000) + .batchSize(64) + .build()) + .neuralNetUpdaterConfiguration(NeuralNetUpdaterConfiguration.builder() + .targetUpdateFrequency(50) + .build()) + .updateAlgorithmConfiguration(BaseTransitionTDAlgorithm.Configuration.builder() + .gamma(0.99) + .build()) + .agentLearnerConfiguration(AgentLearner.Configuration.builder() + .maxEpisodeSteps(200) + .build()) + .agentLearnerListeners(listeners) + .build(); + return new DoubleDQNBuilder(configuration, network, environmentBuilder, transformProcessBuilder, rnd); + } + + + private static Builder> setupNStepQLearning(Builder> environmentBuilder, + Builder transformProcessBuilder, + List> listeners, + Random rnd) { + ITrainableNeuralNet network = buildQNetwork(); + + NStepQLearningBuilder.Configuration configuration = NStepQLearningBuilder.Configuration.builder() + .policyConfiguration(EpsGreedy.Configuration.builder() + .epsilonNbStep(75000) + .minEpsilon(0.1) + .build()) + .neuralNetUpdaterConfiguration(NeuralNetUpdaterConfiguration.builder() + .targetUpdateFrequency(50) + .build()) + .nstepQLearningConfiguration(NStepQLearning.Configuration.builder() + .build()) + .experienceHandlerConfiguration(StateActionExperienceHandler.Configuration.builder() + .batchSize(Integer.MAX_VALUE) + .build()) + .agentLearnerConfiguration(AgentLearner.Configuration.builder() + .maxEpisodeSteps(100) + .build()) + .agentLearnerListeners(listeners) + .build(); + return new NStepQLearningBuilder(configuration, network, environmentBuilder, transformProcessBuilder, rnd); + } + + private static Builder> setupAdvantageActorCritic(Builder> environmentBuilder, + Builder transformProcessBuilder, + List> listeners, + Random rnd) { + ITrainableNeuralNet network = buildActorCriticNetwork(); + + AdvantageActorCriticBuilder.Configuration configuration = AdvantageActorCriticBuilder.Configuration.builder() + .neuralNetUpdaterConfiguration(NeuralNetUpdaterConfiguration.builder() + .build()) + .advantageActorCriticConfiguration(AdvantageActorCritic.Configuration.builder() + .gamma(0.99) + .build()) + .experienceHandlerConfiguration(StateActionExperienceHandler.Configuration.builder() + .batchSize(Integer.MAX_VALUE) + .build()) + .agentLearnerConfiguration(AgentLearner.Configuration.builder() + .maxEpisodeSteps(100) + .build()) + .agentLearnerListeners(listeners) + .build(); + return new AdvantageActorCriticBuilder(configuration, network, environmentBuilder, transformProcessBuilder, rnd); + } + + private static ComputationGraphConfiguration.GraphBuilder buildBaseNetworkConfiguration() { + return new NeuralNetConfiguration.Builder().seed(Constants.NEURAL_NET_SEED) + .optimizationAlgo(OptimizationAlgorithm.STOCHASTIC_GRADIENT_DESCENT) + .updater(new Adam()) + .weightInit(WeightInit.XAVIER) + .graphBuilder() + .setInputTypes(InputType.feedForward(2), // tracker + InputType.feedForward(4)) // radar ) + .addInputs("tracker-in", "radar-in") + + .layer("dl_1", new DenseLayer.Builder().activation(Activation.RELU).nOut(40).build(), "tracker-in", "radar-in") + .layer("dl_out", new DenseLayer.Builder().activation(Activation.RELU).nOut(40).build(), "dl_1"); + } + + private static ITrainableNeuralNet buildQNetwork() { + ComputationGraphConfiguration conf = buildBaseNetworkConfiguration() + .addLayer("output", new OutputLayer.Builder(LossFunctions.LossFunction.MSE).activation(Activation.IDENTITY) + .nOut(RobotLake.NUM_ACTIONS).build(), "dl_out") + + .setOutputs("output") + .build(); + + ComputationGraph model = new ComputationGraph(conf); + model.init(); + return QNetwork.builder() + .withNetwork(model) + .inputBindings(INPUT_CHANNEL_BINDINGS) + .channelNames(TRANSFORM_PROCESS_OUTPUT_CHANNELS) + .build(); + } + + private static ITrainableNeuralNet buildActorCriticNetwork() { + ComputationGraphConfiguration conf = buildBaseNetworkConfiguration() + .addLayer("value", new OutputLayer.Builder(LossFunctions.LossFunction.MSE).activation(Activation.IDENTITY) + .nOut(1).build(), "dl_out") + .addLayer("softmax", new OutputLayer.Builder(new ActorCriticLoss()).activation(Activation.SOFTMAX) + .nOut(RobotLake.NUM_ACTIONS).build(), "dl_out") + .setOutputs("value", "softmax") + .build(); + + ComputationGraph model = new ComputationGraph(conf); + model.init(); + + return ActorCriticNetwork.builder() + .withCombinedNetwork(model) + .inputBindings(INPUT_CHANNEL_BINDINGS) + .channelNames(TRANSFORM_PROCESS_OUTPUT_CHANNELS) + .build(); + } + + private static class EpisodeScorePrinter implements AgentListener { + private final int trailingNum; + private final boolean[] results; + private int episodeCount; + + public EpisodeScorePrinter(int trailingNum) { + this.trailingNum = trailingNum; + results = new boolean[trailingNum]; + } + + @Override + public ListenerResponse onBeforeEpisode(Agent agent) { + return ListenerResponse.CONTINUE; + } + + @Override + public ListenerResponse onBeforeStep(Agent agent, Observation observation, Integer integer) { + return ListenerResponse.CONTINUE; + } + + @Override + public ListenerResponse onAfterStep(Agent agent, StepResult stepResult) { + return ListenerResponse.CONTINUE; + } + + @Override + public void onAfterEpisode(Agent agent) { + RobotLake environment = (RobotLake)agent.getEnvironment(); + boolean isSuccess = false; + + String result; + if(environment.isGoalReached()) { + result = "GOAL REACHED ******"; + isSuccess = true; + } else if(environment.isEpisodeFinished()) { + result = "FAILED"; + } else { + result = "DID NOT FINISH"; + } + + results[episodeCount % trailingNum] = isSuccess; + + if(episodeCount >= trailingNum) { + int successCount = 0; + for (int i = 0; i < trailingNum; ++i) { + successCount += results[i] ? 1 : 0; + } + double successRatio = successCount / (double)trailingNum; + + System.out.println(String.format("[%s] Episode %4d : score = %4.2f, success ratio = %4.2f, result = %s", agent.getId(), episodeCount, agent.getReward(), successRatio, result)); + } else { + System.out.println(String.format("[%s] Episode %4d : score = %4.2f, result = %s", agent.getId(), episodeCount, agent.getReward(), result)); + } + + + ++episodeCount; + } + } +} \ No newline at end of file diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/TMazeExample.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/TMazeExample.java index aaa105b2b..30cdaf95a 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/TMazeExample.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/TMazeExample.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j; import org.apache.commons.lang3.builder.Builder; @@ -76,7 +94,7 @@ public class TMazeExample { } }; - //Builder> builder = setupNStepQLearning(environmentBuilder, transformProcessBuilder, listeners, rnd, isAsync, numThreads); +// Builder> builder = setupNStepQLearning(environmentBuilder, transformProcessBuilder, listeners, rnd); Builder> builder = setupAdvantageActorCritic(environmentBuilder, transformProcessBuilder, listeners, rnd); ITrainer trainer; @@ -97,7 +115,7 @@ public class TMazeExample { trainer.train(); long after = System.nanoTime(); - System.out.println(String.format("Total time for %d episodes: %fs", NUM_EPISODES, (after - before) / 1e6)); + System.out.println(String.format("Total time for %d episodes: %fms", NUM_EPISODES, (after - before) / 1e6)); } private static Builder> setupNStepQLearning(Builder> environmentBuilder, @@ -180,7 +198,9 @@ public class TMazeExample { ComputationGraph model = new ComputationGraph(conf); model.init(); - return new QNetwork(model); + return QNetwork.builder() + .withNetwork(model) + .build(); } private static ITrainableNeuralNet buildActorCriticNetwork() { @@ -195,7 +215,9 @@ public class TMazeExample { ComputationGraph model = new ComputationGraph(conf); model.init(); - return new ActorCriticNetwork(model); + return ActorCriticNetwork.builder() + .withCombinedNetwork(model) + .build(); } private static class EpisodeScorePrinter implements AgentListener { diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/AgentLearnerTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/AgentLearnerTest.java index 0d8a9c765..0f6c259ae 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/AgentLearnerTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/AgentLearnerTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.agent; import org.deeplearning4j.rl4j.agent.learning.behavior.LearningBehavior; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/AgentTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/AgentTest.java index 263d47691..7bece2a7c 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/AgentTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/AgentTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.agent; import org.deeplearning4j.rl4j.agent.listener.AgentListener; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/actorcritic/NonRecurrentActorCriticHelperTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/actorcritic/NonRecurrentActorCriticHelperTest.java index 4d3de95c6..bf1035f35 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/actorcritic/NonRecurrentActorCriticHelperTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/actorcritic/NonRecurrentActorCriticHelperTest.java @@ -1,14 +1,27 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.agent.learning.algorithm.actorcritic; -import org.deeplearning4j.rl4j.experience.StateActionPair; -import org.deeplearning4j.rl4j.observation.Observation; import org.junit.Test; import org.nd4j.linalg.api.ndarray.INDArray; import org.nd4j.linalg.factory.Nd4j; -import java.util.ArrayList; -import java.util.List; - import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; @@ -16,33 +29,6 @@ public class NonRecurrentActorCriticHelperTest { private final NonRecurrentActorCriticHelper sut = new NonRecurrentActorCriticHelper(3); - @Test - public void when_callingCreateFeatures_expect_INDArrayWithCorrectShape() { - // Arrange - List> experience = new ArrayList>() { - { - add(new StateActionPair(new Observation(Nd4j.create(new double[] { 1.1, 1.2 }).reshape(1, 2)), 0, 1.0, false)); - add(new StateActionPair(new Observation(Nd4j.create(new double[] { 2.1, 2.2 }).reshape(1, 2)), 1, 2.0, false)); - add(new StateActionPair(new Observation(Nd4j.create(new double[] { 3.1, 3.2 }).reshape(1, 2)), 2, 3.0, false)); - add(new StateActionPair(new Observation(Nd4j.create(new double[] { 4.1, 4.2 }).reshape(1, 2)), 3, 4.0, false)); - } - }; - - // Act - INDArray result = sut.createFeatures(experience); - - // Assert - assertArrayEquals(new long[] { 4, 2 }, result.shape()); - assertEquals(1.1, result.getDouble(0, 0), 0.00001); - assertEquals(1.2, result.getDouble(0, 1), 0.00001); - assertEquals(2.1, result.getDouble(1, 0), 0.00001); - assertEquals(2.2, result.getDouble(1, 1), 0.00001); - assertEquals(3.1, result.getDouble(2, 0), 0.00001); - assertEquals(3.2, result.getDouble(2, 1), 0.00001); - assertEquals(4.1, result.getDouble(3, 0), 0.00001); - assertEquals(4.2, result.getDouble(3, 1), 0.00001); - } - @Test public void when_callingCreateValueLabels_expect_INDArrayWithCorrectShape() { // Arrange diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/actorcritic/NonRecurrentAdvantageActorCriticTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/actorcritic/NonRecurrentAdvantageActorCriticTest.java index 615efeaab..cf93040dd 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/actorcritic/NonRecurrentAdvantageActorCriticTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/actorcritic/NonRecurrentAdvantageActorCriticTest.java @@ -1,8 +1,25 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.agent.learning.algorithm.actorcritic; -import org.deeplearning4j.rl4j.agent.learning.algorithm.actorcritic.AdvantageActorCritic; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; -import org.deeplearning4j.rl4j.experience.StateActionPair; +import org.deeplearning4j.rl4j.experience.StateActionReward; import org.deeplearning4j.rl4j.network.CommonLabelNames; import org.deeplearning4j.rl4j.network.CommonOutputNames; import org.deeplearning4j.rl4j.network.ITrainableNeuralNet; @@ -54,9 +71,9 @@ public class NonRecurrentAdvantageActorCriticTest { int action = 0; final INDArray data = Nd4j.zeros(1, 2); final Observation observation = new Observation(data); - List> experience = new ArrayList>() { + List> experience = new ArrayList>() { { - add(new StateActionPair(observation, action, 0.0, true)); + add(new StateActionReward(observation, action, 0.0, true)); } }; when(threadCurrentMock.output(observation)).thenReturn(neuralNetOutputMock); @@ -78,9 +95,9 @@ public class NonRecurrentAdvantageActorCriticTest { int action = 0; final INDArray data = Nd4j.zeros(1, 2); final Observation observation = new Observation(data); - List> experience = new ArrayList>() { + List> experience = new ArrayList>() { { - add(new StateActionPair(observation, action, 0.0, false)); + add(new StateActionReward(observation, action, 0.0, false)); } }; when(threadCurrentMock.output(observation)).thenReturn(neuralNetOutputMock); @@ -106,10 +123,10 @@ public class NonRecurrentAdvantageActorCriticTest { result.put(CommonOutputNames.ActorCritic.Policy, invocation.getArgument(0, Observation.class).getData().mul(-0.1)); return result; }); - List> experience = new ArrayList>() { + List> experience = new ArrayList>() { { - add(new StateActionPair(new Observation(Nd4j.create(new double[] { -1.1, -1.2 }).reshape(1, 2)), 0, 1.0, false)); - add(new StateActionPair(new Observation(Nd4j.create(new double[] { -2.1, -2.2 }).reshape(1, 2)), 1, 2.0, false)); + add(new StateActionReward(new Observation(Nd4j.create(new double[] { -1.1, -1.2 }).reshape(1, 2)), 0, 1.0, false)); + add(new StateActionReward(new Observation(Nd4j.create(new double[] { -2.1, -2.2 }).reshape(1, 2)), 1, 2.0, false)); } }; @@ -121,7 +138,7 @@ public class NonRecurrentAdvantageActorCriticTest { verify(threadCurrentMock, times(1)).computeGradients(argument.capture()); // input side -- should be a stack of observations - INDArray featuresValues = argument.getValue().getFeatures(); + INDArray featuresValues = argument.getValue().getFeatures().get(0); assertEquals(-1.1, featuresValues.getDouble(0, 0), 0.00001); assertEquals(-1.2, featuresValues.getDouble(0, 1), 0.00001); assertEquals(-2.1, featuresValues.getDouble(1, 0), 0.00001); diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/actorcritic/RecurrentActorCriticHelperTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/actorcritic/RecurrentActorCriticHelperTest.java index a598ccd76..0e3655c54 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/actorcritic/RecurrentActorCriticHelperTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/actorcritic/RecurrentActorCriticHelperTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.agent.learning.algorithm.actorcritic; import org.junit.Test; @@ -11,18 +29,6 @@ public class RecurrentActorCriticHelperTest { private final RecurrentActorCriticHelper sut = new RecurrentActorCriticHelper(3); - @Test - public void when_callingCreateFeatureArray_expect_INDArrayWithCorrectShape() { - // Arrange - long[] observationShape = new long[] { 1, 2, 1 }; - - // Act - INDArray result = sut.createFeatureArray(4, observationShape); - - // Assert - assertArrayEquals(new long[] { 1, 2, 4 }, result.shape()); - } - @Test public void when_callingCreateValueLabels_expect_INDArrayWithCorrectShape() { // Arrange diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/actorcritic/RecurrentAdvantageActorCriticTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/actorcritic/RecurrentAdvantageActorCriticTest.java index 8f6f126d8..bbd83c9de 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/actorcritic/RecurrentAdvantageActorCriticTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/actorcritic/RecurrentAdvantageActorCriticTest.java @@ -1,7 +1,25 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.agent.learning.algorithm.actorcritic; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; -import org.deeplearning4j.rl4j.experience.StateActionPair; +import org.deeplearning4j.rl4j.experience.StateActionReward; import org.deeplearning4j.rl4j.network.CommonLabelNames; import org.deeplearning4j.rl4j.network.CommonOutputNames; import org.deeplearning4j.rl4j.network.ITrainableNeuralNet; @@ -54,9 +72,9 @@ public class RecurrentAdvantageActorCriticTest { int action = 0; final INDArray data = Nd4j.zeros(1, 2, 1); final Observation observation = new Observation(data); - List> experience = new ArrayList>() { + List> experience = new ArrayList>() { { - add(new StateActionPair(observation, action, 0.0, true)); + add(new StateActionReward(observation, action, 0.0, true)); } }; when(threadCurrentMock.output(observation)).thenReturn(neuralNetOutputMock); @@ -78,9 +96,9 @@ public class RecurrentAdvantageActorCriticTest { int action = 0; final INDArray data = Nd4j.zeros(1, 2, 1); final Observation observation = new Observation(data); - List> experience = new ArrayList>() { + List> experience = new ArrayList>() { { - add(new StateActionPair(observation, action, 0.0, false)); + add(new StateActionReward(observation, action, 0.0, false)); } }; when(threadCurrentMock.output(observation)).thenReturn(neuralNetOutputMock); @@ -106,10 +124,10 @@ public class RecurrentAdvantageActorCriticTest { result.put(CommonOutputNames.ActorCritic.Policy, invocation.getArgument(0, Observation.class).getData().mul(-0.1)); return result; }); - List> experience = new ArrayList>() { + List> experience = new ArrayList>() { { - add(new StateActionPair(new Observation(Nd4j.create(new double[] { -1.1, -1.2 }).reshape(1, 2, 1)), 0, 1.0, false)); - add(new StateActionPair(new Observation(Nd4j.create(new double[] { -2.1, -2.2 }).reshape(1, 2, 1)), 1, 2.0, false)); + add(new StateActionReward(new Observation(Nd4j.create(new double[] { -1.1, -1.2 }).reshape(1, 2, 1)), 0, 1.0, false)); + add(new StateActionReward(new Observation(Nd4j.create(new double[] { -2.1, -2.2 }).reshape(1, 2, 1)), 1, 2.0, false)); } }; @@ -121,7 +139,7 @@ public class RecurrentAdvantageActorCriticTest { verify(threadCurrentMock, times(1)).computeGradients(argument.capture()); // input side -- should be a stack of observations - INDArray featuresValues = argument.getValue().getFeatures(); + INDArray featuresValues = argument.getValue().getFeatures().get(0); assertEquals(-1.1, featuresValues.getDouble(0, 0, 0), 0.00001); assertEquals(-1.2, featuresValues.getDouble(0, 1, 0), 0.00001); assertEquals(-2.1, featuresValues.getDouble(0, 0, 1), 0.00001); diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/dqn/DoubleDQNTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/dqn/DoubleDQNTest.java index 032569003..f6f796eb4 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/dqn/DoubleDQNTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/dqn/DoubleDQNTest.java @@ -1,7 +1,26 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.agent.learning.algorithm.dqn; +import org.deeplearning4j.rl4j.agent.learning.update.Features; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; -import org.deeplearning4j.rl4j.learning.sync.Transition; +import org.deeplearning4j.rl4j.experience.StateActionRewardState; import org.deeplearning4j.rl4j.network.CommonLabelNames; import org.deeplearning4j.rl4j.network.CommonOutputNames; import org.deeplearning4j.rl4j.network.IOutputNeuralNet; @@ -37,9 +56,9 @@ public class DoubleDQNTest { @Before public void setup() { - when(qNetworkMock.output(any(INDArray.class))).thenAnswer(i -> { + when(qNetworkMock.output(any(Features.class))).thenAnswer(i -> { NeuralNetOutput result = new NeuralNetOutput(); - result.put(CommonOutputNames.QValues, i.getArgument(0, INDArray.class)); + result.put(CommonOutputNames.QValues, i.getArgument(0, Features.class).get(0)); return result; }); } @@ -48,13 +67,13 @@ public class DoubleDQNTest { public void when_isTerminal_expect_rewardValueAtIdx0() { // Assemble - when(targetQNetworkMock.output(any(INDArray.class))).thenAnswer(i -> { + when(targetQNetworkMock.output(any(Features.class))).thenAnswer(i -> { NeuralNetOutput result = new NeuralNetOutput(); - result.put(CommonOutputNames.QValues, i.getArgument(0, INDArray.class)); + result.put(CommonOutputNames.QValues, i.getArgument(0, Features.class).get(0)); return result; }); - List> transitions = new ArrayList>() { + List> stateActionRewardStates = new ArrayList>() { { add(builtTransition(buildObservation(new double[]{1.1, 2.2}), 0, 1.0, true, buildObservation(new double[]{11.0, 22.0}))); @@ -64,7 +83,7 @@ public class DoubleDQNTest { org.deeplearning4j.rl4j.agent.learning.algorithm.dqn.DoubleDQN sut = new org.deeplearning4j.rl4j.agent.learning.algorithm.dqn.DoubleDQN(qNetworkMock, targetQNetworkMock, configuration); // Act - FeaturesLabels result = sut.compute(transitions); + FeaturesLabels result = sut.compute(stateActionRewardStates); // Assert INDArray evaluatedQValues = result.getLabels(CommonLabelNames.QValues); @@ -76,23 +95,23 @@ public class DoubleDQNTest { public void when_isNotTerminal_expect_rewardPlusEstimatedQValue() { // Assemble - when(targetQNetworkMock.output(any(INDArray.class))).thenAnswer(i -> { + when(targetQNetworkMock.output(any(Features.class))).thenAnswer(i -> { NeuralNetOutput result = new NeuralNetOutput(); - result.put(CommonOutputNames.QValues, i.getArgument(0, INDArray.class).mul(-1.0)); + result.put(CommonOutputNames.QValues, i.getArgument(0, Features.class).get(0).mul(-1.0)); return result; }); - List> transitions = new ArrayList>() { + List> stateActionRewardStates = new ArrayList>() { { add(builtTransition(buildObservation(new double[]{1.1, 2.2}), 0, 1.0, false, buildObservation(new double[]{11.0, 22.0}))); } }; - org.deeplearning4j.rl4j.agent.learning.algorithm.dqn.DoubleDQN sut = new org.deeplearning4j.rl4j.agent.learning.algorithm.dqn.DoubleDQN(qNetworkMock, targetQNetworkMock, configuration); + DoubleDQN sut = new DoubleDQN(qNetworkMock, targetQNetworkMock, configuration); // Act - FeaturesLabels result = sut.compute(transitions); + FeaturesLabels result = sut.compute(stateActionRewardStates); // Assert INDArray evaluatedQValues = result.getLabels(CommonLabelNames.QValues); @@ -104,13 +123,13 @@ public class DoubleDQNTest { public void when_batchHasMoreThanOne_expect_everySampleEvaluated() { // Assemble - when(targetQNetworkMock.output(any(INDArray.class))).thenAnswer(i -> { + when(targetQNetworkMock.output(any(Features.class))).thenAnswer(i -> { NeuralNetOutput result = new NeuralNetOutput(); - result.put(CommonOutputNames.QValues, i.getArgument(0, INDArray.class).mul(-1.0)); + result.put(CommonOutputNames.QValues, i.getArgument(0, Features.class).get(0).mul(-1.0)); return result; }); - List> transitions = new ArrayList>() { + List> stateActionRewardStates = new ArrayList>() { { add(builtTransition(buildObservation(new double[]{1.1, 2.2}), 0, 1.0, false, buildObservation(new double[]{11.0, 22.0}))); @@ -121,10 +140,10 @@ public class DoubleDQNTest { } }; - org.deeplearning4j.rl4j.agent.learning.algorithm.dqn.DoubleDQN sut = new DoubleDQN(qNetworkMock, targetQNetworkMock, configuration); + DoubleDQN sut = new DoubleDQN(qNetworkMock, targetQNetworkMock, configuration); // Act - FeaturesLabels result = sut.compute(transitions); + FeaturesLabels result = sut.compute(stateActionRewardStates); // Assert INDArray evaluatedQValues = result.getLabels(CommonLabelNames.QValues); @@ -143,8 +162,8 @@ public class DoubleDQNTest { return new Observation(Nd4j.create(data).reshape(1, 2)); } - private Transition builtTransition(Observation observation, Integer action, double reward, boolean isTerminal, Observation nextObservation) { - Transition result = new Transition(observation, action, reward, isTerminal); + private StateActionRewardState builtTransition(Observation observation, Integer action, double reward, boolean isTerminal, Observation nextObservation) { + StateActionRewardState result = new StateActionRewardState(observation, action, reward, isTerminal); result.setNextObservation(nextObservation); return result; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/dqn/StandardDQNTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/dqn/StandardDQNTest.java index bc180ff87..a8e4a98a2 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/dqn/StandardDQNTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/dqn/StandardDQNTest.java @@ -1,8 +1,26 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.agent.learning.algorithm.dqn; -import org.deeplearning4j.rl4j.agent.learning.algorithm.dqn.StandardDQN; +import org.deeplearning4j.rl4j.agent.learning.update.Features; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; -import org.deeplearning4j.rl4j.learning.sync.Transition; +import org.deeplearning4j.rl4j.experience.StateActionRewardState; import org.deeplearning4j.rl4j.network.CommonLabelNames; import org.deeplearning4j.rl4j.network.CommonOutputNames; import org.deeplearning4j.rl4j.network.IOutputNeuralNet; @@ -38,14 +56,14 @@ public class StandardDQNTest { @Before public void setup() { - when(qNetworkMock.output(any(INDArray.class))).thenAnswer(i -> { + when(qNetworkMock.output(any(Features.class))).thenAnswer(i -> { NeuralNetOutput result = new NeuralNetOutput(); - result.put(CommonOutputNames.QValues, i.getArgument(0, INDArray.class)); + result.put(CommonOutputNames.QValues, i.getArgument(0, Features.class).get(0)); return result; }); - when(targetQNetworkMock.output(any(INDArray.class))).thenAnswer(i -> { + when(targetQNetworkMock.output(any(Features.class))).thenAnswer(i -> { NeuralNetOutput result = new NeuralNetOutput(); - result.put(CommonOutputNames.QValues, i.getArgument(0, INDArray.class)); + result.put(CommonOutputNames.QValues, i.getArgument(0, Features.class).get(0)); return result; }); } @@ -55,17 +73,17 @@ public class StandardDQNTest { public void when_isTerminal_expect_rewardValueAtIdx0() { // Assemble - List> transitions = new ArrayList>() { + List> stateActionRewardStates = new ArrayList>() { { add(buildTransition(buildObservation(new double[]{1.1, 2.2}), 0, 1.0, true, buildObservation(new double[]{11.0, 22.0}))); } }; - org.deeplearning4j.rl4j.agent.learning.algorithm.dqn.StandardDQN sut = new org.deeplearning4j.rl4j.agent.learning.algorithm.dqn.StandardDQN(qNetworkMock, targetQNetworkMock, configuration); + StandardDQN sut = new StandardDQN(qNetworkMock, targetQNetworkMock, configuration); // Act - FeaturesLabels result = sut.compute(transitions); + FeaturesLabels result = sut.compute(stateActionRewardStates); // Assert INDArray evaluatedQValues = result.getLabels(CommonLabelNames.QValues); @@ -77,7 +95,7 @@ public class StandardDQNTest { public void when_isNotTerminal_expect_rewardPlusEstimatedQValue() { // Assemble - List> transitions = new ArrayList>() { + List> stateActionRewardStates = new ArrayList>() { { add(buildTransition(buildObservation(new double[]{1.1, 2.2}), 0, 1.0, false, buildObservation(new double[]{11.0, 22.0}))); @@ -87,7 +105,7 @@ public class StandardDQNTest { org.deeplearning4j.rl4j.agent.learning.algorithm.dqn.StandardDQN sut = new org.deeplearning4j.rl4j.agent.learning.algorithm.dqn.StandardDQN(qNetworkMock, targetQNetworkMock, configuration); // Act - FeaturesLabels result = sut.compute(transitions); + FeaturesLabels result = sut.compute(stateActionRewardStates); // Assert INDArray evaluatedQValues = result.getLabels(CommonLabelNames.QValues); @@ -99,7 +117,7 @@ public class StandardDQNTest { public void when_batchHasMoreThanOne_expect_everySampleEvaluated() { // Assemble - List> transitions = new ArrayList>() { + List> stateActionRewardStates = new ArrayList>() { { add(buildTransition(buildObservation(new double[]{1.1, 2.2}), 0, 1.0, false, buildObservation(new double[]{11.0, 22.0}))); @@ -110,10 +128,10 @@ public class StandardDQNTest { } }; - org.deeplearning4j.rl4j.agent.learning.algorithm.dqn.StandardDQN sut = new StandardDQN(qNetworkMock, targetQNetworkMock, configuration); + StandardDQN sut = new StandardDQN(qNetworkMock, targetQNetworkMock, configuration); // Act - FeaturesLabels result = sut.compute(transitions); + FeaturesLabels result = sut.compute(stateActionRewardStates); // Assert INDArray evaluatedQValues = result.getLabels(CommonLabelNames.QValues); @@ -132,8 +150,8 @@ public class StandardDQNTest { return new Observation(Nd4j.create(data).reshape(1, 2)); } - private Transition buildTransition(Observation observation, Integer action, double reward, boolean isTerminal, Observation nextObservation) { - Transition result = new Transition(observation, action, reward, isTerminal); + private StateActionRewardState buildTransition(Observation observation, Integer action, double reward, boolean isTerminal, Observation nextObservation) { + StateActionRewardState result = new StateActionRewardState(observation, action, reward, isTerminal); result.setNextObservation(nextObservation); return result; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/NonRecurrentNStepQLearningHelperTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/NonRecurrentNStepQLearningHelperTest.java index 45d4f2d21..a75cd77be 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/NonRecurrentNStepQLearningHelperTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/NonRecurrentNStepQLearningHelperTest.java @@ -1,14 +1,30 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.agent.learning.algorithm.nstepqlearning; -import org.deeplearning4j.rl4j.experience.StateActionPair; +import org.deeplearning4j.rl4j.experience.StateActionReward; import org.deeplearning4j.rl4j.network.CommonOutputNames; import org.deeplearning4j.rl4j.network.IOutputNeuralNet; -import org.deeplearning4j.rl4j.network.NeuralNet; import org.deeplearning4j.rl4j.network.NeuralNetOutput; import org.deeplearning4j.rl4j.observation.Observation; import org.junit.Test; import org.mockito.ArgumentCaptor; -import org.mockito.Mock; import org.nd4j.linalg.api.ndarray.INDArray; import org.nd4j.linalg.factory.Nd4j; @@ -22,33 +38,6 @@ public class NonRecurrentNStepQLearningHelperTest { private final NonRecurrentNStepQLearningHelper sut = new NonRecurrentNStepQLearningHelper(3); - @Test - public void when_callingCreateFeatures_expect_INDArrayWithCorrectShape() { - // Arrange - List> experience = new ArrayList>() { - { - add(new StateActionPair(new Observation(Nd4j.create(new double[] { 1.1, 1.2 }).reshape(1, 2)), 0, 1.0, false)); - add(new StateActionPair(new Observation(Nd4j.create(new double[] { 2.1, 2.2 }).reshape(1, 2)), 1, 2.0, false)); - add(new StateActionPair(new Observation(Nd4j.create(new double[] { 3.1, 3.2 }).reshape(1, 2)), 2, 3.0, false)); - add(new StateActionPair(new Observation(Nd4j.create(new double[] { 4.1, 4.2 }).reshape(1, 2)), 3, 4.0, false)); - } - }; - - // Act - INDArray result = sut.createFeatures(experience); - - // Assert - assertArrayEquals(new long[] { 4, 2 }, result.shape()); - assertEquals(1.1, result.getDouble(0, 0), 0.00001); - assertEquals(1.2, result.getDouble(0, 1), 0.00001); - assertEquals(2.1, result.getDouble(1, 0), 0.00001); - assertEquals(2.2, result.getDouble(1, 1), 0.00001); - assertEquals(3.1, result.getDouble(2, 0), 0.00001); - assertEquals(3.2, result.getDouble(2, 1), 0.00001); - assertEquals(4.1, result.getDouble(3, 0), 0.00001); - assertEquals(4.2, result.getDouble(3, 1), 0.00001); - } - @Test public void when_callingCreateValueLabels_expect_INDArrayWithCorrectShape() { // Arrange @@ -93,12 +82,12 @@ public class NonRecurrentNStepQLearningHelperTest { public void when_callingGetTargetExpectedQValuesOfLast_expect_INDArrayWithCorrectShape() { // Arrange IOutputNeuralNet targetMock = mock(IOutputNeuralNet.class); - List> experience = new ArrayList>() { + List> experience = new ArrayList>() { { - add(new StateActionPair(new Observation(Nd4j.create(new double[] { 1.1, 1.2 }).reshape(1, 2)), 0, 1.0, false)); - add(new StateActionPair(new Observation(Nd4j.create(new double[] { 2.1, 2.2 }).reshape(1, 2)), 1, 2.0, false)); - add(new StateActionPair(new Observation(Nd4j.create(new double[] { 3.1, 3.2 }).reshape(1, 2)), 2, 3.0, false)); - add(new StateActionPair(new Observation(Nd4j.create(new double[] { 4.1, 4.2 }).reshape(1, 2)), 3, 4.0, false)); + add(new StateActionReward(new Observation(Nd4j.create(new double[] { 1.1, 1.2 }).reshape(1, 2)), 0, 1.0, false)); + add(new StateActionReward(new Observation(Nd4j.create(new double[] { 2.1, 2.2 }).reshape(1, 2)), 1, 2.0, false)); + add(new StateActionReward(new Observation(Nd4j.create(new double[] { 3.1, 3.2 }).reshape(1, 2)), 2, 3.0, false)); + add(new StateActionReward(new Observation(Nd4j.create(new double[] { 4.1, 4.2 }).reshape(1, 2)), 3, 4.0, false)); } }; final NeuralNetOutput neuralNetOutput = new NeuralNetOutput(); diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/NonRecurrentNStepQLearningTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/NonRecurrentNStepQLearningTest.java index 1efbdc3d7..7cca6538e 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/NonRecurrentNStepQLearningTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/NonRecurrentNStepQLearningTest.java @@ -1,9 +1,26 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.agent.learning.algorithm.nstepqlearning; -import org.deeplearning4j.rl4j.agent.learning.algorithm.nstepqlearning.NStepQLearning; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; -import org.deeplearning4j.rl4j.experience.StateActionPair; +import org.deeplearning4j.rl4j.experience.StateActionReward; import org.deeplearning4j.rl4j.network.*; import org.deeplearning4j.rl4j.observation.Observation; import org.junit.Test; @@ -34,11 +51,12 @@ public class NonRecurrentNStepQLearningTest { NStepQLearning sut; private void setup(double gamma) { - when(threadCurrentMock.output(any(INDArray.class))).thenAnswer(invocation -> { + when(threadCurrentMock.output(any(Observation.class))).thenAnswer(invocation -> { NeuralNetOutput result = new NeuralNetOutput(); - result.put(CommonOutputNames.QValues, invocation.getArgument(0, INDArray.class).mul(-1.0)); + result.put(CommonOutputNames.QValues, invocation.getArgument(0, Observation.class).getChannelData(0).mul(-1.0)); return result; }); + when(targetMock.output(any(Observation.class))).thenAnswer(invocation -> { NeuralNetOutput result = new NeuralNetOutput(); result.put(CommonOutputNames.QValues, invocation.getArgument(0, Observation.class).getData().mul(-2.0)); @@ -59,9 +77,9 @@ public class NonRecurrentNStepQLearningTest { setup(1.0); final Observation observation = new Observation(Nd4j.zeros(1, 2)); - List> experience = new ArrayList>() { + List> experience = new ArrayList>() { { - add(new StateActionPair(observation, action, 0.0, true)); + add(new StateActionReward(observation, action, 0.0, true)); } }; @@ -83,9 +101,9 @@ public class NonRecurrentNStepQLearningTest { setup(1.0); final Observation observation = new Observation(Nd4j.create(new double[] { -123.0, -234.0 }).reshape(1, 2)); - List> experience = new ArrayList>() { + List> experience = new ArrayList>() { { - add(new StateActionPair(observation, action, 0.0, false)); + add(new StateActionReward(observation, action, 0.0, false)); } }; @@ -106,10 +124,10 @@ public class NonRecurrentNStepQLearningTest { double gamma = 0.9; setup(gamma); - List> experience = new ArrayList>() { + List> experience = new ArrayList>() { { - add(new StateActionPair(new Observation(Nd4j.create(new double[] { -1.1, -1.2 }).reshape(1, 2)), 0, 1.0, false)); - add(new StateActionPair(new Observation(Nd4j.create(new double[] { -2.1, -2.2 }).reshape(1, 2)), 1, 2.0, true)); + add(new StateActionReward(new Observation(Nd4j.create(new double[] { -1.1, -1.2 }).reshape(1, 2)), 0, 1.0, false)); + add(new StateActionReward(new Observation(Nd4j.create(new double[] { -2.1, -2.2 }).reshape(1, 2)), 1, 2.0, true)); } }; @@ -121,7 +139,7 @@ public class NonRecurrentNStepQLearningTest { verify(threadCurrentMock, times(1)).computeGradients(argument.capture()); // input side -- should be a stack of observations - INDArray featuresValues = argument.getValue().getFeatures(); + INDArray featuresValues = argument.getValue().getFeatures().get(0); assertEquals(-1.1, featuresValues.getDouble(0, 0), 0.00001); assertEquals(-1.2, featuresValues.getDouble(0, 1), 0.00001); assertEquals(-2.1, featuresValues.getDouble(1, 0), 0.00001); diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/RecurrentNStepQLearningHelperTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/RecurrentNStepQLearningHelperTest.java index f27a3807d..8c0f86ac7 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/RecurrentNStepQLearningHelperTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/RecurrentNStepQLearningHelperTest.java @@ -1,6 +1,25 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.agent.learning.algorithm.nstepqlearning; -import org.deeplearning4j.rl4j.experience.StateActionPair; +import org.deeplearning4j.rl4j.agent.learning.update.Features; +import org.deeplearning4j.rl4j.experience.StateActionReward; import org.deeplearning4j.rl4j.network.CommonOutputNames; import org.deeplearning4j.rl4j.network.IOutputNeuralNet; import org.deeplearning4j.rl4j.network.NeuralNetOutput; @@ -21,33 +40,6 @@ public class RecurrentNStepQLearningHelperTest { private final RecurrentNStepQLearningHelper sut = new RecurrentNStepQLearningHelper(3); - @Test - public void when_callingCreateFeatures_expect_INDArrayWithCorrectShape() { - // Arrange - List> experience = new ArrayList>() { - { - add(new StateActionPair(new Observation(Nd4j.create(new double[] { 1.1, 1.2 }).reshape(1, 2, 1)), 0, 1.0, false)); - add(new StateActionPair(new Observation(Nd4j.create(new double[] { 2.1, 2.2 }).reshape(1, 2, 1)), 1, 2.0, false)); - add(new StateActionPair(new Observation(Nd4j.create(new double[] { 3.1, 3.2 }).reshape(1, 2, 1)), 2, 3.0, false)); - add(new StateActionPair(new Observation(Nd4j.create(new double[] { 4.1, 4.2 }).reshape(1, 2, 1)), 3, 4.0, false)); - } - }; - - // Act - INDArray result = sut.createFeatures(experience); - - // Assert - assertArrayEquals(new long[] { 1, 2, 4 }, result.shape()); - assertEquals(1.1, result.getDouble(0, 0, 0), 0.00001); - assertEquals(1.2, result.getDouble(0, 1, 0), 0.00001); - assertEquals(2.1, result.getDouble(0, 0, 1), 0.00001); - assertEquals(2.2, result.getDouble(0, 1, 1), 0.00001); - assertEquals(3.1, result.getDouble(0, 0, 2), 0.00001); - assertEquals(3.2, result.getDouble(0, 1, 2), 0.00001); - assertEquals(4.1, result.getDouble(0, 0, 3), 0.00001); - assertEquals(4.2, result.getDouble(0, 1, 3), 0.00001); - } - @Test public void when_callingCreateValueLabels_expect_INDArrayWithCorrectShape() { // Arrange @@ -91,26 +83,27 @@ public class RecurrentNStepQLearningHelperTest { @Test public void when_callingGetTargetExpectedQValuesOfLast_expect_INDArrayWithCorrectShape() { // Arrange - List> experience = new ArrayList>() { + List> experience = new ArrayList>() { { - add(new StateActionPair(new Observation(Nd4j.create(new double[] { 1.1, 1.2 }).reshape(1, 2, 1)), 0, 1.0, false)); - add(new StateActionPair(new Observation(Nd4j.create(new double[] { 2.1, 2.2 }).reshape(1, 2, 1)), 1, 2.0, false)); + add(new StateActionReward(new Observation(Nd4j.create(new double[] { 1.1, 1.2 }).reshape(1, 2, 1)), 0, 1.0, false)); + add(new StateActionReward(new Observation(Nd4j.create(new double[] { 2.1, 2.2 }).reshape(1, 2, 1)), 1, 2.0, false)); } }; - INDArray features = Nd4j.create(new double[] { 1.0, 2.0, 3.0, 4.0 }).reshape(1, 2, 2); + INDArray featuresData = Nd4j.create(new double[] { 1.0, 2.0, 3.0, 4.0 }).reshape(1, 2, 2); + Features features = new Features(new INDArray[] { featuresData }); IOutputNeuralNet targetMock = mock(IOutputNeuralNet.class); final NeuralNetOutput neuralNetOutput = new NeuralNetOutput(); neuralNetOutput.put(CommonOutputNames.QValues, Nd4j.create(new double[] { -4.1, -4.2 }).reshape(1, 1, 2)); - when(targetMock.output(any(INDArray.class))).thenReturn(neuralNetOutput); + when(targetMock.output(any(Features.class))).thenReturn(neuralNetOutput); // Act INDArray result = sut.getTargetExpectedQValuesOfLast(targetMock, experience, features); // Assert - ArgumentCaptor arrayCaptor = ArgumentCaptor.forClass(INDArray.class); - verify(targetMock, times(1)).output(arrayCaptor.capture()); - INDArray array = arrayCaptor.getValue(); + ArgumentCaptor captor = ArgumentCaptor.forClass(Features.class); + verify(targetMock, times(1)).output(captor.capture()); + INDArray array = captor.getValue().get(0); assertEquals(1.0, array.getDouble(0, 0, 0), 0.00001); assertEquals(2.0, array.getDouble(0, 0, 1), 0.00001); assertEquals(3.0, array.getDouble(0, 1, 0), 0.00001); diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/RecurrentNStepQLearningTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/RecurrentNStepQLearningTest.java index 3810e0ac3..3956d0a24 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/RecurrentNStepQLearningTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/algorithm/nstepqlearning/RecurrentNStepQLearningTest.java @@ -1,8 +1,27 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.agent.learning.algorithm.nstepqlearning; +import org.deeplearning4j.rl4j.agent.learning.update.Features; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; -import org.deeplearning4j.rl4j.experience.StateActionPair; +import org.deeplearning4j.rl4j.experience.StateActionReward; import org.deeplearning4j.rl4j.network.*; import org.deeplearning4j.rl4j.observation.Observation; import org.junit.Test; @@ -33,14 +52,14 @@ public class RecurrentNStepQLearningTest { NStepQLearning sut; private void setup(double gamma) { - when(threadCurrentMock.output(any(INDArray.class))).thenAnswer(invocation -> { + when(threadCurrentMock.output(any(Observation.class))).thenAnswer(invocation -> { NeuralNetOutput result = new NeuralNetOutput(); - result.put(CommonOutputNames.QValues, invocation.getArgument(0, INDArray.class).mul(-1.0)); + result.put(CommonOutputNames.QValues, invocation.getArgument(0, Observation.class).getChannelData(0).mul(-1.0)); return result; }); - when(targetMock.output(any(INDArray.class))).thenAnswer(invocation -> { + when(targetMock.output(any(Features.class))).thenAnswer(invocation -> { NeuralNetOutput result = new NeuralNetOutput(); - result.put(CommonOutputNames.QValues, invocation.getArgument(0, INDArray.class).mul(-2.0)); + result.put(CommonOutputNames.QValues, invocation.getArgument(0, Features.class).get(0).mul(-2.0)); return result; }); when(threadCurrentMock.isRecurrent()).thenReturn(true); @@ -58,9 +77,9 @@ public class RecurrentNStepQLearningTest { setup(1.0); final Observation observation = new Observation(Nd4j.zeros(1, 2, 1)); - List> experience = new ArrayList>() { + List> experience = new ArrayList>() { { - add(new StateActionPair(observation, action, 0.0, true)); + add(new StateActionReward(observation, action, 0.0, true)); } }; @@ -82,9 +101,9 @@ public class RecurrentNStepQLearningTest { setup(1.0); final Observation observation = new Observation(Nd4j.create(new double[] { -123.0, -234.0 }).reshape(1, 2, 1)); - List> experience = new ArrayList>() { + List> experience = new ArrayList>() { { - add(new StateActionPair(observation, action, 0.0, false)); + add(new StateActionReward(observation, action, 0.0, false)); } }; @@ -105,10 +124,10 @@ public class RecurrentNStepQLearningTest { double gamma = 0.9; setup(gamma); - List> experience = new ArrayList>() { + List> experience = new ArrayList>() { { - add(new StateActionPair(new Observation(Nd4j.create(new double[] { -1.1, -1.2 }).reshape(1, 2, 1)), 0, 1.0, false)); - add(new StateActionPair(new Observation(Nd4j.create(new double[] { -2.1, -2.2 }).reshape(1, 2, 1)), 1, 2.0, true)); + add(new StateActionReward(new Observation(Nd4j.create(new double[] { -1.1, -1.2 }).reshape(1, 2, 1)), 0, 1.0, false)); + add(new StateActionReward(new Observation(Nd4j.create(new double[] { -2.1, -2.2 }).reshape(1, 2, 1)), 1, 2.0, true)); } }; @@ -120,7 +139,7 @@ public class RecurrentNStepQLearningTest { verify(threadCurrentMock, times(1)).computeGradients(argument.capture()); // input side -- should be a stack of observations - INDArray featuresValues = argument.getValue().getFeatures(); + INDArray featuresValues = argument.getValue().getFeatures().get(0); assertEquals(-1.1, featuresValues.getDouble(0, 0, 0), 0.00001); assertEquals(-1.2, featuresValues.getDouble(0, 1, 0), 0.00001); assertEquals(-2.1, featuresValues.getDouble(0, 0, 1), 0.00001); diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/behavior/LearningBehaviorTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/behavior/LearningBehaviorTest.java index 9170da711..954abeee6 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/behavior/LearningBehaviorTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/behavior/LearningBehaviorTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.agent.learning.behavior; import org.deeplearning4j.rl4j.agent.learning.behavior.LearningBehavior; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/FeaturesBuilderTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/FeaturesBuilderTest.java new file mode 100644 index 000000000..66637b974 --- /dev/null +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/FeaturesBuilderTest.java @@ -0,0 +1,188 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.rl4j.agent.learning.update; + +import org.deeplearning4j.rl4j.experience.StateActionReward; +import org.deeplearning4j.rl4j.experience.StateActionRewardState; +import org.deeplearning4j.rl4j.observation.IObservationSource; +import org.deeplearning4j.rl4j.observation.Observation; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.junit.MockitoJUnitRunner; +import org.nd4j.linalg.api.ndarray.INDArray; +import org.nd4j.linalg.factory.Nd4j; + +import java.util.ArrayList; +import java.util.List; + +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; + +@RunWith(MockitoJUnitRunner.class) +public class FeaturesBuilderTest { + + @Test + public void when_creatingFeaturesWithObservationSourceAndNonRecurrent_expect_correctlyShapedFeatures() { + // Arrange + List trainingBatch = new ArrayList(); + Observation observation1 = new Observation(new INDArray[] { + Nd4j.create(new double[] { 1.0 }).reshape(1, 1), + Nd4j.create(new double[] { 2.0, 3.0 }).reshape(1, 2), + }); + trainingBatch.add(new StateActionReward(observation1, 0, 0.0, false)); + Observation observation2 = new Observation(new INDArray[] { + Nd4j.create(new double[] { 4.0 }).reshape(1, 1), + Nd4j.create(new double[] { 5.0, 6.0 }).reshape(1, 2), + }); + trainingBatch.add(new StateActionReward(observation2, 0, 0.0, false)); + FeaturesBuilder sut = new FeaturesBuilder(false); + + // Act + Features result = sut.build(trainingBatch); + + // Assert + assertEquals(2, result.getBatchSize()); + assertEquals(1.0, result.get(0).getDouble(0, 0), 0.00001); + assertEquals(4.0, result.get(0).getDouble(1, 0), 0.00001); + + assertEquals(2.0, result.get(1).getDouble(0, 0), 0.00001); + assertEquals(3.0, result.get(1).getDouble(0, 1), 0.00001); + assertEquals(5.0, result.get(1).getDouble(1, 0), 0.00001); + assertEquals(6.0, result.get(1).getDouble(1, 1), 0.00001); + } + + @Test + public void when_creatingFeaturesWithStreamAndNonRecurrent_expect_correctlyShapedFeatures() { + // Arrange + List> trainingBatch = new ArrayList>(); + Observation observation1 = new Observation(new INDArray[] { + Nd4j.create(new double[] { 1.0 }).reshape(1, 1), + Nd4j.create(new double[] { 2.0, 3.0 }).reshape(1, 2), + }); + StateActionRewardState stateActionRewardState1 = new StateActionRewardState(null, 0, 0.0, false); + stateActionRewardState1.setNextObservation(observation1); + trainingBatch.add(stateActionRewardState1); + Observation observation2 = new Observation(new INDArray[] { + Nd4j.create(new double[] { 4.0 }).reshape(1, 1), + Nd4j.create(new double[] { 5.0, 6.0 }).reshape(1, 2), + }); + StateActionRewardState stateActionRewardState2 = new StateActionRewardState(null, 0, 0.0, false); + stateActionRewardState2.setNextObservation(observation2); + trainingBatch.add(stateActionRewardState2); + + FeaturesBuilder sut = new FeaturesBuilder(false); + + // Act + Features result = sut.build(trainingBatch.stream().map(e -> e.getNextObservation()), trainingBatch.size()); + + // Assert + assertEquals(2, result.getBatchSize()); + assertEquals(1.0, result.get(0).getDouble(0, 0), 0.00001); + assertEquals(4.0, result.get(0).getDouble(1, 0), 0.00001); + + assertEquals(2.0, result.get(1).getDouble(0, 0), 0.00001); + assertEquals(3.0, result.get(1).getDouble(0, 1), 0.00001); + assertEquals(5.0, result.get(1).getDouble(1, 0), 0.00001); + assertEquals(6.0, result.get(1).getDouble(1, 1), 0.00001); + } + + @Test + public void when_creatingFeaturesWithObservationSourceAndRecurrent_expect_correctlyShapedFeatures() { + // Arrange + List trainingBatch = new ArrayList(); + Observation observation1 = new Observation(new INDArray[] { + Nd4j.create(new double[] { 1.0, 2.0 }).reshape(1, 2, 1), + Nd4j.create(new double[] { 3.0, 4.0, 5.0, 6.0 }).reshape(1, 2, 2, 1), + }); + trainingBatch.add(new StateActionReward(observation1, 0, 0.0, false)); + Observation observation2 = new Observation(new INDArray[] { + Nd4j.create(new double[] { 7.0, 8.0 }).reshape(1, 2, 1), + Nd4j.create(new double[] { 9.0, 10.0, 11.0, 12.0 }).reshape(1, 2, 2, 1), + }); + trainingBatch.add(new StateActionReward(observation2, 0, 0.0, false)); + + FeaturesBuilder sut = new FeaturesBuilder(true); + + // Act + Features result = sut.build(trainingBatch); + + // Assert + assertEquals(1, result.getBatchSize()); // With recurrent, batch size is always 1; examples are stacked on the time-serie dimension + assertArrayEquals(new long[] { 1, 2, 2 }, result.get(0).shape()); + assertEquals(1.0, result.get(0).getDouble(0, 0, 0), 0.00001); + assertEquals(7.0, result.get(0).getDouble(0, 0, 1), 0.00001); + assertEquals(2.0, result.get(0).getDouble(0, 1, 0), 0.00001); + assertEquals(8.0, result.get(0).getDouble(0, 1, 1), 0.00001); + + assertArrayEquals(new long[] { 1, 2, 2, 2 }, result.get(1).shape()); + assertEquals(3.0, result.get(1).getDouble(0, 0, 0, 0), 0.00001); + assertEquals(9.0, result.get(1).getDouble(0, 0, 0, 1), 0.00001); + assertEquals(4.0, result.get(1).getDouble(0, 0, 1, 0), 0.00001); + assertEquals(10.0, result.get(1).getDouble(0, 0, 1, 1), 0.00001); + + assertEquals(5.0, result.get(1).getDouble(0, 1, 0, 0), 0.00001); + assertEquals(11.0, result.get(1).getDouble(0, 1, 0, 1), 0.00001); + assertEquals(6.0, result.get(1).getDouble(0, 1, 1, 0), 0.00001); + assertEquals(12.0, result.get(1).getDouble(0, 1, 1, 1), 0.00001); + } + + @Test + public void when_creatingFeaturesWithStreamAndRecurrent_expect_correctlyShapedFeatures() { + // Arrange + List> trainingBatch = new ArrayList>(); + Observation observation1 = new Observation(new INDArray[] { + Nd4j.create(new double[] { 1.0, 2.0 }).reshape(1, 2, 1), + Nd4j.create(new double[] { 3.0, 4.0, 5.0, 6.0 }).reshape(1, 2, 2, 1), + }); + StateActionRewardState stateActionRewardState1 = new StateActionRewardState(null, 0, 0.0, false); + stateActionRewardState1.setNextObservation(observation1); + trainingBatch.add(stateActionRewardState1); + Observation observation2 = new Observation(new INDArray[] { + Nd4j.create(new double[] { 7.0, 8.0 }).reshape(1, 2, 1), + Nd4j.create(new double[] { 9.0, 10.0, 11.0, 12.0 }).reshape(1, 2, 2, 1), + }); + StateActionRewardState stateActionRewardState2 = new StateActionRewardState(null, 0, 0.0, false); + stateActionRewardState2.setNextObservation(observation2); + trainingBatch.add(stateActionRewardState2); + + FeaturesBuilder sut = new FeaturesBuilder(true); + + // Act + Features result = sut.build(trainingBatch.stream().map(e -> e.getNextObservation()), trainingBatch.size()); + + // Assert + assertEquals(1, result.getBatchSize()); // With recurrent, batch size is always 1; examples are stacked on the time-serie dimension + assertArrayEquals(new long[] { 1, 2, 2 }, result.get(0).shape()); + assertEquals(1.0, result.get(0).getDouble(0, 0, 0), 0.00001); + assertEquals(7.0, result.get(0).getDouble(0, 0, 1), 0.00001); + assertEquals(2.0, result.get(0).getDouble(0, 1, 0), 0.00001); + assertEquals(8.0, result.get(0).getDouble(0, 1, 1), 0.00001); + + assertArrayEquals(new long[] { 1, 2, 2, 2 }, result.get(1).shape()); + assertEquals(3.0, result.get(1).getDouble(0, 0, 0, 0), 0.00001); + assertEquals(9.0, result.get(1).getDouble(0, 0, 0, 1), 0.00001); + assertEquals(4.0, result.get(1).getDouble(0, 0, 1, 0), 0.00001); + assertEquals(10.0, result.get(1).getDouble(0, 0, 1, 1), 0.00001); + + assertEquals(5.0, result.get(1).getDouble(0, 1, 0, 0), 0.00001); + assertEquals(11.0, result.get(1).getDouble(0, 1, 0, 1), 0.00001); + assertEquals(6.0, result.get(1).getDouble(0, 1, 1, 0), 0.00001); + assertEquals(12.0, result.get(1).getDouble(0, 1, 1, 1), 0.00001); + } +} diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/FeaturesLabelsTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/FeaturesLabelsTest.java index 952bffe1c..00b33db83 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/FeaturesLabelsTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/FeaturesLabelsTest.java @@ -1,17 +1,41 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.agent.learning.update; import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.junit.MockitoJUnitRunner; import org.nd4j.linalg.api.ndarray.INDArray; import org.nd4j.linalg.factory.Nd4j; import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +@RunWith(MockitoJUnitRunner.class) public class FeaturesLabelsTest { @Test public void when_getBatchSizeIsCalled_expect_batchSizeIsReturned() { // Arrange - INDArray features = Nd4j.create(5, 10); + Features features = mock(Features.class); + when(features.getBatchSize()).thenReturn(5L); FeaturesLabels sut = new FeaturesLabels(features); // Act @@ -24,9 +48,8 @@ public class FeaturesLabelsTest { @Test public void when_puttingLabels_expect_getLabelReturnsLabels() { // Arrange - INDArray features = Nd4j.create(5, 10); INDArray labels = Nd4j.rand(2, 3); - FeaturesLabels sut = new FeaturesLabels(features); + FeaturesLabels sut = new FeaturesLabels(null); sut.putLabels("test", labels); // Act diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/FeaturesTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/FeaturesTest.java new file mode 100644 index 000000000..ba397e0f4 --- /dev/null +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/FeaturesTest.java @@ -0,0 +1,56 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.rl4j.agent.learning.update; + +import org.junit.Test; +import org.nd4j.linalg.api.ndarray.INDArray; +import org.nd4j.linalg.factory.Nd4j; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertSame; + +public class FeaturesTest { + + @Test + public void when_creatingFeatureWithBatchSize10_expectGetBatchSizeReturn10() { + // Arrange + INDArray[] featuresData = new INDArray[] {Nd4j.rand(10, 1)}; + + // Act + Features sut = new Features(featuresData); + + // Assert + assertEquals(10, sut.getBatchSize()); + } + + @Test + public void when_callingGetWithAChannelIndex_expectGetReturnsThatChannelData() { + // Arrange + INDArray channel0Data = Nd4j.rand(10, 1); + INDArray channel1Data = Nd4j.rand(10, 1); + INDArray[] featuresData = new INDArray[] { channel0Data, channel1Data }; + + // Act + Features sut = new Features(featuresData); + + // Assert + assertSame(channel1Data, sut.get(1)); + } + +} diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/GradientsTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/GradientsTest.java index fd319fdda..ae40ba160 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/GradientsTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/GradientsTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.agent.learning.update; import org.deeplearning4j.nn.gradient.Gradient; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/UpdateRuleTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/UpdateRuleTest.java index edf454825..0ddac2cb7 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/UpdateRuleTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/UpdateRuleTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.agent.learning.update; import org.deeplearning4j.rl4j.agent.learning.algorithm.IUpdateAlgorithm; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/AsyncGradientsNeuralNetUpdaterTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/AsyncGradientsNeuralNetUpdaterTest.java index 5da0788cc..db6f4e4df 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/AsyncGradientsNeuralNetUpdaterTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/AsyncGradientsNeuralNetUpdaterTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.agent.learning.update.updater.async; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/AsyncLabelsNeuralNetUpdaterTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/AsyncLabelsNeuralNetUpdaterTest.java index 026edc68a..5b3de8e54 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/AsyncLabelsNeuralNetUpdaterTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/AsyncLabelsNeuralNetUpdaterTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.agent.learning.update.updater.async; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/AsyncSharedNetworksUpdateHandlerTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/AsyncSharedNetworksUpdateHandlerTest.java index 57235c3f7..16867fa17 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/AsyncSharedNetworksUpdateHandlerTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/updater/async/AsyncSharedNetworksUpdateHandlerTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.agent.learning.update.updater.async; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/updater/sync/SyncGradientsNeuralNetUpdaterTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/updater/sync/SyncGradientsNeuralNetUpdaterTest.java index e701d3023..5512dd8e0 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/updater/sync/SyncGradientsNeuralNetUpdaterTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/updater/sync/SyncGradientsNeuralNetUpdaterTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.agent.learning.update.updater.sync; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/updater/sync/SyncLabelsNeuralNetUpdaterTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/updater/sync/SyncLabelsNeuralNetUpdaterTest.java index b0b34dd22..02c427944 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/updater/sync/SyncLabelsNeuralNetUpdaterTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/agent/learning/update/updater/sync/SyncLabelsNeuralNetUpdaterTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.agent.learning.update.updater.sync; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/builder/BaseAgentLearnerBuilderTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/builder/BaseAgentLearnerBuilderTest.java index 6de4daf3f..d9d798f8b 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/builder/BaseAgentLearnerBuilderTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/builder/BaseAgentLearnerBuilderTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.builder; import org.apache.commons.lang3.builder.Builder; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/experience/ReplayMemoryExperienceHandlerTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/experience/ReplayMemoryExperienceHandlerTest.java index 44c2960d2..03594df3c 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/experience/ReplayMemoryExperienceHandlerTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/experience/ReplayMemoryExperienceHandlerTest.java @@ -1,7 +1,24 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.experience; import org.deeplearning4j.rl4j.learning.sync.IExpReplay; -import org.deeplearning4j.rl4j.learning.sync.Transition; import org.deeplearning4j.rl4j.observation.Observation; import org.junit.Test; import org.junit.runner.RunWith; @@ -57,19 +74,19 @@ public class ReplayMemoryExperienceHandlerTest { sut.setFinalObservation(new Observation(Nd4j.create(new double[] { 3.0 }))); // Assert - ArgumentCaptor> argument = ArgumentCaptor.forClass(Transition.class); + ArgumentCaptor> argument = ArgumentCaptor.forClass(StateActionRewardState.class); verify(expReplayMock, times(2)).store(argument.capture()); - List> transitions = argument.getAllValues(); + List> stateActionRewardStates = argument.getAllValues(); - assertEquals(1.0, transitions.get(0).getObservation().getData().getDouble(0), 0.00001); - assertEquals(1, (int)transitions.get(0).getAction()); - assertEquals(1.0, transitions.get(0).getReward(), 0.00001); - assertEquals(2.0, transitions.get(0).getNextObservation().getDouble(0), 0.00001); + assertEquals(1.0, stateActionRewardStates.get(0).getObservation().getData().getDouble(0), 0.00001); + assertEquals(1, (int) stateActionRewardStates.get(0).getAction()); + assertEquals(1.0, stateActionRewardStates.get(0).getReward(), 0.00001); + assertEquals(2.0, stateActionRewardStates.get(0).getNextObservation().getChannelData(0).getDouble(0), 0.00001); - assertEquals(2.0, transitions.get(1).getObservation().getData().getDouble(0), 0.00001); - assertEquals(2, (int)transitions.get(1).getAction()); - assertEquals(2.0, transitions.get(1).getReward(), 0.00001); - assertEquals(3.0, transitions.get(1).getNextObservation().getDouble(0), 0.00001); + assertEquals(2.0, stateActionRewardStates.get(1).getObservation().getData().getDouble(0), 0.00001); + assertEquals(2, (int) stateActionRewardStates.get(1).getAction()); + assertEquals(2.0, stateActionRewardStates.get(1).getReward(), 0.00001); + assertEquals(3.0, stateActionRewardStates.get(1).getNextObservation().getChannelData(0).getDouble(0), 0.00001); } @@ -84,11 +101,11 @@ public class ReplayMemoryExperienceHandlerTest { sut.addExperience(new Observation(Nd4j.create(new double[] { 3.0 })), 3, 3.0, false); // Assert - ArgumentCaptor> argument = ArgumentCaptor.forClass(Transition.class); + ArgumentCaptor> argument = ArgumentCaptor.forClass(StateActionRewardState.class); verify(expReplayMock, times(1)).store(argument.capture()); - Transition transition = argument.getValue(); + StateActionRewardState stateActionRewardState = argument.getValue(); - assertEquals(1, (int)transition.getAction()); + assertEquals(1, (int) stateActionRewardState.getAction()); } @Test diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/experience/StateActionExperienceHandlerTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/experience/StateActionExperienceHandlerTest.java index eac85ad7f..0e6019029 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/experience/StateActionExperienceHandlerTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/experience/StateActionExperienceHandlerTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.experience; import org.deeplearning4j.rl4j.observation.Observation; @@ -25,7 +43,7 @@ public class StateActionExperienceHandlerTest { sut.addExperience(observation, 123, 234.0, true); // Act - List> result = sut.generateTrainingBatch(); + List> result = sut.generateTrainingBatch(); // Assert assertEquals(1, result.size()); @@ -45,7 +63,7 @@ public class StateActionExperienceHandlerTest { sut.addExperience(null, 3, 3.0, false); // Act - List> result = sut.generateTrainingBatch(); + List> result = sut.generateTrainingBatch(); // Assert assertEquals(3, result.size()); @@ -62,8 +80,8 @@ public class StateActionExperienceHandlerTest { sut.addExperience(null, 1, 1.0, false); // Act - List> firstResult = sut.generateTrainingBatch(); - List> secondResult = sut.generateTrainingBatch(); + List> firstResult = sut.generateTrainingBatch(); + List> secondResult = sut.generateTrainingBatch(); // Assert assertEquals(1, firstResult.size()); diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/helper/INDArrayHelperTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/helper/INDArrayHelperTest.java index a8fbad8e1..c1acfaff2 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/helper/INDArrayHelperTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/helper/INDArrayHelperTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.helper; import org.junit.Test; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/HistoryProcessorTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/HistoryProcessorTest.java index 8718d252d..d604b90c2 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/HistoryProcessorTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/HistoryProcessorTest.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/async/AsyncLearningTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/async/AsyncLearningTest.java index 6cdeea317..43d6d04c6 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/async/AsyncLearningTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/async/AsyncLearningTest.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.async; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/async/AsyncThreadDiscreteTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/async/AsyncThreadDiscreteTest.java index de9778a80..b8ee6eb6e 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/async/AsyncThreadDiscreteTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/async/AsyncThreadDiscreteTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K. K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.async; @@ -207,7 +209,7 @@ public class AsyncThreadDiscreteTest { boolean isSkipped = stepCount.incrementAndGet() % skipFrames != 0; - Observation mockObs = new Observation(isSkipped ? null : Nd4j.create(observationShape)); + Observation mockObs = isSkipped ? Observation.SkippedObservation : new Observation(Nd4j.create(observationShape)); return new StepReply<>(mockObs, 0.0, false, null); }); diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/async/AsyncThreadTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/async/AsyncThreadTest.java index 5b6afbc28..082d63d59 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/async/AsyncThreadTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/async/AsyncThreadTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.async; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/async/a3c/discrete/AdvantageActorCriticUpdateAlgorithmTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/async/a3c/discrete/AdvantageActorCriticUpdateAlgorithmTest.java index 131dbce63..89b57e562 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/async/a3c/discrete/AdvantageActorCriticUpdateAlgorithmTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/async/a3c/discrete/AdvantageActorCriticUpdateAlgorithmTest.java @@ -1,22 +1,24 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.async.a3c.discrete; -import org.deeplearning4j.rl4j.experience.StateActionPair; +import org.deeplearning4j.rl4j.experience.StateActionReward; import org.deeplearning4j.rl4j.learning.async.AsyncGlobal; import org.deeplearning4j.rl4j.network.NeuralNet; import org.deeplearning4j.rl4j.network.ac.IActorCritic; @@ -64,9 +66,9 @@ public class AdvantageActorCriticUpdateAlgorithmTest { int[] actions = new int[]{0, 1, 2, 1}; double[] rewards = new double[]{0.1, 1.0, 10.0, 100.0}; - List> experience = new ArrayList>(); + List> experience = new ArrayList>(); for (int i = 0; i < originalObservations.length; ++i) { - experience.add(new StateActionPair<>(new Observation(originalObservations[i]), actions[i], rewards[i], false)); + experience.add(new StateActionReward<>(new Observation(originalObservations[i]), actions[i], rewards[i], false)); } when(mockActorCritic.outputAll(any(INDArray.class))).thenAnswer(invocation -> { diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/async/listener/AsyncTrainingListenerListTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/async/listener/AsyncTrainingListenerListTest.java index d73a2a9f7..817359b11 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/async/listener/AsyncTrainingListenerListTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/async/listener/AsyncTrainingListenerListTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.async.listener; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/async/nstep/discrete/QLearningUpdateAlgorithmTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/async/nstep/discrete/QLearningUpdateAlgorithmTest.java index 77de513b3..676896188 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/async/nstep/discrete/QLearningUpdateAlgorithmTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/async/nstep/discrete/QLearningUpdateAlgorithmTest.java @@ -1,22 +1,24 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.async.nstep.discrete; -import org.deeplearning4j.rl4j.experience.StateActionPair; +import org.deeplearning4j.rl4j.experience.StateActionReward; import org.deeplearning4j.rl4j.learning.async.AsyncGlobal; import org.deeplearning4j.rl4j.learning.async.UpdateAlgorithm; import org.deeplearning4j.rl4j.network.dqn.IDQN; @@ -61,9 +63,9 @@ public class QLearningUpdateAlgorithmTest { setup(1.0); final Observation observation = new Observation(Nd4j.zeros(1, 2)); - List> experience = new ArrayList>() { + List> experience = new ArrayList>() { { - add(new StateActionPair(observation, 0, 0.0, true)); + add(new StateActionReward(observation, 0, 0.0, true)); } }; @@ -80,9 +82,9 @@ public class QLearningUpdateAlgorithmTest { setup(1.0); final Observation observation = new Observation(Nd4j.create(new double[] { -123.0, -234.0 }).reshape(1, 2)); - List> experience = new ArrayList>() { + List> experience = new ArrayList>() { { - add(new StateActionPair(observation, 0, 0.0, false)); + add(new StateActionReward(observation, 0, 0.0, false)); } }; @@ -106,10 +108,10 @@ public class QLearningUpdateAlgorithmTest { double gamma = 0.9; setup(gamma); - List> experience = new ArrayList>() { + List> experience = new ArrayList>() { { - add(new StateActionPair(new Observation(Nd4j.create(new double[] { -1.1, -1.2 }).reshape(1, 2)), 0, 1.0, false)); - add(new StateActionPair(new Observation(Nd4j.create(new double[] { -2.1, -2.2 }).reshape(1, 2)), 1, 2.0, true)); + add(new StateActionReward(new Observation(Nd4j.create(new double[] { -1.1, -1.2 }).reshape(1, 2)), 0, 1.0, false)); + add(new StateActionReward(new Observation(Nd4j.create(new double[] { -2.1, -2.2 }).reshape(1, 2)), 1, 2.0, true)); } }; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/listener/TrainingListenerListTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/listener/TrainingListenerListTest.java index 1e01c409a..656641896 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/listener/TrainingListenerListTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/listener/TrainingListenerListTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.listener; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/ExpReplayTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/ExpReplayTest.java index 1e1a50e65..59463442d 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/ExpReplayTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/ExpReplayTest.java @@ -1,5 +1,24 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.learning.sync; +import org.deeplearning4j.rl4j.experience.StateActionRewardState; import org.deeplearning4j.rl4j.observation.Observation; import org.deeplearning4j.rl4j.support.MockRandom; import org.junit.Test; @@ -17,10 +36,10 @@ public class ExpReplayTest { ExpReplay sut = new ExpReplay(2, 1, randomMock); // Act - Transition transition = buildTransition(buildObservation(), + StateActionRewardState stateActionRewardState = buildTransition(buildObservation(), 123, 234, new Observation(Nd4j.create(1))); - sut.store(transition); - List> results = sut.getBatch(1); + sut.store(stateActionRewardState); + List> results = sut.getBatch(1); // Assert assertEquals(1, results.size()); @@ -35,16 +54,16 @@ public class ExpReplayTest { ExpReplay sut = new ExpReplay(2, 1, randomMock); // Act - Transition transition1 = buildTransition(buildObservation(), + StateActionRewardState stateActionRewardState1 = buildTransition(buildObservation(), 1, 2, new Observation(Nd4j.create(1))); - Transition transition2 = buildTransition(buildObservation(), + StateActionRewardState stateActionRewardState2 = buildTransition(buildObservation(), 3, 4, new Observation(Nd4j.create(1))); - Transition transition3 = buildTransition(buildObservation(), + StateActionRewardState stateActionRewardState3 = buildTransition(buildObservation(), 5, 6, new Observation(Nd4j.create(1))); - sut.store(transition1); - sut.store(transition2); - sut.store(transition3); - List> results = sut.getBatch(2); + sut.store(stateActionRewardState1); + sut.store(stateActionRewardState2); + sut.store(stateActionRewardState3); + List> results = sut.getBatch(2); // Assert assertEquals(2, results.size()); @@ -64,7 +83,7 @@ public class ExpReplayTest { ExpReplay sut = new ExpReplay(5, 1, randomMock); // Act - List> results = sut.getBatch(0); + List> results = sut.getBatch(0); // Assert assertEquals(0, results.size()); @@ -77,16 +96,16 @@ public class ExpReplayTest { ExpReplay sut = new ExpReplay(5, 1, randomMock); // Act - Transition transition1 = buildTransition(buildObservation(), + StateActionRewardState stateActionRewardState1 = buildTransition(buildObservation(), 1, 2, new Observation(Nd4j.create(1))); - Transition transition2 = buildTransition(buildObservation(), + StateActionRewardState stateActionRewardState2 = buildTransition(buildObservation(), 3, 4, new Observation(Nd4j.create(1))); - Transition transition3 = buildTransition(buildObservation(), + StateActionRewardState stateActionRewardState3 = buildTransition(buildObservation(), 5, 6, new Observation(Nd4j.create(1))); - sut.store(transition1); - sut.store(transition2); - sut.store(transition3); - List> results = sut.getBatch(0); + sut.store(stateActionRewardState1); + sut.store(stateActionRewardState2); + sut.store(stateActionRewardState3); + List> results = sut.getBatch(0); // Assert assertEquals(0, results.size()); @@ -99,16 +118,16 @@ public class ExpReplayTest { ExpReplay sut = new ExpReplay(5, 1, randomMock); // Act - Transition transition1 = buildTransition(buildObservation(), + StateActionRewardState stateActionRewardState1 = buildTransition(buildObservation(), 1, 2, new Observation(Nd4j.create(1))); - Transition transition2 = buildTransition(buildObservation(), + StateActionRewardState stateActionRewardState2 = buildTransition(buildObservation(), 3, 4, new Observation(Nd4j.create(1))); - Transition transition3 = buildTransition(buildObservation(), + StateActionRewardState stateActionRewardState3 = buildTransition(buildObservation(), 5, 6, new Observation(Nd4j.create(1))); - sut.store(transition1); - sut.store(transition2); - sut.store(transition3); - List> results = sut.getBatch(10); + sut.store(stateActionRewardState1); + sut.store(stateActionRewardState2); + sut.store(stateActionRewardState3); + List> results = sut.getBatch(10); // Assert assertEquals(3, results.size()); @@ -130,22 +149,22 @@ public class ExpReplayTest { ExpReplay sut = new ExpReplay(5, 1, randomMock); // Act - Transition transition1 = buildTransition(buildObservation(), + StateActionRewardState stateActionRewardState1 = buildTransition(buildObservation(), 1, 2, new Observation(Nd4j.create(1))); - Transition transition2 = buildTransition(buildObservation(), + StateActionRewardState stateActionRewardState2 = buildTransition(buildObservation(), 3, 4, new Observation(Nd4j.create(1))); - Transition transition3 = buildTransition(buildObservation(), + StateActionRewardState stateActionRewardState3 = buildTransition(buildObservation(), 5, 6, new Observation(Nd4j.create(1))); - Transition transition4 = buildTransition(buildObservation(), + StateActionRewardState stateActionRewardState4 = buildTransition(buildObservation(), 7, 8, new Observation(Nd4j.create(1))); - Transition transition5 = buildTransition(buildObservation(), + StateActionRewardState stateActionRewardState5 = buildTransition(buildObservation(), 9, 10, new Observation(Nd4j.create(1))); - sut.store(transition1); - sut.store(transition2); - sut.store(transition3); - sut.store(transition4); - sut.store(transition5); - List> results = sut.getBatch(3); + sut.store(stateActionRewardState1); + sut.store(stateActionRewardState2); + sut.store(stateActionRewardState3); + sut.store(stateActionRewardState4); + sut.store(stateActionRewardState5); + List> results = sut.getBatch(3); // Assert assertEquals(3, results.size()); @@ -167,22 +186,22 @@ public class ExpReplayTest { ExpReplay sut = new ExpReplay(5, 1, randomMock); // Act - Transition transition1 = buildTransition(buildObservation(), + StateActionRewardState stateActionRewardState1 = buildTransition(buildObservation(), 1, 2, new Observation(Nd4j.create(1))); - Transition transition2 = buildTransition(buildObservation(), + StateActionRewardState stateActionRewardState2 = buildTransition(buildObservation(), 3, 4, new Observation(Nd4j.create(1))); - Transition transition3 = buildTransition(buildObservation(), + StateActionRewardState stateActionRewardState3 = buildTransition(buildObservation(), 5, 6, new Observation(Nd4j.create(1))); - Transition transition4 = buildTransition(buildObservation(), + StateActionRewardState stateActionRewardState4 = buildTransition(buildObservation(), 7, 8, new Observation(Nd4j.create(1))); - Transition transition5 = buildTransition(buildObservation(), + StateActionRewardState stateActionRewardState5 = buildTransition(buildObservation(), 9, 10, new Observation(Nd4j.create(1))); - sut.store(transition1); - sut.store(transition2); - sut.store(transition3); - sut.store(transition4); - sut.store(transition5); - List> results = sut.getBatch(3); + sut.store(stateActionRewardState1); + sut.store(stateActionRewardState2); + sut.store(stateActionRewardState3); + sut.store(stateActionRewardState4); + sut.store(stateActionRewardState5); + List> results = sut.getBatch(3); // Assert assertEquals(3, results.size()); @@ -197,8 +216,8 @@ public class ExpReplayTest { assertEquals(6, (int)results.get(2).getReward()); } - private Transition buildTransition(Observation observation, Integer action, double reward, Observation nextObservation) { - Transition result = new Transition(observation, action, reward, false); + private StateActionRewardState buildTransition(Observation observation, Integer action, double reward, Observation nextObservation) { + StateActionRewardState result = new StateActionRewardState(observation, action, reward, false); result.setNextObservation(nextObservation); return result; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/StateActionRewardStateTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/StateActionRewardStateTest.java new file mode 100644 index 000000000..e5ea7b4b1 --- /dev/null +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/StateActionRewardStateTest.java @@ -0,0 +1,153 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.rl4j.learning.sync; + +import org.deeplearning4j.rl4j.experience.StateActionRewardState; +import org.deeplearning4j.rl4j.observation.Observation; +import org.junit.Test; +import org.nd4j.linalg.api.ndarray.INDArray; +import org.nd4j.linalg.factory.Nd4j; + +import static org.junit.Assert.assertEquals; + +public class StateActionRewardStateTest { + @Test + public void when_callingCtorWithoutHistory_expect_2DObservationAndNextObservation() { + // Arrange + double[] obs = new double[] { 1.0, 2.0, 3.0 }; + Observation observation = buildObservation(obs); + + double[] nextObs = new double[] { 10.0, 20.0, 30.0 }; + Observation nextObservation = buildObservation(nextObs); + + // Act + StateActionRewardState stateActionRewardState = buildTransition(observation, 123, 234.0, nextObservation); + + // Assert + double[][] expectedObservation = new double[][] { obs }; + assertExpected(expectedObservation, stateActionRewardState.getObservation().getChannelData(0)); + + double[][] expectedNextObservation = new double[][] { nextObs }; + assertExpected(expectedNextObservation, stateActionRewardState.getNextObservation().getChannelData(0)); + + assertEquals(123, stateActionRewardState.getAction()); + assertEquals(234.0, stateActionRewardState.getReward(), 0.0001); + } + + @Test + public void when_callingCtorWithHistory_expect_ObservationAndNextWithHistory() { + // Arrange + double[][] obs = new double[][] { + { 0.0, 1.0, 2.0 }, + { 3.0, 4.0, 5.0 }, + { 6.0, 7.0, 8.0 }, + }; + Observation observation = buildObservation(obs); + + double[][] nextObs = new double[][] { + { 10.0, 11.0, 12.0 }, + { 0.0, 1.0, 2.0 }, + { 3.0, 4.0, 5.0 }, + }; + Observation nextObservation = buildObservation(nextObs); + + // Act + StateActionRewardState stateActionRewardState = buildTransition(observation, 123, 234.0, nextObservation); + + // Assert + assertExpected(obs, stateActionRewardState.getObservation().getChannelData(0)); + + assertExpected(nextObs, stateActionRewardState.getNextObservation().getChannelData(0)); + + assertEquals(123, stateActionRewardState.getAction()); + assertEquals(234.0, stateActionRewardState.getReward(), 0.0001); + } + + private Observation buildObservation(double[][] obs) { + INDArray[] history = new INDArray[] { + Nd4j.create(obs[0]).reshape(1, 3), + Nd4j.create(obs[1]).reshape(1, 3), + Nd4j.create(obs[2]).reshape(1, 3), + }; + return new Observation(Nd4j.concat(0, history)); + } + + private Observation buildObservation(double[] obs) { + return new Observation(Nd4j.create(obs).reshape(1, 3)); + } + + private Observation buildNextObservation(double[][] obs, double[] nextObs) { + INDArray[] nextHistory = new INDArray[] { + Nd4j.create(nextObs).reshape(1, 3), + Nd4j.create(obs[0]).reshape(1, 3), + Nd4j.create(obs[1]).reshape(1, 3), + }; + return new Observation(Nd4j.concat(0, nextHistory)); + } + + private StateActionRewardState buildTransition(Observation observation, int action, double reward, Observation nextObservation) { + StateActionRewardState result = new StateActionRewardState(observation, action, reward, false); + result.setNextObservation(nextObservation); + + return result; + } + + private void assertExpected(double[] expected, INDArray actual) { + long[] shape = actual.shape(); + assertEquals(2, shape.length); + assertEquals(1, shape[0]); + assertEquals(expected.length, shape[1]); + for(int i = 0; i < expected.length; ++i) { + assertEquals(expected[i], actual.getDouble(0, i), 0.0001); + } + } + + private void assertExpected(double[][] expected, INDArray actual) { + long[] shape = actual.shape(); + assertEquals(2, shape.length); + assertEquals(expected.length, shape[0]); + assertEquals(expected[0].length, shape[1]); + + for(int i = 0; i < expected.length; ++i) { + double[] expectedLine = expected[i]; + for(int j = 0; j < expectedLine.length; ++j) { + assertEquals(expectedLine[j], actual.getDouble(i, j), 0.0001); + } + } + } + + private void assertExpected(double[][][] expected, INDArray actual) { + long[] shape = actual.shape(); + assertEquals(3, shape.length); + assertEquals(expected.length, shape[0]); + assertEquals(expected[0].length, shape[1]); + assertEquals(expected[0][0].length, shape[2]); + + for(int i = 0; i < expected.length; ++i) { + double[][] expected2D = expected[i]; + for(int j = 0; j < expected2D.length; ++j) { + double[] expectedLine = expected2D[j]; + for (int k = 0; k < expectedLine.length; ++k) { + assertEquals(expectedLine[k], actual.getDouble(i, j, k), 0.0001); + } + } + } + + } +} diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/SyncLearningTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/SyncLearningTest.java index 4c215225f..774607544 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/SyncLearningTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/SyncLearningTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.learning.sync; import org.deeplearning4j.rl4j.learning.configuration.ILearningConfiguration; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/TransitionTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/TransitionTest.java deleted file mode 100644 index 374b6a140..000000000 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/TransitionTest.java +++ /dev/null @@ -1,261 +0,0 @@ -package org.deeplearning4j.rl4j.learning.sync; - -import org.deeplearning4j.rl4j.observation.Observation; -import org.junit.Test; -import org.nd4j.linalg.api.ndarray.INDArray; -import org.nd4j.linalg.factory.Nd4j; - -import java.util.ArrayList; -import java.util.List; - -import static org.junit.Assert.assertEquals; - -public class TransitionTest { - @Test - public void when_callingCtorWithoutHistory_expect_2DObservationAndNextObservation() { - // Arrange - double[] obs = new double[] { 1.0, 2.0, 3.0 }; - Observation observation = buildObservation(obs); - - double[] nextObs = new double[] { 10.0, 20.0, 30.0 }; - Observation nextObservation = buildObservation(nextObs); - - // Act - Transition transition = buildTransition(observation, 123, 234.0, nextObservation); - - // Assert - double[][] expectedObservation = new double[][] { obs }; - assertExpected(expectedObservation, transition.getObservation().getData()); - - double[][] expectedNextObservation = new double[][] { nextObs }; - assertExpected(expectedNextObservation, transition.getNextObservation()); - - assertEquals(123, transition.getAction()); - assertEquals(234.0, transition.getReward(), 0.0001); - } - - @Test - public void when_callingCtorWithHistory_expect_ObservationWithHistoryAndNextObservationWithout() { - // Arrange - double[][] obs = new double[][] { - { 0.0, 1.0, 2.0 }, - { 3.0, 4.0, 5.0 }, - { 6.0, 7.0, 8.0 }, - }; - Observation observation = buildObservation(obs); - - double[][] nextObs = new double[][] { - { 10.0, 11.0, 12.0 }, - { 0.0, 1.0, 2.0 }, - { 3.0, 4.0, 5.0 }, - }; - Observation nextObservation = buildObservation(nextObs); - - // Act - Transition transition = buildTransition(observation, 123, 234.0, nextObservation); - - // Assert - assertExpected(obs, transition.getObservation().getData()); - - assertExpected(nextObs[0], transition.getNextObservation()); - - assertEquals(123, transition.getAction()); - assertEquals(234.0, transition.getReward(), 0.0001); - } - - @Test - public void when_CallingBuildStackedObservationsAndShapeRankIs2_expect_2DResultWithObservationsStackedOnDimension0() { - // Arrange - List> transitions = new ArrayList>(); - - double[] obs1 = new double[] { 0.0, 1.0, 2.0 }; - Observation observation1 = buildObservation(obs1); - Observation nextObservation1 = buildObservation(new double[] { 100.0, 101.0, 102.0 }); - transitions.add(buildTransition(observation1,0, 0.0, nextObservation1)); - - double[] obs2 = new double[] { 10.0, 11.0, 12.0 }; - Observation observation2 = buildObservation(obs2); - Observation nextObservation2 = buildObservation(new double[] { 110.0, 111.0, 112.0 }); - transitions.add(buildTransition(observation2, 0, 0.0, nextObservation2)); - - // Act - INDArray result = Transition.buildStackedObservations(transitions); - - // Assert - double[][] expected = new double[][] { obs1, obs2 }; - assertExpected(expected, result); - } - - @Test - public void when_CallingBuildStackedObservationsAndShapeRankIsGreaterThan2_expect_ResultWithOneMoreDimensionAndObservationsStackedOnDimension0() { - // Arrange - List> transitions = new ArrayList>(); - - double[][] obs1 = new double[][] { - { 0.0, 1.0, 2.0 }, - { 3.0, 4.0, 5.0 }, - { 6.0, 7.0, 8.0 }, - }; - Observation observation1 = buildObservation(obs1); - - double[] nextObs1 = new double[] { 100.0, 101.0, 102.0 }; - Observation nextObservation1 = buildNextObservation(obs1, nextObs1); - - transitions.add(buildTransition(observation1, 0, 0.0, nextObservation1)); - - double[][] obs2 = new double[][] { - { 10.0, 11.0, 12.0 }, - { 13.0, 14.0, 15.0 }, - { 16.0, 17.0, 18.0 }, - }; - Observation observation2 = buildObservation(obs2); - - double[] nextObs2 = new double[] { 110.0, 111.0, 112.0 }; - Observation nextObservation2 = buildNextObservation(obs2, nextObs2); - transitions.add(buildTransition(observation2, 0, 0.0, nextObservation2)); - - // Act - INDArray result = Transition.buildStackedObservations(transitions); - - // Assert - double[][][] expected = new double[][][] { obs1, obs2 }; - assertExpected(expected, result); - } - - @Test - public void when_CallingBuildStackedNextObservationsAndShapeRankIs2_expect_2DResultWithObservationsStackedOnDimension0() { - // Arrange - List> transitions = new ArrayList>(); - - double[] obs1 = new double[] { 0.0, 1.0, 2.0 }; - double[] nextObs1 = new double[] { 100.0, 101.0, 102.0 }; - Observation observation1 = buildObservation(obs1); - Observation nextObservation1 = buildObservation(nextObs1); - transitions.add(buildTransition(observation1, 0, 0.0, nextObservation1)); - - double[] obs2 = new double[] { 10.0, 11.0, 12.0 }; - double[] nextObs2 = new double[] { 110.0, 111.0, 112.0 }; - Observation observation2 = buildObservation(obs2); - Observation nextObservation2 = buildObservation(nextObs2); - transitions.add(buildTransition(observation2, 0, 0.0, nextObservation2)); - - // Act - INDArray result = Transition.buildStackedNextObservations(transitions); - - // Assert - double[][] expected = new double[][] { nextObs1, nextObs2 }; - assertExpected(expected, result); - } - - @Test - public void when_CallingBuildStackedNextObservationsAndShapeRankIsGreaterThan2_expect_ResultWithOneMoreDimensionAndObservationsStackedOnDimension0() { - // Arrange - List> transitions = new ArrayList>(); - - double[][] obs1 = new double[][] { - { 0.0, 1.0, 2.0 }, - { 3.0, 4.0, 5.0 }, - { 6.0, 7.0, 8.0 }, - }; - Observation observation1 = buildObservation(obs1); - - double[] nextObs1 = new double[] { 100.0, 101.0, 102.0 }; - Observation nextObservation1 = buildNextObservation(obs1, nextObs1); - - transitions.add(buildTransition(observation1, 0, 0.0, nextObservation1)); - - double[][] obs2 = new double[][] { - { 10.0, 11.0, 12.0 }, - { 13.0, 14.0, 15.0 }, - { 16.0, 17.0, 18.0 }, - }; - Observation observation2 = buildObservation(obs2); - - double[] nextObs2 = new double[] { 110.0, 111.0, 112.0 }; - Observation nextObservation2 = buildNextObservation(obs2, nextObs2); - - transitions.add(buildTransition(observation2, 0, 0.0, nextObservation2)); - - // Act - INDArray result = Transition.buildStackedNextObservations(transitions); - - // Assert - double[][][] expected = new double[][][] { - new double[][] { nextObs1, obs1[0], obs1[1] }, - new double[][] { nextObs2, obs2[0], obs2[1] } - }; - assertExpected(expected, result); - } - - private Observation buildObservation(double[][] obs) { - INDArray[] history = new INDArray[] { - Nd4j.create(obs[0]).reshape(1, 3), - Nd4j.create(obs[1]).reshape(1, 3), - Nd4j.create(obs[2]).reshape(1, 3), - }; - return new Observation(Nd4j.concat(0, history)); - } - - private Observation buildObservation(double[] obs) { - return new Observation(Nd4j.create(obs).reshape(1, 3)); - } - - private Observation buildNextObservation(double[][] obs, double[] nextObs) { - INDArray[] nextHistory = new INDArray[] { - Nd4j.create(nextObs).reshape(1, 3), - Nd4j.create(obs[0]).reshape(1, 3), - Nd4j.create(obs[1]).reshape(1, 3), - }; - return new Observation(Nd4j.concat(0, nextHistory)); - } - - private Transition buildTransition(Observation observation, int action, double reward, Observation nextObservation) { - Transition result = new Transition(observation, action, reward, false); - result.setNextObservation(nextObservation); - - return result; - } - - private void assertExpected(double[] expected, INDArray actual) { - long[] shape = actual.shape(); - assertEquals(2, shape.length); - assertEquals(1, shape[0]); - assertEquals(expected.length, shape[1]); - for(int i = 0; i < expected.length; ++i) { - assertEquals(expected[i], actual.getDouble(0, i), 0.0001); - } - } - - private void assertExpected(double[][] expected, INDArray actual) { - long[] shape = actual.shape(); - assertEquals(2, shape.length); - assertEquals(expected.length, shape[0]); - assertEquals(expected[0].length, shape[1]); - - for(int i = 0; i < expected.length; ++i) { - double[] expectedLine = expected[i]; - for(int j = 0; j < expectedLine.length; ++j) { - assertEquals(expectedLine[j], actual.getDouble(i, j), 0.0001); - } - } - } - - private void assertExpected(double[][][] expected, INDArray actual) { - long[] shape = actual.shape(); - assertEquals(3, shape.length); - assertEquals(expected.length, shape[0]); - assertEquals(expected[0].length, shape[1]); - assertEquals(expected[0][0].length, shape[2]); - - for(int i = 0; i < expected.length; ++i) { - double[][] expected2D = expected[i]; - for(int j = 0; j < expected2D.length; ++j) { - double[] expectedLine = expected2D[j]; - for (int k = 0; k < expectedLine.length; ++k) { - assertEquals(expectedLine[k], actual.getDouble(i, j, k), 0.0001); - } - } - } - - } -} diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/qlearning/QLearningConfigurationTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/qlearning/QLearningConfigurationTest.java index d7d9bf072..62aad1349 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/qlearning/QLearningConfigurationTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/qlearning/QLearningConfigurationTest.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.sync.qlearning; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/qlearning/discrete/QLearningDiscreteTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/qlearning/discrete/QLearningDiscreteTest.java index e1f47fd0a..954744f26 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/qlearning/discrete/QLearningDiscreteTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/qlearning/discrete/QLearningDiscreteTest.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.learning.sync.qlearning.discrete; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/support/MockDQN.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/support/MockDQN.java index ce105af06..ee8f262f5 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/support/MockDQN.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/support/MockDQN.java @@ -1,7 +1,26 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.learning.sync.support; import org.deeplearning4j.nn.api.NeuralNetwork; import org.deeplearning4j.nn.gradient.Gradient; +import org.deeplearning4j.rl4j.agent.learning.update.Features; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; import org.deeplearning4j.rl4j.network.CommonOutputNames; @@ -63,6 +82,11 @@ public class MockDQN implements IDQN { return result; } + @Override + public NeuralNetOutput output(Features features) { + throw new UnsupportedOperationException(); + } + @Override public NeuralNetOutput output(Observation observation) { return this.output(observation.getData()); diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/support/MockStatEntry.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/support/MockStatEntry.java index 540b869d3..143d4fa83 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/support/MockStatEntry.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/learning/sync/support/MockStatEntry.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.learning.sync.support; import lombok.AllArgsConstructor; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/ActorCriticNetworkTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/ActorCriticNetworkTest.java index ef9fe2201..86c74a4d0 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/ActorCriticNetworkTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/ActorCriticNetworkTest.java @@ -1,8 +1,27 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.network; import org.deeplearning4j.nn.gradient.Gradient; import org.deeplearning4j.nn.graph.ComputationGraph; import org.deeplearning4j.nn.multilayer.MultiLayerNetwork; +import org.deeplearning4j.rl4j.agent.learning.update.Features; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; import org.junit.Test; @@ -19,16 +38,26 @@ import static org.mockito.Mockito.times; @RunWith(MockitoJUnitRunner.class) public class ActorCriticNetworkTest { + private FeaturesLabels createFeaturesLabelsMock() { + FeaturesLabels featuresLabelsMock = mock(FeaturesLabels.class); + Features features = new Features(new INDArray[] { Nd4j.rand(1, 2) }); + when(featuresLabelsMock.getFeatures()).thenReturn(features); + + return featuresLabelsMock; + } + @Test public void when_callingCtorWithCG_expect_handlerUsesCorrectLabelAndGradientNames() { // Arrange ComputationGraph modelMock = mock(ComputationGraph.class); - FeaturesLabels featuresLabelsMock = mock(FeaturesLabels.class); + FeaturesLabels featuresLabelsMock = createFeaturesLabelsMock(); Gradient gradientMock = mock(Gradient.class); when(modelMock.gradient()).thenReturn(gradientMock); // Act - ActorCriticNetwork sut = new ActorCriticNetwork(modelMock); + ActorCriticNetwork sut = ActorCriticNetwork.builder() + .withCombinedNetwork(modelMock) + .build(); Gradients results = sut.computeGradients(featuresLabelsMock); // Assert @@ -48,11 +77,12 @@ public class ActorCriticNetworkTest { Gradient policyGradientMock = mock(Gradient.class); when(policyMock.gradient()).thenReturn(policyGradientMock); - FeaturesLabels featuresLabelsMock = mock(FeaturesLabels.class); - + FeaturesLabels featuresLabelsMock = createFeaturesLabelsMock(); // Act - ActorCriticNetwork sut = new ActorCriticNetwork(valueMock, policyMock); + ActorCriticNetwork sut = ActorCriticNetwork.builder() + .withSeparateNetworks(valueMock, policyMock) + .build(); Gradients results = sut.computeGradients(featuresLabelsMock); // Assert @@ -73,11 +103,12 @@ public class ActorCriticNetworkTest { Gradient policyGradientMock = mock(Gradient.class); when(policyMock.gradient()).thenReturn(policyGradientMock); - FeaturesLabels featuresLabelsMock = mock(FeaturesLabels.class); - + FeaturesLabels featuresLabelsMock = createFeaturesLabelsMock(); // Act - ActorCriticNetwork sut = new ActorCriticNetwork(valueMock, policyMock); + ActorCriticNetwork sut = ActorCriticNetwork.builder() + .withSeparateNetworks(valueMock, policyMock) + .build(); Gradients results = sut.computeGradients(featuresLabelsMock); // Assert @@ -98,11 +129,12 @@ public class ActorCriticNetworkTest { Gradient policyGradientMock = mock(Gradient.class); when(policyMock.gradient()).thenReturn(policyGradientMock); - FeaturesLabels featuresLabelsMock = mock(FeaturesLabels.class); - + FeaturesLabels featuresLabelsMock = createFeaturesLabelsMock(); // Act - ActorCriticNetwork sut = new ActorCriticNetwork(valueMock, policyMock); + ActorCriticNetwork sut = ActorCriticNetwork.builder() + .withSeparateNetworks(valueMock, policyMock) + .build(); Gradients results = sut.computeGradients(featuresLabelsMock); // Assert @@ -123,11 +155,12 @@ public class ActorCriticNetworkTest { Gradient policyGradientMock = mock(Gradient.class); when(policyMock.gradient()).thenReturn(policyGradientMock); - FeaturesLabels featuresLabelsMock = mock(FeaturesLabels.class); - + FeaturesLabels featuresLabelsMock = createFeaturesLabelsMock(); // Act - ActorCriticNetwork sut = new ActorCriticNetwork(valueMock, policyMock); + ActorCriticNetwork sut = ActorCriticNetwork.builder() + .withSeparateNetworks(valueMock, policyMock) + .build(); Gradients results = sut.computeGradients(featuresLabelsMock); // Assert @@ -141,14 +174,17 @@ public class ActorCriticNetworkTest { public void when_callingOutput_expect_resultHasCorrectNames() { // Arrange ComputationGraph modelMock = mock(ComputationGraph.class); - INDArray batch = Nd4j.rand(1, 2); + INDArray featuresData = Nd4j.rand(1, 2); + Features features = new Features(new INDArray[] { featuresData }); INDArray outputValue = Nd4j.rand(1, 2); INDArray outputPolicy = Nd4j.rand(1, 2); - when(modelMock.output(batch)).thenReturn(new INDArray[] { outputValue, outputPolicy }); + when(modelMock.output(featuresData)).thenReturn(new INDArray[] { outputValue, outputPolicy }); // Act - ActorCriticNetwork sut = new ActorCriticNetwork(modelMock); - NeuralNetOutput result = sut.output(batch); + ActorCriticNetwork sut = ActorCriticNetwork.builder() + .withCombinedNetwork(modelMock) + .build(); + NeuralNetOutput result = sut.output(features); // Assert assertSame(outputValue, result.get(CommonOutputNames.ActorCritic.Value)); @@ -162,7 +198,9 @@ public class ActorCriticNetworkTest { when(modelMock.clone()).thenReturn(modelMock); // Act - ActorCriticNetwork sut = new ActorCriticNetwork(modelMock); + ActorCriticNetwork sut = ActorCriticNetwork.builder() + .withCombinedNetwork(modelMock) + .build(); ActorCriticNetwork clone = sut.clone(); // Assert diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/BaseNetworkTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/BaseNetworkTest.java index 8c853fa65..70c3f5645 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/BaseNetworkTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/BaseNetworkTest.java @@ -1,10 +1,30 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.network; +import org.deeplearning4j.rl4j.agent.learning.update.Features; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; import org.deeplearning4j.rl4j.observation.Observation; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.junit.MockitoJUnitRunner; @@ -12,6 +32,7 @@ import org.nd4j.linalg.api.ndarray.INDArray; import org.nd4j.linalg.factory.Nd4j; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertSame; import static org.mockito.Mockito.*; @RunWith(MockitoJUnitRunner.class) @@ -62,8 +83,9 @@ public class BaseNetworkTest { public void when_callingComputeGradients_expect_handlerComputeGradientsIsNotifiedAndResponseIsFilled() { // Arrange setup(false); - FeaturesLabels featuresLabels = new FeaturesLabels(Nd4j.create(12, 1)); - Gradients gradientsMock = mock(Gradients.class); + Features featuresMock = mock(Features.class); + when(featuresMock.getBatchSize()).thenReturn(12L); + FeaturesLabels featuresLabels = new FeaturesLabels(featuresMock); // Act Gradients response = sut.computeGradients(featuresLabels); @@ -72,7 +94,7 @@ public class BaseNetworkTest { verify(handlerMock, times(1)).performGradientsComputation(featuresLabels); verify(handlerMock, times(1)).notifyGradientCalculation(); verify(handlerMock, times(1)).fillGradientsResponse(response); - assertEquals(response.getBatchSize(), 12); + assertEquals(12, response.getBatchSize()); } @Test @@ -96,13 +118,13 @@ public class BaseNetworkTest { setup(false); Observation observation = new Observation(Nd4j.rand(1, 2)); INDArray[] batchOutputResult = new INDArray[] { Nd4j.rand(1, 2) }; - when(handlerMock.batchOutput(observation.getData())).thenReturn(batchOutputResult); + when(handlerMock.stepOutput(observation)).thenReturn(batchOutputResult); // Act sut.output(observation); // Assert - verify(handlerMock, times(1)).batchOutput(observation.getData()); + verify(handlerMock, times(1)).stepOutput(observation); verify(sut, times(1)).packageResult(batchOutputResult); } @@ -126,15 +148,20 @@ public class BaseNetworkTest { public void when_callingOutput_expect_nonRecurrentOutputIsReturned() { // Arrange setup(false); - INDArray batch = Nd4j.rand(1, 2); + INDArray featuresData = Nd4j.rand(1, 2); + Features features = new Features(new INDArray[] { featuresData }); INDArray[] batchOutputResult = new INDArray[] { Nd4j.rand(1, 2) }; - when(handlerMock.batchOutput(batch)).thenReturn(batchOutputResult); + when(handlerMock.batchOutput(features)).thenReturn(batchOutputResult); // Act - sut.output(batch); + sut.output(features); // Assert - verify(handlerMock, times(1)).batchOutput(batch); + ArgumentCaptor captor = ArgumentCaptor.forClass(Features.class); + verify(handlerMock, times(1)).batchOutput(captor.capture()); + INDArray resultData = captor.getValue().get(0); + assertSame(featuresData, resultData); + verify(sut, times(1)).packageResult(batchOutputResult); } @@ -180,7 +207,6 @@ public class BaseNetworkTest { setup(false); Observation observation = new Observation(Nd4j.rand(1, 2)); INDArray[] batchOutputResult = new INDArray[] { Nd4j.rand(1, 2) }; - when(handlerMock.batchOutput(observation.getData())).thenReturn(batchOutputResult); // Act sut.output(observation); @@ -189,7 +215,7 @@ public class BaseNetworkTest { // Assert // Note: calling batchOutput twice means BaseNetwork.fit() has cleared the cache - verify(handlerMock, times(2)).batchOutput(observation.getData()); + verify(handlerMock, times(2)).stepOutput(observation); } @Test @@ -198,7 +224,6 @@ public class BaseNetworkTest { setup(false); Observation observation = new Observation(Nd4j.rand(1, 2)); INDArray[] batchOutputResult = new INDArray[] { Nd4j.rand(1, 2) }; - when(handlerMock.batchOutput(observation.getData())).thenReturn(batchOutputResult); // Act sut.output(observation); @@ -207,7 +232,7 @@ public class BaseNetworkTest { // Assert // Note: calling batchOutput twice means BaseNetwork.fit() has cleared the cache - verify(handlerMock, times(2)).batchOutput(observation.getData()); + verify(handlerMock, times(2)).stepOutput(observation); } @Test @@ -218,8 +243,6 @@ public class BaseNetworkTest { when(gradientsMock.getBatchSize()).thenReturn(12L); Observation observation = new Observation(Nd4j.rand(1, 2)); INDArray[] batchOutputResult = new INDArray[] { Nd4j.rand(1, 2) }; - when(handlerMock.batchOutput(observation.getData())).thenReturn(batchOutputResult); - // Act sut.output(observation); @@ -228,7 +251,7 @@ public class BaseNetworkTest { // Assert // Note: calling batchOutput twice means BaseNetwork.applyGradients() has cleared the cache - verify(handlerMock, times(2)).batchOutput(observation.getData()); + verify(handlerMock, times(2)).stepOutput(observation); } @Test @@ -237,8 +260,6 @@ public class BaseNetworkTest { setup(false); Observation observation = new Observation(Nd4j.rand(1, 2)); INDArray[] batchOutputResult = new INDArray[] { Nd4j.rand(1, 2) }; - when(handlerMock.batchOutput(observation.getData())).thenReturn(batchOutputResult); - // Act sut.output(observation); @@ -247,7 +268,7 @@ public class BaseNetworkTest { // Assert // Note: calling batchOutput twice means BaseNetwork.reset() has cleared the cache - verify(handlerMock, times(2)).batchOutput(observation.getData()); + verify(handlerMock, times(2)).stepOutput(observation); } @Test @@ -256,7 +277,6 @@ public class BaseNetworkTest { setup(false); Observation observation = new Observation(Nd4j.rand(1, 2)); INDArray[] batchOutputResult = new INDArray[] { Nd4j.rand(1, 2) }; - when(handlerMock.batchOutput(observation.getData())).thenReturn(batchOutputResult); // Act @@ -266,7 +286,7 @@ public class BaseNetworkTest { // Assert // Note: calling batchOutput twice means BaseNetwork.reset() has cleared the cache - verify(handlerMock, times(2)).batchOutput(observation.getData()); + verify(handlerMock, times(2)).stepOutput(observation); } } diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/ChannelToNetworkInputMapperTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/ChannelToNetworkInputMapperTest.java new file mode 100644 index 000000000..2b0e3707f --- /dev/null +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/ChannelToNetworkInputMapperTest.java @@ -0,0 +1,199 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.rl4j.network; + +import org.deeplearning4j.rl4j.agent.learning.update.Features; +import org.deeplearning4j.rl4j.observation.Observation; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.junit.MockitoJUnitRunner; +import org.nd4j.linalg.api.ndarray.INDArray; +import org.nd4j.linalg.factory.Nd4j; + +import static org.junit.Assert.*; + +@RunWith(MockitoJUnitRunner.class) +public class ChannelToNetworkInputMapperTest { + + @Test + public void when_mapIsEmpty_expect_exception() { + try { + new ChannelToNetworkInputMapper(new ChannelToNetworkInputMapper.NetworkInputToChannelBinding[0], new String[] { "TEST" }, new String [] { "TEST" }); + fail("IllegalArgumentException should have been thrown"); + } catch (IllegalArgumentException exception) { + String expectedMessage = "networkInputsToChannelNameMap is empty."; + String actualMessage = exception.getMessage(); + + assertTrue(actualMessage.contains(expectedMessage)); + } + } + + @Test + public void when_networkInputNamesIsEmpty_expect_exception() { + try { + ChannelToNetworkInputMapper.NetworkInputToChannelBinding[] map = new ChannelToNetworkInputMapper.NetworkInputToChannelBinding[] { + ChannelToNetworkInputMapper.NetworkInputToChannelBinding.map("TEST", "TEST") + }; + new ChannelToNetworkInputMapper(map, new String[0], new String [] { "TEST" }); + fail("IllegalArgumentException should have been thrown"); + } catch (IllegalArgumentException exception) { + String expectedMessage = "networkInputNames is empty."; + String actualMessage = exception.getMessage(); + + assertTrue(actualMessage.contains(expectedMessage)); + } + } + + @Test + public void when_channelNamesIsEmpty_expect_exception() { + try { + ChannelToNetworkInputMapper.NetworkInputToChannelBinding[] map = new ChannelToNetworkInputMapper.NetworkInputToChannelBinding[] { + ChannelToNetworkInputMapper.NetworkInputToChannelBinding.map("TEST", "TEST") + }; + new ChannelToNetworkInputMapper(map, new String [] { "TEST" }, new String[0]); + fail("IllegalArgumentException should have been thrown"); + } catch (IllegalArgumentException exception) { + String expectedMessage = "channelNames is empty."; + String actualMessage = exception.getMessage(); + + assertTrue(actualMessage.contains(expectedMessage)); + } + } + + @Test + public void when_notAllInputsAreMapped_expect_exception() { + try { + ChannelToNetworkInputMapper.NetworkInputToChannelBinding[] map = new ChannelToNetworkInputMapper.NetworkInputToChannelBinding[] { + ChannelToNetworkInputMapper.NetworkInputToChannelBinding.map("TEST", "TEST") + }; + new ChannelToNetworkInputMapper(map, new String [] { "TEST", "NOT-MAPPED" }, new String [] { "TEST" }); + fail("IllegalArgumentException should have been thrown"); + } catch (IllegalArgumentException exception) { + String expectedMessage = "All network inputs must be mapped exactly once. Input 'NOT-MAPPED' is mapped 0 times."; + String actualMessage = exception.getMessage(); + + assertTrue(actualMessage.contains(expectedMessage)); + } + } + + @Test + public void when_anInputIsMappedMultipleTimes_expect_exception() { + try { + ChannelToNetworkInputMapper.NetworkInputToChannelBinding[] map = new ChannelToNetworkInputMapper.NetworkInputToChannelBinding[] { + ChannelToNetworkInputMapper.NetworkInputToChannelBinding.map("TEST", "TEST"), + ChannelToNetworkInputMapper.NetworkInputToChannelBinding.map("TEST1", "TEST"), + ChannelToNetworkInputMapper.NetworkInputToChannelBinding.map("TEST1", "TEST") + }; + new ChannelToNetworkInputMapper(map, new String [] { "TEST", "TEST1" }, new String [] { "TEST" }); + fail("IllegalArgumentException should have been thrown"); + } catch (IllegalArgumentException exception) { + String expectedMessage = "All network inputs must be mapped exactly once. Input 'TEST1' is mapped 2 times."; + String actualMessage = exception.getMessage(); + + assertTrue(actualMessage.contains(expectedMessage)); + } + } + + @Test + public void when_aMapInputDoesNotExist_expect_exception() { + try { + ChannelToNetworkInputMapper.NetworkInputToChannelBinding[] map = new ChannelToNetworkInputMapper.NetworkInputToChannelBinding[] { + ChannelToNetworkInputMapper.NetworkInputToChannelBinding.map("TEST", "TEST"), + ChannelToNetworkInputMapper.NetworkInputToChannelBinding.map("TEST1", "TEST"), + }; + new ChannelToNetworkInputMapper(map, new String [] { "TEST" }, new String [] { "TEST" }); + fail("IllegalArgumentException should have been thrown"); + } catch (IllegalArgumentException exception) { + String expectedMessage = "'TEST1' not found in networkInputNames"; + String actualMessage = exception.getMessage(); + + assertTrue(actualMessage.contains(expectedMessage)); + } + } + + @Test + public void when_aMapFeatureDoesNotExist_expect_exception() { + try { + ChannelToNetworkInputMapper.NetworkInputToChannelBinding[] map = new ChannelToNetworkInputMapper.NetworkInputToChannelBinding[] { + ChannelToNetworkInputMapper.NetworkInputToChannelBinding.map("TEST", "TEST"), + ChannelToNetworkInputMapper.NetworkInputToChannelBinding.map("TEST1", "TEST1"), + }; + new ChannelToNetworkInputMapper(map, new String [] { "TEST", "TEST1" }, new String [] { "TEST" }); + fail("IllegalArgumentException should have been thrown"); + } catch (IllegalArgumentException exception) { + String expectedMessage = "'TEST1' not found in channelNames"; + String actualMessage = exception.getMessage(); + + assertTrue(actualMessage.contains(expectedMessage)); + } + } + + @Test + public void when_callingObservationGetNetworkInputs_expect_aCorrectlyOrderedINDArrayArray() { + // ARRANGE + ChannelToNetworkInputMapper.NetworkInputToChannelBinding[] map = new ChannelToNetworkInputMapper.NetworkInputToChannelBinding[] { + ChannelToNetworkInputMapper.NetworkInputToChannelBinding.map("IN-1", "FEATURE-1"), + ChannelToNetworkInputMapper.NetworkInputToChannelBinding.map("IN-2", "FEATURE-2"), + ChannelToNetworkInputMapper.NetworkInputToChannelBinding.map("IN-3", "FEATURE-3"), + }; + String[] networkInputs = new String[] { "IN-1", "IN-2", "IN-3" }; + String[] channelNames = new String[] { "FEATURE-1", "FEATURE-2", "FEATURE-UNUSED", "FEATURE-3" }; + ChannelToNetworkInputMapper sut = new ChannelToNetworkInputMapper(map, networkInputs, channelNames); + INDArray feature1 = Nd4j.rand(1, 2); + INDArray feature2 = Nd4j.rand(1, 2); + INDArray featureUnused = Nd4j.rand(1, 2); + INDArray feature3 = Nd4j.rand(1, 2); + Observation observation = new Observation(new INDArray[] { feature1, feature2, featureUnused, feature3 }); + + // ACT + INDArray[] results = sut.getNetworkInputs(observation); + + // ASSERT + assertSame(feature1, results[0]); + assertSame(feature2, results[1]); + assertSame(feature3, results[2]); + } + + @Test + public void when_callingFeaturesGetNetworkInputs_expect_aCorrectlyOrderedINDArrayArray() { + // ARRANGE + ChannelToNetworkInputMapper.NetworkInputToChannelBinding[] map = new ChannelToNetworkInputMapper.NetworkInputToChannelBinding[] { + ChannelToNetworkInputMapper.NetworkInputToChannelBinding.map("IN-1", "FEATURE-1"), + ChannelToNetworkInputMapper.NetworkInputToChannelBinding.map("IN-2", "FEATURE-2"), + ChannelToNetworkInputMapper.NetworkInputToChannelBinding.map("IN-3", "FEATURE-3"), + }; + String[] networkInputs = new String[] { "IN-1", "IN-2", "IN-3" }; + String[] channelNames = new String[] { "FEATURE-1", "FEATURE-2", "FEATURE-UNUSED", "FEATURE-3" }; + ChannelToNetworkInputMapper sut = new ChannelToNetworkInputMapper(map, networkInputs, channelNames); + INDArray feature1 = Nd4j.rand(1, 2); + INDArray feature2 = Nd4j.rand(1, 2); + INDArray featureUnused = Nd4j.rand(1, 2); + INDArray feature3 = Nd4j.rand(1, 2); + Features features = new Features(new INDArray[] { feature1, feature2, featureUnused, feature3 }); + + // ACT + INDArray[] results = sut.getNetworkInputs(features); + + // ASSERT + assertSame(feature1, results[0]); + assertSame(feature2, results[1]); + assertSame(feature3, results[2]); + } + +} diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/CompoundNetworkHandlerTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/CompoundNetworkHandlerTest.java index 3bcbe444c..20c488ee2 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/CompoundNetworkHandlerTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/CompoundNetworkHandlerTest.java @@ -1,5 +1,24 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.network; +import org.deeplearning4j.rl4j.agent.learning.update.Features; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; import org.deeplearning4j.rl4j.observation.Observation; @@ -135,19 +154,20 @@ public class CompoundNetworkHandlerTest { } @Test - public void when_callingBatchOutput_expect_outputCalledWithBatch() { + public void when_callingFeaturesBatchOutput_expect_outputCalledWithBatch() { // Arrange setup(false); INDArray batch = Nd4j.rand(1, 2); - when(handler1.batchOutput(batch)).thenReturn(new INDArray[] { batch.mul(2.0) }); - when(handler2.batchOutput(batch)).thenReturn(new INDArray[] { batch.div(2.0) }); + Features features = new Features(new INDArray[] { batch }); + when(handler1.batchOutput(features)).thenReturn(new INDArray[] { batch.mul(2.0) }); + when(handler2.batchOutput(features)).thenReturn(new INDArray[] { batch.div(2.0) }); // Act - INDArray[] results = sut.batchOutput(batch); + INDArray[] results = sut.batchOutput(features); // Assert - verify(handler1, times(1)).batchOutput(batch); - verify(handler2, times(1)).batchOutput(batch); + verify(handler1, times(1)).batchOutput(features); + verify(handler2, times(1)).batchOutput(features); assertEquals(2, results.length); assertArrayEquals(results[0].toDoubleVector(), batch.mul(2.0).toDoubleVector(), 0.00001); assertArrayEquals(results[1].toDoubleVector(), batch.div(2.0).toDoubleVector(), 0.00001); diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/ComputationGraphHandlerTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/ComputationGraphHandlerTest.java index 335f7acb0..f3463cdc2 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/ComputationGraphHandlerTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/ComputationGraphHandlerTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.network; import org.deeplearning4j.nn.conf.ComputationGraphConfiguration; @@ -6,6 +24,7 @@ import org.deeplearning4j.nn.graph.ComputationGraph; import org.deeplearning4j.nn.layers.recurrent.RnnOutputLayer; import org.deeplearning4j.nn.updater.graph.ComputationGraphUpdater; import org.deeplearning4j.optimize.api.TrainingListener; +import org.deeplearning4j.rl4j.agent.learning.update.Features; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; import org.deeplearning4j.rl4j.observation.Observation; @@ -48,7 +67,7 @@ public class ComputationGraphHandlerTest { when(modelMock.getOutputLayer(0)).thenReturn(new RnnOutputLayer(null, null)); } - sut = new ComputationGraphHandler(modelMock, LABEL_NAMES, GRADIENT_NAME); + sut = new ComputationGraphHandler(modelMock, LABEL_NAMES, GRADIENT_NAME, 1); } @Test @@ -87,7 +106,8 @@ public class ComputationGraphHandlerTest { public void when_callingPerformFit_expect_fitCalledOnModelWithCorrectLabels() { // Arrange setup(false); - INDArray features = Nd4j.rand(1, 2); + INDArray featuresData = Nd4j.rand(1, 2); + Features features = new Features(new INDArray[] { Nd4j.rand(1, 2), featuresData }); INDArray labels = Nd4j.rand(1, 2); FeaturesLabels featuresLabels = new FeaturesLabels(features); featuresLabels.putLabels("TEST_LABEL", labels); @@ -100,7 +120,7 @@ public class ComputationGraphHandlerTest { ArgumentCaptor labelsCaptor = ArgumentCaptor.forClass(INDArray[].class); verify(modelMock, times(1)).fit(featuresCaptor.capture(), labelsCaptor.capture()); INDArray featuresArg = featuresCaptor.getValue()[0]; - assertSame(featuresArg, features); + assertSame(featuresArg, featuresData); INDArray labelsArg = labelsCaptor.getValue()[0]; assertSame(labelsArg, labels); } @@ -109,8 +129,9 @@ public class ComputationGraphHandlerTest { public void when_callingperformGradientsComputation_expect_modelCalledWithCorrectFeaturesLabels() { // Arrange setup(false); - INDArray features = Nd4j.rand(1, 2); + INDArray featuresData = Nd4j.rand(1, 2); INDArray labels = Nd4j.rand(1, 2); + Features features = new Features(new INDArray[] { Nd4j.rand(1, 2), featuresData }); FeaturesLabels featuresLabels = new FeaturesLabels(features); featuresLabels.putLabels("TEST_LABEL", labels); @@ -118,11 +139,13 @@ public class ComputationGraphHandlerTest { sut.performGradientsComputation(featuresLabels); // Assert - verify(modelMock, times(1)).setInput(0, features); + ArgumentCaptor inputsCaptor = ArgumentCaptor.forClass(INDArray.class); + verify(modelMock, times(1)).setInputs(inputsCaptor.capture()); + INDArray inputsArg = inputsCaptor.getValue(); + assertSame(featuresData, inputsArg); ArgumentCaptor labelsCaptor = ArgumentCaptor.forClass(INDArray.class); verify(modelMock, times(1)).setLabels(labelsCaptor.capture()); - Object debug = labelsCaptor.getAllValues(); INDArray labelsArg = labelsCaptor.getValue(); assertSame(labels, labelsArg); @@ -175,7 +198,7 @@ public class ComputationGraphHandlerTest { setup(false); Observation observationMock = mock(Observation.class); INDArray observationData = Nd4j.rand(1, 2); - when(observationMock.getData()).thenReturn(observationData); + when(observationMock.getChannelData(1)).thenReturn(observationData); // Act sut.recurrentStepOutput(observationMock); @@ -185,16 +208,17 @@ public class ComputationGraphHandlerTest { } @Test - public void when_callingBatchOutput_expect_outputCalledWithBatch() { + public void when_callingFeaturesBatchOutput_expect_outputCalledWithBatch() { // Arrange setup(false); - INDArray batch = Nd4j.rand(1, 2); + INDArray channelData = Nd4j.rand(1, 2); + Features features = new Features(new INDArray[] { Nd4j.rand(1, 2), channelData }); // Act - sut.batchOutput(batch); + sut.batchOutput(features); // Assert - verify(modelMock, times(1)).output(batch); + verify(modelMock, times(1)).output(new INDArray[] { channelData }); } @Test @@ -240,7 +264,7 @@ public class ComputationGraphHandlerTest { setup(false); INDArray params = Nd4j.rand(1, 2); when(modelMock.params()).thenReturn(params); - ComputationGraphHandler from = new ComputationGraphHandler(modelMock, null, null); + ComputationGraphHandler from = new ComputationGraphHandler(modelMock, null, null, 0); // Act sut.copyFrom(from); @@ -272,4 +296,25 @@ public class ComputationGraphHandlerTest { // Assert assertTrue(isRecurrent); } + + @Test + public void when_creatingWithMapper_expect_computationsUseTheMapper() { + // Arrange + ChannelToNetworkInputMapper channelToNetworkInputMapperMock = mock(ChannelToNetworkInputMapper.class); + modelMock = mock(ComputationGraph.class); + trainingListenerMock = mock(TrainingListener.class); + INDArray featuresData = Nd4j.rand(1, 2); + Features features = new Features(new INDArray[] { Nd4j.rand(1, 2), featuresData }); + INDArray labels = Nd4j.rand(1, 2); + FeaturesLabels featuresLabels = new FeaturesLabels(features); + featuresLabels.putLabels("TEST_LABEL", labels); + sut = new ComputationGraphHandler(modelMock, LABEL_NAMES, GRADIENT_NAME, channelToNetworkInputMapperMock); + + // Act + sut.performGradientsComputation(featuresLabels); + + // Assert + verify(channelToNetworkInputMapperMock, times(1)).getNetworkInputs(features); + } + } \ No newline at end of file diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/MultiLayerNetworkHandlerTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/MultiLayerNetworkHandlerTest.java index b77a5c94a..e9330e910 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/MultiLayerNetworkHandlerTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/MultiLayerNetworkHandlerTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.network; import org.deeplearning4j.nn.api.Updater; @@ -6,6 +24,7 @@ import org.deeplearning4j.nn.gradient.Gradient; import org.deeplearning4j.nn.layers.recurrent.RnnOutputLayer; import org.deeplearning4j.nn.multilayer.MultiLayerNetwork; import org.deeplearning4j.optimize.api.TrainingListener; +import org.deeplearning4j.rl4j.agent.learning.update.Features; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; import org.deeplearning4j.rl4j.observation.Observation; @@ -48,7 +67,7 @@ public class MultiLayerNetworkHandlerTest { when(modelMock.getOutputLayer()).thenReturn(new RnnOutputLayer(null, null)); } - sut = new MultiLayerNetworkHandler(modelMock, LABEL_NAME, GRADIENT_NAME); + sut = new MultiLayerNetworkHandler(modelMock, LABEL_NAME, GRADIENT_NAME, 1); } @Test @@ -87,8 +106,9 @@ public class MultiLayerNetworkHandlerTest { public void when_callingPerformFit_expect_fitCalledOnModelWithCorrectLabels() { // Arrange setup(false); - INDArray features = Nd4j.rand(1, 2); + INDArray featuresData = Nd4j.rand(1, 2); INDArray labels = Nd4j.rand(1, 2); + Features features = new Features(new INDArray[] { Nd4j.rand(1, 2), featuresData }); FeaturesLabels featuresLabels = new FeaturesLabels(features); featuresLabels.putLabels("TEST_LABEL", labels); @@ -100,7 +120,7 @@ public class MultiLayerNetworkHandlerTest { ArgumentCaptor labelsCaptor = ArgumentCaptor.forClass(INDArray.class); verify(modelMock, times(1)).fit(featuresCaptor.capture(), labelsCaptor.capture()); INDArray featuresArg = featuresCaptor.getValue(); - assertSame(featuresArg, features); + assertSame(featuresArg, featuresData); INDArray labelsArg = labelsCaptor.getValue(); assertSame(labelsArg, labels); } @@ -109,8 +129,9 @@ public class MultiLayerNetworkHandlerTest { public void when_callingperformGradientsComputation_expect_modelCalledWithCorrectFeaturesLabels() { // Arrange setup(false); - INDArray features = Nd4j.rand(1, 2); + INDArray featuresData = Nd4j.rand(1, 2); INDArray labels = Nd4j.rand(1, 2); + Features features = new Features(new INDArray[] { Nd4j.rand(1, 2), featuresData }); FeaturesLabels featuresLabels = new FeaturesLabels(features); featuresLabels.putLabels("TEST_LABEL", labels); @@ -118,7 +139,7 @@ public class MultiLayerNetworkHandlerTest { sut.performGradientsComputation(featuresLabels); // Assert - verify(modelMock, times(1)).setInput(features); + verify(modelMock, times(1)).setInput(featuresData); ArgumentCaptor labelsCaptor = ArgumentCaptor.forClass(INDArray.class); verify(modelMock, times(1)).setLabels(labelsCaptor.capture()); @@ -170,12 +191,12 @@ public class MultiLayerNetworkHandlerTest { } @Test - public void when_callingRecurrentStepOutput_expect_recurrentStepCalledWithObservationData() { + public void when_callingRecurrentStepOutput_expect_recurrentStepCalledWithObservation() { // Arrange setup(false); Observation observationMock = mock(Observation.class); INDArray observationData = Nd4j.rand(1, 2); - when(observationMock.getData()).thenReturn(observationData); + when(observationMock.getChannelData(1)).thenReturn(observationData); // Act sut.recurrentStepOutput(observationMock); @@ -185,16 +206,17 @@ public class MultiLayerNetworkHandlerTest { } @Test - public void when_callingBatchOutput_expect_outputCalledWithBatch() { + public void when_callingFeaturesBatchOutput_expect_outputCalledWithBatch() { // Arrange setup(false); - INDArray batch = Nd4j.rand(1, 2); + INDArray channelData = Nd4j.rand(1, 2); + Features features = new Features(new INDArray[] { Nd4j.rand(1, 2), channelData }); // Act - sut.batchOutput(batch); + sut.batchOutput(features); // Assert - verify(modelMock, times(1)).output(batch); + verify(modelMock, times(1)).output(channelData); } @Test @@ -240,7 +262,7 @@ public class MultiLayerNetworkHandlerTest { setup(false); INDArray params = Nd4j.rand(1, 2); when(modelMock.params()).thenReturn(params); - MultiLayerNetworkHandler from = new MultiLayerNetworkHandler(modelMock, null, null); + MultiLayerNetworkHandler from = new MultiLayerNetworkHandler(modelMock, null, null, 0); // Act sut.copyFrom(from); diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/NetworkHelperTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/NetworkHelperTest.java new file mode 100644 index 000000000..baf7cd2ed --- /dev/null +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/NetworkHelperTest.java @@ -0,0 +1,297 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + +package org.deeplearning4j.rl4j.network; + +import org.deeplearning4j.nn.conf.ComputationGraphConfiguration; +import org.deeplearning4j.nn.graph.ComputationGraph; +import org.deeplearning4j.nn.multilayer.MultiLayerNetwork; +import org.deeplearning4j.rl4j.observation.Observation; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.junit.MockitoJUnitRunner; +import org.nd4j.linalg.api.ndarray.INDArray; +import org.nd4j.linalg.factory.Nd4j; + +import java.util.Arrays; +import java.util.List; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class NetworkHelperTest { + + @Test + public void when_callingBuildHandlerWithMapper_expect_correctlyBuiltNetworkHandler() { + // Arrange + final List networkInputs = Arrays.asList("INPUT1", "INPUT2", "INPUT3"); + ComputationGraphConfiguration configurationMock = mock(ComputationGraphConfiguration.class); + when(configurationMock.getNetworkInputs()).thenReturn(networkInputs); + + ComputationGraph modelMock = mock(ComputationGraph.class); + when(modelMock.getConfiguration()).thenReturn(configurationMock); + + ChannelToNetworkInputMapper.NetworkInputToChannelBinding[] networkInputsToChannelNameMap = new ChannelToNetworkInputMapper.NetworkInputToChannelBinding[] { + ChannelToNetworkInputMapper.NetworkInputToChannelBinding.map("INPUT1", "CN2"), + ChannelToNetworkInputMapper.NetworkInputToChannelBinding.map("INPUT2", "CN3"), + ChannelToNetworkInputMapper.NetworkInputToChannelBinding.map("INPUT3", "CN1"), + }; + String[] channelNames = new String[] { "CN1", "CN2", "CN3" }; + String[] labelNames = new String[] { "LN1", "LN2", "LN3" }; + NetworkHelper sut = new NetworkHelper(); + + // Act + INetworkHandler handler = sut.buildHandler(modelMock, networkInputsToChannelNameMap, channelNames, labelNames, "GRADIENT"); + + // Assert + INDArray channel1 = Nd4j.rand(1, 2); + INDArray channel2 = Nd4j.rand(1, 2); + INDArray channel3 = Nd4j.rand(1, 2); + Observation observation = new Observation(new INDArray[] { channel1, channel2, channel3}); + handler.stepOutput(observation); + + verify(modelMock, times(1)).output(channel2, channel3, channel1); + } + + @Test + public void when_callingBuildHandlerWithComputationGraphAndEmptyChannelName_expect_networkHandlerWithFirstInputBoundToFirstChannel() { + // Arrange + ComputationGraph modelMock = mock(ComputationGraph.class); + + String[] channelNames = new String[] { "CN1", "CN2", "CN3" }; + String[] labelNames = new String[] { "LN1", "LN2", "LN3" }; + NetworkHelper sut = new NetworkHelper(); + + // Act + INetworkHandler handler = sut.buildHandler(modelMock, "", channelNames, labelNames, "GRADIENT"); + + // Assert + INDArray channel1 = Nd4j.rand(1, 2); + INDArray channel2 = Nd4j.rand(1, 2); + INDArray channel3 = Nd4j.rand(1, 2); + Observation observation = new Observation(new INDArray[] { channel1, channel2, channel3}); + handler.stepOutput(observation); + + verify(modelMock, times(1)).output(channel1); + } + + @Test + public void when_callingBuildHandlerWithMLNAndEmptyChannelName_expect_networkHandlerWithFirstInputBoundToFirstChannel() { + // Arrange + MultiLayerNetwork modelMock = mock(MultiLayerNetwork.class); + + String[] channelNames = new String[] { "CN1", "CN2", "CN3" }; + NetworkHelper sut = new NetworkHelper(); + + // Act + INetworkHandler handler = sut.buildHandler(modelMock, "", channelNames, "LABEL", "GRADIENT"); + + // Assert + INDArray channel1 = Nd4j.rand(1, 2); + INDArray channel2 = Nd4j.rand(1, 2); + INDArray channel3 = Nd4j.rand(1, 2); + Observation observation = new Observation(new INDArray[] { channel1, channel2, channel3}); + handler.stepOutput(observation); + + verify(modelMock, times(1)).output(channel1); + } + + @Test + public void when_callingBuildHandlerWithComputationGraphAndNullChannelNames_expect_networkHandlerWithFirstInputBoundToFirstChannel() { + // Arrange + ComputationGraph modelMock = mock(ComputationGraph.class); + + String[] labelNames = new String[] { "LN1", "LN2", "LN3" }; + NetworkHelper sut = new NetworkHelper(); + + // Act + INetworkHandler handler = sut.buildHandler(modelMock, "CN2", null, labelNames, "GRADIENT"); + + // Assert + INDArray channel1 = Nd4j.rand(1, 2); + INDArray channel2 = Nd4j.rand(1, 2); + INDArray channel3 = Nd4j.rand(1, 2); + Observation observation = new Observation(new INDArray[] { channel1, channel2, channel3}); + handler.stepOutput(observation); + + verify(modelMock, times(1)).output(channel1); + } + + @Test + public void when_callingBuildHandlerWithMLNAndNullChannelNames_expect_networkHandlerWithFirstInputBoundToFirstChannel() { + // Arrange + MultiLayerNetwork modelMock = mock(MultiLayerNetwork.class); + + NetworkHelper sut = new NetworkHelper(); + + // Act + INetworkHandler handler = sut.buildHandler(modelMock, "CN2", null, "LABEL", "GRADIENT"); + + // Assert + INDArray channel1 = Nd4j.rand(1, 2); + INDArray channel2 = Nd4j.rand(1, 2); + INDArray channel3 = Nd4j.rand(1, 2); + Observation observation = new Observation(new INDArray[] { channel1, channel2, channel3}); + handler.stepOutput(observation); + + verify(modelMock, times(1)).output(channel1); + } + + @Test + public void when_callingBuildHandlerWithComputationGraphAndEmptyChannelNames_expect_networkHandlerWithFirstInputBoundToFirstChannel() { + // Arrange + ComputationGraph modelMock = mock(ComputationGraph.class); + + String[] labelNames = new String[] { "LN1", "LN2", "LN3" }; + NetworkHelper sut = new NetworkHelper(); + + // Act + INetworkHandler handler = sut.buildHandler(modelMock, "CN2", new String[0], labelNames, "GRADIENT"); + + // Assert + INDArray channel1 = Nd4j.rand(1, 2); + INDArray channel2 = Nd4j.rand(1, 2); + INDArray channel3 = Nd4j.rand(1, 2); + Observation observation = new Observation(new INDArray[] { channel1, channel2, channel3}); + handler.stepOutput(observation); + + verify(modelMock, times(1)).output(channel1); + } + + @Test + public void when_callingBuildHandlerWithMLNAndEmptyChannelNames_expect_networkHandlerWithFirstInputBoundToFirstChannel() { + // Arrange + MultiLayerNetwork modelMock = mock(MultiLayerNetwork.class); + + NetworkHelper sut = new NetworkHelper(); + + // Act + INetworkHandler handler = sut.buildHandler(modelMock, "CN2", new String[0], "LABEL", "GRADIENT"); + + // Assert + INDArray channel1 = Nd4j.rand(1, 2); + INDArray channel2 = Nd4j.rand(1, 2); + INDArray channel3 = Nd4j.rand(1, 2); + Observation observation = new Observation(new INDArray[] { channel1, channel2, channel3}); + handler.stepOutput(observation); + + verify(modelMock, times(1)).output(channel1); + } + + @Test + public void when_callingBuildHandlerWithComputationGraphAndSpecificChannelName_expect_networkHandlerWithFirstInputBoundToThatChannel() { + // Arrange + ComputationGraph modelMock = mock(ComputationGraph.class); + + String[] channelNames = new String[] { "CN1", "CN2", "CN3" }; + String[] labelNames = new String[] { "LN1", "LN2", "LN3" }; + NetworkHelper sut = new NetworkHelper(); + + // Act + INetworkHandler handler = sut.buildHandler(modelMock, "CN2", channelNames, labelNames, "GRADIENT"); + + // Assert + INDArray channel1 = Nd4j.rand(1, 2); + INDArray channel2 = Nd4j.rand(1, 2); + INDArray channel3 = Nd4j.rand(1, 2); + Observation observation = new Observation(new INDArray[] { channel1, channel2, channel3}); + handler.stepOutput(observation); + + verify(modelMock, times(1)).output(channel2); + } + + @Test + public void when_callingBuildHandlerWithMLNAndSpecificChannelName_expect_networkHandlerWithFirstInputBoundToThatChannel() { + // Arrange + MultiLayerNetwork modelMock = mock(MultiLayerNetwork.class); + + String[] channelNames = new String[] { "CN1", "CN2", "CN3" }; + NetworkHelper sut = new NetworkHelper(); + + // Act + INetworkHandler handler = sut.buildHandler(modelMock, "CN2", channelNames, "LABEL", "GRADIENT"); + + // Assert + INDArray channel1 = Nd4j.rand(1, 2); + INDArray channel2 = Nd4j.rand(1, 2); + INDArray channel3 = Nd4j.rand(1, 2); + Observation observation = new Observation(new INDArray[] { channel1, channel2, channel3}); + handler.stepOutput(observation); + + verify(modelMock, times(1)).output(channel2); + } + + @Test + public void when_callingBuildHandlerWithComputationGraphAndUnknownChannelName_expect_networkHandlerWithFirstInputBoundToThatChannel() { + try { + // Arrange + ComputationGraph modelMock = mock(ComputationGraph.class); + + String[] channelNames = new String[]{"CN1", "CN2", "CN3"}; + String[] labelNames = new String[]{"LN1", "LN2", "LN3"}; + NetworkHelper sut = new NetworkHelper(); + + // Act + INetworkHandler handler = sut.buildHandler(modelMock, "UNKNOWN", channelNames, labelNames, "GRADIENT"); + + // Assert + INDArray channel1 = Nd4j.rand(1, 2); + INDArray channel2 = Nd4j.rand(1, 2); + INDArray channel3 = Nd4j.rand(1, 2); + Observation observation = new Observation(new INDArray[]{channel1, channel2, channel3}); + handler.stepOutput(observation); + fail("IllegalArgumentException should have been thrown"); + } catch (IllegalArgumentException exception) { + String expectedMessage = "The channel 'UNKNOWN' was not found in channelNames."; + String actualMessage = exception.getMessage(); + + assertTrue(actualMessage.contains(expectedMessage)); + } + } + + + @Test + public void when_callingBuildHandlerWithMLNAndUnknownChannelName_expect_networkHandlerWithFirstInputBoundToThatChannel() { + try { + // Arrange + MultiLayerNetwork modelMock = mock(MultiLayerNetwork.class); + + String[] channelNames = new String[] { "CN1", "CN2", "CN3" }; + NetworkHelper sut = new NetworkHelper(); + + // Act + INetworkHandler handler = sut.buildHandler(modelMock, "UNKNOWN", channelNames, "LABEL", "GRADIENT"); + + // Assert + INDArray channel1 = Nd4j.rand(1, 2); + INDArray channel2 = Nd4j.rand(1, 2); + INDArray channel3 = Nd4j.rand(1, 2); + Observation observation = new Observation(new INDArray[] { channel1, channel2, channel3}); + handler.stepOutput(observation); + fail("IllegalArgumentException should have been thrown"); + } catch (IllegalArgumentException exception) { + String expectedMessage = "The channel 'UNKNOWN' was not found in channelNames."; + String actualMessage = exception.getMessage(); + + assertTrue(actualMessage.contains(expectedMessage)); + } + } + +} diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/QNetworkTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/QNetworkTest.java index 0483efb1a..d03e033b4 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/QNetworkTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/QNetworkTest.java @@ -1,8 +1,27 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.network; import org.deeplearning4j.nn.gradient.Gradient; import org.deeplearning4j.nn.graph.ComputationGraph; import org.deeplearning4j.nn.multilayer.MultiLayerNetwork; +import org.deeplearning4j.rl4j.agent.learning.update.Features; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; import org.junit.Test; @@ -18,16 +37,24 @@ import static org.mockito.Mockito.*; @RunWith(MockitoJUnitRunner.class) public class QNetworkTest { + private FeaturesLabels createFeaturesLabelsMock() { + FeaturesLabels featuresLabelsMock = mock(FeaturesLabels.class); + Features features = new Features(new INDArray[] { Nd4j.rand(1, 2) }); + when(featuresLabelsMock.getFeatures()).thenReturn(features); + + return featuresLabelsMock; + } + @Test public void when_callingCtorWithMLN_expect_handlerUsesCorrectLabelAndGradientNames() { // Arrange MultiLayerNetwork modelMock = mock(MultiLayerNetwork.class); - FeaturesLabels featuresLabelsMock = mock(FeaturesLabels.class); + FeaturesLabels featuresLabelsMock = createFeaturesLabelsMock(); Gradient gradientMock = mock(Gradient.class); when(modelMock.gradient()).thenReturn(gradientMock); // Act - QNetwork sut = new QNetwork(modelMock); + QNetwork sut = buildQNetwork(modelMock); Gradients results = sut.computeGradients(featuresLabelsMock); // Assert @@ -39,12 +66,12 @@ public class QNetworkTest { public void when_callingCtorWithCG_expect_handlerUsesCorrectLabelAndGradientNames() { // Arrange ComputationGraph modelMock = mock(ComputationGraph.class); - FeaturesLabels featuresLabelsMock = mock(FeaturesLabels.class); + FeaturesLabels featuresLabelsMock = createFeaturesLabelsMock(); Gradient gradientMock = mock(Gradient.class); when(modelMock.gradient()).thenReturn(gradientMock); // Act - QNetwork sut = new QNetwork(modelMock); + QNetwork sut = buildQNetwork(modelMock); Gradients results = sut.computeGradients(featuresLabelsMock); // Assert @@ -56,13 +83,14 @@ public class QNetworkTest { public void when_callingOutput_expect_resultHasCorrectNames() { // Arrange ComputationGraph modelMock = mock(ComputationGraph.class); - INDArray batch = Nd4j.rand(1, 2); + INDArray featuresData = Nd4j.rand(1, 2); + Features features = new Features(new INDArray[] { featuresData }); INDArray output = Nd4j.rand(1, 2); - when(modelMock.output(batch)).thenReturn(new INDArray[] { output }); + when(modelMock.output(featuresData)).thenReturn(new INDArray[] { output }); // Act - QNetwork sut = new QNetwork(modelMock); - NeuralNetOutput result = sut.output(batch); + QNetwork sut = buildQNetwork(modelMock); + NeuralNetOutput result = sut.output(features); // Assert assertSame(output, result.get(CommonOutputNames.QValues)); @@ -75,7 +103,7 @@ public class QNetworkTest { when(modelMock.clone()).thenReturn(modelMock); // Act - QNetwork sut = new QNetwork(modelMock); + QNetwork sut = buildQNetwork(modelMock); QNetwork clone = sut.clone(); // Assert @@ -83,4 +111,16 @@ public class QNetworkTest { assertNotSame(sut.getNetworkHandler(), clone.getNetworkHandler()); } + private QNetwork buildQNetwork(ComputationGraph model) { + return QNetwork.builder() + .withNetwork(model) + .build(); + } + + private QNetwork buildQNetwork(MultiLayerNetwork model) { + return QNetwork.builder() + .withNetwork(model) + .build(); + } + } diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/ac/ActorCriticTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/ac/ActorCriticTest.java index 821863054..9566c8ec9 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/ac/ActorCriticTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/ac/ActorCriticTest.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network.ac; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/dqn/DQNTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/dqn/DQNTest.java index a9997ec0c..61539da91 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/dqn/DQNTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/network/dqn/DQNTest.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.network.dqn; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/TransformProcessTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/TransformProcessTest.java index ce511c961..fe316233d 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/TransformProcessTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/TransformProcessTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.observation.transform; import org.deeplearning4j.rl4j.observation.Observation; @@ -320,6 +338,25 @@ public class TransformProcessTest { sut.transform(channelsData, 0, false); } + @Test + public void when_transformProcessHaveMultipleChannels_expect_channelsAreCreatedInTheDefinedOrder() { + // Arrange + TransformProcess sut = TransformProcess.builder() + .build("channel0", "channel1"); + Map channelsData = new HashMap() {{ + put("channel0", Nd4j.create(new double[] { 123.0 })); + put("channel1", Nd4j.create(new double[] { 234.0 })); + }}; + + // Act + Observation result = sut.transform(channelsData, 0, false); + + // Assert + assertEquals(2, result.numChannels()); + assertEquals(123.0, result.getChannelData(0).getDouble(0), 0.000001); + assertEquals(234.0, result.getChannelData(1).getDouble(0), 0.000001); + } + private static class FilterOperationMock implements FilterOperation { private final boolean skipped; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/filter/UniformSkippingFilterTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/filter/UniformSkippingFilterTest.java index fade9fb9f..f33a724a1 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/filter/UniformSkippingFilterTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/filter/UniformSkippingFilterTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.observation.transform.filter; import org.deeplearning4j.rl4j.observation.transform.FilterOperation; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/operation/ArrayToINDArrayTransformTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/operation/ArrayToINDArrayTransformTest.java index 8595811e8..03f694a8d 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/operation/ArrayToINDArrayTransformTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/operation/ArrayToINDArrayTransformTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.observation.transform.operation; import org.junit.Test; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/operation/HistoryMergeTransformTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/operation/HistoryMergeTransformTest.java index 731eef8d9..5e1b758e0 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/operation/HistoryMergeTransformTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/operation/HistoryMergeTransformTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.observation.transform.operation; import org.deeplearning4j.rl4j.observation.transform.operation.historymerge.HistoryMergeAssembler; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/operation/SimpleNormalizationTransformTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/operation/SimpleNormalizationTransformTest.java index 576f3aebf..1e64ed894 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/operation/SimpleNormalizationTransformTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/operation/SimpleNormalizationTransformTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.observation.transform.operation; import org.deeplearning4j.rl4j.helper.INDArrayHelper; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/operation/historymerge/CircularFifoStoreTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/operation/historymerge/CircularFifoStoreTest.java index fb095dbce..d8d015a83 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/operation/historymerge/CircularFifoStoreTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/operation/historymerge/CircularFifoStoreTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.observation.transform.operation.historymerge; import org.junit.Test; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/operation/historymerge/HistoryStackAssemblerTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/operation/historymerge/HistoryStackAssemblerTest.java index c0820b651..6935dba4a 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/operation/historymerge/HistoryStackAssemblerTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/observation/transform/operation/historymerge/HistoryStackAssemblerTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.observation.transform.operation.historymerge; import org.junit.Test; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/policy/PolicyTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/policy/PolicyTest.java index 91723f7dc..5a8db541c 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/policy/PolicyTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/policy/PolicyTest.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.policy; @@ -23,6 +24,7 @@ import org.deeplearning4j.nn.conf.layers.OutputLayer; import org.deeplearning4j.nn.gradient.Gradient; import org.deeplearning4j.nn.graph.ComputationGraph; import org.deeplearning4j.nn.multilayer.MultiLayerNetwork; +import org.deeplearning4j.rl4j.agent.learning.update.Features; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; import org.deeplearning4j.rl4j.learning.IHistoryProcessor; @@ -153,6 +155,11 @@ public class PolicyTest { public NeuralNetOutput output(INDArray batch) { throw new UnsupportedOperationException(); } + + @Override + public NeuralNetOutput output(Features features) { + throw new UnsupportedOperationException(); + } } @Test diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockDQN.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockDQN.java index 7a75ff3a2..e1218f40a 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockDQN.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockDQN.java @@ -1,7 +1,26 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.support; import org.deeplearning4j.nn.api.NeuralNetwork; import org.deeplearning4j.nn.gradient.Gradient; +import org.deeplearning4j.rl4j.agent.learning.update.Features; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; import org.deeplearning4j.rl4j.network.CommonOutputNames; @@ -59,6 +78,11 @@ public class MockDQN implements IDQN { return result; } + @Override + public NeuralNetOutput output(Features features) { + throw new UnsupportedOperationException(); + } + @Override public NeuralNetOutput output(Observation observation) { return this.output(observation.getData()); diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockDataManager.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockDataManager.java index 7ee9575f3..9b9fcc31d 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockDataManager.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockDataManager.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.support; import org.deeplearning4j.rl4j.learning.ILearning; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockHistoryProcessor.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockHistoryProcessor.java index bd49fe1c0..37b1e85c0 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockHistoryProcessor.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockHistoryProcessor.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.support; import org.apache.commons.collections4.queue.CircularFifoQueue; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockMDP.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockMDP.java index d12b4ebf0..c1be8b502 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockMDP.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockMDP.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.support; import org.deeplearning4j.gym.StepReply; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockNeuralNet.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockNeuralNet.java index 6e9ce0f1a..333ce4a68 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockNeuralNet.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockNeuralNet.java @@ -1,7 +1,26 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.support; import org.deeplearning4j.nn.api.NeuralNetwork; import org.deeplearning4j.nn.gradient.Gradient; +import org.deeplearning4j.rl4j.agent.learning.update.Features; import org.deeplearning4j.rl4j.agent.learning.update.FeaturesLabels; import org.deeplearning4j.rl4j.agent.learning.update.Gradients; import org.deeplearning4j.rl4j.network.ITrainableNeuralNet; @@ -107,4 +126,9 @@ public class MockNeuralNet implements NeuralNet { public NeuralNetOutput output(INDArray batch) { throw new UnsupportedOperationException(); } + + @Override + public NeuralNetOutput output(Features features) { + throw new UnsupportedOperationException(); + } } \ No newline at end of file diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockObservation.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockObservation.java index 70a3e76c6..485db68b2 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockObservation.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockObservation.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K. K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.support; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockObservationSpace.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockObservationSpace.java index ffba71b5a..024bd84dc 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockObservationSpace.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockObservationSpace.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.support; import org.deeplearning4j.rl4j.space.ObservationSpace; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockPolicy.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockPolicy.java index 8786f7d7d..f1c7ec08c 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockPolicy.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockPolicy.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.support; import org.deeplearning4j.rl4j.learning.IHistoryProcessor; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockRandom.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockRandom.java index 53de05bd9..b9bea89d7 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockRandom.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/support/MockRandom.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.support; import org.bytedeco.javacpp.Pointer; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/trainer/AsyncTrainerTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/trainer/AsyncTrainerTest.java index 676253ae5..a56054225 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/trainer/AsyncTrainerTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/trainer/AsyncTrainerTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.trainer; import org.apache.commons.lang3.builder.Builder; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/trainer/SyncTrainerTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/trainer/SyncTrainerTest.java index fdc193acc..3813e7621 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/trainer/SyncTrainerTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/trainer/SyncTrainerTest.java @@ -1,3 +1,21 @@ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ + package org.deeplearning4j.rl4j.trainer; import org.apache.commons.lang3.builder.Builder; diff --git a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/util/DataManagerTrainingListenerTest.java b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/util/DataManagerTrainingListenerTest.java index 0818889e5..15cdbd5ff 100644 --- a/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/util/DataManagerTrainingListenerTest.java +++ b/rl4j/rl4j-core/src/test/java/org/deeplearning4j/rl4j/util/DataManagerTrainingListenerTest.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.util; diff --git a/rl4j/rl4j-doom/pom.xml b/rl4j/rl4j-doom/pom.xml index 31062c7e3..530fcdbdd 100644 --- a/rl4j/rl4j-doom/pom.xml +++ b/rl4j/rl4j-doom/pom.xml @@ -1,37 +1,38 @@ - + + + + + + 4.0.0 - rl4j org.deeplearning4j 1.0.0-SNAPSHOT - 4.0.0 rl4j-doom - jar rl4j-doom - - UTF-8 - - org.deeplearning4j diff --git a/rl4j/rl4j-doom/src/main/java/org/deeplearning4j/rl4j/mdp/vizdoom/Basic.java b/rl4j/rl4j-doom/src/main/java/org/deeplearning4j/rl4j/mdp/vizdoom/Basic.java index 2ca0401d6..af3cd9bef 100644 --- a/rl4j/rl4j-doom/src/main/java/org/deeplearning4j/rl4j/mdp/vizdoom/Basic.java +++ b/rl4j/rl4j-doom/src/main/java/org/deeplearning4j/rl4j/mdp/vizdoom/Basic.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.mdp.vizdoom; diff --git a/rl4j/rl4j-doom/src/main/java/org/deeplearning4j/rl4j/mdp/vizdoom/DeadlyCorridor.java b/rl4j/rl4j-doom/src/main/java/org/deeplearning4j/rl4j/mdp/vizdoom/DeadlyCorridor.java index 9df22d200..27aac0fe9 100644 --- a/rl4j/rl4j-doom/src/main/java/org/deeplearning4j/rl4j/mdp/vizdoom/DeadlyCorridor.java +++ b/rl4j/rl4j-doom/src/main/java/org/deeplearning4j/rl4j/mdp/vizdoom/DeadlyCorridor.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.mdp.vizdoom; diff --git a/rl4j/rl4j-doom/src/main/java/org/deeplearning4j/rl4j/mdp/vizdoom/PredictPosition.java b/rl4j/rl4j-doom/src/main/java/org/deeplearning4j/rl4j/mdp/vizdoom/PredictPosition.java index 807e356ef..7cc1007b1 100644 --- a/rl4j/rl4j-doom/src/main/java/org/deeplearning4j/rl4j/mdp/vizdoom/PredictPosition.java +++ b/rl4j/rl4j-doom/src/main/java/org/deeplearning4j/rl4j/mdp/vizdoom/PredictPosition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.mdp.vizdoom; diff --git a/rl4j/rl4j-doom/src/main/java/org/deeplearning4j/rl4j/mdp/vizdoom/TakeCover.java b/rl4j/rl4j-doom/src/main/java/org/deeplearning4j/rl4j/mdp/vizdoom/TakeCover.java index 58fee665c..e9d04118b 100644 --- a/rl4j/rl4j-doom/src/main/java/org/deeplearning4j/rl4j/mdp/vizdoom/TakeCover.java +++ b/rl4j/rl4j-doom/src/main/java/org/deeplearning4j/rl4j/mdp/vizdoom/TakeCover.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.mdp.vizdoom; diff --git a/rl4j/rl4j-doom/src/main/java/org/deeplearning4j/rl4j/mdp/vizdoom/VizDoom.java b/rl4j/rl4j-doom/src/main/java/org/deeplearning4j/rl4j/mdp/vizdoom/VizDoom.java index becce416f..829a103be 100644 --- a/rl4j/rl4j-doom/src/main/java/org/deeplearning4j/rl4j/mdp/vizdoom/VizDoom.java +++ b/rl4j/rl4j-doom/src/main/java/org/deeplearning4j/rl4j/mdp/vizdoom/VizDoom.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.mdp.vizdoom; diff --git a/rl4j/rl4j-doom/src/main/java/vizdoom/AutomapMode.java b/rl4j/rl4j-doom/src/main/java/vizdoom/AutomapMode.java index dd0be64ab..0e8b1b463 100644 --- a/rl4j/rl4j-doom/src/main/java/vizdoom/AutomapMode.java +++ b/rl4j/rl4j-doom/src/main/java/vizdoom/AutomapMode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package vizdoom; public enum AutomapMode{ diff --git a/rl4j/rl4j-doom/src/main/java/vizdoom/Button.java b/rl4j/rl4j-doom/src/main/java/vizdoom/Button.java index adf600e0f..7ceab23ea 100644 --- a/rl4j/rl4j-doom/src/main/java/vizdoom/Button.java +++ b/rl4j/rl4j-doom/src/main/java/vizdoom/Button.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package vizdoom; public enum Button{ diff --git a/rl4j/rl4j-doom/src/main/java/vizdoom/DoomGame.java b/rl4j/rl4j-doom/src/main/java/vizdoom/DoomGame.java index 2672b0810..55aa7f479 100644 --- a/rl4j/rl4j-doom/src/main/java/vizdoom/DoomGame.java +++ b/rl4j/rl4j-doom/src/main/java/vizdoom/DoomGame.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package vizdoom; diff --git a/rl4j/rl4j-doom/src/main/java/vizdoom/FileDoesNotExistException.java b/rl4j/rl4j-doom/src/main/java/vizdoom/FileDoesNotExistException.java index dd161412c..08769b59c 100644 --- a/rl4j/rl4j-doom/src/main/java/vizdoom/FileDoesNotExistException.java +++ b/rl4j/rl4j-doom/src/main/java/vizdoom/FileDoesNotExistException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package vizdoom; public class FileDoesNotExistException extends java.lang.RuntimeException { diff --git a/rl4j/rl4j-doom/src/main/java/vizdoom/GameState.java b/rl4j/rl4j-doom/src/main/java/vizdoom/GameState.java index 02d43b887..953c6db9a 100644 --- a/rl4j/rl4j-doom/src/main/java/vizdoom/GameState.java +++ b/rl4j/rl4j-doom/src/main/java/vizdoom/GameState.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package vizdoom; diff --git a/rl4j/rl4j-doom/src/main/java/vizdoom/GameVariable.java b/rl4j/rl4j-doom/src/main/java/vizdoom/GameVariable.java index 880c86347..f6b3bf905 100644 --- a/rl4j/rl4j-doom/src/main/java/vizdoom/GameVariable.java +++ b/rl4j/rl4j-doom/src/main/java/vizdoom/GameVariable.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package vizdoom; public enum GameVariable { diff --git a/rl4j/rl4j-doom/src/main/java/vizdoom/Label.java b/rl4j/rl4j-doom/src/main/java/vizdoom/Label.java index 3c5b23900..7c5a80c77 100644 --- a/rl4j/rl4j-doom/src/main/java/vizdoom/Label.java +++ b/rl4j/rl4j-doom/src/main/java/vizdoom/Label.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package vizdoom; diff --git a/rl4j/rl4j-doom/src/main/java/vizdoom/MessageQueueException.java b/rl4j/rl4j-doom/src/main/java/vizdoom/MessageQueueException.java index 39f94e7a4..8812a835e 100644 --- a/rl4j/rl4j-doom/src/main/java/vizdoom/MessageQueueException.java +++ b/rl4j/rl4j-doom/src/main/java/vizdoom/MessageQueueException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package vizdoom; public class MessageQueueException extends java.lang.RuntimeException { diff --git a/rl4j/rl4j-doom/src/main/java/vizdoom/Mode.java b/rl4j/rl4j-doom/src/main/java/vizdoom/Mode.java index d5b0e7428..427878634 100644 --- a/rl4j/rl4j-doom/src/main/java/vizdoom/Mode.java +++ b/rl4j/rl4j-doom/src/main/java/vizdoom/Mode.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package vizdoom; public enum Mode{ diff --git a/rl4j/rl4j-doom/src/main/java/vizdoom/ScreenFormat.java b/rl4j/rl4j-doom/src/main/java/vizdoom/ScreenFormat.java index 32d67b1c2..819867550 100644 --- a/rl4j/rl4j-doom/src/main/java/vizdoom/ScreenFormat.java +++ b/rl4j/rl4j-doom/src/main/java/vizdoom/ScreenFormat.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package vizdoom; public enum ScreenFormat { diff --git a/rl4j/rl4j-doom/src/main/java/vizdoom/ScreenResolution.java b/rl4j/rl4j-doom/src/main/java/vizdoom/ScreenResolution.java index 8abb32bef..05f7a1bcf 100644 --- a/rl4j/rl4j-doom/src/main/java/vizdoom/ScreenResolution.java +++ b/rl4j/rl4j-doom/src/main/java/vizdoom/ScreenResolution.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package vizdoom; public enum ScreenResolution { diff --git a/rl4j/rl4j-doom/src/main/java/vizdoom/SharedMemoryException.java b/rl4j/rl4j-doom/src/main/java/vizdoom/SharedMemoryException.java index ce5fb390b..3d830f9b0 100644 --- a/rl4j/rl4j-doom/src/main/java/vizdoom/SharedMemoryException.java +++ b/rl4j/rl4j-doom/src/main/java/vizdoom/SharedMemoryException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package vizdoom; public class SharedMemoryException extends java.lang.RuntimeException { diff --git a/rl4j/rl4j-doom/src/main/java/vizdoom/SignalException.java b/rl4j/rl4j-doom/src/main/java/vizdoom/SignalException.java index 236bcb464..9fe055046 100644 --- a/rl4j/rl4j-doom/src/main/java/vizdoom/SignalException.java +++ b/rl4j/rl4j-doom/src/main/java/vizdoom/SignalException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package vizdoom; public class SignalException extends java.lang.RuntimeException { diff --git a/rl4j/rl4j-doom/src/main/java/vizdoom/ViZDoomErrorException.java b/rl4j/rl4j-doom/src/main/java/vizdoom/ViZDoomErrorException.java index e5c595778..a52623845 100644 --- a/rl4j/rl4j-doom/src/main/java/vizdoom/ViZDoomErrorException.java +++ b/rl4j/rl4j-doom/src/main/java/vizdoom/ViZDoomErrorException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package vizdoom; public class ViZDoomErrorException extends java.lang.RuntimeException { diff --git a/rl4j/rl4j-doom/src/main/java/vizdoom/ViZDoomIsNotRunningException.java b/rl4j/rl4j-doom/src/main/java/vizdoom/ViZDoomIsNotRunningException.java index 8139c4b6c..a10b0b968 100644 --- a/rl4j/rl4j-doom/src/main/java/vizdoom/ViZDoomIsNotRunningException.java +++ b/rl4j/rl4j-doom/src/main/java/vizdoom/ViZDoomIsNotRunningException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package vizdoom; public class ViZDoomIsNotRunningException extends java.lang.RuntimeException { diff --git a/rl4j/rl4j-doom/src/main/java/vizdoom/ViZDoomUnexpectedExitException.java b/rl4j/rl4j-doom/src/main/java/vizdoom/ViZDoomUnexpectedExitException.java index 08a77f0c0..f6e0a3283 100644 --- a/rl4j/rl4j-doom/src/main/java/vizdoom/ViZDoomUnexpectedExitException.java +++ b/rl4j/rl4j-doom/src/main/java/vizdoom/ViZDoomUnexpectedExitException.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package vizdoom; public class ViZDoomUnexpectedExitException extends java.lang.RuntimeException { diff --git a/rl4j/rl4j-gym/pom.xml b/rl4j/rl4j-gym/pom.xml index a27991338..82079d070 100644 --- a/rl4j/rl4j-gym/pom.xml +++ b/rl4j/rl4j-gym/pom.xml @@ -1,37 +1,39 @@ - + + + + + + 4.0.0 - - rl4j org.deeplearning4j + rl4j 1.0.0-SNAPSHOT - 4.0.0 rl4j-gym jar rl4j-gym - - UTF-8 - - org.deeplearning4j diff --git a/rl4j/rl4j-gym/src/main/java/org/deeplearning4j/rl4j/mdp/gym/ActionTransformer.java b/rl4j/rl4j-gym/src/main/java/org/deeplearning4j/rl4j/mdp/gym/ActionTransformer.java index 22cec0d3d..1c6d3c641 100644 --- a/rl4j/rl4j-gym/src/main/java/org/deeplearning4j/rl4j/mdp/gym/ActionTransformer.java +++ b/rl4j/rl4j-gym/src/main/java/org/deeplearning4j/rl4j/mdp/gym/ActionTransformer.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.mdp.gym; diff --git a/rl4j/rl4j-gym/src/main/java/org/deeplearning4j/rl4j/mdp/gym/GymEnv.java b/rl4j/rl4j-gym/src/main/java/org/deeplearning4j/rl4j/mdp/gym/GymEnv.java index 5d9b47d8c..184e945cb 100644 --- a/rl4j/rl4j-gym/src/main/java/org/deeplearning4j/rl4j/mdp/gym/GymEnv.java +++ b/rl4j/rl4j-gym/src/main/java/org/deeplearning4j/rl4j/mdp/gym/GymEnv.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.mdp.gym; diff --git a/rl4j/rl4j-gym/src/test/java/org/deeplearning4j/rl4j/mdp/gym/GymEnvTest.java b/rl4j/rl4j-gym/src/test/java/org/deeplearning4j/rl4j/mdp/gym/GymEnvTest.java index 4faf26b2b..5a85d323b 100644 --- a/rl4j/rl4j-gym/src/test/java/org/deeplearning4j/rl4j/mdp/gym/GymEnvTest.java +++ b/rl4j/rl4j-gym/src/test/java/org/deeplearning4j/rl4j/mdp/gym/GymEnvTest.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.rl4j.mdp.gym; diff --git a/rl4j/rl4j-malmo/pom.xml b/rl4j/rl4j-malmo/pom.xml index e9aa6f500..41c7885bd 100644 --- a/rl4j/rl4j-malmo/pom.xml +++ b/rl4j/rl4j-malmo/pom.xml @@ -1,52 +1,55 @@ - + + - - - org.deeplearning4j - rl4j - 1.0.0-SNAPSHOT - - 4.0.0 - rl4j-malmo - jar + 4.0.0 + + + org.deeplearning4j + rl4j + 1.0.0-SNAPSHOT + + + rl4j-malmo + + rl4j-malmo - rl4j-malmo - - - UTF-8 - - - - org.json - json - 20190722 - org.deeplearning4j rl4j-api ${project.version} - com.microsoft.msr.malmo - MalmoJavaJar - 0.30.0 + org.json + json + 20190722 + + + + com.microsoft.msr.malmo + MalmoJavaJar + 0.30.0 diff --git a/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoActionSpace.java b/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoActionSpace.java index 5961d3355..9a8d63afc 100644 --- a/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoActionSpace.java +++ b/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoActionSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.malmo; diff --git a/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoActionSpaceDiscrete.java b/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoActionSpaceDiscrete.java index bcf71008c..602f620fc 100644 --- a/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoActionSpaceDiscrete.java +++ b/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoActionSpaceDiscrete.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.malmo; diff --git a/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoBox.java b/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoBox.java index 64a8f4d23..51f8e1524 100644 --- a/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoBox.java +++ b/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoBox.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2020 Konduit K. K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.malmo; diff --git a/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoConnectionError.java b/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoConnectionError.java index 8bca49b85..906d4d1fa 100644 --- a/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoConnectionError.java +++ b/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoConnectionError.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.malmo; diff --git a/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoDescretePositionPolicy.java b/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoDescretePositionPolicy.java index 40ad8cd28..07ec4363a 100644 --- a/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoDescretePositionPolicy.java +++ b/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoDescretePositionPolicy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.malmo; diff --git a/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoEnv.java b/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoEnv.java index 598b00981..681f41d3f 100644 --- a/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoEnv.java +++ b/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoEnv.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.malmo; diff --git a/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoObservationPolicy.java b/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoObservationPolicy.java index 6874272fd..53be840a4 100644 --- a/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoObservationPolicy.java +++ b/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoObservationPolicy.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.malmo; diff --git a/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoObservationSpace.java b/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoObservationSpace.java index 61a0dddc7..9eda1e55b 100644 --- a/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoObservationSpace.java +++ b/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoObservationSpace.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.malmo; diff --git a/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoObservationSpaceGrid.java b/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoObservationSpaceGrid.java index 00b7c4f7a..b1389a2c7 100644 --- a/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoObservationSpaceGrid.java +++ b/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoObservationSpaceGrid.java @@ -1,19 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * Copyright (c) 2020 Konduit K.K. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.malmo; diff --git a/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoObservationSpacePixels.java b/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoObservationSpacePixels.java index 52dc02918..4bd253ee5 100644 --- a/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoObservationSpacePixels.java +++ b/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoObservationSpacePixels.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.malmo; diff --git a/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoObservationSpacePosition.java b/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoObservationSpacePosition.java index 50f710bf5..06fb2e241 100644 --- a/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoObservationSpacePosition.java +++ b/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoObservationSpacePosition.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.malmo; diff --git a/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoResetHandler.java b/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoResetHandler.java index 04d2bdbd1..88041edb3 100644 --- a/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoResetHandler.java +++ b/rl4j/rl4j-malmo/src/main/java/org/deeplearning4j/malmo/MalmoResetHandler.java @@ -1,18 +1,20 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ +/* + * ****************************************************************************** + * * + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + */ package org.deeplearning4j.malmo; diff --git a/scalnet/project/build.properties b/scalnet/project/build.properties deleted file mode 100644 index c208ceb49..000000000 --- a/scalnet/project/build.properties +++ /dev/null @@ -1,17 +0,0 @@ -################################################################################ -# Copyright (c) 2015-2018 Skymind, Inc. -# -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################################ - -sbt.version=1.1.1 diff --git a/scalnet/src/main/resources/logback.xml b/scalnet/src/main/resources/logback.xml deleted file mode 100644 index 113116e78..000000000 --- a/scalnet/src/main/resources/logback.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n - - - - - - - diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Dropout.scala b/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Dropout.scala deleted file mode 100644 index 98495a055..000000000 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Dropout.scala +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ -package org.deeplearning4j.scalnet.layers.core -import org.deeplearning4j.nn.conf.layers.DropoutLayer - -/** - * Dropout layer - * - * @author Max Pumperla - */ -class Dropout(nOut: List[Int], nIn: List[Int], rate: Double, override val name: String) extends Layer { - - override def compile: org.deeplearning4j.nn.conf.layers.Layer = - new DropoutLayer.Builder(rate) - .nIn(inputShape.last) - .nOut(outputShape.last) - .name(name) - .build() - - override val outputShape: List[Int] = nOut - - override val inputShape: List[Int] = nIn - - override def reshapeInput(newIn: List[Int]): Dropout = - new Dropout(nOut, newIn, rate, name) -} - -object Dropout { - def apply(nOut: Int, nIn: Int = 0, rate: Double, name: String = ""): Dropout = - new Dropout(List(nOut), List(nIn), rate, name) -} diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Layer.scala b/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Layer.scala deleted file mode 100644 index e4649b5de..000000000 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Layer.scala +++ /dev/null @@ -1,28 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ -package org.deeplearning4j.scalnet.layers.core - -import org.deeplearning4j.nn.conf.layers.{ Layer => JLayer } - -/** - * Trait for proper "layer" in DL4J neural networks and computational - * graphs. Compiles out to DL4J layer. - * - * @author David Kale - */ -trait Layer extends Node { - def compile: JLayer -} diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Node.scala b/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Node.scala deleted file mode 100644 index 3c5d5c0e6..000000000 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Node.scala +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ -package org.deeplearning4j.scalnet.layers.core - -/** - * Trait for node in DL4J neural networks and computational graphs. - * Nodes are assumed to have inputs and outputs with "shapes." - * - * @author David Kale - */ -trait Node { - - def name: String - - def inputShape: List[Int] - - def outputShape: List[Int] - - def reshapeInput(nIn: List[Int]): Node = this - - def describe(): String = "in=" + inputShape + " out=" + outputShape - -} diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Output.scala b/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Output.scala deleted file mode 100644 index 3564bec8c..000000000 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Output.scala +++ /dev/null @@ -1,25 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ -package org.deeplearning4j.scalnet.layers.core - -import org.nd4j.linalg.lossfunctions.LossFunctions.LossFunction - -/** - * Trait for output layers in DL4J neural networks and computational graphs. - * - * @author David Kale - */ -case class Output(isOutput: Boolean, lossFunction: LossFunction) diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/OutputLayer.scala b/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/OutputLayer.scala deleted file mode 100644 index 52133eb09..000000000 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/OutputLayer.scala +++ /dev/null @@ -1,31 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ -package org.deeplearning4j.scalnet.layers.core - -import org.deeplearning4j.nn.conf.layers.{ OutputLayer => JOutputLayer } -import org.nd4j.linalg.lossfunctions.LossFunctions - -/** - * Extension of base layer, used to construct a DL4J OutputLayer after compilation. - * OutputLayer has an output object and the ability to return an OutputLayer version - * of itself, by providing a loss function. - * - * @author Max Pumperla - */ -trait OutputLayer extends Layer { - def output: Output - def toOutputLayer(lossFunction: LossFunctions.LossFunction): OutputLayer -} diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Preprocessor.scala b/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Preprocessor.scala deleted file mode 100644 index d8174ae65..000000000 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/Preprocessor.scala +++ /dev/null @@ -1,28 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ -package org.deeplearning4j.scalnet.layers.core - -import org.deeplearning4j.nn.conf.InputPreProcessor - -/** - * Trait for preprocessing layers in DL4J neural networks and computational - * graphs. Compiles out to DL4J InputPreProcessor. - * - * @author David Kale - */ -trait Preprocessor extends Node { - def compile: InputPreProcessor -} diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/WrapperLayer.scala b/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/WrapperLayer.scala deleted file mode 100644 index 707f881c5..000000000 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/core/WrapperLayer.scala +++ /dev/null @@ -1,26 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ -package org.deeplearning4j.scalnet.layers.core - -trait WrapperLayer extends Layer { - - def underlying: Layer - - override def inputShape: List[Int] = underlying.inputShape - - override def outputShape: List[Int] = underlying.outputShape - -} diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/recurrent/Bidirectional.scala b/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/recurrent/Bidirectional.scala deleted file mode 100644 index 9ecf969f0..000000000 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/layers/recurrent/Bidirectional.scala +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ -package org.deeplearning4j.scalnet.layers.recurrent - -import org.deeplearning4j.nn.conf.layers -import org.deeplearning4j.nn.conf.layers.recurrent.Bidirectional.Mode -import org.deeplearning4j.scalnet.layers.core.{ Layer, WrapperLayer } - -class Bidirectional(layer: Layer, mode: Mode, override val name: String = "") extends WrapperLayer { - - val underlying: Layer = layer - - override def compile: layers.Layer = new layers.recurrent.Bidirectional(mode, underlying.compile) - -} - -object Bidirectional { - - val CONCAT = Mode.CONCAT - val ADD = Mode.ADD - val MUL = Mode.MUL - val AVERAGE = Mode.AVERAGE - - def apply(layer: Layer, mode: Mode = Mode.CONCAT): Bidirectional = new Bidirectional(layer, mode) -} diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/logging/Logging.scala b/scalnet/src/main/scala/org/deeplearning4j/scalnet/logging/Logging.scala deleted file mode 100644 index d92c47272..000000000 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/logging/Logging.scala +++ /dev/null @@ -1,25 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ -package org.deeplearning4j.scalnet.logging - -import org.slf4j.{ Logger, LoggerFactory } - -/** - * A trait to use to extends any class where you want to provide a logger - */ -trait Logging { - protected lazy val logger: Logger = { LoggerFactory.getLogger(getClass.getName) } -} diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/regularizers/weightRegularizer.scala b/scalnet/src/main/scala/org/deeplearning4j/scalnet/regularizers/weightRegularizer.scala deleted file mode 100644 index 1120d8004..000000000 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/regularizers/weightRegularizer.scala +++ /dev/null @@ -1,28 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ -package org.deeplearning4j.scalnet.regularizers - -/** - * Weight regularizers. - * - * @author David Kale - */ -sealed class WeightRegularizer(val l1: Double = Double.NaN, val l2: Double = Double.NaN) - -case class NoRegularizer() extends WeightRegularizer() -case class L1(l: Double = 0.01) extends WeightRegularizer(l1 = l) -case class L2(l: Double = 0.01) extends WeightRegularizer(l2 = l) -case class L1L2(override val l1: Double = 0.01, override val l2: Double = 0.01) extends WeightRegularizer diff --git a/scalnet/src/main/scala/org/deeplearning4j/scalnet/utils/Implicits.scala b/scalnet/src/main/scala/org/deeplearning4j/scalnet/utils/Implicits.scala deleted file mode 100644 index a240a8e49..000000000 --- a/scalnet/src/main/scala/org/deeplearning4j/scalnet/utils/Implicits.scala +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ -package org.deeplearning4j.scalnet.utils - -import scala.reflect.ClassTag - -/** - * Created by maxpumperla on 17/07/17. - */ -object Implicits { - - implicit class WithAsInstanceOfOpt(obj: AnyRef) { - - /** - * Half type-safe cast. It uses erasure semantics (like Java casts). For example: - * - * `xs: List[Int]` - * - * `xs.asInstanceOfOpt[List[Int]] == xs.asInstanceOfOpt[List[Double]] == xs.asInstanceOfOpt[Seq[Int]] == Some(xs)` - * - * and - * - * `xs.asInstanceOfOpt[String] == xs.asInstanceOfOpt[Set[Int]] == None` - * - * @return None if the cast fails or the object is `null`, `Some[B]` otherwise - */ - def asInstanceOfOpt[B: ClassTag]: Option[B] = obj match { - case b: B => Some(b) - case _ => None - } - } - -} diff --git a/scalnet/src/test/resources/logback-test.xml b/scalnet/src/test/resources/logback-test.xml deleted file mode 100644 index 113116e78..000000000 --- a/scalnet/src/test/resources/logback-test.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n - - - - - - - diff --git a/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/embeddings/EmbeddingLayerTest.scala b/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/embeddings/EmbeddingLayerTest.scala deleted file mode 100644 index 0ae73d636..000000000 --- a/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/embeddings/EmbeddingLayerTest.scala +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ -package org.deeplearning4j.scalnet.layers.embeddings - -import org.scalatest.{ Matchers, WordSpec } - -class EmbeddingLayerTest extends WordSpec with Matchers { - - "An embedding layer" should { - - "have an input layer of shape (10, 100)" in { - val embeddingLayer = EmbeddingLayer(10, 100) - embeddingLayer.inputShape shouldBe List(10, 100) - } - - "have an ouput layer of shape (10, 100)" in { - val embeddingLayer = EmbeddingLayer(10, 100) - embeddingLayer.outputShape shouldBe List(100, 10) - } - - "compile to a DL4J EmbeddingLayer" in { - val embeddingLayer = EmbeddingLayer(10, 100) - val compiledLayer = embeddingLayer.compile - compiledLayer.isInstanceOf[org.deeplearning4j.nn.conf.layers.EmbeddingLayer] shouldBe true - } - - } - -} diff --git a/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/recurrent/BidirectionalTest.scala b/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/recurrent/BidirectionalTest.scala deleted file mode 100644 index c7222707a..000000000 --- a/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/recurrent/BidirectionalTest.scala +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ -package org.deeplearning4j.scalnet.layers.recurrent - -import org.scalatest.{ Matchers, WordSpec } - -class BidirectionalTest extends WordSpec with Matchers { - - "A Bidirectional wrapper layer" should { - - "compile to a DL4J Bidirectional wrapper layer with a LSTM" in { - val bidirectionalLSTM = Bidirectional(LSTM(10, 100)) - val compiledLayer = bidirectionalLSTM.compile - compiledLayer.isInstanceOf[org.deeplearning4j.nn.conf.layers.recurrent.Bidirectional] shouldBe true - } - - "compile to a DL4J Bidirectional wrapper layer with a GravesLSTM" in { - val bidirectionalLSTM = Bidirectional(GravesLSTM(10, 100)) - val compiledLayer = bidirectionalLSTM.compile - compiledLayer.isInstanceOf[org.deeplearning4j.nn.conf.layers.recurrent.Bidirectional] shouldBe true - } - - } -} diff --git a/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/recurrent/GravesLSTMTest.scala b/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/recurrent/GravesLSTMTest.scala deleted file mode 100644 index 002386cda..000000000 --- a/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/recurrent/GravesLSTMTest.scala +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ -package org.deeplearning4j.scalnet.layers.recurrent - -import org.scalatest.{ Matchers, WordSpec } - -class GravesLSTMTest extends WordSpec with Matchers { - - "A Graves LSTM layer" should { - - "have an input layer of shape (10, 100)" in { - val gravesLSTMLayer = GravesLSTM(10, 100) - gravesLSTMLayer.inputShape shouldBe List(10, 100) - } - - "have an ouput layer of shape (10, 100)" in { - val gravesLSTMLayer = GravesLSTM(10, 100) - gravesLSTMLayer.outputShape shouldBe List(100, 10) - } - - "compile to a DL4J GravesLSTM" in { - val gravesLSTMLayer = GravesLSTM(10, 100) - val compiledLayer = gravesLSTMLayer.compile - compiledLayer.isInstanceOf[org.deeplearning4j.nn.conf.layers.GravesLSTM] shouldBe true - } - - } -} diff --git a/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/recurrent/LSTMTest.scala b/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/recurrent/LSTMTest.scala deleted file mode 100644 index 7e95c73c3..000000000 --- a/scalnet/src/test/scala/org/deeplearning4j/scalnet/layers/recurrent/LSTMTest.scala +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2018 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ -package org.deeplearning4j.scalnet.layers.recurrent - -import org.scalatest.{ Matchers, WordSpec } - -class LSTMTest extends WordSpec with Matchers { - - "A LSTM layer" should { - - "have an input layer of shape (10, 100)" in { - val LSTMLayer = LSTM(10, 100) - LSTMLayer.inputShape shouldBe List(10, 100) - } - - "have an ouput layer of shape (10, 100)" in { - val LSTMLayer = LSTM(10, 100) - LSTMLayer.outputShape shouldBe List(100, 10) - } - - "compile to a DL4J LSTM" in { - val LSTMLayer = LSTM(10, 100) - val compiledLayer = LSTMLayer.compile - compiledLayer.isInstanceOf[org.deeplearning4j.nn.conf.layers.LSTM] shouldBe true - } - - } -}